Remove the return_reg instruction.
RISC architectures that take a return address in a register can use a special-purpose `link` return value to do so.
This commit is contained in:
@@ -155,25 +155,6 @@ x_return = Instruction(
|
||||
""",
|
||||
ins=rvals, is_return=True, is_terminator=True)
|
||||
|
||||
raddr = Operand('raddr', iAddr, doc='Return address')
|
||||
|
||||
return_reg = Instruction(
|
||||
'return_reg', r"""
|
||||
Return from the function to a return address held in a register.
|
||||
|
||||
Unconditionally transfer control to the calling function, passing the
|
||||
provided return values. The list of return values must match the
|
||||
function signature's return types.
|
||||
|
||||
This instruction should only be used by ISA-specific epilogue lowering
|
||||
code. It is equivalent to :inst:`return`, but the return address is
|
||||
provided explicitly in a register. This style of return instruction is
|
||||
used by RISC architectures such as ARM and RISC-V. A normal
|
||||
:inst:`return` will be legalized into this instruction on these
|
||||
architectures.
|
||||
""",
|
||||
ins=(raddr, rvals), is_return=True, is_terminator=True)
|
||||
|
||||
FN = Operand(
|
||||
'FN',
|
||||
entities.func_ref,
|
||||
|
||||
Reference in New Issue
Block a user