Lines Matching defs:CPE

196   ///   CPE     - A constant pool entry that has been placed somewhere, which
525 // Create the basic block to hold the CPE's.
548 // identity mapping of CPI's to CPE's.
605 for (CPEntry &CPE : CPEs) {
606 if (CPE.CPEMI == CPEMI)
607 return &CPE;
768 CPEntry *CPE = findConstPoolEntry(CPI, CPEMI);
769 assert(CPE && "Cannot find a corresponding CPEntry!");
770 CPE->RefCount++;
922 /// isWaterInRange - Returns true if a CPE placed after the specified
925 /// Compute how much the function will grow by inserting a CPE after Water.
943 // The CPE may be able to hide in the alignment padding before the next
948 // Compute the padding that would go at the end of the CPE to align the next
952 // If the CPE is to be inserted before the instruction, that will raise
954 // in blocks between CPE and the user.
958 // CPE fits in existing padding.
976 dbgs() << "User of CPE#" << CPEMI->getOperand(0).getImm()
981 << format("CPE address=%#x offset=%+d: ", CPEOffset,
1021 CPEntry *CPE = findConstPoolEntry(CPI, CPEMI);
1022 assert(CPE && "Unexpected!");
1023 if (--CPE->RefCount == 0) {
1025 CPE->CPEMI = nullptr;
1032 /// LookForCPEntryInRange - see if the currently referenced CPE is in range;
1033 /// if not, see if an in-range clone of the CPE is in range, and if so,
1043 // Check to see if the CPE is already in-range.
1050 // No. Look for previously created clones of the CPE that are in range.
1053 for (CPEntry &CPE : CPEs) {
1055 if (CPE.CPEMI == CPEMI)
1058 if (CPE.CPEMI == nullptr)
1060 if (isCPEntryInRange(UserMI, UserOffset, CPE.CPEMI, U.getMaxDisp(),
1062 LLVM_DEBUG(dbgs() << "Replacing CPE#" << CPI << " with CPE#" << CPE.CPI
1065 U.CPEMI = CPE.CPEMI;
1069 MO.setIndex(CPE.CPI);
1073 CPE.RefCount++;
1082 /// LookForCPEntryInRange - see if the currently referenced CPE is in range;
1085 /// if not, see if an in-range clone of the CPE is in range, and if so,
1096 // Check to see if the CPE is already in-range.
1106 // No. Look for previously created clones of the CPE that are in range.
1109 for (CPEntry &CPE : CPEs) {
1111 if (CPE.CPEMI == CPEMI)
1114 if (CPE.CPEMI == nullptr)
1116 if (isCPEntryInRange(UserMI, UserOffset, CPE.CPEMI, U.getLongFormMaxDisp(),
1118 LLVM_DEBUG(dbgs() << "Replacing CPE#" << CPI << " with CPE#" << CPE.CPI
1121 U.CPEMI = CPE.CPEMI;
1125 MO.setIndex(CPE.CPI);
1129 CPE.RefCount++;
1153 /// we can place the CPE referenced from U so it's within range of U's MI.
1157 /// terminates, the CPE location for a particular CPUser is only allowed to
1198 /// CPUsers[CPUserIndex], so create a place to put the CPE. The end of the
1218 // Compute the offset where the CPE will begin.
1223 << format(", expected CPE offset %#x\n", CPEOffset));
1316 // Look for water where we can place this CPE.
1330 // The new CPE goes before the following block (NewMBB).
1359 // considerably reduces the number of times we have to move the same CPE
1373 // No existing clone of this CPE is within range.
1377 // Now that we have an island to add the CPE to, clone the original CPE and
1400 dbgs() << " Moved CPE to #" << ID << " CPI=" << CPI
1437 for (CPEntry &CPE : CPEs) {
1438 if (CPE.RefCount == 0 && CPE.CPEMI) {
1439 removeDeadCPEMI(CPE.CPEMI);
1440 CPE.CPEMI = nullptr;