Lines Matching defs:CPEMI

138     MachineInstr *CPEMI;
148 : MI(Mi), CPEMI(Cpemi), MaxDisp(Maxdisp), NegOk(Neg) {
149 HighWaterMark = CPEMI->getParent();
166 MachineInstr *CPEMI;
171 : CPEMI(Cpemi), CPI(Cpi), RefCount(Rc) {}
231 CPEntry *findConstPoolEntry(unsigned CPI, const MachineInstr *CPEMI);
232 Align getCPEAlign(const MachineInstr &CPEMI);
247 bool decrementCPEReferenceCount(unsigned CPI, MachineInstr *CPEMI);
254 void removeDeadCPEMI(MachineInstr *CPEMI);
257 MachineInstr *CPEMI, unsigned Disp, bool NegOk,
408 MachineInstr *CPEMI =
414 CPEMIs.push_back(CPEMI);
417 // CPEMI. This is bucket sort with iterators.
420 InsPoint[A] = CPEMI;
422 CPEntries.emplace_back(1, CPEntry(CPEMI, I));
453 const MachineInstr *CPEMI) {
458 if (CPEs[I].CPEMI == CPEMI)
465 /// represented by CPEMI. Alignment is measured in log2(bytes) units.
466 Align CSKYConstantIslands::getCPEAlign(const MachineInstr &CPEMI) {
467 assert(CPEMI.getOpcode() == CSKY::CONSTPOOL_ENTRY);
469 unsigned CPI = CPEMI.getOperand(1).getIndex();
568 MachineInstr *CPEMI = CPEMIs[CPI];
570 CPUsers.push_back(CPUser(&MI, CPEMI, MaxOffs, NegOk));
573 CPEntry *CPE = findConstPoolEntry(CPI, CPEMI);
747 unsigned Size = U.CPEMI->getOperand(2).getImm();
775 MachineInstr *CPEMI,
778 unsigned CPEOffset = getOffsetOf(CPEMI);
784 dbgs() << "User of CPE#" << CPEMI->getOperand(0).getImm()
823 /// and instruction CPEMI, and decrement its refcount. If the refcount
827 MachineInstr *CPEMI) {
829 CPEntry *CPE = findConstPoolEntry(CPI, CPEMI);
832 removeDeadCPEMI(CPEMI);
833 CPE->CPEMI = nullptr;
848 MachineInstr *CPEMI = U.CPEMI;
851 if (isCPEntryInRange(UserMI, UserOffset, CPEMI, U.getMaxDisp(), U.NegOk,
858 unsigned CPI = CPEMI->getOperand(1).getIndex();
862 if (CPEs[I].CPEMI == CPEMI)
865 if (CPEs[I].CPEMI == nullptr)
867 if (isCPEntryInRange(UserMI, UserOffset, CPEs[I].CPEMI, U.getMaxDisp(),
872 U.CPEMI = CPEs[I].CPEMI;
883 return decrementCPEReferenceCount(CPI, CPEMI) ? 2 : 1;
969 MachineInstr *CPEMI = U.CPEMI;
1032 BaseInsertOffset + 4 + CPEMI->getOperand(2).getImm();
1052 EndInsertOffset += U.CPEMI->getOperand(2).getImm();
1067 MachineInstr *CPEMI = U.CPEMI;
1068 unsigned CPI = CPEMI->getOperand(1).getIndex();
1069 unsigned Size = CPEMI->getOperand(2).getImm();
1129 decrementCPEReferenceCount(CPI, CPEMI);
1138 U.CPEMI = BuildMI(NewIsland, DebugLoc(), TII->get(CSKY::CONSTPOOL_ENTRY))
1142 CPEntries[CPI].push_back(CPEntry(U.CPEMI, ID, 1));
1146 NewIsland->setAlignment(getCPEAlign(*U.CPEMI));
1168 void CSKYConstantIslands::removeDeadCPEMI(MachineInstr *CPEMI) {
1169 MachineBasicBlock *CPEBB = CPEMI->getParent();
1170 unsigned Size = CPEMI->getOperand(2).getImm();
1171 CPEMI->eraseFromParent();
1199 if (CPEs[J].RefCount == 0 && CPEs[J].CPEMI) {
1200 removeDeadCPEMI(CPEs[J].CPEMI);
1201 CPEs[J].CPEMI = nullptr;