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