aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore/PassManagerT.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix spelling of `propagate'.Misha Brukman2002-10-291-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4423 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
* Make sure to use the TimerGroup that we created!Chris Lattner2002-10-011-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3995 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure not to count the PassManager wrapersChris Lattner2002-10-011-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3994 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor timer code out of PassManager implementation, into a generic interfaceChris Lattner2002-10-011-20/+22
| | | | | | | exposed by Support/Timer.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3993 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a problem that was caused by stale analyses being in CurrentAnalysesChris Lattner2002-09-291-0/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3981 91177308-0d34-0410-b5e6-96231b3b80d8
* * Fix ugly bug in previous checkin where I reused the name 'i' one too many ↵Chris Lattner2002-09-251-5/+10
| | | | | | | | | times * Print out immutable passes in the -debug-pass=Structure report. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3923 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for ImmutablePasses, which are not run, and cannot beChris Lattner2002-09-251-17/+67
| | | | | | | invalidated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3921 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new BasicBlockPass::doInitialization/Finalization(Function &) pair ofChris Lattner2002-09-121-0/+16
| | | | | | | methods that may be useful for BasicBlockPasses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3688 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable "garbage detection" of LLVM objects. Check for leaks after runningChris Lattner2002-09-081-0/+5
| | | | | | | every pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3621 91177308-0d34-0410-b5e6-96231b3b80d8
* - Use Pass::AnalysisImpls instead of findAnalysisGroupMemeberChris Lattner2002-08-301-42/+40
| | | | | | | | | - -debug-pass=Details now prints implementation class names for analysis groups - Rework how AnalysisGroups are resolved to be simpler and better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3535 91177308-0d34-0410-b5e6-96231b3b80d8
* - Implement the new AnalysisGroup feature, neccesary for Value#ing and ↵Chris Lattner2002-08-211-19/+50
| | | | | | pointer analysis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3426 91177308-0d34-0410-b5e6-96231b3b80d8
* Sort -time-passes report first by user+system, then by Wall clock time.Chris Lattner2002-08-201-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3407 91177308-0d34-0410-b5e6-96231b3b80d8
* Enhance -time-passes to be more detailed and usefulChris Lattner2002-08-011-1/+19
| | | | 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-0/+1
| | | | 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-9/+22
| | | | | | | 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-2/+28
| | | | | | | | * 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
* * Eliminate the Provided set. All Passes now finally just automaticallyChris Lattner2002-07-291-19/+16
| | | | | | | provide themselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3125 91177308-0d34-0410-b5e6-96231b3b80d8
* * Standardize how analysis results/passes as printed with the print() virtualChris Lattner2002-07-271-1/+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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3116 91177308-0d34-0410-b5e6-96231b3b80d8
* *** empty log message ***Chris Lattner2002-07-241-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3065 91177308-0d34-0410-b5e6-96231b3b80d8
* changes for 64bit gccAnand Shukla2002-06-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2801 91177308-0d34-0410-b5e6-96231b3b80d8
* MEGAPATCH checkin.Chris Lattner2002-06-251-19/+19
| | | | | | | 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
* Fix problem where subpasses would invalidate all analyses outstandingChris Lattner2002-04-301-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2418 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new optional getPassName() virtual function that a Pass can overrideChris Lattner2002-04-291-0/+3
| | | | | | | 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-11/+84
| | | | | | | | | 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 include/llvm/PassManager.h to lib/VMCore/PassManagerT.hChris Lattner2002-04-281-6/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2382 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor changes to allow Modules (which are no longer Values) to workChris Lattner2002-04-281-4/+6
| | | | 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-49/+84
| | | | | | | | | | | | | | | | - 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 build work in release modeChris Lattner2002-04-041-11/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2113 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename Method to FunctionChris Lattner2002-03-231-12/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1957 91177308-0d34-0410-b5e6-96231b3b80d8
* Make an assertion provide a more helpful error messageChris Lattner2002-03-171-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1883 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more debug outputChris Lattner2002-02-011-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1627 91177308-0d34-0410-b5e6-96231b3b80d8
* * Make debugging output nicerChris Lattner2002-01-311-50/+124
| | | | | | | | * 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
* Fix bug where we didn't initialize and finalize basic block passesChris Lattner2002-01-311-6/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1599 91177308-0d34-0410-b5e6-96231b3b80d8
* Checkin new pass framework. This one is more useful and automaticallyChris Lattner2002-01-301-0/+395
creates analysis results for passes that need them. MethodPass's never have to worry about being invoked on external methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1594 91177308-0d34-0410-b5e6-96231b3b80d8