diff options
author | Bill Wendling <isanbard@gmail.com> | 2013-11-21 07:11:48 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2013-11-21 07:11:48 +0000 |
commit | 0a0da619eb7a072836cf2c5debee1c5c7c8f5496 (patch) | |
tree | 088c7aa8b60d21557faa884108b738ab2306cc4f /include | |
parent | ade90c9f1d01f3401a5db183a33b5a6380476a35 (diff) | |
download | external_llvm-0a0da619eb7a072836cf2c5debee1c5c7c8f5496.zip external_llvm-0a0da619eb7a072836cf2c5debee1c5c7c8f5496.tar.gz external_llvm-0a0da619eb7a072836cf2c5debee1c5c7c8f5496.tar.bz2 |
Merging r195317:
------------------------------------------------------------------------
r195317 | probinson | 2013-11-20 22:33:32 -0800 (Wed, 20 Nov 2013) | 4 lines
Teach ISel not to optimize 'optnone' functions.
Based on work by Andrea Di Biagio.
------------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@195321 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/MC/MCCodeGenInfo.h | 3 | ||||
-rw-r--r-- | include/llvm/Target/TargetMachine.h | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/include/llvm/MC/MCCodeGenInfo.h b/include/llvm/MC/MCCodeGenInfo.h index d1765e1..84ce934 100644 --- a/include/llvm/MC/MCCodeGenInfo.h +++ b/include/llvm/MC/MCCodeGenInfo.h @@ -42,6 +42,9 @@ namespace llvm { CodeModel::Model getCodeModel() const { return CMModel; } CodeGenOpt::Level getOptLevel() const { return OptLevel; } + + // Allow overriding OptLevel on a per-function basis. + void setOptLevel(CodeGenOpt::Level Level) { OptLevel = Level; } }; } // namespace llvm diff --git a/include/llvm/Target/TargetMachine.h b/include/llvm/Target/TargetMachine.h index 91e4715..11b0f5f 100644 --- a/include/llvm/Target/TargetMachine.h +++ b/include/llvm/Target/TargetMachine.h @@ -75,7 +75,8 @@ protected: // Can only create subclasses. std::string TargetFS; /// CodeGenInfo - Low level target information such as relocation model. - const MCCodeGenInfo *CodeGenInfo; + /// Non-const to allow resetting optimization level per-function. + MCCodeGenInfo *CodeGenInfo; /// AsmInfo - Contains target specific asm information. /// @@ -213,6 +214,9 @@ public: /// Default, or Aggressive. CodeGenOpt::Level getOptLevel() const; + /// \brief Overrides the optimization level. + void setOptLevel(CodeGenOpt::Level Level) const; + void setFastISel(bool Enable) { Options.EnableFastISel = Enable; } bool shouldPrintMachineCode() const { return Options.PrintMachineCode; } |