Lines Matching refs:CPEMI

131       MachineInstr *CPEMI;  member
140 : MI(mi), CPEMI(cpemi), MaxDisp(maxdisp), NegOk(neg), IsSoImm(soimm) { in CPUser()
141 HighWaterMark = CPEMI->getParent(); in CPUser()
160 MachineInstr *CPEMI; member
165 : CPEMI(cpemi), CPI(cpi), RefCount(rc) {} in CPEntry()
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, in verify()
511 if (CPE.CPEMI && CPE.CPEMI->getOperand(1).isCPI()) in runOnMachineFunction()
577 MachineInstr *CPEMI = in doInitialConstPlacement() local
580 CPEMIs.push_back(CPEMI); in doInitialConstPlacement()
586 InsPoint[a] = CPEMI; in doInitialConstPlacement()
589 CPEntries.emplace_back(1, CPEntry(CPEMI, i)); in doInitialConstPlacement()
660 MachineInstr *CPEMI = BuildMI(*JumpTableBB, JumpTableBB->begin(), in doInitialJumpTablePlacement() local
665 CPEMIs.push_back(CPEMI); in doInitialJumpTablePlacement()
666 CPEntries.emplace_back(1, CPEntry(CPEMI, JTI)); in doInitialJumpTablePlacement()
702 const MachineInstr *CPEMI) { in findConstPoolEntry() argument
707 if (CPE.CPEMI == CPEMI) in findConstPoolEntry()
714 Align ARMConstantIslands::getCPEAlign(const MachineInstr *CPEMI) { in getCPEAlign() argument
715 switch (CPEMI->getOpcode()) { in getCPEAlign()
730 unsigned CPI = getCombinedIndex(CPEMI); in getCPEAlign()
886 MachineInstr *CPEMI = CPEMIs[CPI]; in initializeFunctionInfo() local
887 const Align CPEAlign = getCPEAlign(CPEMI); in initializeFunctionInfo()
945 MachineInstr *CPEMI = CPEMIs[CPI]; in initializeFunctionInfo() local
947 CPUsers.push_back(CPUser(&I, CPEMI, MaxOffs, NegOk, IsSoImm)); in initializeFunctionInfo()
950 CPEntry *CPE = findConstPoolEntry(CPI, CPEMI); in initializeFunctionInfo()
1127 const Align CPEAlign = getCPEAlign(U.CPEMI); in isWaterInRange()
1138 unsigned Size = U.CPEMI->getOperand(2).getImm(); in isWaterInRange()
1165 MachineInstr *CPEMI, unsigned MaxDisp, in isCPEntryInRange() argument
1167 unsigned CPEOffset = BBUtils->getOffsetOf(CPEMI); in isCPEntryInRange()
1174 dbgs() << "User of CPE#" << CPEMI->getOperand(0).getImm() in isCPEntryInRange()
1209 MachineInstr *CPEMI) { in decrementCPEReferenceCount() argument
1211 CPEntry *CPE = findConstPoolEntry(CPI, CPEMI); in decrementCPEReferenceCount()
1214 removeDeadCPEMI(CPEMI); in decrementCPEReferenceCount()
1215 CPE->CPEMI = nullptr; in decrementCPEReferenceCount()
1222 unsigned ARMConstantIslands::getCombinedIndex(const MachineInstr *CPEMI) { in getCombinedIndex() argument
1223 if (CPEMI->getOperand(1).isCPI()) in getCombinedIndex()
1224 return CPEMI->getOperand(1).getIndex(); in getCombinedIndex()
1226 return JumpTableEntryIndices[CPEMI->getOperand(1).getIndex()]; in getCombinedIndex()
1237 MachineInstr *CPEMI = U.CPEMI; in findInRangeCPEntry() local
1240 if (isCPEntryInRange(UserMI, UserOffset, CPEMI, U.getMaxDisp(), U.NegOk, in findInRangeCPEntry()
1247 unsigned CPI = getCombinedIndex(CPEMI); in findInRangeCPEntry()
1251 if (CPE.CPEMI == CPEMI) in findInRangeCPEntry()
1254 if (CPE.CPEMI == nullptr) in findInRangeCPEntry()
1256 if (isCPEntryInRange(UserMI, UserOffset, CPE.CPEMI, U.getMaxDisp(), in findInRangeCPEntry()
1261 U.CPEMI = CPE.CPEMI; in findInRangeCPEntry()
1272 return decrementCPEReferenceCount(CPI, CPEMI) ? 2 : 1; in findInRangeCPEntry()
1320 const Align CPEAlign = getCPEAlign(U.CPEMI); in findAvailableWater()
1373 MachineInstr *CPEMI = U.CPEMI; in createNewWater() local
1374 const Align CPEAlign = getCPEAlign(CPEMI); in createNewWater()
1482 CPEMI->getOperand(2).getImm(); in createNewWater()
1503 EndInsertOffset += U.CPEMI->getOperand(2).getImm(); in createNewWater()
1554 MachineInstr *CPEMI = U.CPEMI; in handleConstantPoolUser() local
1555 unsigned CPI = getCombinedIndex(CPEMI); in handleConstantPoolUser()
1556 unsigned Size = CPEMI->getOperand(2).getImm(); in handleConstantPoolUser()
1627 U.CPEMI = BuildMI(NewIsland, DebugLoc(), CPEMI->getDesc()) in handleConstantPoolUser()
1629 .add(CPEMI->getOperand(1)) in handleConstantPoolUser()
1631 CPEntries[CPI].push_back(CPEntry(U.CPEMI, ID, 1)); in handleConstantPoolUser()
1635 decrementCPEReferenceCount(CPI, CPEMI); in handleConstantPoolUser()
1638 NewIsland->setAlignment(getCPEAlign(U.CPEMI)); in handleConstantPoolUser()
1661 void ARMConstantIslands::removeDeadCPEMI(MachineInstr *CPEMI) { in removeDeadCPEMI() argument
1662 MachineBasicBlock *CPEBB = CPEMI->getParent(); in removeDeadCPEMI()
1663 unsigned Size = CPEMI->getOperand(2).getImm(); in removeDeadCPEMI()
1664 CPEMI->eraseFromParent(); in removeDeadCPEMI()
1692 if (CPE.RefCount == 0 && CPE.CPEMI) { in removeUnusedCPEntries()
1693 removeDeadCPEMI(CPE.CPEMI); in removeUnusedCPEntries()
1694 CPE.CPEMI = nullptr; in removeUnusedCPEntries()
1877 if (isCPEntryInRange(U.MI, UserOffset, U.CPEMI, MaxOffs, false, true)) { in optimizeThumb2Instructions()
2180 static bool jumpTableFollowsTB(MachineInstr *JTMI, MachineInstr *CPEMI) { in jumpTableFollowsTB() argument
2185 return MBB != MF->end() && !MBB->empty() && &*MBB->begin() == CPEMI; in jumpTableFollowsTB()
2282 if (!jumpTableFollowsTB(MI, User.CPEMI) && !PreservedBaseReg) in optimizeThumb2JumpTables()
2307 if (BaseReg == IdxReg && !jumpTableFollowsTB(MI, User.CPEMI)) in optimizeThumb2JumpTables()
2359 MachineInstr *CPEMI = User.CPEMI; in optimizeThumb2JumpTables() local
2371 .addImm(CPEMI->getOperand(0).getImm()); in optimizeThumb2JumpTables()
2375 CPEMI->setDesc(TII->get(JTOpc)); in optimizeThumb2JumpTables()
2377 if (jumpTableFollowsTB(MI, User.CPEMI)) { in optimizeThumb2JumpTables()
2401 find_if(CPEs, [&](CPEntry &E) { return E.CPEMI == User.CPEMI; }); in optimizeThumb2JumpTables()
2403 CPUsers.emplace_back(CPUser(NewJTMI, User.CPEMI, 4, false, false)); in optimizeThumb2JumpTables()