Skip to content

Commit d3eebcd

Browse files
shiltianronlieb
authored andcommitted
[AMDGPU] Use COV6 by default
Change-Id: I8c5bf18d883d2eac608a482bc7d4eeb4e1c41ab2
1 parent 5f03902 commit d3eebcd

File tree

21 files changed

+35
-35
lines changed

21 files changed

+35
-35
lines changed

clang/docs/ReleaseNotes.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -852,6 +852,8 @@ Target Specific Changes
852852
AMDGPU Support
853853
^^^^^^^^^^^^^^
854854

855+
- Bump the default code object version to 6.
856+
855857
- Initial support for gfx950
856858

857859
- Added headers ``gpuintrin.h`` and ``amdgpuintrin.h`` that contains common

clang/include/clang/Basic/DiagnosticDriverKinds.td

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,6 @@ def err_drv_hipspv_no_hip_path : Error<
9595
"'--hip-path' must be specified when offloading to SPIR-V unless '-nogpuinc' "
9696
"is given">;
9797

98-
// TODO: Remove when COV6 is fully supported by ROCm.
99-
def warn_drv_amdgpu_cov6: Warning<
100-
"code object v6 is still in development and not ready for production use yet;"
101-
" use at your own risk">;
10298
def err_drv_undetermined_gpu_arch : Error<
10399
"cannot determine %0 architecture: %1; consider passing it via '%2'; "
104100
"environment variable CLANG_TOOLCHAIN_PROGRAM_TIMEOUT specifies the tool "

clang/include/clang/Driver/Options.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5245,12 +5245,12 @@ defm amdgpu_ieee : BoolMOption<"amdgpu-ieee",
52455245
NegFlag<SetFalse, [], [ClangOption, CC1Option]>>;
52465246

52475247
def mcode_object_version_EQ : Joined<["-"], "mcode-object-version=">, Group<m_Group>,
5248-
HelpText<"Specify code object ABI version. Defaults to 5. (AMDGPU only)">,
5248+
HelpText<"Specify code object ABI version. Defaults to 6. (AMDGPU only)">,
52495249
Visibility<[ClangOption, FlangOption, CC1Option, FC1Option]>,
52505250
Values<"none,4,5,6">,
52515251
NormalizedValuesScope<"llvm::CodeObjectVersionKind">,
52525252
NormalizedValues<["COV_None", "COV_4", "COV_5", "COV_6"]>,
5253-
MarshallingInfoEnum<TargetOpts<"CodeObjectVersion">, "COV_5">;
5253+
MarshallingInfoEnum<TargetOpts<"CodeObjectVersion">, "COV_6">;
52545254

52555255
defm cumode : SimpleMFlag<"cumode",
52565256
"Specify CU wavefront", "Specify WGP wavefront",

clang/lib/Driver/ToolChains/CommonArgs.cpp

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2894,19 +2894,13 @@ void tools::checkAMDGPUCodeObjectVersion(const Driver &D,
28942894
if (Remnant || CodeObjVer < MinCodeObjVer || CodeObjVer > MaxCodeObjVer)
28952895
D.Diag(diag::err_drv_invalid_int_value)
28962896
<< CodeObjArg->getAsString(Args) << CodeObjArg->getValue();
2897-
2898-
// COV6 is only supported by LLVM at the time of writing this, and it's
2899-
// expected to take some time before all ROCm components fully
2900-
// support it. In the meantime, make sure users are aware of this.
2901-
if (CodeObjVer == 6)
2902-
D.Diag(diag::warn_drv_amdgpu_cov6);
29032897
}
29042898
}
29052899
}
29062900

29072901
unsigned tools::getAMDGPUCodeObjectVersion(const Driver &D,
29082902
const llvm::opt::ArgList &Args) {
2909-
unsigned CodeObjVer = 5; // default
2903+
unsigned CodeObjVer = 6; // default
29102904
if (auto *CodeObjArg = getAMDGPUCodeObjectArgument(D, Args))
29112905
StringRef(CodeObjArg->getValue()).getAsInteger(0, CodeObjVer);
29122906
return CodeObjVer;

clang/test/CodeGen/amdgpu-address-spaces.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ int [[clang::address_space(999)]] bbb = 1234;
2929
// CHECK: @u = addrspace(5) global i32 undef, align 4
3030
// CHECK: @aaa = addrspace(6) global i32 1000, align 4
3131
// CHECK: @bbb = addrspace(999) global i32 1234, align 4
32-
// CHECK: @__oclc_ABI_version = weak_odr hidden local_unnamed_addr addrspace(4) constant i32 500
32+
// CHECK: @__oclc_ABI_version = weak_odr hidden local_unnamed_addr addrspace(4) constant i32 600
3333
//.
3434
// CHECK-LABEL: define dso_local amdgpu_kernel void @foo(
3535
// CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
@@ -63,7 +63,7 @@ extern "C" [[clang::amdgpu_kernel]] void foo() {
6363
//.
6464
// CHECK: attributes #[[ATTR0]] = { convergent mustprogress noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" }
6565
//.
66-
// CHECK: [[META0:![0-9]+]] = !{i32 1, !"amdhsa_code_object_version", i32 500}
66+
// CHECK: [[META0:![0-9]+]] = !{i32 1, !"amdhsa_code_object_version", i32 600}
6767
// CHECK: [[META1:![0-9]+]] = !{i32 1, !"wchar_size", i32 4}
6868
// CHECK: [[META2:![0-9]+]] = !{!"{{.*}}clang version {{.*}}"}
6969
//.

clang/test/CodeGenCUDA/amdgpu-code-object-version.cu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Create module flag for code object version.
22

33
// RUN: %clang_cc1 -fcuda-is-device -triple amdgcn-amd-amdhsa -emit-llvm \
4-
// RUN: -o - %s | FileCheck %s -check-prefix=V5
4+
// RUN: -o - %s | FileCheck %s -check-prefix=V6
55

66
// RUN: %clang_cc1 -fcuda-is-device -triple amdgcn-amd-amdhsa -emit-llvm \
77
// RUN: -mcode-object-version=4 -o - %s | FileCheck -check-prefix=V4 %s

clang/test/CodeGenCXX/dynamic-cast-address-space.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ B fail;
1313
// CHECK: @_ZTI1B = linkonce_odr addrspace(1) constant { ptr addrspace(1), ptr addrspace(1), ptr addrspace(1) } { ptr addrspace(1) getelementptr inbounds (ptr addrspace(1), ptr addrspace(1) @_ZTVN10__cxxabiv120__si_class_type_infoE, i64 2), ptr addrspace(1) @_ZTS1B, ptr addrspace(1) @_ZTI1A }, comdat, align 8
1414
// CHECK: @_ZTVN10__cxxabiv120__si_class_type_infoE = external addrspace(1) global [0 x ptr addrspace(1)]
1515
// CHECK: @_ZTS1B = linkonce_odr addrspace(1) constant [3 x i8] c"1B\00", comdat, align 1
16-
// CHECK: @__oclc_ABI_version = weak_odr hidden local_unnamed_addr addrspace(4) constant i32 500
16+
// CHECK: @__oclc_ABI_version = weak_odr hidden local_unnamed_addr addrspace(4) constant i32 600
1717
//.
1818
// WITH-NONZERO-DEFAULT-AS: @_ZTV1B = linkonce_odr unnamed_addr addrspace(1) constant { [3 x ptr addrspace(1)] } { [3 x ptr addrspace(1)] [ptr addrspace(1) null, ptr addrspace(1) @_ZTI1B, ptr addrspace(1) addrspacecast (ptr addrspace(4) @_ZN1A1fEv to ptr addrspace(1))] }, comdat, align 8
1919
// WITH-NONZERO-DEFAULT-AS: @fail = addrspace(1) global { ptr addrspace(1) } { ptr addrspace(1) getelementptr inbounds inrange(-16, 8) ({ [3 x ptr addrspace(1)] }, ptr addrspace(1) @_ZTV1B, i32 0, i32 0, i32 2) }, align 8
@@ -118,11 +118,11 @@ const B& f(A *a) {
118118
// WITH-NONZERO-DEFAULT-AS: attributes #[[ATTR3]] = { nounwind }
119119
// WITH-NONZERO-DEFAULT-AS: attributes #[[ATTR4]] = { noreturn }
120120
//.
121-
// CHECK: [[META0:![0-9]+]] = !{i32 1, !"amdhsa_code_object_version", i32 500}
121+
// CHECK: [[META0:![0-9]+]] = !{i32 1, !"amdhsa_code_object_version", i32 600}
122122
// CHECK: [[META1:![0-9]+]] = !{i32 1, !"wchar_size", i32 4}
123123
// CHECK: [[META2:![0-9]+]] = !{!"{{.*}}clang version {{.*}}"}
124124
//.
125-
// WITH-NONZERO-DEFAULT-AS: [[META0:![0-9]+]] = !{i32 1, !"amdhsa_code_object_version", i32 500}
125+
// WITH-NONZERO-DEFAULT-AS: [[META0:![0-9]+]] = !{i32 1, !"amdhsa_code_object_version", i32 600}
126126
// WITH-NONZERO-DEFAULT-AS: [[META1:![0-9]+]] = !{i32 1, !"wchar_size", i32 4}
127127
// WITH-NONZERO-DEFAULT-AS: [[META2:![0-9]+]] = !{!"{{.*}}clang version {{.*}}"}
128128
//.

clang/test/CodeGenHIP/default-attributes.hip

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
//.
99
// OPTNONE: @__hip_cuid_ = addrspace(1) global i8 0
1010
// OPTNONE: @llvm.compiler.used = appending addrspace(1) global [1 x ptr] [ptr addrspacecast (ptr addrspace(1) @__hip_cuid_ to ptr)], section "llvm.metadata"
11-
// OPTNONE: @__oclc_ABI_version = weak_odr hidden local_unnamed_addr addrspace(4) constant i32 500
11+
// OPTNONE: @__oclc_ABI_version = weak_odr hidden local_unnamed_addr addrspace(4) constant i32 600
1212
//.
1313
__device__ void extern_func();
1414

@@ -39,7 +39,7 @@ __global__ void kernel() {
3939
// OPTNONE: attributes #[[ATTR2]] = { convergent mustprogress noinline norecurse nounwind optnone "amdgpu-flat-work-group-size"="1,1024" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "uniform-work-group-size"="true" }
4040
// OPTNONE: attributes #[[ATTR3]] = { convergent nounwind }
4141
//.
42-
// OPTNONE: [[META0:![0-9]+]] = !{i32 1, !"amdhsa_code_object_version", i32 500}
42+
// OPTNONE: [[META0:![0-9]+]] = !{i32 1, !"amdhsa_code_object_version", i32 600}
4343
// OPTNONE: [[META1:![0-9]+]] = !{i32 1, !"amdgpu_printf_kind", !"hostcall"}
4444
// OPTNONE: [[META2:![0-9]+]] = !{i32 1, !"wchar_size", i32 4}
4545
//.

clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ kernel void test_target_features_kernel(global int *i) {
6262

6363
//.
6464
// CHECK: @__block_literal_global = internal addrspace(1) constant { i32, i32, ptr } { i32 16, i32 8, ptr @__test_target_features_kernel_block_invoke }, align 8 #0
65-
// CHECK: @__oclc_ABI_version = weak_odr hidden local_unnamed_addr addrspace(4) constant i32 500
65+
// CHECK: @__oclc_ABI_version = weak_odr hidden local_unnamed_addr addrspace(4) constant i32 600
6666
//.
6767
// NOCPU: Function Attrs: convergent noinline norecurse nounwind optnone
6868
// NOCPU-LABEL: define {{[^@]+}}@callee
@@ -704,7 +704,7 @@ kernel void test_target_features_kernel(global int *i) {
704704
// GFX900: attributes #[[ATTR8]] = { nounwind }
705705
// GFX900: attributes #[[ATTR9]] = { convergent nounwind }
706706
//.
707-
// NOCPU: [[META0:![0-9]+]] = !{i32 1, !"amdhsa_code_object_version", i32 500}
707+
// NOCPU: [[META0:![0-9]+]] = !{i32 1, !"amdhsa_code_object_version", i32 600}
708708
// NOCPU: [[META1:![0-9]+]] = !{i32 1, !"wchar_size", i32 4}
709709
// NOCPU: [[META2:![0-9]+]] = !{i32 2, i32 0}
710710
// NOCPU: [[META3]] = !{i32 1, i32 0, i32 1, i32 0}
@@ -722,7 +722,7 @@ kernel void test_target_features_kernel(global int *i) {
722722
// NOCPU: [[META15]] = !{i32 1}
723723
// NOCPU: [[META16]] = !{!"int*"}
724724
//.
725-
// GFX900: [[META0:![0-9]+]] = !{i32 1, !"amdhsa_code_object_version", i32 500}
725+
// GFX900: [[META0:![0-9]+]] = !{i32 1, !"amdhsa_code_object_version", i32 600}
726726
// GFX900: [[META1:![0-9]+]] = !{i32 1, !"wchar_size", i32 4}
727727
// GFX900: [[META2:![0-9]+]] = !{i32 2, i32 0}
728728
// GFX900: [[TBAA3]] = !{[[META4:![0-9]+]], [[META4]], i64 0}

clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc

Whitespace-only changes.

0 commit comments

Comments
 (0)