Lines Matching refs:VRI
1099 ValueRotInfo &VRI = ValueRots[std::make_pair(BG.V, RLAmtKey)];
1100 VRI.V = BG.V;
1101 VRI.RLAmt = BG.RLAmt;
1102 VRI.Repl32 = BG.Repl32;
1103 VRI.NumGroups += 1;
1104 VRI.FirstGroupStartIdx = std::min(VRI.FirstGroupStartIdx, BG.StartIdx);
1275 for (ValueRotInfo &VRI : ValueRotsVec) {
1278 if (!Bits[i].hasValue() || Bits[i].getValue() != VRI.V)
1280 if (RLAmt[i] != VRI.RLAmt)
1289 bool NeedsRotate = VRI.RLAmt != 0;
1311 DEBUG(dbgs() << "\t\trotation groups for " << VRI.V.getNode() <<
1312 " RL: " << VRI.RLAmt << ":" <<
1314 " using rotates: " << VRI.NumGroups << "\n");
1316 if (NumAndInsts >= VRI.NumGroups)
1324 if (VRI.RLAmt) {
1326 { VRI.V, getI32Imm(VRI.RLAmt, dl), getI32Imm(0, dl),
1331 VRot = VRI.V;
1359 eraseMatchingBitGroups([VRI](const BitGroup &BG) {
1360 return BG.V == VRI.V && BG.RLAmt == VRI.RLAmt;
1379 ValueRotInfo &VRI = ValueRotsVec[0];
1380 if (VRI.RLAmt) {
1383 { VRI.V, getI32Imm(VRI.RLAmt, dl), getI32Imm(0, dl),
1388 Res = VRI.V;
1392 eraseMatchingBitGroups([VRI](const BitGroup &BG) {
1393 return BG.V == VRI.V && BG.RLAmt == VRI.RLAmt;
1588 for (ValueRotInfo &VRI : ValueRotsVec) {
1596 auto MatchingBG = [VRI](const BitGroup &BG) {
1597 if (VRI.V != BG.V)
1601 if (!VRI.Repl32 && BG.Repl32) {
1609 } else if (VRI.Repl32 != BG.Repl32) {
1613 return VRI.RLAmt == EffRLAmt;
1639 bool NeedsRotate = VRI.RLAmt || (VRI.Repl32 && !isUInt<32>(Mask));
1660 DEBUG(dbgs() << "\t\trotation groups for " << VRI.V.getNode() <<
1661 " RL: " << VRI.RLAmt << (VRI.Repl32 ? " (32):" : ":") <<
1683 if (VRI.RLAmt || (VRI.Repl32 && !isUInt<32>(Mask)))
1684 VRot = SelectRotMask64(VRI.V, dl, VRI.RLAmt, VRI.Repl32,
1685 VRI.Repl32 ? 31 : 0, VRI.Repl32 ? 30 : 63);
1687 VRot = VRI.V;
1743 // groups will come first, and so the VRI representing the largest number
1755 ValueRotInfo &VRI = ValueRotsVec[MaxGroupsIdx];
1757 if (VRI.RLAmt) {
1759 } else if (VRI.Repl32) {
1761 if (BG.V != VRI.V || BG.RLAmt != VRI.RLAmt ||
1762 BG.Repl32 != VRI.Repl32)
1776 Res = SelectRotMask64(VRI.V, dl, VRI.RLAmt, VRI.Repl32,
1777 VRI.Repl32 ? 31 : 0, VRI.Repl32 ? 30 : 63,
1780 Res = VRI.V;
1784 eraseMatchingBitGroups([VRI](const BitGroup &BG) {
1785 return BG.V == VRI.V && BG.RLAmt == VRI.RLAmt &&
1786 BG.Repl32 == VRI.Repl32;