Home
last modified time | relevance | path

Searched refs:BasicBlock (Results 1 – 25 of 913) sorted by relevance

12345678910>>...37

/external/v8/src/compiler/
Dschedule.h19 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 …]
Dschedule.cc15 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/
DBasicBlock.h34 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 …]
DCFG.h85 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/
DBasicBlock.h51 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/
DBasicBlockUtils.h33 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/
DBasicBlock.cpp27 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/
DBasicBlock.cpp27 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/
DRegionInfo.h73 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 …]
DBranchProbabilityInfo.h36 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/
DBasicBlock.h31 : 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/
DBasicBlockUtils.h35 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/
DDominatorTree.java15 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 …]
DIRCode.java26 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/
DJumpThreading.h35 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/
DCFG.cpp28 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/
DFlattenCFG.cpp31 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 …]
DBasicBlockUtils.cpp34 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 …]
DCloneFunction.cpp39 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/
DBranchProbabilityInfo.cpp39 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/
DStructurizeCFG.cpp34 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/
DBasicBlockUtils.cpp35 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 …]
DLoopSimplify.cpp100 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/
DBranchProbabilityInfo.h71 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 …]
DLoopIterator.h41 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 …]

12345678910>>...37