Home
last modified time | relevance | path

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

12345678910>>...34

/openbsd-src/gnu/llvm/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 …]
/openbsd-src/gnu/llvm/llvm/lib/Target/X86/
H A DX86FrameLowering.h62 void emitStackProbe(MachineFunction &MF, MachineBasicBlock &MBB,
63 MachineBasicBlock::iterator MBBI, const DebugLoc &DL,
72 MachineBasicBlock &PrologMBB) const override;
75 MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI) const override;
77 void emitCalleeSavedFrameMoves(MachineBasicBlock &MBB,
78 MachineBasicBlock::iterator MBBI,
83 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
84 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
89 MachineBasicBlock &PrologueMBB) const override;
92 MachineBasicBlock &PrologueMBB) const override;
[all …]
/openbsd-src/gnu/llvm/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 …]
/openbsd-src/gnu/llvm/llvm/lib/Target/LoongArch/
H A DLoongArchExpandPseudoInsts.cpp52 bool expandMBB(MachineBasicBlock &MBB);
53 bool expandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
54 MachineBasicBlock::iterator &NextMBBI);
55 bool expandPcalau12iInstPair(MachineBasicBlock &MBB,
56 MachineBasicBlock::iterator MBBI,
57 MachineBasicBlock::iterator &NextMBBI,
60 bool expandLoadAddressPcrel(MachineBasicBlock &MBB,
61 MachineBasicBlock::iterator MBBI,
62 MachineBasicBlock::iterator &NextMBBI);
63 bool expandLoadAddressGot(MachineBasicBlock &MBB,
[all …]
H A DLoongArchInstrInfo.h30 void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
34 void storeRegToStackSlot(MachineBasicBlock &MBB,
35 MachineBasicBlock::iterator MBBI, Register SrcReg,
40 void loadRegFromStackSlot(MachineBasicBlock &MBB,
41 MachineBasicBlock::iterator MBBI, Register DstReg,
47 void movImm(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
53 MachineBasicBlock *getBranchDestBlock(const MachineInstr &MI) const override;
55 bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
56 MachineBasicBlock *&FBB,
63 unsigned removeBranch(MachineBasicBlock &MBB,
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/RISCV/
H A DRISCVExpandPseudoInsts.cpp45 bool expandMBB(MachineBasicBlock &MBB);
46 bool expandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
47 MachineBasicBlock::iterator &NextMBBI);
48 bool expandCCOp(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
49 MachineBasicBlock::iterator &NextMBBI);
50 bool expandVSetVL(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI);
51 bool expandVMSET_VMCLR(MachineBasicBlock &MBB,
52 MachineBasicBlock::iterator MBBI, unsigned Opcode);
65 bool RISCVExpandPseudo::expandMBB(MachineBasicBlock &MBB) { in expandMBB()
68 MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end(); in expandMBB()
[all …]
/openbsd-src/gnu/llvm/llvm/include/llvm/CodeGen/
H A DTailDuplicator.h29 class MachineBasicBlock; variable
57 using AvailableValsTy = std::vector<std::pair<MachineBasicBlock *, Register>>;
78 static bool isSimpleBB(MachineBasicBlock *TailBB);
79 bool shouldTailDuplicate(bool IsSimple, MachineBasicBlock &TailBB);
82 bool canTailDuplicate(MachineBasicBlock *TailBB, MachineBasicBlock *PredBB);
92 bool IsSimple, MachineBasicBlock *MBB,
93 MachineBasicBlock *ForcedLayoutPred,
94 SmallVectorImpl<MachineBasicBlock*> *DuplicatedPreds = nullptr,
95 function_ref<void(MachineBasicBlock *)> *RemovalCallback = nullptr,
96 SmallVectorImpl<MachineBasicBlock *> *CandidatePtr = nullptr);
[all …]
H A DMachineDominators.h35 inline void DominatorTreeBase<MachineBasicBlock, false>::addRoot( in addRoot()
36 MachineBasicBlock *MBB) { in addRoot()
40 extern template class DomTreeNodeBase<MachineBasicBlock>;
41 extern template class DominatorTreeBase<MachineBasicBlock, false>; // DomTree
42 extern template class DominatorTreeBase<MachineBasicBlock, true>; // PostDomTree
44 using MachineDomTree = DomTreeBase<MachineBasicBlock>;
45 using MachineDomTreeNode = DomTreeNodeBase<MachineBasicBlock>;
55 MachineBasicBlock *FromBB;
56 MachineBasicBlock *ToBB;
57 MachineBasicBlock *NewBB;
[all …]
H A DModuloSchedule.h71 class MachineBasicBlock; variable
166 using MBBVectorTy = SmallVectorImpl<MachineBasicBlock *>;
176 MachineBasicBlock *BB;
177 MachineBasicBlock *Preheader;
178 MachineBasicBlock *NewKernel = nullptr;
191 void generateProlog(unsigned LastStage, MachineBasicBlock *KernelBB,
193 void generateEpilog(unsigned LastStage, MachineBasicBlock *KernelBB,
194 MachineBasicBlock *OrigBB, ValueMapTy *VRMap,
197 void generateExistingPhis(MachineBasicBlock *NewBB, MachineBasicBlock *BB1,
198 MachineBasicBlock *BB2, MachineBasicBlock *KernelBB,
[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 …]
H A DMachineBasicBlock.h79 friend class MachineBasicBlock; // Set by the owning MachineBasicBlock.
81 MachineBasicBlock *Parent;
94 class MachineBasicBlock
95 : public ilist_node_with_parent<MachineBasicBlock, MachineFunction> {
118 std::vector<MachineBasicBlock *> Predecessors;
119 std::vector<MachineBasicBlock *> Successors;
200 MachineBasicBlock() = default;
202 explicit MachineBasicBlock(MachineFunction &MF, const BasicBlock *BB);
204 ~MachineBasicBlock();
325 static Instructions MachineBasicBlock::*getSublistAccess(MachineInstr *) {
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/Hexagon/
H A DHexagonFrameLowering.h41 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const
43 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const in emitEpilogue()
48 bool spillCalleeSavedRegisters(MachineBasicBlock &MBB, in spillCalleeSavedRegisters()
49 MachineBasicBlock::iterator MI, in spillCalleeSavedRegisters()
56 restoreCalleeSavedRegisters(MachineBasicBlock &MBB, in restoreCalleeSavedRegisters()
57 MachineBasicBlock::iterator MI, in restoreCalleeSavedRegisters()
74 MachineBasicBlock::iterator
75 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
76 MachineBasicBlock::iterator I) const override;
118 void insertPrologueInBlock(MachineBasicBlock &MBB, bool PrologueStubs) const;
[all …]
/openbsd-src/gnu/llvm/llvm/lib/CodeGen/
H A DBranchFolding.h52 MachineBasicBlock *Block;
55 MergePotentialsElt(unsigned h, MachineBasicBlock *b) in MergePotentialsElt()
59 MachineBasicBlock *getBlock() const { return Block; } in getBlock()
61 void setBlock(MachineBasicBlock *MBB) { in setBlock()
71 SmallPtrSet<const MachineBasicBlock*, 2> TriedMerging;
72 DenseMap<const MachineBasicBlock *, int> EHScopeMembership;
76 MachineBasicBlock::iterator TailStartPos;
79 SameTailElt(MPIterator mp, MachineBasicBlock::iterator tsp) in SameTailElt()
90 MachineBasicBlock::iterator getTailStartPos() const { in getTailStartPos()
98 MachineBasicBlock *getBlock() const { in getBlock()
[all …]
H A DMachineBasicBlock.cpp49 MachineBasicBlock::MachineBasicBlock(MachineFunction &MF, const BasicBlock *B) in MachineBasicBlock() function in MachineBasicBlock
56 MachineBasicBlock::~MachineBasicBlock() = default;
59 MCSymbol *MachineBasicBlock::getSymbol() const { in getSymbol()
90 MCSymbol *MachineBasicBlock::getEHCatchretSymbol() const { in getEHCatchretSymbol()
101 MCSymbol *MachineBasicBlock::getEndSymbol() const { in getEndSymbol()
113 raw_ostream &llvm::operator<<(raw_ostream &OS, const MachineBasicBlock &MBB) { in operator <<()
118 Printable llvm::printMBBReference(const MachineBasicBlock &MBB) { in printMBBReference()
129 void ilist_callback_traits<MachineBasicBlock>::addNodeToList( in addNodeToList()
130 MachineBasicBlock *N) { in addNodeToList()
140 void ilist_callback_traits<MachineBasicBlock>::removeNodeFromList( in removeNodeFromList()
[all …]
H A DMachineBlockPlacement.cpp238 using BlockToChainMapType = DenseMap<const MachineBasicBlock *, BlockChain *>;
256 SmallVector<MachineBasicBlock *, 4> Blocks;
272 BlockChain(BlockToChainMapType &BlockToChain, MachineBasicBlock *BB) in BlockChain()
279 using iterator = SmallVectorImpl<MachineBasicBlock *>::iterator;
280 using const_iterator = SmallVectorImpl<MachineBasicBlock *>::const_iterator;
290 bool remove(MachineBasicBlock* BB) { in remove()
306 void merge(MachineBasicBlock *BB, BlockChain *Chain) { in merge()
324 for (MachineBasicBlock *ChainBB : *Chain) { in merge()
334 for (MachineBasicBlock *MBB : *this) in dump()
353 using BlockFilterSet = SmallSetVector<const MachineBasicBlock *, 16>;
[all …]
H A DBranchRelaxation.cpp67 unsigned postOffset(const MachineBasicBlock &MBB) const { in postOffset()
91 MachineBasicBlock *createNewBlockAfter(MachineBasicBlock &OrigMBB);
92 MachineBasicBlock *createNewBlockAfter(MachineBasicBlock &OrigMBB,
95 MachineBasicBlock *splitBlockBeforeInstr(MachineInstr &MI,
96 MachineBasicBlock *DestBB);
97 void adjustBlockOffsets(MachineBasicBlock &Start);
98 bool isBlockInRange(const MachineInstr &MI, const MachineBasicBlock &BB) const;
102 uint64_t computeBlockSize(const MachineBasicBlock &MBB) const;
129 for (MachineBasicBlock &MBB : *MF) { in INITIALIZE_PASS()
159 for (MachineBasicBlock &MBB : *MF) in scanFunction()
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/SystemZ/
H A DSystemZInstrInfo.h131 MachineBasicBlock *getMBBTarget() { in getMBBTarget()
164 MachineBasicBlock *emitBlockAfter(MachineBasicBlock *MBB);
167 MachineBasicBlock *splitBlockAfter(MachineBasicBlock::iterator MI,
168 MachineBasicBlock *MBB);
170 MachineBasicBlock *splitBlockBefore(MachineBasicBlock::iterator MI,
171 MachineBasicBlock *MBB);
178 void splitMove(MachineBasicBlock::iterator MI, unsigned NewOpcode) const;
179 void splitAdjDynAlloc(MachineBasicBlock::iterator MI) const;
193 emitGRX32Move(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
226 bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
[all …]
/openbsd-src/gnu/llvm/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 …]
/openbsd-src/gnu/llvm/llvm/lib/Target/XCore/
H A DXCoreInstrInfo.h52 bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
53 MachineBasicBlock *&FBB,
57 unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
58 MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
62 unsigned removeBranch(MachineBasicBlock &MBB,
65 void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
69 void storeRegToStackSlot(MachineBasicBlock &MBB,
70 MachineBasicBlock::iterator MI, Register SrcReg,
76 void loadRegFromStackSlot(MachineBasicBlock &MBB,
77 MachineBasicBlock::iterator MI, Register DestReg,
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/AArch64/
H A DAArch64FrameLowering.h31 void resetCFIToInitialState(MachineBasicBlock &MBB) const override;
33 MachineBasicBlock::iterator
34 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
35 MachineBasicBlock::iterator I) const override;
39 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
40 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
44 bool canUseAsPrologue(const MachineBasicBlock &MBB) const override;
55 bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
56 MachineBasicBlock::iterator MI,
61 restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
[all …]

12345678910>>...34