================ @@ -0,0 +1,26 @@ +; Verify that when passing in command-line options to NVVMReflect, that reflect calls are replaced with +; the appropriate command line values. + +declare i32 @__nvvm_reflect(ptr) +@ftz = private unnamed_addr addrspace(1) constant [11 x i8] c"__CUDA_FTZ\00" +@arch = private unnamed_addr addrspace(1) constant [12 x i8] c"__CUDA_ARCH\00" + +; RUN: opt -passes=nvvm-reflect -mtriple=nvptx-nvidia-cuda -nvvm-reflect-add __CUDA_FTZ=1 -nvvm-reflect-add __CUDA_ARCH=350 %s -S | FileCheck %s --check-prefix=CHECK-FTZ1-ARCH350 +; RUN: opt -passes=nvvm-reflect -mtriple=nvptx-nvidia-cuda -nvvm-reflect-add __CUDA_FTZ=0 -nvvm-reflect-add __CUDA_ARCH=520 %s -S | FileCheck %s --check-prefix=CHECK-FTZ0-ARCH520 + +; Verify that if we have module metadata that sets __CUDA_FTZ=1, that gets overridden by the command line arguments + +; RUN: cat %s > %t.options +; RUN: echo '!llvm.module.flags = !{!0}' >> %t.options +; RUN: echo '!0 = !{i32 4, !"nvvm-reflect-ftz", i32 1}' >> %t.options +; RUN: opt -passes=nvvm-reflect -mtriple=nvptx-nvidia-cuda -nvvm-reflect-add __CUDA_FTZ=0 -nvvm-reflect-add __CUDA_ARCH=520 %t.options -S | FileCheck %s --check-prefix=CHECK-FTZ0-ARCH520 ---------------- Artem-B wrote:
I'd move all RUN lines to the top of the file, and update the comments about construction of `%t.options` making it clear that it's the same test with module-scope options added. I.e. instead of just saying "Verify that options get overriden" rephrase it along the lines of "To test our ability to override module options, create a copy of this test file with module options appended." https://github.com/llvm/llvm-project/pull/134416 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits