Searched refs:BasicBlock (Results 26 - 50 of 398) sorted by relevance

1234567891011>>

/freebsd-11.0-release/contrib/llvm/lib/Transforms/Scalar/
H A DMergedLoadStoreMotion.cpp135 BasicBlock *getDiamondTail(BasicBlock *BB);
136 bool isDiamondHead(BasicBlock *BB);
141 LoadInst *canHoistFromBlock(BasicBlock *BB, LoadInst *LI);
142 void hoistInstruction(BasicBlock *BB, Instruction *HoistCand,
145 bool hoistLoad(BasicBlock *BB, LoadInst *HoistCand, LoadInst *ElseInst);
146 bool mergeLoads(BasicBlock *BB);
148 StoreInst *canSinkFromBlock(BasicBlock *BB, StoreInst *SI);
149 PHINode *getPHIOperand(BasicBlock *BB, StoreInst *S0, StoreInst *S1);
152 bool sinkStore(BasicBlock *B
[all...]
H A DStructurizeCFG.cpp33 typedef std::pair<BasicBlock *, Value *> BBValuePair;
36 typedef SmallVector<BasicBlock*, 8> BBVector;
40 typedef SmallPtrSet<BasicBlock *, 8> BBSet;
43 typedef MapVector<BasicBlock *, BBVector> BB2BBVecMap;
46 typedef DenseMap<BasicBlock *, PhiMap> BBPhiMap;
47 typedef DenseMap<BasicBlock *, Value *> BBPredicates;
48 typedef DenseMap<BasicBlock *, BBPredicates> PredMap;
49 typedef DenseMap<BasicBlock *, BasicBlock*> BB2BBMap;
64 BasicBlock *Resul
[all...]
H A DLoopDeletion.cpp57 bool isLoopDead(Loop *L, SmallVectorImpl<BasicBlock *> &exitingBlocks,
58 SmallVectorImpl<BasicBlock *> &exitBlocks,
59 bool &Changed, BasicBlock *Preheader);
83 SmallVectorImpl<BasicBlock *> &exitingBlocks,
84 SmallVectorImpl<BasicBlock *> &exitBlocks,
85 bool &Changed, BasicBlock *Preheader) {
86 BasicBlock *exitBlock = exitBlocks[0];
93 BasicBlock::iterator BI = exitBlock->begin();
119 for (BasicBlock::iterator BI = (*LI)->begin(), BE = (*LI)->end();
141 BasicBlock *preheade
[all...]
H A DJumpThreading.cpp70 typedef SmallVectorImpl<std::pair<Constant*, BasicBlock*> > PredValueInfo;
71 typedef SmallVector<std::pair<Constant*, BasicBlock*>, 8> PredValueInfoTy;
103 SmallPtrSet<const BasicBlock *, 16> LoopHeaders;
105 SmallSet<AssertingVH<const BasicBlock>, 16> LoopHeaders;
107 DenseSet<std::pair<Value*, BasicBlock*> > RecursionSet;
113 DenseSet<std::pair<Value*, BasicBlock*> > &TheSet;
114 std::pair<Value*, BasicBlock*> ThePair;
116 RecursionSetRemover(DenseSet<std::pair<Value*, BasicBlock*> > &S,
117 std::pair<Value*, BasicBlock*> P)
146 bool ProcessBlock(BasicBlock *B
[all...]
/freebsd-11.0-release/contrib/llvm/lib/IR/
H A DDominators.cpp65 template class llvm::DomTreeNodeBase<BasicBlock>;
66 template class llvm::DominatorTreeBase<BasicBlock>;
68 template void llvm::Calculate<Function, BasicBlock *>(
69 DominatorTreeBase<GraphTraits<BasicBlock *>::NodeType> &DT, Function &F);
70 template void llvm::Calculate<Function, Inverse<BasicBlock *>>(
71 DominatorTreeBase<GraphTraits<Inverse<BasicBlock *>>::NodeType> &DT,
79 const BasicBlock *UseBB = User->getParent();
80 const BasicBlock *DefBB = Def->getParent();
105 BasicBlock::const_iterator I = DefBB->begin();
115 const BasicBlock *UseB
[all...]
/freebsd-11.0-release/contrib/llvm/lib/Transforms/IPO/
H A DPartialInlining.cpp53 BasicBlock *entryBlock = &F->front();
58 BasicBlock* returnBlock = nullptr;
59 BasicBlock* nonReturnBlock = nullptr;
61 for (BasicBlock *BB : successors(entryBlock)) {
78 BasicBlock* newEntryBlock = cast<BasicBlock>(VMap[entryBlock]);
79 BasicBlock* newReturnBlock = cast<BasicBlock>(VMap[returnBlock]);
80 BasicBlock* newNonReturnBlock = cast<BasicBlock>(VMa
[all...]
/freebsd-11.0-release/contrib/llvm/lib/Analysis/
H A DEHPersonalities.cpp48 DenseMap<BasicBlock *, ColorVector> llvm::colorEHFunclets(Function &F) {
49 SmallVector<std::pair<BasicBlock *, BasicBlock *>, 16> Worklist;
50 BasicBlock *EntryBlock = &F.getEntryBlock();
51 DenseMap<BasicBlock *, ColorVector> BlockColors;
69 BasicBlock *Visiting;
70 BasicBlock *Color;
92 BasicBlock *SuccColor = Color;
102 for (BasicBlock *Succ : successors(Visiting))
H A DDivergenceAnalysis.cpp100 void computeInfluenceRegion(BasicBlock *Start, BasicBlock *End,
101 DenseSet<BasicBlock *> &InfluenceRegion);
105 Instruction &I, const DenseSet<BasicBlock *> &InfluenceRegion);
142 BasicBlock *ThisBB = TI->getParent();
143 BasicBlock *IPostDom = PDT.getNode(ThisBB)->getIDom()->getBlock();
173 DenseSet<BasicBlock *> InfluenceRegion;
179 BasicBlock *InfluencedBB = ThisBB;
191 Instruction &I, const DenseSet<BasicBlock *> &InfluenceRegion) {
204 addSuccessorsToInfluenceRegion(BasicBlock *ThisB
[all...]
H A DInterval.cpp16 #include "llvm/IR/BasicBlock.h"
45 for (std::vector<BasicBlock*>::const_iterator I = Nodes.begin(),
50 for (std::vector<BasicBlock*>::const_iterator I = Predecessors.begin(),
55 for (std::vector<BasicBlock*>::const_iterator I = Successors.begin(),
/freebsd-11.0-release/contrib/llvm/include/llvm/IR/
H A DDominators.h23 #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 *En
[all...]
/freebsd-11.0-release/contrib/llvm/include/llvm/Analysis/
H A DCodeMetrics.h24 class BasicBlock;
66 DenseMap<const BasicBlock *, unsigned> NumBBInsts;
91 void analyzeBasicBlock(const BasicBlock *BB, const TargetTransformInfo &TTI,
H A DEHPersonalities.h18 class BasicBlock;
84 typedef TinyPtrVector<BasicBlock *> ColorVector;
90 DenseMap<BasicBlock *, ColorVector> colorEHFunclets(Function &F);
H A DDominanceFrontier.h137 ForwardDominanceFrontierBase<BasicBlock> Base;
140 typedef DominatorTreeBase<BasicBlock> DomTreeT;
141 typedef DomTreeNodeBase<BasicBlock> DomTreeNodeT;
142 typedef DominanceFrontierBase<BasicBlock>::DomSetType DomSetType;
143 typedef DominanceFrontierBase<BasicBlock>::iterator iterator;
144 typedef DominanceFrontierBase<BasicBlock>::const_iterator const_iterator;
150 ForwardDominanceFrontierBase<BasicBlock> &getBase() { return Base; }
152 inline const std::vector<BasicBlock *> &getRoots() const {
156 BasicBlock *getRoot() const { return Base.getRoot(); }
168 iterator find(BasicBlock *
[all...]
H A DSparsePropagation.h30 class BasicBlock;
120 SmallPtrSet<BasicBlock *, 16> BBExecutable; // The bbs that are executable.
124 std::vector<BasicBlock *> BBWorkList; // The BasicBlock work list
128 typedef std::pair<BasicBlock*,BasicBlock*> Edge;
166 bool isEdgeFeasible(BasicBlock *From, BasicBlock *To,
172 bool isBlockExecutable(BasicBlock *BB) const {
183 void MarkBlockExecutable(BasicBlock *B
[all...]
H A DMemoryDependenceAnalysis.h21 #include "llvm/IR/BasicBlock.h"
190 /// each BasicBlock (the BB entry) it keeps a MemDepResult.
192 BasicBlock *BB;
196 NonLocalDepEntry(BasicBlock *bb, MemDepResult result)
200 NonLocalDepEntry(BasicBlock *bb) : BB(bb) {}
203 BasicBlock *getBB() const { return BB; }
215 /// For each BasicBlock (the BB entry) it keeps a MemDepResult and the
222 NonLocalDepResult(BasicBlock *bb, MemDepResult result, Value *address)
226 BasicBlock *getBB() const { return Entry.getBB(); }
277 typedef PointerIntPair<BasicBlock*,
[all...]
H A DBlockFrequencyInfo.h30 typedef BlockFrequencyInfoImpl<BasicBlock> ImplType;
46 BlockFrequency getBlockFreq(const BasicBlock *BB) const;
49 void setBlockFreq(const BasicBlock *BB, uint64_t Freq);
61 raw_ostream &printBlockFreq(raw_ostream &OS, const BasicBlock *BB) const;
/freebsd-11.0-release/contrib/llvm/tools/clang/lib/CodeGen/
H A DCGLoopInfo.h25 class BasicBlock;
66 LoopInfo(llvm::BasicBlock *Header, const LoopAttributes &Attrs);
72 llvm::BasicBlock *getHeader() const { return Header; }
81 llvm::BasicBlock *Header;
98 void push(llvm::BasicBlock *Header);
102 void push(llvm::BasicBlock *Header, clang::ASTContext &Ctx,
/freebsd-11.0-release/contrib/llvm/include/llvm/Transforms/Utils/
H A DSSAUpdater.h22 class BasicBlock;
44 //typedef DenseMap<BasicBlock*, Value*> AvailableValsTy;
71 void AddAvailableValue(BasicBlock *BB, Value *V);
75 bool HasValueForBlock(BasicBlock *BB) const;
79 Value *GetValueAtEndOfBlock(BasicBlock *BB);
101 Value *GetValueInMiddleOfBlock(BasicBlock *BB);
120 Value *GetValueAtEndOfBlockInternal(BasicBlock *BB);
/freebsd-11.0-release/contrib/llvm/include/llvm/Transforms/
H A DVectorize.h19 class BasicBlock;
130 /// @brief Vectorize the BasicBlock.
132 /// @param BB The BasicBlock to be vectorized
139 bool vectorizeBasicBlock(Pass *P, BasicBlock &BB,
/freebsd-11.0-release/contrib/llvm/lib/Transforms/Utils/
H A DBasicBlockUtils.cpp1 //===-- BasicBlockUtils.cpp - BasicBlock Utilities -------------------------==//
36 void llvm::DeleteDeadBlock(BasicBlock *BB) {
44 for (BasicBlock *Succ : BBTerm->successors())
68 void llvm::FoldSingleEntryPHINodes(BasicBlock *BB,
90 bool llvm::DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI) {
94 for (BasicBlock::iterator I = BB->begin();
108 bool llvm::MergeBlockIntoPredecessor(BasicBlock *BB, DominatorTree *DT,
115 BasicBlock *PredBB = BB->getUniquePredecessor();
125 BasicBlock *OnlySucc = BB;
136 for (BasicBlock
[all...]
H A DLowerSwitch.cpp71 BasicBlock* BB;
73 CaseRange(ConstantInt *low, ConstantInt *high, BasicBlock *bb)
80 void processSwitchInst(SwitchInst *SI, SmallPtrSetImpl<BasicBlock*> &DeleteList);
82 BasicBlock *switchConvert(CaseItr Begin, CaseItr End,
84 Value *Val, BasicBlock *Predecessor,
85 BasicBlock *OrigBlock, BasicBlock *Default,
87 BasicBlock *newLeafBlock(CaseRange &Leaf, Value *Val, BasicBlock *OrigBlock,
88 BasicBlock *Defaul
[all...]
H A DLoopUnrollRuntime.cpp31 #include "llvm/IR/BasicBlock.h"
63 BasicBlock *LastPrologBB, BasicBlock *PrologEnd,
64 BasicBlock *OrigPH, BasicBlock *NewPH,
67 BasicBlock *Latch = L->getLoopLatch();
77 for (BasicBlock::iterator BBI = (*SBI)->begin();
126 BasicBlock *Exit = L->getUniqueExitBlock();
129 SmallVector<BasicBlock*, 4> Preds(pred_begin(Exit), pred_end(Exit));
143 BasicBlock *InsertTo
[all...]
H A DLCSSA.cpp53 static bool isExitBlock(BasicBlock *BB,
54 const SmallVectorImpl<BasicBlock *> &ExitBlocks) {
65 const SmallVectorImpl<BasicBlock *> &ExitBlocks,
76 BasicBlock *InstBB = Inst.getParent();
80 BasicBlock *UserBB = User->getParent();
98 BasicBlock *DomBB = Inst.getParent();
112 for (BasicBlock *ExitBB : ExitBlocks) {
124 for (BasicBlock *Pred : PredCache.get(ExitBB)) {
162 BasicBlock *UserBB = User->getParent();
184 BasicBlock *PHIB
[all...]
H A DBreakCriticalEdges.cpp84 static void createPHIsForSplitLoopExit(ArrayRef<BasicBlock *> Preds,
85 BasicBlock *SplitBB,
86 BasicBlock *DestBB) {
92 for (BasicBlock::iterator I = DestBB->begin();
132 BasicBlock *llvm::SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum,
140 BasicBlock *TIBB = TI->getParent();
141 BasicBlock *DestBB = TI->getSuccessor(SuccNum);
148 BasicBlock *NewBB = BasicBlock::Create(TI->getContext(),
166 for (BasicBlock
[all...]
/freebsd-11.0-release/contrib/llvm/lib/CodeGen/
H A DWinEHPrepare.cpp72 insertPHIStore(BasicBlock *PredBlock, Value *PredVal, AllocaInst *SpillSlot,
73 SmallVectorImpl<std::pair<BasicBlock *, Value *>> &Worklist);
76 DenseMap<BasicBlock *, Value *> &Loads, Function &F);
89 DenseMap<BasicBlock *, ColorVector> BlockColors;
90 MapVector<BasicBlock *, std::vector<BasicBlock *>> FuncletBlocks;
122 const BasicBlock *BB) {
157 static BasicBlock *getCleanupRetUnwindDest(const CleanupPadInst *CleanupPad) {
167 DenseMap<BasicBlock *, ColorVector> BlockColors = colorEHFunclets(*F);
168 for (BasicBlock
[all...]

Completed in 135 milliseconds

1234567891011>>