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:
Jakob Stoklund Olesen
2017-04-19 16:08:16 -07:00
parent 315c858b48
commit 832247019b
6 changed files with 11 additions and 32 deletions

View File

@@ -4,7 +4,7 @@ isa riscv
; regex: V=v\d+
function f(i32) {
function f() {
sig0 = signature(i32) -> i32
; check: sig0 = signature(i32 [%x10]) -> i32 [%x10]
@@ -27,6 +27,6 @@ function f(i32) {
sig5 = signature(i64x4)
; check: sig5 = signature(i32 [%x10], i32 [%x11], i32 [%x12], i32 [%x13], i32 [%x14], i32 [%x15], i32 [%x16], i32 [%x17])
ebb0(v0: i32):
return_reg v0
ebb0:
return
}

View File

@@ -15,7 +15,7 @@ ebb0(v1: i32, v2: i32):
; check: [R#10c]
; sameln: $v12 = imul
return_reg v1
return
; check: [Iret#19]
; sameln: return_reg
; sameln: return
}

View File

@@ -8,5 +8,5 @@ ebb0(v1: i32, v2: i32):
v3 = iadd v1, v2
; check: [R#0c,%x0]
; sameln: iadd
return_reg v3
return
}