Skip to content

Commit 0d53abd

Browse files
committed
add flags and test for -g debuginfo compilations
1 parent 7b305fe commit 0d53abd

File tree

2 files changed

+24
-3
lines changed

2 files changed

+24
-3
lines changed

amd/comgr/src/comgr-compiler.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1913,15 +1913,19 @@ static inline const std::unordered_set<std::string_view> ValidSpirvFlags{
19131913
"-ffinite-math-only",
19141914
"-ffp-contract=fast",
19151915
"-ffp-contract=fast-honor-pragmas",
1916+
"-ffp-contract=on",
19161917
"-fgpu-rdc",
19171918
"-finline-functions",
1918-
"-fno-signed-zeros",
1919-
"-fno-rounding-math",
1920-
"-fno-experimental-relative-c++-abi-vtables",
19211919
"-fno-autolink",
1920+
"-fno-experimental-relative-c++-abi-vtables",
1921+
"-fno-rounding-math",
1922+
"-fno-signed-zeros",
1923+
"-fno-threadsafe-statics",
19221924
"-freciprocal-math",
1925+
"-fskip-odr-check-in-gmf",
19231926
"-funsafe-math-optimizations",
19241927
"-fvisibility=hidden",
1928+
"-gheterogeneous-dwarf=diexpression",
19251929
"-O0",
19261930
"-O1",
19271931
"-O2",
@@ -1967,6 +1971,9 @@ amd_comgr_status_t AMDGPUCompiler::extractSpirvFlags(DataSet *BcSet) {
19671971
if (Tmp == "--hipstdpar" || Tmp == "-amdgpu-enable-hipstdpar") {
19681972
Bc->SpirvFlags.push_back("-mllvm");
19691973
Bc->SpirvFlags.push_back("-amdgpu-enable-hipstdpar");
1974+
} else if (Tmp == "-amdgpu-spill-cfi-saved-regs") {
1975+
Bc->SpirvFlags.push_back("-mllvm");
1976+
Bc->SpirvFlags.push_back("-amdgpu-spill-cfi-saved-regs");
19701977
} else if (ValidSpirvFlags.count(Tmp)) {
19711978
Bc->SpirvFlags.push_back(Saver.save(Tmp.c_str()).data());
19721979
}

amd/comgr/test-lit/spirv-to-reloc.hip

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,20 @@
1818
// COM: Check that SPIR-V flags are correctly extracted
1919
// CHECK: Driver Job Args: {{.*}} "-fno-rounding-math" "-O3" "-fno-autolink" "-fvisibility=hidden" "-fexceptions" "-fcolor-diagnostics" "-mcode-object-version=5"
2020

21+
// COM: ----
22+
// COM: Generate a debuginfo SPIR-V file from a HIP kernel
23+
// RUN: clang -x hip --offload-arch=amdgcnspirv -nogpulib -nogpuinc \
24+
// RUN: --no-gpu-bundle-output --offload-device-only -O3 %s -o %t.dbg.spv -g
25+
26+
// COM: Compile debuginfo SPIR-V source to a relocatable
27+
// RUN: AMD_COMGR_EMIT_VERBOSE_LOGS=1 AMD_COMGR_REDIRECT_LOGS=stdout \
28+
// RUN: spirv-to-reloc %t.dbg.spv %t.dbg.o | FileCheck \
29+
// RUN: -check-prefix=CHECK-DBG %s
30+
31+
// COM: Check that debuginfo SPIR-V flags are correctly extracted
32+
// CHECK-DBG: Driver Job Args: {{.*}} "-gheterogeneous-dwarf=diexpression" "-mllvm -amdgpu-spill-cfi-saved-regs"
33+
34+
2135
#include <cstdlib>
2236

2337
#define __constant__ __attribute__((constant))

0 commit comments

Comments
 (0)