(isa<AssembleJobAction>(JA) || isa<CompileJobAction>(JA) ||
isa<BackendJobAction>(JA));
if (SplitDWARF) {
- const char *SplitDWARFOut = SplitDebugName(JA, Args, Input, Output);
+ const char *SplitDWARFOut = SplitDebugName(Args, Input, Output);
CmdArgs.push_back("-split-dwarf-file");
CmdArgs.push_back(SplitDWARFOut);
if (DwarfFission == DwarfFissionKind::Split) {
if (getDebugFissionKind(D, Args, A) == DwarfFissionKind::Split &&
T.isOSBinFormatELF()) {
CmdArgs.push_back("-split-dwarf-output");
- CmdArgs.push_back(SplitDebugName(JA, Args, Input, Output));
+ CmdArgs.push_back(SplitDebugName(Args, Input, Output));
}
assert(Input.isFilename() && "Invalid input.");
return false;
}
-const char *tools::SplitDebugName(const JobAction &JA, const ArgList &Args,
- const InputInfo &Input,
+const char *tools::SplitDebugName(const ArgList &Args, const InputInfo &Input,
const InputInfo &Output) {
- // Adds '_' and GPU arch to the stem of .dwo file for HIP, which is
- // expected by gdb.
- auto AddPostfix = [JA](auto &F) {
- if (JA.getOffloadingDeviceKind() == Action::OFK_HIP)
- F += (Twine("_") + JA.getOffloadingArch()).str();
- };
if (Arg *A = Args.getLastArg(options::OPT_gsplit_dwarf_EQ))
if (StringRef(A->getValue()) == "single")
return Args.MakeArgString(Output.getFilename());
Arg *FinalOutput = Args.getLastArg(options::OPT_o);
if (FinalOutput && Args.hasArg(options::OPT_c)) {
- SmallString<128> T(llvm::sys::path::stem(FinalOutput->getValue()));
- AddPostfix(T);
+ SmallString<128> T(FinalOutput->getValue());
llvm::sys::path::replace_extension(T, "dwo");
return Args.MakeArgString(T);
} else {
SmallString<128> T(
Args.getLastArgValue(options::OPT_fdebug_compilation_dir));
SmallString<128> F(llvm::sys::path::stem(Input.getBaseInput()));
- AddPostfix(F);
llvm::sys::path::replace_extension(F, "dwo");
T += F;
return Args.MakeArgString(F);
llvm::opt::ArgStringList &CmdArgs,
const llvm::opt::ArgList &Args);
-const char *SplitDebugName(const JobAction &JA, const llvm::opt::ArgList &Args,
+const char *SplitDebugName(const llvm::opt::ArgList &Args,
const InputInfo &Input, const InputInfo &Output);
void SplitDebugInfo(const ToolChain &TC, Compilation &C, const Tool &T,
if (Args.hasArg(options::OPT_gsplit_dwarf) &&
getToolChain().getTriple().isOSLinux())
SplitDebugInfo(getToolChain(), C, *this, JA, Args, Output,
- SplitDebugName(JA, Args, Inputs[0], Output));
+ SplitDebugName(Args, Inputs[0], Output));
}
namespace {
if (Args.hasArg(options::OPT_gsplit_dwarf))
SplitDebugInfo(getToolChain(), C, *this, JA, Args, Output,
- SplitDebugName(JA, Args, Inputs[0], Output));
+ SplitDebugName(Args, Inputs[0], Output));
}
void tools::MinGW::Linker::AddLibGCC(const ArgList &Args,
+++ /dev/null
-// REQUIRES: zlib, clang-driver, amdgpu-registered-target
-
-// RUN: %clang -### -target x86_64-unknown-linux-gnu -c \
-// RUN: --offload-arch=gfx906:xnack+ %s -nogpulib -nogpuinc \
-// RUN: --offload-arch=gfx900 \
-// RUN: -ggdb -gsplit-dwarf 2>&1 | FileCheck %s
-
-// RUN: %clang -### -target x86_64-unknown-linux-gnu -c \
-// RUN: -fgpu-rdc --offload-arch=gfx906:xnack+ %s -nogpulib -nogpuinc \
-// RUN: --offload-arch=gfx900 \
-// RUN: -ggdb -gsplit-dwarf 2>&1 | FileCheck %s
-
-// RUN: %clang -### -target x86_64-unknown-linux-gnu \
-// RUN: --offload-arch=gfx906:xnack+ %s -nogpulib -nogpuinc \
-// RUN: --offload-arch=gfx900 \
-// RUN: -ggdb -gsplit-dwarf 2>&1 | FileCheck %s
-
-// RUN: %clang -### -target x86_64-unknown-linux-gnu \
-// RUN: -fgpu-rdc --offload-arch=gfx906:xnack+ %s -nogpulib -nogpuinc \
-// RUN: --offload-arch=gfx900 \
-// RUN: -ggdb -gsplit-dwarf 2>&1 | FileCheck %s
-
-// CHECK-DAG: {{".*clang.*".* "-target-cpu" "gfx906".* "-split-dwarf-output" "hip-gsplit-dwarf-options_gfx906:xnack\+.dwo"}}
-// CHECK-DAG: {{".*clang.*".* "-target-cpu" "gfx900".* "-split-dwarf-output" "hip-gsplit-dwarf-options_gfx900.dwo"}}
-// CHECK-DAG: {{".*clang.*".* "-target-cpu" "x86-64".* "-split-dwarf-output" "hip-gsplit-dwarf-options.dwo"}}