LLVM API Documentation

BasicBlockUtils.h File Reference

#include "llvm/BasicBlock.h"
#include "llvm/Support/CFG.h"

Include dependency graph for BasicBlockUtils.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  llvm

Functions

void llvm::DeleteDeadBlock (BasicBlock *BB)
void llvm::FoldSingleEntryPHINodes (BasicBlock *BB)
bool llvm::MergeBlockIntoPredecessor (BasicBlock *BB, Pass *P=0)
void llvm::ReplaceInstWithValue (BasicBlock::InstListType &BIL, BasicBlock::iterator &BI, Value *V)
void llvm::ReplaceInstWithInst (BasicBlock::InstListType &BIL, BasicBlock::iterator &BI, Instruction *I)
void llvm::ReplaceInstWithInst (Instruction *From, Instruction *To)
Value * llvm::FindAvailableLoadedValue (Value *Ptr, BasicBlock *ScanBB, BasicBlock::iterator &ScanFrom, unsigned MaxInstsToScan=6, AliasAnalysis *AA=0)
void llvm::RemoveSuccessor (TerminatorInst *TI, unsigned SuccNum)
bool llvm::isCriticalEdge (const TerminatorInst *TI, unsigned SuccNum, bool AllowIdenticalEdges=false)
bool llvm::SplitCriticalEdge (TerminatorInst *TI, unsigned SuccNum, Pass *P=0, bool MergeIdenticalEdges=false)
bool llvm::SplitCriticalEdge (BasicBlock *BB, succ_iterator SI, Pass *P=0)
bool llvm::SplitCriticalEdge (BasicBlock *Succ, pred_iterator PI, Pass *P=0)
bool llvm::SplitCriticalEdge (BasicBlock *Src, BasicBlock *Dst, Pass *P=0, bool MergeIdenticalEdges=false)
BasicBlock * llvm::SplitEdge (BasicBlock *From, BasicBlock *To, Pass *P)
BasicBlock * llvm::SplitBlock (BasicBlock *Old, Instruction *SplitPt, Pass *P)
BasicBlock * llvm::SplitBlockPredecessors (BasicBlock *BB, BasicBlock *const *Preds, unsigned NumPreds, const char *Suffix, Pass *P=0)