Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:MachineBasicBlock

54     SmallSet<std::pair<MachineBasicBlock*,MachineBasicBlock*>, 8>
80 bool ProcessBlock(MachineBasicBlock &MBB);
82 MachineBasicBlock *From,
83 MachineBasicBlock *To);
84 MachineBasicBlock *SplitCriticalEdge(MachineInstr *MI,
85 MachineBasicBlock *From,
86 MachineBasicBlock *To,
89 bool AllUsesDominatedByBlock(unsigned Reg, MachineBasicBlock *MBB,
90 MachineBasicBlock *DefMBB,
92 MachineBasicBlock *FindSuccToSinkTo(MachineInstr *MI, MachineBasicBlock *MBB,
95 MachineBasicBlock *MBB,
96 MachineBasicBlock *SuccToSinkTo);
99 MachineBasicBlock *MBB);
105 bool operator()(const MachineBasicBlock *LHS,
106 const MachineBasicBlock *RHS) const {
124 MachineBasicBlock *MBB) {
157 MachineBasicBlock *MBB,
158 MachineBasicBlock *DefMBB,
188 MachineBasicBlock *UseBlock = UseInst->getParent();
203 MachineBasicBlock *UseBlock = UseInst->getParent();
250 bool MachineSinking::ProcessBlock(MachineBasicBlock &MBB) {
262 MachineBasicBlock::iterator I = MBB.end();
293 MachineBasicBlock *From,
294 MachineBasicBlock *To) {
322 MachineBasicBlock *MachineSinking::SplitCriticalEdge(MachineInstr *MI,
323 MachineBasicBlock *FromBB,
324 MachineBasicBlock *ToBB,
378 for (MachineBasicBlock::pred_iterator PI = ToBB->pred_begin(),
402 MachineBasicBlock::iterator DI = MI; ++DI;
403 for (MachineBasicBlock::iterator DE = MI->getParent()->end();
414 static bool isPostDominatedBy(MachineBasicBlock *A, MachineBasicBlock *B) {
419 MachineBasicBlock::succ_iterator I = A->succ_begin();
422 MachineBasicBlock *OtherSuccBlock = *I;
432 MachineBasicBlock *MBB,
433 MachineBasicBlock *SuccToSinkTo) {
450 MachineBasicBlock *UseBlock = UseInst->getParent();
461 if (MachineBasicBlock *MBB2 = FindSuccToSinkTo(MI, SuccToSinkTo, BreakPHIEdge))
470 MachineBasicBlock
471 MachineBasicBlock *MBB,
475 assert (MBB && "Invalid MachineBasicBlock!");
482 MachineBasicBlock *SuccToSinkTo = 0;
538 SmallVector<MachineBasicBlock*, 4> Succs(MBB->succ_begin(), MBB->succ_end());
540 for (SmallVector<MachineBasicBlock*, 4>::iterator SI = Succs.begin(),
542 MachineBasicBlock *SuccBlock = *SI;
596 MachineBasicBlock *ParentBlock = MI->getParent();
597 MachineBasicBlock *SuccToSinkTo = FindSuccToSinkTo(MI, ParentBlock, BreakPHIEdge);
648 MachineBasicBlock *NewSucc =
670 MachineBasicBlock *NewSucc = SplitCriticalEdge(MI, ParentBlock,
687 MachineBasicBlock::iterator InsertPos = SuccToSinkTo->begin();
697 ++MachineBasicBlock::iterator(MI));
704 ++MachineBasicBlock::iterator(DbgMI));