Home
last modified time | relevance | path

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

12345678910>>...36

/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 *DstMB
[all...]
H A DAMDGPUMachineCFGStructurizer.cpp
H A DSIOptimizeVGPRLiveRange.cpp105 MachineBasicBlock *getElseTarget(MachineBasicBlock *MBB) const;
107 void collectElseRegionBlocks(MachineBasicBlock *Flow,
108 MachineBasicBlock *Endif,
109 SmallSetVector<MachineBasicBlock *, 16> &) const;
112 collectCandidateRegisters(MachineBasicBlock *If, MachineBasicBlock *Flow,
113 MachineBasicBlock *Endif,
114 SmallSetVector<MachineBasicBlock *, 16> &ElseBlocks,
118 MachineBasicBlock *LoopHeade
185 collectElseRegionBlocks(MachineBasicBlock * Flow,MachineBasicBlock * Endif,SmallSetVector<MachineBasicBlock *,16> & Blocks) const collectElseRegionBlocks() argument
224 collectCandidateRegisters(MachineBasicBlock * If,MachineBasicBlock * Flow,MachineBasicBlock * Endif,SmallSetVector<MachineBasicBlock *,16> & ElseBlocks,SmallVectorImpl<Register> & CandidateRegs) const collectCandidateRegisters() argument
333 collectWaterfallCandidateRegisters(MachineBasicBlock * LoopHeader,MachineBasicBlock * LoopEnd,SmallSetVector<Register,16> & CandidateRegs,SmallSetVector<MachineBasicBlock *,2> & Blocks,SmallVectorImpl<MachineInstr * > & Instructions) const collectWaterfallCandidateRegisters() argument
472 updateLiveRangeInElseRegion(Register Reg,Register NewReg,MachineBasicBlock * Flow,MachineBasicBlock * Endif,SmallSetVector<MachineBasicBlock *,16> & ElseBlocks) const updateLiveRangeInElseRegion() argument
502 optimizeLiveRange(Register Reg,MachineBasicBlock * If,MachineBasicBlock * Flow,MachineBasicBlock * Endif,SmallSetVector<MachineBasicBlock *,16> & ElseBlocks) const optimizeLiveRange() argument
554 optimizeWaterfallLiveRange(Register Reg,MachineBasicBlock * LoopHeader,SmallSetVector<MachineBasicBlock *,2> & Blocks,SmallVectorImpl<MachineInstr * > & Instructions) const optimizeWaterfallLiveRange() argument
[all...]
/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
[all...]
H A DX86WinFixupBufferSecurityCheck.cpp42 std::pair<MachineBasicBlock *, MachineInstr *>
45 void getGuardCheckSequence(MachineBasicBlock *CurMBB, MachineInstr *CheckCall,
48 void SplitBasicBlock(MachineBasicBlock *CurMBB, MachineBasicBlock *NewRetMBB,
49 MachineBasicBlock::iterator SplitIt);
51 void FinishBlock(MachineBasicBlock *MBB);
53 void FinishFunction(MachineBasicBlock *FailMBB, MachineBasicBlock *NewRetMBB);
56 CreateFailCheckSequence(MachineBasicBlock *CurMBB, MachineBasicBlock *FailMB
[all...]
/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchExpandPseudoInsts.cpp59 bool expandMBB(MachineBasicBlock &MBB);
60 bool expandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
61 MachineBasicBlock::iterator &NextMBBI);
62 bool expandPcalau12iInstPair(MachineBasicBlock &MBB,
63 MachineBasicBlock::iterator MBBI,
64 MachineBasicBlock::iterator &NextMBBI,
67 bool expandLargeAddressLoad(MachineBasicBlock &MBB,
68 MachineBasicBlock::iterator MBBI,
69 MachineBasicBlock
[all...]
/llvm-project/llvm/lib/Target/Mips/
H A DMipsSEISelLowering.h22 class MachineBasicBlock; variable
55 MachineBasicBlock *
57 MachineBasicBlock *MBB) const override; in isShuffleMaskLegal()
94 MachineBasicBlock *emitBPOSGE32(MachineInstr &MI,
95 MachineBasicBlock *BB) const;
96 MachineBasicBlock *emitMSACBranchPseudo(MachineInstr &MI,
97 MachineBasicBlock *BB,
100 MachineBasicBlock *emitCOPY_FW(MachineInstr &MI,
101 MachineBasicBlock *BB) const;
103 MachineBasicBlock *emitCOPY_F
[all...]
H A DMipsSEInstrInfo.h45 void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
51 MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, Register SrcReg,
57 MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, Register DestReg,
69 void adjustStackPtr(unsigned SP, int64_t Amount, MachineBasicBlock &MBB,
70 MachineBasicBlock::iterator I) const override;
75 unsigned loadImmediate(int64_t Imm, MachineBasicBlock &MBB,
76 MachineBasicBlock
[all...]
H A DMipsInstrInfo.h24 #include "llvm/CodeGen/MachineBasicBlock.h"
63 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 *
[all...]
H A DMips16InstrInfo.h18 #include "llvm/CodeGen/MachineBasicBlock.h"
51 void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
57 MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, Register SrcReg,
63 MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
73 void makeFrame(unsigned SP, int64_t FrameSize, MachineBasicBlock &MBB,
74 MachineBasicBlock::iterator I) const;
77 void restoreFrame(unsigned SP, int64_t FrameSize, MachineBasicBlock
[all...]
/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 *)> *RemovalCallbac
[all...]
H A DMachineDominators.h19 #include "llvm/CodeGen/MachineBasicBlock.h"
36 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 *Fro
[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 *BB
[all...]
H A DMachineBasicBlock.h1 //===- llvm/CodeGen/MachineBasicBlock.h -------------------------*- C++ -*-===//
109 friend class MachineBasicBlock; // Set by the owning MachineBasicBlock.
111 MachineBasicBlock *Parent;
124 class MachineBasicBlock
125 : public ilist_node_with_parent<MachineBasicBlock, MachineFunction> {
161 SmallVector<MachineBasicBlock *, 4> Predecessors;
162 SmallVector<MachineBasicBlock *, 2> Successors;
189 /// Indicate that this MachineBasicBlock is referenced somewhere other than
193 /// If this MachineBasicBlock correspond
[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 …]
/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonFrameLowering.h16 #include "llvm/CodeGen/MachineBasicBlock.h"
45 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
[all...]
/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.cpp1 //===-- llvm/CodeGen/MachineBasicBlock.cpp ----------------------*- C++ -*-===//
13 #include "llvm/CodeGen/MachineBasicBlock.h"
53 MachineBasicBlock::MachineBasicBlock(MachineFunction &MF, const BasicBlock *B) in MachineBasicBlock()
60 MachineBasicBlock::~MachineBasicBlock() = default;
63 MCSymbol *MachineBasicBlock::getSymbol() const { in getSymbol()
95 MCSymbol *MachineBasicBlock::getEHCatchretSymbol() const { in getEHCatchretSymbol()
106 MCSymbol *MachineBasicBlock::getEndSymbol() const { in getEndSymbol()
117 raw_ostream &llvm::operator<<(raw_ostream &OS, const MachineBasicBlock in operator <<()
51 MachineBasicBlock::MachineBasicBlock(MachineFunction &MF, const BasicBlock *B) MachineBasicBlock() function in MachineBasicBlock
[all...]
H A DMachineBlockPlacement.cpp38 #include "llvm/CodeGen/MachineBasicBlock.h"
247 using BlockToChainMapType = DenseMap<const MachineBasicBlock *, BlockChain *>;
265 SmallVector<MachineBasicBlock *, 4> Blocks;
281 BlockChain(BlockToChainMapType &BlockToChain, MachineBasicBlock *BB)
288 using iterator = SmallVectorImpl<MachineBasicBlock *>::iterator;
289 using const_iterator = SmallVectorImpl<MachineBasicBlock *>::const_iterator; in remove()
299 bool remove(MachineBasicBlock *BB) {
315 void merge(MachineBasicBlock *BB, BlockChain *Chain) { in merge()
333 for (MachineBasicBlock *ChainBB : *Chain) { in dump()
343 for (MachineBasicBlock *MB
710 collectViableSuccessors(const MachineBasicBlock * BB,const BlockChain & Chain,const BlockFilterSet * BlockFilter,SmallVector<MachineBasicBlock *,4> & Successors) collectViableSuccessors() argument
[all...]
H A DShrinkWrap.cpp57 #include "llvm/CodeGen/MachineBasicBlock.h"
122 MachineBasicBlock *Save = nullptr;
127 MachineBasicBlock *Restore = nullptr;
153 const MachineBasicBlock *Entry = nullptr;
196 void updateSaveRestorePoints(MachineBasicBlock &MBB, RegScavenger *RS);
201 const ReversePostOrderTraversal<MachineBasicBlock *> &RPOT,
218 const MachineBasicBlock *CurRestore,
219 const DenseSet<const MachineBasicBlock *> &ReachableByDirty,
220 SmallVectorImpl<MachineBasicBlock *> &DirtyPreds,
221 SmallVectorImpl<MachineBasicBlock *>
[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...]
/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
[all...]
/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 expandVMSET_VMCLR(MachineBasicBlock &MBB,
50 MachineBasicBlock::iterator MBBI, unsigned Opcode);
51 bool expandMV_FPR16INX(MachineBasicBlock
[all...]
/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZInstrInfo.h19 #include "llvm/CodeGen/MachineBasicBlock.h"
142 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 *MB
[all...]
/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
[all...]

12345678910>>...36