diff options
author | Daniel Dunbar <daniel@zuster.org> | 2011-02-09 17:54:19 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2011-02-09 17:54:19 +0000 |
commit | 0bb0331d9546951377d0e6d647117e1800fc6c7e (patch) | |
tree | 17f0079fe7006157c3dafd96ecff9e384953a33d /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 8b4e283bfbb9d0dfee91135252ee39964acd4f3b (diff) | |
download | bcm5719-llvm-0bb0331d9546951377d0e6d647117e1800fc6c7e.tar.gz bcm5719-llvm-0bb0331d9546951377d0e6d647117e1800fc6c7e.zip |
Driver/Frontend: Wire up -mregparm=.
llvm-svn: 125201
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 6fc73738223..3108477e3a7 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -202,6 +202,10 @@ static void CodeGenOptsToArgs(const CodeGenOptions &Opts, Res.push_back("-fobjc-dispatch-method=non-legacy"); break; } + if (Opts.NumRegisterParameters) { + Res.push_back("-mregparm"); + Res.push_back(llvm::utostr(Opts.NumRegisterParameters)); + } if (Opts.RelaxAll) Res.push_back("-mrelax-all"); if (Opts.SoftFloat) @@ -928,6 +932,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.NumRegisterParameters = Args.getLastArgIntValue(OPT_mregparm, 0, Diags); Opts.RelaxAll = Args.hasArg(OPT_mrelax_all); Opts.OmitLeafFramePointer = Args.hasArg(OPT_momit_leaf_frame_pointer); Opts.SoftFloat = Args.hasArg(OPT_msoft_float); |