LLVM  8.0.1
Macros | Functions | Variables
ARCFrameLowering.cpp File Reference
#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"
Include dependency graph for ARCFrameLowering.cpp:

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 (const std::vector< 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< boolUseSaveRestoreFunclet ("arc-save-restore-funclet", cl::Hidden, cl::desc("Use arc callee save/restore functions"), cl::init(true))
 
static const charstore_funclet_name []
 
static const charload_funclet_name []
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "arc-frame-lowering"

Definition at line 24 of file ARCFrameLowering.cpp.

Function Documentation

◆ determineLastCalleeSave()

static unsigned determineLastCalleeSave ( const std::vector< CalleeSavedInfo > &  CSI)
static

◆ emitRegUpdate()

static void emitRegUpdate ( MachineBasicBlock MBB,
MachineBasicBlock::iterator MBBI,
DebugLoc  dl,
unsigned  Reg,
int  NumBytes,
bool  IsAdd,
const ARCInstrInfo TII 
)
static

◆ generateStackAdjustment()

static void generateStackAdjustment ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MBBI,
const ARCInstrInfo TII,
DebugLoc  dl,
int  Amount,
int  StackPtr 
)
static

◆ getSavedReg()

static std::vector<CalleeSavedInfo>::iterator getSavedReg ( std::vector< CalleeSavedInfo > &  V,
unsigned  reg 
)
static

Definition at line 316 of file ARCFrameLowering.cpp.

References E, and I.

Referenced by llvm::ARCFrameLowering::assignCalleeSavedSpillSlots().

Variable Documentation

◆ load_funclet_name

const char* load_funclet_name[]
static
Initial value:
= {
"__ld_r13_to_r15", "__ld_r13_to_r16", "__ld_r13_to_r17", "__ld_r13_to_r18",
"__ld_r13_to_r19", "__ld_r13_to_r20", "__ld_r13_to_r21", "__ld_r13_to_r22",
"__ld_r13_to_r23", "__ld_r13_to_r24", "__ld_r13_to_r25",
}

Definition at line 39 of file ARCFrameLowering.cpp.

◆ store_funclet_name

const char* store_funclet_name[]
static
Initial value:
= {
"__st_r13_to_r15", "__st_r13_to_r16", "__st_r13_to_r17", "__st_r13_to_r18",
"__st_r13_to_r19", "__st_r13_to_r20", "__st_r13_to_r21", "__st_r13_to_r22",
"__st_r13_to_r23", "__st_r13_to_r24", "__st_r13_to_r25",
}

Definition at line 33 of file ARCFrameLowering.cpp.

◆ UseSaveRestoreFunclet

cl::opt<bool> UseSaveRestoreFunclet("arc-save-restore-funclet", cl::Hidden, cl::desc("Use arc callee save/restore functions"), cl::init(true))
static