Lines Matching defs:CPEMI

131       MachineInstr *CPEMI;
140 : MI(mi), CPEMI(cpemi), MaxDisp(maxdisp), NegOk(neg), IsSoImm(soimm) {
141 HighWaterMark = CPEMI->getParent();
160 MachineInstr *CPEMI;
165 : CPEMI(cpemi), CPI(cpi), RefCount(rc) {}
175 /// contains jump tables. Use getCombinedIndex on a generic CPEMI to look up
249 CPEntry *findConstPoolEntry(unsigned CPI, const MachineInstr *CPEMI);
250 Align getCPEAlign(const MachineInstr *CPEMI);
255 bool decrementCPEReferenceCount(unsigned CPI, MachineInstr* CPEMI);
256 unsigned getCombinedIndex(const MachineInstr *CPEMI);
263 void removeDeadCPEMI(MachineInstr *CPEMI);
266 MachineInstr *CPEMI, unsigned Disp, bool NegOk,
315 if (isCPEntryInRange(U.MI, UserOffset, U.CPEMI, U.getMaxDisp()+2, U.NegOk,
511 if (CPE.CPEMI && CPE.CPEMI->getOperand(1).isCPI())
577 MachineInstr *CPEMI =
580 CPEMIs.push_back(CPEMI);
583 // CPEMI. This is bucket sort with iterators.
586 InsPoint[a] = CPEMI;
589 CPEntries.emplace_back(1, CPEntry(CPEMI, i));
660 MachineInstr *CPEMI = BuildMI(*JumpTableBB, JumpTableBB->begin(),
665 CPEMIs.push_back(CPEMI);
666 CPEntries.emplace_back(1, CPEntry(CPEMI, JTI));
702 const MachineInstr *CPEMI) {
707 if (CPE.CPEMI == CPEMI)
713 /// represented by CPEMI.
714 Align ARMConstantIslands::getCPEAlign(const MachineInstr *CPEMI) {
715 switch (CPEMI->getOpcode()) {
730 unsigned CPI = getCombinedIndex(CPEMI);
886 MachineInstr *CPEMI = CPEMIs[CPI];
887 const Align CPEAlign = getCPEAlign(CPEMI);
945 MachineInstr *CPEMI = CPEMIs[CPI];
947 CPUsers.push_back(CPUser(&I, CPEMI, MaxOffs, NegOk, IsSoImm));
950 CPEntry *CPE = findConstPoolEntry(CPI, CPEMI);
1127 const Align CPEAlign = getCPEAlign(U.CPEMI);
1138 unsigned Size = U.CPEMI->getOperand(2).getImm();
1165 MachineInstr *CPEMI, unsigned MaxDisp,
1167 unsigned CPEOffset = BBUtils->getOffsetOf(CPEMI);
1174 dbgs() << "User of CPE#" << CPEMI->getOperand(0).getImm()
1205 /// and instruction CPEMI, and decrement its refcount. If the refcount
1209 MachineInstr *CPEMI) {
1211 CPEntry *CPE = findConstPoolEntry(CPI, CPEMI);
1214 removeDeadCPEMI(CPEMI);
1215 CPE->CPEMI = nullptr;
1222 unsigned ARMConstantIslands::getCombinedIndex(const MachineInstr *CPEMI) {
1223 if (CPEMI->getOperand(1).isCPI())
1224 return CPEMI->getOperand(1).getIndex();
1226 return JumpTableEntryIndices[CPEMI->getOperand(1).getIndex()];
1237 MachineInstr *CPEMI = U.CPEMI;
1240 if (isCPEntryInRange(UserMI, UserOffset, CPEMI, U.getMaxDisp(), U.NegOk,
1247 unsigned CPI = getCombinedIndex(CPEMI);
1251 if (CPE.CPEMI == CPEMI)
1254 if (CPE.CPEMI == nullptr)
1256 if (isCPEntryInRange(UserMI, UserOffset, CPE.CPEMI, U.getMaxDisp(),
1261 U.CPEMI = CPE.CPEMI;
1272 return decrementCPEReferenceCount(CPI, CPEMI) ? 2 : 1;
1320 const Align CPEAlign = getCPEAlign(U.CPEMI);
1373 MachineInstr *CPEMI = U.CPEMI;
1374 const Align CPEAlign = getCPEAlign(CPEMI);
1482 CPEMI->getOperand(2).getImm();
1503 EndInsertOffset += U.CPEMI->getOperand(2).getImm();
1554 MachineInstr *CPEMI = U.CPEMI;
1555 unsigned CPI = getCombinedIndex(CPEMI);
1556 unsigned Size = CPEMI->getOperand(2).getImm();
1627 U.CPEMI = BuildMI(NewIsland, DebugLoc(), CPEMI->getDesc())
1629 .add(CPEMI->getOperand(1))
1631 CPEntries[CPI].push_back(CPEntry(U.CPEMI, ID, 1));
1635 decrementCPEReferenceCount(CPI, CPEMI);
1638 NewIsland->setAlignment(getCPEAlign(U.CPEMI));
1661 void ARMConstantIslands::removeDeadCPEMI(MachineInstr *CPEMI) {
1662 MachineBasicBlock *CPEBB = CPEMI->getParent();
1663 unsigned Size = CPEMI->getOperand(2).getImm();
1664 CPEMI->eraseFromParent();
1692 if (CPE.RefCount == 0 && CPE.CPEMI) {
1693 removeDeadCPEMI(CPE.CPEMI);
1694 CPE.CPEMI = nullptr;
1877 if (isCPEntryInRange(U.MI, UserOffset, U.CPEMI, MaxOffs, false, true)) {
2176 /// Returns whether CPEMI is the first instruction in the block
2180 static bool jumpTableFollowsTB(MachineInstr *JTMI, MachineInstr *CPEMI) {
2185 return MBB != MF->end() && !MBB->empty() && &*MBB->begin() == CPEMI;
2282 if (!jumpTableFollowsTB(MI, User.CPEMI) && !PreservedBaseReg)
2307 if (BaseReg == IdxReg && !jumpTableFollowsTB(MI, User.CPEMI))
2359 MachineInstr *CPEMI = User.CPEMI;
2371 .addImm(CPEMI->getOperand(0).getImm());
2375 CPEMI->setDesc(TII->get(JTOpc));
2377 if (jumpTableFollowsTB(MI, User.CPEMI)) {
2401 find_if(CPEs, [&](CPEntry &E) { return E.CPEMI == User.CPEMI; });
2403 CPUsers.emplace_back(CPUser(NewJTMI, User.CPEMI, 4, false, false));