Home | History | Annotate | Download | only in Utils

Lines Matching refs:BasicBlock

1 //===-- Transform/Utils/BasicBlockUtils.h - BasicBlock Utils ----*- C++ -*-===//
18 // FIXME: Move to this file: BasicBlock::removePredecessor, BB::splitBasicBlock
20 #include "llvm/BasicBlock.h"
33 void DeleteDeadBlock(BasicBlock *BB);
40 void FoldSingleEntryPHINodes(BasicBlock *BB, Pass *P = 0);
47 bool DeleteDeadPHIs(BasicBlock *BB);
51 bool MergeBlockIntoPredecessor(BasicBlock *BB, Pass *P = 0);
56 void ReplaceInstWithValue(BasicBlock::InstListType &BIL,
57 BasicBlock::iterator &BI, Value *V);
63 void ReplaceInstWithInst(BasicBlock::InstListType &BIL,
64 BasicBlock::iterator &BI, Instruction *I);
77 SmallVectorImpl<std::pair<const BasicBlock*,const BasicBlock*> > &Result);
84 unsigned GetSuccessorNumber(BasicBlock *BB, BasicBlock *Succ);
111 BasicBlock *SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum,
115 inline BasicBlock *SplitCriticalEdge(BasicBlock *BB, succ_iterator SI,
125 inline bool SplitCriticalEdge(BasicBlock *Succ, pred_iterator PI, Pass *P = 0) {
138 inline BasicBlock *SplitCriticalEdge(BasicBlock *Src, BasicBlock *Dst,
155 BasicBlock *SplitEdge(BasicBlock *From, BasicBlock *To, Pass *P);
162 BasicBlock *SplitBlock(BasicBlock *Old, Instruction *SplitPt, Pass *P);
176 BasicBlock *SplitBlockPredecessors(BasicBlock *BB, BasicBlock *const *Preds,
193 void SplitLandingPadPredecessors(BasicBlock *OrigBB,ArrayRef<BasicBlock*> Preds,
195 Pass *P, SmallVectorImpl<BasicBlock*> &NewBBs);
202 ReturnInst *FoldReturnIntoUncondBranch(ReturnInst *RI, BasicBlock *BB,
203 BasicBlock *Pred);
207 DebugLoc GetFirstDebugLocInBasicBlock(const BasicBlock *BB);