LLVM 20.0.0git
|
#include "ARCFrameLowering.h"
#include "ARCMachineFunctionInfo.h"
#include "ARCSubtarget.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/RegisterScavenging.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/IR/Function.h"
#include "llvm/Support/Debug.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "arc-frame-lowering" |
Functions | |
static void | generateStackAdjustment (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, const ARCInstrInfo &TII, DebugLoc dl, int Amount, int StackPtr) |
static unsigned | determineLastCalleeSave (ArrayRef< CalleeSavedInfo > CSI) |
static std::vector< CalleeSavedInfo >::iterator | getSavedReg (std::vector< CalleeSavedInfo > &V, unsigned reg) |
static void | emitRegUpdate (MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI, DebugLoc dl, unsigned Reg, int NumBytes, bool IsAdd, const ARCInstrInfo *TII) |
Variables | |
static cl::opt< bool > | UseSaveRestoreFunclet ("arc-save-restore-funclet", cl::Hidden, cl::desc("Use arc callee save/restore functions"), cl::init(true)) |
static const char * | store_funclet_name [] |
static const char * | load_funclet_name [] |
#define DEBUG_TYPE "arc-frame-lowering" |
Definition at line 23 of file ARCFrameLowering.cpp.
|
static |
Definition at line 77 of file ARCFrameLowering.cpp.
References assert(), and llvm::Last.
Referenced by llvm::ARCFrameLowering::assignCalleeSavedSpillSlots(), llvm::ARCFrameLowering::emitEpilogue(), llvm::ARCFrameLowering::emitPrologue(), llvm::ARCFrameLowering::restoreCalleeSavedRegisters(), and llvm::ARCFrameLowering::spillCalleeSavedRegisters().
|
static |
Definition at line 449 of file ARCFrameLowering.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::RegState::Kill, MBB, MBBI, and TII.
Referenced by llvm::ARCFrameLowering::eliminateCallFramePseudoInstr().
|
static |
Definition at line 44 of file ARCFrameLowering.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::BuildMI(), llvm::dbgs(), LLVM_DEBUG, MBB, MBBI, and TII.
Referenced by llvm::ARCFrameLowering::emitPrologue().
|
static |
Definition at line 336 of file ARCFrameLowering.cpp.
References I.
Referenced by llvm::ARCFrameLowering::assignCalleeSavedSpillSlots().
Definition at line 38 of file ARCFrameLowering.cpp.
Referenced by llvm::ARCFrameLowering::emitEpilogue().
Definition at line 32 of file ARCFrameLowering.cpp.
Referenced by llvm::ARCFrameLowering::emitPrologue().