aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar/ADCE.cpp
AgeCommit message (Collapse)Author
2002-08-14Avoid inserting an entry block unless we need itChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3336 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-08- Cleaned up the interface to AnalysisUsage to take analysis class namesChris Lattner
instead of ::ID's. - Pass::getAnalysis<> now no longer takes an optional argument git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3265 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30* Fix bug: test/Regression/Transforms/ADCE/2002-07-17-AssertionFailure.llChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3137 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-29Add code to ensure that no PHI nodes are left laying around with theirChris Lattner
arguments dropped. This fixes bug: test/Regression/Transforms/ADCE/2002-07-17-PHIAssertion.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3134 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-29Fix bug: test/Regression/Transforms/ADCE/2002-07-29-Segfault.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3129 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-27* Standardize how analysis results/passes as printed with the print() virtualChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3116 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26* Add support for different "PassType's"Chris Lattner
* 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3113 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-26*** empty log message ***Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3105 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23*** empty log message ***Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3016 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25changes to make it compatible with 64bit gccAnand Shukla
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2792 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25MEGAPATCH checkin.Chris Lattner
For details, See: docs/2002-06-25-MegaPatchInfo.txt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-28Avoid deleting individual instructions until AFTER dead blocks have droppedChris Lattner
their references. This fixes bug: test/Regression/Transforms/ADCE/2002-05-28-Crash*.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2753 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-22Fix and implement ADCE to finally work!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2720 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-22Use the new DEBUG(x) macro to allow debugging code to be enabled on the ↵Chris Lattner
commandline git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2713 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10Fix some bugs, straighten stuff out, more work needs to be done.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2600 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07Fix bug: test/Regression/Transforms/ADCE/2002-01-31-UseStuckAround.llChris Lattner
Cleanup code a lot git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2547 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07Merge all individual .h files into a single Scalar.h fileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2537 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06Clean up ADCE by removing extraneous wrapper classChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2494 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29Eliminate duplicate or unneccesary #include'sChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29Add new optional getPassName() virtual function that a Pass can overrideChris Lattner
to make debugging output a lot nicer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2395 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classesChris Lattner
to the global namespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2370 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27* Rename MethodPass class to FunctionPassChris Lattner
- 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08s/Method/FunctionChris Lattner
Remove extraneous #includes of llvm/Assembly/Writer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2178 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26Change over to use new style pass mechanism, now passes only expose smallChris Lattner
creation functions in their public header file, unless they can help it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1816 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-12* Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and intoChris Lattner
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1750 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-12Method.h no longer includes BasicBlock.hChris Lattner
Method::inst_* is now in llvm/Support/InstIterator.h GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1746 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31MethodPass's are now guaranteed to not be run on external methods!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1611 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31Convert xforms over to new pass structure.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1605 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-26Remove extraneous #includesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1588 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21Move stuff out of the Optimizations directories into the appropriate TransformsChris Lattner
directories. Eliminate the opt namespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1520 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20Changes to build successfully with GCC 3.02Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-03Split the PHINode class out from the iOther.h file into the iPHINode.h fileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1405 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-27Create a new #include "Support/..." directory structure to move thingsChris Lattner
from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18Convert optimizations to the pass infrastructureChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@873 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-02Commit more code over to new cast styleChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@697 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01Add support for new style castsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@694 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-01Pull predecessor and successor iterators out of the CFG*.h files, and plop ↵Chris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@691 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28Pull iterators out of CFG.h and CFGdecls and put them in Support directoryChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@664 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-28ADCE is broken but at least we know whyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@656 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-09Make ADCE more robust, it still has problems, but it's getting closerChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@521 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23Moved inline/llvm/Tools/* to include/llvm/Support/*Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-08Use the CDG to mark branches alive on demand.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-06Update to include right fileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138 91177308-0d34-0410-b5e6-96231b3b80d8
2001-06-30Initial checkin. Should print dead instructions, except it doesn't doChris Lattner
control dependencies. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119 91177308-0d34-0410-b5e6-96231b3b80d8