aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore/Pass.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add helper methodChris Lattner2003-03-211-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5753 91177308-0d34-0410-b5e6-96231b3b80d8
* - Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG toChris Lattner2002-10-211-2/+2
| | | | | | | setPreservesCFG to be less confusing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4255 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor timer code out of PassManager implementation, into a generic interfaceChris Lattner2002-10-011-130/+0
| | | | | | | exposed by Support/Timer.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3993 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for ImmutablePasses, which are not run, and cannot beChris Lattner2002-09-251-0/+9
| | | | | | | invalidated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3921 91177308-0d34-0410-b5e6-96231b3b80d8
* Another portability fix provided via Casey Carter:Chris Lattner2002-09-131-0/+1
| | | | | | | | | | ISSUE: getTimeRecord in lib/VMCore/Pass.cpp uses timeval and gettimeofday() without including sys/time.h. ACTION: Include sys/time.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3699 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new BasicBlockPass::doInitialization/Finalization(Function &) pair ofChris Lattner2002-09-121-4/+6
| | | | | | | methods that may be useful for BasicBlockPasses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3688 91177308-0d34-0410-b5e6-96231b3b80d8
* - PassManager prints analysis sets nicerChris Lattner2002-08-301-30/+9
| | | | | | | - Use Pass::AnalysisImpls instead of findAnalysisGroupMemeber git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3534 91177308-0d34-0410-b5e6-96231b3b80d8
* - Fighting with linking problem due to removing the ::ID elements. Now theChris Lattner2002-08-211-0/+3
| | | | | | | | | | implementation .cpp files for analyses are not being included into gccas and friends because it is linking to the .a file and there is no explicit symbol reference to bring in the .o file. The new IncludeFile hack is the result. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3436 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove debugging code accidentally checked in.Chris Lattner2002-08-211-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3430 91177308-0d34-0410-b5e6-96231b3b80d8
* - Implement the new AnalysisGroup feature, neccesary for Value#ing and ↵Chris Lattner2002-08-211-4/+121
| | | | | | pointer analysis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3426 91177308-0d34-0410-b5e6-96231b3b80d8
* - Eliminate the need for analyses to expose an ::ID member.Chris Lattner2002-08-211-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3414 91177308-0d34-0410-b5e6-96231b3b80d8
* Sort -time-passes report first by user+system, then by Wall clock time.Chris Lattner2002-08-201-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3407 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing spaceChris Lattner2002-08-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3387 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the -time-passes option to not print NaN when there is zero execution timeChris Lattner2002-08-191-6/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3382 91177308-0d34-0410-b5e6-96231b3b80d8
* Enhance -time-passes to be more detailed and usefulChris Lattner2002-08-011-19/+89
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3199 91177308-0d34-0410-b5e6-96231b3b80d8
* We need iostream in PassManagerT.h to use cerrChris Lattner2002-07-311-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3183 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement new -debug-pass=Arguments option that causes PassManager toChris Lattner2002-07-301-0/+13
| | | | | | | print out the command line options for the optimizations it is running. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3165 91177308-0d34-0410-b5e6-96231b3b80d8
* * Move some code from Pass.cpp to PassManagerT.hChris Lattner2002-07-301-53/+9
| | | | | | | | * Implement stuff so that code can declare that they only depend on the CFG of a function, not on anything else. This speeds up GCCAS a lot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3155 91177308-0d34-0410-b5e6-96231b3b80d8
* * PassInfo is allowed to be missing now (ie, not all passes need be registered)Chris Lattner2002-07-291-6/+9
| | | | | | | | * getPassName uses PassInfo if it's available * PassInfo is now cached in the pass so that it is only looked up once, maximum git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3123 91177308-0d34-0410-b5e6-96231b3b80d8
* * Standardize how analysis results/passes as printed with the print() virtualChris Lattner2002-07-271-2/+17
| | | | | | | | | | | 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
* *** empty log message ***Chris Lattner2002-07-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3065 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for pass registrationChris Lattner2002-07-231-0/+93
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3018 91177308-0d34-0410-b5e6-96231b3b80d8
* *** empty log message ***Chris Lattner2002-07-221-13/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2985 91177308-0d34-0410-b5e6-96231b3b80d8
* changes for 64bit gccAnand Shukla2002-06-251-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2801 91177308-0d34-0410-b5e6-96231b3b80d8
* MEGAPATCH checkin.Chris Lattner2002-06-251-14/+12
| | | | | | | 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
* Make functions that preserve the CFG not invalidate analyses that only dependChris Lattner2002-05-061-1/+28
| | | | | | | on the CFG of a function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2506 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new optional getPassName() virtual function that a Pass can overrideChris Lattner2002-04-291-5/+10
| | | | | | | to make debugging output a lot nicer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2395 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new command line option for PassManager using utilities.Chris Lattner2002-04-291-0/+60
| | | | | | | | | Now for llc, gccas, analyze, opt, etc you can specify the -time-passes command line option that outputs a timing summary report that indicates how long each pass takes to execute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2394 91177308-0d34-0410-b5e6-96231b3b80d8
* Move FunctionPass::doesNotModifyCFG to AnalysisUsage::preservesCFG()Chris Lattner2002-04-281-14/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2384 91177308-0d34-0410-b5e6-96231b3b80d8
* * Add a stub to FunctionPass so that subclasses can declare that they do notChris Lattner2002-04-281-4/+28
| | | | | | | | | | | modify the CFG. It currently does nothing, but will in the future. * Changes to make the public PassManager.h be MUCH smaller, and devoid of implementation details. Now PassManager is just a Pimpl class that wraps PassManagerT<Module>, but lib/VMCore/Pass.cpp is now the only class that has to #include PassManagerT.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2383 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor changes to allow Modules (which are no longer Values) to workChris Lattner2002-04-281-10/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2361 91177308-0d34-0410-b5e6-96231b3b80d8
* * Rename MethodPass class to FunctionPassChris Lattner2002-04-271-34/+27
| | | | | | | | | | | | | | | | - 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
* Make the release build compileChris Lattner2002-04-041-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2107 91177308-0d34-0410-b5e6-96231b3b80d8
* Change references from Method to FunctionChris Lattner2002-03-261-11/+11
| | | | | | | change references from MethodARgument to FunctionArgument git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1991 91177308-0d34-0410-b5e6-96231b3b80d8
* 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1746 91177308-0d34-0410-b5e6-96231b3b80d8
* * Make debugging output nicerChris Lattner2002-01-311-12/+14
| | | | | | | | * Implement pass memory freeing after the pass is unused * Expose PassManager typedef in Pass.h instead of PassManager.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1617 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement new pass frameworkChris Lattner2002-01-311-132/+125
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1606 91177308-0d34-0410-b5e6-96231b3b80d8
* * Expose new command line arg --debug-pass for gccas and llc debuggingChris Lattner2002-01-231-9/+60
| | | | | | | | * Remember to initialize MethodPassBatcher::BBPBatcher instance var in ctor * Move PassManager::run() from header file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1556 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops, misnamed function, didn't override correctly, drat.Chris Lattner2002-01-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1528 91177308-0d34-0410-b5e6-96231b3b80d8
* Ooops, forgot to implement void PassManager::add(BasicBlockPass *BBP)Chris Lattner2002-01-221-6/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1523 91177308-0d34-0410-b5e6-96231b3b80d8
* Implementation of the new spiffy pass systemChris Lattner2002-01-211-0/+117
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1508 91177308-0d34-0410-b5e6-96231b3b80d8