diff options
author | Daniel Dunbar <daniel@zuster.org> | 2011-03-22 16:48:17 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2011-03-22 16:48:17 +0000 |
commit | 12100e2c7fe646801590bd06562dc3711cf4468e (patch) | |
tree | fc29bb1692743e6ccf0b4b007fc317311d48fcd6 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | e14460ba373dbec80a4e89cf9b98e1d251517a98 (diff) | |
download | bcm5719-llvm-12100e2c7fe646801590bd06562dc3711cf4468e.tar.gz bcm5719-llvm-12100e2c7fe646801590bd06562dc3711cf4468e.zip |
Frontend: Add a more explicit -backend-option flag for passing backend command
line options, instead of leveraging the blanket -mllvm option.
- This allows using the frontend itself without requiring the backend have
those options available (i.e., if the target wasn't built).
llvm-svn: 128087
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 2b5c289cbf9..980c75200e7 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -207,6 +207,10 @@ static void CodeGenOptsToArgs(const CodeGenOptions &Opts, } if (!Opts.VerifyModule) Res.push_back("-disable-llvm-verifier"); + for (unsigned i = 0, e = Opts.BackendOptions.size(); i != e; ++i) { + Res.push_back("-backend-option"); + Res.push_back(Opts.BackendOptions[i]); + } } static void DependencyOutputOptsToArgs(const DependencyOutputOptions &Opts, @@ -927,6 +931,7 @@ static void ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK, Opts.NoInfsFPMath = Opts.NoNaNsFPMath = Args.hasArg(OPT_cl_finite_math_only)|| Args.hasArg(OPT_cl_fast_relaxed_math); Opts.NoZeroInitializedInBSS = Args.hasArg(OPT_mno_zero_initialized_in_bss); + Opts.BackendOptions = Args.getAllArgValues(OPT_backend_option); Opts.NumRegisterParameters = Args.getLastArgIntValue(OPT_mregparm, 0, Diags); Opts.RelaxAll = Args.hasArg(OPT_mrelax_all); Opts.OmitLeafFramePointer = Args.hasArg(OPT_momit_leaf_frame_pointer); |