Searched refs:MBB (Results 1 - 25 of 513) sorted by relevance

1234567891011>>

/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/
H A DPHIEliminationUtils.cpp16 // 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 DBranchRelaxation.cpp65 /// 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 DEdgeBundles.cpp45 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 DPHIEliminationUtils.h15 /// findPHICopyInsertPoint - Find a safe place in MBB to insert a copy from
20 findPHICopyInsertPoint(MachineBasicBlock* MBB, MachineBasicBlock* SuccMBB,
H A DCFIInstrInserter.cpp70 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 DMachineSizeOpts.cpp29 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 DMIRCanonicalizerPass.cpp88 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 DAArch64BranchTargets.cpp41 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 DAArch64A53Fix835769.cpp105 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 DAVRRelaxMemOperations.cpp48 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 DX86IndirectBranchTracking.cpp57 /// 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 DX86PadShortFunction.cpp74 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 DX86ExpandPseudo.cpp62 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 DWasmEHFuncInfo.h43 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 DWebAssemblyLateEHPrepare.cpp67 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 DWebAssemblyDebugValueManager.cpp27 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 DWebAssemblyCFGSort.cpp52 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 DNVPTXFrameLowering.cpp33 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 DMipsSEFrameLowering.h27 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 DMipsSEInstrInfo.h45 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 DMSP430FrameLowering.h30 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 DPPCCTRLoops.cpp128 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 DPPCFrameLowering.h45 * \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 DLanaiFrameLowering.cpp68 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 DThumb1FrameLowering.h25 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...]

Completed in 308 milliseconds

1234567891011>>