diff options
author | Andrew Trick <atrick@apple.com> | 2012-02-08 21:22:39 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2012-02-08 21:22:39 +0000 |
commit | ffea03f2165c5a4fda672495bf853aa2d8c7d1b5 (patch) | |
tree | 64ffa416f3803f75a86ee55727d19fb1419a6d6a /lib/CodeGen/Passes.cpp | |
parent | ebe18ef5c286bb7c33f6c43f1963a7d22cd73f40 (diff) |
Added TargetPassConfig::setOpt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150093 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/Passes.cpp')
-rw-r--r-- | lib/CodeGen/Passes.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/CodeGen/Passes.cpp b/lib/CodeGen/Passes.cpp index 2877cf165b..6d12dd839c 100644 --- a/lib/CodeGen/Passes.cpp +++ b/lib/CodeGen/Passes.cpp @@ -84,7 +84,10 @@ char TargetPassConfig::ID = 0; TargetPassConfig::~TargetPassConfig() {} TargetPassConfig::TargetPassConfig(TargetMachine *tm, PassManagerBase &pm) - : ImmutablePass(ID), TM(tm), PM(pm), DisableVerify(false) { + : ImmutablePass(ID), TM(tm), PM(pm), Initialized(false), + DisableVerify(false), + EnableTailMerge(true) { + // Register all target independent codegen passes to activate their PassIDs, // including this pass itself. initializeCodeGen(*PassRegistry::getPassRegistry()); @@ -103,6 +106,12 @@ TargetPassConfig::TargetPassConfig() llvm_unreachable("TargetPassConfig should not be constructed on-the-fly"); } +// Helper to verify the analysis is really immutable. +void TargetPassConfig::setOpt(bool &Opt, bool Val) { + assert(!Initialized && "PassConfig is immutable"); + Opt = Val; +} + void TargetPassConfig::addPass(char &ID) { // FIXME: check user overrides Pass *P = Pass::createPass(ID); |