Commit Graph

69 Commits

Author SHA1 Message Date
Devang Patel
cccd80dfa3 Remove old pass manager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32927 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 20:16:23 +00:00
Devang Patel
8688428b05 Enable new pass manager, which was accidentally disabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32855 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 01:27:03 +00:00
Reid Spencer
e4d87aa2de For PR950:
This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32751 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-23 06:05:41 +00:00
Devang Patel
29ee5c1ba4 Enable new pass manager. 2nd attempt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32749 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-22 22:55:30 +00:00
Devang Patel
c7d0f4be88 ModulePass and ImmutablePass. Force out of line virtual method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32748 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-22 22:49:00 +00:00
Devang Patel
52fc5feb86 Enable old pass manager. New pass manager causes CBE failures in llvm-test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32719 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-20 19:57:07 +00:00
Devang Patel
193c88cb56 Enable new pass manager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32689 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-19 21:32:24 +00:00
Bill Wendling
5c7e326585 Added an automatic cast to "std::ostream*" etc. from OStream. We then can
rework the hacks that had us passing OStream in. We pass in std::ostream*
instead, check for null, and then dispatch to the correct print() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-17 05:15:13 +00:00
Devang Patel
e8ff1ce734 Using PDL as a prefix for PassDebugLevel enums is not a good idea.
Fix it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32562 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-13 21:13:31 +00:00
Devang Patel
45dc02d6f9 Move enum PassDebugLevel from PassManagerT.h to Pass.h.
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
2006-12-13 20:03:48 +00:00
Devang Patel
3162691f69 Add #ifdef switch toggle between old and new pass manager. However,
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
2006-12-13 02:36:01 +00:00
Devang Patel
3f2577decb Move getAnalysis() and getAnalysisID() definitions from Pass.h to
PassAnalysisSupport.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32518 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-13 00:23:44 +00:00
Devang Patel
186bf2bc54 Add AnalysisResolver_New.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32384 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 23:52:04 +00:00
Bill Wendling
e81561909d Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
now cerr, cout, and NullStream resp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07 01:30:32 +00:00
Bill Wendling
b5ebf15b2b Added a temporary hack to get the llvm-streams to work for future checkins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31978 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-28 22:21:29 +00:00
Chris Lattner
6e60002a73 Silence -Woverloaded-virtual warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29929 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-28 00:09:00 +00:00
Jeff Cohen
62281a132f Be consistent in using class vs struct to make VC++ happy. And as it contains
methods, virtual method even, class wins.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25098 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-04 17:21:23 +00:00
Chris Lattner
7f7b730d79 Patch #6's in Saem's refactor-the-passmanager patch series. From him:
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
2006-01-04 07:47:13 +00:00
Misha Brukman
9769ab2226 Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 20:19:05 +00:00
Misha Brukman
fb215b936d Fix grammar wrt apostrophe's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20635 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-16 03:54:50 +00:00
Reid Spencer
ce20771ec2 For PR387:\
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
2004-12-07 08:11:11 +00:00
Reid Spencer
ce9653ce44 For PR387:\
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
2004-12-07 04:03:45 +00:00
Chris Lattner
1fca5ff62b Convert 'struct' to 'class' in various places to adhere to the coding standards
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
2004-10-27 16:14:51 +00:00
Chris Lattner
b12914bfc0 'Pass' should now not be derived from by clients. Instead, they should derive
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
2004-09-20 04:48:05 +00:00
Reid Spencer
1f079267dc Give the -time-passes tool option a global storage location so that its
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
2004-08-24 17:52:35 +00:00
Chris Lattner
85b0195f0e Apparently a particular vendor compiler uses the struct/class tag to MANGLE
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
2004-06-08 17:44:21 +00:00
Misha Brukman
c4b611af63 Fix grammar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12590 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-01 17:15:42 +00:00
Brian Gaeke
d0fde30ce8 Put all LLVM code into the llvm namespace, as per bug 109.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
John Criswell
6fbcc26f14 Added LLVM copyright header (for lack of a better term).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:19:47 +00:00
Misha Brukman
d5d96b9fcd Fix spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9021 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 17:42:19 +00:00
Chris Lattner
48486893f4 Standardize header file comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 18:37:50 +00:00
Chris Lattner
df9ec1052b Move getAnalysisToUpdate to after the definition of AnalysisResolver.
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
2003-08-29 14:26:51 +00:00
Misha Brukman
5560c9d49c Spell `necessary' correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 14:43:39 +00:00
Chris Lattner
be67780f31 #include <cassert> as necessary...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7315 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:58:41 +00:00
John Criswell
7a73b80b90 Merged in autoconf branch. This provides configuration via the autoconf
system.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 21:59:07 +00:00
Chris Lattner
3889a2cb05 Remove a ton of extraneous #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6842 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:08:05 +00:00
John Criswell
be583b914d Included assert.h so that the code compiles under newer versions of GCC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 14:01:36 +00:00
Misha Brukman
1d06fbe893 It's 'separate'. The 'i.e.' is kinda nit-picking, but think of it this way:
'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
2003-05-03 03:31:06 +00:00
Chris Lattner
f1ab454b71 Add helper method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5753 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-21 21:41:02 +00:00
Chris Lattner
d2c0b28c33 * Un "protect" the getAnalysis<> functions
* Add a new initializePass() method to ImmutablePass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5629 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:10:28 +00:00
Chris Lattner
70b4f3e051 Add support for ImmutablePasses, which are not run, and cannot be
invalidated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3921 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25 21:59:11 +00:00
Vikram S. Adve
0e9843db54 Fix typo in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3773 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 11:09:59 +00:00
Chris Lattner
d0713f94af Add a new BasicBlockPass::doInitialization/Finalization(Function &) pair of
methods that may be useful for BasicBlockPasses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3689 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-12 17:06:43 +00:00
Chris Lattner
f9bbe214fd Make getAnalysisToUpdate<AnalysisType>() public so that transformation APIs
can update analysis information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3584 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 02:14:47 +00:00
Chris Lattner
76a8f7fb5a - Pass now has AnalysisImpls class to implement getAnalysis() so that it is
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
2002-08-30 20:19:49 +00:00
Chris Lattner
3f917b6f99 Make the getAnalyss<> members const. Using them does NOT modify the Pass object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3522 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 20:07:59 +00:00
Chris Lattner
2619905926 Convert comments to Doxygen style
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3507 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-25 22:54:55 +00:00
Chris Lattner
1d63a167ec - Make Pass::lookupPassInfo a public member
- 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
2002-08-21 22:13:33 +00:00
Chris Lattner
fb30fda1de - Eliminate the need for analyses to expose an ::ID member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3414 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 17:08:37 +00:00
Chris Lattner
5791bb70b1 - Cleaned up the interface to AnalysisUsage to take analysis class names
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
2002-08-08 19:01:11 +00:00