summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Gohman <sunfish@mozilla.com>2019-12-02 11:47:31 -0800
committerDan Gohman <sunfish@mozilla.com>2019-12-02 11:48:36 -0800
commit8f1e2151b8e923345a18aa3025a7d074e134768b (patch)
treed7edb2ede46f0c260e2c37805f3b316c45cbc65e
parent1d4587346f51ca5cc5741337cadfaeb208ca59ad (diff)
downloadbcm5719-llvm-8f1e2151b8e923345a18aa3025a7d074e134768b.tar.gz
bcm5719-llvm-8f1e2151b8e923345a18aa3025a7d074e134768b.zip
[WebAssembly] Find wasm-opt with GetProgramPath
Instead of just searching for wasm-opt in PATH, use GetProgramPath, which checks the `COMPILER_PATH` environment variable, -B paths, and `PATH`. Differential Revision: https://reviews.llvm.org/D70780
-rw-r--r--clang/lib/Driver/ToolChains/WebAssembly.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/Driver/ToolChains/WebAssembly.cpp b/clang/lib/Driver/ToolChains/WebAssembly.cpp
index 55b82592c09..1bb7c35d0c5 100644
--- a/clang/lib/Driver/ToolChains/WebAssembly.cpp
+++ b/clang/lib/Driver/ToolChains/WebAssembly.cpp
@@ -92,10 +92,10 @@ void wasm::Linker::ConstructJob(Compilation &C, const JobAction &JA,
C.addCommand(std::make_unique<Command>(JA, *this, Linker, CmdArgs, Inputs));
- // When optimizing, if wasm-opt is in the PATH, run wasm-opt.
+ // When optimizing, if wasm-opt is available, run it.
if (Arg *A = Args.getLastArg(options::OPT_O_Group)) {
- if (llvm::ErrorOr<std::string> WasmOptPath =
- llvm::sys::findProgramByName("wasm-opt")) {
+ auto WasmOptPath = getToolChain().GetProgramPath("wasm-opt");
+ if (WasmOptPath != "wasm-opt") {
StringRef OOpt = "s";
if (A->getOption().matches(options::OPT_O4) ||
A->getOption().matches(options::OPT_Ofast))
@@ -106,7 +106,7 @@ void wasm::Linker::ConstructJob(Compilation &C, const JobAction &JA,
OOpt = A->getValue();
if (OOpt != "0") {
- const char *WasmOpt = Args.MakeArgString(*WasmOptPath);
+ const char *WasmOpt = Args.MakeArgString(WasmOptPath);
ArgStringList CmdArgs;
CmdArgs.push_back(Output.getFilename());
CmdArgs.push_back(Args.MakeArgString(llvm::Twine("-O") + OOpt));
OpenPOWER on IntegriCloud