/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | BranchRelaxation.cpp | 104 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 D | ModuloSchedule.cpp | 1644 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 D | CodeGenPrepare.cpp | 423 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 D | BreakCriticalEdges.cpp | 118 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 D | Local.cpp | 351 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 D | ObjCARC.cpp | 56 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 D | HexagonCopyHoisting.cpp | 63 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 D | MSP430BranchSelector.cpp | 128 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 D | CFGMST.h | 103 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 D | ARMBasicBlockInfo.cpp | 93 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 D | ARMConstantIslandPass.cpp | 1707 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 D | ARMBasicBlockInfo.h | 144 bool isBBInRange(MachineInstr *MI, MachineBasicBlock *DestBB,
|
H A D | ARMLowOverheadLoops.cpp | 1416 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 D | PGOInstrumentation.cpp | 494 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 D | GCOVProfiling.cpp | 180 // 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 D | IndirectCallPromotion.cpp | 208 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 D | MipsConstantIslandPass.cpp | 1453 (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 D | CSKYConstantIslandPass.cpp | 1212 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 D | WebAssemblyMachineFunctionInfo.cpp | 145 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 D | GVNHoist.cpp | 492 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 D | JumpThreading.cpp | 1586 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 D | GCNPreRALongBranchReg.cpp | 128 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 D | BasicBlockUtils.h | 193 /// 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 D | InstCombineLoadStoreAlloca.cpp | 1494 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 D | LoongArchInstrInfo.cpp | 422 MachineBasicBlock &DestBB, in insertIndirectBranch() argument 447 .addMBB(&DestBB, LoongArchII::MO_PCREL_HI); in insertIndirectBranch() 453 .addMBB(&DestBB, LoongArchII::MO_PCREL_LO); in insertIndirectBranch()
|