LLVM 17.0.0git
Functions
RISCVFrameLowering.cpp File Reference
#include "RISCVFrameLowering.h"
#include "RISCVMachineFunctionInfo.h"
#include "RISCVSubtarget.h"
#include "llvm/BinaryFormat/Dwarf.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"
#include "llvm/Support/LEB128.h"
#include <algorithm>

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 chargetSpillLibCallName (const MachineFunction &MF, const std::vector< CalleeSavedInfo > &CSI)
 
static const chargetRestoreLibCallName (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 MCCFIInstruction createDefCFAExpression (const TargetRegisterInfo &TRI, Register Reg, uint64_t FixedOffset, uint64_t ScalableOffset)
 
static unsigned getScavSlotsNumForRVV (MachineFunction &MF)
 
static bool hasRVVFrameObject (const MachineFunction &MF)
 
static unsigned estimateFunctionSizeInBytes (const MachineFunction &MF, const RISCVInstrInfo &TII)
 

Function Documentation

◆ createDefCFAExpression()

static MCCFIInstruction createDefCFAExpression ( const TargetRegisterInfo TRI,
Register  Reg,
uint64_t  FixedOffset,
uint64_t  ScalableOffset 
)
static

◆ emitSCSEpilogue()

static void emitSCSEpilogue ( MachineFunction MF,
MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI,
const DebugLoc DL 
)
static

◆ emitSCSPrologue()

static void emitSCSPrologue ( MachineFunction MF,
MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI,
const DebugLoc DL 
)
static

◆ estimateFunctionSizeInBytes()

static unsigned estimateFunctionSizeInBytes ( const MachineFunction MF,
const RISCVInstrInfo TII 
)
static

Definition at line 1033 of file RISCVFrameLowering.cpp.

References llvm::MachineFunction::getSubtarget(), MBB, MI, and TII.

◆ getFPReg()

static Register getFPReg ( const RISCVSubtarget STI)
static

Definition at line 292 of file RISCVFrameLowering.cpp.

◆ getLibCallID()

static int getLibCallID ( const MachineFunction MF,
const std::vector< CalleeSavedInfo > &  CSI 
)
static

◆ getNonLibcallCSI()

static SmallVector< CalleeSavedInfo, 8 > getNonLibcallCSI ( const MachineFunction MF,
const std::vector< CalleeSavedInfo > &  CSI 
)
static

◆ getRestoreLibCallName()

static const char * getRestoreLibCallName ( const MachineFunction MF,
const std::vector< CalleeSavedInfo > &  CSI 
)
static

◆ getScavSlotsNumForRVV()

static unsigned getScavSlotsNumForRVV ( MachineFunction MF)
static

◆ getSpillLibCallName()

static const char * getSpillLibCallName ( const MachineFunction MF,
const std::vector< CalleeSavedInfo > &  CSI 
)
static

◆ getSPReg()

static Register getSPReg ( const RISCVSubtarget STI)
static

◆ hasRVVFrameObject()

static bool hasRVVFrameObject ( const MachineFunction MF)
static