[MLton] cvs commit: decreasing liveness information in large
SSA functions
Stephen Weeks
MLton@mlton.org
Thu, 1 Jul 2004 08:08:53 -0700
> You can try -native-optimize 0 to turn off all the x86-codegen
> optimizations.
Running now.
> If you system has nothing to do overnight, you could also try -verbose 3
> so we can see the breakdown in the x86-codegen sub-passes.
Here's the data from last night's compile.
outputAssembly starting
translateChunk totals 21125.19 + 5368.05 (20% GC)
simplify totals 1496.73 + 94.67 (6% GC)
completeLiveInfo totals 210.03 + 1.49 (1% GC)
completeJumpInfo totals 0.23 + 0.00 (0% GC)
elimGoto totals 3.07 + 0.91 (23% GC)
elimIff: 6 / 6
elimSwitchTest: 0 / 0
elimSwitchCases: 3 / 3
elimSimpleGoto totals 0.65 + 0.12 (16% GC)
elimComplexGoto totals 0.30 + 0.00 (0% GC)
elimBlocks totals 1.24 + 0.50 (29% GC)
verifyJumpInfo totals 0.00 + 0.00 (0% GC)
verifyEntryTransfer totals 0.00 + 0.00 (0% GC)
peepholeBlock_pre totals 2.27 + 0.20 (8% GC)
commuteBinALMD: 996 / 996
elimAddSub1: 1808 / 1808
elimMDPow2: 20 / 20
toLivenessBlock totals 123.97 + 1.60 (1% GC)
moveHoist totals 215.01 + 12.63 (6% GC)
peepholeLivenessBlock totals 221.88 + 28.40 (11% GC)
elimALCopy: 476146 / 3516241
elimFltACopy: 85 / 87
elimDeadDsts: 25567 / 25567
elimSelfMove: 70109 / 70109
elimFltSelfMove: 0 / 0
commuteBinALMD: 199 / 5728609
commuteFltBinA: 8 / 41
conditionalJump: 33389 / 33392
copyPropagate totals 706.32 + 48.89 (6% GC)
peepholeLivenessBlock_minor totals 1.70 + 0.13 (7% GC)
elimDeadDsts_minor: 0 / 0
elimSelfMove_minor: 2 / 2
elimFltSelfMove_minor: 0 / 0
verifyLivenessBlock totals 0.00 + 0.00 (0% GC)
toBlock totals 1.03 + 0.00 (0% GC)
peepholeBlock_post totals 1.96 + 0.00 (0% GC)
elimBinALMDDouble: 15 / 142090
elimFltBinADouble: 0 / 19
elimCMPTEST: 6 / 158171
elimCMP0: 4370 / 4370
elimALTEST: 4073 / 4110
generateTransfers totals 112.92 + 3.78 (3% GC)
verifyLiveInfo totals 0.00 + 0.00 (0% GC)
verifyJumpInfo totals 0.00 + 0.00 (0% GC)
verifyEntryTransfer totals 0.00 + 0.00 (0% GC)
createLoopInfo totals 1.39 + 0.12 (8% GC)
computeLiveTransfers totals 23.97 + 0.22 (1% GC)
allocateRegisters totals 884.52 + 15.31 (2% GC)
toLiveness totals 617.62 + 0.97 (0% GC)
toNoLiveness totals 0.12 + 0.00 (0% GC)
Assembly.allocateRegisters totals 261.43 + 14.34 (5% GC)
Instruction.allocateRegisters totals 215.11 + 11.00 (5% GC)
pre totals 20.73 + 1.32 (6% GC)
post totals 19.23 + 2.58 (12% GC)
allocateOperand totals 106.19 + 2.31 (2% GC)
allocateFltOperand totals 0.00 + 0.00 (0% GC)
allocateFltStackOperands totals 0.00 + 0.00 (0% GC)
Directive.allocateRegisters totals 18.46 + 0.87 (5% GC)
validate totals 1.68 + 0.00 (0% GC)
outputAssembly finished in 24578.80 + 5485.23 (18% GC)