Home
last modified time | relevance | path

Searched refs:BB (Results 1 - 25 of 544) sorted by relevance

12345678910>>...22

/third_party/skia/third_party/externals/spirv-tools/source/
H A Dcfa.h30 // Control Flow Analysis of control flow graphs of basic block nodes |BB|.
31 template <class BB>
33 using bb_ptr = BB*;
34 using cbb_ptr = const BB*;
35 using bb_iter = typename std::vector<BB*>::const_iterator;
36 using get_blocks_func = std::function<const std::vector<BB*>*(const BB*)>;
76 const BB* entry, get_blocks_func successor_func,
106 static std::vector<std::pair<BB*, BB*>> CalculateDominator
299 ComputeAugmentedCFG( std::vector<BB*>& ordered_blocks, BB* pseudo_entry_block, BB* pseudo_exit_block, std::unordered_map<const BB*, std::vector<BB*>>* augmented_successors_map, std::unordered_map<const BB*, std::vector<BB*>>* augmented_predecessors_map, get_blocks_func succ_func, get_blocks_func pred_func) ComputeAugmentedCFG() argument
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/
H A Dcfa.h30 // Control Flow Analysis of control flow graphs of basic block nodes |BB|.
31 template <class BB>
33 using bb_ptr = BB*;
34 using cbb_ptr = const BB*;
35 using bb_iter = typename std::vector<BB*>::const_iterator;
36 using get_blocks_func = std::function<const std::vector<BB*>*(const BB*)>;
76 const BB* entry, get_blocks_func successor_func,
106 static std::vector<std::pair<BB*, BB*>> CalculateDominator
299 ComputeAugmentedCFG( std::vector<BB*>& ordered_blocks, BB* pseudo_entry_block, BB* pseudo_exit_block, std::unordered_map<const BB*, std::vector<BB*>>* augmented_successors_map, std::unordered_map<const BB*, std::vector<BB*>>* augmented_predecessors_map, get_blocks_func succ_func, get_blocks_func pred_func) ComputeAugmentedCFG() argument
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/Mips/
H A DMips16ISelLowering.cpp165 MachineBasicBlock *BB) const { in EmitInstrWithCustomInserter()
168 return MipsTargetLowering::EmitInstrWithCustomInserter(MI, BB); in EmitInstrWithCustomInserter()
170 return emitSel16(Mips::BeqzRxImm16, MI, BB); in EmitInstrWithCustomInserter()
172 return emitSel16(Mips::BnezRxImm16, MI, BB); in EmitInstrWithCustomInserter()
174 return emitSeliT16(Mips::Bteqz16, Mips::CmpiRxImmX16, MI, BB); in EmitInstrWithCustomInserter()
176 return emitSeliT16(Mips::Bteqz16, Mips::SltiRxImmX16, MI, BB); in EmitInstrWithCustomInserter()
178 return emitSeliT16(Mips::Bteqz16, Mips::SltiuRxImmX16, MI, BB); in EmitInstrWithCustomInserter()
180 return emitSeliT16(Mips::Btnez16, Mips::CmpiRxImmX16, MI, BB); in EmitInstrWithCustomInserter()
182 return emitSeliT16(Mips::Btnez16, Mips::SltiRxImmX16, MI, BB); in EmitInstrWithCustomInserter()
184 return emitSeliT16(Mips::Btnez16, Mips::SltiuRxImmX16, MI, BB); in EmitInstrWithCustomInserter()
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/
H A DBranchProbabilityInfo.cpp150 static void UpdatePDTWorklist(const BasicBlock *BB, PostDominatorTree *PDT, in UpdatePDTWorklist() argument
156 PDT->getDescendants(const_cast<BasicBlock *>(BB), Descendants); in UpdatePDTWorklist()
157 for (auto *BB : Descendants) in UpdatePDTWorklist()
158 if (TargetSet.insert(BB).second) in UpdatePDTWorklist()
159 for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++PI) in UpdatePDTWorklist()
169 for (auto &BB : F) { in computePostDominatedByUnreachable()
170 const Instruction *TI = BB.getTerminator(); in computePostDominatedByUnreachable()
177 BB.getTerminatingDeoptimizeCall()) in computePostDominatedByUnreachable()
178 UpdatePDTWorklist(&BB, PD in computePostDominatedByUnreachable()
183 const BasicBlock *BB = WorkList.pop_back_val(); computePostDominatedByUnreachable() local
212 const BasicBlock *BB = WorkList.pop_back_val(); computePostDominatedByColdCall() local
233 calcUnreachableHeuristics(const BasicBlock *BB) calcUnreachableHeuristics() argument
277 calcMetadataWeights(const BasicBlock *BB) calcMetadataWeights() argument
379 calcColdCallHeuristics(const BasicBlock *BB) calcColdCallHeuristics() argument
423 calcPointerHeuristics(const BasicBlock *BB) calcPointerHeuristics() argument
456 getSCCNum(const BasicBlock *BB, const BranchProbabilityInfo::SccInfo &SccI) getSCCNum() argument
465 isSCCHeader(const BasicBlock *BB, int SccNum, BranchProbabilityInfo::SccInfo &SccI) isSCCHeader() argument
492 computeUnlikelySuccessors(const BasicBlock *BB, Loop *L, SmallPtrSetImpl<const BasicBlock*> &UnlikelyBlocks) computeUnlikelySuccessors() argument
597 calcLoopBranchHeuristics(const BasicBlock *BB, const LoopInfo &LI, SccInfo &SccI) calcLoopBranchHeuristics() argument
682 calcZeroHeuristics(const BasicBlock *BB, const TargetLibraryInfo *TLI) calcZeroHeuristics() argument
801 calcFloatingPointHeuristics(const BasicBlock *BB) calcFloatingPointHeuristics() argument
843 calcInvokeHeuristics(const BasicBlock *BB) calcInvokeHeuristics() argument
964 eraseBlock(const BasicBlock *BB) eraseBlock() argument
[all...]
H A DCFG.cpp29 const BasicBlock *BB = &F.getEntryBlock(); in FindFunctionBackedges() local
30 if (succ_empty(BB)) in FindFunctionBackedges()
37 Visited.insert(BB); in FindFunctionBackedges()
38 VisitStack.push_back(std::make_pair(BB, succ_begin(BB))); in FindFunctionBackedges()
39 InStack.insert(BB); in FindFunctionBackedges()
47 BB = *I++; in FindFunctionBackedges()
48 if (Visited.insert(BB).second) { in FindFunctionBackedges()
53 if (InStack.count(BB)) in FindFunctionBackedges()
54 Result.push_back(std::make_pair(ParentBB, BB)); in FindFunctionBackedges()
72 GetSuccessorNumber(const BasicBlock *BB, const BasicBlock *Succ) GetSuccessorNumber() argument
121 getOutermostLoop(const LoopInfo *LI, const BasicBlock *BB) getOutermostLoop() argument
162 BasicBlock *BB = Worklist.pop_back_val(); isPotentiallyReachableFromMany() local
233 BasicBlock *BB = const_cast<BasicBlock *>(A->getParent()); isPotentiallyReachable() local
[all...]
H A DInstructionPrecedenceTracking.cpp36 const BasicBlock *BB) { in getFirstSpecialInstruction()
43 validate(BB); in getFirstSpecialInstruction()
46 if (FirstSpecialInsts.find(BB) == FirstSpecialInsts.end()) { in getFirstSpecialInstruction()
47 fill(BB); in getFirstSpecialInstruction()
48 assert(FirstSpecialInsts.find(BB) != FirstSpecialInsts.end() && "Must be!"); in getFirstSpecialInstruction()
50 return FirstSpecialInsts[BB]; in getFirstSpecialInstruction()
54 const BasicBlock *BB) { in hasSpecialInstructions()
55 return getFirstSpecialInstruction(BB) != nullptr; in hasSpecialInstructions()
65 void InstructionPrecedenceTracking::fill(const BasicBlock *BB) { in fill() argument
66 FirstSpecialInsts.erase(BB); in fill()
35 getFirstSpecialInstruction( const BasicBlock *BB) getFirstSpecialInstruction() argument
53 hasSpecialInstructions( const BasicBlock *BB) hasSpecialInstructions() argument
103 insertInstructionTo(const Instruction *Inst, const BasicBlock *BB) insertInstructionTo() argument
[all...]
H A DLazyValueInfo.cpp184 void insertResult(Value *Val, BasicBlock *BB, in insertResult() argument
186 SeenBlocks.insert(BB); in insertResult()
191 OverDefinedCache[BB].insert(Val); in insertResult()
199 It->second->BlockVals[BB] = Result; in insertResult()
203 bool isOverdefined(Value *V, BasicBlock *BB) const { in isOverdefined()
204 auto ODI = OverDefinedCache.find(BB); in isOverdefined()
212 bool hasCachedValueInfo(Value *V, BasicBlock *BB) const { in hasCachedValueInfo()
213 if (isOverdefined(V, BB)) in hasCachedValueInfo()
220 return I->second->BlockVals.count(BB); in hasCachedValueInfo()
223 ValueLatticeElement getCachedValueInfo(Value *V, BasicBlock *BB) cons
279 eraseBlock(BasicBlock *BB) eraseBlock() argument
481 eraseBlock(BasicBlock *BB) eraseBlock() argument
564 hasBlockValue(Value *Val, BasicBlock *BB) hasBlockValue() argument
572 getBlockValue(Value *Val, BasicBlock *BB) getBlockValue() argument
598 solveBlockValue(Value *Val, BasicBlock *BB) solveBlockValue() argument
624 solveBlockValueImpl(ValueLatticeElement &Res, Value *Val, BasicBlock *BB) solveBlockValueImpl() argument
706 isObjectDereferencedInBlock(Value *Val, BasicBlock *BB) isObjectDereferencedInBlock() argument
720 solveBlockValueNonLocal(ValueLatticeElement &BBLV, Value *Val, BasicBlock *BB) solveBlockValueNonLocal() argument
784 solveBlockValuePHINode(ValueLatticeElement &BBLV, PHINode *PN, BasicBlock *BB) solveBlockValuePHINode() argument
858 solveBlockValueSelect(ValueLatticeElement &BBLV, SelectInst *SI, BasicBlock *BB) solveBlockValueSelect() argument
1000 getRangeForOperand(unsigned Op, Instruction *I, BasicBlock *BB) getRangeForOperand() argument
1019 solveBlockValueCast(ValueLatticeElement &BBLV, CastInst *CI, BasicBlock *BB) solveBlockValueCast() argument
1065 solveBlockValueBinaryOpImpl( ValueLatticeElement &BBLV, Instruction *I, BasicBlock *BB, std::function<ConstantRange(const ConstantRange &, const ConstantRange &)> OpFn) solveBlockValueBinaryOpImpl() argument
1085 solveBlockValueBinaryOp(ValueLatticeElement &BBLV, BinaryOperator *BO, BasicBlock *BB) solveBlockValueBinaryOp() argument
[all...]
H A DMemorySSAUpdater.cpp42 BasicBlock *BB, in getPreviousDefRecursive()
46 auto Cached = CachedPreviousDef.find(BB); in getPreviousDefRecursive()
51 if (!MSSA->DT->isReachableFromEntry(BB)) in getPreviousDefRecursive()
54 if (BasicBlock *Pred = BB->getUniquePredecessor()) { in getPreviousDefRecursive()
55 VisitedBlocks.insert(BB); in getPreviousDefRecursive()
58 CachedPreviousDef.insert({BB, Result}); in getPreviousDefRecursive()
62 if (VisitedBlocks.count(BB)) { in getPreviousDefRecursive()
66 MemoryAccess *Result = MSSA->createMemoryPhi(BB); in getPreviousDefRecursive()
67 CachedPreviousDef.insert({BB, Result}); in getPreviousDefRecursive()
71 if (VisitedBlocks.insert(BB) in getPreviousDefRecursive()
41 getPreviousDefRecursive( BasicBlock *BB, DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> &CachedPreviousDef) getPreviousDefRecursive() argument
177 getPreviousDefFromEnd( BasicBlock *BB, DenseMap<BasicBlock *, TrackingVH<MemoryAccess>> &CachedPreviousDef) getPreviousDefFromEnd() argument
289 setMemoryPhiValueForBlock(MemoryPhi *MP, const BasicBlock *BB, MemoryAccess *NewDef) setMemoryPhiValueForBlock() argument
582 cloneUsesAndDefs(BasicBlock *BB, BasicBlock *NewBB, const ValueToValueMapTy &VMap, PhiToDefMap &MPhiMap, bool CloneWasSimplified) cloneUsesAndDefs() argument
729 updateForClonedBlockIntoPred( BasicBlock *BB, BasicBlock *P1, const ValueToValueMapTy &VM) updateForClonedBlockIntoPred() argument
915 BasicBlock *BB = Edge.getTo(); applyInsertUpdates() local
924 auto *BB = BBPredPair.first; applyInsertUpdates() local
961 BasicBlock *BB = Edge.getTo(); applyInsertUpdates() local
968 auto *BB = BBPredPair.first; applyInsertUpdates() local
1126 moveTo(MemoryUseOrDef *What, BasicBlock *BB, WhereType Where) moveTo() argument
1160 moveToPlace(MemoryUseOrDef *What, BasicBlock *BB, MemorySSA::InsertionPlace Where) moveToPlace() argument
1384 const BasicBlock *BB = I->getParent(); changeToUnreachable() local
1406 const BasicBlock *BB = BI->getParent(); changeCondBranchToUnconditionalTo() local
1420 createMemoryAccessInBB( Instruction *I, MemoryAccess *Definition, const BasicBlock *BB, MemorySSA::InsertionPlace Point) createMemoryAccessInBB() argument
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/
H A DADCE.cpp104 BasicBlock *BB = nullptr; member
106 /// Cache of BB->getTerminator().
126 bool isLive(BasicBlock *BB) { return BlockInfo[BB].Live; } in isLive() argument
164 void markLive(BlockInfoType &BB);
165 void markLive(BasicBlock *BB) { markLive(BlockInfo[BB]); } in markLive() argument
192 void makeUnconditional(BasicBlock *BB, BasicBlock *Target);
225 for (auto &BB : F) { in initialize()
226 NumInsts += BB in initialize()
261 insert(BasicBlock *BB) initialize() argument
266 completed(BasicBlock *BB) initialize() argument
270 onStack(BasicBlock *BB) initialize() argument
299 auto *BB = PDTChild->getBlock(); initialize() local
314 auto *BB = &F.getEntryBlock(); initialize() local
649 makeUnconditional(BasicBlock *BB, BasicBlock *Target) makeUnconditional() argument
[all...]
H A DJumpThreading.cpp189 // [Block BB]
211 static void updatePredecessorProfileMetadata(PHINode *PN, BasicBlock *BB) { in updatePredecessorProfileMetadata() argument
212 BranchInst *CondBr = dyn_cast<BranchInst>(BB->getTerminator()); in updatePredecessorProfileMetadata()
260 auto PredOutEdge = GetPredOutEdge(PN->getIncomingBlock(i), BB); in updatePredecessorProfileMetadata()
383 for (auto &BB : F) in runImpl()
384 if (!DT.isReachableFromEntry(&BB)) in runImpl()
385 Unreachable.insert(&BB); in runImpl()
394 for (auto &BB : F) { in runImpl()
395 if (Unreachable.count(&BB)) in runImpl()
397 while (ProcessBlock(&BB)) // Threa in runImpl()
453 auto *BB = Cond->getParent(); ReplaceFoldableUses() local
476 getJumpThreadDuplicationCost(BasicBlock *BB, Instruction *StopAt, unsigned Threshold) getJumpThreadDuplicationCost() argument
593 ComputeValueKnownInPredecessorsImpl( Value *V, BasicBlock *BB, PredValueInfo &Result, ConstantPreference Preference, DenseSet<std::pair<Value *, BasicBlock *>> &RecursionSet, Instruction *CxtI) ComputeValueKnownInPredecessorsImpl() argument
964 GetBestDestForJumpOnUndef(BasicBlock *BB) GetBestDestForJumpOnUndef() argument
982 hasAddressTakenAndUsed(BasicBlock *BB) hasAddressTakenAndUsed() argument
994 ProcessBlock(BasicBlock *BB) ProcessBlock() argument
1201 ProcessImpliedCondition(BasicBlock *BB) ProcessImpliedCondition() argument
1241 isOpDefinedInBlock(Value *Op, BasicBlock *BB) isOpDefinedInBlock() argument
1490 FindMostPopularDest(BasicBlock *BB, const SmallVectorImpl<std::pair<BasicBlock *, BasicBlock *>> &PredToDestList) FindMostPopularDest() argument
1551 ProcessThreadableEdges(Value *Cond, BasicBlock *BB, ConstantPreference Preference, Instruction *CxtI) ProcessThreadableEdges() argument
1727 BasicBlock *BB = PN->getParent(); ProcessBranchOnPHI() local
1756 BasicBlock *BB = BO->getParent(); ProcessBranchOnXOR() local
1883 MaybeMergeBasicBlockIntoOnlyPred(BasicBlock *BB) MaybeMergeBasicBlockIntoOnlyPred() argument
1934 UpdateSSA( BasicBlock *BB, BasicBlock *NewBB, DenseMap<Instruction *, Value *> &ValueMapping) UpdateSSA() argument
2019 TryThreadEdge( BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &PredBBs, BasicBlock *SuccBB) TryThreadEdge() argument
2058 ThreadEdge(BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &PredBBs, BasicBlock *SuccBB) ThreadEdge() argument
2144 SplitBlockPreds(BasicBlock *BB, ArrayRef<BasicBlock *> Preds, const char *Suffix) SplitBlockPreds() argument
2185 doesBlockHaveProfileData(BasicBlock *BB) doesBlockHaveProfileData() argument
2205 UpdateBlockFreqAndEdgeWeight(BasicBlock *PredBB, BasicBlock *BB, BasicBlock *NewBB, BasicBlock *SuccBB) UpdateBlockFreqAndEdgeWeight() argument
2303 DuplicateCondBranchOnPHIIntoPred( BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &PredBBs) DuplicateCondBranchOnPHIIntoPred() argument
2342 << DuplicationCost << " block is:" << *BB << "\\n"); DuplicateCondBranchOnPHIIntoPred() local
2429 UnfoldSelectInstr(BasicBlock *Pred, BasicBlock *BB, SelectInst *SI, PHINode *SIUse, unsigned Idx) UnfoldSelectInstr() argument
2464 TryToUnfoldSelect(SwitchInst *SI, BasicBlock *BB) TryToUnfoldSelect() argument
2502 TryToUnfoldSelect(CmpInst *CondCmp, BasicBlock *BB) TryToUnfoldSelect() argument
2567 TryToUnfoldSelectInCurrBB(BasicBlock *BB) TryToUnfoldSelectInCurrBB() argument
2657 ProcessGuards(BasicBlock *BB) ProcessGuards() argument
2691 ThreadGuard(BasicBlock *BB, IntrinsicInst *Guard, BranchInst *BI) ThreadGuard() argument
[all...]
H A DLoopSimplifyCFG.cpp55 /// If \p BB is a switch or a conditional branch, but only one of its successors
58 static BasicBlock *getOnlyLiveSuccessor(BasicBlock *BB) { in getOnlyLiveSuccessor() argument
59 Instruction *TI = BB->getTerminator(); in getOnlyLiveSuccessor()
84 /// Removes \p BB from all loops from [FirstLoop, LastLoop) in parent chain.
85 static void removeBlockFromLoops(BasicBlock *BB, Loop *FirstLoop, in removeBlockFromLoops() argument
89 assert(FirstLoop->contains(BB) && "Must be a loop block!"); in removeBlockFromLoops()
92 Current->removeBlockFromLoop(BB); in removeBlockFromLoops()
100 for (BasicBlock *BB : BBs) { in getInnermostLoopFor()
101 Loop *BBL = LI.getLoopFor(BB); in getInnermostLoopFor()
168 for (const BasicBlock *BB in dump()
198 BasicBlock *BB = *I; hasIrreducibleCFG() local
230 BasicBlock *BB = *I; analyze() local
302 BasicBlock *BB = *I; analyze() local
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/
H A DMachineSSAUpdater.cpp66 bool MachineSSAUpdater::HasValueForBlock(MachineBasicBlock *BB) const { in HasValueForBlock()
67 return getAvailableVals(AV).count(BB); in HasValueForBlock()
72 void MachineSSAUpdater::AddAvailableValue(MachineBasicBlock *BB, unsigned V) { in AddAvailableValue() argument
73 getAvailableVals(AV)[BB] = V; in AddAvailableValue()
78 unsigned MachineSSAUpdater::GetValueAtEndOfBlock(MachineBasicBlock *BB) { in GetValueAtEndOfBlock() argument
79 return GetValueAtEndOfBlockInternal(BB); in GetValueAtEndOfBlock()
83 unsigned LookForIdenticalPHI(MachineBasicBlock *BB, in LookForIdenticalPHI() argument
85 if (BB->empty()) in LookForIdenticalPHI()
88 MachineBasicBlock::iterator I = BB->begin(); in LookForIdenticalPHI()
95 while (I != BB in LookForIdenticalPHI()
116 InsertNewDef(unsigned Opcode, MachineBasicBlock *BB, MachineBasicBlock::iterator I, const TargetRegisterClass *RC, MachineRegisterInfo *MRI, const TargetInstrInfo *TII) InsertNewDef() argument
143 GetValueInMiddleOfBlock(MachineBasicBlock *BB) GetValueInMiddleOfBlock() argument
248 BlkSucc_begin(BlkT *BB) BlkSucc_begin() argument
249 BlkSucc_end(BlkT *BB) BlkSucc_end() argument
282 FindPredecessorBlocks(MachineBasicBlock *BB, SmallVectorImpl<MachineBasicBlock*> *Preds) FindPredecessorBlocks() argument
291 GetUndefVal(MachineBasicBlock *BB, MachineSSAUpdater *Updater) GetUndefVal() argument
303 CreateEmptyPHI(MachineBasicBlock *BB, unsigned NumPreds, MachineSSAUpdater *Updater) CreateEmptyPHI() argument
354 GetValueAtEndOfBlockInternal(MachineBasicBlock *BB) GetValueAtEndOfBlockInternal() argument
[all...]
H A DIfConversion.cpp100 ICNotClassfied, // BB data valid, but not classified.
102 ICSimple, // BB is entry of an one split, no rejoin sub-CFG.
106 ICTriangle, // BB is entry of a triangle sub-CFG.
107 ICDiamond, // BB is entry of a diamond sub-CFG.
108 ICForkedDiamond // BB is entry of an almost diamond sub-CFG, with a
119 /// IsDone - True if BB is not to be considered for ifcvt.
120 /// IsBeingAnalyzed - True if BB is currently being analyzed.
121 /// IsAnalyzed - True if BB has been analyzed (info is still valid).
122 /// IsEnqueued - True if BB has been enqueued to be ifcvt'ed.
124 /// HasFallThrough - True if BB ma
149 MachineBasicBlock *BB = nullptr; global() member
285 MeetIfcvtSizeLimit(MachineBasicBlock &BB, unsigned Cycle, unsigned Extra, BranchProbability Prediction) const MeetIfcvtSizeLimit() argument
618 findFalseBlock(MachineBasicBlock *BB, MachineBasicBlock *TrueBB) findFalseBlock() argument
1226 MachineBasicBlock *BB = State.MBB; AnalyzeBlock() local
[all...]
H A DWasmEHPrepare.cpp121 void prepareEHPad(BasicBlock *BB, bool NeedLSDA, unsigned Index = 0);
122 void prepareTerminateCleanupPad(BasicBlock *BB);
153 // Erase the specified BBs if the BB does not have any remaining predecessors,
159 auto *BB = WL.pop_back_val(); in eraseDeadBBsAndChildren() local
160 if (pred_begin(BB) != pred_end(BB)) in eraseDeadBBsAndChildren()
162 WL.append(succ_begin(BB), succ_end(BB)); in eraseDeadBBsAndChildren()
163 DeleteDeadBlock(BB); in eraseDeadBBsAndChildren()
182 // delete all following instructions within the BB, an in prepareThrows()
191 auto *BB = ThrowI->getParent(); prepareThrows() local
276 prepareEHPad(BasicBlock *BB, bool NeedLSDA, unsigned Index) prepareEHPad() argument
[all...]
/third_party/spirv-tools/source/
H A Dcfa.h30 // Control Flow Analysis of control flow graphs of basic block nodes |BB|.
31 template <class BB>
33 using bb_ptr = BB*;
34 using cbb_ptr = const BB*;
35 using bb_iter = typename std::vector<BB*>::const_iterator;
36 using get_blocks_func = std::function<const std::vector<BB*>*(const BB*)>;
73 static void DepthFirstTraversal(const BB* entry,
102 const BB* entry, get_blocks_func successor_func,
133 static std::vector<std::pair<BB*, B
348 ComputeAugmentedCFG( std::vector<BB*>& ordered_blocks, BB* pseudo_entry_block, BB* pseudo_exit_block, std::unordered_map<const BB*, std::vector<BB*>>* augmented_successors_map, std::unordered_map<const BB*, std::vector<BB*>>* augmented_predecessors_map, get_blocks_func succ_func, get_blocks_func pred_func) ComputeAugmentedCFG() argument
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/
H A DBasicBlockUtils.cpp58 for (auto *BB : BBs) { in DetatchDeadBlocks()
62 for (BasicBlock *Succ : successors(BB)) { in DetatchDeadBlocks()
63 Succ->removePredecessor(BB, KeepOneInputPHIs); in DetatchDeadBlocks()
65 Updates->push_back({DominatorTree::Delete, BB, Succ}); in DetatchDeadBlocks()
69 while (!BB->empty()) { in DetatchDeadBlocks()
70 Instruction &I = BB->back(); in DetatchDeadBlocks()
78 BB->getInstList().pop_back(); in DetatchDeadBlocks()
80 new UnreachableInst(BB->getContext(), BB); in DetatchDeadBlocks()
81 assert(BB in DetatchDeadBlocks()
88 DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU, bool KeepOneInputPHIs) DeleteDeadBlock() argument
129 BasicBlock *BB = &*I; EliminateUnreachableBlocks() local
139 FoldSingleEntryPHINodes(BasicBlock *BB, MemoryDependenceResults *MemDep) FoldSingleEntryPHINodes() argument
156 DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI) DeleteDeadPHIs() argument
171 MergeBlockIntoPredecessor(BasicBlock *BB, DomTreeUpdater *DTU, LoopInfo *LI, MemorySSAUpdater *MSSAU, MemoryDependenceResults *MemDep, bool PredecessorWithTwoSuccessors) MergeBlockIntoPredecessor() argument
338 removeRedundantDbgInstrsUsingBackwardScan(BasicBlock *BB) removeRedundantDbgInstrsUsingBackwardScan() argument
385 removeRedundantDbgInstrsUsingForwardScan(BasicBlock *BB) removeRedundantDbgInstrsUsingForwardScan() argument
413 RemoveRedundantDbgInstrs(BasicBlock *BB) RemoveRedundantDbgInstrs() argument
474 SplitEdge(BasicBlock *BB, BasicBlock *Succ, DominatorTree *DT, LoopInfo *LI, MemorySSAUpdater *MSSAU) SplitEdge() argument
709 SplitBlockPredecessors(BasicBlock *BB, ArrayRef<BasicBlock *> Preds, const char *Suffix, DominatorTree *DT, LoopInfo *LI, MemorySSAUpdater *MSSAU, bool PreserveLCSSA) SplitBlockPredecessors() argument
882 FoldReturnIntoUncondBranch(ReturnInst *RI, BasicBlock *BB, BasicBlock *Pred, DomTreeUpdater *DTU) FoldReturnIntoUncondBranch() argument
997 GetIfCondition(BasicBlock *BB, BasicBlock *&IfTrue, BasicBlock *&IfFalse) GetIfCondition() argument
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/IR/
H A DPredIteratorCache.h38 /// for (BasicBlock **PI = PredCache->GetPreds(BB); *PI; ++PI)
41 /// for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++PI)
42 BasicBlock **GetPreds(BasicBlock *BB) { in GetPreds() argument
43 BasicBlock **&Entry = BlockToPredsMap[BB]; in GetPreds()
47 SmallVector<BasicBlock *, 32> PredCache(pred_begin(BB), pred_end(BB)); in GetPreds()
50 BlockToPredCountMap[BB] = PredCache.size() - 1; in GetPreds()
57 unsigned GetNumPreds(BasicBlock *BB) const { in GetNumPreds()
58 auto Result = BlockToPredCountMap.find(BB); in GetNumPreds()
66 get(BasicBlock *BB) get() argument
[all...]
H A DInstIterator.h38 BB_i_t BB; // BasicBlocksType::iterator member in llvm::InstIterator
54 : BBs(II.BBs), BB(II.BB), BI(II.BI) {} in InstIterator()
58 : BBs(II.BBs), BB(II.BB), BI(II.BI) {} in InstIterator()
61 : BBs(&m.getBasicBlockList()), BB(BBs->begin()) { // begin ctor in InstIterator()
62 if (BB != BBs->end()) { in InstIterator()
63 BI = BB->begin(); in InstIterator()
69 : BBs(&m.getBasicBlockList()), BB(BBs->end()) { // end ctor in InstIterator()
73 inline BBIty &getBasicBlockIterator() { return BB; } in getBasicBlockIterator()
[all...]
H A DCFG.h108 inline pred_iterator pred_begin(BasicBlock *BB) { return pred_iterator(BB); } in pred_begin() argument
109 inline const_pred_iterator pred_begin(const BasicBlock *BB) { in pred_begin() argument
110 return const_pred_iterator(BB); in pred_begin()
112 inline pred_iterator pred_end(BasicBlock *BB) { return pred_iterator(BB, true);} in pred_end() argument
113 inline const_pred_iterator pred_end(const BasicBlock *BB) { in pred_end() argument
114 return const_pred_iterator(BB, true); in pred_end()
116 inline bool pred_empty(const BasicBlock *BB) { in pred_empty() argument
117 return pred_begin(BB) in pred_empty()
121 pred_size(const BasicBlock *BB) pred_size() argument
124 predecessors(BasicBlock *BB) predecessors() argument
127 predecessors(const BasicBlock *BB) predecessors() argument
266 succ_begin(BasicBlock *BB) succ_begin() argument
269 succ_begin(const BasicBlock *BB) succ_begin() argument
272 succ_end(BasicBlock *BB) succ_end() argument
275 succ_end(const BasicBlock *BB) succ_end() argument
278 succ_empty(const BasicBlock *BB) succ_empty() argument
281 succ_size(const BasicBlock *BB) succ_size() argument
284 successors(BasicBlock *BB) successors() argument
287 successors(const BasicBlock *BB) successors() argument
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/AMDGPU/
H A DAMDGPUUnifyDivergentExitNodes.cpp97 /// \returns true if \p BB is reachable through only uniform branches.
100 BasicBlock &BB) { in isUniformlyReached()
104 for (BasicBlock *Pred : predecessors(&BB)) in isUniformlyReached()
123 for (BasicBlock &BB : F) { in removeDoneExport()
124 for (Instruction &I : BB) { in removeDoneExport()
177 for (BasicBlock *BB : ReturningBlocks) { in unifyReturnBlockSet()
181 PN->addIncoming(BB->getTerminator()->getOperand(0), BB); in unifyReturnBlockSet()
184 BB->getTerminator()->eraseFromParent(); in unifyReturnBlockSet()
185 BranchInst::Create(NewRetBlock, BB); in unifyReturnBlockSet()
99 isUniformlyReached(const LegacyDivergenceAnalysis &DA, BasicBlock &BB) isUniformlyReached() argument
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/VE/
H A DVEInstrInfo.cpp77 MachineBasicBlock *BB = &MBB; in expandExtendStackPseudo() local
78 const BasicBlock *LLVM_BB = BB->getBasicBlock(); in expandExtendStackPseudo()
81 MachineFunction::iterator It = ++(BB->getIterator()); in expandExtendStackPseudo()
85 // Transfer the remainder of BB and its successor edges to sinkMBB. in expandExtendStackPseudo()
86 sinkMBB->splice(sinkMBB->begin(), BB, in expandExtendStackPseudo()
88 BB->end()); in expandExtendStackPseudo()
89 sinkMBB->transferSuccessorsAndUpdatePHIs(BB); in expandExtendStackPseudo()
92 BB->addSuccessor(syscallMBB); in expandExtendStackPseudo()
93 BB->addSuccessor(sinkMBB); in expandExtendStackPseudo()
94 BuildMI(BB, d in expandExtendStackPseudo()
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/IR/
H A DSafepointIRVerifier.cpp86 const BasicBlock* BB = PN->getParent(); in hasLiveIncomingEdge() local
88 for (const_pred_iterator PredIt(BB), End(BB, true); PredIt != End; ++PredIt) { in hasLiveIncomingEdge()
101 bool isDeadBlock(const BasicBlock *BB) const { in isDeadBlock()
102 return DeadBlocks.count(BB); in isDeadBlock()
115 bool hasLiveIncomingEdges(const BasicBlock *BB) const { in hasLiveIncomingEdges()
117 for (const_pred_iterator PredIt(BB), End(BB, true); PredIt != End; ++PredIt) { in hasLiveIncomingEdges()
130 for (const BasicBlock &BB : F) in processFunction()
131 if (!DT.isReachableFromEntry(&BB)) in processFunction()
159 addDeadBlock(const BasicBlock *BB) addDeadBlock() argument
562 getBasicBlockState(const BasicBlock *BB) getBasicBlockState() argument
616 const BasicBlock *BB = Worklist.pop_back_val(); recalculateBBsStates() local
646 removeValidUnrelocatedDefs(const BasicBlock *BB, const BasicBlockState *BBS, AvailableValueSet &Contribution) removeValidUnrelocatedDefs() argument
734 gatherDominatingDefs(const BasicBlock *BB, AvailableValueSet &Result, const DominatorTree &DT) gatherDominatingDefs() argument
759 transferBlock(const BasicBlock *BB, BasicBlockState &BBS, bool ContributionChanged) transferBlock() argument
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/IPO/
H A DPruneEH.cpp52 static void DeleteBasicBlock(BasicBlock *BB, CallGraph &CG);
109 for (const BasicBlock &BB : *F) { in runImpl()
110 const Instruction *TI = BB.getTerminator(); in runImpl()
117 for (const Instruction &I : BB) { in runImpl()
191 for (Function::iterator BB = F->begin(), E = F->end(); BB != E; ++BB) { in SimplifyFunction()
192 if (InvokeInst *II = dyn_cast<InvokeInst>(BB->getTerminator())) in SimplifyFunction()
195 removeUnwindEdge(&*BB); in SimplifyFunction()
199 DeleteBasicBlock(UnwindBlock, CG); // Delete the new BB in SimplifyFunction()
232 DeleteBasicBlock(BasicBlock *BB, CallGraph &CG) DeleteBasicBlock() argument
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Transforms/Scalar/
H A DJumpThreading.h111 bool ProcessBlock(BasicBlock *BB);
112 bool MaybeMergeBasicBlockIntoOnlyPred(BasicBlock *BB);
113 void UpdateSSA(BasicBlock *BB, BasicBlock *NewBB,
119 bool TryThreadEdge(BasicBlock *BB,
122 void ThreadEdge(BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &PredBBs,
125 BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &PredBBs);
128 Value *V, BasicBlock *BB, jumpthreading::PredValueInfo &Result,
133 ComputeValueKnownInPredecessors(Value *V, BasicBlock *BB, in ComputeValueKnownInPredecessors() argument
138 return ComputeValueKnownInPredecessorsImpl(V, BB, Result, Preference, in ComputeValueKnownInPredecessors()
142 bool ProcessThreadableEdges(Value *Cond, BasicBlock *BB,
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Analysis/
H A DInstructionPrecedenceTracking.h37 void fill(const BasicBlock *BB);
40 /// Asserts that the cached info for \p BB is up-to-date. This helps to catch
43 void validate(const BasicBlock *BB) const;
55 /// Returns the topmost special instruction from the block \p BB. Returns
57 const Instruction *getFirstSpecialInstruction(const BasicBlock *BB);
59 /// Returns true iff at least one instruction from the basic block \p BB is
61 bool hasSpecialInstructions(const BasicBlock *BB);
78 /// Inst to the basic block \p BB. It makes all necessary updates to internal
80 void insertInstructionTo(const Instruction *Inst, const BasicBlock *BB);
104 const Instruction *getFirstICFI(const BasicBlock *BB) { in getFirstICFI() argument
110 hasICF(const BasicBlock *BB) hasICF() argument
128 getFirstMemoryWrite(const BasicBlock *BB) getFirstMemoryWrite() argument
134 mayWriteToMemory(const BasicBlock *BB) mayWriteToMemory() argument
[all...]

Completed in 17 milliseconds

12345678910>>...22