[MLton] MLton HOL
Stephen Weeks
MLton@mlton.org
Wed, 14 Jul 2004 13:16:28 -0700
Here are the main time killers.
simplify totals 14400.82 + 3988.40 (22% GC)
completeLiveInfo totals 3832.30 + 69.23 (2% GC)
toLivenessBlock totals 2298.43 + 218.54 (9% GC)
moveHoist totals 3684.31 + 2311.31 (39% GC)
peepholeLivenessBlock totals 4319.30 + 1247.83 (22% GC)
generateTransfers totals 1679.89 + 146.00 (8% GC)
allocateRegisters totals 11986.13 + 1465.35 (11% GC)
toLiveness totals 10237.32 + 28.84 (0% GC)
Assembly.allocateRegisters totals 1736.56 + 1169.40 (40% GC)
Instruction.allocateRegisters totals 1619.94 + 948.96 (37% GC)
I am pleased to see copy propagation not there. It makes me wonder if
we could generalize Control.Native.copyPropCutoff to other situations
where the codegen is doing something quadratic in the size of a basic
block, and that something could be safely eliminated for large blocks.