[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()) {
+ unsigned Amt = MaybeAmtOp.value().urem(BitWidth);
----------------
arsenm wrote:
```suggestion
unsigned Amt = MaybeAmtOp->urem(BitWidth);
```
https://github.com/llvm/llvm-project/pull/166365
More information about the llvm-commits
mailing list