Mercurial > urweb
comparison src/especialize.sml @ 520:3f20c22098af
Untangle and shake within Especialize loop
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 27 Nov 2008 12:04:54 -0500 |
parents | 5521bb0b4014 |
children | 31aba58a5b5b |
comparison
equal
deleted
inserted
replaced
519:23a88d81a1b5 | 520:3f20c22098af |
---|---|
347 end | 347 end |
348 | 348 |
349 fun specialize file = | 349 fun specialize file = |
350 let | 350 let |
351 (*val () = Print.prefaces "Intermediate" [("file", CorePrint.p_file CoreEnv.empty file)];*) | 351 (*val () = Print.prefaces "Intermediate" [("file", CorePrint.p_file CoreEnv.empty file)];*) |
352 val file = ReduceLocal.reduce file | 352 (*val file = ReduceLocal.reduce file*) |
353 val (changed, file) = specialize' file | 353 val (changed, file) = specialize' file |
354 val file = ReduceLocal.reduce file | 354 (*val file = ReduceLocal.reduce file |
355 (*val file = CoreUntangle.untangle file | 355 val file = CoreUntangle.untangle file |
356 val file = Shake.shake file*) | 356 val file = Shake.shake file*) |
357 in | 357 in |
358 (*print "Round over\n";*) | 358 (*print "Round over\n";*) |
359 if changed then | 359 if changed then |
360 specialize file | 360 let |
361 val file = ReduceLocal.reduce file | |
362 val file = CoreUntangle.untangle file | |
363 val file = Shake.shake file | |
364 in | |
365 (*print "Again!\n";*) | |
366 specialize file | |
367 end | |
361 else | 368 else |
362 file | 369 file |
363 end | 370 end |
364 | 371 |
365 end | 372 end |