| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Add support for printing out statistics information when -stats is added to | Chris Lattner | 2002-05-10 | 17 | -17/+109 | |
| | | | | | | | the command line llvm-svn: 2601 | |||||
| * | Fix some bugs, straighten stuff out, more work needs to be done. | Chris Lattner | 2002-05-10 | 1 | -19/+33 | |
| | | | | | llvm-svn: 2600 | |||||
| * | * Add support for the -stats command line option to report how much is changed | Chris Lattner | 2002-05-10 | 1 | -2/+24 | |
| | | | | | | | | | * Make cast-of-self-ty DCE the dead cast instruction immediately instead of waiting for it to be DCE'd by another sweep over the function. This speeds this up noticably. llvm-svn: 2597 | |||||
| * | Initial checkin of the PiNodeInsertion pass | Chris Lattner | 2002-05-10 | 1 | -0/+185 | |
| | | | | | llvm-svn: 2593 | |||||
| * | Handle setcc <global*>, 0 instructions, Global pointers are never null! | Chris Lattner | 2002-05-09 | 1 | -4/+18 | |
| | | | | | llvm-svn: 2582 | |||||
| * | Give the longer name to the instruction that will probably be eliminated later | Chris Lattner | 2002-05-09 | 1 | -1/+2 | |
| | | | | | llvm-svn: 2581 | |||||
| * | Add ability to transform (x - (y - z)) into (x + (z - y)) | Chris Lattner | 2002-05-09 | 1 | -0/+13 | |
| | | | | | llvm-svn: 2566 | |||||
| * | * Combine: A-(-B) -> A + B | Chris Lattner | 2002-05-08 | 1 | -10/+6 | |
| | | | | | | | * Bugfix: A + -B and -A + B llvm-svn: 2561 | |||||
| * | Initial checkin of expression reassociation pass | Chris Lattner | 2002-05-08 | 1 | -0/+198 | |
| | | | | | llvm-svn: 2559 | |||||
| * | Give the unified exit node a name | Chris Lattner | 2002-05-07 | 1 | -1/+1 | |
| | | | | | llvm-svn: 2550 | |||||
| * | Fix bug: test/Regression/Transforms/ADCE/2002-01-31-UseStuckAround.ll | Chris Lattner | 2002-05-07 | 1 | -46/+31 | |
| | | | | | | | Cleanup code a lot llvm-svn: 2547 | |||||
| * | Merge all individual .h files into a single Scalar.h file | Chris Lattner | 2002-05-07 | 10 | -10/+10 | |
| | | | | | llvm-svn: 2537 | |||||
| * | This doesn't use DCE! | Chris Lattner | 2002-05-07 | 1 | -1/+0 | |
| | | | | | llvm-svn: 2536 | |||||
| * | Move UnifyFunctionExitNodes to Utils library: final resting place this time | Chris Lattner | 2002-05-07 | 2 | -2/+2 | |
| | | | | | llvm-svn: 2531 | |||||
| * | fix comments and documentation in file | Chris Lattner | 2002-05-07 | 1 | -6/+4 | |
| | | | | | llvm-svn: 2530 | |||||
| * | Split ChangeAllocations.cpp into Raise & LowerAllocations.cpp | Chris Lattner | 2002-05-07 | 2 | -93/+118 | |
| | | | | | llvm-svn: 2529 | |||||
| * | Cleanup implementation a bit | Chris Lattner | 2002-05-07 | 1 | -4/+6 | |
| | | | | | llvm-svn: 2526 | |||||
| * | Updates to move some header files out of include/llvm/Transforms into | Chris Lattner | 2002-05-07 | 6 | -40/+43 | |
| | | | | | | | the Scalar and Utils subdirectories llvm-svn: 2523 | |||||
| * | Reduce dependance on TransformInternals.h, instead using the TransformUtils ↵ | Chris Lattner | 2002-05-07 | 5 | -9/+18 | |
| | | | | | | | library llvm-svn: 2518 | |||||
| * | Add #include no longer included by llvm/Transforms/Scalar/ConstantProp.h | Chris Lattner | 2002-05-07 | 1 | -0/+1 | |
| | | | | | llvm-svn: 2517 | |||||
| * | Factor code out to the TransformUtils library | Chris Lattner | 2002-05-07 | 2 | -102/+5 | |
| | | | | | llvm-svn: 2516 | |||||
| * | Factor code out of TransformInternals into the Transform Utils library | Chris Lattner | 2002-05-07 | 2 | -88/+0 | |
| | | | | | llvm-svn: 2515 | |||||
| * | Build Transforms Utils library | Chris Lattner | 2002-05-07 | 1 | -1/+1 | |
| | | | | | llvm-svn: 2514 | |||||
| * | Add code pulled out of TransformInternals.cpp, ConstProp.cpp, and DCE.cpp | Chris Lattner | 2002-05-07 | 3 | -0/+196 | |
| | | | | | llvm-svn: 2513 | |||||
| * | * Convert InstWorkList to vector instead of set, because on big programs it | Chris Lattner | 2002-05-07 | 1 | -5/+5 | |
| | | | | | | | | is empirically faster by a noticable margin, even though duplicates can happen. llvm-svn: 2511 | |||||
| * | * Remove all cfg simplification stuff for a new cfg simplify pass (todo) | Chris Lattner | 2002-05-07 | 1 | -330/+85 | |
| | | | | | | | * Convert to worklist instead of iterative algorithm llvm-svn: 2510 | |||||
| * | Only do masking for unsigned values! | Chris Lattner | 2002-05-06 | 1 | -8/+7 | |
| | | | | | llvm-svn: 2504 | |||||
| * | * Eliminate dead code that should have been removed in last revision | Chris Lattner | 2002-05-06 | 1 | -146/+50 | |
| | | | | | | | | | | * Convert main constant propogation pass to be worklist driven instead of iterative. * -constprop pass no longer "constant propogates" terminator instructions - CFG is now preserved! llvm-svn: 2502 | |||||
| * | Handle X = phi Y --> X = Y | Chris Lattner | 2002-05-06 | 1 | -0/+19 | |
| | | | | | llvm-svn: 2501 | |||||
| * | * Use simplified interface to constant propogation stuff. | Chris Lattner | 2002-05-06 | 1 | -35/+8 | |
| | | | | | | | | | * Remove dead PHI case (which could not work due to getNumOperands rather than getNumIncomingValues. This really belongs in InstCombine, anyway so we'll move it there. llvm-svn: 2497 | |||||
| * | Clean up ADCE by removing extraneous wrapper class | Chris Lattner | 2002-05-06 | 1 | -43/+42 | |
| | | | | | llvm-svn: 2494 | |||||
| * | Combine not (not X) -> X | Chris Lattner | 2002-05-06 | 1 | -1/+14 | |
| | | | | | llvm-svn: 2493 | |||||
| * | Support more cases... | Chris Lattner | 2002-05-06 | 1 | -16/+43 | |
| | | | | | llvm-svn: 2490 | |||||
| * | Add many more instruction combination simplifications | Chris Lattner | 2002-05-06 | 1 | -10/+188 | |
| | | | | | llvm-svn: 2484 | |||||
| * | Merge blocks like this: | Chris Lattner | 2002-05-06 | 1 | -26/+39 | |
| | | | | | | | | | | | void "test3"(bool %T) { br bool %T, label %BB1, label %BB1 BB1: ret void } llvm-svn: 2472 | |||||
| * | Implement constant propogation of shift instructions | Chris Lattner | 2002-05-06 | 2 | -7/+42 | |
| | | | | | llvm-svn: 2471 | |||||
| * | Ok, really it only takes me 3 times to get this right! | Chris Lattner | 2002-05-02 | 1 | -1/+1 | |
| | | | | | | | Now use #if 0 instead of #ifdef 0 llvm-svn: 2448 | |||||
| * | Oops, disable debugging code all the way. :) | Chris Lattner | 2002-05-02 | 1 | -1/+1 | |
| | | | | | llvm-svn: 2447 | |||||
| * | * Finish the implementation of isEdgeFeasible this fixes bug: | Chris Lattner | 2002-05-02 | 1 | -57/+77 | |
| | | | | | | | | | | test/Regression/Transforms/SCCP/2002-05-02-EdgeFailure.ll * SCCP now preserves the CFG: It leaves conditional branches the way they are in the program, not simplifying them. A seperate pass should eliminate the potentially dead basic blocks and edges in the CFG. llvm-svn: 2446 | |||||
| * | * Enable SCCP debugging to be turned on with a simple change of #define | Chris Lattner | 2002-05-02 | 1 | -32/+52 | |
| | | | | | | | | | | | | | | * Change worklist to a set so that duplicates cannot happen * Add support for the invoke instruction * Avoid marking store and free instructions as overdefined, since they cannot produce a value anyway. * Inline the OperandChangedState implementation * Add isEdgeFeasible in preparation to fix a bug. Right now it behaves exactly as before. * Remove obsolete comment about constant pools llvm-svn: 2445 | |||||
| * | * Simplify the code by not bothering to name the folded constant | Chris Lattner | 2002-05-02 | 1 | -10/+7 | |
| | | | | | | | | | * Do not skip the instruction immediately after a folded instruction. This was causing the testcase failure: test/Regression/Transforms/SCCP/2002-05-02-MissSecondInst.ll llvm-svn: 2443 | |||||
| * | ExprTypeConvert will already do this transformation, no need to specialize | Chris Lattner | 2002-05-02 | 1 | -21/+0 | |
| | | | | | | | it here. llvm-svn: 2431 | |||||
| * | Be a little more efficient, do not generate loads and stores with indices in ↵ | Chris Lattner | 2002-05-02 | 1 | -25/+37 | |
| | | | | | | | them. llvm-svn: 2430 | |||||
| * | Fix bug: test/Regression/Transforms/LevelRaise/2002-05-02-BadCastElimination.ll | Chris Lattner | 2002-05-02 | 1 | -0/+9 | |
| | | | | | llvm-svn: 2429 | |||||
| * | * Add ability to eliminate a bunch of different cascading cast variations | Chris Lattner | 2002-05-02 | 1 | -2/+60 | |
| | | | | | | | * Allow elimination of getelementptr X, uint 0 (which is a noop) llvm-svn: 2428 | |||||
| * | Fixed bug: ↵ | Chris Lattner | 2002-05-01 | 1 | -0/+3 | |
| | | | | | | | test/Regression/Transforms/Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll llvm-svn: 2423 | |||||
| * | Remove unneccesary pass | Chris Lattner | 2002-04-30 | 1 | -86/+0 | |
| | | | | | llvm-svn: 2420 | |||||
| * | Add folding rules for mul X, 0 and mul X, 2 | Chris Lattner | 2002-04-29 | 1 | -3/+13 | |
| | | | | | llvm-svn: 2417 | |||||
| * | Significantly clean up SCCP pass. Now the two classes are merged and in | Chris Lattner | 2002-04-29 | 1 | -44/+37 | |
| | | | | | | | an anonymous namespace where they belong. llvm-svn: 2415 | |||||
| * | Range insertion now returns an iterator | Chris Lattner | 2002-04-29 | 1 | -5/+2 | |
| | | | | | llvm-svn: 2414 | |||||

