Home
last modified time | relevance | path

Searched refs:DestBB (Results 1 – 25 of 39) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DBranchRelaxation.cpp104 MachineBasicBlock *DestBB);
152 MachineBasicBlock *DestBB = TII->getBranchDestBlock(MI);
153 assert(isBlockInRange(MI, *DestBB) || in dumpBBs()
154 RelaxedUnconditionals.contains({&MBB, DestBB})); in dumpBBs()
273 MachineBasicBlock *DestBB) { in splitBlockBeforeInstr()
300 OrigBB->addSuccessor(DestBB); in isBlockInRange()
332 const MachineInstr &MI, const MachineBasicBlock &DestBB) const { in fixupConditionalBranch()
334 int64_t DestOffset = BlockInfo[DestBB.getNumber()].Offset; in fixupConditionalBranch()
339 SrcBB->getSectionID() != DestBB.getSectionID() in fixupConditionalBranch()
345 << printMBBReference(DestBB) << " fro in fixupConditionalBranch()
144 MachineBasicBlock *DestBB = TII->getBranchDestBlock(MI); INITIALIZE_PASS() local
245 splitBlockBeforeInstr(MachineInstr & MI,MachineBasicBlock * DestBB) splitBlockBeforeInstr() argument
326 __anon6cb7e2b90202(MachineBasicBlock *MBB, MachineBasicBlock *DestBB) fixupConditionalBranch() argument
460 MachineBasicBlock *DestBB = TII->getBranchDestBlock(MI); fixupUnconditionalBranch() local
555 if (MachineBasicBlock *DestBB = TII->getBranchDestBlock(*Last)) { relaxBranchInstructions() local
579 MachineBasicBlock *DestBB = TII->getBranchDestBlock(MI); relaxBranchInstructions() local
[all...]
H A DModuloSchedule.cpp1644 MachineBasicBlock *DestBB, MachineBasicBlock *SourceBB, unsigned Stage) { in moveStageBetweenBlocks() argument
1645 auto InsertPt = DestBB->getFirstNonPHI(); in moveStageBetweenBlocks()
1658 MachineInstr *NI = BuildMI(*DestBB, DestBB->getFirstNonPHI(), in moveStageBetweenBlocks()
1662 BlockMIs[{DestBB, CanonicalMIs[&MI]}] = NI; in moveStageBetweenBlocks()
1670 DestBB->insert(InsertPt, &MI); in moveStageBetweenBlocks()
1672 BlockMIs[{DestBB, KernelMI}] = &MI; in moveStageBetweenBlocks()
1676 for (MachineInstr &MI : DestBB->phis()) { in moveStageBetweenBlocks()
1692 InsertPt = DestBB->getFirstNonPHI(); in moveStageBetweenBlocks()
1697 DestBB->insert(InsertPt, NewMI); in moveStageBetweenBlocks()
1702 NewMI->getOperand(2).setMBB(*DestBB->pred_begin()); in moveStageBetweenBlocks()
[all …]
H A DCodeGenPrepare.cpp423 bool canMergeBlocks(const BasicBlock *BB, const BasicBlock *DestBB) const;
425 bool isMergingEmptyBlockProfitable(BasicBlock *BB, BasicBlock *DestBB,
908 BasicBlock *DestBB = BI->getSuccessor(0); in findDestBlockOfMergeableEmptyBlock() local
909 if (DestBB == BB) in findDestBlockOfMergeableEmptyBlock()
912 if (!canMergeBlocks(BB, DestBB)) in findDestBlockOfMergeableEmptyBlock()
913 DestBB = nullptr; in findDestBlockOfMergeableEmptyBlock()
915 return DestBB; in findDestBlockOfMergeableEmptyBlock()
948 BasicBlock *DestBB = findDestBlockOfMergeableEmptyBlock(BB); in eliminateMostlyEmptyBlocks() local
949 if (!DestBB || in eliminateMostlyEmptyBlocks()
950 !isMergingEmptyBlockProfitable(BB, DestBB, Preheaders.count(BB))) in eliminateMostlyEmptyBlocks()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DBreakCriticalEdges.cpp118 BasicBlock *DestBB = TI->getSuccessor(SuccNum); in SplitKnownCriticalEdge() local
122 if (DestBB->isEHPad()) return nullptr; in SplitKnownCriticalEdge()
125 isa<UnreachableInst>(DestBB->getFirstNonPHIOrDbgOrLifetime())) in SplitKnownCriticalEdge()
145 for (BasicBlock *P : predecessors(DestBB)) { in SplitKnownCriticalEdge()
173 DestBB->getName() + in SplitKnownCriticalEdge()
176 BranchInst *NewBI = BranchInst::Create(DestBB, NewBB); in SplitKnownCriticalEdge()
191 for (BasicBlock::iterator I = DestBB->begin(); isa<PHINode>(I); ++I) { in SplitKnownCriticalEdge()
213 if (TI->getSuccessor(i) != DestBB) continue; in SplitKnownCriticalEdge()
216 DestBB->removePredecessor(TIBB, Options.KeepOneInputPHIs); in SplitKnownCriticalEdge()
229 DestBB, NewBB, {TIBB}, Options.MergeIdenticalEdges); in SplitKnownCriticalEdge()
[all …]
H A DLocal.cpp351 BasicBlock *DestBB = IBI->getDestination(i); in ConstantFoldTerminator() local
352 if (DTU && DestBB != TheOnlyDest) in ConstantFoldTerminator()
353 RemovedSuccessors.insert(DestBB); in ConstantFoldTerminator()
357 DestBB->removePredecessor(BB); in ConstantFoldTerminator()
771 void llvm::MergeBasicBlockIntoOnlyPred(BasicBlock *DestBB, in MergeBasicBlockIntoOnlyPred() argument
775 while (PHINode *PN = dyn_cast<PHINode>(DestBB->begin())) { in MergeBasicBlockIntoOnlyPred()
783 BasicBlock *PredBB = DestBB->getSinglePredecessor(); in MergeBasicBlockIntoOnlyPred()
800 Updates.push_back({DominatorTree::Insert, PredOfPredBB, DestBB}); in MergeBasicBlockIntoOnlyPred()
805 Updates.push_back({DominatorTree::Delete, PredBB, DestBB}); in MergeBasicBlockIntoOnlyPred()
810 if (DestBB->hasAddressTaken()) { in MergeBasicBlockIntoOnlyPred()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/
H A DObjCARC.cpp56 BasicBlock *DestBB = I->getNormalDest(); in insertAfterInvokes() local
58 if (!DestBB->getSinglePredecessor()) { in insertAfterInvokes()
59 assert(I->getSuccessor(0) == DestBB && in insertAfterInvokes()
61 DestBB = SplitCriticalEdge(I, 0, CriticalEdgeSplittingOptions(DT)); in insertAfterInvokes()
67 insertRVCall(DestBB->getFirstInsertionPt(), I); in insertAfterInvokes()
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonCopyHoisting.cpp63 void moveCopyInstr(MachineBasicBlock *DestBB,
243 void HexagonCopyHoisting::moveCopyInstr(MachineBasicBlock *DestBB, in moveCopyInstr() argument
246 MachineBasicBlock::iterator FirstTI = DestBB->getFirstTerminator(); in moveCopyInstr()
247 assert(FirstTI != DestBB->end()); in moveCopyInstr()
249 DestBB->splice(FirstTI, MI->getParent(), MI); in moveCopyInstr()
252 for (auto I = ++(DestBB->succ_begin()), E = DestBB->succ_end(); I != E; ++I) { in moveCopyInstr()
/freebsd/contrib/llvm-project/llvm/lib/Target/MSP430/
H A DMSP430BranchSelector.cpp128 MachineBasicBlock *DestBB = MI->getOperand(0).getMBB(); in expandBranches() local
133 BlockOffsets[DestBB->getNumber()] - BlockOffsets[MBB->getNumber()]; in expandBranches()
142 << printMBBReference(*DestBB) << ", Distance " in expandBranches()
161 if (Succ == DestBB) { in expandBranches()
204 MI = BuildMI(*MBB, MI, dl, TII->get(MSP430::Bi)).addMBB(DestBB); in expandBranches()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/
H A DCFGMST.h103 if (!E->DestBB) in buildEdges()
106 if (llvm::isPresplitCoroSuspendExitEdge(*E->SrcBB, *E->DestBB)) in buildEdges()
236 if (Ei->DestBB && Ei->DestBB->isLandingPad()) { in computeMinimumSpanningTree()
237 if (unionGroups(Ei->SrcBB, Ei->DestBB)) in computeMinimumSpanningTree()
250 if (unionGroups(Ei->SrcBB, Ei->DestBB)) in dumpEdges()
272 << getBBInfo(EI->DestBB).Index << EI->infoString() << "\n"; in addEdge()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMBasicBlockInfo.cpp93 MachineBasicBlock *DestBB, in isBBInRange()
97 unsigned DestOffset = BBInfo[DestBB->getNumber()].Offset; in isBBInRange()
99 LLVM_DEBUG(dbgs() << "Branch of destination " << printMBBReference(*DestBB) in isBBInRange()
94 isBBInRange(MachineInstr * MI,MachineBasicBlock * DestBB,unsigned MaxDisp) const isBBInRange() argument
H A DARMConstantIslandPass.cpp1707 MachineBasicBlock *DestBB = MI->getOperand(0).getMBB(); in fixupImmediateBr() local
1710 if (BBUtils->isBBInRange(MI, DestBB, Br.MaxDisp)) in fixupImmediateBr()
1751 MachineBasicBlock *DestBB = MI->getOperand(0).getMBB(); in fixupConditionalBr() local
1787 BMI->getOperand(0).setMBB(DestBB); in fixupConditionalBr()
1805 MBB->addSuccessor(DestBB); in fixupConditionalBr()
1806 std::next(MBB->getIterator())->removeSuccessor(DestBB); in fixupConditionalBr()
1812 LLVM_DEBUG(dbgs() << " Insert B to " << printMBBReference(*DestBB) in fixupConditionalBr()
1824 .addMBB(DestBB) in fixupConditionalBr()
1827 BuildMI(MBB, DebugLoc(), TII->get(Br.UncondBr)).addMBB(DestBB); in fixupConditionalBr()
1914 MachineBasicBlock *DestBB = Br.MI->getOperand(0).getMBB(); in optimizeThumb2Branches() local
[all …]
H A DARMBasicBlockInfo.h144 bool isBBInRange(MachineInstr *MI, MachineBasicBlock *DestBB,
H A DARMLowOverheadLoops.cpp1416 MachineBasicBlock *DestBB = getWhileLoopStartTargetBB(*MI); in RevertWhile() local
1417 unsigned BrOpc = BBUtils->isBBInRange(MI, DestBB, 254) ? in RevertWhile()
1451 MachineBasicBlock *DestBB = MI->getOperand(1).getMBB(); in RevertLoopEnd() local
1452 unsigned BrOpc = BBUtils->isBBInRange(MI, DestBB, 254) ? in RevertLoopEnd()
1474 MachineBasicBlock *DestBB = MI->getOperand(2).getMBB(); in RevertLoopEndDec() local
1476 BBUtils->isBBInRange(MI, DestBB, 254) ? ARM::tBcc : ARM::t2Bcc; in RevertLoopEndDec()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DPGOInstrumentation.cpp494 BasicBlock *DestBB; member
501 : SrcBB(Src), DestBB(Dest), Weight(W) {} in PGOEdge()
787 BasicBlock *DestBB = E->DestBB; in getInstrBB() local
790 return DestBB; in getInstrBB()
791 if (DestBB == nullptr) in getInstrBB()
808 return canInstrument(DestBB); in getInstrBB()
812 unsigned SuccNum = GetSuccessorNumber(SrcBB, DestBB); in getInstrBB()
824 << " --> " << getBBInfo(DestBB).Index << "\n"); in getInstrBB()
828 Edge &NewEdge1 = MST.addEdge(InstrBB, DestBB, 0); in getInstrBB()
1213 const BasicBlock *DestBB = E->DestBB; in setupBBInfoEdges() local
[all …]
H A DGCOVProfiling.cpp180 // So there might be multiple edges with same SrcBB and DestBB.
182 const BasicBlock *DestBB; member
191 : SrcBB(Src), DestBB(Dest), Weight(W) {} in Edge()
712 BasicBlock *DestBB = const_cast<BasicBlock *>(E.DestBB); in getInstrBB() local
715 return DestBB; in getInstrBB()
716 if (DestBB == nullptr) in getInstrBB()
728 // otherwise, the DestBB if this is not a critical edge. in getInstrBB()
733 return CanInstrument(DestBB); in getInstrBB()
737 const unsigned SuccNum = GetSuccessorNumber(SrcBB, DestBB); in getInstrBB()
[all...]
H A DIndirectCallPromotion.cpp208 static bool isDestBBSuitableForSink(Instruction *Inst, BasicBlock *DestBB) { in isDestBBSuitableForSink() argument
212 assert(BB != DestBB && BB->getTerminator()->getNumSuccessors() == 2 && in isDestBBSuitableForSink()
213 DestBB->getUniquePredecessor() == BB && in isDestBBSuitableForSink()
228 if (UserBB != DestBB) in isDestBBSuitableForSink()
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMipsConstantIslandPass.cpp1453 (MachineInstr *MI,MachineBasicBlock *DestBB, unsigned MaxDisp) { in isBBInRange() argument
1456 unsigned DestOffset = BBInfo[DestBB->getNumber()].Offset; in isBBInRange()
1458 LLVM_DEBUG(dbgs() << "Branch of destination " << printMBBReference(*DestBB) in isBBInRange()
1480 MachineBasicBlock *DestBB = MI->getOperand(TargetOperand).getMBB(); in fixupImmediateBr() local
1483 if (isBBInRange(MI, DestBB, Br.MaxDisp)) in fixupImmediateBr()
1499 MachineBasicBlock *DestBB = MI->getOperand(0).getMBB(); in fixupUnconditionalBr() local
1502 if (isBBInRange(MI, DestBB, BimmX16MaxDisp)) { in fixupUnconditionalBr()
1518 DestBB->setAlignment(Align(4)); in fixupUnconditionalBr()
1539 MachineBasicBlock *DestBB = MI->getOperand(TargetOperand).getMBB(); in fixupConditionalBr() local
1545 if (isBBInRange(MI, DestBB, LongFormMaxOff)) { in fixupConditionalBr()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/
H A DCSKYConstantIslandPass.cpp1212 MachineBasicBlock *DestBB, in isBBInRange() argument
1215 unsigned DestOffset = BBInfo[DestBB->getNumber()].Offset; in isBBInRange()
1217 LLVM_DEBUG(dbgs() << "Branch of destination " << printMBBReference(*DestBB) in isBBInRange()
1238 MachineBasicBlock *DestBB = TII->getBranchDestBlock(*MI); in fixupImmediateBr() local
1241 if (isBBInRange(MI, DestBB, Br.MaxDisp)) in fixupImmediateBr()
1277 MachineBasicBlock *DestBB = TII->getBranchDestBlock(*MI); in fixupConditionalBr() local
1315 BMI->getOperand(BMI->getNumExplicitOperands() - 1).setMBB(DestBB); in fixupConditionalBr()
1335 MBB->addSuccessor(DestBB); in fixupConditionalBr()
1336 std::next(MBB->getIterator())->removeSuccessor(DestBB); in fixupConditionalBr()
1340 LLVM_DEBUG(dbgs() << " Insert B to " << printMBBReference(*DestBB) in fixupConditionalBr()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyMachineFunctionInfo.cpp145 auto *DestBB = KV.second.get<MachineBasicBlock *>(); in WebAssemblyFunctionInfo() local
146 if (MBBs.count(SrcBB) && MBBs.count(DestBB)) in WebAssemblyFunctionInfo()
147 SrcToUnwindDest[SrcBB->getNumber()] = DestBB->getNumber(); in WebAssemblyFunctionInfo()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DGVNHoist.cpp492 BasicBlock *DestBB, bool MoveAccess);
1014 Instruction *Repl, BasicBlock *DestBB, in removeAndReplace() argument
1020 MSSAUpdater->moveToPlace(NewMemAcc, DestBB, MemorySSA::BeforeTerminator); in removeAndReplace()
1071 BasicBlock *DestBB = HP.first; in hoist() local
1075 if (I->getParent() == DestBB) in hoist()
1087 assert(allOperandsAvailable(Repl, DestBB) && in hoist()
1098 if (!allOperandsAvailable(Repl, DestBB)) { in hoist()
1105 if (!makeGepOperandsAvailable(Repl, DestBB, InstructionsToHoist)) in hoist()
1110 Instruction *Last = DestBB->getTerminator(); in hoist()
1119 NR += removeAndReplace(InstructionsToHoist, Repl, DestBB, MoveAccess); in hoist()
H A DJumpThreading.cpp1586 BasicBlock *DestBB; in processThreadableEdges() local
1588 DestBB = nullptr; in processThreadableEdges()
1591 DestBB = BI->getSuccessor(cast<ConstantInt>(Val)->isZero()); in processThreadableEdges()
1594 DestBB = SI->findCaseValue(cast<ConstantInt>(Val))->getCaseSuccessor(); in processThreadableEdges()
1599 DestBB = cast<BlockAddress>(Val)->getBasicBlock(); in processThreadableEdges()
1604 OnlyDest = DestBB; in processThreadableEdges()
1607 if (OnlyDest != DestBB) in processThreadableEdges()
1620 PredToDestList.emplace_back(Pred, DestBB); in processThreadableEdges()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DGCNPreRALongBranchReg.cpp128 MachineBasicBlock *DestBB = TII->getBranchDestBlock(*Last); in runOnMachineFunction() local
130 LongBranchFactor * BlockInfo[DestBB->getNumber()].Offset); in runOnMachineFunction()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DBasicBlockUtils.h193 /// of preds inside the loop, SplitBB is the new loop exit block, and DestBB is
196 BasicBlock *SplitBB, BasicBlock *DestBB);
261 void updatePhiNodes(BasicBlock *DestBB, BasicBlock *OldPred,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineLoadStoreAlloca.cpp1494 BasicBlock *DestBB = StoreBB->getTerminator()->getSuccessor(0); in mergeStoreIntoSuccessor() local
1495 if (!DestBB->hasNPredecessors(2)) in mergeStoreIntoSuccessor()
1499 pred_iterator PredIter = pred_begin(DestBB); in mergeStoreIntoSuccessor()
1506 if (StoreBB == DestBB || OtherBB == DestBB) in mergeStoreIntoSuccessor()
1586 MergedVal = InsertNewInstBefore(PN, DestBB->begin()); in mergeStoreIntoSuccessor()
1591 BBI = DestBB->getFirstInsertionPt(); in mergeStoreIntoSuccessor()
/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchInstrInfo.cpp422 MachineBasicBlock &DestBB, in insertIndirectBranch() argument
447 .addMBB(&DestBB, LoongArchII::MO_PCREL_HI); in insertIndirectBranch()
453 .addMBB(&DestBB, LoongArchII::MO_PCREL_LO); in insertIndirectBranch()

12