/external/llvm/include/llvm/Analysis/ |
BranchProbabilityInfo.h | 36 typedef std::pair<const BasicBlock *, const BasicBlock *> Edge; 41 uint32_t getSumForBlock(const BasicBlock *BB) const; 56 uint32_t getEdgeWeight(const BasicBlock *Src, const BasicBlock *Dst) const; 59 void setEdgeWeight(const BasicBlock *Src, const BasicBlock *Dst, 63 bool isEdgeHot(const BasicBlock *Src, const BasicBlock *Dst) const; 66 BasicBlock *getHotSucc(BasicBlock *BB) const [all...] |
LazyValueInfo.h | 51 BasicBlock *FromBB, BasicBlock *ToBB); 56 Constant *getConstant(Value *V, BasicBlock *BB); 60 Constant *getConstantOnEdge(Value *V, BasicBlock *FromBB, BasicBlock *ToBB); 64 void threadEdge(BasicBlock *PredBB, BasicBlock *OldSucc, BasicBlock *NewSucc); 67 void eraseBlock(BasicBlock *BB);
|
RegionInfo.h | 48 /// and the iteration returns every BasicBlock. If the Flat mode is not 54 /// @brief A RegionNode represents a subregion or a BasicBlock that is part of a 64 /// BasicBlock RegionNode, then entry is just the basic block, that this 70 /// The node can hold either a Region or a BasicBlock. 71 /// Use one bit to save, if this RegionNode is a subregion or BasicBlock 73 PointerIntPair<BasicBlock*, 1, bool> entry; 83 /// @param Entry The entry BasicBlock of the RegionNode. If this 84 /// RegionNode represents a BasicBlock, this is the 85 /// BasicBlock itself. If it represents a subregion, this 86 /// is the entry BasicBlock of the subregion [all...] |
PathProfileInfo.h | 17 #include "llvm/BasicBlock.h" 29 typedef std::vector<BasicBlock*> ProfilePathBlockVector; 30 typedef std::vector<BasicBlock*>::iterator ProfilePathBlockIterator; 41 ProfilePathEdge(BasicBlock* source, BasicBlock* target, 45 inline BasicBlock* getSource() { return _source; } 46 inline BasicBlock* getTarget() { return _target; } 49 BasicBlock* _source; 50 BasicBlock* _target; 68 BasicBlock* getFirstBlockInPath() const [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...] |
LoopIterator.h | 42 typedef std::vector<BasicBlock*>::const_iterator POIterator; 43 typedef std::vector<BasicBlock*>::const_reverse_iterator RPOIterator; 53 DenseMap<BasicBlock*, unsigned> PostNumbers; 54 std::vector<BasicBlock*> PostBlocks; 85 bool hasPreorder(BasicBlock *BB) const { return PostNumbers.count(BB); } 88 bool hasPostorder(BasicBlock *BB) const { 89 DenseMap<BasicBlock*, unsigned>::const_iterator I = PostNumbers.find(BB); 94 unsigned getPostorder(BasicBlock *BB) const { 95 DenseMap<BasicBlock*, unsigned>::const_iterator I = PostNumbers.find(BB); 102 unsigned getRPO(BasicBlock *BB) const [all...] |
PHITransAddr.h | 53 /// BasicBlock to its predecessors requires PHI translation. 54 bool NeedsPHITranslationFromBlock(BasicBlock *BB) const { 72 bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, 82 Value *PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, 93 Value *PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB, 101 Value *InsertPHITranslatedSubExpr(Value *InVal, BasicBlock *CurBB, 102 BasicBlock *PredBB, const DominatorTree &DT [all...] |
Loads.h | 17 #include "llvm/BasicBlock.h" 44 Value *FindAvailableLoadedValue(Value *Ptr, BasicBlock *ScanBB, 45 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...] |
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) { 54 inline BasicBlock *getHeaderNode() const { return HeaderNode; } 58 std::vector<BasicBlock*> Nodes; 64 std::vector<BasicBlock*> Successors [all...] |
/external/llvm/include/llvm/Transforms/Utils/ |
BasicBlockUtils.h | 1 //===-- Transform/Utils/BasicBlockUtils.h - BasicBlock Utils ----*- C++ -*-===// 18 // FIXME: Move to this file: BasicBlock::removePredecessor, BB::splitBasicBlock 20 #include "llvm/BasicBlock.h" 33 void DeleteDeadBlock(BasicBlock *BB); 40 void FoldSingleEntryPHINodes(BasicBlock *BB, Pass *P = 0); 47 bool DeleteDeadPHIs(BasicBlock *BB); 51 bool MergeBlockIntoPredecessor(BasicBlock *BB, Pass *P = 0); 56 void ReplaceInstWithValue(BasicBlock::InstListType &BIL, 57 BasicBlock::iterator &BI, Value *V); 63 void ReplaceInstWithInst(BasicBlock::InstListType &BIL [all...] |
UnifyFunctionExitNodes.h | 26 BasicBlock *ReturnBlock, *UnwindBlock, *UnreachableBlock; 40 BasicBlock *getReturnBlock() const { return ReturnBlock; } 41 BasicBlock *getUnwindBlock() const { return UnwindBlock; } 42 BasicBlock *getUnreachableBlock() const { return UnreachableBlock; }
|
FunctionUtils.h | 21 class BasicBlock; 30 ArrayRef<BasicBlock*> code, 41 Function* ExtractBasicBlock(ArrayRef<BasicBlock*> BBs,
|
Local.h | 21 class BasicBlock; 49 bool ConstantFoldTerminator(BasicBlock *BB, bool DeleteDeadConditions = false); 79 bool SimplifyInstructionsInBlock(BasicBlock *BB, const TargetData *TD = 0); 85 /// RemovePredecessorAndSimplify - Like BasicBlock::removePredecessor, this 96 void RemovePredecessorAndSimplify(BasicBlock *BB, BasicBlock *Pred, 105 void MergeBasicBlockIntoOnlyPred(BasicBlock *BB, Pass *P = 0); 113 bool TryToSimplifyUncondBranchFromEmptyBlock(BasicBlock *BB); 120 bool EliminateDuplicatePHINodes(BasicBlock *BB); 128 bool SimplifyCFG(BasicBlock *BB, const TargetData *TD = 0) [all...] |
/external/llvm/include/llvm/Support/ |
PredIteratorCache.h | 29 DenseMap<BasicBlock*, BasicBlock**> BlockToPredsMap; 30 DenseMap<BasicBlock*, unsigned> BlockToPredCountMap; 38 /// for (BasicBlock **PI = PredCache->GetPreds(BB); *PI; ++PI) 42 BasicBlock **GetPreds(BasicBlock *BB) { 43 BasicBlock **&Entry = BlockToPredsMap[BB]; 46 SmallVector<BasicBlock*, 32> PredCache(pred_begin(BB), pred_end(BB)); 51 Entry = Memory.Allocate<BasicBlock*>(PredCache.size()); 56 unsigned GetNumPreds(BasicBlock *BB) [all...] |
CFG.h | 11 // BasicBlock graphs to be treated as proper graphs for generic algorithms. 25 // BasicBlock pred_iterator definition 76 typedef PredIterator<BasicBlock, Value::use_iterator> pred_iterator; 77 typedef PredIterator<const BasicBlock, 80 inline pred_iterator pred_begin(BasicBlock *BB) { return pred_iterator(BB); } 81 inline const_pred_iterator pred_begin(const BasicBlock *BB) { 84 inline pred_iterator pred_end(BasicBlock *BB) { return pred_iterator(BB, true);} 85 inline const_pred_iterator pred_end(const BasicBlock *BB) { 92 // BasicBlock succ_iterator definition 216 typedef SuccIterator<TerminatorInst*, BasicBlock> succ_iterator [all...] |
/external/llvm/include/llvm/ |
BasicBlock.h | 1 //===-- llvm/BasicBlock.h - Represent a basic block in the VM ---*- C++ -*-===// 10 // This file contains the declaration of the BasicBlock class. 31 : public SymbolTableListTraits<Instruction, BasicBlock> { 59 /// tables. The type of a BasicBlock is "Type::LabelTy" because the basic block 65 /// terminate the blocks. The BasicBlock class allows malformed basic blocks to 70 class BasicBlock : public Value, // Basic blocks are data objects also 71 public ilist_node<BasicBlock> { 80 friend class SymbolTableListTraits<BasicBlock, Function>; 82 BasicBlock(const BasicBlock &); // Do not implemen [all...] |
/external/llvm/lib/VMCore/ |
BasicBlock.cpp | 1 //===-- BasicBlock.cpp - Implement BasicBlock related methods -------------===// 10 // This file implements the BasicBlock class for the VMCore library. 14 #include "llvm/BasicBlock.h" 27 ValueSymbolTable *BasicBlock::getValueSymbolTable() { 33 LLVMContext &BasicBlock::getContext() const { 39 template class llvm::SymbolTableListTraits<Instruction, BasicBlock>; 42 BasicBlock::BasicBlock(LLVMContext &C, const Twine &Name, Function *NewParent, 43 BasicBlock *InsertBefore [all...] |
/external/llvm/include/llvm/Assembly/ |
AssemblyAnnotationWriter.h | 23 class BasicBlock; 41 virtual void emitBasicBlockStartAnnot(const BasicBlock *BB, 47 virtual void emitBasicBlockEndAnnot(const BasicBlock *BB,
|
/external/llvm/lib/Transforms/Instrumentation/ |
ProfilingUtils.h | 21 class BasicBlock; 30 void IncrementCounterInBlock(BasicBlock *BB, unsigned CounterNum,
|
/external/webkit/Source/JavaScriptCore/dfg/ |
DFGGraph.h | 43 struct BasicBlock { 44 BasicBlock(unsigned bytecodeBegin, NodeIndex begin, NodeIndex end) 51 static inline BlockIndex getBytecodeBegin(BasicBlock* block) 92 Vector<BasicBlock> m_blocks; 96 BasicBlock* begin = m_blocks.begin(); 97 BasicBlock* block = binarySearch<BasicBlock, unsigned, BasicBlock::getBytecodeBegin>(begin, m_blocks.size(), bytecodeBegin);
|
/external/llvm/lib/Transforms/Utils/ |
UnifyFunctionExitNodes.cpp | 19 #include "llvm/BasicBlock.h" 43 // BasicBlock, and converting all returns to unconditional branches to this 52 std::vector<BasicBlock*> ReturningBlocks; 53 std::vector<BasicBlock*> UnwindingBlocks; 54 std::vector<BasicBlock*> UnreachableBlocks; 69 UnwindBlock = BasicBlock::Create(F.getContext(), "UnifiedUnwindBlock", &F); 72 for (std::vector<BasicBlock*>::iterator I = UnwindingBlocks.begin(), 74 BasicBlock *BB = *I; 86 UnreachableBlock = BasicBlock::Create(F.getContext(), 90 for (std::vector<BasicBlock*>::iterator I = UnreachableBlocks.begin() [all...] |
BasicBlockUtils.cpp | 1 //===-- BasicBlockUtils.cpp - BasicBlock Utilities -------------------------==// 35 void llvm::DeleteDeadBlock(BasicBlock *BB) { 67 void llvm::FoldSingleEntryPHINodes(BasicBlock *BB, Pass *P) { 97 bool llvm::DeleteDeadPHIs(BasicBlock *BB) { 101 for (BasicBlock::iterator I = BB->begin(); 115 bool llvm::MergeBlockIntoPredecessor(BasicBlock *BB, Pass *P) { 120 BasicBlock *PredBB = BB->getUniquePredecessor(); 129 BasicBlock *OnlySucc = BB; 140 for (BasicBlock::iterator BI = BB->begin(), BE = BB->end(); BI != BE; ++BI) { 196 void llvm::ReplaceInstWithValue(BasicBlock::InstListType &BIL [all...] |
/external/llvm/lib/Analysis/ |
BranchProbabilityInfo.cpp | 39 typedef std::pair<const BasicBlock *, const BasicBlock *> Edge; 87 static bool isReturningBlock(BasicBlock *BB) { 88 SmallPtrSet<BasicBlock *, 8> Visited; 113 uint32_t getMaxWeightFor(BasicBlock *BB) const { 123 bool calcMetadataWeights(BasicBlock *BB); 126 bool calcReturnHeuristics(BasicBlock *BB); 129 bool calcPointerHeuristics(BasicBlock *BB); 132 bool calcLoopBranchHeuristics(BasicBlock *BB); 135 bool calcZeroHeuristics(BasicBlock *BB) [all...] |
/external/llvm/examples/BrainF/ |
BrainF.h | 73 void readloop(PHINode *phi, BasicBlock *oldbb, 74 BasicBlock *testbb, LLVMContext &Context); 86 BasicBlock *endbb; 87 BasicBlock *aberrorbb;
|