Home
last modified time | relevance | path

Searched refs:MachineBasicBlock (Results 1 – 25 of 851) sorted by relevance

12345678910>>...35

/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DR600MachineCFGStructurizer.cpp95 using MBBVector = SmallVector<MachineBasicBlock *, 32>;
96 using MBBInfoMap = std::map<MachineBasicBlock *, BlockInformation *>;
97 using LoopLandInfoMap = std::map<MachineLoop *, MachineBasicBlock *>;
182 int getSCCNum(MachineBasicBlock *MBB) const;
183 MachineBasicBlock *getLoopLandInfo(MachineLoop *LoopRep) const;
184 bool hasBackEdge(MachineBasicBlock *MBB) const;
185 bool isRetiredBlock(MachineBasicBlock *MBB) const;
186 bool isActiveLoophead(MachineBasicBlock *MBB) const;
187 PathToKind singlePathTo(MachineBasicBlock *SrcMBB, MachineBasicBlock *DstMBB,
191 bool needMigrateBlock(MachineBasicBlock *MBB) const;
[all …]
H A DR600InstrInfo.h47 MachineInstrBuilder buildIndirectRead(MachineBasicBlock *MBB,
48 MachineBasicBlock::iterator I,
53 MachineInstrBuilder buildIndirectWrite(MachineBasicBlock *MBB,
54 MachineBasicBlock::iterator I,
74 void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
77 bool isLegalToSplitMBBAt(MachineBasicBlock &MBB,
78 MachineBasicBlock::iterator MBBI) const override;
166 bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
167 MachineBasicBlock *&FBB,
171 unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
[all …]
H A DSIOptimizeVGPRLiveRange.cpp102 MachineBasicBlock *getElseTarget(MachineBasicBlock *MBB) const;
104 void collectElseRegionBlocks(MachineBasicBlock *Flow,
105 MachineBasicBlock *Endif,
106 SmallSetVector<MachineBasicBlock *, 16> &) const;
109 collectCandidateRegisters(MachineBasicBlock *If, MachineBasicBlock *Flow,
110 MachineBasicBlock *Endif,
111 SmallSetVector<MachineBasicBlock *, 16> &ElseBlocks,
115 MachineBasicBlock *LoopHeader, MachineBasicBlock *LoopEnd,
117 SmallSetVector<MachineBasicBlock *, 2> &Blocks,
120 void findNonPHIUsesInBlock(Register Reg, MachineBasicBlock *MBB,
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86FrameLowering.h57 void emitStackProbe(MachineFunction &MF, MachineBasicBlock &MBB,
58 MachineBasicBlock::iterator MBBI, const DebugLoc &DL,
67 MachineBasicBlock &PrologMBB) const override;
70 MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI) const override;
72 void emitCalleeSavedFrameMoves(MachineBasicBlock &MBB,
73 MachineBasicBlock::iterator MBBI,
78 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
79 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
82 MachineBasicBlock &PrologueMBB) const override;
85 MachineBasicBlock &PrologueMBB) const override;
[all …]
H A DX86WinFixupBufferSecurityCheck.cpp44 std::pair<MachineBasicBlock *, MachineInstr *>
47 void getGuardCheckSequence(MachineBasicBlock *CurMBB, MachineInstr *CheckCall,
50 void SplitBasicBlock(MachineBasicBlock *CurMBB, MachineBasicBlock *NewRetMBB,
51 MachineBasicBlock::iterator SplitIt);
53 void FinishBlock(MachineBasicBlock *MBB);
55 void FinishFunction(MachineBasicBlock *FailMBB, MachineBasicBlock *NewRetMBB);
58 CreateFailCheckSequence(MachineBasicBlock *CurMBB, MachineBasicBlock *FailMBB,
73 MachineBasicBlock *CurMBB, MachineBasicBlock *NewRetMBB, in SplitBasicBlock()
74 MachineBasicBlock::iterator SplitIt) { in SplitBasicBlock()
78 std::pair<MachineBasicBlock *, MachineInstr *>
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchExpandPseudoInsts.cpp57 bool expandMBB(MachineBasicBlock &MBB);
58 bool expandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
59 MachineBasicBlock::iterator &NextMBBI);
60 bool expandPcalau12iInstPair(MachineBasicBlock &MBB,
61 MachineBasicBlock::iterator MBBI,
62 MachineBasicBlock::iterator &NextMBBI,
65 bool expandLoadAddressPcrel(MachineBasicBlock &MBB,
66 MachineBasicBlock::iterator MBBI,
67 MachineBasicBlock::iterator &NextMBBI);
68 bool expandLoadAddressGot(MachineBasicBlock &MBB,
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DTailDuplicator.h29 class MachineBasicBlock; variable
56 using AvailableValsTy = std::vector<std::pair<MachineBasicBlock *, Register>>;
77 static bool isSimpleBB(MachineBasicBlock *TailBB);
78 bool shouldTailDuplicate(bool IsSimple, MachineBasicBlock &TailBB);
81 bool canTailDuplicate(MachineBasicBlock *TailBB, MachineBasicBlock *PredBB);
91 bool IsSimple, MachineBasicBlock *MBB,
92 MachineBasicBlock *ForcedLayoutPred,
93 SmallVectorImpl<MachineBasicBlock*> *DuplicatedPreds = nullptr,
94 function_ref<void(MachineBasicBlock *)> *RemovalCallback = nullptr,
95 SmallVectorImpl<MachineBasicBlock *> *CandidatePtr = nullptr);
[all …]
H A DMachineDominators.h36 inline void DominatorTreeBase<MachineBasicBlock, false>::addRoot( in addRoot()
37 MachineBasicBlock *MBB) { in addRoot()
41 extern template class DomTreeNodeBase<MachineBasicBlock>;
42 extern template class DominatorTreeBase<MachineBasicBlock, false>; // DomTree
44 using MachineDomTreeNode = DomTreeNodeBase<MachineBasicBlock>;
47 using MBBDomTree = DomTreeBase<MachineBasicBlock>;
48 using MBBUpdates = ArrayRef<llvm::cfg::Update<MachineBasicBlock *>>;
49 using MBBDomTreeGraphDiff = GraphDiff<MachineBasicBlock *, false>;
56 MachineBasicBlock *From,
57 MachineBasicBlock *To);
[all …]
H A DModuloSchedule.h72 class MachineBasicBlock; variable
167 using MBBVectorTy = SmallVectorImpl<MachineBasicBlock *>;
177 MachineBasicBlock *BB = nullptr;
178 MachineBasicBlock *Preheader = nullptr;
179 MachineBasicBlock *NewKernel = nullptr;
192 void generateProlog(unsigned LastStage, MachineBasicBlock *KernelBB,
194 void generateEpilog(unsigned LastStage, MachineBasicBlock *KernelBB,
195 MachineBasicBlock *OrigBB, ValueMapTy *VRMap,
198 void generateExistingPhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1,
199 MachineBasicBlock *BB2, MachineBasicBlock *KernelBB,
[all …]
H A DMachineBasicBlock.h108 friend class MachineBasicBlock; // Set by the owning MachineBasicBlock.
110 MachineBasicBlock *Parent;
123 class MachineBasicBlock
124 : public ilist_node_with_parent<MachineBasicBlock, MachineFunction> {
160 std::vector<MachineBasicBlock *> Predecessors;
161 std::vector<MachineBasicBlock *> Successors;
242 MachineBasicBlock() = default;
244 explicit MachineBasicBlock(MachineFunction &MF, const BasicBlock *BB);
246 ~MachineBasicBlock();
370 static Instructions MachineBasicBlock::*getSublistAccess(MachineInstr *) {
[all …]
H A DMachineInstrBundle.h27 void finalizeBundle(MachineBasicBlock &MBB,
28 MachineBasicBlock::instr_iterator FirstMI,
29 MachineBasicBlock::instr_iterator LastMI);
36 MachineBasicBlock::instr_iterator finalizeBundle(MachineBasicBlock &MBB,
37 MachineBasicBlock::instr_iterator FirstMI);
44 inline MachineBasicBlock::instr_iterator getBundleStart( in getBundleStart()
45 MachineBasicBlock::instr_iterator I) { in getBundleStart()
52 inline MachineBasicBlock::const_instr_iterator getBundleStart( in getBundleStart()
53 MachineBasicBlock::const_instr_iterator I) { in getBundleStart()
60 inline MachineBasicBlock::instr_iterator getBundleEnd( in getBundleEnd()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMipsSEISelLowering.h22 class MachineBasicBlock; variable
52 MachineBasicBlock *
54 MachineBasicBlock *MBB) const override;
91 MachineBasicBlock *emitBPOSGE32(MachineInstr &MI,
92 MachineBasicBlock *BB) const;
93 MachineBasicBlock *emitMSACBranchPseudo(MachineInstr &MI,
94 MachineBasicBlock *BB,
97 MachineBasicBlock *emitCOPY_FW(MachineInstr &MI,
98 MachineBasicBlock *BB) const;
100 MachineBasicBlock *emitCOPY_FD(MachineInstr &MI,
[all …]
H A DMipsSEInstrInfo.h45 void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
49 void storeRegToStack(MachineBasicBlock &MBB,
50 MachineBasicBlock::iterator MI,
56 void loadRegFromStack(MachineBasicBlock &MBB,
57 MachineBasicBlock::iterator MI,
70 void adjustStackPtr(unsigned SP, int64_t Amount, MachineBasicBlock &MBB,
71 MachineBasicBlock::iterator I) const override;
76 unsigned loadImmediate(int64_t Imm, MachineBasicBlock &MBB,
77 MachineBasicBlock::iterator II, const DebugLoc &DL,
90 void expandRetRA(MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const;
[all …]
H A DMipsInstrInfo.h63 bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
64 MachineBasicBlock *&FBB,
68 unsigned removeBranch(MachineBasicBlock &MBB,
71 unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
72 MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
79 BranchType analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
80 MachineBasicBlock *&FBB,
86 unsigned getEquivalentCompactForm(const MachineBasicBlock::iterator I) const;
113 void insertNoop(MachineBasicBlock &MBB,
114 MachineBasicBlock::iterator MI) const override;
[all …]
H A DMips16InstrInfo.h51 void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
55 void storeRegToStack(MachineBasicBlock &MBB,
56 MachineBasicBlock::iterator MBBI,
62 void loadRegFromStack(MachineBasicBlock &MBB,
63 MachineBasicBlock::iterator MBBI,
74 void makeFrame(unsigned SP, int64_t FrameSize, MachineBasicBlock &MBB,
75 MachineBasicBlock::iterator I) const;
78 void restoreFrame(unsigned SP, int64_t FrameSize, MachineBasicBlock &MBB,
79 MachineBasicBlock::iterator I) const;
82 void adjustStackPtr(unsigned SP, int64_t Amount, MachineBasicBlock &MBB,
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonFrameLowering.h45 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const
47 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const in emitEpilogue()
52 bool spillCalleeSavedRegisters(MachineBasicBlock &MBB, in spillCalleeSavedRegisters()
53 MachineBasicBlock::iterator MI, in spillCalleeSavedRegisters()
60 restoreCalleeSavedRegisters(MachineBasicBlock &MBB, in restoreCalleeSavedRegisters()
61 MachineBasicBlock::iterator MI, in restoreCalleeSavedRegisters()
78 MachineBasicBlock::iterator
79 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
80 MachineBasicBlock::iterator I) const override;
122 void insertPrologueInBlock(MachineBasicBlock &MBB, bool PrologueStubs) const;
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DBranchFolding.h52 MachineBasicBlock *Block;
56 MergePotentialsElt(unsigned h, MachineBasicBlock *b, DebugLoc bdl) in MergePotentialsElt()
60 MachineBasicBlock *getBlock() const { return Block; } in getBlock()
62 void setBlock(MachineBasicBlock *MBB) { in setBlock()
74 SmallPtrSet<const MachineBasicBlock*, 2> TriedMerging;
75 DenseMap<const MachineBasicBlock *, int> EHScopeMembership;
79 MachineBasicBlock::iterator TailStartPos;
82 SameTailElt(MPIterator mp, MachineBasicBlock::iterator tsp) in SameTailElt()
93 MachineBasicBlock::iterator getTailStartPos() const { in getTailStartPos()
101 MachineBasicBlock *getBlock() const { in getBlock()
[all …]
H A DMachineBasicBlock.cpp51 MachineBasicBlock::MachineBasicBlock(MachineFunction &MF, const BasicBlock *B) in MachineBasicBlock() function in MachineBasicBlock
58 MachineBasicBlock::~MachineBasicBlock() = default;
61 MCSymbol *MachineBasicBlock::getSymbol() const { in getSymbol()
93 MCSymbol *MachineBasicBlock::getEHCatchretSymbol() const { in getEHCatchretSymbol()
104 MCSymbol *MachineBasicBlock::getEndSymbol() const { in getEndSymbol()
115 raw_ostream &llvm::operator<<(raw_ostream &OS, const MachineBasicBlock &MBB) { in operator <<()
120 Printable llvm::printMBBReference(const MachineBasicBlock &MBB) { in printMBBReference()
131 void ilist_callback_traits<MachineBasicBlock>::addNodeToList( in addNodeToList()
132 MachineBasicBlock *N) { in addNodeToList()
142 void ilist_callback_traits<MachineBasicBlock>::removeNodeFromList( in removeNodeFromList()
[all …]
H A DMachineBlockPlacement.cpp237 using BlockToChainMapType = DenseMap<const MachineBasicBlock *, BlockChain *>;
255 SmallVector<MachineBasicBlock *, 4> Blocks;
271 BlockChain(BlockToChainMapType &BlockToChain, MachineBasicBlock *BB) in BlockChain()
278 using iterator = SmallVectorImpl<MachineBasicBlock *>::iterator;
279 using const_iterator = SmallVectorImpl<MachineBasicBlock *>::const_iterator;
289 bool remove(MachineBasicBlock* BB) { in remove()
305 void merge(MachineBasicBlock *BB, BlockChain *Chain) { in merge()
323 for (MachineBasicBlock *ChainBB : *Chain) { in merge()
333 for (MachineBasicBlock *MBB : *this) in dump()
352 using BlockFilterSet = SmallSetVector<const MachineBasicBlock *, 16>;
[all …]
H A DShrinkWrap.cpp123 MachineBasicBlock *Save = nullptr;
128 MachineBasicBlock *Restore = nullptr;
154 const MachineBasicBlock *Entry = nullptr;
197 void updateSaveRestorePoints(MachineBasicBlock &MBB, RegScavenger *RS);
202 const ReversePostOrderTraversal<MachineBasicBlock *> &RPOT,
219 const MachineBasicBlock *CurRestore,
220 const DenseSet<const MachineBasicBlock *> &ReachableByDirty,
221 SmallVectorImpl<MachineBasicBlock *> &DirtyPreds,
222 SmallVectorImpl<MachineBasicBlock *> &CleanPreds,
377 static MachineBasicBlock *FindIDom(MachineBasicBlock &Block, ListOfBBs BBs, in FindIDom()
[all …]
H A DBranchRelaxation.cpp12 #include "llvm/CodeGen/MachineBasicBlock.h"
68 unsigned postOffset(const MachineBasicBlock &MBB) const { in postOffset()
85 MachineBasicBlock *TrampolineInsertionPoint = nullptr;
86 SmallDenseSet<std::pair<MachineBasicBlock *, MachineBasicBlock *>>
99 MachineBasicBlock *createNewBlockAfter(MachineBasicBlock &OrigMBB);
100 MachineBasicBlock *createNewBlockAfter(MachineBasicBlock &OrigMBB,
103 MachineBasicBlock *splitBlockBeforeInst
[all...]
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64FrameLowering.h28 void resetCFIToInitialState(MachineBasicBlock &MBB) const override;
30 MachineBasicBlock::iterator
31 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
32 MachineBasicBlock::iterator I) const override;
36 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
37 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
41 bool canUseAsPrologue(const MachineBasicBlock &MBB) const override;
54 bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
55 MachineBasicBlock::iterator MI,
60 restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZInstrInfo.h142 MachineBasicBlock *getMBBTarget() { in getMBBTarget()
175 MachineBasicBlock *emitBlockAfter(MachineBasicBlock *MBB);
178 MachineBasicBlock *splitBlockAfter(MachineBasicBlock::iterator MI,
179 MachineBasicBlock *MBB);
181 MachineBasicBlock *splitBlockBefore(MachineBasicBlock::iterator MI,
182 MachineBasicBlock *MBB);
189 void splitMove(MachineBasicBlock::iterator MI, unsigned NewOpcode) const;
190 void splitAdjDynAlloc(MachineBasicBlock::iterator MI) const;
204 emitGRX32Move(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
237 bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVExpandPseudoInsts.cpp44 bool expandMBB(MachineBasicBlock &MBB);
45 bool expandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
46 MachineBasicBlock::iterator &NextMBBI);
47 bool expandCCOp(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
48 MachineBasicBlock::iterator &NextMBBI);
49 bool expandVSetVL(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI);
50 bool expandVMSET_VMCLR(MachineBasicBlock &MBB,
51 MachineBasicBlock::iterator MBBI, unsigned Opcode);
52 bool expandRV32ZdinxStore(MachineBasicBlock &MBB,
53 MachineBasicBlock::iterator MBBI);
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/M68k/
H A DM68kFrameLowering.h46 MachineInstrBuilder BuildStackAdjustment(MachineBasicBlock &MBB,
47 MachineBasicBlock::iterator MBBI,
52 void BuildStackAlignAND(MachineBasicBlock &MBB,
53 MachineBasicBlock::iterator MBBI, const DebugLoc &DL,
57 void BuildCFI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
60 void emitPrologueCalleeSavedFrameMoves(MachineBasicBlock &MBB,
61 MachineBasicBlock::iterator MBBI,
77 MachineBasicBlock::iterator
78 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
79 MachineBasicBlock::iterator MI) const override;
[all …]

12345678910>>...35