LLVM 20.0.0git
|
Define some predicates that are used for node matching. More...
Enumerations | |
enum | PartialMappingIdx { PMI_GPR , PMI_Min = PMI_GPR } |
enum | ValueMappingIdx { InvalidIdx = 0 , GPR3OpsIdx = 1 } |
enum | CondCode { COND_T = 0 , COND_F = 1 , COND_HI = 2 , COND_LS = 3 , COND_CC = 4 , COND_CS = 5 , COND_NE = 6 , COND_EQ = 7 , COND_VC = 8 , COND_VS = 9 , COND_PL = 10 , COND_MI = 11 , COND_GE = 12 , COND_LT = 13 , COND_GT = 14 , COND_LE = 15 , LAST_VALID_COND = COND_LE , COND_INVALID } |
enum | { MemDisp = 0 , MemBase = 1 , MemIndex = 2 , MemOuter = 3 } |
Enums for memory operand decoding. More... | |
enum | { PCRelDisp = 0 , PCRelIndex = 1 , PCRelOuter = 2 } |
Enums for pc-relative memory operand decoding. More... | |
enum class | MemAddrModeKind : unsigned { j = 1 , o , e , p , f , F , g , G , u , U , v , V , b , B , q , k , K , l , L , x , X , y , Y } |
Functions | |
static const MachineInstrBuilder & | addOffset (const MachineInstrBuilder &MIB, int Offset) |
static const MachineInstrBuilder & | addRegIndirectWithDisp (const MachineInstrBuilder &MIB, Register Reg, bool IsKill, int Offset) |
addRegIndirectWithDisp - This function is used to add a memory reference of the form (Offset, Base), i.e., one with no scale or index, but with a displacement. | |
static const MachineInstrBuilder & | addFrameReference (const MachineInstrBuilder &MIB, int FI, int Offset=0) |
addFrameReference - This function is used to add a reference to the base of an abstract object on the stack frame of the current function. | |
static const MachineInstrBuilder & | addMemOperand (const MachineInstrBuilder &MIB, int FI, int Offset=0) |
static M68k::CondCode | GetOppositeBranchCondition (M68k::CondCode CC) |
static unsigned | GetCondBranchFromCond (M68k::CondCode CC) |
static M68k::CondCode | GetCondFromBranchOpc (unsigned Opcode) |
static unsigned | IsCMP (unsigned Op) |
static bool | IsSETCC (unsigned SETCC) |
bool | isCalleePop (CallingConv::ID CallingConv, bool IsVarArg, bool GuaranteeTCO) |
Determines whether the callee is required to pop its own arguments. | |
template<typename value_t > | |
value_t | swapWord (value_t Val) |
const uint8_t * | getMCInstrBeads (unsigned) |
Variables | |
const RegisterBankInfo::PartialMapping | PartMappings [] |
const RegisterBankInfo::ValueMapping | ValueMappings [] |
Define some predicates that are used for node matching.
anonymous enum |
Enums for memory operand decoding.
Supports these forms: (d,An) (d,An,Xn) ([bd,An],Xn,od) ([bd,An,Xn],od) TODO Implement scaling other than 1
Enumerator | |
---|---|
MemDisp | |
MemBase | |
MemIndex | |
MemOuter |
Definition at line 42 of file M68kBaseInfo.h.
anonymous enum |
Enums for pc-relative memory operand decoding.
Supports these forms: (d,PC) (d,PC,Xn) ([bd,PC],Xn,od) ([bd,PC,Xn],od)
Enumerator | |
---|---|
PCRelDisp | |
PCRelIndex | |
PCRelOuter |
Definition at line 49 of file M68kBaseInfo.h.
enum llvm::M68k::CondCode |
Enumerator | |
---|---|
COND_T | |
COND_F | |
COND_HI | |
COND_LS | |
COND_CC | |
COND_CS | |
COND_NE | |
COND_EQ | |
COND_VC | |
COND_VS | |
COND_PL | |
COND_MI | |
COND_GE | |
COND_LT | |
COND_GT | |
COND_LE | |
LAST_VALID_COND | |
COND_INVALID |
Definition at line 34 of file M68kInstrInfo.h.
|
strong |
Enumerator | |
---|---|
j | |
o | |
e | |
p | |
f | |
F | |
g | |
G | |
u | |
U | |
v | |
V | |
b | |
B | |
q | |
k | |
K | |
l | |
L | |
x | |
X | |
y | |
Y |
Definition at line 51 of file M68kBaseInfo.h.
Enumerator | |
---|---|
PMI_GPR | |
PMI_Min |
Definition at line 31 of file M68kRegisterBankInfo.cpp.
Enumerator | |
---|---|
InvalidIdx | |
GPR3OpsIdx |
Definition at line 41 of file M68kRegisterBankInfo.cpp.
|
inlinestatic |
addFrameReference - This function is used to add a reference to the base of an abstract object on the stack frame of the current function.
This reference has base register as the FrameIndex offset until it is resolved. This allows a constant offset to be specified as well...
Definition at line 59 of file M68kInstrBuilder.h.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), llvm::MCInstrDesc::mayLoad(), llvm::MCInstrDesc::mayStore(), MI, llvm::MachineMemOperand::MOLoad, llvm::MachineMemOperand::MONone, llvm::MachineMemOperand::MOStore, and llvm::Offset.
Referenced by llvm::M68kInstrInfo::loadRegFromStackSlot(), llvm::M68kFrameLowering::restoreCalleeSavedRegisters(), llvm::M68kFrameLowering::spillCalleeSavedRegisters(), and llvm::M68kInstrInfo::storeRegToStackSlot().
|
inlinestatic |
Definition at line 76 of file M68kInstrBuilder.h.
References llvm::MachineInstrBuilder::addMemOperand(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), llvm::MCInstrDesc::mayLoad(), llvm::MCInstrDesc::mayStore(), MI, llvm::MachineMemOperand::MOLoad, llvm::MachineMemOperand::MONone, llvm::MachineMemOperand::MOStore, and llvm::Offset.
Referenced by llvm::M68kFrameLowering::restoreCalleeSavedRegisters(), and llvm::M68kFrameLowering::spillCalleeSavedRegisters().
|
inlinestatic |
Definition at line 41 of file M68kInstrBuilder.h.
References llvm::MachineInstrBuilder::addImm(), and llvm::Offset.
|
inlinestatic |
addRegIndirectWithDisp - This function is used to add a memory reference of the form (Offset, Base), i.e., one with no scale or index, but with a displacement.
An example is: (4,D0).
Definition at line 49 of file M68kInstrBuilder.h.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::getKillRegState(), llvm::Offset, and Reg.
Referenced by llvm::M68kFrameLowering::emitEpilogue(), and llvm::M68kFrameLowering::emitPrologue().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
bool llvm::M68k::isCalleePop | ( | CallingConv::ID | CC, |
bool | IsVarArg, | ||
bool | GuaranteeTCO | ||
) |
Determines whether the callee is required to pop its own arguments.
Callee pop is necessary to support tail calls.
Definition at line 3047 of file M68kISelLowering.cpp.
References CC, and llvm::CallingConv::M68k_RTD.
Definition at line 167 of file M68kInstrInfo.h.
Definition at line 185 of file M68kInstrInfo.h.
Referenced by isAndOrOfSetCCs().
value_t llvm::M68k::swapWord | ( | value_t | Val | ) |
Definition at line 81 of file M68kBaseInfo.h.
References llvm::big, llvm::support::endian::byte_swap(), and U.
const RegisterBankInfo::PartialMapping llvm::M68k::PartMappings[] |
Definition at line 36 of file M68kRegisterBankInfo.cpp.
const RegisterBankInfo::ValueMapping llvm::M68k::ValueMappings[] |
Definition at line 46 of file M68kRegisterBankInfo.cpp.
Referenced by llvm::M68kRegisterBankInfo::getInstrMapping().