aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorJonathan Roelofs <jonathan@codesourcery.com>2014-10-03 21:57:44 +0000
committerJonathan Roelofs <jonathan@codesourcery.com>2014-10-03 21:57:44 +0000
commitb140a100a0479f9dfcb45c523f22dd64c41b68f0 (patch)
tree5c28a4c9a18528cf4ae78ca8a1a803d21fceeef8 /clang/lib/Driver/Tools.cpp
parent0820e13e2a2676fd61500ec3cbe0a2c3d1902c43 (diff)
downloadllvm-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.cpp6
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");