LLVM
15.0.0git
|
#include "RISCVFrameLowering.h"
#include "RISCVMachineFunctionInfo.h"
#include "RISCVSubtarget.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/RegisterScavenging.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/MC/MCDwarf.h"
Go to the source code of this file.
Functions | |
static void | emitSCSPrologue (MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, const DebugLoc &DL) |
static void | emitSCSEpilogue (MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, const DebugLoc &DL) |
static int | getLibCallID (const MachineFunction &MF, const std::vector< CalleeSavedInfo > &CSI) |
static const char * | getSpillLibCallName (const MachineFunction &MF, const std::vector< CalleeSavedInfo > &CSI) |
static const char * | getRestoreLibCallName (const MachineFunction &MF, const std::vector< CalleeSavedInfo > &CSI) |
static Register | getFPReg (const RISCVSubtarget &STI) |
static Register | getSPReg (const RISCVSubtarget &STI) |
static SmallVector< CalleeSavedInfo, 8 > | getNonLibcallCSI (const MachineFunction &MF, const std::vector< CalleeSavedInfo > &CSI) |
static bool | hasRVVSpillWithFIs (MachineFunction &MF, const RISCVInstrInfo &TII) |
static bool | hasRVVFrameObject (const MachineFunction &MF) |
|
static |
Definition at line 79 of file RISCVFrameLowering.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::RegState::Define, llvm::LLVMContext::diagnose(), DL, llvm::MachineInstr::FrameDestroy, llvm::MachineFrameInfo::getCalleeSavedInfo(), llvm::Function::getContext(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getInfo(), llvm::RISCVABI::getSCSPReg(), llvm::MachineFunction::getSubtarget(), llvm::Function::hasFnAttribute(), llvm::ARM_MB::LD, MBB, MI, llvm::none_of(), llvm::MachineInstrBuilder::setMIFlag(), and TII.
Referenced by llvm::RISCVFrameLowering::emitEpilogue().
|
static |
Definition at line 28 of file RISCVFrameLowering.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::RegState::Define, llvm::LLVMContext::diagnose(), DL, llvm::MachineInstr::FrameSetup, llvm::MachineFrameInfo::getCalleeSavedInfo(), llvm::Function::getContext(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getInfo(), llvm::RISCVABI::getSCSPReg(), llvm::MachineFunction::getSubtarget(), llvm::Function::hasFnAttribute(), MBB, MI, llvm::none_of(), llvm::MachineInstrBuilder::setMIFlag(), and TII.
Referenced by llvm::RISCVFrameLowering::emitPrologue().
|
static |
Definition at line 301 of file RISCVFrameLowering.cpp.
Referenced by llvm::RISCVFrameLowering::emitEpilogue(), and llvm::RISCVFrameLowering::emitPrologue().
|
static |
Definition at line 133 of file RISCVFrameLowering.cpp.
References llvm::MachineFunction::getInfo(), llvm::Register::id(), llvm_unreachable, and llvm::max().
Referenced by llvm::RISCVFrameLowering::emitPrologue(), getRestoreLibCallName(), and getSpillLibCallName().
|
static |
Definition at line 307 of file RISCVFrameLowering.cpp.
References llvm::TargetStackID::Default, llvm::MachineFunction::getFrameInfo(), and llvm::MachineFrameInfo::getStackID().
Referenced by llvm::RISCVFrameLowering::emitEpilogue(), llvm::RISCVFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::getFrameIndexReference(), llvm::RISCVFrameLowering::restoreCalleeSavedRegisters(), and llvm::RISCVFrameLowering::spillCalleeSavedRegisters().
|
static |
Definition at line 199 of file RISCVFrameLowering.cpp.
References getLibCallID().
Referenced by llvm::RISCVFrameLowering::restoreCalleeSavedRegisters().
|
static |
Definition at line 172 of file RISCVFrameLowering.cpp.
References getLibCallID().
Referenced by llvm::RISCVFrameLowering::spillCalleeSavedRegisters().
|
static |
Definition at line 304 of file RISCVFrameLowering.cpp.
Referenced by llvm::RISCVFrameLowering::emitEpilogue(), and llvm::RISCVFrameLowering::emitPrologue().
|
static |
Definition at line 954 of file RISCVFrameLowering.cpp.
References llvm::MachineFunction::getSubtarget().
Referenced by llvm::RISCVFrameLowering::hasReservedCallFrame().
|
static |
Definition at line 886 of file RISCVFrameLowering.cpp.
References llvm::any_of(), llvm::MachineFunction::getSubtarget(), llvm::RISCVSubtarget::hasVInstructions(), MBB, MI, and TII.
Referenced by llvm::RISCVFrameLowering::processFunctionBeforeFrameFinalized().