summaryrefslogtreecommitdiff
path: root/lib/VMCore/Pass.cpp
Commit message (Collapse)AuthorAge
* Re-install patch to enable use of PassID.Devang Patel2007-05-02
| | | | | | | | I am preparing another patch to address the failure that prompted Chris to revert this patch earlier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36649 91177308-0d34-0410-b5e6-96231b3b80d8
* revert enough of devang's recent patches to get the tree basically working againChris Lattner2007-05-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36638 91177308-0d34-0410-b5e6-96231b3b80d8
* disable this assertion as a hack to get the build more unbroken :(Chris Lattner2007-05-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36637 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not use typeinfo to identify pass in pass manager.Devang Patel2007-05-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
* Move ~Pass() from Pass.h into Pass.cppDevang Patel2007-04-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36498 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug that prevented the JIT from working correctly after llvm_shutdown.Chris Lattner2007-04-21
| | | | | | | | Pass info objects are initialized by static ctors, so deleting them at llvm_shutdown time prevents resurrection from working. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36292 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak VC++ build.Jeff Cohen2007-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34917 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-30
| | | | | | | confusion with external linkage types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
* 1) Remove old AnalysisResolver.Devang Patel2007-01-05
| | | | | | | 2) Rename AnalysisResolver_New as AnalysisResolver git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32938 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove old pass manager.Devang Patel2007-01-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32927 91177308-0d34-0410-b5e6-96231b3b80d8
* ModulePass and ImmutablePass. Force out of line virtual method.Devang Patel2006-12-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32748 91177308-0d34-0410-b5e6-96231b3b80d8
* Using PDL as a prefix for PassDebugLevel enums is not a good idea.Devang Patel2006-12-13
| | | | | | | Fix it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32562 91177308-0d34-0410-b5e6-96231b3b80d8
* Move enum PassDebugLevel from PassManagerT.h to Pass.h.Devang Patel2006-12-13
| | | | | | | | Use PDL as the prefix for these enums. Define and use PassDebugging_New in new PassManager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32554 91177308-0d34-0410-b5e6-96231b3b80d8
* Add #ifdef switch toggle between old and new pass manager. However,Devang Patel2006-12-13
| | | | | | | | continue to use old pass manager at the moment. To use new manager remove #define USE_OLD_PASSMANAGER 1 from Pass.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32525 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR1039 by making timing info be destroyed by llvm_shutdown, not byChris Lattner2006-12-10
| | | | | | | static dtors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32411 91177308-0d34-0410-b5e6-96231b3b80d8
* Removing even more <iostream> includes.Bill Wendling2006-12-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32320 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch analysis groups to be unregistered when llvm_shutdown is called.Chris Lattner2006-12-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32110 91177308-0d34-0410-b5e6-96231b3b80d8
* Start moving pass registration over to using the ManagedStatic mechanism.Chris Lattner2006-12-01
| | | | | | | | This fixes issues where passes get unregistered before llvm_shutdown is called, and is generally cleaner and simpler. Analysis groups up next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32108 91177308-0d34-0410-b5e6-96231b3b80d8
* move 'cfgonly' pass tracking into PassInfo, instead of handling it withChris Lattner2006-12-01
| | | | | | | yet-another global data structure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32102 91177308-0d34-0410-b5e6-96231b3b80d8
* Add explicit doInitialization/doFinalization methods instead of makingChris Lattner2006-09-04
| | | | | | | the FunctionPassManager redo this for each function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30079 91177308-0d34-0410-b5e6-96231b3b80d8
* We no longer care whether something is an opt vs analysis pass, only whetherChris Lattner2006-08-27
| | | | | | | something is a pass vs an analysis group now. Simplify interfaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29920 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the ModuleProvider interface to not throw exceptions.Chris Lattner2006-07-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29024 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR780:Reid Spencer2006-06-07
| | | | | | | | | | Break the "IncludeFile" mechanism into its own header file and adjust other files accordingly. Use this facility for the IntrinsicInst problem which was the subject of PR800. More to follow on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28709 91177308-0d34-0410-b5e6-96231b3b80d8
* Speedup and simplify pass registration by the observation that there isChris Lattner2006-01-23
| | | | | | | | | | exactly one PassInfo object per RegisterPass object and that their lifetimes are the same. As such, there is no reason for the RegisterPass object to dynamically allocate the PassInfo object at compiler startup time: just inline the object by-value. This should reduce codesize, heap size, and startup time. Yaay. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25521 91177308-0d34-0410-b5e6-96231b3b80d8
* Patch #6's in Saem's refactor-the-passmanager patch series. From him:Chris Lattner2006-01-04
| | | | | | | | 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
* Older compilers won't like the inline virtual destructor in the header fileReid Spencer2005-04-25
| | | | | | | so we put the destructor in Pass.cpp and make it non-inline. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21520 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR387:\Reid Spencer2004-12-07
| | | | | | | | 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
* 'Pass' should now not be derived from by clients. Instead, they should deriveChris Lattner2004-09-20
| | | | | | | | | | | from ModulePass. Instead of implementing Pass::run, then should implement ModulePass::runOnModule. Also, fix some undefined behavior, expecting | on booleans to evaluate left-to-right. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16435 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes For Bug 352Reid Spencer2004-09-01
| | | | | | | | | 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
* Give the -time-passes tool option a global storage location so that itsReid Spencer2004-08-24
| | | | | | | 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
* There is no error message to print out, end sentence with `!'Misha Brukman2004-07-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14678 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for bug 391.Reid Spencer2004-07-07
| | | | | | | Improve exeception handling around bcreader invocations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14674 91177308-0d34-0410-b5e6-96231b3b80d8
* - #include <iostream> since its not in Value.h any more.Reid Spencer2004-07-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14617 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix -debug-pass=Executions, which relied on Function, Module, and BasicBlockChris Lattner2004-02-29
| | | | | | | being annotable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12013 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo in commentBrian Gaeke2004-02-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11966 91177308-0d34-0410-b5e6-96231b3b80d8
* Two problems with these lines of code:Chris Lattner2004-02-09
| | | | | | | | | | | | 1. The "work" was not in the assert, so it was punishing the optimized release 2. getNamedFunction is _very_ expensive in large programs. It is not designed to be used like this, and was taking 7% of the execution time of the code generator on perlbmk. Since the assert "can never fail", I'm just killing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11214 91177308-0d34-0410-b5e6-96231b3b80d8
* Finegrainify namespacificationChris Lattner2003-11-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10131 91177308-0d34-0410-b5e6-96231b3b80d8
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-20
| | | | | | | Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
* Enabling incremental bytecode loading in the JIT:Misha Brukman2003-10-14
| | | | | | | | * FunctionPassManager ctor now takes in a ModuleProvider * run() materializes function before running passes on it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9126 91177308-0d34-0410-b5e6-96231b3b80d8
* * Remove extraneous #includesChris Lattner2003-10-13
| | | | | | | | | | | | * Fix a nasty initializer ordering bug. Any only-CFG passes which registered themselves before the CFGOnlyAnalysis vector initialized got forgotten and thus got invalidated and recomputed. In particular, in my compiled version of gccas, the Loop information pass was being recomputed unnecessarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9074 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename methodChris Lattner2003-10-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9055 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't include Config/stdio.h or <stdio.h>.Brian Gaeke2003-10-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9031 91177308-0d34-0410-b5e6-96231b3b80d8
* Spell `necessary' correctly.Misha Brukman2003-08-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new method to FunctionPassManager to add ImmutablePasses.Brian Gaeke2003-08-14
| | | | 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-14
| | | | | | | | 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 FunctionPassManager - it's like a PassManager, but it only deals inBrian Gaeke2003-08-12
| | | | | | | FunctionPasses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7778 91177308-0d34-0410-b5e6-96231b3b80d8
* Merged in autoconf branch. This provides configuration via the autoconfJohn Criswell2003-06-30
| | | | | | | system. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove usage of sys/unistd.hChris Lattner2003-06-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6788 91177308-0d34-0410-b5e6-96231b3b80d8