removing duplicate un instruction
This commit is contained in:
parent
085c593add
commit
ec4499e519
|
@ -200,7 +200,7 @@ impl HbvmBackend {
|
||||||
None => {}
|
None => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Kind::Die => self.emit(instrs::un()),
|
Kind::Die => {}
|
||||||
Kind::CInt { .. } => alloc_buf.push(atr(nid)),
|
Kind::CInt { .. } => alloc_buf.push(atr(nid)),
|
||||||
Kind::UnOp { .. } => alloc_buf.extend([atr(nid), atr(node.inputs[1])]),
|
Kind::UnOp { .. } => alloc_buf.extend([atr(nid), atr(node.inputs[1])]),
|
||||||
Kind::BinOp { .. } if node.lock_rc != 0 => {}
|
Kind::BinOp { .. } if node.lock_rc != 0 => {}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
main:
|
main:
|
||||||
UN
|
UN
|
||||||
UN
|
code size: 9
|
||||||
code size: 10
|
|
||||||
ret: 0
|
ret: 0
|
||||||
status: Err(Unreachable)
|
status: Err(Unreachable)
|
||||||
|
|
|
@ -20,7 +20,6 @@ process:
|
||||||
JAL r31, r0, :opaque
|
JAL r31, r0, :opaque
|
||||||
LD r35, r254, 0a, 1h
|
LD r35, r254, 0a, 1h
|
||||||
ANDI r35, r35, 255d
|
ANDI r35, r35, 255d
|
||||||
ANDI r0, r0, 255d
|
|
||||||
JEQ r35, r0, :2
|
JEQ r35, r0, :2
|
||||||
JMP :3
|
JMP :3
|
||||||
2: ADDI64 r32, r32, -1d
|
2: ADDI64 r32, r32, -1d
|
||||||
|
@ -29,6 +28,6 @@ process:
|
||||||
ADDI64 r254, r254, 64d
|
ADDI64 r254, r254, 64d
|
||||||
JALA r0, r31, 0a
|
JALA r0, r31, 0a
|
||||||
timed out
|
timed out
|
||||||
code size: 262
|
code size: 251
|
||||||
ret: 0
|
ret: 0
|
||||||
status: Ok(())
|
status: Ok(())
|
||||||
|
|
|
@ -7,7 +7,6 @@ main:
|
||||||
ST r1, r32, 0a, 6h
|
ST r1, r32, 0a, 6h
|
||||||
LD r33, r254, 0a, 1h
|
LD r33, r254, 0a, 1h
|
||||||
ANDI r33, r33, 255d
|
ANDI r33, r33, 255d
|
||||||
ANDI r0, r0, 255d
|
|
||||||
JEQ r33, r0, :0
|
JEQ r33, r0, :0
|
||||||
LI64 r32, 1d
|
LI64 r32, 1d
|
||||||
CP r1, r32
|
CP r1, r32
|
||||||
|
@ -31,6 +30,6 @@ return_fn:
|
||||||
LD r32, r254, 6a, 16h
|
LD r32, r254, 6a, 16h
|
||||||
ADDI64 r254, r254, 22d
|
ADDI64 r254, r254, 22d
|
||||||
JALA r0, r31, 0a
|
JALA r0, r31, 0a
|
||||||
code size: 328
|
code size: 317
|
||||||
ret: 1
|
ret: 1
|
||||||
status: Ok(())
|
status: Ok(())
|
||||||
|
|
|
@ -9,7 +9,6 @@ foo:
|
||||||
ST r1, r32, 0a, 16h
|
ST r1, r32, 0a, 16h
|
||||||
LD r33, r254, 64a, 1h
|
LD r33, r254, 64a, 1h
|
||||||
ANDI r33, r33, 255d
|
ANDI r33, r33, 255d
|
||||||
ANDI r0, r0, 255d
|
|
||||||
JNE r33, r0, :0
|
JNE r33, r0, :0
|
||||||
ADDI64 r32, r254, 48d
|
ADDI64 r32, r254, 48d
|
||||||
ST r0, r254, 48a, 1h
|
ST r0, r254, 48a, 1h
|
||||||
|
@ -69,7 +68,6 @@ main:
|
||||||
ST r1, r32, 0a, 16h
|
ST r1, r32, 0a, 16h
|
||||||
LD r33, r254, 0a, 1h
|
LD r33, r254, 0a, 1h
|
||||||
ANDI r33, r33, 255d
|
ANDI r33, r33, 255d
|
||||||
ANDI r0, r0, 255d
|
|
||||||
JNE r33, r0, :0
|
JNE r33, r0, :0
|
||||||
LI64 r32, 100d
|
LI64 r32, 100d
|
||||||
CP r1, r32
|
CP r1, r32
|
||||||
|
@ -79,6 +77,6 @@ main:
|
||||||
1: LD r31, r254, 16a, 32h
|
1: LD r31, r254, 16a, 32h
|
||||||
ADDI64 r254, r254, 48d
|
ADDI64 r254, r254, 48d
|
||||||
JALA r0, r31, 0a
|
JALA r0, r31, 0a
|
||||||
code size: 793
|
code size: 771
|
||||||
ret: 0
|
ret: 0
|
||||||
status: Ok(())
|
status: Ok(())
|
||||||
|
|
|
@ -36,7 +36,6 @@ main:
|
||||||
4: ST r0, r254, 56a, 1h
|
4: ST r0, r254, 56a, 1h
|
||||||
5: LD r32, r254, 56a, 1h
|
5: LD r32, r254, 56a, 1h
|
||||||
ANDI r32, r32, 255d
|
ANDI r32, r32, 255d
|
||||||
ANDI r0, r0, 255d
|
|
||||||
JEQ r32, r0, :6
|
JEQ r32, r0, :6
|
||||||
LI64 r32, 42d
|
LI64 r32, 42d
|
||||||
CP r1, r32
|
CP r1, r32
|
||||||
|
@ -96,7 +95,6 @@ main:
|
||||||
14: ST r0, r254, 16a, 1h
|
14: ST r0, r254, 16a, 1h
|
||||||
15: LD r34, r254, 16a, 1h
|
15: LD r34, r254, 16a, 1h
|
||||||
ANDI r34, r34, 255d
|
ANDI r34, r34, 255d
|
||||||
ANDI r0, r0, 255d
|
|
||||||
JEQ r34, r0, :16
|
JEQ r34, r0, :16
|
||||||
LI64 r32, 420d
|
LI64 r32, 420d
|
||||||
CP r1, r32
|
CP r1, r32
|
||||||
|
@ -152,6 +150,6 @@ use_foo:
|
||||||
CP r0, r4
|
CP r0, r4
|
||||||
ADDI64 r254, r254, 16d
|
ADDI64 r254, r254, 16d
|
||||||
JALA r0, r31, 0a
|
JALA r0, r31, 0a
|
||||||
code size: 1274
|
code size: 1252
|
||||||
ret: 0
|
ret: 0
|
||||||
status: Ok(())
|
status: Ok(())
|
||||||
|
|
|
@ -11,16 +11,14 @@ main:
|
||||||
ST r1, r13, 0a, 16h
|
ST r1, r13, 0a, 16h
|
||||||
LD r14, r254, 0a, 1h
|
LD r14, r254, 0a, 1h
|
||||||
ANDI r14, r14, 255d
|
ANDI r14, r14, 255d
|
||||||
ANDI r0, r0, 255d
|
|
||||||
JNE r14, r0, :0
|
JNE r14, r0, :0
|
||||||
UN
|
UN
|
||||||
UN
|
|
||||||
0: LD r13, r254, 8a, 8h
|
0: LD r13, r254, 8a, 8h
|
||||||
CP r1, r13
|
CP r1, r13
|
||||||
LD r32, r254, 16a, 16h
|
LD r32, r254, 16a, 16h
|
||||||
ADDI64 r254, r254, 32d
|
ADDI64 r254, r254, 32d
|
||||||
JALA r0, r31, 0a
|
JALA r0, r31, 0a
|
||||||
unknown ecall: 0
|
unknown ecall: 0
|
||||||
code size: 165
|
code size: 153
|
||||||
ret: 0
|
ret: 0
|
||||||
status: Ok(())
|
status: Ok(())
|
||||||
|
|
|
@ -20,7 +20,6 @@ main:
|
||||||
ST r1, r32, 0a, 16h
|
ST r1, r32, 0a, 16h
|
||||||
LD r33, r254, 0a, 1h
|
LD r33, r254, 0a, 1h
|
||||||
ANDI r33, r33, 255d
|
ANDI r33, r33, 255d
|
||||||
ANDI r0, r0, 255d
|
|
||||||
JNE r33, r0, :0
|
JNE r33, r0, :0
|
||||||
LI64 r32, 1d
|
LI64 r32, 1d
|
||||||
CP r1, r32
|
CP r1, r32
|
||||||
|
@ -30,6 +29,6 @@ main:
|
||||||
1: LD r31, r254, 16a, 32h
|
1: LD r31, r254, 16a, 32h
|
||||||
ADDI64 r254, r254, 48d
|
ADDI64 r254, r254, 48d
|
||||||
JALA r0, r31, 0a
|
JALA r0, r31, 0a
|
||||||
code size: 315
|
code size: 304
|
||||||
ret: 0
|
ret: 0
|
||||||
status: Ok(())
|
status: Ok(())
|
||||||
|
|
|
@ -33,7 +33,6 @@ main:
|
||||||
ST r1, r33, 0a, 16h
|
ST r1, r33, 0a, 16h
|
||||||
LD r33, r254, 0a, 1h
|
LD r33, r254, 0a, 1h
|
||||||
ANDI r33, r33, 255d
|
ANDI r33, r33, 255d
|
||||||
ANDI r0, r0, 255d
|
|
||||||
JNE r33, r0, :2
|
JNE r33, r0, :2
|
||||||
LI64 r32, 20d
|
LI64 r32, 20d
|
||||||
CP r1, r32
|
CP r1, r32
|
||||||
|
@ -77,6 +76,6 @@ optionala:
|
||||||
LD r32, r254, 48a, 32h
|
LD r32, r254, 48a, 32h
|
||||||
ADDI64 r254, r254, 80d
|
ADDI64 r254, r254, 80d
|
||||||
JALA r0, r31, 0a
|
JALA r0, r31, 0a
|
||||||
code size: 684
|
code size: 673
|
||||||
ret: 100
|
ret: 100
|
||||||
status: Ok(())
|
status: Ok(())
|
||||||
|
|
Loading…
Reference in a new issue