/external/v8/src/compiler/ |
D | schedule.h | 19 class BasicBlock; variable 24 typedef ZoneVector<BasicBlock*> BasicBlockVector; 31 class V8_EXPORT_PRIVATE BasicBlock final 60 BasicBlock(Zone* zone, Id id); in NON_EXPORTED_BASE() 68 BasicBlock* PredecessorAt(size_t index) { return predecessors_[index]; } in NON_EXPORTED_BASE() 70 void AddPredecessor(BasicBlock* predecessor); in NON_EXPORTED_BASE() 76 BasicBlock* SuccessorAt(size_t index) { return successors_[index]; } in NON_EXPORTED_BASE() 78 void AddSuccessor(BasicBlock* successor); in NON_EXPORTED_BASE() 122 BasicBlock* dominator() const { return dominator_; } in NON_EXPORTED_BASE() 123 void set_dominator(BasicBlock* dominator) { dominator_ = dominator; } in NON_EXPORTED_BASE() [all …]
|
D | schedule.cc | 15 BasicBlock::BasicBlock(Zone* zone, Id id) in BasicBlock() function in v8::internal::compiler::BasicBlock 33 bool BasicBlock::LoopContains(BasicBlock* block) const { in LoopContains() 43 void BasicBlock::AddSuccessor(BasicBlock* successor) { in AddSuccessor() 48 void BasicBlock::AddPredecessor(BasicBlock* predecessor) { in AddPredecessor() 53 void BasicBlock::AddNode(Node* node) { nodes_.push_back(node); } in AddNode() 56 void BasicBlock::set_control(Control control) { in set_control() 61 void BasicBlock::set_control_input(Node* control_input) { in set_control_input() 66 void BasicBlock::set_loop_depth(int32_t loop_depth) { in set_loop_depth() 71 void BasicBlock::set_rpo_number(int32_t rpo_number) { in set_rpo_number() 76 void BasicBlock::set_loop_end(BasicBlock* loop_end) { loop_end_ = loop_end; } in set_loop_end() [all …]
|
/external/llvm/include/llvm/IR/ |
D | BasicBlock.h | 34 struct SymbolTableListSentinelTraits<BasicBlock> 35 : public ilist_half_embedded_sentinel_traits<BasicBlock> {}; 52 class BasicBlock : public Value, // Basic blocks are data objects also 53 public ilist_node_with_parent<BasicBlock, Function> { 63 friend class SymbolTableListTraits<BasicBlock>; 65 BasicBlock(const BasicBlock &) = delete; 66 void operator=(const BasicBlock &) = delete; 73 explicit BasicBlock(LLVMContext &C, const Twine &Name = "", 75 BasicBlock *InsertBefore = nullptr); 91 static BasicBlock *Create(LLVMContext &Context, const Twine &Name = "", [all …]
|
D | CFG.h | 85 typedef PredIterator<BasicBlock, Value::user_iterator> pred_iterator; 86 typedef PredIterator<const BasicBlock, 91 inline pred_iterator pred_begin(BasicBlock *BB) { return pred_iterator(BB); } in pred_begin() 92 inline const_pred_iterator pred_begin(const BasicBlock *BB) { in pred_begin() 95 inline pred_iterator pred_end(BasicBlock *BB) { return pred_iterator(BB, true);} in pred_end() 96 inline const_pred_iterator pred_end(const BasicBlock *BB) { in pred_end() 99 inline bool pred_empty(const BasicBlock *BB) { in pred_empty() 102 inline pred_range predecessors(BasicBlock *BB) { in predecessors() 105 inline pred_const_range predecessors(const BasicBlock *BB) { in predecessors() 113 typedef TerminatorInst::SuccIterator<TerminatorInst *, BasicBlock> [all …]
|
/external/swiftshader/third_party/llvm-subzero/include/llvm/IR/ |
D | BasicBlock.h | 51 class BasicBlock : public Value, // Basic blocks are data objects also 52 public ilist_node_with_parent<BasicBlock, Function> { 58 friend class SymbolTableListTraits<BasicBlock>; 70 explicit BasicBlock(LLVMContext &C, const Twine &Name = "", 72 BasicBlock *InsertBefore = nullptr); 75 BasicBlock(const BasicBlock &) = delete; 76 BasicBlock &operator=(const BasicBlock &) = delete; 77 ~BasicBlock() override; 93 static BasicBlock *Create(LLVMContext &Context, const Twine &Name = "", 95 BasicBlock *InsertBefore = nullptr) { [all …]
|
/external/swiftshader/third_party/LLVM/include/llvm/Transforms/Utils/ |
D | BasicBlockUtils.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); [all …]
|
/external/llvm/lib/IR/ |
D | BasicBlock.cpp | 27 ValueSymbolTable *BasicBlock::getValueSymbolTable() { in getValueSymbolTable() 33 LLVMContext &BasicBlock::getContext() const { in getContext() 41 BasicBlock::BasicBlock(LLVMContext &C, const Twine &Name, Function *NewParent, in BasicBlock() function in BasicBlock 42 BasicBlock *InsertBefore) in BasicBlock() 54 void BasicBlock::insertInto(Function *NewParent, BasicBlock *InsertBefore) { in insertInto() 64 BasicBlock::~BasicBlock() { in ~BasicBlock() 88 void BasicBlock::setParent(Function *parent) { in setParent() 93 void BasicBlock::removeFromParent() { in removeFromParent() 97 iplist<BasicBlock>::iterator BasicBlock::eraseFromParent() { in eraseFromParent() 103 void BasicBlock::moveBefore(BasicBlock *MovePos) { in moveBefore() [all …]
|
/external/swiftshader/third_party/LLVM/lib/VMCore/ |
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 …]
|
/external/swiftshader/third_party/LLVM/include/llvm/Analysis/ |
D | RegionInfo.h | 73 PointerIntPair<BasicBlock*, 1, bool> entry; 88 inline RegionNode(Region* Parent, BasicBlock* Entry, bool isSubRegion = 0) 107 inline BasicBlock* getEntry() const { return entry.getPointer(); } in getEntry() 131 inline BasicBlock* RegionNode::getNodeAs<BasicBlock>() const { 217 BasicBlock *exit; 224 typedef std::map<BasicBlock*, RegionNode*> BBNodeMapT; 231 void verifyBBInRegion(BasicBlock* BB) const; 236 void verifyWalk(BasicBlock* BB, std::set<BasicBlock*>* visitedBB) const; 251 Region(BasicBlock *Entry, BasicBlock *Exit, RegionInfo* RI, 259 BasicBlock *getEntry() const { return RegionNode::getEntry(); } in getEntry() [all …]
|
D | BranchProbabilityInfo.h | 36 typedef std::pair<const BasicBlock *, const BasicBlock *> Edge; 41 uint32_t getSumForBlock(const BasicBlock *BB) const; 56 uint32_t getEdgeWeight(const BasicBlock *Src, const BasicBlock *Dst) const; 59 void setEdgeWeight(const BasicBlock *Src, const BasicBlock *Dst, 63 bool isEdgeHot(const BasicBlock *Src, const BasicBlock *Dst) const; 66 BasicBlock *getHotSucc(BasicBlock *BB) const; 71 BranchProbability getEdgeProbability(const BasicBlock *Src, 72 const BasicBlock *Dst) const; 77 raw_ostream &printEdgeProbability(raw_ostream &OS, BasicBlock *Src, 78 BasicBlock *Dst) const;
|
/external/swiftshader/third_party/LLVM/include/llvm/ |
D | BasicBlock.h | 31 : public SymbolTableListTraits<Instruction, BasicBlock> { 70 class BasicBlock : public Value, // Basic blocks are data objects also 71 public ilist_node<BasicBlock> { 80 friend class SymbolTableListTraits<BasicBlock, Function>; 82 BasicBlock(const BasicBlock &); // Do not implement 83 void operator=(const BasicBlock &); // Do not implement 89 explicit BasicBlock(LLVMContext &C, const Twine &Name = "", 90 Function *Parent = 0, BasicBlock *InsertBefore = 0); 102 static BasicBlock *Create(LLVMContext &Context, const Twine &Name = "", 103 Function *Parent = 0,BasicBlock *InsertBefore = 0) { [all …]
|
/external/llvm/include/llvm/Transforms/Utils/ |
D | BasicBlockUtils.h | 35 void DeleteDeadBlock(BasicBlock *BB); 41 void FoldSingleEntryPHINodes(BasicBlock *BB, 48 bool DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI = nullptr); 52 bool MergeBlockIntoPredecessor(BasicBlock *BB, DominatorTree *DT = nullptr, 58 void ReplaceInstWithValue(BasicBlock::InstListType &BIL, 59 BasicBlock::iterator &BI, Value *V); 65 void ReplaceInstWithInst(BasicBlock::InstListType &BIL, 66 BasicBlock::iterator &BI, Instruction *I); 121 BasicBlock *SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum, 125 inline BasicBlock * [all …]
|
/external/r8/src/main/java/com/android/tools/r8/ir/code/ |
D | DominatorTree.java | 15 private BasicBlock[] sorted; 16 private BasicBlock[] doms; 23 DominatorTree(IRCode code, List<BasicBlock> blocksToIgnore) { in DominatorTree() 33 public BasicBlock immediateDominator(BasicBlock block) { in immediateDominator() 44 public boolean dominatedBy(BasicBlock subject, BasicBlock dominator) { in dominatedBy() 58 public boolean strictlyDominatedBy(BasicBlock subject, BasicBlock dominator) { in strictlyDominatedBy() 63 BasicBlock idom = immediateDominator(subject); in strictlyDominatedBy() 80 public BasicBlock closestDominator(Collection<BasicBlock> blocks) { in closestDominator() 84 Iterator<BasicBlock> it = blocks.iterator(); in closestDominator() 85 BasicBlock dominator = it.next(); in closestDominator() [all …]
|
D | IRCode.java | 26 public LinkedList<BasicBlock> blocks; 29 private BasicBlock normalExitBlock; 35 LinkedList<BasicBlock> blocks, in IRCode() 36 BasicBlock normalExitBlock, in IRCode() 47 BasicBlock[] sorted = topologicallySortedBlocks(); in ensureBlockNumbering() 59 for (BasicBlock block : blocks) { in toString() 67 for (BasicBlock block : blocks) { in clearMarks() 73 ListIterator<BasicBlock> blockIterator = listIterator(); in removeMarkedBlocks() 75 BasicBlock block = blockIterator.next(); in removeMarkedBlocks() 85 public void removeBlocks(List<BasicBlock> blocksToRemove) { in removeBlocks() [all …]
|
/external/llvm/include/llvm/Transforms/Scalar/ |
D | JumpThreading.h | 35 typedef SmallVectorImpl<std::pair<Constant *, BasicBlock *>> PredValueInfo; 36 typedef SmallVector<std::pair<Constant *, BasicBlock *>, 8> PredValueInfoTy; 66 SmallPtrSet<const BasicBlock *, 16> LoopHeaders; 68 SmallSet<AssertingVH<const BasicBlock>, 16> LoopHeaders; 70 DenseSet<std::pair<Value *, BasicBlock *>> RecursionSet; 76 DenseSet<std::pair<Value *, BasicBlock *>> &TheSet; 77 std::pair<Value *, BasicBlock *> ThePair; 79 RecursionSetRemover(DenseSet<std::pair<Value *, BasicBlock *>> &S, in RecursionSetRemover() 80 std::pair<Value *, BasicBlock *> P) in RecursionSetRemover() 109 bool ProcessBlock(BasicBlock *BB); [all …]
|
/external/llvm/lib/Analysis/ |
D | CFG.cpp | 28 SmallVectorImpl<std::pair<const BasicBlock*,const BasicBlock*> > &Result) { in FindFunctionBackedges() argument 29 const BasicBlock *BB = &F.getEntryBlock(); in FindFunctionBackedges() 33 SmallPtrSet<const BasicBlock*, 8> Visited; in FindFunctionBackedges() 34 SmallVector<std::pair<const BasicBlock*, succ_const_iterator>, 8> VisitStack; in FindFunctionBackedges() 35 SmallPtrSet<const BasicBlock*, 8> InStack; in FindFunctionBackedges() 41 std::pair<const BasicBlock*, succ_const_iterator> &Top = VisitStack.back(); in FindFunctionBackedges() 42 const BasicBlock *ParentBB = Top.first; in FindFunctionBackedges() 72 unsigned llvm::GetSuccessorNumber(const BasicBlock *BB, in GetSuccessorNumber() 73 const BasicBlock *Succ) { in GetSuccessorNumber() 93 const BasicBlock *Dest = TI->getSuccessor(SuccNum); in isCriticalEdge() [all …]
|
/external/llvm/lib/Transforms/Utils/ |
D | FlattenCFG.cpp | 31 bool FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder); 35 bool MergeIfRegion(BasicBlock *BB, IRBuilder<> &Builder); 41 bool CompareIfRegionBlock(BasicBlock *Head1, BasicBlock *Head2, 42 BasicBlock *Block1, BasicBlock *Block2); 46 bool run(BasicBlock *BB); 124 bool FlattenCFGOpt::FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder) { in FlattenParallelAndOr() 129 BasicBlock *LastCondBlock = nullptr; in FlattenParallelAndOr() 130 BasicBlock *FirstCondBlock = nullptr; in FlattenParallelAndOr() 131 BasicBlock *UnCondBlock = nullptr; in FlattenParallelAndOr() 135 SmallPtrSet<BasicBlock *, 16> Preds(pred_begin(BB), pred_end(BB)); in FlattenParallelAndOr() [all …]
|
D | BasicBlockUtils.cpp | 34 void llvm::DeleteDeadBlock(BasicBlock *BB) { in DeleteDeadBlock() 42 for (BasicBlock *Succ : BBTerm->successors()) in DeleteDeadBlock() 62 void llvm::FoldSingleEntryPHINodes(BasicBlock *BB, in FoldSingleEntryPHINodes() 79 bool llvm::DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI) { in DeleteDeadPHIs() 83 for (BasicBlock::iterator I = BB->begin(); in DeleteDeadPHIs() 95 bool llvm::MergeBlockIntoPredecessor(BasicBlock *BB, DominatorTree *DT, in MergeBlockIntoPredecessor() 102 BasicBlock *PredBB = BB->getUniquePredecessor(); in MergeBlockIntoPredecessor() 112 BasicBlock *OnlySucc = BB; in MergeBlockIntoPredecessor() 123 for (BasicBlock::iterator BI = BB->begin(), BE = BB->end(); BI != BE; ++BI) { in MergeBlockIntoPredecessor() 171 void llvm::ReplaceInstWithValue(BasicBlock::InstListType &BIL, in ReplaceInstWithValue() [all …]
|
D | CloneFunction.cpp | 39 BasicBlock *llvm::CloneBasicBlock(const BasicBlock *BB, in CloneBasicBlock() 43 BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "", F); in CloneBasicBlock() 49 for (BasicBlock::const_iterator II = BB->begin(), IE = BB->end(); in CloneBasicBlock() 137 const BasicBlock &BB = *BI; in CloneFunctionInto() 140 BasicBlock *CBB = CloneBasicBlock(&BB, VMap, NameSuffix, NewFunc, CodeInfo); in CloneFunctionInto() 153 const_cast<BasicBlock*>(&BB)); in CloneFunctionInto() 165 cast<BasicBlock>(VMap[&OldFunc->front()])->getIterator(), in CloneFunctionInto() 238 void CloneBlock(const BasicBlock *BB, 239 BasicBlock::const_iterator StartingInst, 240 std::vector<const BasicBlock*> &ToClone); [all …]
|
/external/swiftshader/third_party/LLVM/lib/Analysis/ |
D | BranchProbabilityInfo.cpp | 39 typedef std::pair<const BasicBlock *, const BasicBlock *> Edge; 89 static bool isReturningBlock(BasicBlock *BB) { in isReturningBlock() 90 SmallPtrSet<BasicBlock *, 8> Visited; in isReturningBlock() 115 uint32_t getMaxWeightFor(BasicBlock *BB) const { in getMaxWeightFor() 126 bool calcMetadataWeights(BasicBlock *BB); 129 bool calcReturnHeuristics(BasicBlock *BB); 132 bool calcPointerHeuristics(BasicBlock *BB); 135 bool calcLoopBranchHeuristics(BasicBlock *BB); 138 bool calcZeroHeuristics(BasicBlock *BB); 146 bool BranchProbabilityAnalysis::calcMetadataWeights(BasicBlock *BB) { in calcMetadataWeights() [all …]
|
/external/llvm/lib/Transforms/Scalar/ |
D | StructurizeCFG.cpp | 34 typedef std::pair<BasicBlock *, Value *> BBValuePair; 37 typedef SmallVector<BasicBlock*, 8> BBVector; 41 typedef SmallPtrSet<BasicBlock *, 8> BBSet; 44 typedef MapVector<BasicBlock *, BBVector> BB2BBVecMap; 47 typedef DenseMap<BasicBlock *, PhiMap> BBPhiMap; 48 typedef DenseMap<BasicBlock *, Value *> BBPredicates; 49 typedef DenseMap<BasicBlock *, BBPredicates> PredMap; 50 typedef DenseMap<BasicBlock *, BasicBlock*> BB2BBMap; 65 BasicBlock *Result; 77 void addBlock(BasicBlock *BB, bool Remember = true) { in addBlock() [all …]
|
/external/swiftshader/third_party/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) { 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 | 100 BasicBlock *RewriteLoopExitBlock(Loop *L, BasicBlock *Exit); 101 BasicBlock *InsertPreheaderForLoop(Loop *L); 103 BasicBlock *InsertUniqueBackedgeBlock(Loop *L, BasicBlock *Preheader); 104 void PlaceSplitBlockCarefully(BasicBlock *NewBB, 105 SmallVectorImpl<BasicBlock*> &SplitPreds, 153 SmallPtrSet<BasicBlock*, 4> BadPreds; in ProcessLoop() 156 BasicBlock *P = *PI; in ProcessLoop() 162 for (SmallPtrSet<BasicBlock*, 4>::iterator I = BadPreds.begin(), in ProcessLoop() 183 SmallVector<BasicBlock*, 8> ExitingBlocks; in ProcessLoop() 185 for (SmallVectorImpl<BasicBlock *>::iterator I = ExitingBlocks.begin(), in ProcessLoop() [all …]
|
/external/llvm/include/llvm/Analysis/ |
D | BranchProbabilityInfo.h | 71 BranchProbability getEdgeProbability(const BasicBlock *Src, 77 BranchProbability getEdgeProbability(const BasicBlock *Src, 78 const BasicBlock *Dst) const; 80 BranchProbability getEdgeProbability(const BasicBlock *Src, 87 bool isEdgeHot(const BasicBlock *Src, const BasicBlock *Dst) const; 93 const BasicBlock *getHotSucc(const BasicBlock *BB) const; 100 raw_ostream &printEdgeProbability(raw_ostream &OS, const BasicBlock *Src, 101 const BasicBlock *Dst) const; 109 void setEdgeProbability(const BasicBlock *Src, unsigned IndexInSuccessors, 125 typedef std::pair<const BasicBlock *, unsigned> Edge; [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 …]
|