HomeSort by relevance Sort by last modified time
    Searched refs:BasicBlock (Results 1 - 25 of 575) sorted by null

1 2 3 4 5 6 7 8 91011>>

  /external/llvm/include/llvm/Analysis/
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 *, 32> PHIBlocks
    [all...]
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 to map
    [all...]
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 *Dst) const
    [all...]
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 *> &Worklist
    [all...]
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 *findNearestCommonDominator(BasicBlock *A, BasicBlock *B)
    [all...]
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*> Successors
    [all...]
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);
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 *PredBB, const DominatorTree &DT
    [all...]
Loads.h 18 #include "llvm/IR/BasicBlock.h"
54 Value *FindAvailableLoadedValue(Value *Ptr, BasicBlock *ScanBB,
55 BasicBlock::iterator &ScanFrom,
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 *B2) const
    [all...]
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 *BB) const
    [all...]
  /external/llvm/include/llvm/IR/
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 *BB)
    [all...]
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
53 public ilist_node_with_parent<BasicBlock, Function> {
63 friend class SymbolTableListTraits<BasicBlock>;
65 BasicBlock(const BasicBlock &) = delete
    [all...]
AssemblyAnnotationWriter.h 23 class BasicBlock;
40 virtual void emitBasicBlockStartAnnot(const BasicBlock *,
46 virtual void emitBasicBlockEndAnnot(const BasicBlock *,
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 *BB)
    [all...]
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 *End
    [all...]
  /external/v8/src/compiler/
schedule.h 17 class BasicBlock;
22 typedef ZoneVector<BasicBlock*> BasicBlockVector;
29 class BasicBlock final : public ZoneObject {
57 BasicBlock(Zone* zone, Id id);
65 BasicBlock* PredecessorAt(size_t index) { return predecessors_[index]; }
67 void AddPredecessor(BasicBlock* predecessor);
73 BasicBlock* SuccessorAt(size_t index) { return successors_[index]; }
75 void AddSuccessor(BasicBlock* successor);
119 BasicBlock* dominator() const { return dominator_; }
120 void set_dominator(BasicBlock* dominator) { dominator_ = dominator;
    [all...]
schedule.cc 15 BasicBlock::BasicBlock(Zone* zone, Id id)
33 bool BasicBlock::LoopContains(BasicBlock* block) const {
43 void BasicBlock::AddSuccessor(BasicBlock* successor) {
48 void BasicBlock::AddPredecessor(BasicBlock* predecessor) {
53 void BasicBlock::AddNode(Node* node) { nodes_.push_back(node); }
56 void BasicBlock::set_control(Control control)
    [all...]
  /external/llvm/include/llvm/Transforms/Utils/
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; }
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::InstListType &BIL
    [all...]
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,
  /external/llvm/lib/IR/
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,
42 BasicBlock *InsertBefore)
54 void BasicBlock::insertInto(Function *NewParent, BasicBlock *InsertBefore)
    [all...]
  /external/llvm/lib/Transforms/Utils/
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 *FirstCondBlock = nullptr
    [all...]
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::Create(F.getContext()
    [all...]
  /external/llvm/lib/Analysis/
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 *BB
    [all...]

Completed in 260 milliseconds

1 2 3 4 5 6 7 8 91011>>