forked from OSchip/llvm-project
parent
81bf0e81e0
commit
91318df0cc
|
@ -58,6 +58,7 @@ static SDValue GetGlobalReg(SelectionDAG &DAG, EVT Ty) {
|
|||
const char *MipsTargetLowering::getTargetNodeName(unsigned Opcode) const {
|
||||
switch (Opcode) {
|
||||
case MipsISD::JmpLink: return "MipsISD::JmpLink";
|
||||
case MipsISD::TailCall: return "MipsISD::TailCall";
|
||||
case MipsISD::Hi: return "MipsISD::Hi";
|
||||
case MipsISD::Lo: return "MipsISD::Lo";
|
||||
case MipsISD::GPRel: return "MipsISD::GPRel";
|
||||
|
|
|
@ -29,6 +29,9 @@ namespace llvm {
|
|||
// Jump and link (call)
|
||||
JmpLink,
|
||||
|
||||
// Tail call
|
||||
TailCall,
|
||||
|
||||
// Get the Higher 16 bits from a 32-bit immediate
|
||||
// No relation with Mips Hi register
|
||||
Hi,
|
||||
|
|
|
@ -52,6 +52,10 @@ def MipsJmpLink : SDNode<"MipsISD::JmpLink",SDT_MipsJmpLink,
|
|||
[SDNPHasChain, SDNPOutGlue, SDNPOptInGlue,
|
||||
SDNPVariadic]>;
|
||||
|
||||
// Tail call
|
||||
def MipsTailCall : SDNode<"MipsISD::TailCall", SDT_MipsJmpLink,
|
||||
[SDNPHasChain, SDNPOptInGlue, SDNPVariadic]>;
|
||||
|
||||
// Hi and Lo nodes are used to handle global addresses. Used on
|
||||
// MipsISelLowering to lower stuff like GlobalAddress, ExternalSymbol
|
||||
// static model. (nothing to do with Mips Registers Hi and Lo)
|
||||
|
|
Loading…
Reference in New Issue