Searched refs:BasicBlock (Results 1 - 25 of 353) sorted by relevance

1234567891011>>

/external/llvm/include/llvm/Analysis/
H A DBranchProbabilityInfo.h57 BranchProbability getEdgeProbability(const BasicBlock *Src,
63 BranchProbability getEdgeProbability(const BasicBlock *Src,
64 const BasicBlock *Dst) const;
70 bool isEdgeHot(const BasicBlock *Src, const BasicBlock *Dst) const;
76 BasicBlock *getHotSucc(BasicBlock *BB) const;
83 raw_ostream &printEdgeProbability(raw_ostream &OS, const BasicBlock *Src,
84 const BasicBlock *Dst) const;
92 uint32_t getEdgeWeight(const BasicBlock *Sr
[all...]
H A DRegionInfo.h48 /// 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 o
[all...]
H A DPostDominators.h26 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 *findNearestCommonDominato
[all...]
H A DLazyValueInfo.h53 BasicBlock *FromBB, BasicBlock *ToBB);
58 Constant *getConstant(Value *V, BasicBlock *BB);
62 Constant *getConstantOnEdge(Value *V, BasicBlock *FromBB, BasicBlock *ToBB);
66 void threadEdge(BasicBlock *PredBB, BasicBlock *OldSucc, BasicBlock *NewSucc);
69 void eraseBlock(BasicBlock *BB);
H A DPHITransAddr.h57 /// BasicBlock to its predecessors requires PHI translation.
58 bool NeedsPHITranslationFromBlock(BasicBlock *BB) const {
76 bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB,
86 Value *PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB,
97 Value *PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB,
105 Value *InsertPHITranslatedSubExpr(Value *InVal, BasicBlock *CurBB,
106 BasicBlock *PredB
[all...]
H A DLoads.h17 #include "llvm/BasicBlock.h"
49 Value *FindAvailableLoadedValue(Value *Ptr, BasicBlock *ScanBB,
50 BasicBlock::iterator &ScanFrom,
H A DPathProfileInfo.h17 #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* getFirstBlockInPat
[all...]
H A DTrace.h25 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 *B
[all...]
H A DLoopIterator.h42 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 *B
[all...]
H A DInterval.h28 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*> Successor
[all...]
/external/llvm/include/llvm/Transforms/Utils/
H A DBasicBlockUtils.h1 //===-- Transform/Utils/BasicBlockUtils.h - BasicBlock Utils ----*- C++ -*-===//
18 // FIXME: Move to this file: BasicBlock::removePredecessor, BB::splitBasicBlock
20 #include "llvm/BasicBlock.h"
34 void DeleteDeadBlock(BasicBlock *BB);
41 void FoldSingleEntryPHINodes(BasicBlock *BB, Pass *P = 0);
48 bool DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI = 0);
52 bool MergeBlockIntoPredecessor(BasicBlock *BB, Pass *P = 0);
57 void ReplaceInstWithValue(BasicBlock::InstListType &BIL,
58 BasicBlock::iterator &BI, Value *V);
64 void ReplaceInstWithInst(BasicBlock
[all...]
H A DUnifyFunctionExitNodes.h26 BasicBlock *ReturnBlock, *UnwindBlock, *UnreachableBlock;
40 BasicBlock *getReturnBlock() const { return ReturnBlock; }
41 BasicBlock *getUnwindBlock() const { return UnwindBlock; }
42 BasicBlock *getUnreachableBlock() const { return UnreachableBlock; }
H A DCodeExtractor.h22 class BasicBlock;
52 SetVector<BasicBlock *> Blocks;
61 CodeExtractor(BasicBlock *BB, bool AggregateArgs = false);
69 CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT = 0,
108 void severSplitPHINodes(BasicBlock *&Header);
113 BasicBlock *header,
114 BasicBlock *newRootNode, BasicBlock *newHeader,
120 BasicBlock *newHeader,
/external/llvm/include/llvm/Support/
H A DPredIteratorCache.h29 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 *B
[all...]
/external/llvm/include/llvm/
H A DBasicBlock.h1 //===-- 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 class in namespace:llvm
71 public ilist_node<BasicBlock> {
80 friend class SymbolTableListTraits<BasicBlock, Function>;
82 BasicBlock(const BasicBlock
[all...]
/external/llvm/lib/VMCore/
H A DBasicBlock.cpp1 //===-- 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, function in class:BasicBlock
43 BasicBlock *InsertBefor
[all...]
/external/llvm/include/llvm/Assembly/
H A DAssemblyAnnotationWriter.h23 class BasicBlock;
41 virtual void emitBasicBlockStartAnnot(const BasicBlock *,
47 virtual void emitBasicBlockEndAnnot(const BasicBlock *,
/external/webkit/Source/JavaScriptCore/dfg/
H A DDFGGraph.h43 struct BasicBlock { struct in namespace:JSC::DFG
44 BasicBlock(unsigned bytecodeBegin, NodeIndex begin, NodeIndex end) function in struct:JSC::DFG::BasicBlock
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/examples/BrainF/
H A DBrainF.h73 void readloop(PHINode *phi, BasicBlock *oldbb,
74 BasicBlock *testbb, LLVMContext &Context);
86 BasicBlock *endbb;
87 BasicBlock *aberrorbb;
/external/llvm/tools/bugpoint-passes/
H A DTestPasses.cpp15 #include "llvm/BasicBlock.h"
36 bool runOnBasicBlock(BasicBlock &BB) {
37 for (BasicBlock::iterator I = BB.begin(), E = BB.end(); I != E; ++I)
59 bool runOnBasicBlock(BasicBlock &BB) {
60 for (BasicBlock::iterator I = BB.begin(), E = BB.end(); I != E; ++I)
/external/llvm/lib/Transforms/Utils/
H A DLoopSimplify.cpp100 BasicBlock *RewriteLoopExitBlock(Loop *L, BasicBlock *Exit);
101 BasicBlock *InsertPreheaderForLoop(Loop *L);
103 BasicBlock *Preheader);
104 BasicBlock *InsertUniqueBackedgeBlock(Loop *L, BasicBlock *Preheader);
105 void PlaceSplitBlockCarefully(BasicBlock *NewBB,
106 SmallVectorImpl<BasicBlock*> &SplitPreds,
154 SmallPtrSet<BasicBlock*, 4> BadPreds;
157 BasicBlock *
[all...]
H A DBasicBlockUtils.cpp1 //===-- BasicBlockUtils.cpp - BasicBlock Utilities -------------------------==//
35 void llvm::DeleteDeadBlock(BasicBlock *BB) {
67 void llvm::FoldSingleEntryPHINodes(BasicBlock *BB, Pass *P) {
97 bool llvm::DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI) {
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
606 FindFunctionBackedges(const Function &F, SmallVectorImpl<std::pair<const BasicBlock*,const BasicBlock*> > &Result) argument
[all...]
H A DLowerSwitch.cpp52 BasicBlock* BB;
54 CaseRange(Constant *low = 0, Constant *high = 0, BasicBlock *bb = 0) :
63 BasicBlock* switchConvert(CaseItr Begin, CaseItr End, Value* Val,
64 BasicBlock* OrigBlock, BasicBlock* Default);
65 BasicBlock* newLeafBlock(CaseRange& Leaf, Value* Val,
66 BasicBlock* OrigBlock, BasicBlock* Default);
86 BasicBlock *Cur = I++; // Advance over block so we don't traverse new blocks
118 BasicBlock* LowerSwitc
[all...]
H A DLoopUnrollRuntime.cpp26 #include "llvm/BasicBlock.h"
57 BasicBlock *LastPrologBB, BasicBlock *PrologEnd,
58 BasicBlock *OrigPH, BasicBlock *NewPH,
60 BasicBlock *Latch = L->getLoopLatch();
70 for (BasicBlock::iterator BBI = (*SBI)->begin();
112 BasicBlock *Exit = L->getUniqueExitBlock();
115 SmallVector<BasicBlock*, 4> Preds(pred_begin(Exit), pred_end(Exit));
119 SmallVector<BasicBlock*,
[all...]
/external/llvm/lib/Transforms/Instrumentation/
H A DProfilingUtils.h21 class BasicBlock;
30 void IncrementCounterInBlock(BasicBlock *BB, unsigned CounterNum,

Completed in 435 milliseconds

1234567891011>>