summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/PostDominators.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix #includes of i*.h => Instructions.h as per PR403.Misha Brukman2004-07-291-1/+1
| | | | llvm-svn: 15334
* Finegrainify namespacificationChris Lattner2003-12-071-3/+38
| | | | | | Move method out of generic dominators construction code llvm-svn: 10299
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Make use of "external" depth-first iterators to avoid revisiting nodesChris Lattner2003-10-131-3/+3
| | | | | | | multiple times. This reduces the time to construct post-dominance sets a LOT. For example, optimizing perlbmk goes from taking 12.9894s to 1.4074s. llvm-svn: 9091
* Fixed spelling and grammar.Misha Brukman2003-09-111-1/+1
| | | | llvm-svn: 8478
* Renamed DominatorTree::Node::getNode() -> getBlock()Chris Lattner2003-09-111-1/+1
| | | | llvm-svn: 8469
* Rework post dominator information so that we do not have toChris Lattner2003-09-101-88/+97
| | | | | | | | | unify all exit nodes of a function to compute post-dominance information. This does not work with functions that have both unwind and return nodes, because we cannot unify these blocks. The new implementation is better anyway. :) llvm-svn: 8460
* Remove using declarationsChris Lattner2003-09-101-2/+1
| | | | llvm-svn: 8442
* Handle post dominance correctly in the case where blocks do not have a path toChris Lattner2002-10-041-0/+12
| | | | | | the exit node. llvm-svn: 4038
* - Split Dominators.h into Dominators.h & PostDominators.hChris Lattner2002-08-211-1/+5
| | | | llvm-svn: 3432
* - Do not expose ::ID from any of the analyses anymore.Chris Lattner2002-08-211-4/+0
| | | | llvm-svn: 3417
* - Cleaned up the interface to AnalysisUsage to take analysis class namesChris Lattner2002-08-081-1/+1
| | | | | | | instead of ::ID's. - Pass::getAnalysis<> now no longer takes an optional argument llvm-svn: 3264
* Split dominance calculation and post dominance calculation stuffChris Lattner2002-08-021-267/+6
| | | | | | Dominance calculation goes to VMCore library to be used by Verifier. llvm-svn: 3210
* *** empty log message ***Chris Lattner2002-07-311-4/+5
| | | | llvm-svn: 3185
* Declare that these passes only depend on the CFG of the functionChris Lattner2002-07-301-8/+8
| | | | llvm-svn: 3157
* * Eliminate the Provided set. All Passes now finally just automaticallyChris Lattner2002-07-291-1/+0
| | | | | | provide themselves. llvm-svn: 3124
* * Standardize how analysis results/passes as printed with the print() virtualChris Lattner2002-07-271-8/+60
| | | | | | | | | | 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-0/+20
| | | | | | | | | | | | | | | * 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: 3112
* *** empty log message ***Chris Lattner2002-07-261-105/+74
| | | | llvm-svn: 3105
* MEGAPATCH checkin.Chris Lattner2002-06-251-9/+9
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2779
* Add method to check to see if two _Instructions_ dominate each otherChris Lattner2002-05-131-0/+14
| | | | llvm-svn: 2616
* Move UnifyFunctionExitNodes to Utils library: final resting place this timeChris Lattner2002-05-071-1/+1
| | | | llvm-svn: 2531
* 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
* Mark analyses that only depend on the CFG of a functionChris Lattner2002-05-061-8/+8
| | | | llvm-svn: 2507
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-291-1/+0
| | | | llvm-svn: 2397
* Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classesChris Lattner2002-04-281-22/+22
| | | | | | to the global namespace llvm-svn: 2370
* Change the Dominator info and LoopInfo classes to keep track of ↵Chris Lattner2002-04-281-14/+14
| | | | | | | | BasicBlock's, not const BasicBlocks llvm-svn: 2337
* s/Method/FunctionChris Lattner2002-04-271-3/+3
| | | | llvm-svn: 2336
* * Rename MethodPass class to FunctionPassChris Lattner2002-04-271-9/+8
| | | | | | | | | | | | | | | - 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
* Change references to the Method class to be references to the FunctionChris Lattner2002-04-071-19/+20
| | | | | | | class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. llvm-svn: 2144
* * Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and intoChris Lattner2002-02-121-9/+7
| | | | | | | | | 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-0/+1
| | | | | | | 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
* Remove generic routines to Support/SetOperations.hChris Lattner2002-02-051-18/+1
| | | | llvm-svn: 1715
* Provide the right AnalysisID for postdominatorsChris Lattner2002-01-311-3/+5
| | | | llvm-svn: 1616
* Convert analyses to new pass structureChris Lattner2002-01-311-32/+57
| | | | llvm-svn: 1603
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-0/+2
| | | | llvm-svn: 1503
* 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
* Fix a bad assertion to be correct . The root basic block can be used by PHI ↵Chris Lattner2001-11-261-1/+3
| | | | | | nodes. llvm-svn: 1370
* Pull predecessor and successor iterators out of the CFG*.h files, and plop ↵Chris Lattner2001-10-011-6/+8
| | | | | | | | | 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
* Pull iterators out of CFG.h and CFGdecls and put them in Support directoryChris Lattner2001-09-281-21/+24
| | | | llvm-svn: 664
* Make sure noone branches to the entry node of the methodChris Lattner2001-08-241-0/+1
| | | | llvm-svn: 369
* Handle case where there is no exit node from a flowgraphChris Lattner2001-08-231-3/+9
| | | | llvm-svn: 365
* Moved inline/llvm/Tools/* to include/llvm/Support/*Chris Lattner2001-07-231-1/+1
| | | | llvm-svn: 279
* Fixed post dominator frontiers! Yaay!Chris Lattner2001-07-081-1/+1
| | | | llvm-svn: 157
* Implement support for postdominators, except in dom frontiersChris Lattner2001-07-061-41/+173
| | | | llvm-svn: 142
* Checkin of new dominator calculation routines. These will be improved inChris Lattner2001-07-021-0/+239
the future to do post dominators and stuff llvm-svn: 124
OpenPOWER on IntegriCloud