Lines Matching defs:CPEMI

130       MachineInstr *CPEMI;
139 : MI(mi), CPEMI(cpemi), MaxDisp(maxdisp), NegOk(neg), IsSoImm(soimm) {
140 HighWaterMark = CPEMI->getParent();
159 MachineInstr *CPEMI;
164 : CPEMI(cpemi), CPI(cpi), RefCount(rc) {}
174 /// contains jump tables. Use getCombinedIndex on a generic CPEMI to look up
248 CPEntry *findConstPoolEntry(unsigned CPI, const MachineInstr *CPEMI);
249 Align getCPEAlign(const MachineInstr *CPEMI);
254 bool decrementCPEReferenceCount(unsigned CPI, MachineInstr* CPEMI);
255 unsigned getCombinedIndex(const MachineInstr *CPEMI);
262 void removeDeadCPEMI(MachineInstr *CPEMI);
265 MachineInstr *CPEMI, unsigned Disp, bool NegOk,
314 if (isCPEntryInRange(U.MI, UserOffset, U.CPEMI, U.getMaxDisp()+2, U.NegOk,
512 if (CPE.CPEMI && CPE.CPEMI->getOperand(1).isCPI())
578 MachineInstr *CPEMI =
581 CPEMIs.push_back(CPEMI);
584 // CPEMI. This is bucket sort with iterators.
587 InsPoint[a] = CPEMI;
590 CPEntries.emplace_back(1, CPEntry(CPEMI, i));
661 MachineInstr *CPEMI = BuildMI(*JumpTableBB, JumpTableBB->begin(),
666 CPEMIs.push_back(CPEMI);
667 CPEntries.emplace_back(1, CPEntry(CPEMI, JTI));
705 const MachineInstr *CPEMI) {
710 if (CPE.CPEMI == CPEMI)
716 /// represented by CPEMI.
717 Align ARMConstantIslands::getCPEAlign(const MachineInstr *CPEMI) {
718 switch (CPEMI->getOpcode()) {
733 unsigned CPI = getCombinedIndex(CPEMI);
889 MachineInstr *CPEMI = CPEMIs[CPI];
890 const Align CPEAlign = getCPEAlign(CPEMI);
948 MachineInstr *CPEMI = CPEMIs[CPI];
950 CPUsers.push_back(CPUser(&I, CPEMI, MaxOffs, NegOk, IsSoImm));
953 CPEntry *CPE = findConstPoolEntry(CPI, CPEMI);
1132 const Align CPEAlign = getCPEAlign(U.CPEMI);
1143 unsigned Size = U.CPEMI->getOperand(2).getImm();
1170 MachineInstr *CPEMI, unsigned MaxDisp,
1172 unsigned CPEOffset = BBUtils->getOffsetOf(CPEMI);
1179 dbgs() << "User of CPE#" << CPEMI->getOperand(0).getImm()
1210 /// and instruction CPEMI, and decrement its refcount. If the refcount
1214 MachineInstr *CPEMI) {
1216 CPEntry *CPE = findConstPoolEntry(CPI, CPEMI);
1219 removeDeadCPEMI(CPEMI);
1220 CPE->CPEMI = nullptr;
1227 unsigned ARMConstantIslands::getCombinedIndex(const MachineInstr *CPEMI) {
1228 if (CPEMI->getOperand(1).isCPI())
1229 return CPEMI->getOperand(1).getIndex();
1231 return JumpTableEntryIndices[CPEMI->getOperand(1).getIndex()];
1242 MachineInstr *CPEMI = U.CPEMI;
1245 if (isCPEntryInRange(UserMI, UserOffset, CPEMI, U.getMaxDisp(), U.NegOk,
1252 unsigned CPI = getCombinedIndex(CPEMI);
1256 if (CPE.CPEMI == CPEMI)
1259 if (CPE.CPEMI == nullptr)
1261 if (isCPEntryInRange(UserMI, UserOffset, CPE.CPEMI, U.getMaxDisp(),
1266 U.CPEMI = CPE.CPEMI;
1277 return decrementCPEReferenceCount(CPI, CPEMI) ? 2 : 1;
1325 const Align CPEAlign = getCPEAlign(U.CPEMI);
1379 MachineInstr *CPEMI = U.CPEMI;
1380 const Align CPEAlign = getCPEAlign(CPEMI);
1488 CPEMI->getOperand(2).getImm();
1509 EndInsertOffset += U.CPEMI->getOperand(2).getImm();
1560 MachineInstr *CPEMI = U.CPEMI;
1561 unsigned CPI = getCombinedIndex(CPEMI);
1562 unsigned Size = CPEMI->getOperand(2).getImm();
1633 U.CPEMI = BuildMI(NewIsland, DebugLoc(), CPEMI->getDesc())
1635 .add(CPEMI->getOperand(1))
1637 CPEntries[CPI].push_back(CPEntry(U.CPEMI, ID, 1));
1641 decrementCPEReferenceCount(CPI, CPEMI);
1644 NewIsland->setAlignment(getCPEAlign(U.CPEMI));
1667 void ARMConstantIslands::removeDeadCPEMI(MachineInstr *CPEMI) {
1668 MachineBasicBlock *CPEBB = CPEMI->getParent();
1669 unsigned Size = CPEMI->getOperand(2).getImm();
1670 CPEMI->eraseFromParent();
1698 if (CPE.RefCount == 0 && CPE.CPEMI) {
1699 removeDeadCPEMI(CPE.CPEMI);
1700 CPE.CPEMI = nullptr;
1883 if (isCPEntryInRange(U.MI, UserOffset, U.CPEMI, MaxOffs, false, true)) {
2182 /// Returns whether CPEMI is the first instruction in the block
2186 static bool jumpTableFollowsTB(MachineInstr *JTMI, MachineInstr *CPEMI) {
2191 return MBB != MF->end() && !MBB->empty() && &*MBB->begin() == CPEMI;
2288 if (!jumpTableFollowsTB(MI, User.CPEMI) && !PreservedBaseReg)
2313 if (BaseReg == IdxReg && !jumpTableFollowsTB(MI, User.CPEMI))
2365 MachineInstr *CPEMI = User.CPEMI;
2377 .addImm(CPEMI->getOperand(0).getImm());
2381 CPEMI->setDesc(TII->get(JTOpc));
2383 if (jumpTableFollowsTB(MI, User.CPEMI)) {
2407 find_if(CPEs, [&](CPEntry &E) { return E.CPEMI == User.CPEMI; });
2409 CPUsers.emplace_back(CPUser(NewJTMI, User.CPEMI, 4, false, false));