diff options
author | Jonathan Roelofs <jonathan@codesourcery.com> | 2014-10-03 21:57:44 +0000 |
---|---|---|
committer | Jonathan Roelofs <jonathan@codesourcery.com> | 2014-10-03 21:57:44 +0000 |
commit | b140a100a0479f9dfcb45c523f22dd64c41b68f0 (patch) | |
tree | 5c28a4c9a18528cf4ae78ca8a1a803d21fceeef8 /clang/lib/Driver/Tools.cpp | |
parent | 0820e13e2a2676fd61500ec3cbe0a2c3d1902c43 (diff) | |
download | llvm-b140a100a0479f9dfcb45c523f22dd64c41b68f0.zip llvm-b140a100a0479f9dfcb45c523f22dd64c41b68f0.tar.gz llvm-b140a100a0479f9dfcb45c523f22dd64c41b68f0.tar.bz2 |
CFE Knob for: Add a thread-model knob for lowering atomics on baremetal & single threaded systems
http://reviews.llvm.org/D4985
llvm-svn: 219027
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 99e34e4..c09d489 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -2753,6 +2753,12 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, } } + CmdArgs.push_back("-mthread-model"); + if (Arg *A = Args.getLastArg(options::OPT_mthread_model)) + CmdArgs.push_back(A->getValue()); + else + CmdArgs.push_back(Args.MakeArgString(getToolChain().getThreadModel())); + if (!Args.hasFlag(options::OPT_fmerge_all_constants, options::OPT_fno_merge_all_constants)) CmdArgs.push_back("-fno-merge-all-constants"); |