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

1234567891011>>

/freebsd-11-stable/contrib/llvm-project/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) { argument
43 BasicBlock **&Entry = BlockToPredsMap[BB];
47 SmallVector<BasicBlock *, 32> PredCache(pred_begin(BB), pred_end(BB));
50 BlockToPredCountMap[BB] = PredCache.size() - 1;
57 unsigned GetNumPreds(BasicBlock *BB) const {
58 auto Result = BlockToPredCountMap.find(BB);
66 get(BasicBlock *BB) argument
[all...]
H A DInstIterator.h38 BB_i_t BB; // BasicBlocksType::iterator member in class:llvm::InstIterator
54 : BBs(II.BBs), BB(II.BB), BI(II.BI) {}
58 : BBs(II.BBs), BB(II.BB), BI(II.BI) {}
61 : BBs(&m.getBasicBlockList()), BB(BBs->begin()) { // begin ctor
62 if (BB != BBs->end()) {
63 BI = BB->begin();
69 : BBs(&m.getBasicBlockList()), BB(BBs->end()) { // end ctor
73 inline BBIty &getBasicBlockIterator() { return BB; }
[all...]
H A DCFG.h108 inline pred_iterator pred_begin(BasicBlock *BB) { return pred_iterator(BB); } argument
109 inline const_pred_iterator pred_begin(const BasicBlock *BB) { argument
110 return const_pred_iterator(BB);
112 inline pred_iterator pred_end(BasicBlock *BB) { return pred_iterator(BB, true);} argument
113 inline const_pred_iterator pred_end(const BasicBlock *BB) { argument
114 return const_pred_iterator(BB, true);
116 inline bool pred_empty(const BasicBlock *BB) { argument
117 return pred_begin(BB)
121 pred_size(const BasicBlock *BB) argument
124 predecessors(BasicBlock *BB) argument
127 predecessors(const BasicBlock *BB) argument
266 succ_begin(BasicBlock *BB) argument
269 succ_begin(const BasicBlock *BB) argument
272 succ_end(BasicBlock *BB) argument
275 succ_end(const BasicBlock *BB) argument
278 succ_empty(const BasicBlock *BB) argument
281 succ_size(const BasicBlock *BB) argument
284 successors(BasicBlock *BB) argument
287 successors(const BasicBlock *BB) argument
302 getEntryNode(BasicBlock *BB) argument
311 getEntryNode(const BasicBlock *BB) argument
[all...]
/freebsd-11-stable/contrib/llvm-project/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) { argument
110 hasICF(const BasicBlock *BB) argument
128 getFirstMemoryWrite(const BasicBlock *BB) argument
134 mayWriteToMemory(const BasicBlock *BB) argument
[all...]
H A DOrderedInstructions.h59 void invalidateBlock(const BasicBlock *BB) { OBBMap.erase(BB); } argument
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/
H A DInstructionPrecedenceTracking.cpp36 const BasicBlock *BB) {
43 validate(BB);
46 if (FirstSpecialInsts.find(BB) == FirstSpecialInsts.end()) {
47 fill(BB);
48 assert(FirstSpecialInsts.find(BB) != FirstSpecialInsts.end() && "Must be!");
50 return FirstSpecialInsts[BB];
54 const BasicBlock *BB) {
55 return getFirstSpecialInstruction(BB) != nullptr;
65 void InstructionPrecedenceTracking::fill(const BasicBlock *BB) { argument
66 FirstSpecialInsts.erase(BB);
35 getFirstSpecialInstruction( const BasicBlock *BB) argument
53 hasSpecialInstructions( const BasicBlock *BB) argument
103 insertInstructionTo(const Instruction *Inst, const BasicBlock *BB) argument
[all...]
H A DOrderedBasicBlock.cpp28 : NextInstPos(0), BB(BasicB) {
29 LastInstFound = BB->end();
32 /// Given no cached results, find if \p A comes before \p B in \p BB.
33 /// Cache and number out instruction while walking \p BB.
37 assert(!(LastInstFound == BB->end() && NextInstPos != 0) &&
39 assert(A->getParent() == BB && "Instruction supposed to be in the block!");
40 assert(B->getParent() == BB && "Instruction supposed to be in the block!");
43 auto II = BB->begin();
44 auto IE = BB->end();
63 /// comes before \p B in \p BB
[all...]
H A DCFG.cpp29 const BasicBlock *BB = &F.getEntryBlock(); local
30 if (succ_empty(BB))
37 Visited.insert(BB);
38 VisitStack.push_back(std::make_pair(BB, succ_begin(BB)));
39 InStack.insert(BB);
47 BB = *I++;
48 if (Visited.insert(BB).second) {
53 if (InStack.count(BB))
54 Result.push_back(std::make_pair(ParentBB, BB));
72 GetSuccessorNumber(const BasicBlock *BB, const BasicBlock *Succ) argument
121 getOutermostLoop(const LoopInfo *LI, const BasicBlock *BB) argument
162 BasicBlock *BB = Worklist.pop_back_val(); local
233 BasicBlock *BB = const_cast<BasicBlock *>(A->getParent()); local
[all...]
H A DBranchProbabilityInfo.cpp150 static void UpdatePDTWorklist(const BasicBlock *BB, PostDominatorTree *PDT, argument
156 PDT->getDescendants(const_cast<BasicBlock *>(BB), Descendants);
157 for (auto *BB : Descendants)
158 if (TargetSet.insert(BB).second)
159 for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++PI)
169 for (auto &BB : F) {
170 const Instruction *TI = BB.getTerminator();
177 BB.getTerminatingDeoptimizeCall())
178 UpdatePDTWorklist(&BB, PD
183 const BasicBlock *BB = WorkList.pop_back_val(); local
212 const BasicBlock *BB = WorkList.pop_back_val(); local
233 calcUnreachableHeuristics(const BasicBlock *BB) argument
277 calcMetadataWeights(const BasicBlock *BB) argument
379 calcColdCallHeuristics(const BasicBlock *BB) argument
423 calcPointerHeuristics(const BasicBlock *BB) argument
456 getSCCNum(const BasicBlock *BB, const BranchProbabilityInfo::SccInfo &SccI) argument
465 isSCCHeader(const BasicBlock *BB, int SccNum, BranchProbabilityInfo::SccInfo &SccI) argument
492 computeUnlikelySuccessors(const BasicBlock *BB, Loop *L, SmallPtrSetImpl<const BasicBlock*> &UnlikelyBlocks) argument
597 calcLoopBranchHeuristics(const BasicBlock *BB, const LoopInfo &LI, SccInfo &SccI) argument
682 calcZeroHeuristics(const BasicBlock *BB, const TargetLibraryInfo *TLI) argument
801 calcFloatingPointHeuristics(const BasicBlock *BB) argument
843 calcInvokeHeuristics(const BasicBlock *BB) argument
964 eraseBlock(const BasicBlock *BB) argument
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DWasmEHFuncInfo.h33 const BasicBlock *getEHPadUnwindDest(const BasicBlock *BB) const {
34 return EHPadUnwindMap.lookup(BB).get<const BasicBlock *>();
36 void setEHPadUnwindDest(const BasicBlock *BB, const BasicBlock *Dest) { argument
37 EHPadUnwindMap[BB] = Dest;
39 bool hasEHPadUnwindDest(const BasicBlock *BB) const {
40 return EHPadUnwindMap.count(BB);
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DInstructionNamer.cpp39 for (BasicBlock &BB : F) {
40 if (!BB.hasName())
41 BB.setName("bb");
43 for (Instruction &I : BB)
H A DBasicBlockUtils.cpp58 for (auto *BB : BBs) {
62 for (BasicBlock *Succ : successors(BB)) {
63 Succ->removePredecessor(BB, KeepOneInputPHIs);
65 Updates->push_back({DominatorTree::Delete, BB, Succ});
69 while (!BB->empty()) {
70 Instruction &I = BB->back();
78 BB->getInstList().pop_back();
80 new UnreachableInst(BB->getContext(), BB);
81 assert(BB
88 DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU, bool KeepOneInputPHIs) argument
129 BasicBlock *BB = &*I; local
139 FoldSingleEntryPHINodes(BasicBlock *BB, MemoryDependenceResults *MemDep) argument
156 DeleteDeadPHIs(BasicBlock *BB, const TargetLibraryInfo *TLI) argument
171 MergeBlockIntoPredecessor(BasicBlock *BB, DomTreeUpdater *DTU, LoopInfo *LI, MemorySSAUpdater *MSSAU, MemoryDependenceResults *MemDep, bool PredecessorWithTwoSuccessors) argument
338 removeRedundantDbgInstrsUsingBackwardScan(BasicBlock *BB) argument
385 removeRedundantDbgInstrsUsingForwardScan(BasicBlock *BB) argument
413 RemoveRedundantDbgInstrs(BasicBlock *BB) argument
474 SplitEdge(BasicBlock *BB, BasicBlock *Succ, DominatorTree *DT, LoopInfo *LI, MemorySSAUpdater *MSSAU) argument
709 SplitBlockPredecessors(BasicBlock *BB, ArrayRef<BasicBlock *> Preds, const char *Suffix, DominatorTree *DT, LoopInfo *LI, MemorySSAUpdater *MSSAU, bool PreserveLCSSA) argument
882 FoldReturnIntoUncondBranch(ReturnInst *RI, BasicBlock *BB, BasicBlock *Pred, DomTreeUpdater *DTU) argument
997 GetIfCondition(BasicBlock *BB, BasicBlock *&IfTrue, BasicBlock *&IfFalse) argument
[all...]
H A DUnifyFunctionExitNodes.cpp73 for (BasicBlock *BB : UnreachableBlocks) {
74 BB->getInstList().pop_back(); // Remove the unreachable inst.
75 BranchInst::Create(UnreachableBlock, BB);
109 for (BasicBlock *BB : ReturningBlocks) {
113 PN->addIncoming(BB->getTerminator()->getOperand(0), BB);
115 BB->getInstList().pop_back(); // Remove the return insn
116 BranchInst::Create(NewRetBlock, BB);
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DADCE.cpp104 BasicBlock *BB = nullptr; member in struct:__anon2652::BlockInfoType
106 /// Cache of BB->getTerminator().
126 bool isLive(BasicBlock *BB) { return BlockInfo[BB].Live; } argument
164 void markLive(BlockInfoType &BB);
165 void markLive(BasicBlock *BB) { markLive(BlockInfo[BB]); } argument
192 void makeUnconditional(BasicBlock *BB, BasicBlock *Target);
225 for (auto &BB : F) {
226 NumInsts += BB
261 insert(BasicBlock *BB) argument
266 completed(BasicBlock *BB) argument
270 onStack(BasicBlock *BB) argument
299 auto *BB = PDTChild->getBlock(); local
314 auto *BB = &F.getEntryBlock(); local
649 makeUnconditional(BasicBlock *BB, BasicBlock *Target) argument
[all...]
H A DJumpThreading.cpp189 // [Block BB]
211 static void updatePredecessorProfileMetadata(PHINode *PN, BasicBlock *BB) { argument
212 BranchInst *CondBr = dyn_cast<BranchInst>(BB->getTerminator());
260 auto PredOutEdge = GetPredOutEdge(PN->getIncomingBlock(i), BB);
383 for (auto &BB : F)
384 if (!DT.isReachableFromEntry(&BB))
385 Unreachable.insert(&BB);
394 for (auto &BB : F) {
395 if (Unreachable.count(&BB))
397 while (ProcessBlock(&BB)) // Threa
453 auto *BB = Cond->getParent(); local
476 getJumpThreadDuplicationCost(BasicBlock *BB, Instruction *StopAt, unsigned Threshold) argument
593 ComputeValueKnownInPredecessorsImpl( Value *V, BasicBlock *BB, PredValueInfo &Result, ConstantPreference Preference, DenseSet<std::pair<Value *, BasicBlock *>> &RecursionSet, Instruction *CxtI) argument
964 GetBestDestForJumpOnUndef(BasicBlock *BB) argument
982 hasAddressTakenAndUsed(BasicBlock *BB) argument
994 ProcessBlock(BasicBlock *BB) argument
1201 ProcessImpliedCondition(BasicBlock *BB) argument
1241 isOpDefinedInBlock(Value *Op, BasicBlock *BB) argument
1490 FindMostPopularDest(BasicBlock *BB, const SmallVectorImpl<std::pair<BasicBlock *, BasicBlock *>> &PredToDestList) argument
1551 ProcessThreadableEdges(Value *Cond, BasicBlock *BB, ConstantPreference Preference, Instruction *CxtI) argument
1727 BasicBlock *BB = PN->getParent(); local
1756 BasicBlock *BB = BO->getParent(); local
1883 MaybeMergeBasicBlockIntoOnlyPred(BasicBlock *BB) argument
1934 UpdateSSA( BasicBlock *BB, BasicBlock *NewBB, DenseMap<Instruction *, Value *> &ValueMapping) argument
2019 TryThreadEdge( BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &PredBBs, BasicBlock *SuccBB) argument
2058 ThreadEdge(BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &PredBBs, BasicBlock *SuccBB) argument
2144 SplitBlockPreds(BasicBlock *BB, ArrayRef<BasicBlock *> Preds, const char *Suffix) argument
2185 doesBlockHaveProfileData(BasicBlock *BB) argument
2205 UpdateBlockFreqAndEdgeWeight(BasicBlock *PredBB, BasicBlock *BB, BasicBlock *NewBB, BasicBlock *SuccBB) argument
2303 DuplicateCondBranchOnPHIIntoPred( BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &PredBBs) argument
2342 << DuplicationCost << " block is:" << *BB << "\\n"); local
2429 UnfoldSelectInstr(BasicBlock *Pred, BasicBlock *BB, SelectInst *SI, PHINode *SIUse, unsigned Idx) argument
2464 TryToUnfoldSelect(SwitchInst *SI, BasicBlock *BB) argument
2502 TryToUnfoldSelect(CmpInst *CondCmp, BasicBlock *BB) argument
2567 TryToUnfoldSelectInCurrBB(BasicBlock *BB) argument
2657 ProcessGuards(BasicBlock *BB) argument
2691 ThreadGuard(BasicBlock *BB, IntrinsicInst *Guard, BranchInst *BI) 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) { argument
59 Instruction *TI = BB->getTerminator();
84 /// Removes \p BB from all loops from [FirstLoop, LastLoop) in parent chain.
85 static void removeBlockFromLoops(BasicBlock *BB, Loop *FirstLoop, argument
89 assert(FirstLoop->contains(BB) && "Must be a loop block!");
92 Current->removeBlockFromLoop(BB);
100 for (BasicBlock *BB : BBs) {
101 Loop *BBL = LI.getLoopFor(BB);
168 for (const BasicBlock *BB
198 BasicBlock *BB = *I; local
230 BasicBlock *BB = *I; local
302 BasicBlock *BB = *I; local
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/
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(); local
160 if (pred_begin(BB) != pred_end(BB))
162 WL.append(succ_begin(BB), succ_end(BB));
163 DeleteDeadBlock(BB);
182 // delete all following instructions within the BB, an
191 auto *BB = ThrowI->getParent(); local
276 prepareEHPad(BasicBlock *BB, bool NeedLSDA, unsigned Index) argument
[all...]
H A DMachineSSAUpdater.cpp66 bool MachineSSAUpdater::HasValueForBlock(MachineBasicBlock *BB) const {
67 return getAvailableVals(AV).count(BB);
72 void MachineSSAUpdater::AddAvailableValue(MachineBasicBlock *BB, unsigned V) { argument
73 getAvailableVals(AV)[BB] = V;
78 unsigned MachineSSAUpdater::GetValueAtEndOfBlock(MachineBasicBlock *BB) { argument
79 return GetValueAtEndOfBlockInternal(BB);
83 unsigned LookForIdenticalPHI(MachineBasicBlock *BB, argument
85 if (BB->empty())
88 MachineBasicBlock::iterator I = BB->begin();
95 while (I != BB
116 InsertNewDef(unsigned Opcode, MachineBasicBlock *BB, MachineBasicBlock::iterator I, const TargetRegisterClass *RC, MachineRegisterInfo *MRI, const TargetInstrInfo *TII) argument
143 GetValueInMiddleOfBlock(MachineBasicBlock *BB) argument
248 BlkSucc_begin(BlkT *BB) argument
249 BlkSucc_end(BlkT *BB) argument
282 FindPredecessorBlocks(MachineBasicBlock *BB, SmallVectorImpl<MachineBasicBlock*> *Preds) argument
291 GetUndefVal(MachineBasicBlock *BB, MachineSSAUpdater *Updater) argument
303 CreateEmptyPHI(MachineBasicBlock *BB, unsigned NumPreds, MachineSSAUpdater *Updater) argument
354 GetValueAtEndOfBlockInternal(MachineBasicBlock *BB) argument
[all...]
/freebsd-11-stable/contrib/llvm-project/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, argument
138 return ComputeValueKnownInPredecessorsImpl(V, BB, Result, Preference,
142 bool ProcessThreadableEdges(Value *Cond, BasicBlock *BB,
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/VE/
H A DVEInstrInfo.cpp77 MachineBasicBlock *BB = &MBB; local
78 const BasicBlock *LLVM_BB = BB->getBasicBlock();
81 MachineFunction::iterator It = ++(BB->getIterator());
85 // Transfer the remainder of BB and its successor edges to sinkMBB.
86 sinkMBB->splice(sinkMBB->begin(), BB,
88 BB->end());
89 sinkMBB->transferSuccessorsAndUpdatePHIs(BB);
92 BB->addSuccessor(syscallMBB);
93 BB->addSuccessor(sinkMBB);
94 BuildMI(BB, d
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMips16ISelLowering.h54 MachineBasicBlock *BB) const;
58 MachineBasicBlock *BB) const;
62 MachineBasicBlock *BB) const;
66 MachineBasicBlock *BB) const;
71 MachineBasicBlock *BB) const;
74 MachineBasicBlock *BB) const;
78 MachineBasicBlock *BB) const;
H A DMips16ISelLowering.cpp165 MachineBasicBlock *BB) const {
168 return MipsTargetLowering::EmitInstrWithCustomInserter(MI, BB);
170 return emitSel16(Mips::BeqzRxImm16, MI, BB);
172 return emitSel16(Mips::BnezRxImm16, MI, BB);
174 return emitSeliT16(Mips::Bteqz16, Mips::CmpiRxImmX16, MI, BB);
176 return emitSeliT16(Mips::Bteqz16, Mips::SltiRxImmX16, MI, BB);
178 return emitSeliT16(Mips::Bteqz16, Mips::SltiuRxImmX16, MI, BB);
180 return emitSeliT16(Mips::Btnez16, Mips::CmpiRxImmX16, MI, BB);
182 return emitSeliT16(Mips::Btnez16, Mips::SltiRxImmX16, MI, BB);
184 return emitSeliT16(Mips::Btnez16, Mips::SltiuRxImmX16, MI, BB);
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUUnifyDivergentExitNodes.cpp97 /// \returns true if \p BB is reachable through only uniform branches.
100 BasicBlock &BB) {
104 for (BasicBlock *Pred : predecessors(&BB))
123 for (BasicBlock &BB : F) {
124 for (Instruction &I : BB) {
177 for (BasicBlock *BB : ReturningBlocks) {
181 PN->addIncoming(BB->getTerminator()->getOperand(0), BB);
184 BB->getTerminator()->eraseFromParent();
185 BranchInst::Create(NewRetBlock, BB);
99 isUniformlyReached(const LegacyDivergenceAnalysis &DA, BasicBlock &BB) argument
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/FuzzMutate/
H A DRandomIRBuilder.h37 Value *findOrCreateSource(BasicBlock &BB, ArrayRef<Instruction *> Insts);
43 Value *findOrCreateSource(BasicBlock &BB, ArrayRef<Instruction *> Insts,
46 Value *newSource(BasicBlock &BB, ArrayRef<Instruction *> Insts,
49 /// \c BB. This may also create some new instruction in \c BB and use that.
50 void connectToSink(BasicBlock &BB, ArrayRef<Instruction *> Insts, Value *V);
51 /// Create a user for \c V in \c BB.
52 void newSink(BasicBlock &BB, ArrayRef<Instruction *> Insts, Value *V);
53 Value *findPointer(BasicBlock &BB, ArrayRef<Instruction *> Insts,
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DPruneEH.cpp52 static void DeleteBasicBlock(BasicBlock *BB, CallGraph &CG);
109 for (const BasicBlock &BB : *F) {
110 const Instruction *TI = BB.getTerminator();
117 for (const Instruction &I : BB) {
191 for (Function::iterator BB = F->begin(), E = F->end(); BB != E; ++BB) {
192 if (InvokeInst *II = dyn_cast<InvokeInst>(BB->getTerminator()))
195 removeUnwindEdge(&*BB);
199 DeleteBasicBlock(UnwindBlock, CG); // Delete the new BB
232 DeleteBasicBlock(BasicBlock *BB, CallGraph &CG) argument
[all...]

Completed in 199 milliseconds

1234567891011>>