diff options
author | Devang Patel <dpatel@apple.com> | 2008-03-25 21:02:35 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2008-03-25 21:02:35 +0000 |
commit | 55c666a867f6c47ada58b3a620be285de719fb8e (patch) | |
tree | 9f3669c8451695b8ccd43bf50f0fae82f1334e06 | |
parent | 26471c48b3d49bdbcfcc05cb9a575b5fa123fbbf (diff) |
Add optimize-for-size knob.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48793 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Target/TargetOptions.h | 4 | ||||
-rw-r--r-- | lib/Target/TargetMachine.cpp | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetOptions.h b/include/llvm/Target/TargetOptions.h index 554a32b9d9..72bb272015 100644 --- a/include/llvm/Target/TargetOptions.h +++ b/include/llvm/Target/TargetOptions.h @@ -78,6 +78,10 @@ namespace llvm { /// on the commandline. When the flag is on, the target will perform tail call /// optimization (pop the caller's stack) providing it supports it. extern bool PerformTailCallOpt; + + /// OptimizeForSize - When this flags is set, code generator avoids optimization + /// that increases size. + extern bool OptimizeForSize; } // End llvm namespace #endif diff --git a/lib/Target/TargetMachine.cpp b/lib/Target/TargetMachine.cpp index 15164ca28d..b9a68789ab 100644 --- a/lib/Target/TargetMachine.cpp +++ b/lib/Target/TargetMachine.cpp @@ -34,6 +34,7 @@ namespace llvm { Reloc::Model RelocationModel; CodeModel::Model CMModel; bool PerformTailCallOpt; + bool OptimizeForSize; } namespace { cl::opt<bool, true> PrintCode("print-machineinstrs", @@ -123,6 +124,11 @@ namespace { cl::desc("Turn on tail call optimization."), cl::location(PerformTailCallOpt), cl::init(false)); + cl::opt<bool, true> + EnableOptimizeForSize("optimizeforsize", + cl::desc("Optimize for size."), + cl::location(OptimizeForSize), + cl::init(false)); } //--------------------------------------------------------------------------- |