[PATCH] D150438: [LLVM][Uniformity] Improve detection of uniform registers

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 12 07:18:08 PDT 2023


arsenm added inline comments.


================
Comment at: llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp:2879
+  // if available.
+  auto *RC = MRI.getRegClassOrNull(Reg);
+  if (!RC)
----------------
Can combine these two queries into getRegClassOrRegBank


================
Comment at: llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp:2891
+  // work, but it is usually safe to assume a uniform SGPR at this point.
+  auto RegType = MRI.getType(Reg);
+  if (!RegType.isValid())
----------------
Just use LLT instead of auto, it's even shorter 


================
Comment at: llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp:2892-2893
+  auto RegType = MRI.getType(Reg);
+  if (!RegType.isValid())
+    return true;
+
----------------
You should just be able to do equality without pre-checking for a valid type. Just MRI.getType() != LLT::scalar(1) should be enough 


================
Comment at: llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp:2895
+
+  assert(RegType.isScalar() && "non-scalar types are divergent");
+  return RegType != LLT::scalar(1);
----------------
Don't see why this needs to be an assert, equality with s1 should be adequate 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D150438



More information about the llvm-commits mailing list