forked from OSchip/llvm-project
[OpenCL] Fix SPIR version generation.
Patch by Egor Churaev (echuraev). Reviewers: Anastasia Subscribers: bader, yaxunl, cfe-commits Differential Revision: https://reviews.llvm.org/D27300 llvm-svn: 288890
This commit is contained in:
parent
02bb6a6b0b
commit
b3190829e5
|
@ -7801,8 +7801,10 @@ void SPIRTargetCodeGenInfo::emitTargetMD(const Decl *D, llvm::GlobalValue *GV,
|
|||
// SPIR v2.0 s2.12 - The SPIR version used by the module is stored in the
|
||||
// opencl.spir.version named metadata.
|
||||
llvm::Metadata *SPIRVerElts[] = {
|
||||
llvm::ConstantAsMetadata::get(llvm::ConstantInt::get(Int32Ty, 2)),
|
||||
llvm::ConstantAsMetadata::get(llvm::ConstantInt::get(Int32Ty, 0))};
|
||||
llvm::ConstantAsMetadata::get(
|
||||
llvm::ConstantInt::get(Int32Ty, CGM.getLangOpts().OpenCLVersion / 100)),
|
||||
llvm::ConstantAsMetadata::get(llvm::ConstantInt::get(
|
||||
Int32Ty, (CGM.getLangOpts().OpenCLVersion / 100 > 1) ? 0 : 2))};
|
||||
llvm::NamedMDNode *SPIRVerMD =
|
||||
M.getOrInsertNamedMetadata("opencl.spir.version");
|
||||
SPIRVerMD->addOperand(llvm::MDNode::get(Ctx, SPIRVerElts));
|
||||
|
|
|
@ -13,19 +13,22 @@ kernel void foo() {}
|
|||
|
||||
// CHECK-SPIR-CL10: !opencl.spir.version = !{[[SPIR:![0-9]+]]}
|
||||
// CHECK-SPIR-CL10: !opencl.ocl.version = !{[[OCL:![0-9]+]]}
|
||||
// CHECK-SPIR-CL10: [[SPIR]] = !{i32 2, i32 0}
|
||||
// CHECK-SPIR-CL10: [[SPIR]] = !{i32 1, i32 2}
|
||||
// CHECK-SPIR-CL10: [[OCL]] = !{i32 1, i32 0}
|
||||
// CHECK-SPIR-CL12: !opencl.spir.version = !{[[SPIR:![0-9]+]]}
|
||||
// CHECK-SPIR-CL12: !opencl.ocl.version = !{[[OCL:![0-9]+]]}
|
||||
// CHECK-SPIR-CL12: [[SPIR]] = !{i32 2, i32 0}
|
||||
// CHECK-SPIR-CL12: [[OCL]] = !{i32 1, i32 2}
|
||||
// CHECK-SPIR-CL20: !opencl.spir.version = !{[[SPIR:![0-9]+]]}
|
||||
// CHECK-SPIR-CL20: !opencl.ocl.version = !{[[SPIR:![0-9]+]]}
|
||||
// CHECK-SPIR-CL20: [[SPIR]] = !{i32 2, i32 0}
|
||||
// CHECK-SPIR-CL12: !opencl.spir.version = !{[[VER:![0-9]+]]}
|
||||
// CHECK-SPIR-CL12: !opencl.ocl.version = !{[[VER]]}
|
||||
// CHECK-SPIR-CL12: [[VER]] = !{i32 1, i32 2}
|
||||
|
||||
// CHECK-SPIR-CL20: !opencl.spir.version = !{[[VER:![0-9]+]]}
|
||||
// CHECK-SPIR-CL20: !opencl.ocl.version = !{[[VER]]}
|
||||
// CHECK-SPIR-CL20: [[VER]] = !{i32 2, i32 0}
|
||||
|
||||
// CHECK-AMDGCN-CL10-NOT: !opencl.spir.version
|
||||
// CHECK-AMDGCN-CL10: !opencl.ocl.version = !{[[OCL:![0-9]+]]}
|
||||
// CHECK-AMDGCN-CL10: [[OCL]] = !{i32 1, i32 0}
|
||||
// CHECK-AMDGCN-CL12-NOT: !opencl.spir.version
|
||||
// CHECK-AMDGCN-CL12: !opencl.ocl.version = !{[[OCL:![0-9]+]]}
|
||||
// CHECK-AMDGCN-CL12: [[OCL]] = !{i32 1, i32 2}
|
||||
// CHECK-AMDGCN-CL20-NOT: !opencl.spir.version
|
||||
// CHECK-AMDGCN-CL20: !opencl.ocl.version = !{[[OCL:![0-9]+]]}
|
||||
// CHECK-AMDGCN-CL20: [[OCL]] = !{i32 2, i32 0}
|
||||
// CHECK-AMDGCN-CL20: [[OCL]] = !{i32 2, i32 0}
|
||||
|
|
Loading…
Reference in New Issue