Lines Matching defs:VRI
1946 ValueRotInfo &VRI = ValueRots[std::make_pair(BG.V, RLAmtKey)];
1947 VRI.V = BG.V;
1948 VRI.RLAmt = BG.RLAmt;
1949 VRI.Repl32 = BG.Repl32;
1950 VRI.NumGroups += 1;
1951 VRI.FirstGroupStartIdx = std::min(VRI.FirstGroupStartIdx, BG.StartIdx);
2165 for (ValueRotInfo &VRI : ValueRotsVec) {
2168 if (!Bits[i].hasValue() || Bits[i].getValue() != VRI.V)
2170 if (RLAmt[i] != VRI.RLAmt)
2179 bool NeedsRotate = VRI.RLAmt != 0;
2201 LLVM_DEBUG(dbgs() << "\t\trotation groups for " << VRI.V.getNode()
2202 << " RL: " << VRI.RLAmt << ":"
2204 << " using rotates: " << VRI.NumGroups << "\n");
2206 if (NumAndInsts >= VRI.NumGroups)
2214 if (VRI.RLAmt) {
2216 { TruncateToInt32(VRI.V, dl), getI32Imm(VRI.RLAmt, dl),
2221 VRot = TruncateToInt32(VRI.V, dl);
2252 eraseMatchingBitGroups([VRI](const BitGroup &BG) {
2253 return BG.V == VRI.V && BG.RLAmt == VRI.RLAmt;
2272 ValueRotInfo &VRI = ValueRotsVec[0];
2273 if (VRI.RLAmt) {
2276 { TruncateToInt32(VRI.V, dl), getI32Imm(VRI.RLAmt, dl),
2281 Res = TruncateToInt32(VRI.V, dl);
2285 eraseMatchingBitGroups([VRI](const BitGroup &BG) {
2286 return BG.V == VRI.V && BG.RLAmt == VRI.RLAmt;
2488 for (ValueRotInfo &VRI : ValueRotsVec) {
2496 auto MatchingBG = [VRI](const BitGroup &BG) {
2497 if (VRI.V != BG.V)
2501 if (!VRI.Repl32 && BG.Repl32) {
2509 } else if (VRI.Repl32 != BG.Repl32) {
2513 return VRI.RLAmt == EffRLAmt;
2539 bool NeedsRotate = VRI.RLAmt || (VRI.Repl32 && !isUInt<32>(Mask));
2566 LLVM_DEBUG(dbgs() << "\t\trotation groups for " << VRI.V.getNode()
2567 << " RL: " << VRI.RLAmt << (VRI.Repl32 ? " (32):" : ":")
2592 if (VRI.RLAmt || (VRI.Repl32 && !isUInt<32>(Mask)))
2593 VRot = SelectRotMask64(VRI.V, dl, VRI.RLAmt, VRI.Repl32,
2594 VRI.Repl32 ? 31 : 0, VRI.Repl32 ? 30 : 63);
2596 VRot = VRI.V;
2659 // groups will come first, and so the VRI representing the largest number
2671 ValueRotInfo &VRI = ValueRotsVec[MaxGroupsIdx];
2673 if (VRI.RLAmt) {
2675 } else if (VRI.Repl32) {
2677 if (BG.V != VRI.V || BG.RLAmt != VRI.RLAmt ||
2678 BG.Repl32 != VRI.Repl32)
2692 Res = SelectRotMask64(VRI.V, dl, VRI.RLAmt, VRI.Repl32,
2693 VRI.Repl32 ? 31 : 0, VRI.Repl32 ? 30 : 63,
2696 Res = VRI.V;
2700 eraseMatchingBitGroups([VRI](const BitGroup &BG) {
2701 return BG.V == VRI.V && BG.RLAmt == VRI.RLAmt &&
2702 BG.Repl32 == VRI.Repl32;