Home
last modified time | relevance | path

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

12345678910>>...19

/external/llvm/include/llvm/Analysis/
DRegionInfo.h83 PointerIntPair<BasicBlock*, 1, bool> entry;
98 inline RegionNode(Region* Parent, BasicBlock* Entry, bool isSubRegion = 0)
117 inline BasicBlock* getEntry() const { return entry.getPointer(); } in getEntry()
141 inline BasicBlock* RegionNode::getNodeAs<BasicBlock>() const {
225 BasicBlock *exit;
232 typedef std::map<BasicBlock*, RegionNode*> BBNodeMapT;
239 void verifyBBInRegion(BasicBlock* BB) const;
244 void verifyWalk(BasicBlock* BB, std::set<BasicBlock*>* visitedBB) const;
259 Region(BasicBlock *Entry, BasicBlock *Exit, RegionInfo* RI,
267 BasicBlock *getEntry() const { return RegionNode::getEntry(); } in getEntry()
[all …]
DBranchProbabilityInfo.h58 BranchProbability getEdgeProbability(const BasicBlock *Src,
64 BranchProbability getEdgeProbability(const BasicBlock *Src,
65 const BasicBlock *Dst) const;
71 bool isEdgeHot(const BasicBlock *Src, const BasicBlock *Dst) const;
77 BasicBlock *getHotSucc(BasicBlock *BB) const;
84 raw_ostream &printEdgeProbability(raw_ostream &OS, const BasicBlock *Src,
85 const BasicBlock *Dst) const;
93 uint32_t getEdgeWeight(const BasicBlock *Src,
100 uint32_t getEdgeWeight(const BasicBlock *Src, const BasicBlock *Dst) const;
102 uint32_t getEdgeWeight(const BasicBlock *Src,
[all …]
DPostDominators.h26 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()
77 inline const BasicBlock *findNearestCommonDominator(const BasicBlock *A, in findNearestCommonDominator()
78 const BasicBlock *B) { in findNearestCommonDominator()
[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 …]
DInterval.h28 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()
51 inline BasicBlock *getHeaderNode() const { return HeaderNode; } in getHeaderNode()
55 std::vector<BasicBlock*> Nodes;
61 std::vector<BasicBlock*> Successors;
66 std::vector<BasicBlock*> Predecessors;
[all …]
/external/llvm/include/llvm/Transforms/Utils/
DBasicBlockUtils.h35 void DeleteDeadBlock(BasicBlock *BB);
41 void FoldSingleEntryPHINodes(BasicBlock *BB, Pass *P = nullptr);
48 bool DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI = nullptr);
52 bool MergeBlockIntoPredecessor(BasicBlock *BB, Pass *P = nullptr);
57 void ReplaceInstWithValue(BasicBlock::InstListType &BIL,
58 BasicBlock::iterator &BI, Value *V);
64 void ReplaceInstWithInst(BasicBlock::InstListType &BIL,
65 BasicBlock::iterator &BI, Instruction *I);
90 BasicBlock *SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum,
96 inline BasicBlock *SplitCriticalEdge(BasicBlock *BB, succ_iterator SI,
[all …]
/external/llvm/lib/IR/
DBasicBlock.cpp27 ValueSymbolTable *BasicBlock::getValueSymbolTable() { in getValueSymbolTable()
33 const DataLayout *BasicBlock::getDataLayout() const { in getDataLayout()
37 LLVMContext &BasicBlock::getContext() const { in getContext()
43 template class llvm::SymbolTableListTraits<Instruction, BasicBlock>;
46 BasicBlock::BasicBlock(LLVMContext &C, const Twine &Name, Function *NewParent, in BasicBlock() function in BasicBlock
47 BasicBlock *InsertBefore) in BasicBlock()
65 BasicBlock::~BasicBlock() { in ~BasicBlock()
89 void BasicBlock::setParent(Function *parent) { in setParent()
100 void BasicBlock::removeFromParent() { in removeFromParent()
104 void BasicBlock::eraseFromParent() { in eraseFromParent()
[all …]
DDominators.cpp64 TEMPLATE_INSTANTIATION(class llvm::DomTreeNodeBase<BasicBlock>);
65 TEMPLATE_INSTANTIATION(class llvm::DominatorTreeBase<BasicBlock>);
68 TEMPLATE_INSTANTIATION(void llvm::Calculate<Function LLVM_COMMA BasicBlock *>(
69 DominatorTreeBase<GraphTraits<BasicBlock *>::NodeType> &DT LLVM_COMMA
72 void llvm::Calculate<Function LLVM_COMMA Inverse<BasicBlock *> >(
73 DominatorTreeBase<GraphTraits<Inverse<BasicBlock *> >::NodeType> &DT
82 const BasicBlock *UseBB = User->getParent(); in dominates()
83 const BasicBlock *DefBB = Def->getParent(); in dominates()
108 BasicBlock::const_iterator I = DefBB->begin(); in dominates()
118 const BasicBlock *UseBB) const { in dominates()
[all …]
/external/llvm/include/llvm/IR/
DBasicBlock.h32 : public SymbolTableListTraits<Instruction, BasicBlock> {
72 class BasicBlock : public Value, // Basic blocks are data objects also
73 public ilist_node<BasicBlock> {
82 friend class SymbolTableListTraits<BasicBlock, Function>;
84 BasicBlock(const BasicBlock &) LLVM_DELETED_FUNCTION;
85 void operator=(const BasicBlock &) LLVM_DELETED_FUNCTION;
92 explicit BasicBlock(LLVMContext &C, const Twine &Name = "",
94 BasicBlock *InsertBefore = nullptr);
110 static BasicBlock *Create(LLVMContext &Context, const Twine &Name = "",
112 BasicBlock *InsertBefore = nullptr) {
[all …]
DDominators.h34 EXTERN_TEMPLATE_INSTANTIATION(class DomTreeNodeBase<BasicBlock>);
35 EXTERN_TEMPLATE_INSTANTIATION(class DominatorTreeBase<BasicBlock>);
38 EXTERN_TEMPLATE_INSTANTIATION(void Calculate<Function LLVM_COMMA BasicBlock *>(
39 DominatorTreeBase<GraphTraits<BasicBlock *>::NodeType> &DT LLVM_COMMA
42 void Calculate<Function LLVM_COMMA Inverse<BasicBlock *> >(
43 DominatorTreeBase<GraphTraits<Inverse<BasicBlock *> >::NodeType> &DT
47 typedef DomTreeNodeBase<BasicBlock> DomTreeNode;
50 const BasicBlock *Start;
51 const BasicBlock *End;
53 BasicBlockEdge(const BasicBlock *Start_, const BasicBlock *End_) : in BasicBlockEdge()
[all …]
DCFG.h84 typedef PredIterator<BasicBlock, Value::user_iterator> pred_iterator;
85 typedef PredIterator<const BasicBlock,
88 inline pred_iterator pred_begin(BasicBlock *BB) { return pred_iterator(BB); } in pred_begin()
89 inline const_pred_iterator pred_begin(const BasicBlock *BB) { in pred_begin()
92 inline pred_iterator pred_end(BasicBlock *BB) { return pred_iterator(BB, true);} in pred_end()
93 inline const_pred_iterator pred_end(const BasicBlock *BB) { in pred_end()
244 typedef SuccIterator<TerminatorInst*, BasicBlock> succ_iterator;
246 const BasicBlock> succ_const_iterator;
248 inline succ_iterator succ_begin(BasicBlock *BB) { in succ_begin()
251 inline succ_const_iterator succ_begin(const BasicBlock *BB) { in succ_begin()
[all …]
DPredIteratorCache.h29 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/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(BasicBlock *BB, BasicBlock *Succ) { in GetSuccessorNumber()
92 const BasicBlock *Dest = TI->getSuccessor(SuccNum); in isCriticalEdge()
97 const BasicBlock *FirstPred = *I; in isCriticalEdge()
[all …]
DRegionInfo.cpp54 Region::Region(BasicBlock *Entry, BasicBlock *Exit, RegionInfo* RInfo, in Region()
69 void Region::replaceEntry(BasicBlock *BB) { in replaceEntry()
73 void Region::replaceExit(BasicBlock *BB) { in replaceExit()
78 void Region::replaceEntryRecursive(BasicBlock *NewEntry) { in replaceEntryRecursive()
80 BasicBlock *OldEntry = getEntry(); in replaceEntryRecursive()
94 void Region::replaceExitRecursive(BasicBlock *NewExit) { in replaceExitRecursive()
96 BasicBlock *OldExit = getExit(); in replaceExitRecursive()
110 bool Region::contains(const BasicBlock *B) const { in contains()
111 BasicBlock *BB = const_cast<BasicBlock*>(B); in contains()
116 BasicBlock *entry = getEntry(), *exit = getExit(); in contains()
[all …]
/external/llvm/lib/Transforms/Utils/
DFlattenCFG.cpp31 bool FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder,
36 bool MergeIfRegion(BasicBlock *BB, IRBuilder<> &Builder, Pass *P = nullptr);
42 bool CompareIfRegionBlock(BasicBlock *Head1, BasicBlock *Head2,
43 BasicBlock *Block1, BasicBlock *Block2);
47 bool run(BasicBlock *BB);
125 bool FlattenCFGOpt::FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder, in FlattenParallelAndOr()
131 BasicBlock *LastCondBlock = nullptr; in FlattenParallelAndOr()
132 BasicBlock *FirstCondBlock = nullptr; in FlattenParallelAndOr()
133 BasicBlock *UnCondBlock = nullptr; in FlattenParallelAndOr()
137 SmallPtrSet<BasicBlock *, 16> Preds(pred_begin(BB), pred_end(BB)); in FlattenParallelAndOr()
[all …]
DBasicBlockUtils.cpp36 void llvm::DeleteDeadBlock(BasicBlock *BB) { in DeleteDeadBlock()
68 void llvm::FoldSingleEntryPHINodes(BasicBlock *BB, Pass *P) { in FoldSingleEntryPHINodes()
98 bool llvm::DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI) { in DeleteDeadPHIs()
102 for (BasicBlock::iterator I = BB->begin(); in DeleteDeadPHIs()
116 bool llvm::MergeBlockIntoPredecessor(BasicBlock *BB, Pass *P) { in MergeBlockIntoPredecessor()
121 BasicBlock *PredBB = BB->getUniquePredecessor(); in MergeBlockIntoPredecessor()
130 BasicBlock *OnlySucc = BB; in MergeBlockIntoPredecessor()
141 for (BasicBlock::iterator BI = BB->begin(), BE = BB->end(); BI != BE; ++BI) { in MergeBlockIntoPredecessor()
199 void llvm::ReplaceInstWithValue(BasicBlock::InstListType &BIL, in ReplaceInstWithValue()
200 BasicBlock::iterator &BI, Value *V) { in ReplaceInstWithValue()
[all …]
DLoopUnrollRuntime.cpp58 BasicBlock *LastPrologBB, BasicBlock *PrologEnd, in ConnectProlog()
59 BasicBlock *OrigPH, BasicBlock *NewPH, in ConnectProlog()
61 BasicBlock *Latch = L->getLoopLatch(); in ConnectProlog()
71 for (BasicBlock::iterator BBI = (*SBI)->begin(); in ConnectProlog()
113 BasicBlock *Exit = L->getUniqueExitBlock(); in ConnectProlog()
116 SmallVector<BasicBlock*, 4> Preds(pred_begin(Exit), pred_end(Exit)); in ConnectProlog()
120 SmallVector<BasicBlock*, 2> NewBBs; in ConnectProlog()
139 BasicBlock *InsertTop, in CloneLoopBlocks()
140 BasicBlock *InsertBot, in CloneLoopBlocks()
141 std::vector<BasicBlock *> &NewBlocks, in CloneLoopBlocks()
[all …]
DLoopSimplify.cpp74 static void placeSplitBlockCarefully(BasicBlock *NewBB, in placeSplitBlockCarefully()
75 SmallVectorImpl<BasicBlock *> &SplitPreds, in placeSplitBlockCarefully()
90 BasicBlock *FoundBB = nullptr; in placeSplitBlockCarefully()
112 BasicBlock *llvm::InsertPreheaderForLoop(Loop *L, Pass *PP) { in InsertPreheaderForLoop()
113 BasicBlock *Header = L->getHeader(); in InsertPreheaderForLoop()
116 SmallVector<BasicBlock*, 8> OutsideBlocks; in InsertPreheaderForLoop()
119 BasicBlock *P = *PI; in InsertPreheaderForLoop()
132 BasicBlock *PreheaderBB; in InsertPreheaderForLoop()
137 SmallVector<BasicBlock*, 2> NewBBs; in InsertPreheaderForLoop()
159 static BasicBlock *rewriteLoopExitBlock(Loop *L, BasicBlock *Exit, Pass *PP) { in rewriteLoopExitBlock()
[all …]
DLowerSwitch.cpp56 BasicBlock* BB;
59 BasicBlock *bb = nullptr) : in CaseRange()
68 BasicBlock *switchConvert(CaseItr Begin, CaseItr End,
70 Value *Val, BasicBlock *OrigBlock,
71 BasicBlock *Default);
72 BasicBlock *newLeafBlock(CaseRange &Leaf, Value *Val, BasicBlock *OrigBlock,
73 BasicBlock *Default);
105 BasicBlock *Cur = I++; // Advance over block so we don't traverse new blocks in runOnFunction()
139 BasicBlock *LowerSwitch::switchConvert(CaseItr Begin, CaseItr End, in switchConvert()
142 BasicBlock *OrigBlock, in switchConvert()
[all …]
/external/llvm/lib/Transforms/Scalar/
DStructurizeCFG.cpp29 typedef std::pair<BasicBlock *, Value *> BBValuePair;
32 typedef SmallVector<BasicBlock*, 8> BBVector;
36 typedef SmallPtrSet<BasicBlock *, 8> BBSet;
39 typedef MapVector<BasicBlock *, BBVector> BB2BBVecMap;
42 typedef DenseMap<BasicBlock *, PhiMap> BBPhiMap;
43 typedef DenseMap<BasicBlock *, Value *> BBPredicates;
44 typedef DenseMap<BasicBlock *, BBPredicates> PredMap;
45 typedef DenseMap<BasicBlock *, BasicBlock*> BB2BBMap;
60 BasicBlock *Result;
72 void addBlock(BasicBlock *BB, bool Remember = true) { in addBlock()
[all …]
DLoopDeletion.cpp55 bool isLoopDead(Loop *L, SmallVectorImpl<BasicBlock *> &exitingBlocks,
56 SmallVectorImpl<BasicBlock *> &exitBlocks,
57 bool &Changed, BasicBlock *Preheader);
81 SmallVectorImpl<BasicBlock *> &exitingBlocks, in isLoopDead()
82 SmallVectorImpl<BasicBlock *> &exitBlocks, in isLoopDead()
83 bool &Changed, BasicBlock *Preheader) { in isLoopDead()
84 BasicBlock *exitBlock = exitBlocks[0]; in isLoopDead()
91 BasicBlock::iterator BI = exitBlock->begin(); in isLoopDead()
117 for (BasicBlock::iterator BI = (*LI)->begin(), BE = (*LI)->end(); in isLoopDead()
139 BasicBlock *preheader = L->getLoopPreheader(); in runOnLoop()
[all …]
/external/mesa3d/src/gallium/drivers/nv50/codegen/
Dnv50_ir_bb.cpp67 delete reinterpret_cast<BasicBlock *>(BBs.get()); in ~Function()
70 BasicBlock::BasicBlock(Function *fn) : cfg(this), dom(this), func(fn) in BasicBlock() function in nv50_ir::BasicBlock
85 BasicBlock::~BasicBlock() in ~BasicBlock()
90 BasicBlock *
91 BasicBlock::clone(ClonePolicy<Function>& pol) const in clone()
93 BasicBlock *bb = new BasicBlock(pol.context()); in clone()
103 BasicBlock *obb = BasicBlock::get(it.getNode()); in clone()
110 BasicBlock *
111 BasicBlock::idom() const in idom()
114 return dn ? BasicBlock::get(dn) : NULL; in idom()
[all …]
/external/chromium_org/third_party/mesa/src/src/gallium/drivers/nv50/codegen/
Dnv50_ir_bb.cpp67 delete reinterpret_cast<BasicBlock *>(BBs.get()); in ~Function()
70 BasicBlock::BasicBlock(Function *fn) : cfg(this), dom(this), func(fn) in BasicBlock() function in nv50_ir::BasicBlock
85 BasicBlock::~BasicBlock() in ~BasicBlock()
90 BasicBlock *
91 BasicBlock::clone(ClonePolicy<Function>& pol) const in clone()
93 BasicBlock *bb = new BasicBlock(pol.context()); in clone()
103 BasicBlock *obb = BasicBlock::get(it.getNode()); in clone()
110 BasicBlock *
111 BasicBlock::idom() const in idom()
114 return dn ? BasicBlock::get(dn) : NULL; in idom()
[all …]
/external/javassist/src/main/javassist/bytecode/stackmap/
DBasicBlock.java28 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/chromium_org/sandbox/linux/seccomp-bpf/
Dbasicblock.h14 struct BasicBlock { struct
15 BasicBlock();
16 ~BasicBlock();
26 int (*cmp)(const BasicBlock*, const BasicBlock*, const T& data)) in Less() argument
29 bool operator()(const BasicBlock* a, const BasicBlock* b) const { in operator() argument
35 int (*cmp_)(const BasicBlock*, const BasicBlock*, const T&); argument

12345678910>>...19