Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3 |
|
#
2bf0173b |
| 05-Dec-2013 |
Michael Gottesman <mgottesman@apple.com> |
Change std::deque => std::vector. No functionality change.
There is no reason to use std::deque here over std::vector. Thus given the performance differences inbetween the two it makes sense to chan
Change std::deque => std::vector. No functionality change.
There is no reason to use std::deque here over std::vector. Thus given the performance differences inbetween the two it makes sense to change deque to vector.
llvm-svn: 196524
show more ...
|
Revision tags: llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1 |
|
#
77d7fbb9 |
| 11-Sep-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Get rid of unused isPodLike definitions.
llvm-svn: 190461
|
Revision tags: llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1 |
|
#
9fb823bb |
| 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
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.
llvm-svn: 171366
show more ...
|
Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3 |
|
#
ed0881b2 |
| 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
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. =]
llvm-svn: 169131
show more ...
|
Revision tags: llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1 |
|
#
336cb79f |
| 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 predica
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.
llvm-svn: 165509
show more ...
|
#
cdfe20b9 |
| 08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout.
llvm-svn: 165402
|
#
a60c0f11 |
| 15-Sep-2012 |
Craig Topper <craig.topper@gmail.com> |
Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments.
llvm-svn: 163974
|
#
8bcc9711 |
| 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
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.
llvm-svn: 162841
show more ...
|
#
465834c8 |
| 24-Jul-2012 |
Nadav Rotem <nadav.rotem@intel.com> |
Clean whitespaces.
llvm-svn: 160668
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
#
8d670b8f |
| 31-Jan-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.
llvm-svn: 149445
|
#
c24b86ff |
| 01-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Propagate TargetLibraryInfo throughout ConstantFolding.cpp and InstructionSimplify.cpp. Other fixups as needed. Part of rdar://10500969
llvm-svn: 145559
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1 |
|
#
154a967c |
| 12-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.
llvm-svn: 141820
|
#
7c5dc122 |
| 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 be
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.
llvm-svn: 139533
show more ...
|
Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1 |
|
#
bde6ec1d |
| 03-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.
llvm-svn: 122785
|
#
16ca19ff |
| 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
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.
llvm-svn: 122759
show more ...
|
#
142f1cd2 |
| 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 t
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.
llvm-svn: 122758
show more ...
|
#
9e5e9ed7 |
| 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.
llvm-svn: 122736
|
#
4b9a5257 |
| 03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
switch the load table to use a recycling bump pointer allocator, speeding earlycse up by 6%.
llvm-svn: 122733
|
#
e0e32a9e |
| 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.
llvm-svn: 122732
|
#
92bb0f9f |
| 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.
llvm-svn: 122731
|
#
4cb36541 |
| 03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
various cleanups, no functionality change.
llvm-svn: 122729
|
#
b9a8efc9 |
| 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.
llvm-svn: 1
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.
llvm-svn: 122727
show more ...
|
#
79d83067 |
| 03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
rename InstValue to SimpleValue, add some comments.
llvm-svn: 122725
|
#
d815f69b |
| 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%
llvm-svn: 122723
|
#
02a9776b |
| 03-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
reduce redundancy in the hashing code and other misc cleanups.
llvm-svn: 122720
|