summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2012-07-02 19:48:31 +0000
committerBob Wilson <bob.wilson@apple.com>2012-07-02 19:48:31 +0000
commit564fbf6aff8fb95646a1290078a37c2d4dbe629f (patch)
treebf0ceba3cdf8f6171a6657f40aa43ba7c664d734 /include
parent8add7b48d2c548299d9d590ad048ca1637b170c6 (diff)
downloadllvm-564fbf6aff8fb95646a1290078a37c2d4dbe629f.tar.gz
llvm-564fbf6aff8fb95646a1290078a37c2d4dbe629f.tar.bz2
llvm-564fbf6aff8fb95646a1290078a37c2d4dbe629f.tar.xz
Add all codegen passes to the PassManager via TargetPassConfig.
This is a preliminary step toward having TargetPassConfig be able to start and stop the compilation at specified passes for unit testing and debugging. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159567 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/Passes.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/Passes.h b/include/llvm/CodeGen/Passes.h
index b0de2dc632..1ccf29d844 100644
--- a/include/llvm/CodeGen/Passes.h
+++ b/include/llvm/CodeGen/Passes.h
@@ -55,9 +55,11 @@ public:
/// optimization after regalloc.
static char PostRAMachineLICMID;
+private:
+ PassManagerBase *PM;
+
protected:
TargetMachine *TM;
- PassManagerBase *PM;
PassConfigImpl *Impl; // Internal data structures
bool Initialized; // Flagged after all passes are configured.
@@ -122,6 +124,9 @@ public:
/// transforms following machine independent optimization.
virtual void addIRPasses();
+ /// Add passes to lower exception handling for the code generator.
+ void addPassesToHandleExceptions();
+
/// Add common passes that perform LLVM IR to IR transforms in preparation for
/// instruction selection.
virtual void addISelPrepare();
@@ -235,6 +240,9 @@ protected:
/// Return the pass that was added, or NoPassID.
AnalysisID addPass(char &ID);
+ /// Add a pass to the PassManager.
+ void addPass(Pass *P);
+
/// addMachinePasses helper to create the target-selected or overriden
/// regalloc pass.
FunctionPass *createRegAllocPass(bool Optimized);
@@ -242,7 +250,7 @@ protected:
/// printAndVerify - Add a pass to dump then verify the machine function, if
/// those steps are enabled.
///
- void printAndVerify(const char *Banner) const;
+ void printAndVerify(const char *Banner);
};
} // namespace llvm