[llvm] [RISCV][GISel] Port TrailingOnesMask PatLeaf. (PR #119427)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 10 16:23:57 PST 2024


================
@@ -489,7 +491,17 @@ def TrailingOnesMask : PatLeaf<(imm), [{
   if (!N->hasOneUse())
     return false;
   return !isInt<12>(N->getSExtValue()) && isMask_64(N->getZExtValue());
-}], XLenSubTrailingOnes>;
+}], XLenSubTrailingOnes> {
+  let GISelPredicateCode = [{
+    if (!MRI.hasOneNonDBGUse(MI.getOperand(0).getReg()))
+      return false;
+    const auto &MO = MI.getOperand(1);
+    if (!MO.isCImm())
+      return false;
----------------
arsenm wrote:

This is invalid MIR, don't need type check 

https://github.com/llvm/llvm-project/pull/119427


More information about the llvm-commits mailing list