/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | PHIEliminationUtils.cpp | 16 // findCopyInsertPoint - Find a safe place in MBB to insert a copy from SrcReg 21 llvm::findPHICopyInsertPoint(MachineBasicBlock* MBB, MachineBasicBlock* SuccMBB, argument 24 if (MBB->empty()) 25 return MBB->begin(); 31 return MBB->getFirstTerminator(); 35 MachineRegisterInfo& MRI = MBB->getParent()->getRegInfo(); 37 if (RI.getParent() == MBB) 44 InsertPoint = MBB->begin(); 51 InsertPoint = MBB->end(); 58 return MBB [all...] |
H A D | BranchRelaxation.cpp | 65 /// Compute the offset immediately following this block. \p MBB is the next 67 unsigned postOffset(const MachineBasicBlock &MBB) const { 69 const Align Alignment = MBB.getAlignment(); 73 const Align ParentAlign = MBB.getParent()->getAlignment(); 77 // The alignment of this MBB is larger than the function's alignment, so we 103 uint64_t computeBlockSize(const MachineBasicBlock &MBB) const; 130 for (MachineBasicBlock &MBB : *MF) { 131 const unsigned Num = MBB.getNumber(); 132 assert(isAligned(MBB.getAlignment(), BlockInfo[Num].Offset)); 133 assert(!Num || BlockInfo[PrevNum].postOffset(MBB) < 180 const MachineBasicBlock *MBB = MI.getParent(); local 303 MachineBasicBlock *MBB = MI.getParent(); local 440 MachineBasicBlock *MBB = MI.getParent(); local 485 MachineBasicBlock &MBB = *I; local [all...] |
H A D | EdgeBundles.cpp | 45 for (const auto &MBB : *MF) { 46 unsigned OutE = 2 * MBB.getNumber() + 1; 48 for (MachineBasicBlock::const_succ_iterator SI = MBB.succ_begin(), 49 SE = MBB.succ_end(); SI != SE; ++SI) 81 for (const auto &MBB : *MF) { 82 unsigned BB = MBB.getNumber(); 83 O << "\t\"" << printMBBReference(MBB) << "\" [ shape=box ]\n" 84 << '\t' << G.getBundle(BB, false) << " -> \"" << printMBBReference(MBB) 86 << "\t\"" << printMBBReference(MBB) << "\" -> " << G.getBundle(BB, true) 88 for (MachineBasicBlock::const_succ_iterator SI = MBB [all...] |
H A D | PHIEliminationUtils.h | 15 /// findPHICopyInsertPoint - Find a safe place in MBB to insert a copy from 20 findPHICopyInsertPoint(MachineBasicBlock* MBB, MachineBasicBlock* SuccMBB,
|
H A D | CFIInstrInserter.cpp | 70 MachineBasicBlock *MBB; member in struct:__anon1696::CFIInstrInserter::MBBCFAInfo 104 /// Return the cfa offset value that should be set at the beginning of a MBB 107 int getCorrectCFAOffset(MachineBasicBlock *MBB) { argument 108 return -MBBVector[MBB->getNumber()].IncomingCFAOffset; 112 /// Go through each MBB in a function and check that outgoing offset and 114 /// MBB, as well as that incoming offset and register of its successors match 115 /// outgoing offset and register of the MBB. 137 for (MachineBasicBlock &MBB : MF) { 139 MBBInfo.MBB = &MBB; [all...] |
H A D | MachineSizeOpts.cpp | 29 bool isColdBlock(const MachineBasicBlock *MBB, argument 32 auto Count = MBFI->getBlockProfileCount(MBB); 38 const MachineBasicBlock *MBB, 41 auto Count = MBFI->getBlockProfileCount(MBB); 54 for (const auto &MBB : *MF) 55 if (!isColdBlock(&MBB, PSI, &MBFI)) 71 for (const auto &MBB : *MF) 72 if (isHotBlockNthPercentile(PercentileCutoff, &MBB, PSI, &MBFI)) 93 static bool isColdBlock(const MachineBasicBlock *MBB, argument 96 return machine_size_opts_detail::isColdBlock(MBB, PS 37 isHotBlockNthPercentile(int PercentileCutoff, const MachineBasicBlock *MBB, ProfileSummaryInfo *PSI, const MachineBlockFrequencyInfo *MBFI) argument 98 isHotBlockNthPercentile(int CutOff, const MachineBasicBlock *MBB, ProfileSummaryInfo *PSI, const MachineBlockFrequencyInfo *MBFI) argument 116 shouldOptimizeForSize(const MachineBasicBlock *MBB, ProfileSummaryInfo *PSI, const MachineBlockFrequencyInfo *MBFI, PGSOQueryType QueryType) argument [all...] |
H A D | MIRCanonicalizerPass.cpp | 88 for (auto MBB : RPOT) { 89 RPOList.push_back(MBB); 97 MachineBasicBlock *MBB, 130 MBB->splice(getPos(), MBB, II.second); local 137 MachineBasicBlock *MBB) { 155 for (auto &MI : *MBB) { 221 MachineRegisterInfo *MRI = &MBB->getParent()->getRegInfo(); 241 const auto BBE = MBB->instr_end(); 245 for (auto BBI = MBB 96 rescheduleLexographically(std::vector<MachineInstr *> instructions, MachineBasicBlock *MBB, std::function<MachineBasicBlock::iterator()> getPos) argument 136 rescheduleCanonically(unsigned &PseudoIdempotentInstCount, MachineBasicBlock *MBB) argument 303 propagateLocalCopies(MachineBasicBlock *MBB) argument 350 doDefKillClear(MachineBasicBlock *MBB) argument 372 runOnBasicBlock(MachineBasicBlock *MBB, unsigned BasicBlockNum, VRegRenamer &Renamer) argument [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64BranchTargets.cpp | 41 void addBTI(MachineBasicBlock &MBB, bool CouldCall, bool CouldJump); 74 for (auto *MBB : JTE.MBBs) 75 JumpTableTargets.insert(MBB); 78 for (MachineBasicBlock &MBB : MF) { 86 if (&MBB == &*MF.begin() && (F.hasAddressTaken() || !F.hasLocalLinkage())) 91 if (MBB.hasAddressTaken() || JumpTableTargets.count(&MBB)) 95 addBTI(MBB, CouldCall, CouldJump); 103 void AArch64BranchTargets::addBTI(MachineBasicBlock &MBB, bool CouldCall, argument 106 << (CouldCall ? "c" : "") << " to " << MBB [all...] |
H A D | AArch64A53Fix835769.cpp | 105 bool runOnBasicBlock(MachineBasicBlock &MBB); 122 for (auto &MBB : F) { 123 Changed |= runOnBasicBlock(MBB); 128 // Return the block that was fallen through to get to MBB, if any, 130 static MachineBasicBlock *getBBFallenThrough(MachineBasicBlock *MBB, argument 133 MachineFunction::iterator MBBI(MBB); 136 if (MBBI == MBB->getParent()->begin()) 143 for (MachineBasicBlock *S : MBB->predecessors()) 155 static MachineInstr *getLastNonPseudo(MachineBasicBlock &MBB, argument 157 MachineBasicBlock *FMBB = &MBB; 171 insertNopBeforeInstruction(MachineBasicBlock &MBB, MachineInstr* MI, const TargetInstrInfo *TII) argument 190 runOnBasicBlock(MachineBasicBlock &MBB) argument [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AVR/ |
H A D | AVRRelaxMemOperations.cpp | 48 template <unsigned OP> bool relax(Block &MBB, BlockIt MBBI); 50 bool runOnBasicBlock(Block &MBB); 51 bool runOnInstruction(Block &MBB, BlockIt MBBI); 53 MachineInstrBuilder buildMI(Block &MBB, BlockIt MBBI, unsigned Opcode) { argument 54 return BuildMI(MBB, MBBI, MBBI->getDebugLoc(), TII->get(Opcode)); 66 for (Block &MBB : MF) { 67 bool BlockModified = runOnBasicBlock(MBB); 74 bool AVRRelaxMem::runOnBasicBlock(Block &MBB) { argument 77 BlockIt MBBI = MBB.begin(), E = MBB 88 relax(Block &MBB, BlockIt MBBI) argument 124 runOnInstruction(Block &MBB, BlockIt MBBI) argument [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86IndirectBranchTracking.cpp | 57 /// Adds a new ENDBR instruction to the beginning of the MBB. 61 bool addENDBR(MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const; 73 MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const { 78 // If the MBB/I is empty or the current instruction is not ENDBR, 80 if (I == MBB.end() || I->getOpcode() != EndbrOpcode) { 81 BuildMI(MBB, I, MBB.findDebugLoc(I), TII->get(EndbrOpcode)); 131 auto MBB = MF.begin(); local 132 Changed |= addENDBR(*MBB, MBB 72 addENDBR( MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const argument [all...] |
H A D | X86PadShortFunction.cpp | 74 void findReturns(MachineBasicBlock *MBB, 77 bool cyclesUntilReturn(MachineBasicBlock *MBB, 80 void addPadding(MachineBasicBlock *MBB, 133 MachineBasicBlock *MBB = I->first; local 137 bool OptForSize = llvm::shouldOptimizeForSize(MBB, PSI, MBFI); 144 assert(MBB->size() > 0 && 146 MachineBasicBlock::iterator ReturnLoc = --MBB->end(); 153 addPadding(MBB, ReturnLoc, Threshold - Cycles); 162 /// findReturn - Starting at MBB, follow control flow and add all 164 void PadShortFunc::findReturns(MachineBasicBlock *MBB, unsigne argument 188 cyclesUntilReturn(MachineBasicBlock *MBB, unsigned int &Cycles) argument 221 addPadding(MachineBasicBlock *MBB, MachineBasicBlock::iterator &MBBI, unsigned int NOOPsToAdd) argument [all...] |
H A D | X86ExpandPseudo.cpp | 62 void ExpandICallBranchFunnel(MachineBasicBlock *MBB, 65 bool ExpandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI); 66 bool ExpandMBB(MachineBasicBlock &MBB); 76 MachineBasicBlock *MBB, MachineBasicBlock::iterator MBBI) { 77 MachineBasicBlock *JTMBB = MBB; 79 MachineFunction *MF = MBB->getParent(); 80 const BasicBlock *BB = MBB->getBasicBlock(); 81 auto InsPt = MachineFunction::iterator(MBB); 91 MBB->addLiveIn(Selector.getReg()); 92 BuildMI(*MBB, MBB 75 ExpandICallBranchFunnel( MachineBasicBlock *MBB, MachineBasicBlock::iterator MBBI) argument 179 ExpandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI) argument 383 ExpandMBB(MachineBasicBlock &MBB) argument [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | WasmEHFuncInfo.h | 43 MachineBasicBlock *getEHPadUnwindDest(MachineBasicBlock *MBB) const { 44 return EHPadUnwindMap.lookup(MBB).get<MachineBasicBlock *>(); 46 void setEHPadUnwindDest(MachineBasicBlock *MBB, MachineBasicBlock *Dest) { argument 47 EHPadUnwindMap[MBB] = Dest; 49 bool hasEHPadUnwindDest(MachineBasicBlock *MBB) const { 50 return EHPadUnwindMap.count(MBB);
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
H A D | WebAssemblyLateEHPrepare.cpp | 67 MachineBasicBlock *MBB = WL.pop_back_val(); local 68 if (Visited.count(MBB)) 70 Visited.insert(MBB); 71 if (MBB->isEHPad()) { 72 if (EHPad && EHPad != MBB) 74 EHPad = MBB; 77 if (MBB == &MF->front()) 79 WL.append(MBB->pred_begin(), MBB->pred_end()); 90 MachineBasicBlock *MBB local [all...] |
H A D | WebAssemblyDebugValueManager.cpp | 27 MachineBasicBlock *MBB = Insert->getParent(); local 29 MBB->splice(Insert, DBI->getParent(), DBI); 39 MachineBasicBlock *MBB = Insert->getParent(); local 40 MachineFunction *MF = MBB->getParent(); 44 MBB->insert(Insert, Clone);
|
H A D | WebAssemblyCFGSort.cpp | 52 virtual bool contains(const MachineBasicBlock *MBB) const = 0; 65 bool contains(const MachineBasicBlock *MBB) const override { 66 return Region->contains(MBB); 90 // Returns a smallest loop or exception that contains MBB 91 const Region *getRegionFor(const MachineBasicBlock *MBB) { argument 92 const auto *ML = MLI.getLoopFor(MBB); 93 const auto *WE = WEI.getExceptionFor(MBB); 97 // If the smallest region containing MBB is a loop 103 // If the smallest region containing MBB is an exception 143 static void maybeUpdateTerminator(MachineBasicBlock *MBB) { argument [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/NVPTX/ |
H A D | NVPTXFrameLowering.cpp | 33 MachineBasicBlock &MBB) const { 35 assert(&MF.front() == &MBB && "Shrink-wrapping not yet supported"); 36 MachineInstr *MI = &MBB.front(); 55 MI = BuildMI(MBB, MI, dl, 60 BuildMI(MBB, MI, dl, MF.getSubtarget().getInstrInfo()->get(MovDepotOpcode), 75 MachineBasicBlock &MBB) const {} 80 MachineFunction &MF, MachineBasicBlock &MBB, 84 return MBB.erase(I); 79 eliminateCallFramePseudoInstr( MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const argument
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/Mips/ |
H A D | MipsSEFrameLowering.h | 27 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 28 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 33 bool spillCalleeSavedRegisters(MachineBasicBlock &MBB, 45 MachineBasicBlock &MBB) const; 47 MachineBasicBlock &MBB) const;
|
H A D | MipsSEInstrInfo.h | 45 void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, 49 void storeRegToStack(MachineBasicBlock &MBB, 56 void loadRegFromStack(MachineBasicBlock &MBB, 68 void adjustStackPtr(unsigned SP, int64_t Amount, MachineBasicBlock &MBB, 74 unsigned loadImmediate(int64_t Imm, MachineBasicBlock &MBB, 88 void expandRetRA(MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const; 90 void expandERet(MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const; 95 void expandPseudoMFHiLo(MachineBasicBlock &MBB, MachineBasicBlock::iterator I, 98 void expandPseudoMTLoHi(MachineBasicBlock &MBB, MachineBasicBlock::iterator I, 112 void expandCvtFPInt(MachineBasicBlock &MBB, MachineBasicBloc [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/MSP430/ |
H A D | MSP430FrameLowering.h | 30 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 31 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 34 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, 37 bool spillCalleeSavedRegisters(MachineBasicBlock &MBB, 41 bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
H A D | PPCCTRLoops.cpp | 128 static bool verifyCTRBranch(MachineBasicBlock *MBB, argument 135 if (I == MBB->begin()) { 136 Visited.insert(MBB); 142 Visited.insert(MBB); 143 if (I == MBB->end()) 147 for (MachineBasicBlock::iterator IE = MBB->begin();; --I) { 155 LLVM_DEBUG(dbgs() << printMBBReference(*MBB) << " (" << MBB->getFullName() 173 if (MachineFunction::iterator(MBB) == MBB 204 MachineBasicBlock *MBB = &*I; local [all...] |
H A D | PPCFrameLowering.h | 45 * \param[in] MBB The machine basic block to find an available register for 61 bool findScratchRegister(MachineBasicBlock *MBB, 66 bool twoUniqueScratchRegsRequired(MachineBasicBlock *MBB) const; 71 * \param[in] MBB that is terminated by PPC::TCRETURN* 73 void createTailCallBranchInstr(MachineBasicBlock &MBB) const; 101 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 102 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 114 bool spillCalleeSavedRegisters(MachineBasicBlock &MBB, 127 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, 130 bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB, [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/Lanai/ |
H A D | LanaiFrameLowering.cpp | 68 for (MachineFunction::iterator MBB = MF.begin(), E = MF.end(); MBB != E; 69 ++MBB) { 70 MachineBasicBlock::iterator MBBI = MBB->begin(); 71 while (MBBI != MBB->end()) { 78 BuildMI(*MBB, MI, DL, LII.get(Lanai::ADD_I_LO), Dst) 92 MachineBasicBlock &MBB) const { 93 assert(&MF.front() == &MBB && "Shrink-wrapping not yet supported"); 98 MachineBasicBlock::iterator MBBI = MBB.begin(); 113 BuildMI(MBB, MBB 141 eliminateCallFramePseudoInstr( MachineFunction & , MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const argument [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | Thumb1FrameLowering.h | 25 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 26 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 28 bool spillCalleeSavedRegisters(MachineBasicBlock &MBB, 32 bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB, 41 MachineBasicBlock &MBB, 44 /// Check whether or not the given \p MBB can be used as a epilogue 48 /// \p MBB will be correctly handled by the target. 49 bool canUseAsEpilogue(const MachineBasicBlock &MBB) const override; 78 /// the code sequence in \p MBB. I.e., when \p DoIt is false, 79 /// \p MBB i [all...] |