xref: /llvm-project/clang/test/CodeGenCUDA/amdgpu-code-object-version.cu (revision 4490003a22658dcd12527029b2c8682b63d8a9d6)
1 // Create module flag for code object version.
2 
3 // RUN: %clang_cc1 -fcuda-is-device -triple amdgcn-amd-amdhsa -emit-llvm \
4 // RUN:   -o - %s | FileCheck %s -check-prefix=V5
5 
6 // RUN: %clang_cc1 -fcuda-is-device -triple amdgcn-amd-amdhsa -emit-llvm \
7 // RUN:   -mcode-object-version=4 -o - %s | FileCheck -check-prefix=V4 %s
8 
9 // RUN: %clang_cc1 -fcuda-is-device -triple amdgcn-amd-amdhsa -emit-llvm \
10 // RUN:   -mcode-object-version=5 -o - %s | FileCheck -check-prefix=V5 %s
11 
12 // RUN: %clang_cc1 -fcuda-is-device -triple amdgcn-amd-amdhsa -emit-llvm \
13 // RUN:   -mcode-object-version=6 -o - %s | FileCheck -check-prefix=V6 %s
14 
15 // RUN: %clang_cc1 -fcuda-is-device -triple amdgcn-amd-amdhsa -emit-llvm \
16 // RUN:   -mcode-object-version=none -o - %s | FileCheck %s -check-prefix=NONE
17 
18 // RUN: not %clang_cc1 -fcuda-is-device -triple amdgcn-amd-amdhsa -emit-llvm \
19 // RUN:   -mcode-object-version=4.1 -o - %s 2>&1| FileCheck %s -check-prefix=INV
20 
21 // V4: !{{.*}} = !{i32 1, !"amdhsa_code_object_version", i32 400}
22 // V5: !{{.*}} = !{i32 1, !"amdhsa_code_object_version", i32 500}
23 // V6: !{{.*}} = !{i32 1, !"amdhsa_code_object_version", i32 600}
24 // NONE-NOT: !{{.*}} = !{i32 1, !"amdhsa_code_object_version",
25 // INV: error: invalid value '4.1' in '-mcode-object-version=4.1'
26