Home
last modified time | relevance | path

Searched refs:ScratchReg (Results 1 – 25 of 35) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchExpandAtomicPseudoInsts.cpp169 Register ScratchReg = MI.getOperand(1).getReg(); in doAtomicBinOpExpansion() local
186 BuildMI(LoopMBB, DL, TII->get(LoongArch::OR), ScratchReg) in doAtomicBinOpExpansion()
191 BuildMI(LoopMBB, DL, TII->get(LoongArch::AND), ScratchReg) in doAtomicBinOpExpansion()
194 BuildMI(LoopMBB, DL, TII->get(LoongArch::NOR), ScratchReg) in doAtomicBinOpExpansion()
195 .addReg(ScratchReg) in doAtomicBinOpExpansion()
199 BuildMI(LoopMBB, DL, TII->get(LoongArch::ADD_W), ScratchReg) in doAtomicBinOpExpansion()
204 BuildMI(LoopMBB, DL, TII->get(LoongArch::SUB_W), ScratchReg) in doAtomicBinOpExpansion()
209 BuildMI(LoopMBB, DL, TII->get(LoongArch::AND), ScratchReg) in doAtomicBinOpExpansion()
214 BuildMI(LoopMBB, DL, TII->get(LoongArch::OR), ScratchReg) in doAtomicBinOpExpansion()
219 BuildMI(LoopMBB, DL, TII->get(LoongArch::XOR), ScratchReg) in doAtomicBinOpExpansion()
[all …]
H A DLoongArchRegisterInfo.cpp171 Register ScratchReg = MRI.createVirtualRegister(&LoongArch::GPRRegClass); in eliminateFrameIndex() local
172 BuildMI(MBB, II, DL, TII->get(Addi), ScratchReg) in eliminateFrameIndex()
176 FrameReg = ScratchReg; in eliminateFrameIndex()
186 Register ScratchReg = MRI.createVirtualRegister(&LoongArch::GPRRegClass); in eliminateFrameIndex() local
187 TII->movImm(MBB, II, DL, ScratchReg, Offset.getFixed()); in eliminateFrameIndex()
191 .addReg(ScratchReg, RegState::Kill); in eliminateFrameIndex()
195 BuildMI(MBB, II, DL, TII->get(Add), ScratchReg) in eliminateFrameIndex()
197 .addReg(ScratchReg, RegState::Kill); in eliminateFrameIndex()
199 FrameReg = ScratchReg; in eliminateFrameIndex()
205 Register ScratchReg = MRI.createVirtualRegister(&LoongArch::GPRRegClass); in eliminateFrameIndex() local
[all …]
H A DLoongArchInstrInfo.cpp638 Register ScratchReg = MRI.createVirtualRegister(&LoongArch::GPRRegClass); in insertIndirectBranch() local
642 *BuildMI(MBB, II, DL, get(LoongArch::PCALAU12I), ScratchReg) in insertIndirectBranch()
647 ScratchReg) in insertIndirectBranch()
648 .addReg(ScratchReg) in insertIndirectBranch()
651 .addReg(ScratchReg, RegState::Kill) in insertIndirectBranch()
678 MRI.replaceRegWith(ScratchReg, Scav); in insertIndirectBranch()
H A DLoongArchExpandPseudoInsts.cpp192 Register ScratchReg = in expandPcalau12iInstPair() local
196 BuildMI(MBB, MBBI, DL, TII->get(LoongArch::PCALAU12I), ScratchReg) in expandPcalau12iInstPair()
201 .addReg(ScratchReg) in expandPcalau12iInstPair()
795 Register ScratchReg = IsTailCall ? LoongArch::R20 : LoongArch::R1; in expandFunctionCALL() local
797 BuildMI(MBB, MBBI, DL, TII->get(LoongArch::PCADDU18I), ScratchReg); in expandFunctionCALL()
800 BuildMI(MBB, MBBI, DL, TII->get(Opcode)).addReg(ScratchReg).addImm(0); in expandFunctionCALL()
H A DLoongArchFrameLowering.cpp100 Register ScratchReg = MRI.createVirtualRegister(&LoongArch::GPRRegClass); in adjustReg() local
101 TII->movImm(MBB, MBBI, DL, ScratchReg, Val, Flag); in adjustReg()
104 .addReg(ScratchReg, RegState::Kill) in adjustReg()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVExpandAtomicPseudoInsts.cpp264 Register ScratchReg = MI.getOperand(1).getReg(); in doAtomicBinOpExpansion() local
281 BuildMI(LoopMBB, DL, TII->get(RISCV::AND), ScratchReg) in doAtomicBinOpExpansion()
284 BuildMI(LoopMBB, DL, TII->get(RISCV::XORI), ScratchReg) in doAtomicBinOpExpansion()
285 .addReg(ScratchReg) in doAtomicBinOpExpansion()
289 BuildMI(LoopMBB, DL, TII->get(getSCForRMW(Ordering, Width, STI)), ScratchReg) in doAtomicBinOpExpansion()
291 .addReg(ScratchReg); in doAtomicBinOpExpansion()
293 .addReg(ScratchReg) in doAtomicBinOpExpansion()
301 Register MaskReg, Register ScratchReg) { in insertMaskedMerge() argument
302 assert(OldValReg != ScratchReg && "OldValReg and ScratchReg must be unique"); in insertMaskedMerge()
304 assert(ScratchReg != MaskReg && "ScratchReg and MaskReg must be unique"); in insertMaskedMerge()
[all …]
H A DRISCVRegisterInfo.cpp236 Register ScratchReg = DestReg; in adjustReg() local
238 ScratchReg = MRI.createVirtualRegister(&RISCV::GPRRegClass); in adjustReg()
255 ScratchReg) in adjustReg()
260 .addReg(ScratchReg, RegState::Kill) in adjustReg()
265 ScratchReg) in adjustReg()
269 BuildMI(MBB, II, DL, TII->get(RISCV::PseudoReadVLENB), ScratchReg) in adjustReg()
278 .addReg(ScratchReg, RegState::Kill) in adjustReg()
282 TII->mulImm(MF, MBB, II, DL, ScratchReg, NumOfVReg, Flag); in adjustReg()
285 .addReg(ScratchReg, RegState::Kill) in adjustReg()
368 Register ScratchReg = MRI.createVirtualRegister(&RISCV::GPRRegClass); in adjustReg() local
[all …]
H A DRISCVExpandPseudoInsts.cpp570 Register ScratchReg = in expandAuipcInstPair() local
578 BuildMI(MBB, MBBI, DL, TII->get(RISCV::AUIPC), ScratchReg).add(Symbol); in expandAuipcInstPair()
583 .addReg(ScratchReg) in expandAuipcInstPair()
636 Register ScratchReg = in expandLoadTLSDescAddress() local
644 BuildMI(MBB, MBBI, DL, TII->get(RISCV::AUIPC), ScratchReg).add(Symbol); in expandLoadTLSDescAddress()
648 .addReg(ScratchReg) in expandLoadTLSDescAddress()
652 .addReg(ScratchReg) in expandLoadTLSDescAddress()
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCFrameLowering.cpp657 Register ScratchReg; in emitPrologue() local
690 &MBB, false, twoUniqueScratchRegsRequired(&MBB), &ScratchReg, &TempReg); in emitPrologue()
694 SingleScratchReg = ScratchReg == TempReg; in emitPrologue()
818 BuildMI(MBB, MBBI, dl, MFLRInst, ScratchReg); in emitPrologue()
847 .addReg(ScratchReg, getKillRegState(!HasROPProtect)) in emitPrologue()
865 .addReg(ScratchReg, getKillRegState(true)) in emitPrologue()
927 .addDef(ScratchReg) // ScratchReg stores the old sp. in emitPrologue()
933 BuildMI(MBB, MBBI, dl, TII.get(PPC::SUBF), ScratchReg) in emitPrologue()
934 .addReg(ScratchReg) in emitPrologue()
941 BuildMI(MBB, MBBI, dl, TII.get(PPC::RLDICL), ScratchReg) in emitPrologue()
[all …]
H A DPPCAsmPrinter.cpp574 Register ScratchReg = MI.getOperand(Opers.getNextScratchIdx()).getReg(); in LowerPATCHPOINT() local
578 .addReg(ScratchReg) in LowerPATCHPOINT()
582 .addReg(ScratchReg) in LowerPATCHPOINT()
583 .addReg(ScratchReg) in LowerPATCHPOINT()
587 .addReg(ScratchReg) in LowerPATCHPOINT()
588 .addReg(ScratchReg) in LowerPATCHPOINT()
592 .addReg(ScratchReg) in LowerPATCHPOINT()
593 .addReg(ScratchReg) in LowerPATCHPOINT()
613 .addReg(ScratchReg)); in LowerPATCHPOINT()
616 .addReg(ScratchReg) in LowerPATCHPOINT()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/BPF/
H A DBPFInstrInfo.cpp51 Register ScratchReg = MI->getOperand(4).getReg(); in expandMEMCPY() local
80 .addReg(ScratchReg, RegState::Define).addReg(SrcReg) in expandMEMCPY()
83 .addReg(ScratchReg, RegState::Kill).addReg(DstReg) in expandMEMCPY()
94 .addReg(ScratchReg, RegState::Define).addReg(SrcReg).addImm(Offset); in expandMEMCPY()
96 .addReg(ScratchReg, RegState::Kill).addReg(DstReg).addImm(Offset); in expandMEMCPY()
101 .addReg(ScratchReg, RegState::Define).addReg(SrcReg).addImm(Offset); in expandMEMCPY()
103 .addReg(ScratchReg, RegState::Kill).addReg(DstReg).addImm(Offset); in expandMEMCPY()
108 .addReg(ScratchReg, RegState::Define).addReg(SrcReg).addImm(Offset); in expandMEMCPY()
110 .addReg(ScratchReg, RegState::Kill).addReg(DstReg).addImm(Offset); in expandMEMCPY()
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZRegisterInfo.cpp347 Register ScratchReg = in eliminateFrameIndex() local
355 TII->loadImmediate(MBB, MI, ScratchReg, HighOffset); in eliminateFrameIndex()
357 MI->getOperand(FIOperandNum + 2).ChangeToRegister(ScratchReg, in eliminateFrameIndex()
363 BuildMI(MBB, MI, DL, TII->get(LAOpcode),ScratchReg) in eliminateFrameIndex()
368 TII->loadImmediate(MBB, MI, ScratchReg, HighOffset); in eliminateFrameIndex()
369 BuildMI(MBB, MI, DL, TII->get(SystemZ::LA), ScratchReg) in eliminateFrameIndex()
370 .addReg(BasePtr, RegState::Kill).addImm(0).addReg(ScratchReg); in eliminateFrameIndex()
374 MI->getOperand(FIOperandNum).ChangeToRegister(ScratchReg, in eliminateFrameIndex()
H A DSystemZAsmPrinter.cpp857 unsigned ScratchReg = 0; in LowerPATCHPOINT() local
860 ScratchReg = MI.getOperand(ScratchIdx).getReg(); in LowerPATCHPOINT()
861 } while (ScratchReg == SystemZ::R0D); in LowerPATCHPOINT()
865 .addReg(ScratchReg) in LowerPATCHPOINT()
870 .addReg(ScratchReg) in LowerPATCHPOINT()
877 .addReg(ScratchReg)); in LowerPATCHPOINT()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64FalkorHWPFFix.cpp743 for (unsigned ScratchReg : AArch64::GPR64RegClass) { in runOnLoop() local
744 if (!LR.available(ScratchReg) || MRI.isReserved(ScratchReg)) in runOnLoop()
748 NewLdI.BaseReg = ScratchReg; in runOnLoop()
755 << printReg(ScratchReg, TRI) << '\n'); in runOnLoop()
763 BuildMI(*MBB, &MI, DL, TII->get(AArch64::ORRXrs), ScratchReg) in runOnLoop()
768 BaseOpnd.setReg(ScratchReg); in runOnLoop()
774 << printReg(ScratchReg, TRI) << '\n'); in runOnLoop()
776 ScratchReg); // Change tied operand pre/post update dest. in runOnLoop()
780 .addReg(ScratchReg) in runOnLoop()
H A DAArch64RegisterInfo.cpp935 Register ScratchReg; in createScratchRegisterForInstruction() local
942 ScratchReg = MI.getOperand(1).getReg(); in createScratchRegisterForInstruction()
943 MI.getOperand(3).ChangeToRegister(ScratchReg, false, false, true); in createScratchRegisterForInstruction()
947 ScratchReg = in createScratchRegisterForInstruction()
950 .ChangeToRegister(ScratchReg, false, false, true); in createScratchRegisterForInstruction()
952 return ScratchReg; in createScratchRegisterForInstruction()
1039 Register ScratchReg = in eliminateFrameIndex() local
1041 emitFrameOffset(MBB, II, MI.getDebugLoc(), ScratchReg, FrameReg, Offset, in eliminateFrameIndex()
1043 BuildMI(MBB, MI, MI.getDebugLoc(), TII->get(AArch64::LDG), ScratchReg) in eliminateFrameIndex()
1044 .addReg(ScratchReg) in eliminateFrameIndex()
[all …]
H A DAArch64AsmPrinter.cpp162 Register ScratchReg,
197 Register ScratchReg,
1462 Register ScratchReg = MI.getOperand(1).getReg(); in LowerJumpTableDest() local
1464 STI->getRegisterInfo()->getSubReg(ScratchReg, AArch64::sub_32); in LowerJumpTableDest()
1499 .addReg(Size == 4 ? ScratchReg : ScratchRegW) in LowerJumpTableDest()
1510 .addReg(ScratchReg) in LowerJumpTableDest()
1706 Register ScratchReg = MI.getOperand(Opers.getNextScratchIdx()).getReg(); in LowerPATCHPOINT() local
1709 emitMOVZ(ScratchReg, (CallTarget >> 32) & 0xFFFF, 32); in LowerPATCHPOINT()
1710 emitMOVK(ScratchReg, (CallTarget >> 16) & 0xFFFF, 16); in LowerPATCHPOINT()
1711 emitMOVK(ScratchReg, CallTarget & 0xFFFF, 0); in LowerPATCHPOINT()
[all …]
H A DAArch64FrameLowering.h189 Register ScratchReg, int64_t FrameSize,
H A DAArch64FrameLowering.cpp644 Register ScratchReg = in eliminateCallFramePseudoInstr() local
646 inlineStackProbeFixed(I, ScratchReg, -Amount, StackOffset::get(0, 0)); in eliminateCallFramePseudoInstr()
860 Register ScratchReg = findScratchNonCalleeSaveRegister(&MBB); in allocateStackSpace() local
861 assert(ScratchReg != AArch64::NoRegister); in allocateStackSpace()
863 .addDef(ScratchReg) in allocateStackSpace()
889 Register ScratchReg = RealignmentPadding in allocateStackSpace() local
892 assert(ScratchReg != AArch64::NoRegister); in allocateStackSpace()
894 emitFrameOffset(MBB, MBBI, DL, ScratchReg, AArch64::SP, -AllocSize, &TII, in allocateStackSpace()
900 .addReg(ScratchReg, RegState::Kill) in allocateStackSpace()
4893 Register ScratchReg = MRI->createVirtualRegister(&AArch64::GPR64RegClass); in emitUnrolled() local
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/
H A DCSKYRegisterInfo.cpp268 Register ScratchReg = TII->movImm(MBB, NewII, DL, Offset); in eliminateFrameIndex() local
270 TII->get(STI.hasE2() ? CSKY::ADDU32 : CSKY::ADDU16XZ), ScratchReg) in eliminateFrameIndex()
271 .addReg(ScratchReg, RegState::Kill) in eliminateFrameIndex()
275 FrameReg = ScratchReg; in eliminateFrameIndex()
H A DCSKYFrameLowering.cpp572 Register ScratchReg = TII->movImm(MBB, MBBI, DL, std::abs(Val), Flag); in adjustReg() local
576 .addReg(ScratchReg, RegState::Kill) in adjustReg()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMBaseRegisterInfo.cpp877 unsigned ScratchReg = 0; in eliminateFrameIndex() local
891 ScratchReg = MF.getRegInfo().createVirtualRegister(RegClass); in eliminateFrameIndex()
893 emitARMRegPlusImmediate(MBB, II, MI.getDebugLoc(), ScratchReg, FrameReg, in eliminateFrameIndex()
897 emitT2RegPlusImmediate(MBB, II, MI.getDebugLoc(), ScratchReg, FrameReg, in eliminateFrameIndex()
901 MI.getOperand(FIOperandNum).ChangeToRegister(ScratchReg, false, false,true); in eliminateFrameIndex()
H A DThumb1FrameLowering.cpp68 unsigned ScratchReg, unsigned MIFlags) { in emitPrologueEpilogueSPUpdate() argument
76 if (ScratchReg == ARM::NoRegister) in emitPrologueEpilogueSPUpdate()
82 BuildMI(MBB, MBBI, dl, TII.get(XOInstr), ScratchReg) in emitPrologueEpilogueSPUpdate()
85 MRI.emitLoadConstPool(MBB, MBBI, dl, ScratchReg, 0, NumBytes, ARMCC::AL, in emitPrologueEpilogueSPUpdate()
90 .addReg(ScratchReg, RegState::Kill) in emitPrologueEpilogueSPUpdate()
H A DARMAsmPrinter.cpp2196 Register ScratchReg = MI->getOperand(1).getReg(); in emitInstruction() local
2206 .addReg(ScratchReg) in emitInstruction()
2246 .addReg(ScratchReg) in emitInstruction()
2259 Register ScratchReg = MI->getOperand(1).getReg(); in emitInstruction() local
2265 .addReg(ScratchReg) in emitInstruction()
2276 .addReg(ScratchReg) in emitInstruction()
2282 .addReg(ScratchReg) in emitInstruction()
2318 .addReg(ScratchReg) in emitInstruction()
/freebsd/contrib/llvm-project/llvm/lib/Target/Xtensa/
H A DXtensaInstrInfo.cpp502 Register ScratchReg = MRI.createVirtualRegister(&Xtensa::ARRegClass); in insertIndirectBranch() local
507 MachineInstr &L32R = *BuildMI(MBB, II, DL, get(Xtensa::L32R), ScratchReg); in insertIndirectBranch()
508 BuildMI(MBB, II, DL, get(Xtensa::JX)).addReg(ScratchReg, RegState::Kill); in insertIndirectBranch()
547 MRI.replaceRegWith(ScratchReg, ScavRegister); in insertIndirectBranch()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86FrameLowering.cpp3279 unsigned ScratchReg = GetScratchRegister(Is64Bit, IsLP64, MF, true); in adjustForSegmentedStacks() local
3280 assert(!MF.getRegInfo().isLiveIn(ScratchReg) && in adjustForSegmentedStacks()
3347 ScratchReg = IsLP64 ? X86::RSP : X86::ESP; in adjustForSegmentedStacks()
3350 ScratchReg) in adjustForSegmentedStacks()
3358 .addReg(ScratchReg) in adjustForSegmentedStacks()
3384 ScratchReg = X86::ESP; in adjustForSegmentedStacks()
3386 BuildMI(checkMBB, DL, TII.get(X86::LEA32r), ScratchReg) in adjustForSegmentedStacks()
3396 .addReg(ScratchReg) in adjustForSegmentedStacks()
3431 .addReg(ScratchReg) in adjustForSegmentedStacks()
3664 unsigned ScratchReg, SPReg, PReg, SPLimitOffset; in adjustForHiPEPrologue() local
[all …]

12