[llvm] [GlobalISel] add G_ROTL, G_ROTR to computeKnownBits (PR #166365)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 4 10:19:13 PST 2025


================
@@ -483,6 +483,27 @@ void GISelValueTracking::computeKnownBitsImpl(Register R, KnownBits &Known,
     Known = KnownBits::shl(LHSKnown, RHSKnown);
     break;
   }
+  case TargetOpcode::G_ROTL:
+  case TargetOpcode::G_ROTR: {
+    MachineInstr *AmtOpMI = MRI.getVRegDef(MI.getOperand(2).getReg());
+    if (!AmtOpMI)
+      break;
+    auto MaybeAmtOp = isConstantOrConstantSplatVector(*AmtOpMI, MRI);
+    if (MaybeAmtOp.has_value()) {
----------------
arsenm wrote:

```suggestion
    if (!MaybeAmtOp)
      break
```

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


More information about the llvm-commits mailing list