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