aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore/PassManagerT.h
Commit message (Collapse)AuthorAgeFilesLines
* Patch #10 from Saem:Chris Lattner2006-01-121-52/+32
| | | | | | | | "Extracts a few more methods, reduces some redundancy in the code at the same time." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25248 91177308-0d34-0410-b5e6-96231b3b80d8
* Patch #9 from Saem:Chris Lattner2006-01-111-124/+147
| | | | | | | | | | | | | "Cut up the runPasses method into smaller pieces. The small private helpers should be easier to deal with when code shuffling arising from creating the new specialised batchers, not to mention, they're much easier to understand. I inlined them, in case function call overhead would be noticeable -- doubtful." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25213 91177308-0d34-0410-b5e6-96231b3b80d8
* Saem Ghani's PassManager Patch #8:Reid Spencer2006-01-081-2/+16
| | | | | | | | This fixes a "gccass" regression. The -debug-pass=Structure option now prints all the appropriate output git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25151 91177308-0d34-0410-b5e6-96231b3b80d8
* Patch #7 from Saem:Chris Lattner2006-01-071-36/+37
| | | | | | | | | "added the asserts and casts, fixed the comments and started the break down of the larger methods. A few more patches and the breakdown should be complete." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25142 91177308-0d34-0410-b5e6-96231b3b80d8
* Patch #6's in Saem's refactor-the-passmanager patch series. From him:Chris Lattner2006-01-041-222/+149
| | | | | | | | This sanitises the world, blows away the specialisations and adds traits per passmanager type -- seemed most natural. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25085 91177308-0d34-0410-b5e6-96231b3b80d8
* Saem's patch #5 of the passmanager refactoringChris Lattner2006-01-041-47/+93
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25078 91177308-0d34-0410-b5e6-96231b3b80d8
* patch #4 in Saem's passmanager refactoring.Chris Lattner2006-01-041-15/+50
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25077 91177308-0d34-0410-b5e6-96231b3b80d8
* silence some warningsChris Lattner2006-01-031-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25066 91177308-0d34-0410-b5e6-96231b3b80d8
* Finally commit Saem's 'patch #3' to refactor the pass managerChris Lattner2006-01-031-55/+80
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25063 91177308-0d34-0410-b5e6-96231b3b80d8
* Patch #1 of Saem Ghani's Pass Manager refactoring. From the man:Chris Lattner2005-12-301-5/+36
| | | | | | | | | | | | | "All this should do is create what will eventually be the specialised passmanagers. Currently, the templates are inheriting them, once the template specialisations' methods have been absorbed, patches submitted method by method. I'll nuke the specialisations and have the new objects inherit directly from passmanagert, and sanitise the world of all references to templates. " git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25053 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-211-16/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427 91177308-0d34-0410-b5e6-96231b3b80d8
* Make this compatible with the HP/intel compiler. Fix by Duraid, thanks!Chris Lattner2005-01-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19548 91177308-0d34-0410-b5e6-96231b3b80d8
* Work correctly with MSVC and ICC, patch contributed by Bjørn WennbergChris Lattner2004-12-081-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18631 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert 'struct' to 'class' in various places to adhere to the coding standardsChris Lattner2004-10-271-3/+6
| | | | | | | and work better with VC++. Patch contributed by Morten Ofstad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
* 'Pass' should now not be derived from by clients. Instead, they should deriveChris Lattner2004-09-201-5/+5
| | | | | | | | from ModulePass. Instead of implementing Pass::run, then should implement ModulePass::runOnModule. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16436 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes For Bug 352Reid Spencer2004-09-011-3/+3
| | | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix problem with inserting FunctionPasses that depend on ImmutablePassesBrian Gaeke2004-07-231-4/+12
| | | | | | | | | | | (e.g., LICM) into FunctionPassManagers. The problem is that we were using a C-style cast to cast required analysis passes to PassClass*, but if it's a FunctionPassManager, and the required analysis pass is an ImmutablePass, the types aren't really compatible, so the C-style cast causes a crash. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15140 91177308-0d34-0410-b5e6-96231b3b80d8
* IA64 compatChris Lattner2004-07-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14867 91177308-0d34-0410-b5e6-96231b3b80d8
* Ugh, apparently there is no common ground here.Chris Lattner2004-06-041-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14026 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep transitively-required passes alive for queries to work after the initialMisha Brukman2004-03-121-1/+10
| | | | | | | user pass is destroyed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12332 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix -debug-pass=Executions, which relied on Function, Module, and BasicBlockChris Lattner2004-02-291-9/+6
| | | | | | | being annotable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12013 91177308-0d34-0410-b5e6-96231b3b80d8
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
* Make code gcc 3.4 cleanChris Lattner2003-11-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9719 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM copyright header.John Criswell2003-10-211-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9321 91177308-0d34-0410-b5e6-96231b3b80d8
* This is a header file, hear me roarChris Lattner2003-10-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9075 91177308-0d34-0410-b5e6-96231b3b80d8
* Regularize header file commentsChris Lattner2003-10-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9071 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new method to FunctionPassManager to add ImmutablePasses.Brian Gaeke2003-08-141-1/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7838 91177308-0d34-0410-b5e6-96231b3b80d8
* Dramatically simplify how -time-passes works.Chris Lattner2003-08-141-57/+13
| | | | | | | | This also enables -time-passes for FunctionPassManagers, which allows it to be used for the JIT git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7834 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for GCC 3.3Chris Lattner2003-06-231-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6865 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a nasty bug where the ConstantMerge pass was invalidating the TargetData ↵Chris Lattner2003-04-241-13/+25
| | | | | | | | | pass even though it was immutable. Immutable passes should never end up in CurrentAnalyses! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5906 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow ImmutablePass's to require other immutable passes and to be initializedChris Lattner2003-02-261-0/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5630 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a misunderstanding of the standard associative containersChris Lattner2003-02-141-7/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5565 91177308-0d34-0410-b5e6-96231b3b80d8
* 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