[Mlir-commits] [mlir] [MLIR][NVVM] Declare InferIntRangeInterface for RangeableRegisterOp (PR #122263)
Durgadoss R
llvmlistbot at llvm.org
Thu Jan 9 06:22:48 PST 2025
================
@@ -0,0 +1,28 @@
+// RUN: mlir-opt -int-range-optimizations -canonicalize %s | FileCheck %s
+gpu.module @module{
+ gpu.func @kernel_1() kernel {
+ %tidx = nvvm.read.ptx.sreg.tid.x range <i32, 0, 32> : i32
+ %tidy = nvvm.read.ptx.sreg.tid.y range <i32, 0, 128> : i32
+ %tidz = nvvm.read.ptx.sreg.tid.z range <i32, 0, 4> : i32
+ %c64 = arith.constant 64 : i32
+
+ %1 = arith.cmpi sgt, %tidx, %c64 : i32
+ scf.if %1 {
+ gpu.printf "threadidx"
+ }
+ %2 = arith.cmpi sgt, %tidy, %c64 : i32
+ scf.if %2 {
+ gpu.printf "threadidy"
+ }
+ %3 = arith.cmpi sgt, %tidz, %c64 : i32
+ scf.if %3 {
+ gpu.printf "threadidz"
+ }
+ gpu.return
+ }
+}
+
----------------
durga4github wrote:
Changes LGTM.
For my understanding,
Without the "int-range-opts" in the cmd-line, will all three "gpu.printf"s be present?
https://github.com/llvm/llvm-project/pull/122263
More information about the Mlir-commits
mailing list