diff options
author | Vedant Kumar <vsk@apple.com> | 2016-07-27 23:02:20 +0000 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2016-07-27 23:02:20 +0000 |
commit | 18286cfb7445b12c8d0bab4505bd745a9c9cee60 (patch) | |
tree | b1745aad11e8792b05b1da5afcd4ba8f73fb00d6 /clang/lib/Driver/ToolChain.cpp | |
parent | 5fb00e4bd7c8f767a18377c91c99dacc2f74089f (diff) | |
download | bcm5719-llvm-18286cfb7445b12c8d0bab4505bd745a9c9cee60.tar.gz bcm5719-llvm-18286cfb7445b12c8d0bab4505bd745a9c9cee60.zip |
Retry: [Driver] Compute effective target triples once per job (NFCI)
Compute an effective triple once per job. Cache the triple in the
prevailing ToolChain for the duration of the job.
Clients which need effective triples now look them up in the ToolChain.
This eliminates wasteful re-computation of effective triples (e.g in
getARMFloatABI()).
While we're at it, delete MachO::ComputeEffectiveClangTriple. It was a
no-op override.
Differential Revision: https://reviews.llvm.org/D22596
llvm-svn: 276937
Diffstat (limited to 'clang/lib/Driver/ToolChain.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChain.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp index d9ed5412fdb..58afaed91a9 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -68,7 +68,8 @@ static ToolChain::RTTIMode CalculateRTTIMode(const ArgList &Args, ToolChain::ToolChain(const Driver &D, const llvm::Triple &T, const ArgList &Args) : D(D), Triple(T), Args(Args), CachedRTTIArg(GetRTTIArgument(Args)), - CachedRTTIMode(CalculateRTTIMode(Args, Triple, CachedRTTIArg)) { + CachedRTTIMode(CalculateRTTIMode(Args, Triple, CachedRTTIArg)), + EffectiveTriple() { if (Arg *A = Args.getLastArg(options::OPT_mthread_model)) if (!isThreadModelSupported(A->getValue())) D.Diag(diag::err_drv_invalid_thread_model_for_target) |