LLVM: lib/Target/M68k/M68kFrameLowering.cpp File Reference (original) (raw)

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

#include "[M68kFrameLowering.h](M68kFrameLowering%5F8h%5Fsource.html)"
#include "[M68kInstrBuilder.h](M68kInstrBuilder%5F8h%5Fsource.html)"
#include "[M68kInstrInfo.h](M68kInstrInfo%5F8h%5Fsource.html)"
#include "[M68kMachineFunction.h](M68kMachineFunction%5F8h%5Fsource.html)"
#include "[M68kSubtarget.h](M68kSubtarget%5F8h%5Fsource.html)"
#include "[llvm/ADT/SmallSet.h](SmallSet%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineFrameInfo.h](MachineFrameInfo%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineFunction.h](MachineFunction%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineInstrBuilder.h](MachineInstrBuilder%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineModuleInfo.h](MachineModuleInfo%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineRegisterInfo.h](MachineRegisterInfo%5F8h%5Fsource.html)"
#include "[llvm/IR/DataLayout.h](DataLayout%5F8h%5Fsource.html)"
#include "[llvm/IR/Function.h](IR%5F2Function%5F8h%5Fsource.html)"
#include "[llvm/Support/Alignment.h](Alignment%5F8h%5Fsource.html)"
#include "[llvm/Support/CommandLine.h](CommandLine%5F8h%5Fsource.html)"
#include "[llvm/Target/TargetMachine.h](llvm%5F2Target%5F2TargetMachine%5F8h%5Fsource.html)"
#include "[llvm/Target/TargetOptions.h](TargetOptions%5F8h%5Fsource.html)"

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()

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::MachineOperand::getReg(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isReg(), llvm::MCRegAliasIterator::isValid(), MBB, MBBI, Reg, TRI, and Uses.

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

isRegLiveIn()

bool isRegLiveIn ( MachineBasicBlock & MBB, unsigned Reg ) static

Definition at line 178 of file M68kFrameLowering.cpp.

References llvm::any_of(), MBB, and Reg.

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

isTailCallOpcode()

bool isTailCallOpcode ( unsigned Opc) static

Definition at line 664 of file M68kFrameLowering.cpp.

References Opc.

Referenced by llvm::M68kFrameLowering::emitEpilogue(), and llvm::X86FrameLowering::emitEpilogue().