Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | disable this transformation in the one obscure case that really pessimizes | Chris Lattner | 2005-03-29 | 1 | -0/+3 |
| | | | | | | pointer analysis. llvm-svn: 20916 | ||||
* | Rename createPromoteMemoryToRegister() to | Alkis Evlogimenos | 2005-03-28 | 1 | -2/+1 |
| | | | | | | | createPromoteMemoryToRegisterPass() to be consistent with other pass creation functions. llvm-svn: 20885 | ||||
* | Enhance loopsimplify to preserve alias analysis instead of clobbering it. | Chris Lattner | 2005-03-25 | 1 | -2/+15 |
| | | | | | | This prevents crashes on some programs when using -ds-aa -licm. llvm-svn: 20831 | ||||
* | Fix a bug where LICM was not updating AA information properly when sinking | Chris Lattner | 2005-03-25 | 1 | -1/+2 |
| | | | | | | a pointer value out of a loop causing it to be duplicated. llvm-svn: 20828 | ||||
* | enable -debug-only=licm | Chris Lattner | 2005-03-23 | 1 | -0/+1 |
| | | | | llvm-svn: 20788 | ||||
* | Fix the missing symbols problem Bill was hitting. Patch contributed by | Chris Lattner | 2005-03-17 | 2 | -0/+2 |
| | | | | | | Bill Wendling!! llvm-svn: 20649 | ||||
* | stop using method. | Chris Lattner | 2005-03-15 | 1 | -1/+1 |
| | | | | llvm-svn: 20603 | ||||
* | This mega patch converts us from using Function::a{iterator|begin|end} to | Chris Lattner | 2005-03-15 | 22 | -62/+62 |
| | | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597 | ||||
* | fix a bug where we thought arguments were constants :( | Chris Lattner | 2005-03-06 | 1 | -3/+7 |
| | | | | llvm-svn: 20506 | ||||
* | Fix Regression/Transforms/LoopStrengthReduce/dont_insert_redundant_ops.ll, | Chris Lattner | 2005-03-06 | 1 | -1/+1 |
| | | | | | | hopefully not breaking too many other things. llvm-svn: 20505 | ||||
* | implement Transforms/LoopStrengthReduce/invariant_value_first_arg.ll | Chris Lattner | 2005-03-06 | 1 | -1/+1 |
| | | | | llvm-svn: 20501 | ||||
* | minor simplifications of the code. | Chris Lattner | 2005-03-06 | 1 | -9/+8 |
| | | | | llvm-svn: 20497 | ||||
* | trivial simplification | Chris Lattner | 2005-03-06 | 1 | -1/+1 |
| | | | | llvm-svn: 20494 | ||||
* | Fix a bug where we could corrupt a parent loop's header info if we unrolled | Chris Lattner | 2005-03-06 | 1 | -6/+17 |
| | | | | | | | a nested loop. This fixes Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll and PR532 llvm-svn: 20493 | ||||
* | Make this MUCH faster by avoiding a linear search in the symbol table code. | Chris Lattner | 2005-03-06 | 1 | -2/+1 |
| | | | | llvm-svn: 20479 | ||||
* | Reformat comments to fix 80 columns. | Jeff Cohen | 2005-03-05 | 1 | -7/+8 |
| | | | | llvm-svn: 20467 | ||||
* | Reuse induction variables created for strength-reduced GEPs by other similar ↵ | Jeff Cohen | 2005-03-05 | 1 | -32/+61 |
| | | | | | | GEPs. llvm-svn: 20466 | ||||
* | second argument to Value::setName is now gone. | Chris Lattner | 2005-03-05 | 2 | -4/+4 |
| | | | | llvm-svn: 20463 | ||||
* | Do not compute 1ULL << 64, which is undefined. This fixes Ptrdist/ks on the | Chris Lattner | 2005-03-04 | 1 | -1/+2 |
| | | | | | | sparc, and testcase Regression/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll llvm-svn: 20445 | ||||
* | Add support for not strength reducing GEPs where the element size is a small | Jeff Cohen | 2005-03-04 | 1 | -2/+25 |
| | | | | | | power of two. This emphatically includes the zeroeth power of two. llvm-svn: 20429 | ||||
* | Add an optional argument to lower to a specific constant value instead of | Chris Lattner | 2005-03-03 | 1 | -6/+14 |
| | | | | | | to a "sizeof" expression. llvm-svn: 20414 | ||||
* | Fixed the following LSR bugs: | Jeff Cohen | 2005-03-01 | 1 | -23/+19 |
| | | | | | | | | | | | | | | | * Loop invariant code does not dominate the loop header, but rather the end of the loop preheader. * The base for a reduced GEP isn't a constant unless all of its operands (preceding the induction variable) are constant. * Allow induction variable elimination for the simple case after all. Also made changes recommended by Chris for properly deleting instructions. llvm-svn: 20383 | ||||
* | Fix crash in LSR due to attempt to remove original induction variable. However, | Jeff Cohen | 2005-02-28 | 1 | -3/+14 |
| | | | | | | | for reasons explained in the comments, I also deactivated this code as it needs more thought. llvm-svn: 20367 | ||||
* | PHI nodes were incorrectly placed when more than one GEP is reduced in a loop. | Jeff Cohen | 2005-02-27 | 1 | -7/+6 |
| | | | | llvm-svn: 20360 | ||||
* | First pass at improved Loop Strength Reduction. Still not yet ready for ↵ | Jeff Cohen | 2005-02-27 | 1 | -35/+39 |
| | | | | | | prime time. llvm-svn: 20358 | ||||
* | Teach globalopt how memset/cpy/move affect memory, to allow better optimization. | Chris Lattner | 2005-02-27 | 1 | -25/+40 |
| | | | | llvm-svn: 20352 | ||||
* | Fix spelling, patch contributed by Gabor Greif! | Chris Lattner | 2005-02-27 | 2 | -2/+2 |
| | | | | llvm-svn: 20343 | ||||
* | remove extraneous cast | Chris Lattner | 2005-02-26 | 1 | -2/+1 |
| | | | | llvm-svn: 20334 | ||||
* | Implement Transforms/SimplifyCFG/switch_thread.ll | Chris Lattner | 2005-02-24 | 1 | -4/+190 |
| | | | | | | | | This does a simple form of "jump threading", which eliminates CFG edges that are provably dead. This triggers 90 times in the external tests, and eliminating CFG edges is always always a good thing! :) llvm-svn: 20300 | ||||
* | make this more efficient. Scan up to 16 nodes, not the whole list. | Chris Lattner | 2005-02-23 | 1 | -1/+1 |
| | | | | llvm-svn: 20289 | ||||
* | Remove use of bind_obj | Chris Lattner | 2005-02-22 | 1 | -2/+3 |
| | | | | llvm-svn: 20276 | ||||
* | Do not mark obviously unreachable blocks live when processing PHI nodes, | Chris Lattner | 2005-02-17 | 1 | -40/+61 |
| | | | | | | | | | | | | and handle incomplete control dependences correctly. This fixes: Regression/Transforms/ADCE/dead-phi-edge.ll -> a missed optimization Regression/Transforms/ADCE/dead-phi-edge.ll -> a compiler crash distilled from QT4 llvm-svn: 20227 | ||||
* | Fix the second bug attached to PR504. | Chris Lattner | 2005-02-14 | 1 | -1/+1 |
| | | | | llvm-svn: 20181 | ||||
* | Fix for testcase Transforms/IndVarsSimplify/2005-02-11-InvokeCrash.ll | Chris Lattner | 2005-02-12 | 1 | -0/+2 |
| | | | | | | and PR504. llvm-svn: 20129 | ||||
* | Localize globals if they are only used in main(). This replaces the | Alkis Evlogimenos | 2005-02-10 | 1 | -0/+40 |
| | | | | | | | global with an alloca, which eventually gets promoted into a register. This enables a lot of other optimizations later on. llvm-svn: 20109 | ||||
* | Fix crash on MallocInsts of unsized types. | Alkis Evlogimenos | 2005-02-02 | 1 | -1/+2 |
| | | | | llvm-svn: 19988 | ||||
* | API change. | Chris Lattner | 2005-02-01 | 1 | -1/+1 |
| | | | | llvm-svn: 19959 | ||||
* | Adjust to changes in APIs | Chris Lattner | 2005-02-01 | 2 | -16/+10 |
| | | | | llvm-svn: 19958 | ||||
* | Hacks to make this ugly ugly code work with the new use lists. | Chris Lattner | 2005-02-01 | 1 | -17/+12 |
| | | | | llvm-svn: 19957 | ||||
* | Implement InstCombine/cast.ll:test25, a case that occurs many times | Chris Lattner | 2005-01-31 | 1 | -0/+56 |
| | | | | | | in spec llvm-svn: 19953 | ||||
* | Implement the trivial cases in InstCombine/store.ll | Chris Lattner | 2005-01-31 | 1 | -1/+38 |
| | | | | llvm-svn: 19950 | ||||
* | Implement Transforms/InstCombine/cast-load-gep.ll, which allows us to ↵ | Chris Lattner | 2005-01-31 | 1 | -15/+29 |
| | | | | | | | | devirtualize 11 indirect calls in perlbmk. llvm-svn: 19947 | ||||
* | Adjust to changes in instruction interfaces. | Chris Lattner | 2005-01-29 | 3 | -10/+11 |
| | | | | llvm-svn: 19900 | ||||
* | Switchinst takes a hint for the number of cases it will have. | Chris Lattner | 2005-01-29 | 1 | -1/+1 |
| | | | | llvm-svn: 19899 | ||||
* | switchinst ctor now takes a hint for the number of cases that it will have. | Chris Lattner | 2005-01-29 | 2 | -3/+3 |
| | | | | llvm-svn: 19898 | ||||
* | Adjust Valuehandle to hold its operand directly in it. | Chris Lattner | 2005-01-29 | 2 | -7/+7 |
| | | | | llvm-svn: 19897 | ||||
* | * add some DEBUG statements | Chris Lattner | 2005-01-28 | 1 | -3/+10 |
| | | | | | | | | | | | | | | | | * Properly compile this: struct a {}; int test() { struct a b[2]; if (&b[0] != &b[1]) abort (); return 0; } to 'return 0', not abort(). llvm-svn: 19875 | ||||
* | Add a dependency to the trace library so that it gets pulled in | Alkis Evlogimenos | 2005-01-25 | 1 | -1/+3 |
| | | | | | | automatically. llvm-svn: 19828 | ||||
* | Get rid of a several dozen more and instructions in specint. | Chris Lattner | 2005-01-23 | 1 | -5/+36 |
| | | | | llvm-svn: 19786 | ||||
* | Handle comparisons of gep instructions that have different typed indices | Chris Lattner | 2005-01-21 | 1 | -5/+9 |
| | | | | | | as long as they are the same size. llvm-svn: 19734 |