Lines Matching refs:VRI
1782 ValueRotInfo &VRI = ValueRots[std::make_pair(BG.V, RLAmtKey)]; in collectValueRotInfo() local
1783 VRI.V = BG.V; in collectValueRotInfo()
1784 VRI.RLAmt = BG.RLAmt; in collectValueRotInfo()
1785 VRI.Repl32 = BG.Repl32; in collectValueRotInfo()
1786 VRI.NumGroups += 1; in collectValueRotInfo()
1787 VRI.FirstGroupStartIdx = std::min(VRI.FirstGroupStartIdx, BG.StartIdx); in collectValueRotInfo()
2001 for (ValueRotInfo &VRI : ValueRotsVec) { in SelectAndParts32()
2004 if (!Bits[i].hasValue() || Bits[i].getValue() != VRI.V) in SelectAndParts32()
2006 if (RLAmt[i] != VRI.RLAmt) in SelectAndParts32()
2015 bool NeedsRotate = VRI.RLAmt != 0; in SelectAndParts32()
2037 LLVM_DEBUG(dbgs() << "\t\trotation groups for " << VRI.V.getNode() in SelectAndParts32()
2038 << " RL: " << VRI.RLAmt << ":" in SelectAndParts32()
2040 << " using rotates: " << VRI.NumGroups << "\n"); in SelectAndParts32()
2042 if (NumAndInsts >= VRI.NumGroups) in SelectAndParts32()
2050 if (VRI.RLAmt) { in SelectAndParts32()
2052 { TruncateToInt32(VRI.V, dl), getI32Imm(VRI.RLAmt, dl), in SelectAndParts32()
2057 VRot = TruncateToInt32(VRI.V, dl); in SelectAndParts32()
2088 eraseMatchingBitGroups([VRI](const BitGroup &BG) { in SelectAndParts32()
2089 return BG.V == VRI.V && BG.RLAmt == VRI.RLAmt; in SelectAndParts32()
2108 ValueRotInfo &VRI = ValueRotsVec[0]; in Select32() local
2109 if (VRI.RLAmt) { in Select32()
2112 { TruncateToInt32(VRI.V, dl), getI32Imm(VRI.RLAmt, dl), in Select32()
2117 Res = TruncateToInt32(VRI.V, dl); in Select32()
2121 eraseMatchingBitGroups([VRI](const BitGroup &BG) { in Select32()
2122 return BG.V == VRI.V && BG.RLAmt == VRI.RLAmt; in Select32()
2324 for (ValueRotInfo &VRI : ValueRotsVec) { in SelectAndParts64()
2332 auto MatchingBG = [VRI](const BitGroup &BG) { in SelectAndParts64()
2333 if (VRI.V != BG.V) in SelectAndParts64()
2337 if (!VRI.Repl32 && BG.Repl32) { in SelectAndParts64()
2345 } else if (VRI.Repl32 != BG.Repl32) { in SelectAndParts64()
2349 return VRI.RLAmt == EffRLAmt; in SelectAndParts64()
2375 bool NeedsRotate = VRI.RLAmt || (VRI.Repl32 && !isUInt<32>(Mask)); in SelectAndParts64()
2402 LLVM_DEBUG(dbgs() << "\t\trotation groups for " << VRI.V.getNode() in SelectAndParts64()
2403 << " RL: " << VRI.RLAmt << (VRI.Repl32 ? " (32):" : ":") in SelectAndParts64()
2428 if (VRI.RLAmt || (VRI.Repl32 && !isUInt<32>(Mask))) in SelectAndParts64()
2429 VRot = SelectRotMask64(VRI.V, dl, VRI.RLAmt, VRI.Repl32, in SelectAndParts64()
2430 VRI.Repl32 ? 31 : 0, VRI.Repl32 ? 30 : 63); in SelectAndParts64()
2432 VRot = VRI.V; in SelectAndParts64()
2507 ValueRotInfo &VRI = ValueRotsVec[MaxGroupsIdx]; in Select64() local
2509 if (VRI.RLAmt) { in Select64()
2511 } else if (VRI.Repl32) { in Select64()
2513 if (BG.V != VRI.V || BG.RLAmt != VRI.RLAmt || in Select64()
2514 BG.Repl32 != VRI.Repl32) in Select64()
2528 Res = SelectRotMask64(VRI.V, dl, VRI.RLAmt, VRI.Repl32, in Select64()
2529 VRI.Repl32 ? 31 : 0, VRI.Repl32 ? 30 : 63, in Select64()
2532 Res = VRI.V; in Select64()
2536 eraseMatchingBitGroups([VRI](const BitGroup &BG) { in Select64()
2537 return BG.V == VRI.V && BG.RLAmt == VRI.RLAmt && in Select64()
2538 BG.Repl32 == VRI.Repl32; in Select64()