aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Pass.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove trailing whitespaceMisha Brukman2005-04-211-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix grammar wrt apostrophe'sMisha Brukman2005-03-161-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20635 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR387:\Reid Spencer2004-12-071-3/+6
| | | | | | | | Add runPass methods to remove -Woverloaded-virtual warnings are not \ present and circumvent possible inheritance bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18600 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR387:\Reid Spencer2004-12-071-2/+1
| | | | | | | | Make only one print method to avoid overloaded virtual warnings when \ compiled with -Woverloaded-virtual git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18589 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert 'struct' to 'class' in various places to adhere to the coding standardsChris Lattner2004-10-271-6/+8
| | | | | | | 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-11/+25
| | | | | | | | 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
* Give the -time-passes tool option a global storage location so that itsReid Spencer2004-08-241-0/+5
| | | | | | | value can be discovered by the various LLVM tools. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16032 91177308-0d34-0410-b5e6-96231b3b80d8
* Apparently a particular vendor compiler uses the struct/class tag to MANGLEChris Lattner2004-06-081-1/+1
| | | | | | | | | | | | symbols with. Therefore, if you do not use struct/class consistently, you can get LINK ERRORS. grr. This fixes the link errors for libsupport and vmcore. -Chris git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14070 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix grammar.Misha Brukman2004-04-011-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12590 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
* Added LLVM copyright header (for lack of a better term).John Criswell2003-10-201-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelling.Misha Brukman2003-10-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9021 91177308-0d34-0410-b5e6-96231b3b80d8
* Standardize header file commentsChris Lattner2003-09-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782 91177308-0d34-0410-b5e6-96231b3b80d8
* Move getAnalysisToUpdate to after the definition of AnalysisResolver.Chris Lattner2003-08-291-6/+1
| | | | | | | | GCC 3.4 apparently wants classes to be DEFINED before they are USED. What is it smoking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8213 91177308-0d34-0410-b5e6-96231b3b80d8
* Spell `necessary' correctly.Misha Brukman2003-08-181-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
* #include <cassert> as necessary...Chris Lattner2003-07-251-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7315 91177308-0d34-0410-b5e6-96231b3b80d8
* Merged in autoconf branch. This provides configuration via the autoconfJohn Criswell2003-06-301-1/+0
| | | | | | | system. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a ton of extraneous #includesChris Lattner2003-06-221-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6842 91177308-0d34-0410-b5e6-96231b3b80d8
* Included assert.h so that the code compiles under newer versions of GCC.John Criswell2003-06-111-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682 91177308-0d34-0410-b5e6-96231b3b80d8
* It's 'separate'. The 'i.e.' is kinda nit-picking, but think of it this way:Misha Brukman2003-05-031-2/+2
| | | | | | | 'separate' is the one causing you to recompile all your passes anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5992 91177308-0d34-0410-b5e6-96231b3b80d8
* Add helper methodChris Lattner2003-03-211-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5753 91177308-0d34-0410-b5e6-96231b3b80d8
* * Un "protect" the getAnalysis<> functionsChris Lattner2003-02-261-3/+9
| | | | | | | * Add a new initializePass() method to ImmutablePass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5629 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for ImmutablePasses, which are not run, and cannot beChris Lattner2002-09-251-0/+19
| | | | | | | invalidated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3921 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo in comment.Vikram S. Adve2002-09-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3773 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new BasicBlockPass::doInitialization/Finalization(Function &) pair ofChris Lattner2002-09-121-3/+24
| | | | | | | methods that may be useful for BasicBlockPasses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3689 91177308-0d34-0410-b5e6-96231b3b80d8
* Make getAnalysisToUpdate<AnalysisType>() public so that transformation APIsChris Lattner2002-09-061-15/+16
| | | | | | | can update analysis information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3584 91177308-0d34-0410-b5e6-96231b3b80d8
* - Pass now has AnalysisImpls class to implement getAnalysis() so that it isChris Lattner2002-08-301-9/+27
| | | | | | | correct even when called back by another passes run method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3531 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the getAnalyss<> members const. Using them does NOT modify the Pass ↵Chris Lattner2002-08-291-5/+5
| | | | | | object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3522 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert comments to Doxygen styleChris Lattner2002-08-251-89/+90
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3507 91177308-0d34-0410-b5e6-96231b3b80d8
* - Make Pass::lookupPassInfo a public memberChris Lattner2002-08-211-3/+13
| | | | | | | | | - Fix Pass::getAnalysis<AnalysisType>() to use dynamic_cast instead of a static cast to handle the case where the cast from & two classes are not related via inheritance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3423 91177308-0d34-0410-b5e6-96231b3b80d8
* - Eliminate the need for analyses to expose an ::ID member.Chris Lattner2002-08-211-4/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3414 91177308-0d34-0410-b5e6-96231b3b80d8
* - Cleaned up the interface to AnalysisUsage to take analysis class namesChris Lattner2002-08-081-4/+10
| | | | | | | | instead of ::ID's. - Pass::getAnalysis<> now no longer takes an optional argument git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3263 91177308-0d34-0410-b5e6-96231b3b80d8
* * Fix comment descriptionsChris Lattner2002-07-291-5/+11
| | | | | | | | * Remove defaulted argument to ctor that is never used anyway * Prevent copying and assignment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3122 91177308-0d34-0410-b5e6-96231b3b80d8
* * Standardize how analysis results/passes as printed with the print() virtualChris Lattner2002-07-271-1/+20
| | | | | | | | | | | 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
* Break part of Pass.h out into PassAnalysisSupport.hChris Lattner2002-07-231-140/+15
| | | | | | | Add PassSupport.h which contains code for Pass registration git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3010 91177308-0d34-0410-b5e6-96231b3b80d8
* *** empty log message ***Chris Lattner2002-06-251-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2777 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for passes to announce that they only depend on the CFG of aChris Lattner2002-05-061-0/+9
| | | | | | | function. This is crude but effective git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2505 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new optional getPassName() virtual function that a Pass can overrideChris Lattner2002-04-291-2/+5
| | | | | | | to make debugging output a lot nicer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2395 91177308-0d34-0410-b5e6-96231b3b80d8
* Stub functions for timing supportChris Lattner2002-04-291-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2393 91177308-0d34-0410-b5e6-96231b3b80d8
* Move FunctionPass::doesNotModifyCFG to AnalysisUsage::preservesCFG()Chris Lattner2002-04-281-12/+11
| | | | 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-6/+13
| | | | | | | | | | | 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
* * Rename MethodPass class to FunctionPassChris Lattner2002-04-271-53/+80
| | | | | | | | | | | | | | | | - 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
* Allow a pass to obtain an analysis result for updating.Chris Lattner2002-04-101-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2221 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the release buildChris Lattner2002-04-041-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2096 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename Method to FunctionChris Lattner2002-03-231-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1957 91177308-0d34-0410-b5e6-96231b3b80d8
* * Make debugging output nicerChris Lattner2002-01-311-14/+32
| | | | | | | | * 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
* Checkin new pass framework. This one is more useful and automaticallyChris Lattner2002-01-301-67/+159
| | | | | | | | 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
* Pull run() into Pass.cppChris Lattner2002-01-231-7/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1552 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement a more powerful, simpler, pass system. This pass system can figureChris Lattner2002-01-211-87/+118
| | | | | | | | out how to run a collection of passes optimially given their behaviors and charactaristics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1506 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8