デッドロック発見器
10月19日土曜日、雨
参加してきた。
フライングで試していた実装含めて、今日動くように仕立てたコードがこちら。(Kotlin/Native)
これを(コンパイルして)実行すると次のような出力が得られる。
digraph {
0 [label="Shared(x=0)\nLocal(ir=P0, t=0)\nLocal(ir=P0, t=0)\nLocal(ir=P0, t=0)" style=bold];
1 [label="Shared(x=0)\nLocal(ir=P1, t=0)\nLocal(ir=P0, t=0)\nLocal(ir=P0, t=0)" style=solid];
2 [label="Shared(x=0)\nLocal(ir=P0, t=0)\nLocal(ir=P1, t=0)\nLocal(ir=P0, t=0)" style=solid];
3 [label="Shared(x=0)\nLocal(ir=P0, t=0)\nLocal(ir=P0, t=0)\nLocal(ir=P1, t=0)" style=solid];
4 [label="Shared(x=0)\nLocal(ir=P2, t=1)\nLocal(ir=P0, t=0)\nLocal(ir=P0, t=0)" style=solid];
5 [label="Shared(x=0)\nLocal(ir=P1, t=0)\nLocal(ir=P1, t=0)\nLocal(ir=P0, t=0)" style=solid];
6 [label="Shared(x=0)\nLocal(ir=P1, t=0)\nLocal(ir=P0, t=0)\nLocal(ir=P1, t=0)" style=solid];
7 [label="Shared(x=0)\nLocal(ir=P0, t=0)\nLocal(ir=P2, t=1)\nLocal(ir=P0, t=0)" style=solid];
8 [label="Shared(x=0)\nLocal(ir=P0, t=0)\nLocal(ir=P1, t=0)\nLocal(ir=P1, t=0)" style=solid];
9 [label="Shared(x=0)\nLocal(ir=P0, t=0)\nLocal(ir=P0, t=0)\nLocal(ir=P2, t=1)" style=solid];
10 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)\nLocal(ir=P0, t=0)" style=solid];
11 [label="Shared(x=0)\nLocal(ir=P2, t=1)\nLocal(ir=P1, t=0)\nLocal(ir=P0, t=0)" style=solid];
12 [label="Shared(x=0)\nLocal(ir=P2, t=1)\nLocal(ir=P0, t=0)\nLocal(ir=P1, t=0)" style=solid];
13 [label="Shared(x=0)\nLocal(ir=P1, t=0)\nLocal(ir=P2, t=1)\nLocal(ir=P0, t=0)" style=solid];
14 [label="Shared(x=0)\nLocal(ir=P1, t=0)\nLocal(ir=P1, t=0)\nLocal(ir=P1, t=0)" style=solid];
15 [label="Shared(x=0)\nLocal(ir=P1, t=0)\nLocal(ir=P0, t=0)\nLocal(ir=P2, t=1)" style=solid];
16 [label="Shared(x=1)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)" style=solid];
17 [label="Shared(x=0)\nLocal(ir=P0, t=0)\nLocal(ir=P2, t=1)\nLocal(ir=P1, t=0)" style=solid];
18 [label="Shared(x=0)\nLocal(ir=P0, t=0)\nLocal(ir=P1, t=0)\nLocal(ir=P2, t=1)" style=solid];
19 [label="Shared(x=1)\nLocal(ir=P0, t=0)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
20 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)\nLocal(ir=P0, t=0)" style=solid];
21 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)\nLocal(ir=P1, t=1)" style=solid];
22 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)\nLocal(ir=P0, t=0)" style=solid];
23 [label="Shared(x=0)\nLocal(ir=P2, t=1)\nLocal(ir=P2, t=1)\nLocal(ir=P0, t=0)" style=solid];
24 [label="Shared(x=0)\nLocal(ir=P2, t=1)\nLocal(ir=P1, t=0)\nLocal(ir=P1, t=0)" style=solid];
25 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)\nLocal(ir=P1, t=0)" style=solid];
26 [label="Shared(x=0)\nLocal(ir=P2, t=1)\nLocal(ir=P0, t=0)\nLocal(ir=P2, t=1)" style=solid];
27 [label="Shared(x=1)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)" style=solid];
28 [label="Shared(x=0)\nLocal(ir=P1, t=0)\nLocal(ir=P2, t=1)\nLocal(ir=P1, t=0)" style=solid];
29 [label="Shared(x=0)\nLocal(ir=P1, t=0)\nLocal(ir=P1, t=0)\nLocal(ir=P2, t=1)" style=solid];
30 [label="Shared(x=1)\nLocal(ir=P1, t=0)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
31 [label="Shared(x=1)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)" style=solid];
32 [label="Shared(x=1)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)" style=solid];
33 [label="Shared(x=1)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)" style=solid];
34 [label="Shared(x=0)\nLocal(ir=P0, t=0)\nLocal(ir=P2, t=1)\nLocal(ir=P2, t=1)" style=solid];
35 [label="Shared(x=1)\nLocal(ir=P0, t=0)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
36 [label="Shared(x=1)\nLocal(ir=P1, t=1)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
37 [label="Shared(x=1)\nLocal(ir=P0, t=0)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
38 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)\nLocal(ir=P0, t=0)" style=solid];
39 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)\nLocal(ir=P1, t=1)" style=solid];
40 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)\nLocal(ir=P2, t=2)" style=solid];
41 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)\nLocal(ir=P0, t=0)" style=solid];
42 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)\nLocal(ir=P1, t=1)" style=solid];
43 [label="Shared(x=1)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)" style=solid];
44 [label="Shared(x=0)\nLocal(ir=P2, t=1)\nLocal(ir=P2, t=1)\nLocal(ir=P1, t=0)" style=solid];
45 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)\nLocal(ir=P1, t=0)" style=solid];
46 [label="Shared(x=0)\nLocal(ir=P2, t=1)\nLocal(ir=P1, t=0)\nLocal(ir=P2, t=1)" style=solid];
47 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)\nLocal(ir=P1, t=0)" style=solid];
48 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)\nLocal(ir=P2, t=1)" style=solid];
49 [label="Shared(x=1)\nLocal(ir=P2, t=1)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
50 [label="Shared(x=1)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)" style=solid];
51 [label="Shared(x=1)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)" style=solid];
52 [label="Shared(x=0)\nLocal(ir=P1, t=0)\nLocal(ir=P2, t=1)\nLocal(ir=P2, t=1)" style=solid];
53 [label="Shared(x=1)\nLocal(ir=P1, t=0)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
54 [label="Shared(x=1)\nLocal(ir=P1, t=0)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
55 [label="Shared(x=1)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)" style=solid];
56 [label="Shared(x=1)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)" style=solid];
57 [label="Shared(x=1)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)" style=solid];
58 [label="Shared(x=1)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)" style=solid];
59 [label="Shared(x=1)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)" style=solid];
60 [label="Shared(x=1)\nLocal(ir=P0, t=0)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
61 [label="Shared(x=1)\nLocal(ir=P1, t=1)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
62 [label="Shared(x=1)\nLocal(ir=P2, t=2)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
63 [label="Shared(x=1)\nLocal(ir=P1, t=1)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
64 [label="Shared(x=1)\nLocal(ir=P0, t=0)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
65 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=P0, t=0)" style=solid];
66 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)\nLocal(ir=P1, t=1)" style=solid];
67 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)\nLocal(ir=P2, t=2)" style=solid];
68 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=2)" style=solid];
69 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)" style=solid];
70 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)\nLocal(ir=P1, t=1)" style=solid];
71 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)\nLocal(ir=P2, t=2)" style=solid];
72 [label="Shared(x=1)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)" style=solid];
73 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)\nLocal(ir=P1, t=0)" style=solid];
74 [label="Shared(x=1)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)" style=solid];
75 [label="Shared(x=0)\nLocal(ir=P2, t=1)\nLocal(ir=P2, t=1)\nLocal(ir=P2, t=1)" style=solid];
76 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)\nLocal(ir=P2, t=1)" style=solid];
77 [label="Shared(x=1)\nLocal(ir=P2, t=1)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
78 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)\nLocal(ir=P1, t=0)" style=solid];
79 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)\nLocal(ir=P2, t=1)" style=solid];
80 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
81 [label="Shared(x=1)\nLocal(ir=P2, t=1)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
82 [label="Shared(x=1)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)" style=solid];
83 [label="Shared(x=1)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)" style=solid];
84 [label="Shared(x=1)\nLocal(ir=P1, t=0)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
85 [label="Shared(x=1)\nLocal(ir=P1, t=0)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
86 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P0, t=0)" style=solid];
87 [label="Shared(x=1)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)" style=solid];
88 [label="Shared(x=1)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)" style=solid];
89 [label="Shared(x=2)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)" style=solid];
90 [label="Shared(x=1)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)" style=solid];
91 [label="Shared(x=1)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)" style=solid];
92 [label="Shared(x=1)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
93 [label="Shared(x=1)\nLocal(ir=P1, t=1)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
94 [label="Shared(x=1)\nLocal(ir=P2, t=2)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
95 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
96 [label="Shared(x=1)\nLocal(ir=P2, t=2)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
97 [label="Shared(x=1)\nLocal(ir=P1, t=1)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
98 [label="Shared(x=2)\nLocal(ir=P0, t=0)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
99 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=P1, t=2)" style=solid];
100 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=P1, t=1)" style=solid];
101 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)\nLocal(ir=P2, t=2)" style=solid];
102 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=2)" style=solid];
103 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=2)\nLocal(ir=EXIT, t=2)" style=solid];
104 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)" style=solid];
105 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)\nLocal(ir=P2, t=2)" style=solid];
106 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=2)" style=solid];
107 [label="Shared(x=1)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)" style=solid];
108 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)" style=solid];
109 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)\nLocal(ir=P2, t=1)" style=solid];
110 [label="Shared(x=1)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)" style=solid];
111 [label="Shared(x=1)\nLocal(ir=P2, t=1)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
112 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
113 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=P1, t=0)" style=solid];
114 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)\nLocal(ir=P2, t=1)" style=solid];
115 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
116 [label="Shared(x=1)\nLocal(ir=P2, t=1)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
117 [label="Shared(x=2)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)" style=solid];
118 [label="Shared(x=1)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
119 [label="Shared(x=2)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
120 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=2)" style=solid];
121 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=1)" style=solid];
122 [label="Shared(x=1)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)" style=solid];
123 [label="Shared(x=2)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)" style=solid];
124 [label="Shared(x=2)\nLocal(ir=P1, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)" style=solid];
125 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P1, t=0)" style=solid];
126 [label="Shared(x=1)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)" style=solid];
127 [label="Shared(x=1)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
128 [label="Shared(x=1)\nLocal(ir=P2, t=2)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
129 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=P1, t=0)\nLocal(ir=EXIT, t=1)" style=solid];
130 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=P1, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
131 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
132 [label="Shared(x=1)\nLocal(ir=P2, t=2)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
133 [label="Shared(x=2)\nLocal(ir=P1, t=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
134 [label="Shared(x=2)\nLocal(ir=P1, t=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
135 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=P2, t=3)" style=solid];
136 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=P2, t=2)" style=solid];
137 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=2)" style=solid];
138 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=3)\nLocal(ir=EXIT, t=2)" style=solid];
139 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)" style=solid];
140 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=2)" style=solid];
141 [label="Shared(x=2)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)" style=solid];
142 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)" style=solid];
143 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
144 [label="Shared(x=1)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
145 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=P2, t=1)" style=solid];
146 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
147 [label="Shared(x=2)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
148 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=3)" style=solid];
149 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=2)" style=solid];
150 [label="Shared(x=2)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)" style=solid];
151 [label="Shared(x=2)\nLocal(ir=P2, t=3)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)" style=solid];
152 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=P2, t=1)" style=solid];
153 [label="Shared(x=1)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
154 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=P2, t=1)\nLocal(ir=EXIT, t=1)" style=solid];
155 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=P2, t=3)\nLocal(ir=EXIT, t=1)" style=solid];
156 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
157 [label="Shared(x=2)\nLocal(ir=P2, t=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
158 [label="Shared(x=2)\nLocal(ir=P2, t=3)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)" style=solid];
159 [label="Shared(x=3)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=3)" style=filled];
160 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=2)" style=filled];
161 [label="Shared(x=3)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=3)\nLocal(ir=EXIT, t=2)" style=filled];
162 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)" style=filled];
163 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)" style=filled];
164 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)" style=filled];
165 [label="Shared(x=1)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)" style=filled];
166 [label="Shared(x=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)" style=filled];
167 [label="Shared(x=3)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=3)" style=filled];
168 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)" style=filled];
169 [label="Shared(x=3)\nLocal(ir=EXIT, t=3)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=2)" style=filled];
170 [label="Shared(x=1)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)" style=filled];
171 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)\nLocal(ir=EXIT, t=1)" style=filled];
172 [label="Shared(x=3)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=3)\nLocal(ir=EXIT, t=1)" style=filled];
173 [label="Shared(x=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)" style=filled];
174 [label="Shared(x=3)\nLocal(ir=EXIT, t=3)\nLocal(ir=EXIT, t=2)\nLocal(ir=EXIT, t=1)" style=filled];
0 -> 1 [label="read"];
0 -> 2 [label="read"];
0 -> 3 [label="read"];
1 -> 4 [label="increment"];
1 -> 5 [label="read"];
1 -> 6 [label="read"];
2 -> 5 [label="read"];
2 -> 7 [label="increment"];
2 -> 8 [label="read"];
3 -> 6 [label="read"];
3 -> 8 [label="read"];
3 -> 9 [label="increment"];
4 -> 10 [label="write"];
4 -> 11 [label="read"];
4 -> 12 [label="read"];
5 -> 11 [label="increment"];
5 -> 13 [label="increment"];
5 -> 14 [label="read"];
6 -> 12 [label="increment"];
6 -> 14 [label="read"];
6 -> 15 [label="increment"];
7 -> 13 [label="read"];
7 -> 16 [label="write"];
7 -> 17 [label="read"];
8 -> 14 [label="read"];
8 -> 17 [label="increment"];
8 -> 18 [label="increment"];
9 -> 15 [label="read"];
9 -> 18 [label="read"];
9 -> 19 [label="write"];
10 -> 20 [label="read"];
10 -> 21 [label="read"];
11 -> 22 [label="write"];
11 -> 23 [label="increment"];
11 -> 24 [label="read"];
12 -> 25 [label="write"];
12 -> 24 [label="read"];
12 -> 26 [label="increment"];
13 -> 23 [label="increment"];
13 -> 27 [label="write"];
13 -> 28 [label="read"];
14 -> 24 [label="increment"];
14 -> 28 [label="increment"];
14 -> 29 [label="increment"];
15 -> 26 [label="increment"];
15 -> 29 [label="read"];
15 -> 30 [label="write"];
16 -> 31 [label="read"];
16 -> 32 [label="read"];
17 -> 28 [label="read"];
17 -> 33 [label="write"];
17 -> 34 [label="increment"];
18 -> 29 [label="read"];
18 -> 34 [label="increment"];
18 -> 35 [label="write"];
19 -> 36 [label="read"];
19 -> 37 [label="read"];
20 -> 38 [label="increment"];
20 -> 39 [label="read"];
21 -> 39 [label="read"];
21 -> 40 [label="increment"];
22 -> 41 [label="increment"];
22 -> 42 [label="read"];
23 -> 41 [label="write"];
23 -> 43 [label="write"];
23 -> 44 [label="read"];
24 -> 45 [label="write"];
24 -> 44 [label="increment"];
24 -> 46 [label="increment"];
25 -> 47 [label="read"];
25 -> 48 [label="increment"];
26 -> 48 [label="write"];
26 -> 46 [label="read"];
26 -> 49 [label="write"];
27 -> 43 [label="increment"];
27 -> 50 [label="read"];
28 -> 44 [label="increment"];
28 -> 51 [label="write"];
28 -> 52 [label="increment"];
29 -> 46 [label="increment"];
29 -> 52 [label="increment"];
29 -> 53 [label="write"];
30 -> 49 [label="increment"];
30 -> 54 [label="read"];
31 -> 55 [label="increment"];
31 -> 56 [label="read"];
32 -> 56 [label="read"];
32 -> 57 [label="increment"];
33 -> 58 [label="read"];
33 -> 59 [label="increment"];
34 -> 52 [label="read"];
34 -> 59 [label="write"];
34 -> 60 [label="write"];
35 -> 61 [label="read"];
35 -> 60 [label="increment"];
36 -> 62 [label="increment"];
36 -> 63 [label="read"];
37 -> 63 [label="read"];
37 -> 64 [label="increment"];
38 -> 65 [label="write"];
38 -> 66 [label="read"];
39 -> 66 [label="increment"];
39 -> 67 [label="increment"];
40 -> 67 [label="read"];
40 -> 68 [label="write"];
41 -> 69 [label="write"];
41 -> 70 [label="read"];
42 -> 70 [label="increment"];
42 -> 71 [label="increment"];
43 -> 69 [label="write"];
43 -> 72 [label="read"];
44 -> 73 [label="write"];
44 -> 74 [label="write"];
44 -> 75 [label="increment"];
45 -> 73 [label="increment"];
45 -> 76 [label="increment"];
46 -> 76 [label="write"];
46 -> 75 [label="increment"];
46 -> 77 [label="write"];
47 -> 78 [label="increment"];
47 -> 79 [label="increment"];
48 -> 79 [label="read"];
48 -> 80 [label="write"];
49 -> 80 [label="write"];
49 -> 81 [label="read"];
50 -> 72 [label="increment"];
50 -> 82 [label="increment"];
51 -> 74 [label="increment"];
51 -> 83 [label="increment"];
52 -> 75 [label="increment"];
52 -> 83 [label="write"];
52 -> 84 [label="write"];
53 -> 77 [label="increment"];
53 -> 84 [label="increment"];
54 -> 81 [label="increment"];
54 -> 85 [label="increment"];
55 -> 86 [label="write"];
55 -> 87 [label="read"];
56 -> 87 [label="increment"];
56 -> 88 [label="increment"];
57 -> 88 [label="read"];
57 -> 89 [label="write"];
58 -> 90 [label="increment"];
58 -> 91 [label="increment"];
59 -> 91 [label="read"];
59 -> 92 [label="write"];
60 -> 93 [label="read"];
60 -> 92 [label="write"];
61 -> 94 [label="increment"];
61 -> 93 [label="increment"];
62 -> 95 [label="write"];
62 -> 96 [label="read"];
63 -> 96 [label="increment"];
63 -> 97 [label="increment"];
64 -> 97 [label="read"];
64 -> 98 [label="write"];
65 -> 99 [label="read"];
66 -> 100 [label="write"];
66 -> 101 [label="increment"];
67 -> 101 [label="increment"];
67 -> 102 [label="write"];
68 -> 103 [label="read"];
69 -> 104 [label="read"];
70 -> 104 [label="write"];
70 -> 105 [label="increment"];
71 -> 105 [label="increment"];
71 -> 106 [label="write"];
72 -> 104 [label="write"];
72 -> 107 [label="increment"];
73 -> 108 [label="write"];
73 -> 109 [label="increment"];
74 -> 108 [label="write"];
74 -> 110 [label="increment"];
75 -> 109 [label="write"];
75 -> 110 [label="write"];
75 -> 111 [label="write"];
76 -> 109 [label="increment"];
76 -> 112 [label="write"];
77 -> 112 [label="write"];
77 -> 111 [label="increment"];
78 -> 113 [label="write"];
78 -> 114 [label="increment"];
79 -> 114 [label="increment"];
79 -> 115 [label="write"];
80 -> 115 [label="read"];
81 -> 115 [label="write"];
81 -> 116 [label="increment"];
82 -> 107 [label="increment"];
82 -> 117 [label="write"];
83 -> 110 [label="increment"];
83 -> 118 [label="write"];
84 -> 111 [label="increment"];
84 -> 118 [label="write"];
85 -> 116 [label="increment"];
85 -> 119 [label="write"];
86 -> 120 [label="read"];
87 -> 121 [label="write"];
87 -> 122 [label="increment"];
88 -> 122 [label="increment"];
88 -> 123 [label="write"];
89 -> 124 [label="read"];
90 -> 125 [label="write"];
90 -> 126 [label="increment"];
91 -> 126 [label="increment"];
91 -> 127 [label="write"];
92 -> 127 [label="read"];
93 -> 128 [label="increment"];
93 -> 127 [label="write"];
94 -> 129 [label="write"];
94 -> 128 [label="increment"];
95 -> 130 [label="read"];
96 -> 131 [label="write"];
96 -> 132 [label="increment"];
97 -> 132 [label="increment"];
97 -> 133 [label="write"];
98 -> 134 [label="read"];
99 -> 135 [label="increment"];
100 -> 136 [label="increment"];
101 -> 136 [label="write"];
101 -> 137 [label="write"];
102 -> 137 [label="increment"];
103 -> 138 [label="increment"];
104 -> 139 [label="increment"];
105 -> 139 [label="write"];
105 -> 140 [label="write"];
106 -> 140 [label="increment"];
107 -> 139 [label="write"];
107 -> 141 [label="write"];
108 -> 142 [label="increment"];
109 -> 142 [label="write"];
109 -> 143 [label="write"];
110 -> 142 [label="write"];
110 -> 144 [label="write"];
111 -> 143 [label="write"];
111 -> 144 [label="write"];
112 -> 143 [label="increment"];
113 -> 145 [label="increment"];
114 -> 145 [label="write"];
114 -> 146 [label="write"];
115 -> 146 [label="increment"];
116 -> 146 [label="write"];
116 -> 147 [label="write"];
117 -> 141 [label="increment"];
118 -> 144 [label="increment"];
119 -> 147 [label="increment"];
120 -> 148 [label="increment"];
121 -> 149 [label="increment"];
122 -> 149 [label="write"];
122 -> 150 [label="write"];
123 -> 150 [label="increment"];
124 -> 151 [label="increment"];
125 -> 152 [label="increment"];
126 -> 152 [label="write"];
126 -> 153 [label="write"];
127 -> 153 [label="increment"];
128 -> 154 [label="write"];
128 -> 153 [label="write"];
129 -> 154 [label="increment"];
130 -> 155 [label="increment"];
131 -> 156 [label="increment"];
132 -> 156 [label="write"];
132 -> 157 [label="write"];
133 -> 157 [label="increment"];
134 -> 158 [label="increment"];
135 -> 159 [label="write"];
136 -> 160 [label="write"];
137 -> 160 [label="write"];
138 -> 161 [label="write"];
139 -> 162 [label="write"];
140 -> 163 [label="write"];
141 -> 163 [label="write"];
142 -> 164 [label="write"];
143 -> 164 [label="write"];
144 -> 164 [label="write"];
145 -> 165 [label="write"];
146 -> 166 [label="write"];
147 -> 165 [label="write"];
148 -> 167 [label="write"];
149 -> 168 [label="write"];
150 -> 168 [label="write"];
151 -> 169 [label="write"];
152 -> 170 [label="write"];
153 -> 171 [label="write"];
154 -> 170 [label="write"];
155 -> 172 [label="write"];
156 -> 173 [label="write"];
157 -> 173 [label="write"];
158 -> 174 [label="write"];
}
これを GraphViz (dot コマンド)に食わせると、こんな絵ができる。(デカすぎて入りきらない)
この記事が気に入ったらサポートをしてみませんか?