Lines Matching refs:MachineBasicBlock
29 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);
102 MachineBasicBlock *BB);
103 void processPHI(MachineInstr *MI, MachineBasicBlock *TailBB,
104 MachineBasicBlock *PredBB,
108 void duplicateInstruction(MachineInstr *MI, MachineBasicBlock *TailBB,
109 MachineBasicBlock *PredBB,
112 void updateSuccessorsPHIs(MachineBasicBlock *FromBB, bool isDead,
113 SmallVectorImpl<MachineBasicBlock *> &TDBBs,
114 SmallSetVector<MachineBasicBlock *, 8> &Succs);
115 bool canCompletelyDuplicateBB(MachineBasicBlock &BB);
116 bool duplicateSimpleBB(MachineBasicBlock *TailBB,
117 SmallVectorImpl<MachineBasicBlock *> &TDBBs,
120 MachineBasicBlock *TailBB,
121 MachineBasicBlock *ForcedLayoutPred,
122 SmallVectorImpl<MachineBasicBlock *> &TDBBs,
124 SmallVectorImpl<MachineBasicBlock *> *CandidatePtr);
125 void appendCopies(MachineBasicBlock *MBB,
130 MachineBasicBlock *MBB,
131 function_ref<void(MachineBasicBlock *)> *RemovalCallback = nullptr);