aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorKAWASHIMA Takahiro <t-kawashima@fujitsu.com>2020-01-13 09:28:02 +0000
committerPeter Smith <peter.smith@linaro.org>2020-01-13 10:16:53 +0000
commit10c11e4e2d05cf0e8f8251f50d84ce77eb1e9b8d (patch)
tree77ec95e71e5e339ea077bf172e895f2de8dcb451 /clang/lib/Frontend/CompilerInvocation.cpp
parent96b8e1ac4674dd3035b6cc7b1b7ed8b946208ab1 (diff)
downloadllvm-10c11e4e2d05cf0e8f8251f50d84ce77eb1e9b8d.zip
llvm-10c11e4e2d05cf0e8f8251f50d84ce77eb1e9b8d.tar.gz
llvm-10c11e4e2d05cf0e8f8251f50d84ce77eb1e9b8d.tar.bz2
This option allows selecting the TLS size in the local exec TLS model,
which is the default TLS model for non-PIC objects. This allows large/ many thread local variables or a compact/fast code in an executable. Specification is same as that of GCC. For example, the code model option precedes the TLS size option. TLS access models other than local-exec are not changed. It means supoort of the large code model is only in the local exec TLS model. Patch By KAWASHIMA Takahiro (kawashima-fj <t-kawashima@fujitsu.com>) Reviewers: dmgreen, mstorsjo, t.p.northover, peter.smith, ostannard Reviewd By: peter.smith Committed by: peter.smith Differential Revision: https://reviews.llvm.org/D71688
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index c184113..4743d4f 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -1268,6 +1268,8 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK,
}
}
+ Opts.TLSSize = getLastArgIntValue(Args, OPT_mtls_size_EQ, 0, Diags);
+
if (Arg *A = Args.getLastArg(OPT_fdenormal_fp_math_EQ)) {
StringRef Val = A->getValue();
Opts.FPDenormalMode = llvm::parseDenormalFPAttribute(Val);