/freebsd-11.0-release/contrib/llvm/include/llvm/Analysis/ |
H A D | BranchProbabilityInfo.h | 55 BranchProbability getEdgeProbability(const BasicBlock *Src, 61 BranchProbability getEdgeProbability(const BasicBlock *Src, 62 const BasicBlock *Dst) const; 64 BranchProbability getEdgeProbability(const BasicBlock *Src, 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 *Ds [all...] |
H A D | IteratedDominanceFrontier.h | 34 class BasicBlock; 36 typedef DomTreeNodeBase<BasicBlock> DomTreeNode; 50 IDFCalculator(DominatorTreeBase<BasicBlock> &DT) : DT(DT), useLiveIn(false) {} 57 void setDefiningBlocks(const SmallPtrSetImpl<BasicBlock *> &Blocks) { 67 void setLiveInBlocks(const SmallPtrSetImpl<BasicBlock *> &Blocks) { 85 void calculate(SmallVectorImpl<BasicBlock *> &IDFBlocks); 88 DominatorTreeBase<BasicBlock> &DT; 91 const SmallPtrSetImpl<BasicBlock *> *LiveInBlocks; 92 const SmallPtrSetImpl<BasicBlock *> *DefBlocks; 93 SmallVector<BasicBlock *, 3 [all...] |
H A D | CFG.h | 1 //===-- Analysis/CFG.h - BasicBlock Analyses --------------------*- C++ -*-===// 18 #include "llvm/IR/BasicBlock.h" 23 class BasicBlock; 37 SmallVectorImpl<std::pair<const BasicBlock *, const BasicBlock *> > & 43 unsigned GetSuccessorNumber(const BasicBlock *BB, const BasicBlock *Succ); 77 bool isPotentiallyReachable(const BasicBlock *From, const BasicBlock *To, 88 bool isPotentiallyReachableFromMany(SmallVectorImpl<BasicBlock *> [all...] |
H A D | PostDominators.h | 26 DominatorTreeBase<BasicBlock>* DT; 30 DT = new DominatorTreeBase<BasicBlock>(true); 41 inline const std::vector<BasicBlock*> &getRoots() const { 49 inline DomTreeNode *operator[](BasicBlock *BB) const { 53 inline DomTreeNode *getNode(BasicBlock *BB) const { 61 inline bool dominates(const BasicBlock* A, const BasicBlock* B) const { 69 inline bool properlyDominates(BasicBlock* A, BasicBlock* B) const { 73 inline BasicBlock *findNearestCommonDominato [all...] |
H A D | OrderedBasicBlock.h | 12 // in a BasicBlock. Since BasicBlock currently lacks a reliable way to query 14 // such queries. OrderedBasicBlock is lazily built on a source BasicBlock and 16 // instance should be discarded whenever the source BasicBlock changes. 19 // positions of a pair of instructions inside a BasicBlock. 27 #include "llvm/IR/BasicBlock.h" 32 class BasicBlock; 36 /// \brief Map a instruction to its position in a BasicBlock. 42 BasicBlock::const_iterator LastInstFound; 47 /// \brief The source BasicBlock t [all...] |
H A D | LazyValueInfo.h | 55 BasicBlock *FromBB, BasicBlock *ToBB, 66 Constant *getConstant(Value *V, BasicBlock *BB, Instruction *CxtI = nullptr); 70 Constant *getConstantOnEdge(Value *V, BasicBlock *FromBB, BasicBlock *ToBB, 75 void threadEdge(BasicBlock *PredBB, BasicBlock *OldSucc, BasicBlock *NewSucc); 78 void eraseBlock(BasicBlock *BB);
|
H A D | PHITransAddr.h | 63 /// BasicBlock to its predecessors requires PHI translation. 64 bool NeedsPHITranslationFromBlock(BasicBlock *BB) const { 82 bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, 92 Value *PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, 104 Value *PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB, 112 Value *InsertPHITranslatedSubExpr(Value *InVal, BasicBlock *CurBB, 113 BasicBlock *PredB [all...] |
H A D | Trace.h | 25 class BasicBlock; 31 typedef std::vector<BasicBlock *> BasicBlockListType; 39 Trace(const std::vector<BasicBlock *> &vBB) : BasicBlocks (vBB) {} 44 BasicBlock *getEntryBasicBlock () const { return BasicBlocks[0]; } 48 BasicBlock *operator[](unsigned i) const { return BasicBlocks[i]; } 49 BasicBlock *getBlock(unsigned i) const { return BasicBlocks[i]; } 62 int getBlockIndex(const BasicBlock *X) const { 72 bool contains(const BasicBlock *X) const { 79 bool dominates(const BasicBlock *B1, const BasicBlock *B [all...] |
H A 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); } 87 bool hasPostorder(BasicBlock *BB) const { 88 DenseMap<BasicBlock*, unsigned>::const_iterator I = PostNumbers.find(BB); 93 unsigned getPostorder(BasicBlock *BB) const { 94 DenseMap<BasicBlock*, unsigned>::const_iterator I = PostNumbers.find(BB); 101 unsigned getRPO(BasicBlock *B [all...] |
H A D | Interval.h | 28 class BasicBlock; 38 /// HeaderNode - The header BasicBlock, which dominates all BasicBlocks in this 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) { 51 inline BasicBlock *getHeaderNode() const { return HeaderNode; } 55 std::vector<BasicBlock*> Nodes; 61 std::vector<BasicBlock*> Successor [all...] |
H A D | Loads.h | 18 #include "llvm/IR/BasicBlock.h" 54 Value *FindAvailableLoadedValue(Value *Ptr, BasicBlock *ScanBB, 55 BasicBlock::iterator &ScanFrom,
|
/freebsd-11.0-release/contrib/llvm/include/llvm/Transforms/Utils/ |
H A D | BypassSlowDivision.h | 32 BasicBlock *BB, const DenseMap<unsigned int, unsigned int> &BypassWidth);
|
H A D | BasicBlockUtils.h | 1 //===-- Transform/Utils/BasicBlockUtils.h - BasicBlock Utils ----*- C++ -*-===// 18 // FIXME: Move to this file: BasicBlock::removePredecessor, BB::splitBasicBlock 20 #include "llvm/IR/BasicBlock.h" 36 void DeleteDeadBlock(BasicBlock *BB); 42 void FoldSingleEntryPHINodes(BasicBlock *BB, 50 bool DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI = nullptr); 54 bool MergeBlockIntoPredecessor(BasicBlock *BB, DominatorTree *DT = nullptr, 61 void ReplaceInstWithValue(BasicBlock::InstListType &BIL, 62 BasicBlock::iterator &BI, Value *V); 69 void ReplaceInstWithInst(BasicBlock [all...] |
H A D | CodeExtractor.h | 22 class BasicBlock; 52 SetVector<BasicBlock *> Blocks; 61 CodeExtractor(BasicBlock *BB, bool AggregateArgs = false); 69 CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT = nullptr, 108 void severSplitPHINodes(BasicBlock *&Header); 113 BasicBlock *header, 114 BasicBlock *newRootNode, BasicBlock *newHeader, 120 BasicBlock *newHeader,
|
H A D | UnifyFunctionExitNodes.h | 26 BasicBlock *ReturnBlock, *UnwindBlock, *UnreachableBlock; 41 BasicBlock *getReturnBlock() const { return ReturnBlock; } 42 BasicBlock *getUnwindBlock() const { return UnwindBlock; } 43 BasicBlock *getUnreachableBlock() const { return UnreachableBlock; }
|
/freebsd-11.0-release/contrib/llvm/include/llvm/IR/ |
H A D | PredIteratorCache.h | 30 DenseMap<BasicBlock *, BasicBlock **> BlockToPredsMap; 31 DenseMap<BasicBlock *, unsigned> BlockToPredCountMap; 39 /// for (BasicBlock **PI = PredCache->GetPreds(BB); *PI; ++PI) 43 BasicBlock **GetPreds(BasicBlock *BB) { 44 BasicBlock **&Entry = BlockToPredsMap[BB]; 48 SmallVector<BasicBlock *, 32> PredCache(pred_begin(BB), pred_end(BB)); 53 Entry = Memory.Allocate<BasicBlock *>(PredCache.size()); 58 unsigned GetNumPreds(BasicBlock *B [all...] |
H A D | BasicBlock.h | 1 //===-- llvm/BasicBlock.h - Represent a basic block in the VM ---*- C++ -*-===// 10 // This file contains the declaration of the BasicBlock class. 34 struct SymbolTableListSentinelTraits<BasicBlock> 35 : public ilist_half_embedded_sentinel_traits<BasicBlock> {}; 42 /// tables. The type of a BasicBlock is "Type::LabelTy" because the basic block 48 /// terminate the blocks. The BasicBlock class allows malformed basic blocks to 52 class BasicBlock : public Value, // Basic blocks are data objects also class in namespace:llvm 53 public ilist_node_with_parent<BasicBlock, Function> { 63 friend class SymbolTableListTraits<BasicBlock>; 65 BasicBlock(cons [all...] |
H A D | AssemblyAnnotationWriter.h | 23 class BasicBlock; 40 virtual void emitBasicBlockStartAnnot(const BasicBlock *, 46 virtual void emitBasicBlockEndAnnot(const BasicBlock *,
|
H A D | CFG.h | 11 // BasicBlock graphs to be treated as proper graphs for generic algorithms. 26 // BasicBlock pred_iterator definition 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); } 92 inline const_pred_iterator pred_begin(const BasicBlock *BB) { 95 inline pred_iterator pred_end(BasicBlock *BB) { return pred_iterator(BB, true);} 96 inline const_pred_iterator pred_end(const BasicBlock *BB) { 99 inline bool pred_empty(const BasicBlock *BB) { 102 inline pred_range predecessors(BasicBlock *B [all...] |
/freebsd-11.0-release/contrib/llvm/lib/IR/ |
H A D | BasicBlock.cpp | 1 //===-- BasicBlock.cpp - Implement BasicBlock related methods -------------===// 10 // This file implements the BasicBlock class for the IR library. 14 #include "llvm/IR/BasicBlock.h" 27 ValueSymbolTable *BasicBlock::getValueSymbolTable() { 33 LLVMContext &BasicBlock::getContext() const { 41 BasicBlock::BasicBlock(LLVMContext &C, const Twine &Name, Function *NewParent, function in class:BasicBlock 42 BasicBlock *InsertBefore) 54 void BasicBlock [all...] |
/freebsd-11.0-release/contrib/llvm/lib/Transforms/Utils/ |
H A 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) { 129 BasicBlock *LastCondBlock = nullptr; 130 BasicBlock *FirstCondBloc [all...] |
H A D | UnifyFunctionExitNodes.cpp | 19 #include "llvm/IR/BasicBlock.h" 42 // BasicBlock, and converting all returns to unconditional branches to this 51 std::vector<BasicBlock*> ReturningBlocks; 52 std::vector<BasicBlock*> UnreachableBlocks; 53 for (BasicBlock &I : F) 65 UnreachableBlock = BasicBlock::Create(F.getContext(), 69 for (std::vector<BasicBlock*>::iterator I = UnreachableBlocks.begin(), 71 BasicBlock *BB = *I; 90 BasicBlock *NewRetBlock = BasicBlock [all...] |
/freebsd-11.0-release/contrib/llvm/lib/Analysis/ |
H A D | CFG.cpp | 1 //===-- CFG.cpp - BasicBlock analysis --------------------------------------==// 28 SmallVectorImpl<std::pair<const BasicBlock*,const BasicBlock*> > &Result) { 29 const BasicBlock *BB = &F.getEntryBlock(); 33 SmallPtrSet<const BasicBlock*, 8> Visited; 34 SmallVector<std::pair<const BasicBlock*, succ_const_iterator>, 8> VisitStack; 35 SmallPtrSet<const BasicBlock*, 8> InStack; 41 std::pair<const BasicBlock*, succ_const_iterator> &Top = VisitStack.back(); 42 const BasicBlock *ParentBB = Top.first; 72 unsigned llvm::GetSuccessorNumber(const BasicBlock *B 27 FindFunctionBackedges(const Function &F, SmallVectorImpl<std::pair<const BasicBlock*,const BasicBlock*> > &Result) argument [all...] |
/freebsd-11.0-release/contrib/llvm/tools/clang/lib/Analysis/ |
H A D | ThreadSafetyTIL.cpp | 56 unsigned BasicBlock::addPredecessor(BasicBlock *Pred) { 70 void BasicBlock::reservePredecessors(unsigned NumPreds) { 155 int BasicBlock::renumberInstrs(int ID) { 168 int BasicBlock::topologicalSort(SimpleArray<BasicBlock*>& Blocks, int ID) { 191 int BasicBlock::topologicalFinalSort(SimpleArray<BasicBlock*>& Blocks, int ID) { 209 void BasicBlock::computeDominator() { 210 BasicBlock *Candidat 269 computeNodeSize(BasicBlock *B, BasicBlock::TopologyNode BasicBlock::*TN) argument 280 computeNodeID(BasicBlock *B, BasicBlock::TopologyNode BasicBlock::*TN) argument [all...] |
/freebsd-11.0-release/contrib/llvm/lib/Transforms/Instrumentation/ |
H A D | Instrumentation.cpp | 24 static BasicBlock::iterator moveBeforeInsertPoint(BasicBlock::iterator I, BasicBlock::iterator IP) { 38 BasicBlock::iterator llvm::PrepareToSplitEntryBlock(BasicBlock &BB, 39 BasicBlock::iterator IP) {
|