Home
last modified time | relevance | path

Searched refs:LoopBB (Results 1 – 25 of 34) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLowerVectorIntrinsics.cpp27 BasicBlock *LoopBB = BasicBlock::Create(Ctx, "", ParentFunc, PostLoopBB); in lowerUnaryVectorIntrinsicAsLoop() local
28 PreLoopBB->getTerminator()->setSuccessor(0, LoopBB); in lowerUnaryVectorIntrinsicAsLoop()
36 IRBuilder<> LoopBuilder(LoopBB); in lowerUnaryVectorIntrinsicAsLoop()
48 Vec->addIncoming(NewVec, LoopBB); in lowerUnaryVectorIntrinsicAsLoop()
52 LoopIndex->addIncoming(NextLoopIndex, LoopBB); in lowerUnaryVectorIntrinsicAsLoop()
56 LoopBuilder.CreateCondBr(ExitCond, PostLoopBB, LoopBB); in lowerUnaryVectorIntrinsicAsLoop()
H A DLowerMemIntrinsics.cpp62 BasicBlock *LoopBB = in createMemCpyLoopKnownSize() local
64 PreLoopBB->getTerminator()->setSuccessor(0, LoopBB); in createMemCpyLoopKnownSize()
71 IRBuilder<> LoopBuilder(LoopBB); in createMemCpyLoopKnownSize()
101 LoopIndex->addIncoming(NewIndex, LoopBB); in createMemCpyLoopKnownSize()
106 LoopBB, PostLoopBB); in createMemCpyLoopKnownSize()
228 BasicBlock *LoopBB = in createMemCpyLoopUnknownSize() local
230 IRBuilder<> LoopBuilder(LoopBB); in createMemCpyLoopUnknownSize()
262 LoopIndex->addIncoming(NewIndex, LoopBB); in createMemCpyLoopUnknownSize()
291 LoopBB, ResHeaderBB); in createMemCpyLoopUnknownSize()
295 LoopBuilder.CreateICmpULT(NewIndex, RuntimeLoopBytes), LoopBB, in createMemCpyLoopUnknownSize()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AVR/
H A DAVRShiftExpand.cpp90 BasicBlock *LoopBB = BasicBlock::Create(Ctx, "shift.loop", F, EndBB); in expand() local
100 Builder.CreateCondBr(Cmp1, EndBB, LoopBB); in expand()
104 Builder.SetInsertPoint(LoopBB); in expand()
114 ShiftAmountPHI->addIncoming(ShiftAmountSub, LoopBB); in expand()
133 ValuePHI->addIncoming(ValueShifted, LoopBB); in expand()
138 Builder.CreateCondBr(Cmp2, EndBB, LoopBB); in expand()
145 Result->addIncoming(ValueShifted, LoopBB); in expand()
H A DAVRISelLowering.cpp1779 MachineBasicBlock *LoopBB = F->CreateMachineBasicBlock(LLVM_BB); in insertShift() local
1783 F->insert(I, LoopBB); in insertShift()
1795 LoopBB->addSuccessor(CheckBB); in insertShift()
1796 CheckBB->addSuccessor(LoopBB); in insertShift()
1813 auto ShiftMI = BuildMI(LoopBB, dl, TII.get(Opc), ShiftReg2).addReg(ShiftReg); in insertShift()
1827 .addMBB(LoopBB); in insertShift()
1832 .addMBB(LoopBB); in insertShift()
1837 .addMBB(LoopBB); in insertShift()
1840 BuildMI(CheckBB, dl, TII.get(AVR::BRPLk)).addMBB(LoopBB); in insertShift()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUCtorDtorLowering.cpp77 auto *LoopBB = BasicBlock::Create(C, "while.entry", &F); in createInitOrFiniCalls() local
131 LoopBB, ExitBB); in createInitOrFiniCalls()
132 IRB.SetInsertPoint(LoopBB); in createInitOrFiniCalls()
141 CallBackPHI->addIncoming(NewCallBack, LoopBB); in createInitOrFiniCalls()
142 IRB.CreateCondBr(EndCmp, ExitBB, LoopBB); in createInitOrFiniCalls()
H A DSIISelLowering.cpp4578 MachineBasicBlock *LoopBB = MF->CreateMachineBasicBlock(); in splitBlockForLoop() local
4583 MF->insert(MBBI, LoopBB); in splitBlockForLoop()
4586 LoopBB->addSuccessor(LoopBB); in splitBlockForLoop()
4587 LoopBB->addSuccessor(RemainderBB); in splitBlockForLoop()
4596 LoopBB->splice(LoopBB->begin(), &MBB, I, Next); in splitBlockForLoop()
4604 MBB.addSuccessor(LoopBB); in splitBlockForLoop()
4606 return std::pair(LoopBB, RemainderBB); in splitBlockForLoop()
4638 auto [LoopBB, RemainderBB] = splitBlockForLoop(MI, *BB, true); in emitGWSMemViolTestLoop()
4640 MachineBasicBlock::iterator I = LoopBB->end(); in emitGWSMemViolTestLoop()
4646 BuildMI(*LoopBB, LoopBB->begin(), DL, TII->get(AMDGPU::S_SETREG_IMM32_B32)) in emitGWSMemViolTestLoop()
[all …]
H A DSIInstrInfo.cpp6569 MachineBasicBlock &LoopBB, in emitLoadScalarOpsFromVGPRLoop() argument
6573 MachineFunction &MF = *LoopBB.getParent(); in emitLoadScalarOpsFromVGPRLoop()
6585 MachineBasicBlock::iterator I = LoopBB.begin(); in emitLoadScalarOpsFromVGPRLoop()
6596 BuildMI(LoopBB, I, DL, TII.get(AMDGPU::V_READFIRSTLANE_B32), CurReg) in emitLoadScalarOpsFromVGPRLoop()
6601 BuildMI(LoopBB, I, DL, TII.get(AMDGPU::V_CMP_EQ_U32_e64), NewCondReg) in emitLoadScalarOpsFromVGPRLoop()
6610 BuildMI(LoopBB, I, DL, TII.get(AndOpc), AndReg) in emitLoadScalarOpsFromVGPRLoop()
6632 BuildMI(LoopBB, I, DL, TII.get(AMDGPU::V_READFIRSTLANE_B32), CurRegLo) in emitLoadScalarOpsFromVGPRLoop()
6636 BuildMI(LoopBB, I, DL, TII.get(AMDGPU::V_READFIRSTLANE_B32), CurRegHi) in emitLoadScalarOpsFromVGPRLoop()
6645 BuildMI(LoopBB, I, DL, TII.get(AMDGPU::REG_SEQUENCE), CurReg) in emitLoadScalarOpsFromVGPRLoop()
6652 auto Cmp = BuildMI(LoopBB, I, DL, TII.get(AMDGPU::V_CMP_EQ_U64_e64), in emitLoadScalarOpsFromVGPRLoop()
[all …]
H A DAMDGPURegisterBankInfo.cpp815 MachineBasicBlock *LoopBB = MF->CreateMachineBasicBlock(); in executeInWaterfallLoop() local
821 MF->insert(MBBI, LoopBB); in executeInWaterfallLoop()
826 LoopBB->addSuccessor(BodyBB); in executeInWaterfallLoop()
828 BodyBB->addSuccessor(LoopBB); in executeInWaterfallLoop()
834 MBB.addSuccessor(LoopBB); in executeInWaterfallLoop()
837 B.setInsertPt(*LoopBB, LoopBB->end()); in executeInWaterfallLoop()
858 B.setMBB(*LoopBB); in executeInWaterfallLoop()
888 B.setMBB(*LoopBB); in executeInWaterfallLoop()
962 B.buildInstr(AMDGPU::SI_WATERFALL_LOOP).addMBB(LoopBB); in executeInWaterfallLoop()
2951 MachineBasicBlock *LoopBB = Extract1->getParent(); in applyMappingImpl() local
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DBranchProbabilityInfo.cpp690 LoopBlock &LoopBB, uint32_t BBWeight, in updateEstimatedBlockWeight() argument
693 BasicBlock *BB = LoopBB.getBlock(); in updateEstimatedBlockWeight()
706 if (isLoopExitingEdge({PredLoop, LoopBB})) { in updateEstimatedBlockWeight()
728 const LoopBlock &LoopBB, DominatorTree *DT, PostDominatorTree *PDT, in propagateEstimatedBlockWeight() argument
731 const BasicBlock *BB = LoopBB.getBlock(); in propagateEstimatedBlockWeight()
746 const LoopEdge Edge{DomLoopBB, LoopBB}; in propagateEstimatedBlockWeight()
824 const LoopBlock LoopBB = LoopWorkList.pop_back_val(); in estimateBlockWeights() local
825 const LoopData LD = LoopBB.getLoopData(); in estimateBlockWeights()
832 getLoopExitBlocks(LoopBB, Exits); in estimateBlockWeights()
834 LoopBB, make_range(Exits.begin(), Exits.end())); in estimateBlockWeights()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/
H A DNVPTXCtorDtorLowering.cpp101 auto *LoopBB = BasicBlock::Create(C, "while.entry", &F); in createInitOrFiniCalls() local
158 LoopBB, ExitBB); in createInitOrFiniCalls()
159 IRB.SetInsertPoint(LoopBB); in createInitOrFiniCalls()
169 CallBackPHI->addIncoming(NewCallBack, LoopBB); in createInitOrFiniCalls()
170 IRB.CreateCondBr(EndCmp, ExitBB, LoopBB); in createInitOrFiniCalls()
/freebsd/contrib/llvm-project/llvm/lib/Target/MSP430/
H A DMSP430ISelLowering.cpp1328 MachineBasicBlock *LoopBB = F->CreateMachineBasicBlock(LLVM_BB); in EmitShiftInstr() local
1331 F->insert(I, LoopBB); in EmitShiftInstr()
1341 BB->addSuccessor(LoopBB); in EmitShiftInstr()
1343 LoopBB->addSuccessor(RemBB); in EmitShiftInstr()
1344 LoopBB->addSuccessor(LoopBB); in EmitShiftInstr()
1368 BuildMI(LoopBB, dl, TII.get(MSP430::PHI), ShiftReg) in EmitShiftInstr()
1370 .addReg(ShiftReg2).addMBB(LoopBB); in EmitShiftInstr()
1371 BuildMI(LoopBB, dl, TII.get(MSP430::PHI), ShiftAmtReg) in EmitShiftInstr()
1373 .addReg(ShiftAmtReg2).addMBB(LoopBB); in EmitShiftInstr()
1375 BuildMI(LoopBB, dl, TII.get(MSP430::BIC16rc), MSP430::SR) in EmitShiftInstr()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64ExpandPseudoInsts.cpp713 auto LoopBB = MF->CreateMachineBasicBlock(MBB.getBasicBlock()); in expandSetTagLoop() local
716 MF->insert(++MBB.getIterator(), LoopBB); in expandSetTagLoop()
717 MF->insert(++LoopBB->getIterator(), DoneBB); in expandSetTagLoop()
719 BuildMI(LoopBB, DL, TII->get(OpCode2)) in expandSetTagLoop()
726 BuildMI(LoopBB, DL, TII->get(AArch64::SUBSXri)) in expandSetTagLoop()
731 BuildMI(LoopBB, DL, TII->get(AArch64::Bcc)) in expandSetTagLoop()
733 .addMBB(LoopBB) in expandSetTagLoop()
736 LoopBB->addSuccessor(LoopBB); in expandSetTagLoop()
737 LoopBB->addSuccessor(DoneBB); in expandSetTagLoop()
742 MBB.addSuccessor(LoopBB); in expandSetTagLoop()
[all …]
H A DAArch64InstrInfo.cpp10404 MachineBasicBlock *LoopBB; member in __anon56a76da32311::AArch64PipelinerLoopInfo
10424 AArch64PipelinerLoopInfo(MachineBasicBlock *LoopBB, MachineInstr *CondBranch, in AArch64PipelinerLoopInfo() argument
10432 LoopBB(LoopBB), CondBranch(CondBranch), Comp(Comp), in AArch64PipelinerLoopInfo()
10513 if (CondBranch->getOperand(1).getMBB() == LoopBB) in createRemainingIterationsGreaterCondition()
10618 static bool getIndVarInfo(Register Reg, const MachineBasicBlock *LoopBB, in getIndVarInfo() argument
10633 if (LoopBB->pred_size() != 2) in getIndVarInfo()
10637 const MachineRegisterInfo &MRI = LoopBB->getParent()->getRegInfo(); in getIndVarInfo()
10645 if (Def->getParent() != LoopBB) in getIndVarInfo()
10657 extractPhiReg(*Def, LoopBB, CurReg, InitReg); in getIndVarInfo()
10682 if (isDefinedOutside(Def->getOperand(2).getReg(), LoopBB)) in getIndVarInfo()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DAtomicExpandPass.cpp1106 auto LoopBB = BasicBlock::Create(Ctx, "partword.cmpxchg.loop", F, FailureBB); in expandPartwordCmpXchg() local
1128 Builder.CreateBr(LoopBB); in expandPartwordCmpXchg()
1131 Builder.SetInsertPoint(LoopBB); in expandPartwordCmpXchg()
1164 Builder.CreateCondBr(ShouldContinue, LoopBB, EndBB); in expandPartwordCmpXchg()
1274 BasicBlock *LoopBB = BasicBlock::Create(Ctx, "atomicrmw.start", F, ExitBB); in insertRMWLLSCLoop() local
1280 Builder.CreateBr(LoopBB); in insertRMWLLSCLoop()
1283 Builder.SetInsertPoint(LoopBB); in insertRMWLLSCLoop()
1292 Builder.CreateCondBr(TryAgain, LoopBB, ExitBB); in insertRMWLLSCLoop()
1644 BasicBlock *LoopBB = BasicBlock::Create(Ctx, "atomicrmw.start", F, ExitBB); in insertRMWCmpXchgLoop() local
1652 Builder.CreateBr(LoopBB); in insertRMWCmpXchgLoop()
[all …]
H A DMachineBlockPlacement.cpp2676 for (MachineBasicBlock *LoopBB : L.getBlocks()) { in collectLoopBlockSet()
2677 if (LoopBlockSet.count(LoopBB)) in collectLoopBlockSet()
2679 auto Freq = MBFI->getBlockFreq(LoopBB).getFrequency(); in collectLoopBlockSet()
2682 BlockChain *Chain = BlockToChain[LoopBB]; in collectLoopBlockSet()
2748 for (const MachineBasicBlock *LoopBB : LoopBlockSet) in buildLoopChains() local
2749 fillWorkLists(LoopBB, UpdatedPreds, &LoopBlockSet); in buildLoopChains()
2782 for (const MachineBasicBlock *LoopBB : LoopBlockSet) in buildLoopChains()
2786 << " Bad block: " << getBlockName(LoopBB) << "\n"; in buildLoopChains()
H A DModuloSchedule.cpp56 static Register getInitPhiReg(MachineInstr &Phi, MachineBasicBlock *LoopBB) { in getInitPhiReg() argument
58 if (Phi.getOperand(i + 1).getMBB() != LoopBB) in getInitPhiReg()
64 static Register getLoopPhiReg(MachineInstr &Phi, MachineBasicBlock *LoopBB) { in getLoopPhiReg() argument
66 if (Phi.getOperand(i + 1).getMBB() == LoopBB) in getLoopPhiReg()
1310 KernelRewriter(MachineLoop &L, ModuloSchedule &S, MachineBasicBlock *LoopBB,
1317 MachineBasicBlock *LoopBB, LiveIntervals *LIS) in KernelRewriter() argument
1318 : S(S), BB(LoopBB), PreheaderBB(L.getLoopPreheader()), in KernelRewriter()
H A DMachinePipeliner.cpp923 const MachineBasicBlock *LoopBB) { in getLoopPhiReg() argument
925 if (Phi.getOperand(i + 1).getMBB() == LoopBB) in getLoopPhiReg()
2808 const MachineBasicBlock *LoopBB = Op.getParent()->getParent(); in findLoopIncrementValue() local
2809 const MachineRegisterInfo &MRI = LoopBB->getParent()->getRegInfo(); in findLoopIncrementValue()
2812 LoopBB->getParent()->getSubtarget().getInstrInfo(); in findLoopIncrementValue()
2814 LoopBB->getParent()->getSubtarget().getRegisterInfo(); in findLoopIncrementValue()
2831 if (Def->getParent() != LoopBB) in findLoopIncrementValue()
2844 CurReg = getLoopPhiReg(*Def, LoopBB); in findLoopIncrementValue()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DBranchProbabilityInfo.h399 bool updateEstimatedBlockWeight(LoopBlock &LoopBB, uint32_t BBWeight,
405 void propagateEstimatedBlockWeight(const LoopBlock &LoopBB, DominatorTree *DT,
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGNonTrivialStruct.cpp397 llvm::BasicBlock *LoopBB = CGF.createBasicBlock("loop.body"); in visitArray() local
403 CGF.Builder.CreateCondBr(Done, ExitBB, LoopBB); in visitArray()
406 CGF.EmitBlock(LoopBB); in visitArray()
420 LoopBB = CGF.Builder.GetInsertBlock(); in visitArray()
426 PHIs[I]->addIncoming(NewAddrs[I].emitRawPointer(CGF), LoopBB); in visitArray()
H A DCGExprCXX.cpp1260 llvm::BasicBlock *LoopBB = createBasicBlock("new.loop"); in EmitNewArrayInitializer() local
1273 Builder.CreateCondBr(IsEmpty, ContBB, LoopBB); in EmitNewArrayInitializer()
1277 EmitBlock(LoopBB); in EmitNewArrayInitializer()
1315 Builder.CreateCondBr(IsEnd, ContBB, LoopBB); in EmitNewArrayInitializer()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DSimpleLoopUnswitch.cpp1209 for (auto *LoopBB : L.blocks()) in buildClonedLoopBlocks() local
1210 if (!SkipBlock(LoopBB)) in buildClonedLoopBlocks()
1211 CloneBlock(LoopBB); in buildClonedLoopBlocks()
1291 for (auto *LoopBB : L.blocks()) in buildClonedLoopBlocks() local
1292 if (SkipBlock(LoopBB)) in buildClonedLoopBlocks()
1293 for (auto *SuccBB : successors(LoopBB)) in buildClonedLoopBlocks()
1296 PN.removeIncomingValue(LoopBB, /*DeletePHIIfEmpty*/ false); in buildClonedLoopBlocks()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVInstrInfo.h301 analyzeLoopForPipelining(MachineBasicBlock *LoopBB) const override;
H A DRISCVInstrInfo.cpp4860 RISCVInstrInfo::analyzeLoopForPipelining(MachineBasicBlock *LoopBB) const { in analyzeLoopForPipelining()
4863 if (analyzeBranch(*LoopBB, TBB, FBB, Cond, /*AllowModify=*/false)) in analyzeLoopForPipelining()
4867 if (TBB == LoopBB && FBB == LoopBB) in analyzeLoopForPipelining()
4874 assert((TBB == LoopBB || FBB == LoopBB) && in analyzeLoopForPipelining()
4878 if (TBB == LoopBB) in analyzeLoopForPipelining()
4881 const MachineRegisterInfo &MRI = LoopBB->getParent()->getRegInfo(); in analyzeLoopForPipelining()
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonInstrInfo.h135 analyzeLoopForPipelining(MachineBasicBlock *LoopBB) const override;
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMBaseInstrInfo.cpp6763 ARMBaseInstrInfo::analyzeLoopForPipelining(MachineBasicBlock *LoopBB) const { in analyzeLoopForPipelining()
6764 MachineBasicBlock::iterator I = LoopBB->getFirstTerminator(); in analyzeLoopForPipelining()
6765 MachineBasicBlock *Preheader = *LoopBB->pred_begin(); in analyzeLoopForPipelining()
6766 if (Preheader == LoopBB) in analyzeLoopForPipelining()
6767 Preheader = *std::next(LoopBB->pred_begin()); in analyzeLoopForPipelining()
6769 if (I != LoopBB->end() && I->getOpcode() == ARM::t2Bcc) { in analyzeLoopForPipelining()
6775 for (auto &L : LoopBB->instrs()) { in analyzeLoopForPipelining()
6796 if (I != LoopBB->end() && I->getOpcode() == ARM::t2LoopEnd) { in analyzeLoopForPipelining()
6797 for (auto &L : LoopBB->instrs()) in analyzeLoopForPipelining()
6803 MachineRegisterInfo &MRI = LoopBB->getParent()->getRegInfo(); in analyzeLoopForPipelining()

12