BasicBlockUtils.cpp File Reference
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Function.h"
#include "llvm/Instructions.h"
#include "llvm/Constant.h"
#include "llvm/Type.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/Dominators.h"
#include "llvm/Target/TargetData.h"
#include <algorithm>
Go to the source code of this file.
|
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) |
| void | llvm::RemoveSuccessor (TerminatorInst *TI, unsigned SuccNum) |
| 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) |
| static bool | AreEquivalentAddressValues (const Value *A, const Value *B) |
| Value * | llvm::FindAvailableLoadedValue (Value *Ptr, BasicBlock *ScanBB, BasicBlock::iterator &ScanFrom, unsigned MaxInstsToScan=6, AliasAnalysis *AA=0) |
Function Documentation
| static bool AreEquivalentAddressValues |
( |
const Value * |
A, |
|
|
const Value * |
B | |
|
) |
| | [static] |
AreEquivalentAddressValues - Test if A and B will obviously have the same value. This includes recognizing that t0 and t1 will have the same value in code like this: t0 = getelementptr , 0, 3 store i32 0, i32* t0 t1 = getelementptr , 0, 3 t2 = load i32* t1
Definition at line 432 of file BasicBlockUtils.cpp.
Referenced by llvm::FindAvailableLoadedValue().