Skip to content

Commit 4f93631

Browse files
update outputs for fib
1 parent 57863e5 commit 4f93631

File tree

7 files changed

+152
-91
lines changed

7 files changed

+152
-91
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
### Notes
2+
3+
Flags being used:
4+
5+
```
6+
--dump-after-local-sched -S --cpu x86_64_v2 --abi SystemV
7+
```
8+
9+
Simple ch21 output because fails in ch22.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---foo { -> int #0}---------------------------
2+
0030 4883EC08 subi rsp -= #8
3+
0034 BF0A000000 ldi rdi = #10
4+
0039 E8C2FFFFFF call fib rdi
5+
003E 4883C408C3 addi rsp += #8
6+
0043 ret
7+
---{ -> int #0}---------------------------
8+
9+
---fib { int -> int #1}---------------------------
10+
n:rdi
11+
0000 BA01000000 ldi rdx = #1
12+
0005 B901000000 ldi rcx = #1
13+
LOOP5:
14+
i:rdi,f2:rdx,f1:rcx
15+
000A 488BC2 mov rax = rdx // def/self #0
16+
000D 4883FF01 cmp rdi, #1
17+
0011 7E0E j<= L3 // L8
18+
L8:
19+
0013 48FFCF dec rdi += #-1
20+
0016 488BD0 mov rdx = rax // use/self/use #0
21+
0019 4803D1 add rdx += rcx
22+
001C 488BC8 mov rcx = rax // use/self/use #0
23+
001F EBE9 jmp LOOP5
24+
L51:
25+
L3:
26+
0021 C3 ret
27+
---{ int -> int #1}---------------------------
Lines changed: 44 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,45 @@
11
START: [[ ]]
2-
1 Start ____ ____ ____ [[ 3 4 9 16 18 8 5 46 ]] [ Ctrl, #TOP, int]
3-
4-
L8: [[ START ]]
5-
8 fib ____ 1 [[ 10 17 19 20 22 ]] Ctrl
6-
10 $rpc 8 9 [[ 14 ]] $[ALL]
7-
17 $mem 8 16 [[ 14 ]] #BOT
8-
19 n$2 8 18 [[ 25 ]] int
9-
20 #1 8 [[ 37 39 26 41 ]] 1
10-
11-
L46: [[ START ]]
12-
46 foo ____ 1 [[ 48 55 56 57 59 ]] Ctrl
13-
48 $rpc 46 9 [[ 52 ]] $[ALL]
14-
55 $mem 46 16 [[ 59 ]] #BOT
15-
57 #10 46 [[ 59 ]] 10
16-
56 #{ int 46 [[ 59 ]] { int -> int #1}
17-
59 Call 46 55 57 56 [[ 60 ]] Ctrl
18-
19-
LOOP22: [[ L8 L29 ]]
20-
22 Loop ____ 8 29 [[ 39 25 37 26 28 ]] Ctrl
21-
39 Phi_f2$ 22 20 38 [[ 37 14 38 ]] int
22-
25 Phi_i$3 22 19 41 [[ 26 41 ]] int
23-
37 Phi_f1$ 22 20 39 [[ 38 ]] int
24-
26 LT 22 20 25 [[ 28 ]] bool
25-
28 If 22 26 [[ 29 30 ]] [ Ctrl, Ctrl]
26-
27-
L60: [[ L46 ]]
28-
60 CallEnd 59 [[ 61 63 64 ]] [ Ctrl, #BOT, int]
29-
63 $mem 60 [[ 52 ]] #BOT
30-
64 #2 60 [[ 52 ]] int
31-
32-
L30: [[ LOOP22 ]]
33-
30 False 28 [[ 14 ]] Ctrl
34-
14 Return 30 17 39 10 [[ 2 ]] [ Ctrl, #BOT, int]
35-
36-
L29: [[ LOOP22 ]]
37-
29 True 28 [[ 38 41 22 ]] Ctrl
38-
41 Sub 29 25 20 [[ 25 ]] int
39-
38 Add 29 39 37 [[ 39 ]] int
40-
41-
L61: [[ L60 ]]
42-
61 $ctrl 60 [[ 52 ]] Ctrl
43-
52 Return 61 63 64 48 [[ 2 ]] [ Ctrl, #BOT, int]
44-
45-
L2: [[ ]]
46-
2 Stop 14 52 [[ ]] Bot
2+
7 Start ____ ____ ____ [[ 13 16 22 27 6 ]] [ Ctrl, #TOP, int]
3+
4+
L6: [[ START ]]
5+
6 fib ____ 7 [[ 12 15 21 18 5 ]] Ctrl
6+
12 n 6 13 [[ 11 ]] int
7+
15 $mem 6 16 [[ 2 ]] #BOT
8+
21 $rpc 6 22 [[ 2 ]] $[ALL]
9+
18 #1 6 [[ 17 20 ]] 1
10+
11+
L27: [[ START ]]
12+
27 foo ____ 7 [[ 28 32 29 26 ]] Ctrl
13+
28 $mem 27 16 [[ 26 ]] #BOT
14+
32 $rpc 27 22 [[ 23 ]] $[ALL]
15+
29 #10 27 [[ 26 ]] 10
16+
26 call 27 28 29 [[ 25 ]] Ctrl
17+
18+
LOOP5: [[ L6 L8 ]]
19+
5 Loop ____ 6 8 [[ 11 17 20 9 4 ]] Ctrl
20+
11 Phi_i 5 12 14 [[ 9 14 ]] int
21+
17 Phi_f2 5 18 19 [[ 2 19 20 ]] int
22+
20 Phi_f1 5 18 17 [[ 19 ]] int
23+
9 cmp 5 11 [[ 4 ]] bool
24+
4 j> 5 9 [[ 3 8 ]] [ Ctrl, Ctrl]
25+
26+
L25: [[ L27 ]]
27+
25 CallEnd 26 [[ 24 30 31 ]] [ Ctrl, #BOT, int]
28+
30 $mem 25 [[ 23 ]] #BOT
29+
31 #2 25 [[ 23 ]] int
30+
31+
L3: [[ LOOP5 ]]
32+
3 False 4 [[ 2 ]] Ctrl
33+
2 Return 3 15 17 21 [[ 1 ]] [ Ctrl, #BOT, int]
34+
35+
L24: [[ L25 ]]
36+
24 $ctrl 25 [[ 23 ]] Ctrl
37+
23 Return 24 30 31 32 [[ 1 ]] [ Ctrl, #BOT, int]
38+
39+
L8: [[ LOOP5 ]]
40+
8 True 4 [[ 14 19 5 ]] Ctrl
41+
14 dec 8 11 [[ 11 ]] int
42+
19 add 8 17 20 [[ 17 ]] int
43+
44+
L1: [[ ]]
45+
1 Stop 2 23 [[ ]] Bot

seaofnodes/src/test/cases/fib/fib.simple_ir

Lines changed: 0 additions & 46 deletions
This file was deleted.
File renamed without changes.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
START: [[ ]]
2+
7 Start ____ ____ ____ [[ 9 29 21 15 6 ]] [ Ctrl, #TOP, int]
3+
4+
L6: [[ START ]]
5+
6 main ____ 7 [[ 8 33 10 5 ]] Ctrl
6+
8 $mem 6 9 [[ 5 ]] #BOT
7+
33 $rpc 6 29 [[ 2 ]] $[ALL]
8+
10 #10 6 [[ 5 ]] 10
9+
5 call 6 8 10 [[ 4 ]] Ctrl
10+
11+
L15: [[ START ]]
12+
15 fib ____ 7 [[ 20 23 28 25 14 ]] Ctrl
13+
20 n 15 21 [[ 19 ]] int
14+
23 $mem 15 9 [[ 11 ]] #BOT
15+
28 $rpc 15 29 [[ 11 ]] $[ALL]
16+
25 #1 15 [[ 24 27 ]] 1
17+
18+
LOOP14: [[ L15 L16 ]]
19+
14 Loop ____ 15 16 [[ 19 24 27 17 13 ]] Ctrl
20+
19 Phi_i 14 20 22 [[ 17 22 ]] int
21+
24 Phi_f2 14 25 26 [[ 11 26 27 ]] int
22+
27 Phi_f1 14 25 24 [[ 26 ]] int
23+
17 cmp 14 19 [[ 13 ]] bool
24+
13 j> 14 17 [[ 12 16 ]] [ Ctrl, Ctrl]
25+
26+
L4: [[ L6 ]]
27+
4 CallEnd 5 [[ 3 31 32 ]] [ Ctrl, #BOT, int]
28+
31 $mem 4 [[ 2 ]] #BOT
29+
32 #2 4 [[ 2 ]] int
30+
31+
L3: [[ L4 ]]
32+
3 $ctrl 4 [[ 2 ]] Ctrl
33+
2 Return 3 31 32 33 [[ 1 ]] [ Ctrl, #BOT, int]
34+
35+
L16: [[ LOOP14 ]]
36+
16 True 13 [[ 22 26 14 ]] Ctrl
37+
22 dec 16 19 [[ 19 ]] int
38+
26 add 16 24 27 [[ 24 ]] int
39+
40+
L12: [[ LOOP14 ]]
41+
12 False 13 [[ 11 ]] Ctrl
42+
11 Return 12 23 24 28 [[ 1 ]] [ Ctrl, #BOT, int]
43+
44+
L1: [[ ]]
45+
1 Stop 2 11 [[ ]] Bot
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---main { int -> int #0}---------------------------
2+
0000 4883EC08 subi rsp -= #8
3+
0004 BF0A000000 ldi rdi = #10
4+
0009 E812000000 call fib rdi
5+
000E 4883C408C3 addi rsp += #8
6+
0013 ret
7+
---{ int -> int #0}---------------------------
8+
9+
---fib { int -> int #1}---------------------------
10+
n:rdi
11+
0020 BA01000000 ldi rdx = #1
12+
0025 B901000000 ldi rcx = #1
13+
LOOP14:
14+
i:rdi,f2:rdx,f1:rcx
15+
002A 488BC2 mov rax = rdx // def/self #0
16+
002D 4883FF01 cmp rdi, #1
17+
0031 7E0F j<= L12 // L16
18+
L16:
19+
0033 4883C7FF dec rdi += #-1
20+
0037 488BD0 mov rdx = rax // use/self/use #0
21+
003A 4803D1 add rdx += rcx
22+
003D 488BC8 mov rcx = rax // use/self/use #0
23+
0040 EBE8 jmp LOOP14
24+
L52:
25+
L12:
26+
0042 C3 ret
27+
---{ int -> int #1}---------------------------

0 commit comments

Comments
 (0)