diff options
author | Eli Bendersky <eliben@google.com> | 2014-02-19 17:09:35 +0000 |
---|---|---|
committer | Eli Bendersky <eliben@google.com> | 2014-02-19 17:09:35 +0000 |
commit | f0f210052f8ea8c9a126edeec46eaffbaa735983 (patch) | |
tree | 7334e0d8e892435849af4cc77f6f8d763c3fa948 /llvm/tools/llvm-lto | |
parent | bd1eb0db1f17c4b6c3abc0f5940266f3911f0623 (diff) | |
download | bcm5719-llvm-f0f210052f8ea8c9a126edeec46eaffbaa735983.tar.gz bcm5719-llvm-f0f210052f8ea8c9a126edeec46eaffbaa735983.zip |
Refactor TargetOptions initialization into a single place.
The same code (~20 lines) for initializing a TargetOptions object from CodeGen
cmdline flags is duplicated 4 times in 4 different tools. This patch moves it
into a utility function.
Since the CodeGen/CommandFlags.h file defines cl::opt flags in a header, it's
a bit of a touchy situation because we should only link them into tools. So this
patch puts the init function in the header.
llvm-svn: 201699
Diffstat (limited to 'llvm/tools/llvm-lto')
-rw-r--r-- | llvm/tools/llvm-lto/llvm-lto.cpp | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/llvm/tools/llvm-lto/llvm-lto.cpp b/llvm/tools/llvm-lto/llvm-lto.cpp index 4a421f9e766..e12852981b5 100644 --- a/llvm/tools/llvm-lto/llvm-lto.cpp +++ b/llvm/tools/llvm-lto/llvm-lto.cpp @@ -77,26 +77,7 @@ int main(int argc, char **argv) { InitializeAllAsmParsers(); // set up the TargetOptions for the machine - TargetOptions Options; - Options.LessPreciseFPMADOption = EnableFPMAD; - Options.NoFramePointerElim = DisableFPElim; - Options.AllowFPOpFusion = FuseFPOps; - Options.UnsafeFPMath = EnableUnsafeFPMath; - Options.NoInfsFPMath = EnableNoInfsFPMath; - Options.NoNaNsFPMath = EnableNoNaNsFPMath; - Options.HonorSignDependentRoundingFPMathOption = - EnableHonorSignDependentRoundingFPMath; - Options.UseSoftFloat = GenerateSoftFloatCalls; - if (FloatABIForCalls != FloatABI::Default) - Options.FloatABIType = FloatABIForCalls; - Options.NoZerosInBSS = DontPlaceZerosInBSS; - Options.GuaranteedTailCallOpt = EnableGuaranteedTailCallOpt; - Options.DisableTailCalls = DisableTailCalls; - Options.StackAlignmentOverride = OverrideStackAlignment; - Options.TrapFuncName = TrapFuncName; - Options.PositionIndependentExecutable = EnablePIE; - Options.EnableSegmentedStacks = SegmentedStacks; - Options.UseInitArray = UseInitArray; + TargetOptions Options = InitTargetOptionsFromCodeGenFlags(); unsigned BaseArg = 0; |