summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* Fold add X, 0 for floating point types as wellChris Lattner2002-05-231-2/+1
| | | | llvm-svn: 2734
* Convert code to use the DEBUG macro so that debug code can simply beChris Lattner2002-05-225-197/+147
| | | | | | enabled with the -debug command line option. llvm-svn: 2721
* Fix and implement ADCE to finally work!Chris Lattner2002-05-221-136/+159
| | | | llvm-svn: 2720
* Convert transforms over to standardize debugging output on -debug optionChris Lattner2002-05-223-76/+26
| | | | llvm-svn: 2714
* Use the new DEBUG(x) macro to allow debugging code to be enabled on the ↵Chris Lattner2002-05-224-62/+36
| | | | | | commandline llvm-svn: 2713
* Fix bug: test/Regression/Transforms/SCCP/2002-05-21-InvalidSimplify.llChris Lattner2002-05-221-12/+12
| | | | | | Improperly handling edges... by not marking them alive properly llvm-svn: 2707
* Add implementation of SimplifyCFGChris Lattner2002-05-211-0/+198
| | | | llvm-svn: 2701
* New CFG Simplification pass: removed from the old DCE passChris Lattner2002-05-211-0/+100
| | | | llvm-svn: 2700
* Simplify interface to ConstantFoldTerminatorChris Lattner2002-05-211-3/+3
| | | | llvm-svn: 2697
* * Change commandline options a bit to be nicerChris Lattner2002-05-201-42/+47
| | | | | | | * Insert accurate prototypes for functions * Insert casts to use accurate prototypes llvm-svn: 2677
* Fix bug: test/Regression/Transforms/SCCP/2002-05-20-MissedIncomingValue.llChris Lattner2002-05-201-1/+11
| | | | | | That was causing a miscompilation of strtol/atoi plus others llvm-svn: 2669
* Hash pointer values to a sequence number to get identical results fromVikram S. Adve2002-05-191-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 #defineChris Lattner2002-05-161-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.llChris Lattner2002-05-141-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.llChris Lattner2002-05-141-1/+1
| | | | llvm-svn: 2627
* Fix bug: test/Regression/Transforms/InstCombine/2002-05-14-TouchDeletedInst.llChris Lattner2002-05-141-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 canChris Lattner2002-05-141-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 loadsChris Lattner2002-05-141-18/+176
| | | | llvm-svn: 2620
* Trivial cleanupsChris Lattner2002-05-131-2/+2
| | | | llvm-svn: 2617
* Initial checkin of LICM passChris Lattner2002-05-101-0/+262
| | | | llvm-svn: 2615
* Add support for printing out statistics information when -stats is added toChris Lattner2002-05-1017-17/+109
| | | | | | the command line llvm-svn: 2601
* Fix some bugs, straighten stuff out, more work needs to be done.Chris Lattner2002-05-101-19/+33
| | | | llvm-svn: 2600
* * Add support for the -stats command line option to report how much is changedChris Lattner2002-05-101-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 passChris Lattner2002-05-101-0/+185
| | | | llvm-svn: 2593
* Handle setcc <global*>, 0 instructions, Global pointers are never null!Chris Lattner2002-05-091-4/+18
| | | | llvm-svn: 2582
* Give the longer name to the instruction that will probably be eliminated laterChris Lattner2002-05-091-1/+2
| | | | llvm-svn: 2581
* Add ability to transform (x - (y - z)) into (x + (z - y))Chris Lattner2002-05-091-0/+13
| | | | llvm-svn: 2566
* * Combine: A-(-B) -> A + BChris Lattner2002-05-081-10/+6
| | | | | | * Bugfix: A + -B and -A + B llvm-svn: 2561
* Initial checkin of expression reassociation passChris Lattner2002-05-081-0/+198
| | | | llvm-svn: 2559
* Give the unified exit node a nameChris Lattner2002-05-071-1/+1
| | | | llvm-svn: 2550
* Fix bug: test/Regression/Transforms/ADCE/2002-01-31-UseStuckAround.llChris Lattner2002-05-071-46/+31
| | | | | | Cleanup code a lot llvm-svn: 2547
* Merge all individual .h files into a single Scalar.h fileChris Lattner2002-05-0710-10/+10
| | | | llvm-svn: 2537
* This doesn't use DCE!Chris Lattner2002-05-071-1/+0
| | | | llvm-svn: 2536
* Move UnifyFunctionExitNodes to Utils library: final resting place this timeChris Lattner2002-05-072-2/+2
| | | | llvm-svn: 2531
* fix comments and documentation in fileChris Lattner2002-05-071-6/+4
| | | | llvm-svn: 2530
* Split ChangeAllocations.cpp into Raise & LowerAllocations.cppChris Lattner2002-05-072-93/+118
| | | | llvm-svn: 2529
* Cleanup implementation a bitChris Lattner2002-05-071-4/+6
| | | | llvm-svn: 2526
* Updates to move some header files out of include/llvm/Transforms intoChris Lattner2002-05-076-40/+43
| | | | | | the Scalar and Utils subdirectories llvm-svn: 2523
* Reduce dependance on TransformInternals.h, instead using the TransformUtils ↵Chris Lattner2002-05-075-9/+18
| | | | | | library llvm-svn: 2518
* Add #include no longer included by llvm/Transforms/Scalar/ConstantProp.hChris Lattner2002-05-071-0/+1
| | | | llvm-svn: 2517
* Factor code out to the TransformUtils libraryChris Lattner2002-05-072-102/+5
| | | | llvm-svn: 2516
* Factor code out of TransformInternals into the Transform Utils libraryChris Lattner2002-05-072-88/+0
| | | | llvm-svn: 2515
* Build Transforms Utils libraryChris Lattner2002-05-071-1/+1
| | | | llvm-svn: 2514
* Add code pulled out of TransformInternals.cpp, ConstProp.cpp, and DCE.cppChris Lattner2002-05-073-0/+196
| | | | llvm-svn: 2513
* * Convert InstWorkList to vector instead of set, because on big programs itChris Lattner2002-05-071-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 Lattner2002-05-071-330/+85
| | | | | | * Convert to worklist instead of iterative algorithm llvm-svn: 2510
* Only do masking for unsigned values!Chris Lattner2002-05-061-8/+7
| | | | llvm-svn: 2504
* * Eliminate dead code that should have been removed in last revisionChris Lattner2002-05-061-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 = YChris Lattner2002-05-061-0/+19
| | | | llvm-svn: 2501
* * Use simplified interface to constant propogation stuff.Chris Lattner2002-05-061-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
OpenPOWER on IntegriCloud