Lines Matching defs:UserOffset
256 int findInRangeCPEntry(CPUser& U, unsigned UserOffset);
257 bool findAvailableWater(CPUser&U, unsigned UserOffset,
259 void createNewWater(unsigned CPUserIndex, unsigned UserOffset,
264 bool isCPEntryInRange(MachineInstr *MI, unsigned UserOffset,
267 bool isWaterInRange(unsigned UserOffset, MachineBasicBlock *Water,
287 bool isOffsetInRange(unsigned UserOffset, unsigned TrialOffset,
289 bool isOffsetInRange(unsigned UserOffset, unsigned TrialOffset,
291 return isOffsetInRange(UserOffset, TrialOffset,
311 unsigned UserOffset = getUserOffset(U);
314 if (isCPEntryInRange(U.MI, UserOffset, U.CPEMI, U.getMaxDisp()+2, U.NegOk,
1080 unsigned UserOffset = BBUtils->getOffsetOf(U.MI);
1087 UserOffset += (isThumb ? 4 : 8);
1097 UserOffset &= ~3u;
1099 return UserOffset;
1102 /// isOffsetInRange - Checks whether UserOffset (the location of a constant pool
1105 /// UserOffset is computed by getUserOffset above to include PC adjustments. If
1106 /// the mod 4 alignment of UserOffset is not known, the uncertainty must be
1108 bool ARMConstantIslands::isOffsetInRange(unsigned UserOffset,
1111 if (UserOffset <= TrialOffset) {
1113 if (TrialOffset - UserOffset <= MaxDisp)
1117 if (UserOffset - TrialOffset <= MaxDisp)
1128 bool ARMConstantIslands::isWaterInRange(unsigned UserOffset,
1158 if (CPEOffset < UserOffset)
1159 UserOffset += Growth + UnknownPadding(MF->getAlignment(), Log2(CPEAlign));
1164 return isOffsetInRange(UserOffset, CPEOffset, U);
1169 bool ARMConstantIslands::isCPEntryInRange(MachineInstr *MI, unsigned UserOffset,
1181 << format(" insn address=%#x", UserOffset) << " in "
1185 int(CPEOffset - UserOffset));
1189 return isOffsetInRange(UserOffset, CPEOffset, MaxDisp, NegOk);
1240 int ARMConstantIslands::findInRangeCPEntry(CPUser& U, unsigned UserOffset) {
1245 if (isCPEntryInRange(UserMI, UserOffset, CPEMI, U.getMaxDisp(), U.NegOk,
1261 if (isCPEntryInRange(UserMI, UserOffset, CPE.CPEMI, U.getMaxDisp(),
1306 bool ARMConstantIslands::findAvailableWater(CPUser &U, unsigned UserOffset,
1327 BBInfo[UserBB->getNumber()].postOffset(CPEAlign) - UserOffset;
1344 if (isWaterInRange(UserOffset, WaterBB, U, Growth) &&
1375 unsigned UserOffset,
1395 if (isOffsetInRange(UserOffset, CPEOffset, U)) {
1439 unsigned BaseInsertOffset = UserOffset + U.getMaxDisp() - UPad;
1462 UserOffset + TII->getInstSizeInBytes(*UserMI) + 1);
1463 // If the CP is referenced(ie, UserOffset) is in first four instructions
1468 // 1. The initial BaseseInsertOffset calculated is (UserOffset +
1477 for (unsigned Offset = UserOffset + TII->getInstSizeInBytes(*UserMI);
1494 for (unsigned Offset = UserOffset + TII->getInstSizeInBytes(*UserMI);
1564 unsigned UserOffset = getUserOffset(U);
1568 int result = findInRangeCPEntry(U, UserOffset);
1580 if (findAvailableWater(U, UserOffset, IP, CloserWater)) {
1595 createNewWater(CPUserIndex, UserOffset, NewMBB);
1875 unsigned UserOffset = getUserOffset(U);
1883 if (isCPEntryInRange(U.MI, UserOffset, U.CPEMI, MaxOffs, false, true)) {