diff options
author | Bob Wilson <bob.wilson@apple.com> | 2012-07-02 19:48:31 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2012-07-02 19:48:31 +0000 |
commit | 564fbf6aff8fb95646a1290078a37c2d4dbe629f (patch) | |
tree | bf0ceba3cdf8f6171a6657f40aa43ba7c664d734 /include | |
parent | 8add7b48d2c548299d9d590ad048ca1637b170c6 (diff) | |
download | llvm-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.h | 12 |
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 |