Lines Matching full:loongarch
1 //===-- LoongArchFrameLowering.cpp - LoongArch Frame Information -*- C++ -*-==//
9 // This file contains the LoongArch implementation of TargetFrameLowering class.
28 #define DEBUG_TYPE "loongarch-frame-lowering"
57 unsigned Addi = IsLA64 ? LoongArch::ADDI_D : LoongArch::ADDI_W; in adjustReg()
93 unsigned Opc = IsLA64 ? LoongArch::ADD_D : LoongArch::ADD_W; in adjustReg()
96 Opc = IsLA64 ? LoongArch::SUB_D : LoongArch::SUB_W; in adjustReg()
100 Register ScratchReg = MRI.createVirtualRegister(&LoongArch::GPRRegClass); in adjustReg()
136 if (MI.getOpcode() == LoongArch::PseudoST_CFR) in needScavSlotForCFR()
144 const TargetRegisterClass &RC = LoongArch::GPRRegClass; in processFunctionBeforeFrameFinalized()
189 Register SPReg = LoongArch::R3; in emitPrologue()
190 Register FPReg = LoongArch::R22; in emitPrologue()
284 TII->get(IsLA64 ? LoongArch::BSTRINS_D : LoongArch::BSTRINS_W), in emitPrologue()
287 .addReg(LoongArch::R0) in emitPrologue()
296 BuildMI(MBB, MBBI, DL, TII->get(LoongArch::OR), in emitPrologue()
299 .addReg(LoongArch::R0) in emitPrologue()
311 Register SPReg = LoongArch::R3; in emitEpilogue()
331 adjustReg(MBB, LastFrameDestroy, DL, SPReg, LoongArch::R22, in emitEpilogue()
384 SavedRegs.set(LoongArch::R1); in determineCalleeSaves()
385 SavedRegs.set(LoongArch::R22); in determineCalleeSaves()
405 Register SPReg = LoongArch::R3; in eliminateCallFramePseudoInstr()
420 if (MI->getOpcode() == LoongArch::ADJCALLSTACKDOWN) in eliminateCallFramePseudoInstr()
445 !(Reg == LoongArch::R1 && MF->getFrameInfo().isReturnAddressTaken()); in spillCalleeSavedRegisters()
478 FrameReg = LoongArch::R3; in getFrameIndexReference()
487 FrameReg = hasBP(MF) ? LoongArchABI::getBPReg() : LoongArch::R3; in getFrameIndexReference()