Implement a more powerful, simpler, pass system. This pass system can figure

out how to run a collection of passes optimially given their behaviors and
charactaristics.

Convert code to use it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1507 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2002-01-21 07:31:50 +00:00
parent aff5bcebb7
commit f4de63f65f
32 changed files with 238 additions and 208 deletions

View File

@@ -11,7 +11,7 @@
#include "llvm/Pass.h"
class Method;
class InsertTraceCode : public Pass {
class InsertTraceCode : public MethodPass {
bool TraceBasicBlockExits, TraceMethodExits;
Method *PrintfMeth;
public:
@@ -21,7 +21,7 @@ public:
// Add a prototype for printf if it is not already in the program.
//
bool doPassInitialization(Module *M);
bool doInitialization(Module *M);
//--------------------------------------------------------------------------
// Function InsertCodeToTraceValues
@@ -32,9 +32,9 @@ public:
static bool doit(Method *M, bool traceBasicBlockExits,
bool traceMethodExits, Method *Printf);
// doPerMethodWork - This method does the work. Always successful.
// runOnMethod - This method does the work. Always successful.
//
bool doPerMethodWork(Method *M) {
bool runOnMethod(Method *M) {
return doit(M, TraceBasicBlockExits, TraceMethodExits, PrintfMeth);
}
};