FIR CFG: remove ordering from control flow through in-place lambdas
Old graph:
arg -> lambda enter -> ... -> lambda exit -> lambda enter -> ... ->
-> lambda exit -> call
New graph:
arg -+-> lambda enter -> ... -> lambda exit -+-> call
\-> lambda enter -> ... -> lambda exit -/
This commit is contained in:
+97
-84
@@ -209,8 +209,8 @@ digraph flowFromInplaceLambda_kt {
|
||||
}
|
||||
60 -> {61};
|
||||
61 -> {62};
|
||||
62 -> {70};
|
||||
62 -> {63} [color=red];
|
||||
62 -> {70 64};
|
||||
62 -> {63} [style=dotted];
|
||||
62 -> {70} [style=dashed];
|
||||
63 -> {64};
|
||||
64 -> {65};
|
||||
@@ -223,8 +223,7 @@ digraph flowFromInplaceLambda_kt {
|
||||
72 -> {73};
|
||||
73 -> {74};
|
||||
74 -> {75};
|
||||
75 -> {64} [color=red];
|
||||
75 -> {63} [color=green];
|
||||
75 -> {63};
|
||||
|
||||
subgraph cluster_20 {
|
||||
color=red
|
||||
@@ -286,18 +285,20 @@ digraph flowFromInplaceLambda_kt {
|
||||
}
|
||||
76 -> {77};
|
||||
77 -> {78};
|
||||
78 -> {97};
|
||||
78 -> {79} [color=red];
|
||||
78 -> {97 80};
|
||||
78 -> {79} [style=dotted];
|
||||
78 -> {97} [style=dashed];
|
||||
79 -> {80};
|
||||
79 -> {81} [color=red];
|
||||
79 -> {80} [color=green];
|
||||
80 -> {81};
|
||||
81 -> {82};
|
||||
82 -> {83};
|
||||
83 -> {84};
|
||||
84 -> {105};
|
||||
84 -> {85} [color=red];
|
||||
84 -> {105 86};
|
||||
84 -> {85} [style=dotted];
|
||||
84 -> {105} [style=dashed];
|
||||
85 -> {86};
|
||||
85 -> {87} [color=red];
|
||||
85 -> {86} [color=green];
|
||||
86 -> {87};
|
||||
87 -> {88};
|
||||
88 -> {89};
|
||||
@@ -315,8 +316,7 @@ digraph flowFromInplaceLambda_kt {
|
||||
101 -> {102};
|
||||
102 -> {103};
|
||||
103 -> {104};
|
||||
104 -> {81} [color=red];
|
||||
104 -> {79} [color=green];
|
||||
104 -> {79};
|
||||
105 -> {106};
|
||||
106 -> {107};
|
||||
107 -> {108};
|
||||
@@ -327,8 +327,7 @@ digraph flowFromInplaceLambda_kt {
|
||||
112 -> {113};
|
||||
113 -> {114};
|
||||
114 -> {115};
|
||||
115 -> {87} [color=red];
|
||||
115 -> {85} [color=green];
|
||||
115 -> {85};
|
||||
|
||||
subgraph cluster_26 {
|
||||
color=red
|
||||
@@ -390,19 +389,21 @@ digraph flowFromInplaceLambda_kt {
|
||||
}
|
||||
116 -> {117};
|
||||
117 -> {118};
|
||||
118 -> {137};
|
||||
118 -> {119} [color=red];
|
||||
118 -> {137 120};
|
||||
118 -> {119} [style=dotted];
|
||||
118 -> {137} [style=dashed];
|
||||
119 -> {120};
|
||||
119 -> {121} [color=red];
|
||||
119 -> {120} [color=green];
|
||||
119 -> {118} [color=green style=dashed];
|
||||
120 -> {121};
|
||||
121 -> {122};
|
||||
122 -> {123};
|
||||
123 -> {124};
|
||||
124 -> {145};
|
||||
124 -> {125} [color=red];
|
||||
124 -> {145 126};
|
||||
124 -> {125} [style=dotted];
|
||||
124 -> {145} [style=dashed];
|
||||
125 -> {126};
|
||||
125 -> {127} [color=red];
|
||||
125 -> {126} [color=green];
|
||||
125 -> {124} [color=green style=dashed];
|
||||
126 -> {127};
|
||||
127 -> {128};
|
||||
@@ -421,8 +422,7 @@ digraph flowFromInplaceLambda_kt {
|
||||
141 -> {142};
|
||||
142 -> {143};
|
||||
143 -> {144};
|
||||
144 -> {121} [color=red];
|
||||
144 -> {119} [color=green];
|
||||
144 -> {119};
|
||||
145 -> {146};
|
||||
146 -> {147};
|
||||
147 -> {148};
|
||||
@@ -433,8 +433,7 @@ digraph flowFromInplaceLambda_kt {
|
||||
152 -> {153};
|
||||
153 -> {154};
|
||||
154 -> {155};
|
||||
155 -> {127} [color=red];
|
||||
155 -> {125} [color=green];
|
||||
155 -> {125};
|
||||
|
||||
subgraph cluster_32 {
|
||||
color=red
|
||||
@@ -494,16 +493,18 @@ digraph flowFromInplaceLambda_kt {
|
||||
}
|
||||
156 -> {157};
|
||||
157 -> {158};
|
||||
158 -> {159 176};
|
||||
158 -> {159 176 160};
|
||||
158 -> {176} [style=dashed];
|
||||
159 -> {160};
|
||||
159 -> {161} [color=red];
|
||||
159 -> {160} [color=green];
|
||||
160 -> {161};
|
||||
161 -> {162};
|
||||
162 -> {163};
|
||||
163 -> {164};
|
||||
164 -> {165 184};
|
||||
164 -> {165 184 166};
|
||||
164 -> {184} [style=dashed];
|
||||
165 -> {166};
|
||||
165 -> {167} [color=red];
|
||||
165 -> {166} [color=green];
|
||||
166 -> {167};
|
||||
167 -> {168};
|
||||
168 -> {169};
|
||||
@@ -590,17 +591,19 @@ digraph flowFromInplaceLambda_kt {
|
||||
}
|
||||
194 -> {195};
|
||||
195 -> {196};
|
||||
196 -> {197 214};
|
||||
196 -> {197 214 198};
|
||||
196 -> {214} [style=dashed];
|
||||
197 -> {198};
|
||||
197 -> {199} [color=red];
|
||||
197 -> {198} [color=green];
|
||||
197 -> {196} [color=green style=dashed];
|
||||
198 -> {199};
|
||||
199 -> {200};
|
||||
200 -> {201};
|
||||
201 -> {202};
|
||||
202 -> {203 222};
|
||||
202 -> {203 222 204};
|
||||
202 -> {222} [style=dashed];
|
||||
203 -> {204};
|
||||
203 -> {205} [color=red];
|
||||
203 -> {204} [color=green];
|
||||
203 -> {202} [color=green style=dashed];
|
||||
204 -> {205};
|
||||
205 -> {206};
|
||||
@@ -688,16 +691,18 @@ digraph flowFromInplaceLambda_kt {
|
||||
}
|
||||
232 -> {233};
|
||||
233 -> {234};
|
||||
234 -> {235 252};
|
||||
234 -> {235 252 236};
|
||||
234 -> {252} [style=dashed];
|
||||
235 -> {236};
|
||||
235 -> {237} [color=red];
|
||||
235 -> {236} [color=green];
|
||||
236 -> {237};
|
||||
237 -> {238};
|
||||
238 -> {239};
|
||||
239 -> {240};
|
||||
240 -> {241 260};
|
||||
240 -> {241 260 242};
|
||||
240 -> {260} [style=dashed];
|
||||
241 -> {242};
|
||||
241 -> {243} [color=red];
|
||||
241 -> {242} [color=green];
|
||||
242 -> {243};
|
||||
243 -> {244};
|
||||
244 -> {245};
|
||||
@@ -787,16 +792,18 @@ digraph flowFromInplaceLambda_kt {
|
||||
}
|
||||
270 -> {271};
|
||||
271 -> {272};
|
||||
272 -> {289};
|
||||
272 -> {273} [color=red];
|
||||
272 -> {289 274};
|
||||
272 -> {273} [style=dotted];
|
||||
272 -> {289} [style=dashed];
|
||||
273 -> {274};
|
||||
273 -> {279} [color=red];
|
||||
273 -> {274} [color=green];
|
||||
274 -> {275};
|
||||
275 -> {276};
|
||||
276 -> {301};
|
||||
276 -> {277} [color=red];
|
||||
276 -> {301 278};
|
||||
276 -> {277} [style=dotted];
|
||||
276 -> {301} [style=dashed];
|
||||
277 -> {278};
|
||||
277 -> {279} [color=red];
|
||||
277 -> {278} [color=green];
|
||||
278 -> {279};
|
||||
279 -> {280};
|
||||
280 -> {281};
|
||||
@@ -818,8 +825,7 @@ digraph flowFromInplaceLambda_kt {
|
||||
297 -> {298};
|
||||
298 -> {299};
|
||||
299 -> {300};
|
||||
300 -> {279} [color=red];
|
||||
300 -> {273} [color=green];
|
||||
300 -> {273};
|
||||
301 -> {302};
|
||||
302 -> {303};
|
||||
303 -> {304};
|
||||
@@ -831,8 +837,7 @@ digraph flowFromInplaceLambda_kt {
|
||||
309 -> {310};
|
||||
310 -> {311};
|
||||
311 -> {312};
|
||||
312 -> {279} [color=red];
|
||||
312 -> {277} [color=green];
|
||||
312 -> {277};
|
||||
|
||||
subgraph cluster_56 {
|
||||
color=red
|
||||
@@ -897,17 +902,19 @@ digraph flowFromInplaceLambda_kt {
|
||||
}
|
||||
313 -> {314};
|
||||
314 -> {315};
|
||||
315 -> {332};
|
||||
315 -> {316} [color=red];
|
||||
315 -> {332 317};
|
||||
315 -> {316} [style=dotted];
|
||||
315 -> {332} [style=dashed];
|
||||
316 -> {317};
|
||||
316 -> {322} [color=red];
|
||||
316 -> {317} [color=green];
|
||||
316 -> {315} [color=green style=dashed];
|
||||
317 -> {318};
|
||||
318 -> {319};
|
||||
319 -> {344};
|
||||
319 -> {320} [color=red];
|
||||
319 -> {344 321};
|
||||
319 -> {320} [style=dotted];
|
||||
319 -> {344} [style=dashed];
|
||||
320 -> {321};
|
||||
320 -> {322} [color=red];
|
||||
320 -> {321} [color=green];
|
||||
320 -> {319} [color=green style=dashed];
|
||||
321 -> {322};
|
||||
322 -> {323};
|
||||
@@ -930,8 +937,7 @@ digraph flowFromInplaceLambda_kt {
|
||||
340 -> {341};
|
||||
341 -> {342};
|
||||
342 -> {343};
|
||||
343 -> {322} [color=red];
|
||||
343 -> {316} [color=green];
|
||||
343 -> {316};
|
||||
344 -> {345};
|
||||
345 -> {346};
|
||||
346 -> {347};
|
||||
@@ -943,8 +949,7 @@ digraph flowFromInplaceLambda_kt {
|
||||
352 -> {353};
|
||||
353 -> {354};
|
||||
354 -> {355};
|
||||
355 -> {322} [color=red];
|
||||
355 -> {320} [color=green];
|
||||
355 -> {320};
|
||||
|
||||
subgraph cluster_62 {
|
||||
color=red
|
||||
@@ -1007,14 +1012,16 @@ digraph flowFromInplaceLambda_kt {
|
||||
}
|
||||
356 -> {357};
|
||||
357 -> {358};
|
||||
358 -> {359 373};
|
||||
358 -> {359 373 360};
|
||||
358 -> {373} [style=dashed];
|
||||
359 -> {360};
|
||||
359 -> {365} [color=red];
|
||||
359 -> {360} [color=green];
|
||||
360 -> {361};
|
||||
361 -> {362};
|
||||
362 -> {363 385};
|
||||
362 -> {363 385 364};
|
||||
362 -> {385} [style=dashed];
|
||||
363 -> {364};
|
||||
363 -> {365} [color=red];
|
||||
363 -> {364} [color=green];
|
||||
364 -> {365};
|
||||
365 -> {366};
|
||||
366 -> {367};
|
||||
@@ -1109,15 +1116,17 @@ digraph flowFromInplaceLambda_kt {
|
||||
}
|
||||
397 -> {398};
|
||||
398 -> {399};
|
||||
399 -> {400 414};
|
||||
399 -> {400 414 401};
|
||||
399 -> {414} [style=dashed];
|
||||
400 -> {401};
|
||||
400 -> {406} [color=red];
|
||||
400 -> {401} [color=green];
|
||||
400 -> {399} [color=green style=dashed];
|
||||
401 -> {402};
|
||||
402 -> {403};
|
||||
403 -> {404 426};
|
||||
403 -> {404 426 405};
|
||||
403 -> {426} [style=dashed];
|
||||
404 -> {405};
|
||||
404 -> {406} [color=red];
|
||||
404 -> {405} [color=green];
|
||||
404 -> {403} [color=green style=dashed];
|
||||
405 -> {406};
|
||||
406 -> {407};
|
||||
@@ -1213,14 +1222,16 @@ digraph flowFromInplaceLambda_kt {
|
||||
}
|
||||
438 -> {439};
|
||||
439 -> {440};
|
||||
440 -> {441 455};
|
||||
440 -> {441 455 442};
|
||||
440 -> {455} [style=dashed];
|
||||
441 -> {442};
|
||||
441 -> {447} [color=red];
|
||||
441 -> {442} [color=green];
|
||||
442 -> {443};
|
||||
443 -> {444};
|
||||
444 -> {445 467};
|
||||
444 -> {445 467 446};
|
||||
444 -> {467} [style=dashed];
|
||||
445 -> {446};
|
||||
445 -> {447} [color=red];
|
||||
445 -> {446} [color=green];
|
||||
446 -> {447};
|
||||
447 -> {448};
|
||||
448 -> {449};
|
||||
@@ -1296,15 +1307,17 @@ digraph flowFromInplaceLambda_kt {
|
||||
}
|
||||
479 -> {480};
|
||||
480 -> {481};
|
||||
481 -> {493};
|
||||
481 -> {482} [color=red];
|
||||
481 -> {493 483};
|
||||
481 -> {482} [style=dotted];
|
||||
481 -> {493} [style=dashed];
|
||||
482 -> {483};
|
||||
482 -> {487} [color=red];
|
||||
482 -> {483} [color=green];
|
||||
483 -> {484};
|
||||
484 -> {498};
|
||||
484 -> {485} [color=red];
|
||||
484 -> {498 486};
|
||||
484 -> {485} [style=dotted];
|
||||
484 -> {498} [style=dashed];
|
||||
485 -> {486};
|
||||
485 -> {487} [color=red];
|
||||
485 -> {486} [color=green];
|
||||
486 -> {487};
|
||||
487 -> {488};
|
||||
488 -> {489};
|
||||
@@ -1315,14 +1328,12 @@ digraph flowFromInplaceLambda_kt {
|
||||
494 -> {495};
|
||||
495 -> {496};
|
||||
496 -> {497};
|
||||
497 -> {487} [color=red];
|
||||
497 -> {482} [color=green];
|
||||
497 -> {482};
|
||||
498 -> {499};
|
||||
499 -> {500};
|
||||
500 -> {501};
|
||||
501 -> {502};
|
||||
502 -> {487} [color=red];
|
||||
502 -> {485} [color=green];
|
||||
502 -> {485};
|
||||
|
||||
subgraph cluster_86 {
|
||||
color=red
|
||||
@@ -1367,9 +1378,10 @@ digraph flowFromInplaceLambda_kt {
|
||||
}
|
||||
503 -> {504};
|
||||
504 -> {505};
|
||||
505 -> {506 514};
|
||||
505 -> {506 514 507};
|
||||
505 -> {514} [style=dashed];
|
||||
506 -> {507};
|
||||
506 -> {508} [color=red];
|
||||
506 -> {507} [color=green];
|
||||
507 -> {508};
|
||||
508 -> {509};
|
||||
509 -> {510};
|
||||
@@ -1378,16 +1390,17 @@ digraph flowFromInplaceLambda_kt {
|
||||
512 -> {513};
|
||||
514 -> {515};
|
||||
515 -> {516};
|
||||
516 -> {521};
|
||||
516 -> {517} [color=red];
|
||||
516 -> {521 518};
|
||||
516 -> {517} [style=dotted];
|
||||
516 -> {521} [style=dashed];
|
||||
517 -> {518};
|
||||
517 -> {508} [color=red];
|
||||
517 -> {518} [color=green];
|
||||
518 -> {519};
|
||||
519 -> {520};
|
||||
521 -> {522};
|
||||
522 -> {523};
|
||||
523 -> {524};
|
||||
524 -> {525};
|
||||
525 -> {517} [color=green];
|
||||
525 -> {517};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user