Skip to content

Instantly share code, notes, and snippets.

@indutny
Created October 27, 2012 15:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save indutny/3965132 to your computer and use it in GitHub Desktop.
Save indutny/3965132 to your computer and use it in GitHub Desktop.
rax: ............|......|......R_r_r.R_r.|......R_r_r...|......|....|....R_r_r.R_r.
rbx: ............|......|....R___r.....r.|....R___r.....|......|....|..R___r.......
rcx: ............|......|........r.....r.|........r.....|......|....|......r.......
rdx: ............|......|........r.....r.|........r.....|......|....|......r.......
004: ....R_______|______|______..........|..............|......|....|..............
005: ......A_a...|......|................|..............|......|....|..............
006: ........A___|__a...|................|..............|..A___|....|..............
007: ............|..A___|______..........|..............|......|....|..............
008: ............|......|..R_a...........|..............|......|....|..............
009: ............|......|..........A_a...|..............|......|....|..............
010: ............|......|................|..R___a.......|......|....|..............
011: ............|......|................|..........A___|__a...|....|..............
012: ............|......|................|..............|......|....|........A_a...
013: ............|......|......__________|______________|______|____|____a......... P:4
014: ............|......|......a_________|____a.........|......|____|__a........... P:7
# Block: 0
# in: , out: 6, 4
0: Label
2: Entry
4: @r4:rcx = Literal[5]
6: r5:rax = Nil
8: r6:rax = Move r5:rax
# Block: 1
# in: 6, 4, out: 7, 4
12: Label
14: r7:rdx = Phi r6:rax
# Block: 2
# in: 7, 4, out: 7, 4
18: Label
20: @r8:rax = Literal[10]
22: @r1:rbx = Move r8:rax
23: Gap[r4:rcx => s13:0, r7:rdx => s14:1]
24: @r0:rax = Move s14:1
26: @r0:rax = BinOp @r0:rax, @r1:rbx
28: r9:rax = Move @r0:rax
30: @r0:rax = Move r9:rax
32: Branch (34), (54)
# Block: 3
# in: 7, 4, out: 11, 4
34: Label
36: @r10:rax = Literal[1]
38: @r1:rbx = Move s14:1
40: @r0:rax = Move r10:rax
42: @r0:rax = BinOp @r0:rax, @r1:rbx
44: r11:rax = Move @r0:rax
# Block: 4
# in: 11, 4, out: 6, 4
48: Label
50: r6:rax = Move r11:rax
51: Gap[s13:0 => r4:rcx]
52: Goto (12)
# Block: 5
# in: 7, 4, out: 7, 4
54: Label
# Block: 6
# in: 7, 4, out:
58: Label
60: @r1:rbx = Move s14:1
62: @r0:rax = Move s13:0
64: @r0:rax = BinOp @r0:rax, @r1:rbx
66: r12:rax = Move @r0:rax
68: @r0:rax = Move r12:rax
70: Return @r0:rax
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment