| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Hash pointer values to a sequence number to get identical results from | Vikram S. Adve | 2002-05-19 | 1 | -39/+197 |
| | | | | | | | | | | lli and llc. This is controlled with options -tracehash on|off. Also, added an option to specify which functions should be traced. Particularly useful to reduce output volume in basic-block tracing. llvm-svn: 2646 | ||||
| * | * Make debug output conditional on #define | Chris Lattner | 2002-05-16 | 1 | -13/+99 |
| | | | | | | | | | | * Add optimization to rank computation to not recursively search when unneccesary. * More agressively negate expressions to open reassociation opportunities. * Linearize (A+B)+(C+D) into ((A+B)+C)+D llvm-svn: 2637 | ||||
| * | * Fix bug: test/Regression/Transforms/GCSE/2002-05-14-OperandSwap.ll | Chris Lattner | 2002-05-14 | 1 | -7/+32 |
| | | | | | | | | By making sure to consider binary expressions identical if their operands are backwards, but swappable. llvm-svn: 2629 | ||||
| * | Fix bug: test/Regression/Transforms/InstCombine/2002-05-14-SubFailure.ll | Chris Lattner | 2002-05-14 | 1 | -1/+1 |
| | | | | | llvm-svn: 2627 | ||||
| * | Fix bug: test/Regression/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll | Chris Lattner | 2002-05-14 | 1 | -1/+12 |
| | | | | | | | | | | "This testcase caused instcombine to fail because it got the same instruction on it's worklist more than once (which is ok), but then deleted the instruction. Since the inst stayed on the worklist, as soon as it came back up to be processed, bad things happened, and opt asserted." llvm-svn: 2623 | ||||
| * | Fix a major source of "type unsafety", where a cast is neccesary, but can | Chris Lattner | 2002-05-14 | 1 | -2/+40 |
| | | | | | | | | | | be put either before or after a load. We chose to cast the value loaded instead of the pointer to load from. Fixes bug: test/Regression/Transforms/LevelRaise/2002-05-10-LoadPeephole.ll llvm-svn: 2621 | ||||
| * | Implement elimination of loads | Chris Lattner | 2002-05-14 | 1 | -18/+176 |
| | | | | | llvm-svn: 2620 | ||||
| * | Trivial cleanups | Chris Lattner | 2002-05-13 | 1 | -2/+2 |
| | | | | | llvm-svn: 2617 | ||||
| * | Initial checkin of LICM pass | Chris Lattner | 2002-05-10 | 1 | -0/+262 |
| | | | | | llvm-svn: 2615 | ||||
| * | 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 | ||||

