diff options
Diffstat (limited to 'chapter04/docs/04-pre-peephole.gv')
| -rw-r--r-- | chapter04/docs/04-pre-peephole.gv | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/chapter04/docs/04-pre-peephole.gv b/chapter04/docs/04-pre-peephole.gv new file mode 100644 index 00000000..e8016c87 --- /dev/null +++ b/chapter04/docs/04-pre-peephole.gv @@ -0,0 +1,45 @@ +digraph chapter04 { +/* +return 1+arg+2; #showGraph; +*/ + rankdir=BT; + subgraph cluster_Nodes { + Start1 [ shape=plaintext label=< + <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4"> + <TR><TD BGCOLOR="yellow">Start</TD></TR> + <TR><TD> + <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> + <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">arg</TD></TR> + </TABLE> + </TD></TR> + </TABLE>> + ]; + Con_4 [ label="#1" ]; + Con_5 [ label="#2" ]; + Add6 [ label="Add" ]; + Add7 [ label="Add" ]; + Return8 [ shape=box style=filled fillcolor=yellow label="Return" ]; + } + node [shape=plaintext]; + subgraph cluster_0 { + scope0 [label=< + <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> + <TR><TD BGCOLOR="cyan">0</TD><TD PORT="scope0_$ctrl">$ctrl</TD><TD PORT="scope0_arg">arg</TD></TR> + </TABLE>>]; + subgraph cluster_1 { + scope1 [label=< + <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> + <TR><TD BGCOLOR="cyan">1</TD></TR> + </TABLE>>]; + } + } + Add6 -> Start1:p1; + Add6 -> Con_5; + Add7 -> Con_4; + Add7 -> Add6; + Return8 -> Start1:p0 [color=red]; + Return8 -> Add7; + edge [style=dashed color=cornflowerblue]; + scope0:"scope0_$ctrl" -> Start1:p0; + scope0:"scope0_arg" -> Start1:p1; +} |
