Home
last modified time | relevance | path

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

12345678910>>...16

/external/llvm/include/llvm/Transforms/Utils/
DBasicBlockUtils.h35 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/
DRegionInfo.h71 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 …]
DBranchProbabilityInfo.h57 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 …]
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 …]
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()
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()
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 …]
DLazyValueInfo.h53 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/
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 …]
DDominators.cpp64 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/
DBasicBlock.h31 : 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 …]
DInstructions.h67 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 …]
DFunction.h34 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/
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, 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 …]
DLoopSimplify.cpp102 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 …]
DLoopUnrollRuntime.cpp57 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 …]
DLowerSwitch.cpp52 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 …]
DCloneFunction.cpp37 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/
DAMDGPUStructurizeCFG.cpp34 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/
DCFG.h82 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 …]
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/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/llvm/lib/Analysis/
DRegionInfo.cpp55 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 …]
DProfileInfo.cpp28 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/
DJumpThreading.cpp51 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 …]
DLoopDeletion.cpp39 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 …]

12345678910>>...16