HomeSort by: relevance | last modified time | path
    Searched refs:BasicBlock (Results 1 - 25 of 645) sorted by relevancy

1 2 3 4 5 6 7 8 91011>>

  /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 &,

Completed in 31 milliseconds

1 2 3 4 5 6 7 8 91011>>