This repository has been archived by the owner on Apr 7, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfib.dot
37 lines (37 loc) · 4.23 KB
/
fib.dot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
digraph Program_ {
graph [fontname = "Monaco", fontsize = 12, ranksep = 0.5];
node [shape = box, fontname = "Monaco", fontsize = 11; colorscheme = pastel19];
edge [fontname = "Monaco", fontsize = 11; colorscheme = pastel19];
Jump0[label = <<font color="#ff4411" point-size="8"><sup>q0</sup></font>StartFun.0<br/>n<font color="#00aa11" point-size="8"><sup>U6</sup></font><font color="#3311ff" point-size="8"><sup>r0</sup></font>,a<font color="#00aa11" point-size="8"><sup>U32</sup></font><font color="#3311ff" point-size="8"><sup>r1</sup></font>,b<font color="#00aa11" point-size="8"><sup>U32</sup></font><font color="#3311ff" point-size="8"><sup>r2</sup></font>>; shape = component];
Jump0 -> Block0;
Jump1[
label = <<font color="#ff4411" point-size="8"><sup>q1</sup></font>Branch.1>;
shape = trapezium; style = rounded;
];
Block0 -> Jump1;
Jump1 -> Block1 [label=<@c>];
Jump1 -> Block2 [label=<!@c>];
Jump2_4[label = <<font color="#ff4411" point-size="8"><sup>q2</sup></font>Return.2_4>; shape = lpromoter];
Block1 -> Jump2_4 [label=<a>];
Jump2_5_6[label = <<font color="#ff4411" point-size="8"><sup>q3</sup></font>TailCall.2_5_6<br/>fib(@k,@h,a)>; shape = component];
Block2 -> Jump2_5_6;
Block0 [label = "Block0"];
Block1 [label = "Block1"];
Block2 [label = "Block2"];
subgraph cluster_dfg_Block0 {
node [shape = oval];
label = <Block0<br/>(n<font color="#00aa11" point-size="8"><sup>U6</sup></font><font color="#3311ff" point-size="8"><sup>r0</sup></font>,a<font color="#00aa11" point-size="8"><sup>U32</sup></font><font color="#3311ff" point-size="8"><sup>r1</sup></font>,b<font color="#00aa11" point-size="8"><sup>U32</sup></font><font color="#3311ff" point-size="8"><sup>r2</sup></font><br/>=><br/>a<font color="#00aa11" point-size="8"><sup>U32</sup></font><font color="#3311ff" point-size="8"><sup>r1</sup></font>,n<font color="#00aa11" point-size="8"><sup>U6</sup></font><font color="#3311ff" point-size="8"><sup>r0</sup></font>,b<font color="#00aa11" point-size="8"><sup>U32</sup></font><font color="#3311ff" point-size="8"><sup>r2</sup></font>,@c<font color="#00aa11" point-size="8"><sup>U1</sup></font><font color="#3311ff" point-size="8"><sup>r3</sup></font>)>;
1 [label=<<font color="#ff4411" point-size="8"><sup>q1</sup></font>@c<font color="#00aa11" point-size="8"><sup>U1</sup></font><font color="#3311ff" point-size="8"><sup>r3</sup></font>:n==<font color="#3311ff" point-size="8"><sup>Bin0</sup></font>0<font color="#00aa11" point-size="8"><sup>U1</sup></font>>];
}
subgraph cluster_dfg_Block1 {
node [shape = oval];
label = <Block1<br/>(a<font color="#00aa11" point-size="8"><sup>U32</sup></font><font color="#3311ff" point-size="8"><sup>r1</sup></font><br/>=><br/>a<font color="#00aa11" point-size="8"><sup>U32</sup></font><font color="#3311ff" point-size="8"><sup>r1</sup></font>)>;
2 [label=<<font color="#ff4411" point-size="8"><sup>q2</sup></font>nop>];
}
subgraph cluster_dfg_Block2 {
node [shape = oval];
label = <Block2<br/>(n<font color="#00aa11" point-size="8"><sup>U6</sup></font><font color="#3311ff" point-size="8"><sup>r0</sup></font>,a<font color="#00aa11" point-size="8"><sup>U32</sup></font><font color="#3311ff" point-size="8"><sup>r1</sup></font>,b<font color="#00aa11" point-size="8"><sup>U32</sup></font><font color="#3311ff" point-size="8"><sup>r2</sup></font><br/>=><br/>@k<font color="#00aa11" point-size="8"><sup>U6</sup></font><font color="#3311ff" point-size="8"><sup>r2</sup></font>,@h<font color="#00aa11" point-size="8"><sup>U32</sup></font><font color="#3311ff" point-size="8"><sup>r0</sup></font>,a<font color="#00aa11" point-size="8"><sup>U32</sup></font><font color="#3311ff" point-size="8"><sup>r1</sup></font>)>;
3 [label=<<font color="#ff4411" point-size="8"><sup>q3</sup></font>@h<font color="#00aa11" point-size="8"><sup>U32</sup></font><font color="#3311ff" point-size="8"><sup>r0</sup></font>:a+<font color="#3311ff" point-size="8"><sup>Bin1</sup></font>b>];
5 [label=<<font color="#ff4411" point-size="8"><sup>q3</sup></font>@k<font color="#00aa11" point-size="8"><sup>U6</sup></font><font color="#3311ff" point-size="8"><sup>r2</sup></font>:n-<font color="#3311ff" point-size="8"><sup>Bin2</sup></font>1<font color="#00aa11" point-size="8"><sup>U1</sup></font>>];
}
}