• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/PowerPC/

Lines Matching refs:ScratchReg

836   unsigned ScratchReg  = 0;
868 &ScratchReg, &TempReg);
872 SingleScratchReg = ScratchReg == TempReg;
987 BuildMI(MBB, MBBI, dl, MFLRInst, ScratchReg);
1027 .addReg(ScratchReg, getKillRegState(true))
1055 // the negated frame size will be placed in ScratchReg.
1061 BuildMI(MBB, MBBI, dl, TII.get(PPC::RLDICL), ScratchReg)
1066 BuildMI(MBB, MBBI, dl, TII.get(PPC::RLWINM), ScratchReg)
1072 BuildMI(MBB, MBBI, dl, SubtractImmCarryingInst, ScratchReg)
1073 .addReg(ScratchReg, RegState::Kill)
1082 BuildMI(MBB, MBBI, dl, SubtractCarryingInst, ScratchReg)
1083 .addReg(ScratchReg, RegState::Kill)
1090 .addReg(ScratchReg);
1100 BuildMI(MBB, MBBI, dl, LoadImmShiftedInst, ScratchReg)
1102 BuildMI(MBB, MBBI, dl, OrImmInst, ScratchReg)
1103 .addReg(ScratchReg, RegState::Kill)
1108 .addReg(ScratchReg);
1125 // The negated frame size is in ScratchReg, and the SPReg has been
1126 // decremented by the frame size: SPReg = old SPReg + ScratchReg.
1130 // problem is that the only available register may be ScratchReg,
1133 // First, set ScratchReg to the old SP. This may need to be modified
1135 BuildMI(MBB, MBBI, dl, TII.get(PPC::SUBF), ScratchReg)
1136 .addReg(ScratchReg, RegState::Kill)
1139 if (ScratchReg == PPC::R0) {
1146 BuildMI(MBB, MBBI, dl, TII.get(PPC::ADDIC), ScratchReg)
1147 .addReg(ScratchReg)
1154 .addReg(ScratchReg); // This will be the index (R0 is ok here).
1158 BuildMI(MBB, MBBI, dl, TII.get(PPC::ADDIC), ScratchReg)
1159 .addReg(ScratchReg)
1165 .addReg(ScratchReg); // This will be the index (R0 is ok here).
1169 BuildMI(MBB, MBBI, dl, TII.get(PPC::ADDIC), ScratchReg)
1170 .addReg(ScratchReg)
1176 .addReg(ScratchReg); // This will be the index (R0 is ok here).
1179 .addReg(ScratchReg, RegState::Kill)
1183 // ScratchReg is not R0, so use it as the base register. It is
1187 // registers using ScratchReg as the base address.
1192 .addReg(ScratchReg);
1197 .addReg(ScratchReg);
1202 .addReg(ScratchReg);
1204 .addReg(ScratchReg, RegState::Kill)
1205 .addReg(ScratchReg);
1405 unsigned ScratchReg = 0;
1427 bool SingleScratchReg = findScratchRegister(&MBB, true, false, &ScratchReg,
1432 SingleScratchReg = ScratchReg == TempReg;
1550 BuildMI(MBB, MBBI, dl, LoadImmShiftedInst, ScratchReg)
1552 BuildMI(MBB, MBBI, dl, OrImmInst, ScratchReg)
1553 .addReg(ScratchReg, RegState::Kill)
1558 .addReg(ScratchReg);
1576 // We don't want to use ScratchReg as a base register, because it
1579 // If FP is not saved, copy it to ScratchReg.
1581 BuildMI(MBB, MBBI, dl, OrInst, ScratchReg)
1591 assert(RBReg != ScratchReg && "Should have avoided ScratchReg");
1592 // If there is no red zone, ScratchReg may be needed for holding a useful
1602 // Here TempReg == ScratchReg, and in the absence of red zone ScratchReg
1613 // Delay restoring of the LR if ScratchReg is needed. This is ok, since
1614 // LR is stored in the caller's stack frame. ScratchReg will be needed
1615 // if RBReg is anything other than SP. We shouldn't use ScratchReg as
1619 BuildMI(MBB, StackUpdateLoc, dl, LoadInst, ScratchReg)
1636 // restored. Otherwise, restore the value of FP into ScratchReg.
1642 BuildMI(MBB, MBBI, dl, LoadInst, ScratchReg)
1671 assert(RBReg != ScratchReg && "Should be using FP or SP as base register");
1674 .addReg(ScratchReg)
1675 .addReg(ScratchReg);
1679 BuildMI(MBB, MBBI, dl, LoadInst, ScratchReg)
1691 BuildMI(MBB, StackUpdateLoc, dl, MTLRInst).addReg(ScratchReg);
1707 BuildMI(MBB, MBBI, dl, LoadImmShiftedInst, ScratchReg)
1709 BuildMI(MBB, MBBI, dl, OrImmInst, ScratchReg)
1710 .addReg(ScratchReg, RegState::Kill)
1715 .addReg(ScratchReg);