| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LowerVectorIntrinsics.cpp | 27 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 D | LowerMemIntrinsics.cpp | 62 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 D | AVRShiftExpand.cpp | 90 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 D | AVRISelLowering.cpp | 1779 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 D | AMDGPUCtorDtorLowering.cpp | 77 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 D | SIISelLowering.cpp | 4578 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 D | SIInstrInfo.cpp | 6569 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 D | AMDGPURegisterBankInfo.cpp | 815 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 D | BranchProbabilityInfo.cpp | 690 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 D | NVPTXCtorDtorLowering.cpp | 101 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 D | MSP430ISelLowering.cpp | 1328 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 D | AArch64ExpandPseudoInsts.cpp | 713 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 D | AArch64InstrInfo.cpp | 10404 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 D | AtomicExpandPass.cpp | 1106 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 D | MachineBlockPlacement.cpp | 2676 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 D | ModuloSchedule.cpp | 56 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 D | MachinePipeliner.cpp | 923 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 D | BranchProbabilityInfo.h | 399 bool updateEstimatedBlockWeight(LoopBlock &LoopBB, uint32_t BBWeight, 405 void propagateEstimatedBlockWeight(const LoopBlock &LoopBB, DominatorTree *DT,
|
| /freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
| H A D | CGNonTrivialStruct.cpp | 397 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 D | CGExprCXX.cpp | 1260 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 D | SimpleLoopUnswitch.cpp | 1209 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 D | RISCVInstrInfo.h | 301 analyzeLoopForPipelining(MachineBasicBlock *LoopBB) const override;
|
| H A D | RISCVInstrInfo.cpp | 4860 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 D | HexagonInstrInfo.h | 135 analyzeLoopForPipelining(MachineBasicBlock *LoopBB) const override;
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMBaseInstrInfo.cpp | 6763 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()
|