0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
39285ab6dd985ecd725a4533460e90048a5297ea |
|
09-Oct-2012 |
Michael Ilseman <milseman@apple.com> |
Update EarlyCSE's SimpleValues to use Hashing.h for their hashes. Expanded the hashing and equality to allow for equality modulo commutativity for binary ops, and comparisons with swapping of predicates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
3574eca1b02600bac4e625297f4ecf745f4c4f32 |
|
08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
86a1c32e67b23c5e9e42dff9eb86e99ba15bb42f |
|
15-Sep-2012 |
Craig Topper <craig.topper@gmail.com> |
Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
8e0d1c03ca7fd86e6879b4e37d0d7f0e982feef6 |
|
29-Aug-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make MemoryBuiltins aware of TargetLibraryInfo. This disables malloc-specific optimization when -fno-builtin (or -ffreestanding) is specified. This has been a problem for a long time but became more severe with the recent memory builtin improvements. Since the memory builtin functions are used everywhere, this required passing TLI in many places. This means that functions that now have an optional TLI argument, like RecursivelyDeleteTriviallyDeadFunctions, won't remove dead mallocs anymore if the TLI argument is missing. I've updated most passes to do the right thing. Fixes PR13694 and probably others. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
a94d6e87c4c49f2e81b01d66d8bfb591277f8f96 |
|
24-Jul-2012 |
Nadav Rotem <nadav.rotem@intel.com> |
Clean whitespaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
e0c7cfa7236341110ec20a17d5291a64f5f6b7df |
|
01-Feb-2012 |
Lenny Maiorani <lenny@colorado.edu> |
bz11794 : EarlyCSE stack overflow on long functions. Make the EarlyCSE optimizer not use recursion to do a depth first iteration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
618c1dbd293d15ee19f61b1156ab8086ad28311a |
|
01-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Propagate TargetLibraryInfo throughout ConstantFolding.cpp and InstructionSimplify.cpp. Other fixups as needed. Part of rdar://10500969 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
18ead6b587159993b340ad4e2e2c5fed76e978c0 |
|
13-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix a couple hash functions so that they do not depend on undefined shifts. Based on patch by Ahmed Charles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
2bc3d52b9ab422ee9f7e42a1a4e3b818e623a5f7 |
|
12-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Change a bunch of isVolatile() checks to check for atomic load/store as well. No tests; these changes aren't really interesting in the sense that the logic is the same for volatile and atomic. I believe this completes all of the changes necessary for the optimizer to handle loads and stores correctly. I'm going to try and come up with some additional testing, though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
e508dd4c75705f325764e1197854c0e83266a7ea |
|
04-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
Duncan deftly points out that readnone functions aren't invalidated by stores, so they can be handled as 'simple' operations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
10b883b13ff3ad44892758c7a57a435cdb379b45 |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
stength reduce my previous patch a bit. The only instructions that are allowed to have metadata operands are intrinsic calls, and the only ones that take metadata currently return void. Just reject all void instructions, which should not be value numbered anyway. To future proof things, add an assert to the getHashValue impl for calls to check that metadata operands aren't present. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
a12ba39a1d4d22c8c2d348f1397d52be58391177 |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
fix PR8895: metadata operands don't have a strong use of their nested values, so they can change and drop to null, which can change the hash and cause havok. It turns out that it isn't a good idea to value number stuff with metadata operands anyway, so... don't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
75637154c38da0243c51f4338137a78849808e50 |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
earlycse can do trivial with-a-block dead store elimination as well. This deletes 60 stores in 176.gcc that largely come from bitfield code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
71230acbbe734678b9ced643fa024166413b8824 |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
switch the load table to use a recycling bump pointer allocator, speeding earlycse up by 6%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
ef87fc2e0a19c3da55c596244e71e2ad03ae4b43 |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
now that loads are in their own table, we can implement store->load forwarding. This allows EarlyCSE to zap 600 more loads from 176.gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
85db61066a370f5d6e2d3c667eb5fa02493593c7 |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
split loads and calls into separate tables. Loads are now just indexed by their pointer instead of using MemoryValue to wrap it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
a60a8b0eb773eabb3ad83e610e737efda525a0da |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
various cleanups, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122729 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
8e7f0d70c7dd3864126c746378a7b928d57f971f |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
Teach EarlyCSE to do trivial CSE of loads and read-only calls. On 176.gcc, this catches 13090 loads and calls, and increases the number of simple instructions CSE'd from 29658 to 36208. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
f19745947daafd81d0d3bbdcdc7854053e0231fc |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
rename InstValue to SimpleValue, add some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
82dcd5edd22f017b74ebe98acc07b3a7191e7ff1 |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
Allocate nodes for the scoped hash table from a recyling bump pointer allocator. This speeds up early cse by about 20% git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
d957c717918c412402157b85fc51b4c6d2631381 |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
reduce redundancy in the hashing code and other misc cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
67678c8307bca7fa867059669ead579215cda732 |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
fix some pastos git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
91139ccd995149dd0d5e4ab3604d9239e1f90a54 |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
add DEBUG and -stats output to earlycse. Teach it to CSE the rest of the non-side-effecting instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
cc9eab26b3867fa4a835deb518a6a606882e8f49 |
|
03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
Enhance earlycse to do CSE of casts, instsimplify and die. Add a testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|
12be936cc912b1ff4d1c73c7f2c805a3462da1ab |
|
02-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
sketch out a new early cse pass. No functionality yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/EarlyCSE.cpp
|