summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug: test/Regression/Transforms/GCSE/2002-05-21-NoSharedDominator.llChris Lattner2002-08-021-0/+29
| | | | llvm-svn: 3215
* * Fix bug: test/Regression/Transforms/ADCE/2002-07-17-AssertionFailure.llChris Lattner2002-07-301-21/+46
| | | | | | | | | | | which was caused by us not running the "drop references of dead instructions" code when there were no basic blocks that were dead. We still don't want to do some of the stuff we do if there are dead basic blocks, but we DO want to drop references of dead instructions, so we factor the common code out to a new method. llvm-svn: 3137
* Add code to ensure that no PHI nodes are left laying around with theirChris Lattner2002-07-291-2/+16
| | | | | | | arguments dropped. This fixes bug: test/Regression/Transforms/ADCE/2002-07-17-PHIAssertion.ll llvm-svn: 3134
* Fix bug: test/Regression/Transforms/ADCE/2002-07-29-Segfault.llChris Lattner2002-07-291-28/+60
| | | | llvm-svn: 3129
* * Standardize how analysis results/passes as printed with the print() virtualChris Lattner2002-07-272-3/+1
| | | | | | | | | | methods * Eliminate AnalysisID: Now it is just a typedef for const PassInfo* * Simplify how AnalysisID's are initialized * Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into the analyses themselves. llvm-svn: 3116
* * Add support for different "PassType's"Chris Lattner2002-07-2614-18/+18
| | | | | | | | | | | | | | | * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Add support for different "PassType's" * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Remove getPassName implementations from various subclasses llvm-svn: 3113
* *** empty log message ***Chris Lattner2002-07-261-9/+8
| | | | llvm-svn: 3105
* *** empty log message ***Chris Lattner2002-07-251-1/+1
| | | | llvm-svn: 3075
* Merge ChangeAllocations into scalar.hChris Lattner2002-07-231-1/+1
| | | | llvm-svn: 3038
* *** empty log message ***Chris Lattner2002-07-2313-40/+28
| | | | llvm-svn: 3016
* * Remove getPassName implementationChris Lattner2002-07-231-4/+5
| | | | | | * Register all Passes llvm-svn: 3015
* *** empty log message ***Chris Lattner2002-07-231-1/+1
| | | | llvm-svn: 3002
* Disable folding g-e-p instructions into loads and stores.Chris Lattner2002-07-101-0/+2
| | | | llvm-svn: 2870
* *** empty log message ***Chris Lattner2002-06-301-1/+0
| | | | llvm-svn: 2813
* changes to make it compatible with 64bit gccAnand Shukla2002-06-255-5/+18
| | | | llvm-svn: 2792
* MEGAPATCH checkin.Chris Lattner2002-06-2514-496/+449
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2779
* Avoid deleting individual instructions until AFTER dead blocks have droppedChris Lattner2002-05-281-17/+20
| | | | | | | their references. This fixes bug: test/Regression/Transforms/ADCE/2002-05-28-Crash*.ll llvm-svn: 2753
* Simplify the interface to local DCE and Constant propChris Lattner2002-05-262-2/+2
| | | | llvm-svn: 2749
* Fold add X, 0 for floating point types as wellChris Lattner2002-05-231-2/+1
| | | | llvm-svn: 2734
* Fix and implement ADCE to finally work!Chris Lattner2002-05-221-136/+159
| | | | llvm-svn: 2720
* 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
* New CFG Simplification pass: removed from the old DCE passChris Lattner2002-05-211-0/+100
| | | | llvm-svn: 2700
* 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
* * 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
* 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-1010-14/+61
| | | | | | 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
* 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
* 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-079-9/+9
| | | | llvm-svn: 2537
* Split ChangeAllocations.cpp into Raise & LowerAllocations.cppChris Lattner2002-05-071-93/+10
| | | | llvm-svn: 2529
* Updates to move some header files out of include/llvm/Transforms intoChris Lattner2002-05-071-1/+1
| | | | | | the Scalar and Utils subdirectories llvm-svn: 2523
* Reduce dependance on TransformInternals.h, instead using the TransformUtils ↵Chris Lattner2002-05-072-3/+5
| | | | | | 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
* * 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
OpenPOWER on IntegriCloud