diff options
author | Vedant Kumar <vsk@apple.com> | 2016-07-18 19:56:38 +0000 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2016-07-18 19:56:38 +0000 |
commit | bf51e703cfaf006f3f162d837435de4815e9007e (patch) | |
tree | 7a91e21395551a31c536117b0b5ce989d0437722 /clang/lib/Driver/ToolChains.h | |
parent | f2030b931caca4c89e680f125a0d8aa2e6593551 (diff) | |
download | bcm5719-llvm-bf51e703cfaf006f3f162d837435de4815e9007e.tar.gz bcm5719-llvm-bf51e703cfaf006f3f162d837435de4815e9007e.zip |
[Driver] Compute effective target triples once per job (NFCI)
Compute an effective target triple exactly once in ConstructJob(), and
then simply pass around references to it. This eliminates wasteful
re-computation of effective triples (e.g in getARMFloatABI()).
Differential Revision: https://reviews.llvm.org/D22290
llvm-svn: 275895
Diffstat (limited to 'clang/lib/Driver/ToolChains.h')
-rw-r--r-- | clang/lib/Driver/ToolChains.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/clang/lib/Driver/ToolChains.h b/clang/lib/Driver/ToolChains.h index da6f53aeb12..25dae72ca86 100644 --- a/clang/lib/Driver/ToolChains.h +++ b/clang/lib/Driver/ToolChains.h @@ -279,7 +279,8 @@ public: llvm::opt::ArgStringList &CmdArgs) const {} /// Add the linker arguments to link the compiler runtime library. - virtual void AddLinkRuntimeLibArgs(const llvm::opt::ArgList &Args, + virtual void AddLinkRuntimeLibArgs(const llvm::Triple &EffectiveTriple, + const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const; virtual void addStartObjectFileArgs(const llvm::opt::ArgList &Args, @@ -303,7 +304,8 @@ public: /// Add any profiling runtime libraries that are needed. This is essentially a /// MachO specific version of addProfileRT in Tools.cpp. - void addProfileRTLibs(const llvm::opt::ArgList &Args, + void addProfileRTLibs(const llvm::Triple &EffectiveTriple, + const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override { // There aren't any profiling libs for embedded targets currently. } @@ -417,7 +419,8 @@ public: !isTargetWatchOS()); } - void addProfileRTLibs(const llvm::opt::ArgList &Args, + void addProfileRTLibs(const llvm::Triple &EffectiveTriple, + const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override; protected: @@ -572,7 +575,8 @@ public: /// @name Apple ToolChain Implementation /// { - void AddLinkRuntimeLibArgs(const llvm::opt::ArgList &Args, + void AddLinkRuntimeLibArgs(const llvm::Triple &EffectiveTriple, + const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override; void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, @@ -838,7 +842,8 @@ public: llvm::opt::ArgStringList &CC1Args) const override; bool isPIEDefault() const override; SanitizerMask getSupportedSanitizers() const override; - void addProfileRTLibs(const llvm::opt::ArgList &Args, + void addProfileRTLibs(const llvm::Triple &EffectiveTriple, + const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override; virtual std::string computeSysRoot() const; @@ -902,7 +907,8 @@ public: void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override; - std::string getCompilerRT(const llvm::opt::ArgList &Args, StringRef Component, + std::string getCompilerRT(const llvm::Triple &EffectiveTriple, + const llvm::opt::ArgList &Args, StringRef Component, bool Shared = false) const override; std::string computeSysRoot() const override; |