diff options
author | Andrew Trick <atrick@apple.com> | 2012-02-08 21:22:48 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2012-02-08 21:22:48 +0000 |
commit | 61f1e3db43e556f495b6b9360d2f550291f78471 (patch) | |
tree | 884759d64daccd2f8ae8552c9074e547afd94321 /include | |
parent | 1df91b0e54bc62f8fc7a06a4f75220e40aa2dfe0 (diff) | |
download | external_llvm-61f1e3db43e556f495b6b9360d2f550291f78471.zip external_llvm-61f1e3db43e556f495b6b9360d2f550291f78471.tar.gz external_llvm-61f1e3db43e556f495b6b9360d2f550291f78471.tar.bz2 |
Move pass configuration out of pass constructors: BranchFolderPass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150095 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/CodeGen/Passes.h | 15 | ||||
-rw-r--r-- | include/llvm/InitializePasses.h | 1 |
2 files changed, 10 insertions, 6 deletions
diff --git a/include/llvm/CodeGen/Passes.h b/include/llvm/CodeGen/Passes.h index 7bc9311..14dcd2c 100644 --- a/include/llvm/CodeGen/Passes.h +++ b/include/llvm/CodeGen/Passes.h @@ -42,9 +42,13 @@ protected: bool Initialized; // Flagged after all passes are configured. // Target Pass Options + // Targets provide a default setting, user flags override. // bool DisableVerify; + /// Default setting for -enable-tail-merge on this target. + bool EnableTailMerge; + public: TargetPassConfig(TargetMachine *tm, PassManagerBase &pm); // Dummy constructor. @@ -67,7 +71,10 @@ public: CodeGenOpt::Level getOptLevel() const { return TM->getOptLevel(); } - void setDisableVerify(bool disable) { DisableVerify = disable; } + void setDisableVerify(bool Disable) { setOpt(DisableVerify, Disable); } + + bool getEnableTailMerge() const { return EnableTailMerge; } + void setEnableTailMerge(bool Enable) { setOpt(EnableTailMerge, Enable); } /// Add common target configurable passes that perform LLVM IR to IR /// transforms following machine independent optimization. @@ -118,10 +125,6 @@ protected: return false; } - /// getEnableTailMergeDefault - the default setting for -enable-tail-merge - /// on this target. User flag overrides. - virtual bool getEnableTailMergeDefault() const { return true; } - /// addPreSched2 - This method may be implemented by targets that want to /// run passes after prolog-epilog insertion and before the second instruction /// scheduling pass. This should return true if -print-machineinstrs should @@ -274,7 +277,7 @@ namespace llvm { /// optimizations to delete branches to branches, eliminate branches to /// successor blocks (creating fall throughs), and eliminating branches over /// branches. - FunctionPass *createBranchFoldingPass(bool DefaultEnableTailMerge); + extern char &BranchFolderPassID; /// TailDuplicate Pass - Duplicate blocks with unconditional branches /// into tails of their predecessors. diff --git a/include/llvm/InitializePasses.h b/include/llvm/InitializePasses.h index c1940d6..f11b024 100644 --- a/include/llvm/InitializePasses.h +++ b/include/llvm/InitializePasses.h @@ -71,6 +71,7 @@ void initializeBasicCallGraphPass(PassRegistry&); void initializeBlockExtractorPassPass(PassRegistry&); void initializeBlockFrequencyInfoPass(PassRegistry&); void initializeBlockPlacementPass(PassRegistry&); +void initializeBranchFolderPassPass(PassRegistry&); void initializeBranchProbabilityInfoPass(PassRegistry&); void initializeBreakCriticalEdgesPass(PassRegistry&); void initializeCFGOnlyPrinterPass(PassRegistry&); |