LLVM 20.0.0git
Macros | Functions
M68kFrameLowering.cpp File Reference

This file contains the M68k implementation of TargetFrameLowering class. More...

#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"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "m68k-frame"
 

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.
 
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.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "m68k-frame"

Definition at line 36 of 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 139 of file M68kFrameLowering.cpp.

References llvm::MachineFunction::callsEHReturn(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isReg(), llvm::MCRegAliasIterator::isValid(), MBB, MBBI, TRI, and Uses.

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

◆ isRegLiveIn()

static bool isRegLiveIn ( MachineBasicBlock MBB,
unsigned  Reg 
)
static

◆ isTailCallOpcode()

static bool isTailCallOpcode ( unsigned  Opc)
static