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,
317 if (isCPEntryInRange(U.MI, UserOffset, U.CPEMI, U.getMaxDisp()+2, U.NegOk, in verify()
513 if (CPE.CPEMI && CPE.CPEMI->getOperand(1).isCPI()) in runOnMachineFunction()
579 MachineInstr *CPEMI = in doInitialConstPlacement() local
582 CPEMIs.push_back(CPEMI); in doInitialConstPlacement()
588 InsPoint[a] = CPEMI; in doInitialConstPlacement()
591 CPEntries.emplace_back(1, CPEntry(CPEMI, i)); in doInitialConstPlacement()
653 MachineInstr *CPEMI = BuildMI(*JumpTableBB, JumpTableBB->begin(), in doInitialJumpTablePlacement() local
658 CPEMIs.push_back(CPEMI); in doInitialJumpTablePlacement()
659 CPEntries.emplace_back(1, CPEntry(CPEMI, JTI)); in doInitialJumpTablePlacement()
695 const MachineInstr *CPEMI) { in findConstPoolEntry() argument
700 if (CPE.CPEMI == CPEMI) in findConstPoolEntry()
707 Align ARMConstantIslands::getCPEAlign(const MachineInstr *CPEMI) { in getCPEAlign() argument
708 switch (CPEMI->getOpcode()) { in getCPEAlign()
723 unsigned CPI = getCombinedIndex(CPEMI); in getCPEAlign()
872 MachineInstr *CPEMI = CPEMIs[CPI]; in initializeFunctionInfo() local
873 const Align CPEAlign = getCPEAlign(CPEMI); in initializeFunctionInfo()
931 MachineInstr *CPEMI = CPEMIs[CPI]; in initializeFunctionInfo() local
933 CPUsers.push_back(CPUser(&I, CPEMI, MaxOffs, NegOk, IsSoImm)); in initializeFunctionInfo()
936 CPEntry *CPE = findConstPoolEntry(CPI, CPEMI); in initializeFunctionInfo()
1113 const Align CPEAlign = getCPEAlign(U.CPEMI); in isWaterInRange()
1124 unsigned Size = U.CPEMI->getOperand(2).getImm(); in isWaterInRange()
1151 MachineInstr *CPEMI, unsigned MaxDisp, in isCPEntryInRange() argument
1153 unsigned CPEOffset = BBUtils->getOffsetOf(CPEMI); in isCPEntryInRange()
1160 dbgs() << "User of CPE#" << CPEMI->getOperand(0).getImm() in isCPEntryInRange()
1195 MachineInstr *CPEMI) { in decrementCPEReferenceCount() argument
1197 CPEntry *CPE = findConstPoolEntry(CPI, CPEMI); in decrementCPEReferenceCount()
1200 removeDeadCPEMI(CPEMI); in decrementCPEReferenceCount()
1201 CPE->CPEMI = nullptr; in decrementCPEReferenceCount()
1208 unsigned ARMConstantIslands::getCombinedIndex(const MachineInstr *CPEMI) { in getCombinedIndex() argument
1209 if (CPEMI->getOperand(1).isCPI()) in getCombinedIndex()
1210 return CPEMI->getOperand(1).getIndex(); in getCombinedIndex()
1212 return JumpTableEntryIndices[CPEMI->getOperand(1).getIndex()]; in getCombinedIndex()
1223 MachineInstr *CPEMI = U.CPEMI; in findInRangeCPEntry() local
1226 if (isCPEntryInRange(UserMI, UserOffset, CPEMI, U.getMaxDisp(), U.NegOk, in findInRangeCPEntry()
1233 unsigned CPI = getCombinedIndex(CPEMI); in findInRangeCPEntry()
1237 if (CPE.CPEMI == CPEMI) in findInRangeCPEntry()
1240 if (CPE.CPEMI == nullptr) in findInRangeCPEntry()
1242 if (isCPEntryInRange(UserMI, UserOffset, CPE.CPEMI, U.getMaxDisp(), in findInRangeCPEntry()
1247 U.CPEMI = CPE.CPEMI; in findInRangeCPEntry()
1258 return decrementCPEReferenceCount(CPI, CPEMI) ? 2 : 1; in findInRangeCPEntry()
1306 const Align CPEAlign = getCPEAlign(U.CPEMI); in findAvailableWater()
1359 MachineInstr *CPEMI = U.CPEMI; in createNewWater() local
1360 const Align CPEAlign = getCPEAlign(CPEMI); in createNewWater()
1468 CPEMI->getOperand(2).getImm(); in createNewWater()
1489 EndInsertOffset += U.CPEMI->getOperand(2).getImm(); in createNewWater()
1540 MachineInstr *CPEMI = U.CPEMI; in handleConstantPoolUser() local
1541 unsigned CPI = getCombinedIndex(CPEMI); in handleConstantPoolUser()
1542 unsigned Size = CPEMI->getOperand(2).getImm(); in handleConstantPoolUser()
1613 U.CPEMI = BuildMI(NewIsland, DebugLoc(), CPEMI->getDesc()) in handleConstantPoolUser()
1615 .add(CPEMI->getOperand(1)) in handleConstantPoolUser()
1617 CPEntries[CPI].push_back(CPEntry(U.CPEMI, ID, 1)); in handleConstantPoolUser()
1621 decrementCPEReferenceCount(CPI, CPEMI); in handleConstantPoolUser()
1624 NewIsland->setAlignment(getCPEAlign(U.CPEMI)); in handleConstantPoolUser()
1647 void ARMConstantIslands::removeDeadCPEMI(MachineInstr *CPEMI) { in removeDeadCPEMI() argument
1648 MachineBasicBlock *CPEBB = CPEMI->getParent(); in removeDeadCPEMI()
1649 unsigned Size = CPEMI->getOperand(2).getImm(); in removeDeadCPEMI()
1650 CPEMI->eraseFromParent(); in removeDeadCPEMI()
1678 if (CPE.RefCount == 0 && CPE.CPEMI) { in removeUnusedCPEntries()
1679 removeDeadCPEMI(CPE.CPEMI); in removeUnusedCPEntries()
1680 CPE.CPEMI = nullptr; in removeUnusedCPEntries()
1863 if (isCPEntryInRange(U.MI, UserOffset, U.CPEMI, MaxOffs, false, true)) { in optimizeThumb2Instructions()
2168 static bool jumpTableFollowsTB(MachineInstr *JTMI, MachineInstr *CPEMI) { in jumpTableFollowsTB() argument
2173 return MBB != MF->end() && !MBB->empty() && &*MBB->begin() == CPEMI; in jumpTableFollowsTB()
2272 if (!jumpTableFollowsTB(MI, User.CPEMI) && !PreservedBaseReg) in optimizeThumb2JumpTables()
2294 if (BaseReg == IdxReg && !jumpTableFollowsTB(MI, User.CPEMI)) in optimizeThumb2JumpTables()
2346 MachineInstr *CPEMI = User.CPEMI; in optimizeThumb2JumpTables() local
2358 .addImm(CPEMI->getOperand(0).getImm()); in optimizeThumb2JumpTables()
2362 CPEMI->setDesc(TII->get(JTOpc)); in optimizeThumb2JumpTables()
2364 if (jumpTableFollowsTB(MI, User.CPEMI)) { in optimizeThumb2JumpTables()
2388 find_if(CPEs, [&](CPEntry &E) { return E.CPEMI == User.CPEMI; }); in optimizeThumb2JumpTables()
2390 CPUsers.emplace_back(CPUser(NewJTMI, User.CPEMI, 4, false, false)); in optimizeThumb2JumpTables()