[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)