| /src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Scalar/ |
| JumpThreading.h | 32 class BasicBlock; 55 using PredValueInfo = SmallVectorImpl<std::pair<Constant *, BasicBlock *>>; 56 using PredValueInfoTy = SmallVector<std::pair<Constant *, BasicBlock *>, 8>; 89 SmallPtrSet<const BasicBlock *, 16> LoopHeaders; 91 SmallSet<AssertingVH<const BasicBlock>, 16> LoopHeaders; 115 bool processBlock(BasicBlock *BB); 116 bool maybeMergeBasicBlockIntoOnlyPred(BasicBlock *BB); 117 void updateSSA(BasicBlock *BB, BasicBlock *NewBB, 119 DenseMap<Instruction *, Value *> cloneInstructions(BasicBlock::iterator BI [all...] |
| SpeculativeExecution.h | 80 bool runOnBasicBlock(BasicBlock &B); 81 bool considerHoistingFromTo(BasicBlock &FromBlock, BasicBlock &ToBlock);
|
| /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
| MemorySSAUpdater.h | 46 class BasicBlock; 54 using CFGUpdate = cfg::Update<BasicBlock *>; 64 SmallPtrSet<BasicBlock *, 8> VisitedBlocks; 91 void removeEdge(BasicBlock *From, BasicBlock *To); 95 void removeDuplicatePhiEdgesBetween(const BasicBlock *From, 96 const BasicBlock *To); 98 void updatePhisWhenInsertingUniqueBackedgeBlock(BasicBlock *LoopHeader, 99 BasicBlock *LoopPreheader, 100 BasicBlock *BackedgeBlock) [all...] |
| IteratedDominanceFrontier.h | 17 class BasicBlock; 21 /// Specialization for BasicBlock for the optional use of GraphDiff. 22 template <bool IsPostDom> struct ChildrenGetterTy<BasicBlock, IsPostDom> { 23 using NodeRef = BasicBlock *; 24 using ChildrenTy = SmallVector<BasicBlock *, 8>; 27 ChildrenGetterTy(const GraphDiff<BasicBlock *, IsPostDom> *GD) : GD(GD) { 33 const GraphDiff<BasicBlock *, IsPostDom> *GD = nullptr; 39 class IDFCalculator final : public IDFCalculatorBase<BasicBlock, IsPostDom> { 42 typename llvm::IDFCalculatorBase<BasicBlock, IsPostDom>; 45 IDFCalculator(DominatorTreeBase<BasicBlock, IsPostDom> &DT [all...] |
| CFG.h | 1 //===-- Analysis/CFG.h - BasicBlock Analyses --------------------*- C++ -*-===// 23 class BasicBlock; 37 SmallVectorImpl<std::pair<const BasicBlock *, const BasicBlock *> > & 43 unsigned GetSuccessorNumber(const BasicBlock *BB, const BasicBlock *Succ); 51 bool isCriticalEdge(const Instruction *TI, const BasicBlock *Succ, 71 const SmallPtrSetImpl<BasicBlock *> *ExclusionSet = nullptr, 81 const BasicBlock *From, const BasicBlock *To [all...] |
| GuardUtils.h | 17 class BasicBlock; 44 Value *&WidenableCondition, BasicBlock *&IfTrueBB, 45 BasicBlock *&IfFalseBB); 49 bool parseWidenableBranch(User *U, Use *&Cond, Use *&WC, BasicBlock *&IfTrueBB, 50 BasicBlock *&IfFalseBB);
|
| InstructionPrecedenceTracking.h | 27 class BasicBlock; 34 DenseMap<const BasicBlock *, const Instruction *> FirstSpecialInsts; 37 void fill(const BasicBlock *BB); 43 void validate(const BasicBlock *BB) const; 54 const Instruction *getFirstSpecialInstruction(const BasicBlock *BB); 58 bool hasSpecialInstructions(const BasicBlock *BB); 77 void insertInstructionTo(const Instruction *Inst, const BasicBlock *BB); 103 const Instruction *getFirstICFI(const BasicBlock *BB) { 109 bool hasICF(const BasicBlock *BB) { 125 const Instruction *getFirstMemoryWrite(const BasicBlock *BB) [all...] |
| PHITransAddr.h | 62 /// BasicBlock to its predecessors requires PHI translation. 63 bool NeedsPHITranslationFromBlock(BasicBlock *BB) const { 81 bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, 91 Value *PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, 103 Value *PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB, 111 Value *InsertPHITranslatedSubExpr(Value *InVal, BasicBlock *CurBB, 112 BasicBlock *PredBB, const DominatorTree &DT [all...] |
| BranchProbabilityInfo.h | 20 #include "llvm/IR/BasicBlock.h" 153 BranchProbability getEdgeProbability(const BasicBlock *Src, 159 BranchProbability getEdgeProbability(const BasicBlock *Src, 160 const BasicBlock *Dst) const; 162 BranchProbability getEdgeProbability(const BasicBlock *Src, 169 bool isEdgeHot(const BasicBlock *Src, const BasicBlock *Dst) const; 175 const BasicBlock *getHotSucc(const BasicBlock *BB) const; 182 raw_ostream &printEdgeProbability(raw_ostream &OS, const BasicBlock *Src [all...] |
| Interval.h | 27 class BasicBlock; 37 /// HeaderNode - The header BasicBlock, which dominates all BasicBlocks in this 40 BasicBlock *HeaderNode; 43 using succ_iterator = std::vector<BasicBlock*>::iterator; 44 using pred_iterator = std::vector<BasicBlock*>::iterator; 45 using node_iterator = std::vector<BasicBlock*>::iterator; 47 inline Interval(BasicBlock *Header) : HeaderNode(Header) { 51 inline BasicBlock *getHeaderNode() const { return HeaderNode; } 54 std::vector<BasicBlock*> Nodes; 59 std::vector<BasicBlock*> Successors [all...] |
| Trace.h | 25 class BasicBlock; 31 using BasicBlockListType = std::vector<BasicBlock *>; 39 Trace(const std::vector<BasicBlock *> &vBB) : BasicBlocks (vBB) {} 43 BasicBlock *getEntryBasicBlock () const { return BasicBlocks[0]; } 46 BasicBlock *operator[](unsigned i) const { return BasicBlocks[i]; } 47 BasicBlock *getBlock(unsigned i) const { return BasicBlocks[i]; } 58 int getBlockIndex(const BasicBlock *X) const { 67 bool contains(const BasicBlock *X) const { 73 bool dominates(const BasicBlock *B1, const BasicBlock *B2) const [all...] |
| DomTreeUpdater.h | 62 /// Returns true if there is BasicBlock awaiting deletion. 70 bool isBBPendingDeletion(BasicBlock *DelBB) const; 75 /// whether there is BasicBlock awaiting deletion. 159 LLVM_ATTRIBUTE_DEPRECATED(void insertEdge(BasicBlock *From, BasicBlock *To), 170 LLVM_ATTRIBUTE_DEPRECATED(void insertEdgeRelaxed(BasicBlock *From, 171 BasicBlock *To), 181 LLVM_ATTRIBUTE_DEPRECATED(void deleteEdge(BasicBlock *From, BasicBlock *To), 192 LLVM_ATTRIBUTE_DEPRECATED(void deleteEdgeRelaxed(BasicBlock *From [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Utils/ |
| CodeMoverUtils.h | 19 class BasicBlock; 35 bool isControlFlowEquivalent(const BasicBlock &BB0, const BasicBlock &BB1, 47 bool isSafeToMoveBefore(BasicBlock &BB, Instruction &InsertPoint, 54 void moveInstructionsToTheBeginning(BasicBlock &FromBB, BasicBlock &ToBB, 61 void moveInstructionsToTheEnd(BasicBlock &FromBB, BasicBlock &ToBB,
|
| MatrixUtils.h | 20 class BasicBlock; 55 BasicBlock *ColumnLoopHeader = nullptr; 58 BasicBlock *RowLoopHeader = nullptr; 60 BasicBlock *RowLoopLatch = nullptr; 62 BasicBlock *InnerLoopHeader = nullptr; 64 BasicBlock *InnerLoopLatch = nullptr; 78 BasicBlock *CreateTiledLoops(BasicBlock *Start, BasicBlock *End, 87 static BasicBlock *CreateLoop(BasicBlock *Preheader, BasicBlock *Exit [all...] |
| BasicBlockUtils.h | 1 //===- Transform/Utils/BasicBlockUtils.h - BasicBlock Utils -----*- C++ -*-===// 17 // FIXME: Move to this file: BasicBlock::removePredecessor, BB::splitBasicBlock 23 #include "llvm/IR/BasicBlock.h" 49 void DetatchDeadBlocks(ArrayRef <BasicBlock *> BBs, 54 void DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU = nullptr, 63 void DeleteDeadBlocks(ArrayRef <BasicBlock *> BBs, 77 bool FoldSingleEntryPHINodes(BasicBlock *BB, 84 bool DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI = nullptr, 94 bool MergeBlockIntoPredecessor(BasicBlock *BB, DomTreeUpdater *DTU = nullptr, 108 SmallPtrSetImpl<BasicBlock *> &MergeBlocks, Loop *L = nullptr [all...] |
| CodeExtractor.h | 26 class BasicBlock; 51 DenseMap<BasicBlock *, DenseSet<Value *>> BaseMemAddrs; 55 DenseSet<BasicBlock *> SideEffectingBlocks; 57 void findSideEffectInfoForBlock(BasicBlock &BB); 69 bool doesBlockContainClobberOfAddr(BasicBlock &BB, AllocaInst *Addr) const; 99 SetVector<BasicBlock *> Blocks; 119 CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT = nullptr, 187 BasicBlock *&ExitBlock) const; 197 BasicBlock *findOrCreateBlockForHoisting(BasicBlock *CommonExitBlock) [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/IR/ |
| BasicBlock.h | 1 //===- llvm/BasicBlock.h - Represent a basic block in the VM ----*- C++ -*-===// 9 // This file contains the declaration of the BasicBlock class. 48 /// tables. The type of a BasicBlock is "Type::LabelTy" because the basic block 54 /// the blocks. The BasicBlock class allows malformed basic blocks to occur 58 class BasicBlock final : public Value, // Basic blocks are data objects also 59 public ilist_node_with_parent<BasicBlock, Function> { 65 friend class SymbolTableListTraits<BasicBlock>; 77 explicit BasicBlock(LLVMContext &C, const Twine &Name = "", 79 BasicBlock *InsertBefore = nullptr); 82 BasicBlock(const BasicBlock &) = delete [all...] |
| PredIteratorCache.h | 29 mutable DenseMap<BasicBlock *, BasicBlock **> BlockToPredsMap; 30 mutable DenseMap<BasicBlock *, unsigned> BlockToPredCountMap; 38 /// for (BasicBlock **PI = PredCache->GetPreds(BB); *PI; ++PI) 42 BasicBlock **GetPreds(BasicBlock *BB) { 43 BasicBlock **&Entry = BlockToPredsMap[BB]; 47 SmallVector<BasicBlock *, 32> PredCache(predecessors(BB)); 52 Entry = Memory.Allocate<BasicBlock *>(PredCache.size()); 57 unsigned GetNumPreds(BasicBlock *BB) const [all...] |
| AssemblyAnnotationWriter.h | 22 class BasicBlock; 39 virtual void emitBasicBlockStartAnnot(const BasicBlock *, 45 virtual void emitBasicBlockEndAnnot(const BasicBlock *,
|
| Dominators.h | 21 #include "llvm/IR/BasicBlock.h" 35 extern template class DomTreeNodeBase<BasicBlock>; 36 extern template class DominatorTreeBase<BasicBlock, false>; // DomTree 37 extern template class DominatorTreeBase<BasicBlock, true>; // PostDomTree 39 extern template class cfg::Update<BasicBlock *>; 42 using BBDomTree = DomTreeBase<BasicBlock>; 43 using BBPostDomTree = PostDomTreeBase<BasicBlock>; 45 using BBUpdates = ArrayRef<llvm::cfg::Update<BasicBlock *>>; 47 using BBDomTreeGraphDiff = GraphDiff<BasicBlock *, false>; 48 using BBPostDomTreeGraphDiff = GraphDiff<BasicBlock *, true> [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
| Interval.cpp | 15 #include "llvm/IR/BasicBlock.h" 30 for (const BasicBlock *Node : Nodes) 34 for (const BasicBlock *Predecessor : Predecessors) 38 for (const BasicBlock *Successor : Successors)
|
| CFG.cpp | 1 //===-- CFG.cpp - BasicBlock analysis --------------------------------------==// 35 SmallVectorImpl<std::pair<const BasicBlock*,const BasicBlock*> > &Result) { 36 const BasicBlock *BB = &F.getEntryBlock(); 40 SmallPtrSet<const BasicBlock*, 8> Visited; 41 SmallVector<std::pair<const BasicBlock *, const_succ_iterator>, 8> VisitStack; 42 SmallPtrSet<const BasicBlock*, 8> InStack; 48 std::pair<const BasicBlock *, const_succ_iterator> &Top = VisitStack.back(); 49 const BasicBlock *ParentBB = Top.first; 79 unsigned llvm::GetSuccessorNumber(const BasicBlock *BB [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/IR/ |
| BasicBlock.cpp | 1 //===-- BasicBlock.cpp - Implement BasicBlock related methods -------------===// 9 // This file implements the BasicBlock class for the IR library. 13 #include "llvm/IR/BasicBlock.h" 26 ValueSymbolTable *BasicBlock::getValueSymbolTable() { 32 LLVMContext &BasicBlock::getContext() const { 36 template <> void llvm::invalidateParentIListOrdering(BasicBlock *BB) { 44 BasicBlock::BasicBlock(LLVMContext &C, const Twine &Name, Function *NewParent, 45 BasicBlock *InsertBefore [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/ |
| WasmEHFuncInfo.h | 22 class BasicBlock; 30 using BBOrMBB = PointerUnion<const BasicBlock *, MachineBasicBlock *>; 39 const BasicBlock *getUnwindDest(const BasicBlock *BB) const { 41 return SrcToUnwindDest.lookup(BB).get<const BasicBlock *>(); 43 SmallPtrSet<const BasicBlock *, 4> getUnwindSrcs(const BasicBlock *BB) const { 46 SmallPtrSet<const BasicBlock *, 4> Ret; 48 Ret.insert(P.get<const BasicBlock *>()); 51 void setUnwindDest(const BasicBlock *BB, const BasicBlock *Dest) [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/ExecutionEngine/Orc/ |
| SpeculateAnalyses.h | 29 void findCalles(const BasicBlock *, DenseSet<StringRef> &); 57 using VisitedBlocksInfoTy = DenseMap<const BasicBlock *, WalkDirection>; 58 using BlockListTy = SmallVector<const BasicBlock *, 8>; 60 SmallVector<std::pair<const BasicBlock *, const BasicBlock *>, 8>; 62 SmallVector<std::pair<const BasicBlock *, uint64_t>, 8>; 68 void traverseToEntryBlock(const BasicBlock *, const BlockListTy &, 72 void traverseToExitBlock(const BasicBlock *, const BlockListTy &,
|