LLVM  14.0.0git
Functions
M68kFrameLowering.cpp File Reference
#include "M68kFrameLowering.h"
#include "M68kInstrBuilder.h"
#include "M68kInstrInfo.h"
#include "M68kMachineFunction.h"
#include "M68kSubtarget.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Function.h"
#include "llvm/Support/Alignment.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
Include dependency graph for M68kFrameLowering.cpp:

Go to the source code of this file.

Functions

static unsigned findDeadCallerSavedReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI, const M68kRegisterInfo *TRI)
 Return a caller-saved register that isn't live when it reaches the "return" instruction. More...
 
static bool isRegLiveIn (MachineBasicBlock &MBB, unsigned Reg)
 
static bool isTailCallOpcode (unsigned Opc)
 

Detailed Description

This file contains the M68k implementation of TargetFrameLowering class.

Definition in file M68kFrameLowering.cpp.

Function Documentation

◆ findDeadCallerSavedReg()

static unsigned findDeadCallerSavedReg ( MachineBasicBlock MBB,
MachineBasicBlock::iterator MBBI,
const M68kRegisterInfo TRI 
)
static

Return a caller-saved register that isn't live when it reaches the "return" instruction.

We can then pop a stack object to this register without worry about clobbering it.

Definition at line 137 of file M68kFrameLowering.cpp.

References llvm::MachineFunction::callsEHReturn(), llvm::numbers::e, llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), i, llvm::MachineOperand::isDef(), llvm::MachineOperand::isReg(), llvm::MCRegAliasIterator::isValid(), MBB, MBBI, Reg, llvm::ARCISD::RET, TRI, and Uses.

Referenced by llvm::M68kFrameLowering::emitSPUpdate().

◆ isRegLiveIn()

static bool isRegLiveIn ( MachineBasicBlock MBB,
unsigned  Reg 
)
static

◆ isTailCallOpcode()

static bool isTailCallOpcode ( unsigned  Opc)
static

Definition at line 671 of file M68kFrameLowering.cpp.

Referenced by llvm::M68kFrameLowering::emitEpilogue().