diff --git a/llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp b/llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp index 742f7b94e116f..cc7d0869da05e 100644 --- a/llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp +++ b/llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp @@ -115,17 +115,18 @@ static void handleLLVMFatalError(void *, const char *Message, bool) { extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(int *argc, char ***argv) { EnableDebugBuffering = true; + StringRef ExecName = *argv[0]; InitializeAllTargets(); InitializeAllTargetMCs(); InitializeAllAsmPrinters(); InitializeAllAsmParsers(); - handleExecNameEncodedBEOpts(*argv[0]); + handleExecNameEncodedBEOpts(ExecName); parseFuzzerCLOpts(*argc, *argv); if (TargetTriple.empty()) { - errs() << *argv[0] << ": -mtriple must be specified\n"; + errs() << ExecName << ": -mtriple must be specified\n"; exit(1); } @@ -135,10 +136,10 @@ extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(int *argc, if (auto Level = CodeGenOpt::parseLevel(OptLevel)) { OLvl = *Level; } else { - errs() << argv[0] << ": invalid optimization level.\n"; + errs() << ExecName << ": invalid optimization level.\n"; return 1; } - ExitOnError ExitOnErr(std::string(*argv[0]) + ": error:"); + ExitOnError ExitOnErr(std::string(ExecName) + ": error:"); TM = ExitOnErr(codegen::createTargetMachineForTriple( Triple::normalize(TargetTriple), OLvl)); assert(TM && "Could not allocate target machine!"); diff --git a/llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp b/llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp index fcccf0e07ef8d..a4af4b4a118fd 100644 --- a/llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp +++ b/llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp @@ -175,6 +175,7 @@ static void handleLLVMFatalError(void *, const char *Message, bool) { extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(int *argc, char ***argv) { EnableDebugBuffering = true; + StringRef ExecName = *argv[0]; // Make sure we print the summary and the current unit when LLVM errors out. install_fatal_error_handler(handleLLVMFatalError, nullptr); @@ -188,17 +189,16 @@ extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(int *argc, // Parse input options // - handleExecNameEncodedOptimizerOpts(*argv[0]); + handleExecNameEncodedOptimizerOpts(ExecName); parseFuzzerCLOpts(*argc, *argv); // Create TargetMachine // - if (TargetTripleStr.empty()) { - errs() << *argv[0] << ": -mtriple must be specified\n"; + errs() << ExecName << ": -mtriple must be specified\n"; exit(1); } - ExitOnError ExitOnErr(std::string(*argv[0]) + ": error:"); + ExitOnError ExitOnErr(std::string(ExecName) + ": error:"); TM = ExitOnErr(codegen::createTargetMachineForTriple( Triple::normalize(TargetTripleStr))); @@ -206,14 +206,14 @@ extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(int *argc, // if (PassPipeline.empty()) { - errs() << *argv[0] << ": at least one pass should be specified\n"; + errs() << ExecName << ": at least one pass should be specified\n"; exit(1); } PassBuilder PB(TM.get()); ModulePassManager MPM; if (auto Err = PB.parsePassPipeline(MPM, PassPipeline)) { - errs() << *argv[0] << ": " << toString(std::move(Err)) << "\n"; + errs() << ExecName << ": " << toString(std::move(Err)) << "\n"; exit(1); }