/freebsd-11.0-release/contrib/llvm/lib/Transforms/Scalar/ |
H A D | MergedLoadStoreMotion.cpp | 135 BasicBlock *getDiamondTail(BasicBlock *BB); 136 bool isDiamondHead(BasicBlock *BB); 141 LoadInst *canHoistFromBlock(BasicBlock *BB, LoadInst *LI); 142 void hoistInstruction(BasicBlock *BB, Instruction *HoistCand, 145 bool hoistLoad(BasicBlock *BB, LoadInst *HoistCand, LoadInst *ElseInst); 146 bool mergeLoads(BasicBlock *BB); 148 StoreInst *canSinkFromBlock(BasicBlock *BB, StoreInst *SI); 149 PHINode *getPHIOperand(BasicBlock *BB, StoreInst *S0, StoreInst *S1); 152 bool sinkStore(BasicBlock *B [all...] |
H A D | StructurizeCFG.cpp | 33 typedef std::pair<BasicBlock *, Value *> BBValuePair; 36 typedef SmallVector<BasicBlock*, 8> BBVector; 40 typedef SmallPtrSet<BasicBlock *, 8> BBSet; 43 typedef MapVector<BasicBlock *, BBVector> BB2BBVecMap; 46 typedef DenseMap<BasicBlock *, PhiMap> BBPhiMap; 47 typedef DenseMap<BasicBlock *, Value *> BBPredicates; 48 typedef DenseMap<BasicBlock *, BBPredicates> PredMap; 49 typedef DenseMap<BasicBlock *, BasicBlock*> BB2BBMap; 64 BasicBlock *Resul [all...] |
H A D | LoopDeletion.cpp | 57 bool isLoopDead(Loop *L, SmallVectorImpl<BasicBlock *> &exitingBlocks, 58 SmallVectorImpl<BasicBlock *> &exitBlocks, 59 bool &Changed, BasicBlock *Preheader); 83 SmallVectorImpl<BasicBlock *> &exitingBlocks, 84 SmallVectorImpl<BasicBlock *> &exitBlocks, 85 bool &Changed, BasicBlock *Preheader) { 86 BasicBlock *exitBlock = exitBlocks[0]; 93 BasicBlock::iterator BI = exitBlock->begin(); 119 for (BasicBlock::iterator BI = (*LI)->begin(), BE = (*LI)->end(); 141 BasicBlock *preheade [all...] |
H A D | JumpThreading.cpp | 70 typedef SmallVectorImpl<std::pair<Constant*, BasicBlock*> > PredValueInfo; 71 typedef SmallVector<std::pair<Constant*, BasicBlock*>, 8> PredValueInfoTy; 103 SmallPtrSet<const BasicBlock *, 16> LoopHeaders; 105 SmallSet<AssertingVH<const BasicBlock>, 16> LoopHeaders; 107 DenseSet<std::pair<Value*, BasicBlock*> > RecursionSet; 113 DenseSet<std::pair<Value*, BasicBlock*> > &TheSet; 114 std::pair<Value*, BasicBlock*> ThePair; 116 RecursionSetRemover(DenseSet<std::pair<Value*, BasicBlock*> > &S, 117 std::pair<Value*, BasicBlock*> P) 146 bool ProcessBlock(BasicBlock *B [all...] |
/freebsd-11.0-release/contrib/llvm/lib/IR/ |
H A D | Dominators.cpp | 65 template class llvm::DomTreeNodeBase<BasicBlock>; 66 template class llvm::DominatorTreeBase<BasicBlock>; 68 template void llvm::Calculate<Function, BasicBlock *>( 69 DominatorTreeBase<GraphTraits<BasicBlock *>::NodeType> &DT, Function &F); 70 template void llvm::Calculate<Function, Inverse<BasicBlock *>>( 71 DominatorTreeBase<GraphTraits<Inverse<BasicBlock *>>::NodeType> &DT, 79 const BasicBlock *UseBB = User->getParent(); 80 const BasicBlock *DefBB = Def->getParent(); 105 BasicBlock::const_iterator I = DefBB->begin(); 115 const BasicBlock *UseB [all...] |
/freebsd-11.0-release/contrib/llvm/lib/Transforms/IPO/ |
H A D | PartialInlining.cpp | 53 BasicBlock *entryBlock = &F->front(); 58 BasicBlock* returnBlock = nullptr; 59 BasicBlock* nonReturnBlock = nullptr; 61 for (BasicBlock *BB : successors(entryBlock)) { 78 BasicBlock* newEntryBlock = cast<BasicBlock>(VMap[entryBlock]); 79 BasicBlock* newReturnBlock = cast<BasicBlock>(VMap[returnBlock]); 80 BasicBlock* newNonReturnBlock = cast<BasicBlock>(VMa [all...] |
/freebsd-11.0-release/contrib/llvm/lib/Analysis/ |
H A D | EHPersonalities.cpp | 48 DenseMap<BasicBlock *, ColorVector> llvm::colorEHFunclets(Function &F) { 49 SmallVector<std::pair<BasicBlock *, BasicBlock *>, 16> Worklist; 50 BasicBlock *EntryBlock = &F.getEntryBlock(); 51 DenseMap<BasicBlock *, ColorVector> BlockColors; 69 BasicBlock *Visiting; 70 BasicBlock *Color; 92 BasicBlock *SuccColor = Color; 102 for (BasicBlock *Succ : successors(Visiting))
|
H A D | DivergenceAnalysis.cpp | 100 void computeInfluenceRegion(BasicBlock *Start, BasicBlock *End, 101 DenseSet<BasicBlock *> &InfluenceRegion); 105 Instruction &I, const DenseSet<BasicBlock *> &InfluenceRegion); 142 BasicBlock *ThisBB = TI->getParent(); 143 BasicBlock *IPostDom = PDT.getNode(ThisBB)->getIDom()->getBlock(); 173 DenseSet<BasicBlock *> InfluenceRegion; 179 BasicBlock *InfluencedBB = ThisBB; 191 Instruction &I, const DenseSet<BasicBlock *> &InfluenceRegion) { 204 addSuccessorsToInfluenceRegion(BasicBlock *ThisB [all...] |
H A D | Interval.cpp | 16 #include "llvm/IR/BasicBlock.h" 45 for (std::vector<BasicBlock*>::const_iterator I = Nodes.begin(), 50 for (std::vector<BasicBlock*>::const_iterator I = Predecessors.begin(), 55 for (std::vector<BasicBlock*>::const_iterator I = Successors.begin(),
|
/freebsd-11.0-release/contrib/llvm/include/llvm/IR/ |
H A D | Dominators.h | 23 #include "llvm/IR/BasicBlock.h" 39 extern template class DomTreeNodeBase<BasicBlock>; 40 extern template class DominatorTreeBase<BasicBlock>; 42 extern template void Calculate<Function, BasicBlock *>( 43 DominatorTreeBase<GraphTraits<BasicBlock *>::NodeType> &DT, Function &F); 44 extern template void Calculate<Function, Inverse<BasicBlock *>>( 45 DominatorTreeBase<GraphTraits<Inverse<BasicBlock *>>::NodeType> &DT, 48 typedef DomTreeNodeBase<BasicBlock> DomTreeNode; 51 const BasicBlock *Start; 52 const BasicBlock *En [all...] |
/freebsd-11.0-release/contrib/llvm/include/llvm/Analysis/ |
H A D | CodeMetrics.h | 24 class BasicBlock; 66 DenseMap<const BasicBlock *, unsigned> NumBBInsts; 91 void analyzeBasicBlock(const BasicBlock *BB, const TargetTransformInfo &TTI,
|
H A D | EHPersonalities.h | 18 class BasicBlock; 84 typedef TinyPtrVector<BasicBlock *> ColorVector; 90 DenseMap<BasicBlock *, ColorVector> colorEHFunclets(Function &F);
|
H A D | DominanceFrontier.h | 137 ForwardDominanceFrontierBase<BasicBlock> Base; 140 typedef DominatorTreeBase<BasicBlock> DomTreeT; 141 typedef DomTreeNodeBase<BasicBlock> DomTreeNodeT; 142 typedef DominanceFrontierBase<BasicBlock>::DomSetType DomSetType; 143 typedef DominanceFrontierBase<BasicBlock>::iterator iterator; 144 typedef DominanceFrontierBase<BasicBlock>::const_iterator const_iterator; 150 ForwardDominanceFrontierBase<BasicBlock> &getBase() { return Base; } 152 inline const std::vector<BasicBlock *> &getRoots() const { 156 BasicBlock *getRoot() const { return Base.getRoot(); } 168 iterator find(BasicBlock * [all...] |
H A D | SparsePropagation.h | 30 class BasicBlock; 120 SmallPtrSet<BasicBlock *, 16> BBExecutable; // The bbs that are executable. 124 std::vector<BasicBlock *> BBWorkList; // The BasicBlock work list 128 typedef std::pair<BasicBlock*,BasicBlock*> Edge; 166 bool isEdgeFeasible(BasicBlock *From, BasicBlock *To, 172 bool isBlockExecutable(BasicBlock *BB) const { 183 void MarkBlockExecutable(BasicBlock *B [all...] |
H A D | MemoryDependenceAnalysis.h | 21 #include "llvm/IR/BasicBlock.h" 190 /// each BasicBlock (the BB entry) it keeps a MemDepResult. 192 BasicBlock *BB; 196 NonLocalDepEntry(BasicBlock *bb, MemDepResult result) 200 NonLocalDepEntry(BasicBlock *bb) : BB(bb) {} 203 BasicBlock *getBB() const { return BB; } 215 /// For each BasicBlock (the BB entry) it keeps a MemDepResult and the 222 NonLocalDepResult(BasicBlock *bb, MemDepResult result, Value *address) 226 BasicBlock *getBB() const { return Entry.getBB(); } 277 typedef PointerIntPair<BasicBlock*, [all...] |
H A D | BlockFrequencyInfo.h | 30 typedef BlockFrequencyInfoImpl<BasicBlock> ImplType; 46 BlockFrequency getBlockFreq(const BasicBlock *BB) const; 49 void setBlockFreq(const BasicBlock *BB, uint64_t Freq); 61 raw_ostream &printBlockFreq(raw_ostream &OS, const BasicBlock *BB) const;
|
/freebsd-11.0-release/contrib/llvm/tools/clang/lib/CodeGen/ |
H A D | CGLoopInfo.h | 25 class BasicBlock; 66 LoopInfo(llvm::BasicBlock *Header, const LoopAttributes &Attrs); 72 llvm::BasicBlock *getHeader() const { return Header; } 81 llvm::BasicBlock *Header; 98 void push(llvm::BasicBlock *Header); 102 void push(llvm::BasicBlock *Header, clang::ASTContext &Ctx,
|
/freebsd-11.0-release/contrib/llvm/include/llvm/Transforms/Utils/ |
H A D | SSAUpdater.h | 22 class BasicBlock; 44 //typedef DenseMap<BasicBlock*, Value*> AvailableValsTy; 71 void AddAvailableValue(BasicBlock *BB, Value *V); 75 bool HasValueForBlock(BasicBlock *BB) const; 79 Value *GetValueAtEndOfBlock(BasicBlock *BB); 101 Value *GetValueInMiddleOfBlock(BasicBlock *BB); 120 Value *GetValueAtEndOfBlockInternal(BasicBlock *BB);
|
/freebsd-11.0-release/contrib/llvm/include/llvm/Transforms/ |
H A D | Vectorize.h | 19 class BasicBlock; 130 /// @brief Vectorize the BasicBlock. 132 /// @param BB The BasicBlock to be vectorized 139 bool vectorizeBasicBlock(Pass *P, BasicBlock &BB,
|
/freebsd-11.0-release/contrib/llvm/lib/Transforms/Utils/ |
H A D | BasicBlockUtils.cpp | 1 //===-- BasicBlockUtils.cpp - BasicBlock Utilities -------------------------==// 36 void llvm::DeleteDeadBlock(BasicBlock *BB) { 44 for (BasicBlock *Succ : BBTerm->successors()) 68 void llvm::FoldSingleEntryPHINodes(BasicBlock *BB, 90 bool llvm::DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI) { 94 for (BasicBlock::iterator I = BB->begin(); 108 bool llvm::MergeBlockIntoPredecessor(BasicBlock *BB, DominatorTree *DT, 115 BasicBlock *PredBB = BB->getUniquePredecessor(); 125 BasicBlock *OnlySucc = BB; 136 for (BasicBlock [all...] |
H A D | LowerSwitch.cpp | 71 BasicBlock* BB; 73 CaseRange(ConstantInt *low, ConstantInt *high, BasicBlock *bb) 80 void processSwitchInst(SwitchInst *SI, SmallPtrSetImpl<BasicBlock*> &DeleteList); 82 BasicBlock *switchConvert(CaseItr Begin, CaseItr End, 84 Value *Val, BasicBlock *Predecessor, 85 BasicBlock *OrigBlock, BasicBlock *Default, 87 BasicBlock *newLeafBlock(CaseRange &Leaf, Value *Val, BasicBlock *OrigBlock, 88 BasicBlock *Defaul [all...] |
H A D | LoopUnrollRuntime.cpp | 31 #include "llvm/IR/BasicBlock.h" 63 BasicBlock *LastPrologBB, BasicBlock *PrologEnd, 64 BasicBlock *OrigPH, BasicBlock *NewPH, 67 BasicBlock *Latch = L->getLoopLatch(); 77 for (BasicBlock::iterator BBI = (*SBI)->begin(); 126 BasicBlock *Exit = L->getUniqueExitBlock(); 129 SmallVector<BasicBlock*, 4> Preds(pred_begin(Exit), pred_end(Exit)); 143 BasicBlock *InsertTo [all...] |
H A D | LCSSA.cpp | 53 static bool isExitBlock(BasicBlock *BB, 54 const SmallVectorImpl<BasicBlock *> &ExitBlocks) { 65 const SmallVectorImpl<BasicBlock *> &ExitBlocks, 76 BasicBlock *InstBB = Inst.getParent(); 80 BasicBlock *UserBB = User->getParent(); 98 BasicBlock *DomBB = Inst.getParent(); 112 for (BasicBlock *ExitBB : ExitBlocks) { 124 for (BasicBlock *Pred : PredCache.get(ExitBB)) { 162 BasicBlock *UserBB = User->getParent(); 184 BasicBlock *PHIB [all...] |
H A D | BreakCriticalEdges.cpp | 84 static void createPHIsForSplitLoopExit(ArrayRef<BasicBlock *> Preds, 85 BasicBlock *SplitBB, 86 BasicBlock *DestBB) { 92 for (BasicBlock::iterator I = DestBB->begin(); 132 BasicBlock *llvm::SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum, 140 BasicBlock *TIBB = TI->getParent(); 141 BasicBlock *DestBB = TI->getSuccessor(SuccNum); 148 BasicBlock *NewBB = BasicBlock::Create(TI->getContext(), 166 for (BasicBlock [all...] |
/freebsd-11.0-release/contrib/llvm/lib/CodeGen/ |
H A D | WinEHPrepare.cpp | 72 insertPHIStore(BasicBlock *PredBlock, Value *PredVal, AllocaInst *SpillSlot, 73 SmallVectorImpl<std::pair<BasicBlock *, Value *>> &Worklist); 76 DenseMap<BasicBlock *, Value *> &Loads, Function &F); 89 DenseMap<BasicBlock *, ColorVector> BlockColors; 90 MapVector<BasicBlock *, std::vector<BasicBlock *>> FuncletBlocks; 122 const BasicBlock *BB) { 157 static BasicBlock *getCleanupRetUnwindDest(const CleanupPadInst *CleanupPad) { 167 DenseMap<BasicBlock *, ColorVector> BlockColors = colorEHFunclets(*F); 168 for (BasicBlock [all...] |