• Home
  • Raw
  • Download

Lines Matching refs:VRI

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