Lines Matching refs:LoopMBB
218 MachineBasicBlock *LoopMBB, in doAtomicBinOpExpansion() argument
233 BuildMI(LoopMBB, DL, TII->get(getLRForRMW(Ordering, Width)), DestReg) in doAtomicBinOpExpansion()
239 BuildMI(LoopMBB, DL, TII->get(RISCV::AND), ScratchReg) in doAtomicBinOpExpansion()
242 BuildMI(LoopMBB, DL, TII->get(RISCV::XORI), ScratchReg) in doAtomicBinOpExpansion()
247 BuildMI(LoopMBB, DL, TII->get(getSCForRMW(Ordering, Width)), ScratchReg) in doAtomicBinOpExpansion()
250 BuildMI(LoopMBB, DL, TII->get(RISCV::BNE)) in doAtomicBinOpExpansion()
253 .addMBB(LoopMBB); in doAtomicBinOpExpansion()
280 MachineBasicBlock *ThisMBB, MachineBasicBlock *LoopMBB, in doMaskedAtomicBinOpExpansion() argument
299 BuildMI(LoopMBB, DL, TII->get(getLRForRMW32(Ordering)), DestReg) in doMaskedAtomicBinOpExpansion()
305 BuildMI(LoopMBB, DL, TII->get(RISCV::ADDI), ScratchReg) in doMaskedAtomicBinOpExpansion()
310 BuildMI(LoopMBB, DL, TII->get(RISCV::ADD), ScratchReg) in doMaskedAtomicBinOpExpansion()
315 BuildMI(LoopMBB, DL, TII->get(RISCV::SUB), ScratchReg) in doMaskedAtomicBinOpExpansion()
320 BuildMI(LoopMBB, DL, TII->get(RISCV::AND), ScratchReg) in doMaskedAtomicBinOpExpansion()
323 BuildMI(LoopMBB, DL, TII->get(RISCV::XORI), ScratchReg) in doMaskedAtomicBinOpExpansion()
329 insertMaskedMerge(TII, DL, LoopMBB, ScratchReg, DestReg, ScratchReg, MaskReg, in doMaskedAtomicBinOpExpansion()
332 BuildMI(LoopMBB, DL, TII->get(getSCForRMW32(Ordering)), ScratchReg) in doMaskedAtomicBinOpExpansion()
335 BuildMI(LoopMBB, DL, TII->get(RISCV::BNE)) in doMaskedAtomicBinOpExpansion()
338 .addMBB(LoopMBB); in doMaskedAtomicBinOpExpansion()
349 auto LoopMBB = MF->CreateMachineBasicBlock(MBB.getBasicBlock()); in expandAtomicBinOp() local
353 MF->insert(++MBB.getIterator(), LoopMBB); in expandAtomicBinOp()
354 MF->insert(++LoopMBB->getIterator(), DoneMBB); in expandAtomicBinOp()
357 LoopMBB->addSuccessor(LoopMBB); in expandAtomicBinOp()
358 LoopMBB->addSuccessor(DoneMBB); in expandAtomicBinOp()
361 MBB.addSuccessor(LoopMBB); in expandAtomicBinOp()
364 doAtomicBinOpExpansion(TII, MI, DL, &MBB, LoopMBB, DoneMBB, BinOp, Width); in expandAtomicBinOp()
366 doMaskedAtomicBinOpExpansion(TII, MI, DL, &MBB, LoopMBB, DoneMBB, BinOp, in expandAtomicBinOp()
373 computeAndAddLiveIns(LiveRegs, *LoopMBB); in expandAtomicBinOp()