[PATCH] D111500: [InstSimplify] Simplify intrinsic comparisons with domain knoweldge

Joseph Huber via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 11 12:13:08 PDT 2021


jhuber6 added inline comments.


================
Comment at: llvm/lib/Analysis/InstructionSimplify.cpp:609
+  // fold %cmp = icmp slt i32 %tid, %ntid to true.
+  if (Inst0->getIntrinsicID() == Intrinsic::nvvm_read_ptx_sreg_tid_x &&
+      Inst1->getIntrinsicID() == Intrinsic::nvvm_read_ptx_sreg_ntid_x)
----------------
tra wrote:
> What if LLVM has been compiled without NVPTX back-end? I'm not sure that NVVM intrinsics will be available then.
> 
> Perhaps we should re-visit enabling NVVMIntrRange.cpp pass, again. This should make it possible for LLVM to figure this optimization, and more.
Ranges would only give us an upper bound right? Maybe we could insert `llvm.assume` calls as wall as the ranges there, then . 


I think intrinsic functions are available, but I haven't checked. We use them in OpenMPOpt which is in the default pipeline and I haven't heard any complains so maybe it's probably fine.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111500/new/

https://reviews.llvm.org/D111500



More information about the llvm-commits mailing list