/external/llvm/include/llvm/Transforms/Utils/ |
D | BasicBlockUtils.h | 35 void DeleteDeadBlock(BasicBlock *BB); 42 void FoldSingleEntryPHINodes(BasicBlock *BB, Pass *P = 0); 49 bool DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI = 0); 53 bool MergeBlockIntoPredecessor(BasicBlock *BB, Pass *P = 0); 58 void ReplaceInstWithValue(BasicBlock::InstListType &BIL, 59 BasicBlock::iterator &BI, Value *V); 65 void ReplaceInstWithInst(BasicBlock::InstListType &BIL, 66 BasicBlock::iterator &BI, Instruction *I); 79 SmallVectorImpl<std::pair<const BasicBlock*,const BasicBlock*> > &Result); 86 unsigned GetSuccessorNumber(BasicBlock *BB, BasicBlock *Succ); [all …]
|
/external/llvm/include/llvm/Analysis/ |
D | RegionInfo.h | 71 PointerIntPair<BasicBlock*, 1, bool> entry; 86 inline RegionNode(Region* Parent, BasicBlock* Entry, bool isSubRegion = 0) 105 inline BasicBlock* getEntry() const { return entry.getPointer(); } in getEntry() 129 inline BasicBlock* RegionNode::getNodeAs<BasicBlock>() const { 213 BasicBlock *exit; 220 typedef std::map<BasicBlock*, RegionNode*> BBNodeMapT; 227 void verifyBBInRegion(BasicBlock* BB) const; 232 void verifyWalk(BasicBlock* BB, std::set<BasicBlock*>* visitedBB) const; 247 Region(BasicBlock *Entry, BasicBlock *Exit, RegionInfo* RI, 255 BasicBlock *getEntry() const { return RegionNode::getEntry(); } in getEntry() [all …]
|
D | BranchProbabilityInfo.h | 57 BranchProbability getEdgeProbability(const BasicBlock *Src, 63 BranchProbability getEdgeProbability(const BasicBlock *Src, 64 const BasicBlock *Dst) const; 70 bool isEdgeHot(const BasicBlock *Src, const BasicBlock *Dst) const; 76 BasicBlock *getHotSucc(BasicBlock *BB) const; 83 raw_ostream &printEdgeProbability(raw_ostream &OS, const BasicBlock *Src, 84 const BasicBlock *Dst) const; 92 uint32_t getEdgeWeight(const BasicBlock *Src, 99 uint32_t getEdgeWeight(const BasicBlock *Src, const BasicBlock *Dst) const; 107 void setEdgeWeight(const BasicBlock *Src, unsigned IndexInSuccessors, [all …]
|
D | LoopIterator.h | 41 typedef std::vector<BasicBlock*>::const_iterator POIterator; 42 typedef std::vector<BasicBlock*>::const_reverse_iterator RPOIterator; 52 DenseMap<BasicBlock*, unsigned> PostNumbers; 53 std::vector<BasicBlock*> PostBlocks; 84 bool hasPreorder(BasicBlock *BB) const { return PostNumbers.count(BB); } in hasPreorder() 87 bool hasPostorder(BasicBlock *BB) const { in hasPostorder() 88 DenseMap<BasicBlock*, unsigned>::const_iterator I = PostNumbers.find(BB); in hasPostorder() 93 unsigned getPostorder(BasicBlock *BB) const { in getPostorder() 94 DenseMap<BasicBlock*, unsigned>::const_iterator I = PostNumbers.find(BB); in getPostorder() 101 unsigned getRPO(BasicBlock *BB) const { in getRPO() [all …]
|
D | PostDominators.h | 26 DominatorTreeBase<BasicBlock>* DT; 30 DT = new DominatorTreeBase<BasicBlock>(true); in PostDominatorTree() 41 inline const std::vector<BasicBlock*> &getRoots() const { in getRoots() 49 inline DomTreeNode *operator[](BasicBlock *BB) const { 53 inline DomTreeNode *getNode(BasicBlock *BB) const { in getNode() 61 inline bool dominates(const BasicBlock* A, const BasicBlock* B) const { in dominates() 69 inline bool properlyDominates(BasicBlock* A, BasicBlock* B) const { in properlyDominates() 73 inline BasicBlock *findNearestCommonDominator(BasicBlock *A, BasicBlock *B) { in findNearestCommonDominator()
|
D | Interval.h | 28 class BasicBlock; variable 41 BasicBlock *HeaderNode; 43 typedef std::vector<BasicBlock*>::iterator succ_iterator; 44 typedef std::vector<BasicBlock*>::iterator pred_iterator; 45 typedef std::vector<BasicBlock*>::iterator node_iterator; 47 inline Interval(BasicBlock *Header) : HeaderNode(Header) { in Interval() 54 inline BasicBlock *getHeaderNode() const { return HeaderNode; } in getHeaderNode() 58 std::vector<BasicBlock*> Nodes; 64 std::vector<BasicBlock*> Successors; 69 std::vector<BasicBlock*> Predecessors; [all …]
|
D | LazyValueInfo.h | 53 BasicBlock *FromBB, BasicBlock *ToBB); 58 Constant *getConstant(Value *V, BasicBlock *BB); 62 Constant *getConstantOnEdge(Value *V, BasicBlock *FromBB, BasicBlock *ToBB); 66 void threadEdge(BasicBlock *PredBB, BasicBlock *OldSucc, BasicBlock *NewSucc); 69 void eraseBlock(BasicBlock *BB);
|
/external/llvm/lib/IR/ |
D | BasicBlock.cpp | 27 ValueSymbolTable *BasicBlock::getValueSymbolTable() { in getValueSymbolTable() 33 LLVMContext &BasicBlock::getContext() const { in getContext() 39 template class llvm::SymbolTableListTraits<Instruction, BasicBlock>; 42 BasicBlock::BasicBlock(LLVMContext &C, const Twine &Name, Function *NewParent, in BasicBlock() function in BasicBlock 43 BasicBlock *InsertBefore) in BasicBlock() 61 BasicBlock::~BasicBlock() { in ~BasicBlock() 85 void BasicBlock::setParent(Function *parent) { in setParent() 96 void BasicBlock::removeFromParent() { in removeFromParent() 100 void BasicBlock::eraseFromParent() { in eraseFromParent() 106 void BasicBlock::moveBefore(BasicBlock *MovePos) { in moveBefore() [all …]
|
D | Dominators.cpp | 64 TEMPLATE_INSTANTIATION(class llvm::DomTreeNodeBase<BasicBlock>); 65 TEMPLATE_INSTANTIATION(class llvm::DominatorTreeBase<BasicBlock>); 101 const BasicBlock *UseBB = User->getParent(); in dominates() 102 const BasicBlock *DefBB = Def->getParent(); in dominates() 127 BasicBlock::const_iterator I = DefBB->begin(); in dominates() 137 const BasicBlock *UseBB) const { in dominates() 138 const BasicBlock *DefBB = Def->getParent(); in dominates() 157 BasicBlock *NormalDest = II->getNormalDest(); in dominates() 163 const BasicBlock *UseBB) const { in dominates() 171 const BasicBlock *Start = BBE.getStart(); in dominates() [all …]
|
/external/llvm/include/llvm/IR/ |
D | BasicBlock.h | 31 : public SymbolTableListTraits<Instruction, BasicBlock> { 71 class BasicBlock : public Value, // Basic blocks are data objects also 72 public ilist_node<BasicBlock> { 81 friend class SymbolTableListTraits<BasicBlock, Function>; 83 BasicBlock(const BasicBlock &) LLVM_DELETED_FUNCTION; 84 void operator=(const BasicBlock &) LLVM_DELETED_FUNCTION; 91 explicit BasicBlock(LLVMContext &C, const Twine &Name = "", 92 Function *Parent = 0, BasicBlock *InsertBefore = 0); 108 static BasicBlock *Create(LLVMContext &Context, const Twine &Name = "", 109 Function *Parent = 0,BasicBlock *InsertBefore = 0) { [all …]
|
D | Instructions.h | 67 const Twine &Name, BasicBlock *InsertAtEnd); 70 AllocaInst(Type *Ty, const Twine &Name, BasicBlock *InsertAtEnd); 75 const Twine &Name, BasicBlock *InsertAtEnd); 144 LoadInst(Value *Ptr, const Twine &NameStr, BasicBlock *InsertAtEnd); 148 BasicBlock *InsertAtEnd); 152 unsigned Align, BasicBlock *InsertAtEnd); 160 BasicBlock *InsertAtEnd); 163 LoadInst(Value *Ptr, const char *NameStr, BasicBlock *InsertAtEnd); 167 BasicBlock *InsertAtEnd); 268 StoreInst(Value *Val, Value *Ptr, BasicBlock *InsertAtEnd); [all …]
|
D | Function.h | 34 template<> struct ilist_traits<BasicBlock> 35 : public SymbolTableListTraits<BasicBlock, Function> { 39 BasicBlock *createSentinel() const { 40 return static_cast<BasicBlock*>(&Sentinel); 42 static void destroySentinel(BasicBlock*) {} 44 BasicBlock *provideInitialHead() const { return createSentinel(); } 45 BasicBlock *ensureHead(BasicBlock*) const { return createSentinel(); } 46 static void noteHead(BasicBlock*, BasicBlock*) {} 50 mutable ilist_half_node<BasicBlock> Sentinel; 74 typedef iplist<BasicBlock> BasicBlockListType; [all …]
|
/external/llvm/lib/Transforms/Utils/ |
D | BasicBlockUtils.cpp | 35 void llvm::DeleteDeadBlock(BasicBlock *BB) { in DeleteDeadBlock() 67 void llvm::FoldSingleEntryPHINodes(BasicBlock *BB, Pass *P) { in FoldSingleEntryPHINodes() 97 bool llvm::DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI) { in DeleteDeadPHIs() 101 for (BasicBlock::iterator I = BB->begin(); in DeleteDeadPHIs() 115 bool llvm::MergeBlockIntoPredecessor(BasicBlock *BB, Pass *P) { in MergeBlockIntoPredecessor() 120 BasicBlock *PredBB = BB->getUniquePredecessor(); in MergeBlockIntoPredecessor() 129 BasicBlock *OnlySucc = BB; in MergeBlockIntoPredecessor() 140 for (BasicBlock::iterator BI = BB->begin(), BE = BB->end(); BI != BE; ++BI) { in MergeBlockIntoPredecessor() 196 void llvm::ReplaceInstWithValue(BasicBlock::InstListType &BIL, in ReplaceInstWithValue() 197 BasicBlock::iterator &BI, Value *V) { in ReplaceInstWithValue() [all …]
|
D | LoopSimplify.cpp | 102 BasicBlock *RewriteLoopExitBlock(Loop *L, BasicBlock *Exit); 103 BasicBlock *InsertPreheaderForLoop(Loop *L); 105 BasicBlock *Preheader); 106 BasicBlock *InsertUniqueBackedgeBlock(Loop *L, BasicBlock *Preheader); 107 void PlaceSplitBlockCarefully(BasicBlock *NewBB, 108 SmallVectorImpl<BasicBlock*> &SplitPreds, 156 SmallPtrSet<BasicBlock*, 4> BadPreds; in ProcessLoop() 159 BasicBlock *P = *PI; in ProcessLoop() 165 for (SmallPtrSet<BasicBlock*, 4>::iterator I = BadPreds.begin(), in ProcessLoop() 186 SmallVector<BasicBlock*, 8> ExitingBlocks; in ProcessLoop() [all …]
|
D | LoopUnrollRuntime.cpp | 57 BasicBlock *LastPrologBB, BasicBlock *PrologEnd, in ConnectProlog() 58 BasicBlock *OrigPH, BasicBlock *NewPH, in ConnectProlog() 60 BasicBlock *Latch = L->getLoopLatch(); in ConnectProlog() 70 for (BasicBlock::iterator BBI = (*SBI)->begin(); in ConnectProlog() 112 BasicBlock *Exit = L->getUniqueExitBlock(); in ConnectProlog() 115 SmallVector<BasicBlock*, 4> Preds(pred_begin(Exit), pred_end(Exit)); in ConnectProlog() 119 SmallVector<BasicBlock*, 2> NewBBs; in ConnectProlog() 138 BasicBlock *InsertTop, in CloneLoopBlocks() 139 BasicBlock *InsertBot, in CloneLoopBlocks() 140 std::vector<BasicBlock *> &NewBlocks, in CloneLoopBlocks() [all …]
|
D | LowerSwitch.cpp | 52 BasicBlock* BB; 54 CaseRange(Constant *low = 0, Constant *high = 0, BasicBlock *bb = 0) : in CaseRange() 63 BasicBlock* switchConvert(CaseItr Begin, CaseItr End, Value* Val, 64 BasicBlock* OrigBlock, BasicBlock* Default); 65 BasicBlock* newLeafBlock(CaseRange& Leaf, Value* Val, 66 BasicBlock* OrigBlock, BasicBlock* Default); 86 BasicBlock *Cur = I++; // Advance over block so we don't traverse new blocks in runOnFunction() 118 BasicBlock* LowerSwitch::switchConvert(CaseItr Begin, CaseItr End, in switchConvert() 119 Value* Val, BasicBlock* OrigBlock, in switchConvert() 120 BasicBlock* Default) in switchConvert() [all …]
|
D | CloneFunction.cpp | 37 BasicBlock *llvm::CloneBasicBlock(const BasicBlock *BB, in CloneBasicBlock() 41 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "", F); in CloneBasicBlock() 47 for (BasicBlock::const_iterator II = BB->begin(), IE = BB->end(); in CloneBasicBlock() 117 const BasicBlock &BB = *BI; in CloneFunctionInto() 120 BasicBlock *CBB = CloneBasicBlock(&BB, VMap, NameSuffix, NewFunc, CodeInfo); in CloneFunctionInto() 133 const_cast<BasicBlock*>(&BB)); in CloneFunctionInto() 144 for (Function::iterator BB = cast<BasicBlock>(VMap[OldFunc->begin()]), in CloneFunctionInto() 147 for (BasicBlock::iterator II = BB->begin(); II != BB->end(); ++II) in CloneFunctionInto() 222 void CloneBlock(const BasicBlock *BB, 223 std::vector<const BasicBlock*> &ToClone); [all …]
|
/external/llvm/lib/Target/R600/ |
D | AMDGPUStructurizeCFG.cpp | 34 typedef std::pair<BasicBlock *, Value *> BBValuePair; 37 typedef SmallVector<BasicBlock*, 8> BBVector; 41 typedef SmallPtrSet<BasicBlock *, 8> BBSet; 45 typedef DenseMap<BasicBlock *, PhiMap> BBPhiMap; 46 typedef DenseMap<BasicBlock *, Value *> BBPredicates; 47 typedef DenseMap<BasicBlock *, BBPredicates> PredMap; 48 typedef DenseMap<BasicBlock *, BasicBlock*> BB2BBMap; 49 typedef DenseMap<BasicBlock *, BBVector> BB2BBVecMap; 65 BasicBlock *Result; 77 void addBlock(BasicBlock *BB, bool Remember = true) { in addBlock() [all …]
|
/external/llvm/include/llvm/Support/ |
D | CFG.h | 82 typedef PredIterator<BasicBlock, Value::use_iterator> pred_iterator; 83 typedef PredIterator<const BasicBlock, 86 inline pred_iterator pred_begin(BasicBlock *BB) { return pred_iterator(BB); } in pred_begin() 87 inline const_pred_iterator pred_begin(const BasicBlock *BB) { in pred_begin() 90 inline pred_iterator pred_end(BasicBlock *BB) { return pred_iterator(BB, true);} in pred_end() 91 inline const_pred_iterator pred_end(const BasicBlock *BB) { in pred_end() 222 typedef SuccIterator<TerminatorInst*, BasicBlock> succ_iterator; 224 const BasicBlock> succ_const_iterator; 226 inline succ_iterator succ_begin(BasicBlock *BB) { in succ_begin() 229 inline succ_const_iterator succ_begin(const BasicBlock *BB) { in succ_begin() [all …]
|
D | PredIteratorCache.h | 29 DenseMap<BasicBlock*, BasicBlock**> BlockToPredsMap; 30 DenseMap<BasicBlock*, unsigned> BlockToPredCountMap; 42 BasicBlock **GetPreds(BasicBlock *BB) { in GetPreds() 43 BasicBlock **&Entry = BlockToPredsMap[BB]; in GetPreds() 46 SmallVector<BasicBlock*, 32> PredCache(pred_begin(BB), pred_end(BB)); in GetPreds() 51 Entry = Memory.Allocate<BasicBlock*>(PredCache.size()); in GetPreds() 56 unsigned GetNumPreds(BasicBlock *BB) { in GetNumPreds()
|
/external/javassist/src/main/javassist/bytecode/stackmap/ |
D | BasicBlock.java | 28 public class BasicBlock { class 31 public BasicBlock[] exit; // null if the block is a leaf. 35 protected BasicBlock(int pos) { in BasicBlock() method in BasicBlock 41 public static BasicBlock find(BasicBlock[] blocks, int pos) in find() 55 BasicBlock body; 57 Catch(BasicBlock b, int i, Catch c) { in Catch() 97 BasicBlock block; 98 BasicBlock[] jump; 121 void setJump(BasicBlock[] bb, int s, boolean always) { 132 protected BasicBlock makeBlock(int pos) { [all …]
|
/external/llvm/lib/Analysis/ |
D | RegionInfo.cpp | 55 Region::Region(BasicBlock *Entry, BasicBlock *Exit, RegionInfo* RInfo, in Region() 73 void Region::replaceEntry(BasicBlock *BB) { in replaceEntry() 77 void Region::replaceExit(BasicBlock *BB) { in replaceExit() 82 bool Region::contains(const BasicBlock *B) const { in contains() 83 BasicBlock *BB = const_cast<BasicBlock*>(B); in contains() 87 BasicBlock *entry = getEntry(), *exit = getExit(); in contains() 107 SmallVector<BasicBlock *, 8> ExitingBlocks; in contains() 110 for (SmallVectorImpl<BasicBlock*>::iterator BI = ExitingBlocks.begin(), in contains() 129 Loop *Region::outermostLoopInRegion(LoopInfo *LI, BasicBlock* BB) const { in outermostLoopInRegion() 135 BasicBlock *Region::getEnteringBlock() const { in getEnteringBlock() [all …]
|
D | ProfileInfo.cpp | 28 template<> char ProfileInfoT<Function,BasicBlock>::ID = 0; 42 ProfileInfoT<Function, BasicBlock>::ProfileInfoT() { in ProfileInfoT() 46 ProfileInfoT<Function, BasicBlock>::~ProfileInfoT() { in ~ProfileInfoT() 54 const double ProfileInfoT<Function,BasicBlock>::MissingValue = -1; 60 ProfileInfoT<Function,BasicBlock>::getExecutionCount(const BasicBlock *BB) { in getExecutionCount() 80 std::set<const BasicBlock*> ProcessedPreds; in getExecutionCount() 83 const BasicBlock *P = *PI; in getExecutionCount() 105 std::set<const BasicBlock*> ProcessedSuccs; in getExecutionCount() 138 double ProfileInfoT<Function,BasicBlock>::getExecutionCount(const Function *F) { in getExecutionCount() 167 void ProfileInfoT<Function,BasicBlock>:: [all …]
|
/external/llvm/lib/Transforms/Scalar/ |
D | JumpThreading.cpp | 51 typedef SmallVectorImpl<std::pair<Constant*, BasicBlock*> > PredValueInfo; 52 typedef SmallVector<std::pair<Constant*, BasicBlock*>, 8> PredValueInfoTy; 82 SmallPtrSet<BasicBlock*, 16> LoopHeaders; 84 SmallSet<AssertingVH<BasicBlock>, 16> LoopHeaders; 86 DenseSet<std::pair<Value*, BasicBlock*> > RecursionSet; 90 DenseSet<std::pair<Value*, BasicBlock*> > &TheSet; 91 std::pair<Value*, BasicBlock*> ThePair; 93 RecursionSetRemover(DenseSet<std::pair<Value*, BasicBlock*> > &S, in RecursionSetRemover() 94 std::pair<Value*, BasicBlock*> P) in RecursionSetRemover() 116 bool ProcessBlock(BasicBlock *BB); [all …]
|
D | LoopDeletion.cpp | 39 bool IsLoopDead(Loop* L, SmallVector<BasicBlock*, 4>& exitingBlocks, 40 SmallVector<BasicBlock*, 4>& exitBlocks, 41 bool &Changed, BasicBlock *Preheader); 78 SmallVector<BasicBlock*, 4>& exitingBlocks, in IsLoopDead() argument 79 SmallVector<BasicBlock*, 4>& exitBlocks, in IsLoopDead() 80 bool &Changed, BasicBlock *Preheader) { in IsLoopDead() 81 BasicBlock* exitBlock = exitBlocks[0]; in IsLoopDead() 88 BasicBlock::iterator BI = exitBlock->begin(); in IsLoopDead() 114 for (BasicBlock::iterator BI = (*LI)->begin(), BE = (*LI)->end(); in IsLoopDead() 133 BasicBlock* preheader = L->getLoopPreheader(); in runOnLoop() [all …]
|