Changeset View
Changeset View
Standalone View
Standalone View
llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
Show All 19 Lines | |||||
#include "llvm/ADT/ArrayRef.h" | #include "llvm/ADT/ArrayRef.h" | ||||
#include "llvm/IR/BasicBlock.h" | #include "llvm/IR/BasicBlock.h" | ||||
#include "llvm/IR/CFG.h" | #include "llvm/IR/CFG.h" | ||||
#include "llvm/IR/InstrTypes.h" | #include "llvm/IR/InstrTypes.h" | ||||
#include <cassert> | #include <cassert> | ||||
namespace llvm { | namespace llvm { | ||||
class DeferredDominance; | |||||
class DominatorTree; | class DominatorTree; | ||||
class Function; | class Function; | ||||
class Instruction; | class Instruction; | ||||
class LoopInfo; | class LoopInfo; | ||||
class MDNode; | class MDNode; | ||||
class MemoryDependenceResults; | class MemoryDependenceResults; | ||||
class ReturnInst; | class ReturnInst; | ||||
class TargetLibraryInfo; | class TargetLibraryInfo; | ||||
class Value; | class Value; | ||||
/// Delete the specified block, which must have no predecessors. | /// Delete the specified block, which must have no predecessors. | ||||
void DeleteDeadBlock(BasicBlock *BB); | void DeleteDeadBlock(BasicBlock *BB, DeferredDominance *DDT = nullptr); | ||||
/// We know that BB has one predecessor. If there are any single-entry PHI nodes | /// We know that BB has one predecessor. If there are any single-entry PHI nodes | ||||
/// in it, fold them away. This handles the case when all entries to the PHI | /// in it, fold them away. This handles the case when all entries to the PHI | ||||
/// nodes in a block are guaranteed equal, such as when the block has exactly | /// nodes in a block are guaranteed equal, such as when the block has exactly | ||||
/// one predecessor. | /// one predecessor. | ||||
void FoldSingleEntryPHINodes(BasicBlock *BB, | void FoldSingleEntryPHINodes(BasicBlock *BB, | ||||
MemoryDependenceResults *MemDep = nullptr); | MemoryDependenceResults *MemDep = nullptr); | ||||
▲ Show 20 Lines • Show All 261 Lines • Show Last 20 Lines |