diff options
author | Shangwu Yao <shangwuyao@gmail.com> | 2022-04-04 16:52:46 +0000 |
---|---|---|
committer | Shangwu Yao <shangwuyao@gmail.com> | 2022-04-05 20:58:32 +0000 |
commit | 15a1769631ff0b2b3e830b03e51ae5f54f08a0ab (patch) | |
tree | 2ef502a476fab90ed3e3a8c0e822585529bdb277 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 1acba8a4b5d7bbebf296fc2b154bf9dfb837db52 (diff) | |
download | llvm-15a1769631ff0b2b3e830b03e51ae5f54f08a0ab.zip llvm-15a1769631ff0b2b3e830b03e51ae5f54f08a0ab.tar.gz llvm-15a1769631ff0b2b3e830b03e51ae5f54f08a0ab.tar.bz2 |
Emit OpenCL metadata when targeting SPIR-V
This is required for converting function calls such as get_global_id()
into SPIR-V builtins.
Differential Revision: https://reviews.llvm.org/D123049
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 91adacd..f586f8d 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -3328,6 +3328,10 @@ void CompilerInvocation::setLangDefaults(LangOptions &Opts, InputKind IK, // whereas respecting contract flag in backend. Opts.setDefaultFPContractMode(LangOptions::FPM_FastHonorPragmas); } else if (Opts.CUDA) { + if (T.isSPIRV()) { + // Emit OpenCL version metadata in LLVM IR when targeting SPIR-V. + Opts.OpenCLVersion = 200; + } // Allow fuse across statements disregarding pragmas. Opts.setDefaultFPContractMode(LangOptions::FPM_Fast); } |