summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/ADCE.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* DEBUG got moved to Support/Debug.hChris Lattner2003-08-011-1/+2
| | | | llvm-svn: 7492
* Fix bug: ADCE/2003-06-24-BadSuccessor.llChris Lattner2003-06-241-12/+35
| | | | llvm-svn: 6891
* Do not mark ALL terminators live if any instruciton in the block is live. ↵Chris Lattner2003-06-241-2/+23
| | | | | | | | | We only want to mark it live if it is an unconditional branch. This fixes bug: ADCE/2002-05-28-Crash.ll and makes this pass _much_ more useful. llvm-svn: 6887
* Fix bug: ADCE/2003-06-11-InvalidCFG.llChris Lattner2003-06-161-5/+14
| | | | | | | This was because we were deleting large chunks of functions without an exit block, because the post-dominance information was not useful. This broke crafty and twolf. llvm-svn: 6698
* Remove using declarationsChris Lattner2003-05-221-11/+9
| | | | llvm-svn: 6306
* Fix bug: ADCE/2003-04-25-PHIPostDominateProblem.llChris Lattner2003-04-251-9/+10
| | | | llvm-svn: 5952
* Remove unnecesary &*'sChris Lattner2003-04-231-2/+2
| | | | llvm-svn: 5872
* Rename Instruction::hasSideEffects() -> mayWriteToMemory()Chris Lattner2003-02-241-1/+1
| | | | llvm-svn: 5620
* Fix bug: ADCE/2003-01-22-PredecessorProblem.llChris Lattner2003-01-231-7/+18
| | | | llvm-svn: 5405
* Updates to work with recent Statistic's changes:Chris Lattner2002-10-011-5/+3
| | | | | | | | | | | | * Renamed StatisticReporter.h/cpp to Statistic.h/cpp * Broke constructor to take two const char * arguments instead of one, so that indendation can be taken care of automatically. * Sort the list by pass name when printing * Make sure to print all statistics as a group, instead of randomly when the statistics dtors are called. * Updated ProgrammersManual with new semantics. llvm-svn: 4002
* Fix the last of the silly bugs I just introduced. :(Chris Lattner2002-09-101-3/+3
| | | | llvm-svn: 3674
* Clean up code due to auto-insert constructorsChris Lattner2002-09-101-4/+3
| | | | llvm-svn: 3665
* - Split Dominators.h into Dominators.h & PostDominators.hChris Lattner2002-08-211-1/+1
| | | | llvm-svn: 3432
* Avoid inserting an entry block unless we need itChris Lattner2002-08-141-5/+9
| | | | llvm-svn: 3336
* - Cleaned up the interface to AnalysisUsage to take analysis class namesChris Lattner2002-08-081-2/+2
| | | | | | | instead of ::ID's. - Pass::getAnalysis<> now no longer takes an optional argument llvm-svn: 3265
* * 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-271-1/+0
| | | | | | | | | | 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-261-1/+1
| | | | | | | | | | | | | | | * 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-231-3/+1
| | | | llvm-svn: 3016
* changes to make it compatible with 64bit gccAnand Shukla2002-06-251-0/+1
| | | | llvm-svn: 2792
* MEGAPATCH checkin.Chris Lattner2002-06-251-28/+23
| | | | | | 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
* 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-221-26/+15
| | | | | | commandline llvm-svn: 2713
* Fix some bugs, straighten stuff out, more work needs to be done.Chris Lattner2002-05-101-19/+33
| | | | llvm-svn: 2600
* 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-071-1/+1
| | | | llvm-svn: 2537
* Clean up ADCE by removing extraneous wrapper classChris Lattner2002-05-061-43/+42
| | | | llvm-svn: 2494
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-291-1/+0
| | | | llvm-svn: 2397
* Add new optional getPassName() virtual function that a Pass can overrideChris Lattner2002-04-291-0/+2
| | | | | | to make debugging output a lot nicer. llvm-svn: 2395
* Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classesChris Lattner2002-04-281-6/+6
| | | | | | to the global namespace llvm-svn: 2370
* * Rename MethodPass class to FunctionPassChris Lattner2002-04-271-17/+15
| | | | | | | | | | | | | | | - Rename runOnMethod to runOnFunction * Transform getAnalysisUsageInfo into getAnalysisUsage - Method is now const - It now takes one AnalysisUsage object to fill in instead of 3 vectors to fill in - Pass's now specify which other passes they _preserve_ not which ones they modify (be conservative!) - A pass can specify that it preserves all analyses (because it never modifies the underlying program) * s/Method/Function/g in other random places as well llvm-svn: 2333
* s/Method/FunctionChris Lattner2002-04-081-11/+11
| | | | | | Remove extraneous #includes of llvm/Assembly/Writer llvm-svn: 2178
* Change over to use new style pass mechanism, now passes only expose smallChris Lattner2002-02-261-15/+18
| | | | | | creation functions in their public header file, unless they can help it. llvm-svn: 1816
* * Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and intoChris Lattner2002-02-121-4/+2
| | | | | | | | | llvm/Support/CFG.h * Make pred & succ iterators for intervals global functions * Add #includes that are now neccesary because BasicBlock.h doesn't include InstrTypes.h anymore llvm-svn: 1750
* Method.h no longer includes BasicBlock.hChris Lattner2002-02-121-4/+7
| | | | | | | Method::inst_* is now in llvm/Support/InstIterator.h GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h llvm-svn: 1746
* MethodPass's are now guaranteed to not be run on external methods!Chris Lattner2002-01-311-3/+1
| | | | llvm-svn: 1611
* Convert xforms over to new pass structure.Chris Lattner2002-01-311-9/+15
| | | | llvm-svn: 1605
* Remove extraneous #includesChris Lattner2002-01-261-1/+0
| | | | llvm-svn: 1588
* Move stuff out of the Optimizations directories into the appropriate TransformsChris Lattner2002-01-211-2/+2
| | | | | | directories. Eliminate the opt namespace. llvm-svn: 1520
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-9/+11
| | | | llvm-svn: 1503
* Split the PHINode class out from the iOther.h file into the iPHINode.h fileChris Lattner2001-12-031-1/+1
| | | | llvm-svn: 1405
* Create a new #include "Support/..." directory structure to move thingsChris Lattner2001-11-271-2/+2
| | | | | | | | from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes llvm-svn: 1400
* Convert optimizations to the pass infrastructureChris Lattner2001-10-181-2/+2
| | | | llvm-svn: 873
* Commit more code over to new cast styleChris Lattner2001-10-021-4/+5
| | | | llvm-svn: 697
* Add support for new style castsChris Lattner2001-10-011-1/+1
| | | | llvm-svn: 694
* Pull predecessor and successor iterators out of the CFG*.h files, and plop ↵Chris Lattner2001-10-011-2/+2
| | | | | | | | | them into the BasicBlock class where they should be. pred_begin/pred_end become methods on BasicBlock, and the cfg namespace isn't used anymore. llvm-svn: 691
OpenPOWER on IntegriCloud