Skip to content

Commit f5444f3

Browse files
committed
fix command line options
1 parent d9a0ec6 commit f5444f3

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

llvm/lib/Target/NVPTX/NVVMReflect.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,18 +86,13 @@ INITIALIZE_PASS(NVVMReflect, "nvvm-reflect",
8686
// are the last to be added to the VarMap, and therefore will take precedence over initial
8787
// values (i.e. __CUDA_FTZ from module medadata and __CUDA_ARCH from SmVersion).
8888
static cl::list<std::string>
89-
ReflectList("nvvm-reflect-list", cl::value_desc("name=<int>"), cl::Hidden,
90-
cl::CommaSeparated,
91-
cl::desc("list of comma-separated key=value pairs"),
89+
ReflectList("nvvm-reflect-add", cl::value_desc("name=<int>"), cl::Hidden,
90+
cl::desc("A key=value pair. Replace __nvvm_reflect(name) with value."),
9291
cl::ValueRequired);
9392

9493
// Set the VarMap with, first, the value of __CUDA_FTZ from module metadata, and then
9594
// the key/value pairs from the command line.
9695
void NVVMReflect::setVarMap(Module &M) {
97-
LLVM_DEBUG(dbgs() << "Reflect list values:\n");
98-
for (StringRef Option : ReflectList) {
99-
LLVM_DEBUG(dbgs() << " " << Option << "\n");
100-
}
10196
if (auto *Flag = mdconst::extract_or_null<ConstantInt>(
10297
M.getModuleFlag("nvvm-reflect-ftz")))
10398
VarMap["__CUDA_FTZ"] = Flag->getSExtValue();

llvm/test/CodeGen/NVPTX/nvvm-reflect-options.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ declare i32 @__nvvm_reflect(ptr)
55
@ftz = private unnamed_addr addrspace(1) constant [11 x i8] c"__CUDA_FTZ\00"
66
@arch = private unnamed_addr addrspace(1) constant [12 x i8] c"__CUDA_ARCH\00"
77

8-
; RUN: opt -passes=nvvm-reflect -mtriple=nvptx-nvidia-cuda -nvvm-reflect-list=__CUDA_FTZ=1,__CUDA_ARCH=350 %s -S | FileCheck %s --check-prefix=CHECK-FTZ1-ARCH350
9-
; RUN: opt -passes=nvvm-reflect -mtriple=nvptx-nvidia-cuda -nvvm-reflect-list=__CUDA_FTZ=0 -nvvm-reflect-list=__CUDA_ARCH=520 %s -S | FileCheck %s --check-prefix=CHECK-FTZ0-ARCH520
8+
; 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
9+
; 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
1010

1111
; Verify that if we have module metadata that sets __CUDA_FTZ=1, that gets overridden by the command line arguments
1212

1313
; RUN: cat %s > %t.options
1414
; RUN: echo '!llvm.module.flags = !{!0}' >> %t.options
1515
; RUN: echo '!0 = !{i32 4, !"nvvm-reflect-ftz", i32 1}' >> %t.options
16-
; RUN: opt -passes=nvvm-reflect -mtriple=nvptx-nvidia-cuda -nvvm-reflect-list=__CUDA_FTZ=0,__CUDA_ARCH=520 %t.options -S | FileCheck %s --check-prefix=CHECK-FTZ0-ARCH520
16+
; 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
1717

1818
define i32 @options() {
1919
%1 = call i32 @__nvvm_reflect(ptr addrspacecast (ptr addrspace(1) @ftz to ptr))

0 commit comments

Comments
 (0)