-
-
Save amanasifkhalid/19f92b9b0748d4bdf9c64709000a729d to your computer and use it in GitHub Desktop.
Benchstone.BenchF.NewtR:Test
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
****** START compiling Benchstone.BenchF.NewtR:Test():ubyte:this (MethodHash=fdbe92ce) | |
Generating code for Windows x64 | |
OPTIONS: Tier-1 compilation | |
OPTIONS: OSR variant with entry point 0x64 | |
OPTIONS: compCodeOpt = FAST_CODE | |
OPTIONS: compDbgCode = false | |
OPTIONS: compDbgInfo = true | |
OPTIONS: compDbgEnC = false | |
OPTIONS: compProcedureSplitting = false | |
OPTIONS: compProcedureSplittingEH = false | |
OPTIONS: optimizer should use profile data | |
IL to import: | |
IL_0000 16 ldc.i4.0 | |
IL_0001 0b stloc.1 | |
IL_0002 16 ldc.i4.0 | |
IL_0003 0a stloc.0 | |
IL_0004 23 00 00 00 00 00 00 00 00 ldc.r8 0.000000 | |
IL_000d 0d stloc.3 | |
IL_000e 23 00 00 00 00 00 00 f0 3f ldc.r8 1.000000 | |
IL_0017 0c stloc.2 | |
IL_0018 17 ldc.i4.1 | |
IL_0019 13 04 stloc.s 0x4 | |
IL_001b 2b 47 br.s 71 (IL_0064) | |
IL_001d 12 02 ldloca.s 0x2 | |
IL_001f 23 48 af bc 9a f2 d7 7a 3e ldc.r8 0.000000 | |
IL_0028 23 48 af bc 9a f2 d7 7a 3e ldc.r8 0.000000 | |
IL_0031 1f 0a ldc.i4.s 0xA | |
IL_0033 12 01 ldloca.s 0x1 | |
IL_0035 28 82 10 00 06 call 0x6001082 | |
IL_003a 07 ldloc.1 | |
IL_003b 17 ldc.i4.1 | |
IL_003c 30 20 bgt.s 32 (IL_005e) | |
IL_003e 08 ldloc.2 | |
IL_003f 28 80 10 00 06 call 0x6001080 | |
IL_0044 0d stloc.3 | |
IL_0045 06 ldloc.0 | |
IL_0046 2c 16 brfalse.s 22 (IL_005e) | |
IL_0048 72 0e 4c 00 70 ldstr 0x70004C0E | |
IL_004d 08 ldloc.2 | |
IL_004e 8c 2f 02 00 01 box 0x100022F | |
IL_0053 09 ldloc.3 | |
IL_0054 8c 2f 02 00 01 box 0x100022F | |
IL_0059 28 34 01 00 0a call 0xA000134 | |
IL_005e 11 04 ldloc.s 0x4 | |
IL_0060 17 ldc.i4.1 | |
IL_0061 58 add | |
IL_0062 13 04 stloc.s 0x4 | |
IL_0064 11 04 ldloc.s 0x4 | |
IL_0066 20 00 b4 c4 04 ldc.i4 0x4C4B400 | |
IL_006b 31 b0 ble.s -80 (IL_001d) | |
IL_006d 07 ldloc.1 | |
IL_006e 8c 36 02 00 01 box 0x1000236 | |
IL_0073 28 7e 10 00 06 call 0x600107E | |
IL_0078 08 ldloc.2 | |
IL_0079 8c 2f 02 00 01 box 0x100022F | |
IL_007e 28 7e 10 00 06 call 0x600107E | |
IL_0083 09 ldloc.3 | |
IL_0084 8c 2f 02 00 01 box 0x100022F | |
IL_0089 28 7e 10 00 06 call 0x600107E | |
IL_008e 17 ldc.i4.1 | |
IL_008f 2a ret | |
lvaSetClass: setting class for V00 to (00007FFA992523B8) Benchstone.BenchF.NewtR | |
'this' passed in register rcx | |
Parameter V00 ABI info: [00..08) reg rcx | |
-- V02 is OSR exposed | |
-- V03 is OSR exposed | |
lvaGrabTemp returning 6 (V06 tmp0) (a long lifetime temp) called for OutgoingArgSpace. | |
Local V06 should not be enregistered because: it is address exposed | |
; Initial local variable assignments | |
; | |
; V00 this ref this class-hnd tier0-frame <Benchstone.BenchF.NewtR> | |
; V01 loc0 int tier0-frame | |
; V02 loc1 int tier0-frame | |
; V03 loc2 double tier0-frame | |
; V04 loc3 double tier0-frame | |
; V05 loc4 int tier0-frame | |
; V06 OutArgs struct <0> do-not-enreg[XS] addr-exposed "OutgoingArgSpace" | |
*************** In compInitDebuggingInfo() for Benchstone.BenchF.NewtR:Test():ubyte:this | |
getVars() returned cVars = 0, extendOthers = true | |
info.compVarScopesCount = 6 | |
VarNum LVNum Name Beg End | |
0: 00h 00h V00 this 000h 090h | |
1: 01h 01h V01 loc0 000h 090h | |
2: 02h 02h V02 loc1 000h 090h | |
3: 03h 03h V03 loc2 000h 090h | |
4: 04h 04h V04 loc3 000h 090h | |
5: 05h 05h V05 loc4 000h 090h | |
info.compStmtOffsetsCount = 0 | |
info.compStmtOffsetsImplicit = 0005h ( STACK_EMPTY CALL_SITE ) | |
*************** In fgFindBasicBlocks() for Benchstone.BenchF.NewtR:Test():ubyte:this | |
Marked V01 as a single def local | |
Jump targets: | |
IL_001d | |
IL_005e | |
IL_0064 | |
New Basic Block BB01 [0000] created. | |
BB01 [0000] [000..01D) | |
New Basic Block BB02 [0001] created. | |
BB02 [0001] [01D..03E) | |
New Basic Block BB03 [0002] created. | |
BB03 [0002] [03E..048) | |
New Basic Block BB04 [0003] created. | |
BB04 [0003] [048..05E) | |
New Basic Block BB05 [0004] created. | |
BB05 [0004] [05E..064) | |
New Basic Block BB06 [0005] created. | |
BB06 [0005] [064..06D) | |
New Basic Block BB07 [0006] created. | |
BB07 [0006] [06D..090) | |
setting likelihood of BB01 -> BB06 to 1 | |
setting likelihood of BB02 -> BB05 to 0.5 | |
setting likelihood of BB02 -> BB03 to 0.5 | |
setting likelihood of BB03 -> BB05 to 0.5 | |
setting likelihood of BB03 -> BB04 to 0.5 | |
setting likelihood of BB04 -> BB05 to 1 | |
setting likelihood of BB05 -> BB06 to 1 | |
setting likelihood of BB06 -> BB02 to 0.5 | |
setting likelihood of BB06 -> BB07 to 0.5 | |
IL Code Size,Instr 144, 49, Basic Block count 7, Local Variable Num,Ref count 7, 19 for method Benchstone.BenchF.NewtR:Test():ubyte:this | |
OPTIONS: opts.MinOpts() == false | |
Basic block list for 'Benchstone.BenchF.NewtR:Test():ubyte:this' | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 100 [000..01D)-> BB06(1) (always) original-entry | |
BB02 [0001] 1 BB06 100 [01D..03E)-> BB05(0.5),BB03(0.5) ( cond ) bwd bwd-target | |
BB03 [0002] 1 BB02 100 [03E..048)-> BB05(0.5),BB04(0.5) ( cond ) bwd | |
BB04 [0003] 1 BB03 100 [048..05E)-> BB05(1) (always) bwd | |
BB05 [0004] 3 BB02,BB03,BB04 100 [05E..064)-> BB06(1) (always) bwd | |
BB06 [0005] 2 BB01,BB05 100 [064..06D)-> BB02(0.5),BB07(0.5) ( cond ) bwd bwd-src osr-entry | |
BB07 [0006] 1 BB06 100 [06D..090) (return) | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Starting PHASE Pre-import | |
*************** Finishing PHASE Pre-import | |
Trees after Pre-import | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 100 [000..01D)-> BB06(1) (always) original-entry | |
BB02 [0001] 1 BB06 100 [01D..03E)-> BB05(0.5),BB03(0.5) ( cond ) bwd bwd-target | |
BB03 [0002] 1 BB02 100 [03E..048)-> BB05(0.5),BB04(0.5) ( cond ) bwd | |
BB04 [0003] 1 BB03 100 [048..05E)-> BB05(1) (always) bwd | |
BB05 [0004] 3 BB02,BB03,BB04 100 [05E..064)-> BB06(1) (always) bwd | |
BB06 [0005] 2 BB01,BB05 100 [064..06D)-> BB02(0.5),BB07(0.5) ( cond ) bwd bwd-src osr-entry | |
BB07 [0006] 1 BB06 100 [06D..090) (return) | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0000] [000..01D) -> BB06(1) (always), preds={} succs={BB06} | |
------------ BB02 [0001] [01D..03E) -> BB05(0.5),BB03(0.5) (cond), preds={BB06} succs={BB03,BB05} | |
------------ BB03 [0002] [03E..048) -> BB05(0.5),BB04(0.5) (cond), preds={BB02} succs={BB04,BB05} | |
------------ BB04 [0003] [048..05E) -> BB05(1) (always), preds={BB03} succs={BB05} | |
------------ BB05 [0004] [05E..064) -> BB06(1) (always), preds={BB02,BB03,BB04} succs={BB06} | |
------------ BB06 [0005] [064..06D) -> BB02(0.5),BB07(0.5) (cond), preds={BB01,BB05} succs={BB07,BB02} | |
------------ BB07 [0006] [06D..090) (return), preds={BB06} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** Starting PHASE Profile incorporation | |
Have Dynamic PGO: 4 schema records (schema at 0000023D00070900, data at 0000023D00070960) | |
Profile summary: 1 runs, 0 block probes, 4 edge probes, 0 class profiles, 0 method profiles, 0 other records | |
Reconstructing block counts from sparse edge instrumentation | |
... adding known edge BB04 -> BB05: weight 0 | |
... adding known edge BB05 -> BB06: weight 10000 | |
... adding known edge BB07 -> BB01: weight 0 | |
... adding known edge BB03 -> BB05: weight 0 | |
New BlockSet epoch 1, # of blocks (including unused BB00): 8, bitset array size: 1 (short) | |
... unknown edge BB01 -> BB06 | |
... unknown edge BB06 -> BB02 | |
... unknown edge BB06 -> BB07 | |
... pseudo edge BB07 -> BB01 | |
... unknown edge BB02 -> BB03 | |
... unknown edge BB02 -> BB05 | |
... known edge BB05 -> BB06 | |
... unknown edge BB03 -> BB04 | |
... known edge BB03 -> BB05 | |
... known edge BB04 -> BB05 | |
Method is OSR, adding pseudo edge from osr entry to first block | |
... pseudo edge BB06 -> BB01 | |
Solver: 7 blocks, 7 unknown; 11 edges, 6 unknown, 0 zero | |
Pass [1]: 7 unknown blocks, 6 unknown edges | |
BB07: 1 incoming unknown, 0 outgoing unknown | |
BB07: all outgoing edge weights known, summing... | |
BB07 -> BB01 has weight 0 | |
BB07: all outgoing edge weights known, sum is 0 | |
BB06 -> BB07: target block weight and all other incoming edge weights known, so weight is 0 | |
BB06: 1 incoming unknown, 1 outgoing unknown | |
BB05: 1 incoming unknown, 0 outgoing unknown | |
BB05: all outgoing edge weights known, summing... | |
BB05 -> BB06 has weight 10000 | |
BB05: all outgoing edge weights known, sum is 10000 | |
BB02 -> BB05: target block weight and all other incoming edge weights known, so weight is 10000 | |
BB04: 1 incoming unknown, 0 outgoing unknown | |
BB04: all outgoing edge weights known, summing... | |
BB04 -> BB05 has weight 0 | |
BB04: all outgoing edge weights known, sum is 0 | |
BB03 -> BB04: target block weight and all other incoming edge weights known, so weight is 0 | |
BB03: 1 incoming unknown, 0 outgoing unknown | |
BB03: all outgoing edge weights known, summing... | |
BB03 -> BB05 has weight 0 | |
BB03 -> BB04 has weight 0 | |
BB03: all outgoing edge weights known, sum is 0 | |
BB02 -> BB03: target block weight and all other incoming edge weights known, so weight is 0 | |
BB02: 1 incoming unknown, 0 outgoing unknown | |
BB02: all outgoing edge weights known, summing... | |
BB02 -> BB05 has weight 10000 | |
BB02 -> BB03 has weight 0 | |
BB02: all outgoing edge weights known, sum is 10000 | |
BB06 -> BB02: target block weight and all other incoming edge weights known, so weight is 10000 | |
BB01: 0 incoming unknown, 1 outgoing unknown | |
BB01: all incoming edge weights known, summing... | |
BB06 -> BB01 has weight 1 | |
BB07 -> BB01 has weight 0 | |
BB01: all incoming edge weights known, sum is 1 | |
BB01 -> BB06: source block weight and all other outgoing edge weights known, so weight is 1 | |
Pass [2]: 1 unknown blocks, 0 unknown edges | |
BB06: 0 incoming unknown, 0 outgoing unknown | |
BB06: all incoming edge weights known, summing... | |
BB05 -> BB06 has weight 10000 | |
BB01 -> BB06 has weight 1 | |
BB06: all incoming edge weights known, sum is 10001 | |
Solver: converged in 2 passes | |
Normalizing successor likelihoods with factor 1/1 | |
Setting likelihood of BB01 -> BB06 to 1 (uniq) | |
setting likelihood of BB01 -> BB06 from 1 to 1 | |
Normalizing successor likelihoods with factor 1/10000 | |
Setting likelihood of BB02 -> BB05 to 1 (pgo) | |
setting likelihood of BB02 -> BB05 from 0.5 to 1 | |
Setting likelihood of BB02 -> BB03 to 0 (pgo) | |
setting likelihood of BB02 -> BB03 from 0.5 to 0 | |
BB03 has zero weight , setting outgoing likelihoods heuristically | |
Setting likelihood of BB03 -> BB04 to 0.5 (heur) | |
setting likelihood of BB03 -> BB04 from 0.5 to 0.5 | |
Setting likelihood of BB03 -> BB05 to 0.5 (heur) | |
setting likelihood of BB03 -> BB05 from 0.5 to 0.5 | |
BB04 has zero weight , setting outgoing likelihoods heuristically | |
Setting likelihood of BB04 -> BB05 to 1 (heur) | |
setting likelihood of BB04 -> BB05 from 1 to 1 | |
Normalizing successor likelihoods with factor 1/10000 | |
Setting likelihood of BB05 -> BB06 to 1 (uniq) | |
setting likelihood of BB05 -> BB06 from 1 to 1 | |
Normalizing OSR successor likelihoods with factor 1/10000 | |
Setting likelihood of BB06 -> BB07 to 0 (pgo) | |
setting likelihood of BB06 -> BB07 from 0.5 to 0 | |
Setting likelihood of BB06 -> BB02 to 1 (pgo) | |
setting likelihood of BB06 -> BB02 from 0.5 to 1 | |
blendingRepairing profile... | |
Identifying loops in DFS tree with following reverse post order: | |
RPO -> BB [pre, post] | |
00 -> BB01[0, 6] | |
01 -> BB06[1, 5] | |
02 -> BB02[3, 4] | |
03 -> BB03[4, 3] | |
04 -> BB04[5, 2] | |
05 -> BB05[6, 1] | |
06 -> BB07[2, 0] | |
BB05 -> BB06 is a backedge | |
BB06 is the header of a DFS loop with 1 back edges | |
Loop has 5 blocks | |
BB06 -> BB07 is an exit edge | |
BB01 -> BB06 is an entry edge | |
Added loop L00 with header BB06 | |
Found 1 loops | |
*************** Natural loop graph | |
L00 header: BB06 | |
Members (5): [BB02..BB06] | |
Entry: BB01 -> BB06 | |
Exit: BB06 -> BB07 | |
Back: BB05 -> BB06 | |
Repairing inconsistent or missing edge likelihoods | |
setting likelihood of BB01 -> BB06 from 1 to 1 | |
Repairing likelihoods in BB03; zero weight block | |
setting likelihood of BB03 -> BB05 from 0.5 to 0.48 | |
setting likelihood of BB03 -> BB04 from 0.5 to 0.52 | |
setting likelihood of BB04 -> BB05 from 1 to 1 | |
setting likelihood of BB05 -> BB06 from 1 to 1 | |
Loop headed by BB06 has no likely exit edges (is infinite) | |
ccp: BB06 :: 1.0 (header) | |
ccp: BB02 :: 1 | |
ccp: BB03 :: 0 | |
ccp: BB04 :: 0 | |
ccp: BB05 :: 1 | |
ccp backedge BB05 (1) -> BB06 likelihood 1 | |
Cyclic weight 1 > 0.999(cap) -- will reduce to cap | |
For loop at BB06 cyclic weight is 0.999 cyclic probability is 1000 [capped] | |
Exit from BB06 has weight 0 | |
Total exit weight 0 | |
Loop exit flow deficit from capping is 1 | |
Will adjust likelihood of the exit edge from loop exit block BB06 to reflect capping; current likelihood is 0 | |
setting likelihood of BB06 -> BB02 from 1 to 0.999 | |
setting likelihood of BB06 -> BB07 from 0 to 0.001 | |
New likelihood is 0.001 | |
Synthesis: entry BB01 has input weight 1 | |
Synthesis: exception weight 1e-05 | |
Computing block weights | |
Synthesis solver: flow graph has 0 improper loop headers | |
converged at iteration 0 rel residual inf eigenvalue 0 | |
[0] Retrying reconstruction with blend factor 0.05, because capped cyclic probabilities | |
Blending existing likelihoods with heuristics | |
setting likelihood of BB01 -> BB06 from 1 to 1 | |
setting likelihood of BB02 -> BB05 from 1 to 0.48 | |
setting likelihood of BB02 -> BB03 from 0 to 0.52 | |
Blending likelihoods in BB02 with blend factor 0.05 | |
setting likelihood of BB02 -> BB03 from 0.52 to 0.026 | |
BB02 -> BB03 was 0 now 0.026 | |
setting likelihood of BB02 -> BB05 from 0.48 to 0.974 | |
BB02 -> BB05 was 1 now 0.974 | |
setting likelihood of BB03 -> BB05 from 0.48 to 0.48 | |
setting likelihood of BB03 -> BB04 from 0.52 to 0.52 | |
Block weight in BB03 was zero, using synthesized likelihoods | |
setting likelihood of BB04 -> BB05 from 1 to 1 | |
setting likelihood of BB05 -> BB06 from 1 to 1 | |
BB06->BB07 is loop exit edge | |
setting likelihood of BB06 -> BB02 from 0.999 to 0.9 | |
setting likelihood of BB06 -> BB07 from 0.001 to 0.1 | |
Blending likelihoods in BB06 with blend factor 0.05 | |
setting likelihood of BB06 -> BB07 from 0.1 to 0.00595 | |
BB06 -> BB07 was 0.001 now 0.00595 | |
setting likelihood of BB06 -> BB02 from 0.9 to 0.99405 | |
BB06 -> BB02 was 0.999 now 0.99405 | |
ccp: BB06 :: 1.0 (header) | |
ccp: BB02 :: 0.99405 | |
ccp: BB03 :: 0.0258453 | |
ccp: BB04 :: 0.01343956 | |
ccp: BB05 :: 0.99405 | |
ccp backedge BB05 (0.99405) -> BB06 likelihood 1 | |
For loop at BB06 cyclic weight is 0.99405 cyclic probability is 168.0672 | |
Synthesis: entry BB01 has input weight 1 | |
Synthesis: exception weight 1e-05 | |
Computing block weights | |
Synthesis solver: flow graph has 0 improper loop headers | |
converged at iteration 0 rel residual inf eigenvalue 0 | |
Checking Profile Weights (flags:0x14) | |
Profile is self-consistent (7 profiled blocks, 0 unprofiled) | |
*************** Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 1 [000..01D)-> BB06(1) (always) IBC original-entry | |
BB02 [0001] 1 BB06 167.07 167 [01D..03E)-> BB05(0.974),BB03(0.026) ( cond ) IBC bwd bwd-target | |
BB03 [0002] 1 BB02 4.34 4 [03E..048)-> BB05(0.48),BB04(0.52) ( cond ) IBC bwd | |
BB04 [0003] 1 BB03 2.26 2 [048..05E)-> BB05(1) (always) IBC bwd | |
BB05 [0004] 3 BB02,BB03,BB04 167.07 167 [05E..064)-> BB06(1) (always) IBC bwd | |
BB06 [0005] 2 BB01,BB05 168.07 168 [064..06D)-> BB02(0.994),BB07(0.00595) ( cond ) IBC bwd bwd-src osr-entry | |
BB07 [0006] 1 BB06 1.00 1 [06D..090) (return) IBC | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0000] [000..01D) -> BB06(1) (always), preds={} succs={BB06} | |
------------ BB02 [0001] [01D..03E) -> BB05(0.974),BB03(0.026) (cond), preds={BB06} succs={BB03,BB05} | |
------------ BB03 [0002] [03E..048) -> BB05(0.48),BB04(0.52) (cond), preds={BB02} succs={BB04,BB05} | |
------------ BB04 [0003] [048..05E) -> BB05(1) (always), preds={BB03} succs={BB05} | |
------------ BB05 [0004] [05E..064) -> BB06(1) (always), preds={BB02,BB03,BB04} succs={BB06} | |
------------ BB06 [0005] [064..06D) -> BB02(0.99405),BB07(0.00595) (cond), preds={BB01,BB05} succs={BB07,BB02} | |
------------ BB07 [0006] [06D..090) (return), preds={BB06} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xc) | |
Profile is self-consistent (7 profiled blocks, 0 unprofiled) | |
New Basic Block BB08 [0007] created. | |
setting likelihood of BB08 -> BB01 to 1 | |
New scratch BB08 | |
OSR: redirecting flow at method entry from BB08 to OSR entry BB06 for the importer | |
*************** Starting PHASE Importation | |
Marking leading BBF_INTERNAL block BB08 as BBF_IMPORTED | |
impImportBlockPending for BB06 | |
OSR: protecting original method entry BB01 | |
impImportBlockPending for BB01 | |
Importing BB01 (PC=000) of 'Benchstone.BenchF.NewtR:Test():ubyte:this' | |
[ 0] 0 (0x000) ldc.i4.0 0 | |
[ 1] 1 (0x001) stloc.1 | |
STMT00000 ( 0x000[E-] ... ??? ) | |
[000001] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000000] ----------- \--* CNS_INT int 0 | |
[ 0] 2 (0x002) ldc.i4.0 0 | |
[ 1] 3 (0x003) stloc.0 | |
STMT00001 ( 0x002[E-] ... ??? ) | |
[000003] DA--------- * STORE_LCL_VAR int V01 loc0 | |
[000002] ----------- \--* CNS_INT int 0 | |
[ 0] 4 (0x004) ldc.r8 0.0000000000000000 | |
[ 1] 13 (0x00d) stloc.3 | |
STMT00002 ( 0x004[E-] ... ??? ) | |
[000005] DA--------- * STORE_LCL_VAR double V04 loc3 | |
[000004] ----------- \--* CNS_DBL double 0.0000000000000000 | |
[ 0] 14 (0x00e) ldc.r8 1.0000000000000000 | |
[ 1] 23 (0x017) stloc.2 | |
STMT00003 ( 0x00E[E-] ... ??? ) | |
[000007] DA--------- * STORE_LCL_VAR double V03 loc2 | |
[000006] ----------- \--* CNS_DBL double 1.0000000000000000 | |
[ 0] 24 (0x018) ldc.i4.1 1 | |
[ 1] 25 (0x019) stloc.s 4 | |
STMT00004 ( 0x018[E-] ... ??? ) | |
[000009] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000008] ----------- \--* CNS_INT int 1 | |
[ 0] 27 (0x01b) br.s | |
impImportBlockPending for BB06 | |
Importing BB06 (PC=100) of 'Benchstone.BenchF.NewtR:Test():ubyte:this' | |
[ 0] 100 (0x064) ldloc.s 4 | |
[ 1] 102 (0x066) ldc.i4 80000000 | |
[ 2] 107 (0x06b) ble.s | |
STMT00005 ( 0x064[E-] ... ??? ) | |
[000013] ----------- * JTRUE void | |
[000012] ----------- \--* LE int | |
[000010] ----------- +--* LCL_VAR int V05 loc4 | |
[000011] ----------- \--* CNS_INT int 0x4C4B400 | |
impImportBlockPending for BB07 | |
impImportBlockPending for BB02 | |
Importing BB02 (PC=029) of 'Benchstone.BenchF.NewtR:Test():ubyte:this' | |
[ 0] 29 (0x01d) ldloca.s 2 | |
[ 1] 31 (0x01f) ldc.r8 9.9999999999999995e-08 | |
[ 2] 40 (0x028) ldc.r8 9.9999999999999995e-08 | |
[ 3] 49 (0x031) ldc.i4.s 10 | |
[ 4] 51 (0x033) ldloca.s 1 | |
[ 5] 53 (0x035) call 06001082 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0 | |
CheckCanInline: fetching method info for inline candidate Inner -- context 00007FFA992523B9 | |
Class context: Benchstone.BenchF.NewtR | |
INLINER: during 'impMarkInlineCandidate' result 'CheckCanInline Success' reason 'CheckCanInline Success' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref)' | |
INLINER: during 'impMarkInlineCandidate' result 'CheckCanInline Success' reason 'CheckCanInline Success' | |
STMT00006 ( 0x01D[E-] ... ??? ) | |
[000019] I-C-G------ * CALL void Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref) (exactContextHnd=0x00007FFA992523B9) | |
[000014] ----------- arg0 +--* LCL_ADDR byref V03 loc2 [+0] | |
[000015] ----------- arg1 +--* CNS_DBL double 9.9999999999999995e-08 | |
[000016] ----------- arg2 +--* CNS_DBL double 9.9999999999999995e-08 | |
[000017] ----------- arg3 +--* CNS_INT int 10 | |
[000018] ----------- arg4 \--* LCL_ADDR byref V02 loc1 [+0] | |
[ 0] 58 (0x03a) ldloc.1 | |
[ 1] 59 (0x03b) ldc.i4.1 1 | |
[ 2] 60 (0x03c) bgt.s | |
STMT00007 ( 0x03A[E-] ... ??? ) | |
[000023] ----------- * JTRUE void | |
[000022] ----------- \--* GT int | |
[000020] ----------- +--* LCL_VAR int V02 loc1 | |
[000021] ----------- \--* CNS_INT int 1 | |
impImportBlockPending for BB03 | |
impImportBlockPending for BB05 | |
Importing BB05 (PC=094) of 'Benchstone.BenchF.NewtR:Test():ubyte:this' | |
[ 0] 94 (0x05e) ldloc.s 4 | |
[ 1] 96 (0x060) ldc.i4.1 1 | |
[ 2] 97 (0x061) add | |
[ 1] 98 (0x062) stloc.s 4 | |
STMT00008 ( 0x05E[E-] ... ??? ) | |
[000027] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000026] ----------- \--* ADD int | |
[000024] ----------- +--* LCL_VAR int V05 loc4 | |
[000025] ----------- \--* CNS_INT int 1 | |
impImportBlockPending for BB06 | |
Importing BB03 (PC=062) of 'Benchstone.BenchF.NewtR:Test():ubyte:this' | |
[ 0] 62 (0x03e) ldloc.2 | |
[ 1] 63 (0x03f) call 06001080 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is double, structSize is 0 | |
CheckCanInline: fetching method info for inline candidate FF -- context 00007FFA992523B9 | |
Class context: Benchstone.BenchF.NewtR | |
INLINER: during 'impMarkInlineCandidate' result 'CheckCanInline Success' reason 'CheckCanInline Success' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'Benchstone.BenchF.NewtR:FF(double):double' | |
INLINER: during 'impMarkInlineCandidate' result 'CheckCanInline Success' reason 'CheckCanInline Success' | |
STMT00009 ( 0x03E[E-] ... ??? ) | |
[000029] I-C-G------ * CALL double Benchstone.BenchF.NewtR:FF(double):double (exactContextHnd=0x00007FFA992523B9) | |
[000028] ----------- arg0 \--* LCL_VAR double V03 loc2 | |
[ 1] 68 (0x044) stloc.3 | |
STMT00010 ( 0x03E[E-] ... ??? ) | |
[000031] DAC-------- * STORE_LCL_VAR double V04 loc3 | |
[000030] --C-------- \--* RET_EXPR double(for [000029]) | |
[ 0] 69 (0x045) ldloc.0 | |
[ 1] 70 (0x046) brfalse.s | |
STMT00011 ( 0x045[E-] ... ??? ) | |
[000035] ----------- * JTRUE void | |
[000034] ----------- \--* EQ int | |
[000032] ----------- +--* LCL_VAR int V01 loc0 | |
[000033] ----------- \--* CNS_INT int 0 | |
impImportBlockPending for BB04 | |
impImportBlockPending for BB05 | |
Importing BB04 (PC=072) of 'Benchstone.BenchF.NewtR:Test():ubyte:this' | |
[ 0] 72 (0x048) ldstr 70004C0E | |
[ 1] 77 (0x04d) ldloc.2 | |
[ 2] 78 (0x04e) box 0100022F | |
Compiler::impImportAndPushBox -- handling BOX(value class) via inline allocate/copy sequence | |
lvaGrabTemp returning 7 (V07 tmp1) called for Single-def Box Helper. | |
Marking V07 as a single def local | |
lvaSetClass: setting class for V07 to (00007FFA98481978) System.Double [exact] | |
STMT00012 ( 0x048[E-] ... ??? ) | |
[000040] DA--------- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] ----------- \--* ALLOCOBJ ref | |
[000038] H---------- \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
STMT00013 ( ??? ... ??? ) | |
[000044] nA--G------ * STOREIND double | |
[000043] ----------- +--* ADD byref | |
[000041] ----------- | +--* LCL_VAR ref V07 tmp1 | |
[000042] ----------- | \--* CNS_INT long 8 | |
[000037] ----------- \--* LCL_VAR double V03 loc2 | |
[ 2] 83 (0x053) ldloc.3 | |
[ 3] 84 (0x054) box 0100022F | |
Compiler::impImportAndPushBox -- handling BOX(value class) via inline allocate/copy sequence | |
lvaGrabTemp returning 8 (V08 tmp2) called for Single-def Box Helper. | |
Marking V08 as a single def local | |
lvaSetClass: setting class for V08 to (00007FFA98481978) System.Double [exact] | |
STMT00014 ( ??? ... ??? ) | |
[000050] DA--------- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] ----------- \--* ALLOCOBJ ref | |
[000048] H---------- \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
STMT00015 ( ??? ... ??? ) | |
[000054] nA--G------ * STOREIND double | |
[000053] ----------- +--* ADD byref | |
[000051] ----------- | +--* LCL_VAR ref V08 tmp2 | |
[000052] ----------- | \--* CNS_INT long 8 | |
[000047] ----------- \--* LCL_VAR double V04 loc3 | |
[ 3] 89 (0x059) call 0A000134 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0 | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'System.Console:WriteLine(System.String,System.Object,System.Object)' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' | |
STMT00016 ( ??? ... ??? ) | |
[000057] --C-G------ * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
[000036] ----------- arg0 +--* CNS_STR ref <string constant> | |
[000046] ----------- arg1 +--* BOX ref | |
[000045] ----------- | \--* LCL_VAR ref V07 tmp1 | |
[000056] ----------- arg2 \--* BOX ref | |
[000055] ----------- \--* LCL_VAR ref V08 tmp2 | |
impImportBlockPending for BB05 | |
Importing BB07 (PC=109) of 'Benchstone.BenchF.NewtR:Test():ubyte:this' | |
[ 0] 109 (0x06d) ldloc.1 | |
[ 1] 110 (0x06e) box 01000236 | |
Compiler::impImportAndPushBox -- handling BOX(value class) via inline allocate/copy sequence | |
lvaGrabTemp returning 9 (V09 tmp3) called for Single-def Box Helper. | |
Marking V09 as a single def local | |
lvaSetClass: setting class for V09 to (00007FFA98325F28) System.Int32 [exact] | |
STMT00017 ( 0x06D[E-] ... ??? ) | |
[000061] DA--------- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] ----------- \--* ALLOCOBJ ref | |
[000059] H---------- \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G------ * STOREIND int | |
[000064] ----------- +--* ADD byref | |
[000062] ----------- | +--* LCL_VAR ref V09 tmp3 | |
[000063] ----------- | \--* CNS_INT long 8 | |
[000058] ----------- \--* LCL_VAR int V02 loc1 | |
[ 1] 115 (0x073) call 0600107E | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0 | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'Benchstone.BenchF.NewtR:Escape(System.Object)' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' | |
STMT00019 ( ??? ... ??? ) | |
[000068] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] ----------- arg0 \--* BOX ref | |
[000066] ----------- \--* LCL_VAR ref V09 tmp3 | |
[ 0] 120 (0x078) ldloc.2 | |
[ 1] 121 (0x079) box 0100022F | |
Compiler::impImportAndPushBox -- handling BOX(value class) via inline allocate/copy sequence | |
lvaGrabTemp returning 10 (V10 tmp4) called for Single-def Box Helper. | |
Marking V10 as a single def local | |
lvaSetClass: setting class for V10 to (00007FFA98481978) System.Double [exact] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DA--------- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] ----------- \--* ALLOCOBJ ref | |
[000070] H---------- \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G------ * STOREIND double | |
[000075] ----------- +--* ADD byref | |
[000073] ----------- | +--* LCL_VAR ref V10 tmp4 | |
[000074] ----------- | \--* CNS_INT long 8 | |
[000069] ----------- \--* LCL_VAR double V03 loc2 | |
[ 1] 126 (0x07e) call 0600107E | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0 | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'Benchstone.BenchF.NewtR:Escape(System.Object)' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' | |
STMT00022 ( ??? ... ??? ) | |
[000079] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] ----------- arg0 \--* BOX ref | |
[000077] ----------- \--* LCL_VAR ref V10 tmp4 | |
[ 0] 131 (0x083) ldloc.3 | |
[ 1] 132 (0x084) box 0100022F | |
Compiler::impImportAndPushBox -- handling BOX(value class) via inline allocate/copy sequence | |
lvaGrabTemp returning 11 (V11 tmp5) called for Single-def Box Helper. | |
Marking V11 as a single def local | |
lvaSetClass: setting class for V11 to (00007FFA98481978) System.Double [exact] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DA--------- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] ----------- \--* ALLOCOBJ ref | |
[000081] H---------- \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G------ * STOREIND double | |
[000086] ----------- +--* ADD byref | |
[000084] ----------- | +--* LCL_VAR ref V11 tmp5 | |
[000085] ----------- | \--* CNS_INT long 8 | |
[000080] ----------- \--* LCL_VAR double V04 loc3 | |
[ 1] 137 (0x089) call 0600107E | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0 | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'Benchstone.BenchF.NewtR:Escape(System.Object)' | |
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' | |
STMT00025 ( ??? ... ??? ) | |
[000090] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] ----------- arg0 \--* BOX ref | |
[000088] ----------- \--* LCL_VAR ref V11 tmp5 | |
[ 0] 142 (0x08e) ldc.i4.1 1 | |
[ 1] 143 (0x08f) ret | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] ----------- * RETURN int | |
[000091] ----------- \--* CNS_INT int 1 | |
*************** Finishing PHASE Importation | |
Trees after Importation | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB08 [0007] 1 1.68 2 [???..???)-> BB06(1) (always) i IBC internal | |
BB01 [0000] 1 1 1 [000..01D)-> BB06(1) (always) i IBC original-entry | |
BB02 [0001] 1 BB06 167.07 167 [01D..03E)-> BB05(0.974),BB03(0.026) ( cond ) i IBC bwd bwd-target | |
BB03 [0002] 1 BB02 4.34 4 [03E..048)-> BB05(0.48),BB04(0.52) ( cond ) i IBC bwd | |
BB04 [0003] 1 BB03 2.26 2 [048..05E)-> BB05(1) (always) i IBC newobj bwd | |
BB05 [0004] 3 BB02,BB03,BB04 167.07 167 [05E..064)-> BB06(1) (always) i IBC bwd | |
BB06 [0005] 3 BB01,BB05,BB08 168.07 168 [064..06D)-> BB02(0.994),BB07(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB07 [0006] 1 BB06 1.00 1 [06D..090) (return) i IBC newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB08 [0007] [???..???) -> BB06(1) (always), preds={} succs={BB06} | |
------------ BB01 [0000] [000..01D) -> BB06(1) (always), preds={} succs={BB06} | |
***** BB01 [0000] | |
STMT00000 ( 0x000[E-] ... 0x001 ) | |
[000001] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000000] ----------- \--* CNS_INT int 0 | |
***** BB01 [0000] | |
STMT00001 ( 0x002[E-] ... 0x003 ) | |
[000003] DA--------- * STORE_LCL_VAR int V01 loc0 | |
[000002] ----------- \--* CNS_INT int 0 | |
***** BB01 [0000] | |
STMT00002 ( 0x004[E-] ... 0x00D ) | |
[000005] DA--------- * STORE_LCL_VAR double V04 loc3 | |
[000004] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB01 [0000] | |
STMT00003 ( 0x00E[E-] ... 0x017 ) | |
[000007] DA--------- * STORE_LCL_VAR double V03 loc2 | |
[000006] ----------- \--* CNS_DBL double 1.0000000000000000 | |
***** BB01 [0000] | |
STMT00004 ( 0x018[E-] ... 0x019 ) | |
[000009] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000008] ----------- \--* CNS_INT int 1 | |
------------ BB02 [0001] [01D..03E) -> BB05(0.974),BB03(0.026) (cond), preds={BB06} succs={BB03,BB05} | |
***** BB02 [0001] | |
STMT00006 ( 0x01D[E-] ... 0x03C ) | |
[000019] I-C-G------ * CALL void Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref) (exactContextHnd=0x00007FFA992523B9) | |
[000014] ----------- arg0 +--* LCL_ADDR byref V03 loc2 [+0] | |
[000015] ----------- arg1 +--* CNS_DBL double 9.9999999999999995e-08 | |
[000016] ----------- arg2 +--* CNS_DBL double 9.9999999999999995e-08 | |
[000017] ----------- arg3 +--* CNS_INT int 10 | |
[000018] ----------- arg4 \--* LCL_ADDR byref V02 loc1 [+0] | |
***** BB02 [0001] | |
STMT00007 ( 0x03A[E-] ... ??? ) | |
[000023] ----------- * JTRUE void | |
[000022] ----------- \--* GT int | |
[000020] ----------- +--* LCL_VAR int V02 loc1 | |
[000021] ----------- \--* CNS_INT int 1 | |
------------ BB03 [0002] [03E..048) -> BB05(0.48),BB04(0.52) (cond), preds={BB02} succs={BB04,BB05} | |
***** BB03 [0002] | |
STMT00009 ( 0x03E[E-] ... 0x044 ) | |
[000029] I-C-G------ * CALL double Benchstone.BenchF.NewtR:FF(double):double (exactContextHnd=0x00007FFA992523B9) | |
[000028] ----------- arg0 \--* LCL_VAR double V03 loc2 | |
***** BB03 [0002] | |
STMT00010 ( 0x03E[E-] ... ??? ) | |
[000031] DAC-------- * STORE_LCL_VAR double V04 loc3 | |
[000030] --C-------- \--* RET_EXPR double(for [000029]) | |
***** BB03 [0002] | |
STMT00011 ( 0x045[E-] ... 0x046 ) | |
[000035] ----------- * JTRUE void | |
[000034] ----------- \--* EQ int | |
[000032] ----------- +--* LCL_VAR int V01 loc0 | |
[000033] ----------- \--* CNS_INT int 0 | |
------------ BB04 [0003] [048..05E) -> BB05(1) (always), preds={BB03} succs={BB05} | |
***** BB04 [0003] | |
STMT00012 ( 0x048[E-] ... 0x059 ) | |
[000040] DA--------- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] ----------- \--* ALLOCOBJ ref | |
[000038] H---------- \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB04 [0003] | |
STMT00013 ( ??? ... ??? ) | |
[000044] nA--G------ * STOREIND double | |
[000043] ----------- +--* ADD byref | |
[000041] ----------- | +--* LCL_VAR ref V07 tmp1 | |
[000042] ----------- | \--* CNS_INT long 8 | |
[000037] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB04 [0003] | |
STMT00014 ( ??? ... ??? ) | |
[000050] DA--------- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] ----------- \--* ALLOCOBJ ref | |
[000048] H---------- \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB04 [0003] | |
STMT00015 ( ??? ... ??? ) | |
[000054] nA--G------ * STOREIND double | |
[000053] ----------- +--* ADD byref | |
[000051] ----------- | +--* LCL_VAR ref V08 tmp2 | |
[000052] ----------- | \--* CNS_INT long 8 | |
[000047] ----------- \--* LCL_VAR double V04 loc3 | |
***** BB04 [0003] | |
STMT00016 ( ??? ... ??? ) | |
[000057] --C-G------ * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
[000036] ----------- arg0 +--* CNS_STR ref <string constant> | |
[000046] ----------- arg1 +--* BOX ref | |
[000045] ----------- | \--* LCL_VAR ref V07 tmp1 | |
[000056] ----------- arg2 \--* BOX ref | |
[000055] ----------- \--* LCL_VAR ref V08 tmp2 | |
------------ BB05 [0004] [05E..064) -> BB06(1) (always), preds={BB02,BB03,BB04} succs={BB06} | |
***** BB05 [0004] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000026] ----------- \--* ADD int | |
[000024] ----------- +--* LCL_VAR int V05 loc4 | |
[000025] ----------- \--* CNS_INT int 1 | |
------------ BB06 [0005] [064..06D) -> BB02(0.99405),BB07(0.00595) (cond), preds={BB01,BB05,BB08} succs={BB07,BB02} | |
***** BB06 [0005] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
[000013] ----------- * JTRUE void | |
[000012] ----------- \--* LE int | |
[000010] ----------- +--* LCL_VAR int V05 loc4 | |
[000011] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB07 [0006] [06D..090) (return), preds={BB06} succs={} | |
***** BB07 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DA--------- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] ----------- \--* ALLOCOBJ ref | |
[000059] H---------- \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB07 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G------ * STOREIND int | |
[000064] ----------- +--* ADD byref | |
[000062] ----------- | +--* LCL_VAR ref V09 tmp3 | |
[000063] ----------- | \--* CNS_INT long 8 | |
[000058] ----------- \--* LCL_VAR int V02 loc1 | |
***** BB07 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] ----------- arg0 \--* BOX ref | |
[000066] ----------- \--* LCL_VAR ref V09 tmp3 | |
***** BB07 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DA--------- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] ----------- \--* ALLOCOBJ ref | |
[000070] H---------- \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB07 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G------ * STOREIND double | |
[000075] ----------- +--* ADD byref | |
[000073] ----------- | +--* LCL_VAR ref V10 tmp4 | |
[000074] ----------- | \--* CNS_INT long 8 | |
[000069] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB07 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] ----------- arg0 \--* BOX ref | |
[000077] ----------- \--* LCL_VAR ref V10 tmp4 | |
***** BB07 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DA--------- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] ----------- \--* ALLOCOBJ ref | |
[000081] H---------- \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB07 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G------ * STOREIND double | |
[000086] ----------- +--* ADD byref | |
[000084] ----------- | +--* LCL_VAR ref V11 tmp5 | |
[000085] ----------- | \--* CNS_INT long 8 | |
[000080] ----------- \--* LCL_VAR double V04 loc3 | |
***** BB07 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] ----------- arg0 \--* BOX ref | |
[000088] ----------- \--* LCL_VAR ref V11 tmp5 | |
***** BB07 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] ----------- * RETURN int | |
[000091] ----------- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xc) | |
Profile is self-consistent (8 profiled blocks, 0 unprofiled) | |
*************** Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Finishing PHASE Expand patchpoints [no changes] | |
*************** Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Finishing PHASE Indirect call transform [no changes] | |
*************** Starting PHASE Post-import | |
*************** Finishing PHASE Post-import [no changes] | |
*************** Starting PHASE Morph - Init | |
New BlockSet epoch 2, # of blocks (including unused BB00): 9, bitset array size: 1 (short) | |
*************** Finishing PHASE Morph - Init [no changes] | |
*************** Starting PHASE Morph - Inlining | |
Expanding INLINE_CANDIDATE in statement STMT00006 in BB02: | |
STMT00006 ( 0x01D[E-] ... 0x03C ) | |
[000019] I-C-G------ * CALL void Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref) (exactContextHnd=0x00007FFA992523B9) | |
[000014] ----------- arg0 +--* LCL_ADDR byref V03 loc2 [+0] | |
[000015] ----------- arg1 +--* CNS_DBL double 9.9999999999999995e-08 | |
[000016] ----------- arg2 +--* CNS_DBL double 9.9999999999999995e-08 | |
[000017] ----------- arg3 +--* CNS_INT int 10 | |
[000018] ----------- arg4 \--* LCL_ADDR byref V02 loc1 [+0] | |
Argument #0: is a constant or invariant | |
[000014] ----------- * LCL_ADDR byref V03 loc2 [+0] | |
Argument #1: is a constant or invariant | |
[000015] ----------- * CNS_DBL double 9.9999999999999995e-08 | |
Argument #2: is a constant or invariant | |
[000016] ----------- * CNS_DBL double 9.9999999999999995e-08 | |
Argument #3: is a constant or invariant | |
[000017] ----------- * CNS_INT int 10 | |
Argument #4: is a constant or invariant | |
[000018] ----------- * LCL_ADDR byref V02 loc1 [+0] | |
INLINER: inlineInfo.tokenLookupContextHandle for Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref) set to 0x00007FFA992523B9: | |
Invoking compiler for the inlinee method Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref) : | |
IL to import: | |
IL_0000 0e 04 ldarg.s 0x4 | |
IL_0002 16 ldc.i4.0 | |
IL_0003 54 stind.i4 | |
IL_0004 17 ldc.i4.1 | |
IL_0005 0d stloc.3 | |
IL_0006 2b 3c br.s 60 (IL_0044) | |
IL_0008 02 ldarg.0 | |
IL_0009 4f ldind.r8 | |
IL_000a 28 80 10 00 06 call 0x6001080 | |
IL_000f 0a stloc.0 | |
IL_0010 06 ldloc.0 | |
IL_0011 28 af 00 00 0a call 0xA0000AF | |
IL_0016 04 ldarg.2 | |
IL_0017 32 2f blt.s 47 (IL_0048) | |
IL_0019 02 ldarg.0 | |
IL_001a 4f ldind.r8 | |
IL_001b 28 81 10 00 06 call 0x6001081 | |
IL_0020 0b stloc.1 | |
IL_0021 07 ldloc.1 | |
IL_0022 23 00 00 00 00 00 00 00 00 ldc.r8 0.000000 | |
IL_002b 2e 1b beq.s 27 (IL_0048) | |
IL_002d 06 ldloc.0 | |
IL_002e 07 ldloc.1 | |
IL_002f 5b div | |
IL_0030 0c stloc.2 | |
IL_0031 02 ldarg.0 | |
IL_0032 02 ldarg.0 | |
IL_0033 4f ldind.r8 | |
IL_0034 08 ldloc.2 | |
IL_0035 59 sub | |
IL_0036 57 stind.r8 | |
IL_0037 08 ldloc.2 | |
IL_0038 28 af 00 00 0a call 0xA0000AF | |
IL_003d 03 ldarg.1 | |
IL_003e 32 08 blt.s 8 (IL_0048) | |
IL_0040 09 ldloc.3 | |
IL_0041 17 ldc.i4.1 | |
IL_0042 58 add | |
IL_0043 0d stloc.3 | |
IL_0044 09 ldloc.3 | |
IL_0045 05 ldarg.3 | |
IL_0046 31 c0 ble.s -64 (IL_0008) | |
IL_0048 0e 04 ldarg.s 0x4 | |
IL_004a 18 ldc.i4.2 | |
IL_004b 54 stind.i4 | |
IL_004c 2a ret | |
INLINER impTokenLookupContextHandle for Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref) is 0x00007FFA992523B9. | |
*************** In compInitDebuggingInfo() for Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref) | |
info.compStmtOffsetsCount = 0 | |
info.compStmtOffsetsImplicit = 0005h ( STACK_EMPTY CALL_SITE ) | |
*************** In fgFindBasicBlocks() for Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref) | |
weight= 32 : state 15 [ ldarg.s ] | |
weight= 15 : state 23 [ ldc.i4.0 ] | |
weight= 11 : state 72 [ stind.i4 ] | |
weight= 28 : state 24 [ ldc.i4.1 ] | |
weight= 49 : state 14 [ stloc.3 ] | |
weight= 44 : state 43 [ br.s ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 45 : state 67 [ ldind.r8 ] | |
weight= 79 : state 40 [ call ] | |
Named Intrinsic System.Math.Abs: Recognized | |
weight= 20 : state 199 [ stloc.0 -> ldloc.0 ] | |
weight= 79 : state 40 [ call ] | |
weight= 35 : state 5 [ ldarg.2 ] | |
weight= 28 : state 50 [ blt.s ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 45 : state 67 [ ldind.r8 ] | |
weight= 79 : state 40 [ call ] | |
weight= -7 : state 200 [ stloc.1 -> ldloc.1 ] | |
weight=113 : state 36 [ ldc.r8 ] | |
weight= 6 : state 46 [ beq.s ] | |
weight= 12 : state 7 [ ldloc.0 ] | |
weight= 9 : state 8 [ ldloc.1 ] | |
weight= 35 : state 79 [ div ] | |
weight= 4 : state 13 [ stloc.2 ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 45 : state 67 [ ldind.r8 ] | |
weight= 22 : state 9 [ ldloc.2 ] | |
weight=-15 : state 77 [ sub ] | |
weight= 73 : state 75 [ stind.r8 ] | |
Named Intrinsic System.Math.Abs: Recognized | |
weight= 22 : state 9 [ ldloc.2 ] | |
weight= 79 : state 40 [ call ] | |
weight= 16 : state 4 [ ldarg.1 ] | |
weight= 28 : state 50 [ blt.s ] | |
weight= 24 : state 10 [ ldloc.3 ] | |
weight= 28 : state 24 [ ldc.i4.1 ] | |
weight=-12 : state 76 [ add ] | |
weight= -4 : state 202 [ stloc.3 -> ldloc.3 ] | |
weight= 28 : state 6 [ ldarg.3 ] | |
weight= 53 : state 49 [ ble.s ] | |
weight= 32 : state 15 [ ldarg.s ] | |
weight= 34 : state 25 [ ldc.i4.2 ] | |
weight= 11 : state 72 [ stind.i4 ] | |
weight= 19 : state 42 [ ret ] | |
Inline candidate has 2 foldable branches. Multiplier increased to 5. | |
Inline has 1 intrinsics. Multiplier increased to 6.3. | |
Inline has 1 foldable intrinsics. Multiplier increased to 8.3. | |
Inline candidate has an arg that feeds a constant test. Multiplier increased to 9.3. | |
Inline candidate callsite is in a loop. Multiplier increased to 12.3. | |
Callsite has profile data: 99.405. Multiplier limited to 55.35. | |
Inline has 1 backward jumps (loops?). Multiplier decreased to 38.745. | |
calleeNativeSizeEstimate=1284 | |
callsiteNativeSizeEstimate=205 | |
benefit multiplier=38.745 | |
threshold=7942 | |
Native estimate for function size is within threshold for inlining 128.4 <= 794.2 (multiplier = 38.745) | |
Jump targets: | |
IL_0008 | |
IL_0044 | |
IL_0048 | |
New Basic Block BB01 [0008] created. | |
BB01 [0008] [000..008) | |
New Basic Block BB02 [0009] created. | |
BB02 [0009] [008..019) | |
New Basic Block BB03 [0010] created. | |
BB03 [0010] [019..02D) | |
New Basic Block BB04 [0011] created. | |
BB04 [0011] [02D..040) | |
New Basic Block BB05 [0012] created. | |
BB05 [0012] [040..044) | |
New Basic Block BB06 [0013] created. | |
BB06 [0013] [044..048) | |
New Basic Block BB07 [0014] created. | |
BB07 [0014] [048..04D) | |
setting likelihood of BB01 -> BB06 to 1 | |
setting likelihood of BB02 -> BB07 to 0.5 | |
setting likelihood of BB02 -> BB03 to 0.5 | |
setting likelihood of BB03 -> BB07 to 0.5 | |
setting likelihood of BB03 -> BB04 to 0.5 | |
setting likelihood of BB04 -> BB07 to 0.5 | |
setting likelihood of BB04 -> BB05 to 0.5 | |
setting likelihood of BB05 -> BB06 to 1 | |
setting likelihood of BB06 -> BB02 to 0.5 | |
setting likelihood of BB06 -> BB07 to 0.5 | |
Basic block list for 'Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref)' | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0008] 1 100 [000..008)-> BB06(1) (always) | |
BB02 [0009] 1 BB06 100 [008..019)-> BB07(0.5),BB03(0.5) ( cond ) bwd bwd-target | |
BB03 [0010] 1 BB02 100 [019..02D)-> BB07(0.5),BB04(0.5) ( cond ) bwd | |
BB04 [0011] 1 BB03 100 [02D..040)-> BB07(0.5),BB05(0.5) ( cond ) bwd | |
BB05 [0012] 1 BB04 100 [040..044)-> BB06(1) (always) bwd | |
BB06 [0013] 2 BB01,BB05 100 [044..048)-> BB02(0.5),BB07(0.5) ( cond ) bwd bwd-src | |
BB07 [0014] 4 BB02,BB03,BB04,BB06 100 [048..04D) (return) | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000019] Starting PHASE Pre-import | |
*************** Inline @[000019] Finishing PHASE Pre-import | |
Trees after Pre-import | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0008] 1 100 [000..008)-> BB06(1) (always) | |
BB02 [0009] 1 BB06 100 [008..019)-> BB07(0.5),BB03(0.5) ( cond ) bwd bwd-target | |
BB03 [0010] 1 BB02 100 [019..02D)-> BB07(0.5),BB04(0.5) ( cond ) bwd | |
BB04 [0011] 1 BB03 100 [02D..040)-> BB07(0.5),BB05(0.5) ( cond ) bwd | |
BB05 [0012] 1 BB04 100 [040..044)-> BB06(1) (always) bwd | |
BB06 [0013] 2 BB01,BB05 100 [044..048)-> BB02(0.5),BB07(0.5) ( cond ) bwd bwd-src | |
BB07 [0014] 4 BB02,BB03,BB04,BB06 100 [048..04D) (return) | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0008] [000..008) -> BB06(1) (always), preds={} succs={BB06} | |
------------ BB02 [0009] [008..019) -> BB07(0.5),BB03(0.5) (cond), preds={BB06} succs={BB03,BB07} | |
------------ BB03 [0010] [019..02D) -> BB07(0.5),BB04(0.5) (cond), preds={BB02} succs={BB04,BB07} | |
------------ BB04 [0011] [02D..040) -> BB07(0.5),BB05(0.5) (cond), preds={BB03} succs={BB05,BB07} | |
------------ BB05 [0012] [040..044) -> BB06(1) (always), preds={BB04} succs={BB06} | |
------------ BB06 [0013] [044..048) -> BB02(0.5),BB07(0.5) (cond), preds={BB01,BB05} succs={BB07,BB02} | |
------------ BB07 [0014] [048..04D) (return), preds={BB02,BB03,BB04,BB06} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** Inline @[000019] Starting PHASE Profile incorporation | |
Have Dynamic PGO: 5 schema records (schema at 0000023D006D9580, data at 0000023D006D95F8) | |
Profile summary: 1 runs, 0 block probes, 5 edge probes, 0 class profiles, 0 method profiles, 0 other records | |
Reconstructing block counts from sparse edge instrumentation | |
... adding known edge BB05 -> BB06: weight 5 | |
... adding known edge BB07 -> BB01: weight 10096 | |
... adding known edge BB04 -> BB07: weight 0 | |
... adding known edge BB03 -> BB07: weight 0 | |
... adding known edge BB02 -> BB07: weight 10014 | |
New BlockSet epoch 1, # of blocks (including unused BB00): 8, bitset array size: 1 (short) | |
... unknown edge BB01 -> BB06 | |
... unknown edge BB06 -> BB02 | |
... unknown edge BB06 -> BB07 | |
... pseudo edge BB07 -> BB01 | |
... unknown edge BB02 -> BB03 | |
... known edge BB02 -> BB07 | |
... unknown edge BB03 -> BB04 | |
... known edge BB03 -> BB07 | |
... unknown edge BB04 -> BB05 | |
... known edge BB04 -> BB07 | |
... known edge BB05 -> BB06 | |
Solver: 7 blocks, 7 unknown; 11 edges, 6 unknown, 0 zero | |
Pass [1]: 7 unknown blocks, 6 unknown edges | |
BB07: 1 incoming unknown, 0 outgoing unknown | |
BB07: all outgoing edge weights known, summing... | |
BB07 -> BB01 has weight 10096 | |
BB07: all outgoing edge weights known, sum is 10096 | |
BB06 -> BB07: target block weight and all other incoming edge weights known, so weight is 82 | |
BB06: 1 incoming unknown, 1 outgoing unknown | |
BB05: 1 incoming unknown, 0 outgoing unknown | |
BB05: all outgoing edge weights known, summing... | |
BB05 -> BB06 has weight 5 | |
BB05: all outgoing edge weights known, sum is 5 | |
BB04 -> BB05: target block weight and all other incoming edge weights known, so weight is 5 | |
BB04: 1 incoming unknown, 0 outgoing unknown | |
BB04: all outgoing edge weights known, summing... | |
BB04 -> BB07 has weight 0 | |
BB04 -> BB05 has weight 5 | |
BB04: all outgoing edge weights known, sum is 5 | |
BB03 -> BB04: target block weight and all other incoming edge weights known, so weight is 5 | |
BB03: 1 incoming unknown, 0 outgoing unknown | |
BB03: all outgoing edge weights known, summing... | |
BB03 -> BB07 has weight 0 | |
BB03 -> BB04 has weight 5 | |
BB03: all outgoing edge weights known, sum is 5 | |
BB02 -> BB03: target block weight and all other incoming edge weights known, so weight is 5 | |
BB02: 1 incoming unknown, 0 outgoing unknown | |
BB02: all outgoing edge weights known, summing... | |
BB02 -> BB07 has weight 10014 | |
BB02 -> BB03 has weight 5 | |
BB02: all outgoing edge weights known, sum is 10019 | |
BB06 -> BB02: target block weight and all other incoming edge weights known, so weight is 10019 | |
BB01: 0 incoming unknown, 1 outgoing unknown | |
BB01: all incoming edge weights known, summing... | |
BB07 -> BB01 has weight 10096 | |
BB01: all incoming edge weights known, sum is 10096 | |
BB01 -> BB06: source block weight and all other outgoing edge weights known, so weight is 10096 | |
Pass [2]: 1 unknown blocks, 0 unknown edges | |
BB06: 0 incoming unknown, 0 outgoing unknown | |
BB06: all incoming edge weights known, summing... | |
BB05 -> BB06 has weight 5 | |
BB01 -> BB06 has weight 10096 | |
BB06: all incoming edge weights known, sum is 10101 | |
Solver: converged in 2 passes | |
Normalizing successor likelihoods with factor 1/10096 | |
Setting likelihood of BB01 -> BB06 to 1 (uniq) | |
setting likelihood of BB01 -> BB06 from 1 to 1 | |
Normalizing successor likelihoods with factor 1/10019 | |
Setting likelihood of BB02 -> BB07 to 0.9995009 (pgo) | |
setting likelihood of BB02 -> BB07 from 0.5 to 0.9995009 | |
Setting likelihood of BB02 -> BB03 to 0.0004990518 (pgo) | |
setting likelihood of BB02 -> BB03 from 0.5 to 0.0004990518 | |
Normalizing successor likelihoods with factor 1/5 | |
Setting likelihood of BB03 -> BB07 to 0 (pgo) | |
setting likelihood of BB03 -> BB07 from 0.5 to 0 | |
Setting likelihood of BB03 -> BB04 to 1 (pgo) | |
setting likelihood of BB03 -> BB04 from 0.5 to 1 | |
Normalizing successor likelihoods with factor 1/5 | |
Setting likelihood of BB04 -> BB07 to 0 (pgo) | |
setting likelihood of BB04 -> BB07 from 0.5 to 0 | |
Setting likelihood of BB04 -> BB05 to 1 (pgo) | |
setting likelihood of BB04 -> BB05 from 0.5 to 1 | |
Normalizing successor likelihoods with factor 1/5 | |
Setting likelihood of BB05 -> BB06 to 1 (uniq) | |
setting likelihood of BB05 -> BB06 from 1 to 1 | |
Normalizing successor likelihoods with factor 1/10101 | |
Setting likelihood of BB06 -> BB07 to 0.008118008 (pgo) | |
setting likelihood of BB06 -> BB07 from 0.5 to 0.008118008 | |
Setting likelihood of BB06 -> BB02 to 0.991882 (pgo) | |
setting likelihood of BB06 -> BB02 from 0.5 to 0.991882 | |
repairingRepairing profile... | |
Identifying loops in DFS tree with following reverse post order: | |
RPO -> BB [pre, post] | |
00 -> BB01[0, 6] | |
01 -> BB06[1, 5] | |
02 -> BB02[3, 4] | |
03 -> BB03[4, 3] | |
04 -> BB04[5, 2] | |
05 -> BB05[6, 1] | |
06 -> BB07[2, 0] | |
BB05 -> BB06 is a backedge | |
BB06 is the header of a DFS loop with 1 back edges | |
Loop has 5 blocks | |
BB06 -> BB07 is an exit edge | |
BB02 -> BB07 is an exit edge | |
BB03 -> BB07 is an exit edge | |
BB04 -> BB07 is an exit edge | |
BB01 -> BB06 is an entry edge | |
Added loop L00 with header BB06 | |
Found 1 loops | |
*************** Natural loop graph | |
L00 header: BB06 | |
Members (5): [BB02..BB06] | |
Entry: BB01 -> BB06 | |
Exit: BB06 -> BB07; BB02 -> BB07; BB03 -> BB07; BB04 -> BB07 | |
Back: BB05 -> BB06 | |
Repairing inconsistent or missing edge likelihoods | |
setting likelihood of BB01 -> BB06 from 1 to 1 | |
setting likelihood of BB05 -> BB06 from 1 to 1 | |
ccp: BB06 :: 1.0 (header) | |
ccp: BB02 :: 0.991882 | |
ccp: BB03 :: 0.0004950005 | |
ccp: BB04 :: 0.0004950005 | |
ccp: BB05 :: 0.0004950005 | |
ccp backedge BB05 (0.0004950005) -> BB06 likelihood 1 | |
For loop at BB06 cyclic weight is 0.0004950005 cyclic probability is 1.000495 | |
Synthesis: entry BB01 has input weight 10096 | |
Synthesis: exception weight 1e-05 | |
Computing block weights | |
Synthesis solver: flow graph has 0 improper loop headers | |
converged at iteration 0 rel residual inf eigenvalue 0 | |
Checking Profile Weights (flags:0x14) | |
Profile is self-consistent (7 profiled blocks, 0 unprofiled) | |
Computing inlinee profile scale: | |
call site count 167.0672 callee entry count 10096 scale 0.01654786 | |
Scaling inlinee blocks | |
*************** Inline @[000019] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0008] 1 167.07 167 [000..008)-> BB06(1) (always) IBC | |
BB02 [0009] 1 BB06 165.79 166 [008..019)-> BB07(1),BB03(0.000499) ( cond ) IBC bwd bwd-target | |
BB03 [0010] 1 BB02 0.08 0 [019..02D)-> BB07(0),BB04(1) ( cond ) IBC bwd | |
BB04 [0011] 1 BB03 0.08 0 [02D..040)-> BB07(0),BB05(1) ( cond ) IBC bwd | |
BB05 [0012] 1 BB04 0.08 0 [040..044)-> BB06(1) (always) IBC bwd | |
BB06 [0013] 2 BB01,BB05 167.15 167 [044..048)-> BB02(0.992),BB07(0.00812) ( cond ) IBC bwd bwd-src | |
BB07 [0014] 4 BB02,BB03,BB04,BB06 167.07 167 [048..04D) (return) IBC | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0008] [000..008) -> BB06(1) (always), preds={} succs={BB06} | |
------------ BB02 [0009] [008..019) -> BB07(0.9995009),BB03(0.0004990518) (cond), preds={BB06} succs={BB03,BB07} | |
------------ BB03 [0010] [019..02D) -> BB07(0),BB04(1) (cond), preds={BB02} succs={BB04,BB07} | |
------------ BB04 [0011] [02D..040) -> BB07(0),BB05(1) (cond), preds={BB03} succs={BB05,BB07} | |
------------ BB05 [0012] [040..044) -> BB06(1) (always), preds={BB04} succs={BB06} | |
------------ BB06 [0013] [044..048) -> BB02(0.991882),BB07(0.008118008) (cond), preds={BB01,BB05} succs={BB07,BB02} | |
------------ BB07 [0014] [048..04D) (return), preds={BB02,BB03,BB04,BB06} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xc) | |
Profile is self-consistent (7 profiled blocks, 0 unprofiled) | |
*************** Inline @[000019] Starting PHASE Importation | |
impImportBlockPending for BB01 | |
Importing BB01 (PC=000) of 'Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref)' | |
[ 0] 0 (0x000) ldarg.s 4 | |
[ 1] 2 (0x002) ldc.i4.0 0 | |
[ 2] 3 (0x003) stind.i4 | |
STMT00027 ( 0x000[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000095] nA--G------ * STOREIND int | |
[000093] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000094] ----------- \--* CNS_INT int 0 | |
[ 0] 4 (0x004) ldc.i4.1 1 | |
[ 1] 5 (0x005) stloc.3 | |
lvaGrabTemp returning 12 (V12 tmp6) (a long lifetime temp) called for Inline stloc first use temp. | |
STMT00028 ( 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000096] ----------- \--* CNS_INT int 1 | |
[ 0] 6 (0x006) br.s | |
impImportBlockPending for BB06 | |
Importing BB06 (PC=068) of 'Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref)' | |
[ 0] 68 (0x044) ldloc.3 | |
[ 1] 69 (0x045) ldarg.3 | |
[ 2] 70 (0x046) ble.s | |
STMT00029 ( 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000101] ----------- * JTRUE void | |
[000100] ----------- \--* LE int | |
[000098] ----------- +--* LCL_VAR int V12 tmp6 | |
[000099] ----------- \--* CNS_INT int 10 | |
impImportBlockPending for BB07 | |
impImportBlockPending for BB02 | |
Importing BB02 (PC=008) of 'Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref)' | |
[ 0] 8 (0x008) ldarg.0 | |
[ 1] 9 (0x009) ldind.r8 | |
[ 1] 10 (0x00a) call 06001080 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is double, structSize is 0 | |
CheckCanInline: fetching method info for inline candidate FF -- context 00007FFA992523B9 | |
Class context: Benchstone.BenchF.NewtR | |
INLINER: during 'impMarkInlineCandidate' result 'CheckCanInline Success' reason 'CheckCanInline Success' for 'Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref)' calling 'Benchstone.BenchF.NewtR:FF(double):double' | |
INLINER: during 'impMarkInlineCandidate' result 'CheckCanInline Success' reason 'CheckCanInline Success' | |
STMT00030 ( 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000104] I-C-G------ * CALL double Benchstone.BenchF.NewtR:FF(double):double (exactContextHnd=0x00007FFA992523B9) | |
[000103] n---G------ arg0 \--* IND double | |
[000102] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
[ 1] 15 (0x00f) stloc.0 | |
lvaGrabTemp returning 13 (V13 tmp7) (a long lifetime temp) called for Inline stloc first use temp. | |
Marked V13 as a single def temp | |
STMT00031 ( 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DAC-------- * STORE_LCL_VAR double V13 tmp7 | |
[000105] --C-------- \--* RET_EXPR double(for [000104]) | |
[ 0] 16 (0x010) ldloc.0 | |
[ 1] 17 (0x011) call 0A0000AF | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is double, structSize is 0 | |
Named Intrinsic System.Math.Abs: Recognized | |
[ 1] 22 (0x016) ldarg.2 | |
[ 2] 23 (0x017) blt.s | |
STMT00032 ( 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] ----------- * JTRUE void | |
[000110] ----------- \--* LT int | |
[000108] ----------- +--* INTRINSIC double abs | |
[000107] ----------- | \--* LCL_VAR double V13 tmp7 | |
[000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
impImportBlockPending for BB03 | |
impImportBlockPending for BB07 | |
Importing BB03 (PC=025) of 'Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref)' | |
[ 0] 25 (0x019) ldarg.0 | |
[ 1] 26 (0x01a) ldind.r8 | |
[ 1] 27 (0x01b) call 06001081 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is double, structSize is 0 | |
CheckCanInline: fetching method info for inline candidate FFDer -- context 00007FFA992523B9 | |
Class context: Benchstone.BenchF.NewtR | |
INLINER: during 'impMarkInlineCandidate' result 'CheckCanInline Success' reason 'CheckCanInline Success' for 'Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref)' calling 'Benchstone.BenchF.NewtR:FFDer(double):double' | |
INLINER: during 'impMarkInlineCandidate' result 'CheckCanInline Success' reason 'CheckCanInline Success' | |
STMT00033 ( 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000114] I-C-G------ * CALL double Benchstone.BenchF.NewtR:FFDer(double):double (exactContextHnd=0x00007FFA992523B9) | |
[000113] n---G------ arg0 \--* IND double | |
[000112] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
[ 1] 32 (0x020) stloc.1 | |
lvaGrabTemp returning 14 (V14 tmp8) (a long lifetime temp) called for Inline stloc first use temp. | |
Marked V14 as a single def temp | |
STMT00034 ( 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DAC-------- * STORE_LCL_VAR double V14 tmp8 | |
[000115] --C-------- \--* RET_EXPR double(for [000114]) | |
[ 0] 33 (0x021) ldloc.1 | |
[ 1] 34 (0x022) ldc.r8 0.0000000000000000 | |
[ 2] 43 (0x02b) beq.s | |
STMT00035 ( 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] ----------- * JTRUE void | |
[000119] ----------- \--* EQ int | |
[000117] ----------- +--* LCL_VAR double V14 tmp8 | |
[000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
impImportBlockPending for BB04 | |
impImportBlockPending for BB07 | |
Importing BB04 (PC=045) of 'Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref)' | |
[ 0] 45 (0x02d) ldloc.0 | |
[ 1] 46 (0x02e) ldloc.1 | |
[ 2] 47 (0x02f) div | |
[ 1] 48 (0x030) stloc.2 | |
lvaGrabTemp returning 15 (V15 tmp9) (a long lifetime temp) called for Inline stloc first use temp. | |
Marked V15 as a single def temp | |
STMT00036 ( 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000123] ----------- \--* DIV double | |
[000121] ----------- +--* LCL_VAR double V13 tmp7 | |
[000122] ----------- \--* LCL_VAR double V14 tmp8 | |
[ 0] 49 (0x031) ldarg.0 | |
[ 1] 50 (0x032) ldarg.0 | |
[ 2] 51 (0x033) ldind.r8 | |
[ 2] 52 (0x034) ldloc.2 | |
[ 3] 53 (0x035) sub | |
[ 2] 54 (0x036) stind.r8 | |
STMT00037 ( 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] nA--G------ * STOREIND double | |
[000125] ----------- +--* LCL_ADDR long V03 loc2 [+0] | |
[000129] ----G------ \--* SUB double | |
[000127] n---G------ +--* IND double | |
[000126] ----------- | \--* LCL_ADDR long V03 loc2 [+0] | |
[000128] ----------- \--* LCL_VAR double V15 tmp9 | |
[ 0] 55 (0x037) ldloc.2 | |
[ 1] 56 (0x038) call 0A0000AF | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is double, structSize is 0 | |
Named Intrinsic System.Math.Abs: Recognized | |
[ 1] 61 (0x03d) ldarg.1 | |
[ 2] 62 (0x03e) blt.s | |
STMT00038 ( 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] ----------- * JTRUE void | |
[000134] ----------- \--* LT int | |
[000132] ----------- +--* INTRINSIC double abs | |
[000131] ----------- | \--* LCL_VAR double V15 tmp9 | |
[000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
impImportBlockPending for BB05 | |
impImportBlockPending for BB07 | |
Importing BB05 (PC=064) of 'Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref)' | |
[ 0] 64 (0x040) ldloc.3 | |
[ 1] 65 (0x041) ldc.i4.1 1 | |
[ 2] 66 (0x042) add | |
[ 1] 67 (0x043) stloc.3 | |
STMT00039 ( 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000138] ----------- \--* ADD int | |
[000136] ----------- +--* LCL_VAR int V12 tmp6 | |
[000137] ----------- \--* CNS_INT int 1 | |
impImportBlockPending for BB06 | |
Importing BB07 (PC=072) of 'Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref)' | |
[ 0] 72 (0x048) ldarg.s 4 | |
[ 1] 74 (0x04a) ldc.i4.2 2 | |
[ 2] 75 (0x04b) stind.i4 | |
STMT00040 ( 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] nA--G------ * STOREIND int | |
[000140] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000141] ----------- \--* CNS_INT int 2 | |
[ 0] 76 (0x04c) ret | |
*************** Inline @[000019] Finishing PHASE Importation | |
Trees after Importation | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0008] 1 167.07 167 [000..008)-> BB06(1) (always) i IBC | |
BB02 [0009] 1 BB06 165.79 166 [008..019)-> BB07(1),BB03(0.000499) ( cond ) i IBC bwd bwd-target | |
BB03 [0010] 1 BB02 0.08 0 [019..02D)-> BB07(0),BB04(1) ( cond ) i IBC bwd | |
BB04 [0011] 1 BB03 0.08 0 [02D..040)-> BB07(0),BB05(1) ( cond ) i IBC bwd | |
BB05 [0012] 1 BB04 0.08 0 [040..044)-> BB06(1) (always) i IBC bwd | |
BB06 [0013] 2 BB01,BB05 167.15 167 [044..048)-> BB02(0.992),BB07(0.00812) ( cond ) i IBC bwd bwd-src | |
BB07 [0014] 4 BB02,BB03,BB04,BB06 167.07 167 [048..04D) (return) i IBC | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0008] [000..008) -> BB06(1) (always), preds={} succs={BB06} | |
***** BB01 [0008] | |
STMT00027 ( 0x000[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000095] nA--G------ * STOREIND int | |
[000093] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000094] ----------- \--* CNS_INT int 0 | |
***** BB01 [0008] | |
STMT00028 ( 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000096] ----------- \--* CNS_INT int 1 | |
------------ BB02 [0009] [008..019) -> BB07(0.9995009),BB03(0.0004990518) (cond), preds={BB06} succs={BB03,BB07} | |
***** BB02 [0009] | |
STMT00030 ( 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000104] I-C-G------ * CALL double Benchstone.BenchF.NewtR:FF(double):double (exactContextHnd=0x00007FFA992523B9) | |
[000103] n---G------ arg0 \--* IND double | |
[000102] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
***** BB02 [0009] | |
STMT00031 ( 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DAC-------- * STORE_LCL_VAR double V13 tmp7 | |
[000105] --C-------- \--* RET_EXPR double(for [000104]) | |
***** BB02 [0009] | |
STMT00032 ( 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] ----------- * JTRUE void | |
[000110] ----------- \--* LT int | |
[000108] ----------- +--* INTRINSIC double abs | |
[000107] ----------- | \--* LCL_VAR double V13 tmp7 | |
[000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB03 [0010] [019..02D) -> BB07(0),BB04(1) (cond), preds={BB02} succs={BB04,BB07} | |
***** BB03 [0010] | |
STMT00033 ( 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000114] I-C-G------ * CALL double Benchstone.BenchF.NewtR:FFDer(double):double (exactContextHnd=0x00007FFA992523B9) | |
[000113] n---G------ arg0 \--* IND double | |
[000112] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
***** BB03 [0010] | |
STMT00034 ( 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DAC-------- * STORE_LCL_VAR double V14 tmp8 | |
[000115] --C-------- \--* RET_EXPR double(for [000114]) | |
***** BB03 [0010] | |
STMT00035 ( 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] ----------- * JTRUE void | |
[000119] ----------- \--* EQ int | |
[000117] ----------- +--* LCL_VAR double V14 tmp8 | |
[000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB04 [0011] [02D..040) -> BB07(0),BB05(1) (cond), preds={BB03} succs={BB05,BB07} | |
***** BB04 [0011] | |
STMT00036 ( 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000123] ----------- \--* DIV double | |
[000121] ----------- +--* LCL_VAR double V13 tmp7 | |
[000122] ----------- \--* LCL_VAR double V14 tmp8 | |
***** BB04 [0011] | |
STMT00037 ( 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] nA--G------ * STOREIND double | |
[000125] ----------- +--* LCL_ADDR long V03 loc2 [+0] | |
[000129] ----G------ \--* SUB double | |
[000127] n---G------ +--* IND double | |
[000126] ----------- | \--* LCL_ADDR long V03 loc2 [+0] | |
[000128] ----------- \--* LCL_VAR double V15 tmp9 | |
***** BB04 [0011] | |
STMT00038 ( 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] ----------- * JTRUE void | |
[000134] ----------- \--* LT int | |
[000132] ----------- +--* INTRINSIC double abs | |
[000131] ----------- | \--* LCL_VAR double V15 tmp9 | |
[000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB05 [0012] [040..044) -> BB06(1) (always), preds={BB04} succs={BB06} | |
***** BB05 [0012] | |
STMT00039 ( 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000138] ----------- \--* ADD int | |
[000136] ----------- +--* LCL_VAR int V12 tmp6 | |
[000137] ----------- \--* CNS_INT int 1 | |
------------ BB06 [0013] [044..048) -> BB02(0.991882),BB07(0.008118008) (cond), preds={BB01,BB05} succs={BB07,BB02} | |
***** BB06 [0013] | |
STMT00029 ( 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000101] ----------- * JTRUE void | |
[000100] ----------- \--* LE int | |
[000098] ----------- +--* LCL_VAR int V12 tmp6 | |
[000099] ----------- \--* CNS_INT int 10 | |
------------ BB07 [0014] [048..04D) (return), preds={BB02,BB03,BB04,BB06} succs={} | |
***** BB07 [0014] | |
STMT00040 ( 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] nA--G------ * STOREIND int | |
[000140] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000141] ----------- \--* CNS_INT int 2 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xc) | |
Profile is self-consistent (7 profiled blocks, 0 unprofiled) | |
*************** Inline @[000019] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000019] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000019] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000019] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000019] Starting PHASE Post-import | |
*************** Inline @[000019] Finishing PHASE Post-import [no changes] | |
----------- Statements (and blocks) added due to the inlining of call [000019] ----------- | |
Arguments setup: | |
Zero init inlinee locals: | |
STMT00041 ( 0x01D[E-] ... ??? ) | |
[000144] DA--------- * STORE_LCL_VAR double V13 tmp7 | |
[000143] ----------- \--* CNS_DBL double 0.0000000000000000 | |
STMT00042 ( 0x01D[E-] ... ??? ) | |
[000146] DA--------- * STORE_LCL_VAR double V14 tmp8 | |
[000145] ----------- \--* CNS_DBL double 0.0000000000000000 | |
STMT00043 ( 0x01D[E-] ... ??? ) | |
[000148] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000147] ----------- \--* CNS_DBL double 0.0000000000000000 | |
STMT00044 ( 0x01D[E-] ... ??? ) | |
[000150] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000149] ----------- \--* CNS_INT int 0 | |
Inlinee method body:New Basic Block BB09 [0015] created. | |
BB03 previous predecessor was BB02, now is BB09 | |
BB05 previous predecessor was BB02, now is BB09 | |
setting likelihood of BB02 -> BB09 to 1 | |
Convert bbKind of BB16 to BBJ_ALWAYS to bottomBlock BB09 | |
setting likelihood of BB16 -> BB09 to 1 | |
fgInlineAppendStatements: no gc ref inline locals. | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB10 [0008] 1 BB02 167.07 167 [01D..01E)-> BB15(1) (always) i IBC bwd | |
BB11 [0009] 1 BB15 165.79 166 [01D..01E)-> BB16(1),BB12(0.000499) ( cond ) i IBC bwd bwd-target | |
BB12 [0010] 1 BB11 0.08 0 [01D..01E)-> BB16(0),BB13(1) ( cond ) i IBC bwd | |
BB13 [0011] 1 BB12 0.08 0 [01D..01E)-> BB16(0),BB14(1) ( cond ) i IBC bwd | |
BB14 [0012] 1 BB13 0.08 0 [01D..01E)-> BB15(1) (always) i IBC bwd | |
BB15 [0013] 2 BB10,BB14 167.15 167 [01D..01E)-> BB11(0.992),BB16(0.00812) ( cond ) i IBC bwd bwd-src | |
BB16 [0014] 4 BB11,BB12,BB13,BB15 167.07 167 [01D..01E)-> BB09(1) (always) i IBC bwd | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB10 [0008] [01D..01E) -> BB15(1) (always), preds={BB02} succs={BB15} | |
***** BB10 [0008] | |
STMT00027 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000095] nA--G------ * STOREIND int | |
[000093] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000094] ----------- \--* CNS_INT int 0 | |
***** BB10 [0008] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000096] ----------- \--* CNS_INT int 1 | |
------------ BB11 [0009] [01D..01E) -> BB16(0.9995009),BB12(0.0004990518) (cond), preds={BB15} succs={BB12,BB16} | |
***** BB11 [0009] | |
STMT00030 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000104] I-C-G------ * CALL double Benchstone.BenchF.NewtR:FF(double):double (exactContextHnd=0x00007FFA992523B9) | |
[000103] n---G------ arg0 \--* IND double | |
[000102] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
***** BB11 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DAC-------- * STORE_LCL_VAR double V13 tmp7 | |
[000105] --C-------- \--* RET_EXPR double(for [000104]) | |
***** BB11 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] ----------- * JTRUE void | |
[000110] ----------- \--* LT int | |
[000108] ----------- +--* INTRINSIC double abs | |
[000107] ----------- | \--* LCL_VAR double V13 tmp7 | |
[000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB12 [0010] [01D..01E) -> BB16(0),BB13(1) (cond), preds={BB11} succs={BB13,BB16} | |
***** BB12 [0010] | |
STMT00033 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000114] I-C-G------ * CALL double Benchstone.BenchF.NewtR:FFDer(double):double (exactContextHnd=0x00007FFA992523B9) | |
[000113] n---G------ arg0 \--* IND double | |
[000112] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
***** BB12 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DAC-------- * STORE_LCL_VAR double V14 tmp8 | |
[000115] --C-------- \--* RET_EXPR double(for [000114]) | |
***** BB12 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] ----------- * JTRUE void | |
[000119] ----------- \--* EQ int | |
[000117] ----------- +--* LCL_VAR double V14 tmp8 | |
[000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB13 [0011] [01D..01E) -> BB16(0),BB14(1) (cond), preds={BB12} succs={BB14,BB16} | |
***** BB13 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000123] ----------- \--* DIV double | |
[000121] ----------- +--* LCL_VAR double V13 tmp7 | |
[000122] ----------- \--* LCL_VAR double V14 tmp8 | |
***** BB13 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] nA--G------ * STOREIND double | |
[000125] ----------- +--* LCL_ADDR long V03 loc2 [+0] | |
[000129] ----G------ \--* SUB double | |
[000127] n---G------ +--* IND double | |
[000126] ----------- | \--* LCL_ADDR long V03 loc2 [+0] | |
[000128] ----------- \--* LCL_VAR double V15 tmp9 | |
***** BB13 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] ----------- * JTRUE void | |
[000134] ----------- \--* LT int | |
[000132] ----------- +--* INTRINSIC double abs | |
[000131] ----------- | \--* LCL_VAR double V15 tmp9 | |
[000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB14 [0012] [01D..01E) -> BB15(1) (always), preds={BB13} succs={BB15} | |
***** BB14 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000138] ----------- \--* ADD int | |
[000136] ----------- +--* LCL_VAR int V12 tmp6 | |
[000137] ----------- \--* CNS_INT int 1 | |
------------ BB15 [0013] [01D..01E) -> BB11(0.991882),BB16(0.008118008) (cond), preds={BB10,BB14} succs={BB16,BB11} | |
***** BB15 [0013] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000101] ----------- * JTRUE void | |
[000100] ----------- \--* LE int | |
[000098] ----------- +--* LCL_VAR int V12 tmp6 | |
[000099] ----------- \--* CNS_INT int 10 | |
------------ BB16 [0014] [01D..01E) -> BB09(1) (always), preds={BB11,BB12,BB13,BB15} succs={BB09} | |
***** BB16 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] nA--G------ * STOREIND int | |
[000140] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000141] ----------- \--* CNS_INT int 2 | |
------------------------------------------------------------------------------------------------------------------- | |
Successfully inlined Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref) (77 IL bytes) (depth 1) [profitable inline] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref)' | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' | |
Expanding INLINE_CANDIDATE in statement STMT00030 in BB11: | |
STMT00030 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000104] I-C-G------ * CALL double Benchstone.BenchF.NewtR:FF(double):double (exactContextHnd=0x00007FFA992523B9) | |
[000103] n---G------ arg0 \--* IND double | |
[000102] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
Argument #0: has global refs has caller local ref | |
[000103] n---G------ * IND double | |
[000102] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
INLINER: inlineInfo.tokenLookupContextHandle for Benchstone.BenchF.NewtR:FF(double):double set to 0x00007FFA992523B9: | |
Invoking compiler for the inlinee method Benchstone.BenchF.NewtR:FF(double):double : | |
IL to import: | |
IL_0000 23 00 00 00 00 00 00 f0 bf ldc.r8 -1.000000 | |
IL_0009 02 ldarg.0 | |
IL_000a 23 00 00 00 00 00 00 f0 3f ldc.r8 1.000000 | |
IL_0013 02 ldarg.0 | |
IL_0014 02 ldarg.0 | |
IL_0015 5a mul | |
IL_0016 59 sub | |
IL_0017 5a mul | |
IL_0018 59 sub | |
IL_0019 2a ret | |
INLINER impTokenLookupContextHandle for Benchstone.BenchF.NewtR:FF(double):double is 0x00007FFA992523B9. | |
*************** In compInitDebuggingInfo() for Benchstone.BenchF.NewtR:FF(double):double | |
info.compStmtOffsetsCount = 0 | |
info.compStmtOffsetsImplicit = 0005h ( STACK_EMPTY CALL_SITE ) | |
*************** In fgFindBasicBlocks() for Benchstone.BenchF.NewtR:FF(double):double | |
weight=113 : state 36 [ ldc.r8 ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight=113 : state 36 [ ldc.r8 ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= -9 : state 78 [ mul ] | |
weight=-15 : state 77 [ sub ] | |
weight= -9 : state 78 [ mul ] | |
weight=-15 : state 77 [ sub ] | |
weight= 19 : state 42 [ ret ] | |
Inline candidate callsite is in a loop. Multiplier increased to 3. | |
Callsite has profile data: 98.6469. Multiplier limited to 13.5. | |
calleeNativeSizeEstimate=227 | |
callsiteNativeSizeEstimate=85 | |
benefit multiplier=13.5 | |
threshold=1147 | |
Native estimate for function size is within threshold for inlining 22.7 <= 114.7 (multiplier = 13.5) | |
Jump targets: | |
none | |
New Basic Block BB01 [0016] created. | |
BB01 [0016] [000..01A) | |
Basic block list for 'Benchstone.BenchF.NewtR:FF(double):double' | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0016] 1 1 [000..01A) (return) | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000104] Starting PHASE Pre-import | |
*************** Inline @[000104] Finishing PHASE Pre-import | |
Trees after Pre-import | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0016] 1 1 [000..01A) (return) | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0016] [000..01A) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** Inline @[000104] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Dynamic PGO active, synthesizing profile data | |
Identifying loops in DFS tree with following reverse post order: | |
RPO -> BB [pre, post] | |
00 -> BB01[0, 0] | |
Flow graph has no cycles; skipping identification of natural loops | |
Assigning edge likelihoods based on heuristics | |
Synthesis: entry BB01 has input weight 100 | |
Synthesis: exception weight 1e-05 | |
Computing block weights | |
Synthesis solver: flow graph has 0 improper loop headers | |
converged at iteration 0 rel residual inf eigenvalue 0 | |
Checking Profile Weights (flags:0x14) | |
Profile is self-consistent (1 profiled blocks, 0 unprofiled) | |
Computing inlinee profile scale: | |
call site count 165.793 callee entry count 100 scale 1.65793 | |
Scaling inlinee blocks | |
*************** Inline @[000104] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0016] 1 165.79 166 [000..01A) (return) IBC | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0016] [000..01A) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xc) | |
Profile is self-consistent (1 profiled blocks, 0 unprofiled) | |
*************** Inline @[000104] Starting PHASE Importation | |
impImportBlockPending for BB01 | |
Importing BB01 (PC=000) of 'Benchstone.BenchF.NewtR:FF(double):double' | |
[ 0] 0 (0x000) ldc.r8 -1.0000000000000000 | |
[ 1] 9 (0x009) ldarg.0 | |
lvaGrabTemp returning 16 (V16 tmp10) called for Inlining Arg. | |
Marked V16 as a single def temp | |
[ 2] 10 (0x00a) ldc.r8 1.0000000000000000 | |
[ 3] 19 (0x013) ldarg.0 | |
[ 4] 20 (0x014) ldarg.0 | |
[ 5] 21 (0x015) mul | |
[ 4] 22 (0x016) sub | |
[ 3] 23 (0x017) mul | |
[ 2] 24 (0x018) sub | |
[ 1] 25 (0x019) ret | |
Inlinee Return expression (before normalization) => | |
[000160] ----------- * SUB double | |
[000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000159] ----------- \--* MUL double | |
[000153] ----------- +--* LCL_VAR double V16 tmp10 | |
[000158] ----------- \--* SUB double | |
[000154] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000157] ----------- \--* MUL double | |
[000155] ----------- +--* LCL_VAR double V16 tmp10 | |
[000156] ----------- \--* LCL_VAR double V16 tmp10 | |
Inlinee Return expression (after normalization) => | |
[000160] ----------- * SUB double | |
[000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000159] ----------- \--* MUL double | |
[000153] ----------- +--* LCL_VAR double V16 tmp10 | |
[000158] ----------- \--* SUB double | |
[000154] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000157] ----------- \--* MUL double | |
[000155] ----------- +--* LCL_VAR double V16 tmp10 | |
[000156] ----------- \--* LCL_VAR double V16 tmp10 | |
** Note: inlinee IL was partially imported -- imported 0 of 26 bytes of method IL | |
*************** Inline @[000104] Finishing PHASE Importation | |
Trees after Importation | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0016] 1 165.79 166 [000..01A) (return) i IBC | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0016] [000..01A) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xc) | |
Profile is self-consistent (1 profiled blocks, 0 unprofiled) | |
*************** Inline @[000104] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000104] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000104] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000104] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000104] Starting PHASE Post-import | |
*************** Inline @[000104] Finishing PHASE Post-import [no changes] | |
----------- Statements (and blocks) added due to the inlining of call [000104] ----------- | |
Arguments setup: | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G------ * STORE_LCL_VAR double V16 tmp10 | |
[000103] n---G------ \--* IND double | |
[000102] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
Inlinee method body:fgInlineAppendStatements: no gc ref inline locals. | |
Successfully inlined Benchstone.BenchF.NewtR:FF(double):double (26 IL bytes) (depth 2) [profitable inline] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'Benchstone.BenchF.NewtR:FF(double):double' | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' | |
Replacing the return expression placeholder [000105] with [000160] | |
[000105] --C-------- * RET_EXPR double(for [000104]) -> [000160] | |
Inserting the inline return expression | |
[000160] ----------- * SUB double | |
[000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000159] ----------- \--* MUL double | |
[000153] ----------- +--* LCL_VAR double V16 tmp10 | |
[000158] ----------- \--* SUB double | |
[000154] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000157] ----------- \--* MUL double | |
[000155] ----------- +--* LCL_VAR double V16 tmp10 | |
[000156] ----------- \--* LCL_VAR double V16 tmp10 | |
Expanding INLINE_CANDIDATE in statement STMT00033 in BB12: | |
STMT00033 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000114] I-C-G------ * CALL double Benchstone.BenchF.NewtR:FFDer(double):double (exactContextHnd=0x00007FFA992523B9) | |
[000113] n---G------ arg0 \--* IND double | |
[000112] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
Argument #0: has global refs has caller local ref | |
[000113] n---G------ * IND double | |
[000112] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
INLINER: inlineInfo.tokenLookupContextHandle for Benchstone.BenchF.NewtR:FFDer(double):double set to 0x00007FFA992523B9: | |
Invoking compiler for the inlinee method Benchstone.BenchF.NewtR:FFDer(double):double : | |
IL to import: | |
IL_0000 23 00 00 00 00 00 00 08 40 ldc.r8 3.000000 | |
IL_0009 02 ldarg.0 | |
IL_000a 5a mul | |
IL_000b 02 ldarg.0 | |
IL_000c 5a mul | |
IL_000d 23 00 00 00 00 00 00 f0 3f ldc.r8 1.000000 | |
IL_0016 59 sub | |
IL_0017 2a ret | |
INLINER impTokenLookupContextHandle for Benchstone.BenchF.NewtR:FFDer(double):double is 0x00007FFA992523B9. | |
*************** In compInitDebuggingInfo() for Benchstone.BenchF.NewtR:FFDer(double):double | |
info.compStmtOffsetsCount = 0 | |
info.compStmtOffsetsImplicit = 0005h ( STACK_EMPTY CALL_SITE ) | |
*************** In fgFindBasicBlocks() for Benchstone.BenchF.NewtR:FFDer(double):double | |
weight=113 : state 36 [ ldc.r8 ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= -9 : state 78 [ mul ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= -9 : state 78 [ mul ] | |
weight= 65 : state 208 [ ldc.r8 -> sub ] | |
weight= 19 : state 42 [ ret ] | |
Inline candidate has 1 binary expressions with constants. Multiplier increased to 0.5. | |
Inline candidate callsite is in a loop. Multiplier increased to 3.5. | |
Callsite has profile data: 0.0492299. Multiplier limited to 1.77368. | |
calleeNativeSizeEstimate=199 | |
callsiteNativeSizeEstimate=85 | |
benefit multiplier=1.77368 | |
threshold=150 | |
Native estimate for function size exceeds threshold for inlining 19.9 > 15 (multiplier = 1.77368) | |
Inline expansion aborted, inline not profitable | |
Inlining [000114] failed, so bashing STMT00033 to NOP | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'Benchstone.BenchF.NewtR:FFDer(double):double' | |
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' | |
Replacing the return expression placeholder [000115] with [000114] | |
[000115] --C-------- * RET_EXPR double(for [000114]) -> [000114] | |
Inserting the inline return expression | |
[000114] --C-G------ * CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] n---G------ arg0 \--* IND double | |
[000112] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
Expanding INLINE_CANDIDATE in statement STMT00009 in BB03: | |
STMT00009 ( 0x03E[E-] ... 0x044 ) | |
[000029] I-C-G------ * CALL double Benchstone.BenchF.NewtR:FF(double):double (exactContextHnd=0x00007FFA992523B9) | |
[000028] ----------- arg0 \--* LCL_VAR double V03 loc2 | |
Argument #0: is a local var has caller local ref | |
[000028] ----------- * LCL_VAR double V03 loc2 | |
INLINER: inlineInfo.tokenLookupContextHandle for Benchstone.BenchF.NewtR:FF(double):double set to 0x00007FFA992523B9: | |
Invoking compiler for the inlinee method Benchstone.BenchF.NewtR:FF(double):double : | |
IL to import: | |
IL_0000 23 00 00 00 00 00 00 f0 bf ldc.r8 -1.000000 | |
IL_0009 02 ldarg.0 | |
IL_000a 23 00 00 00 00 00 00 f0 3f ldc.r8 1.000000 | |
IL_0013 02 ldarg.0 | |
IL_0014 02 ldarg.0 | |
IL_0015 5a mul | |
IL_0016 59 sub | |
IL_0017 5a mul | |
IL_0018 59 sub | |
IL_0019 2a ret | |
INLINER impTokenLookupContextHandle for Benchstone.BenchF.NewtR:FF(double):double is 0x00007FFA992523B9. | |
*************** In compInitDebuggingInfo() for Benchstone.BenchF.NewtR:FF(double):double | |
info.compStmtOffsetsCount = 0 | |
info.compStmtOffsetsImplicit = 0005h ( STACK_EMPTY CALL_SITE ) | |
*************** In fgFindBasicBlocks() for Benchstone.BenchF.NewtR:FF(double):double | |
weight=113 : state 36 [ ldc.r8 ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight=113 : state 36 [ ldc.r8 ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= -9 : state 78 [ mul ] | |
weight=-15 : state 77 [ sub ] | |
weight= -9 : state 78 [ mul ] | |
weight=-15 : state 77 [ sub ] | |
weight= 19 : state 42 [ ret ] | |
Inline candidate callsite is in a loop. Multiplier increased to 3. | |
Callsite has profile data: 2.58453. Multiplier limited to 13.5. | |
calleeNativeSizeEstimate=227 | |
callsiteNativeSizeEstimate=85 | |
benefit multiplier=13.5 | |
threshold=1147 | |
Native estimate for function size is within threshold for inlining 22.7 <= 114.7 (multiplier = 13.5) | |
Jump targets: | |
none | |
New Basic Block BB01 [0017] created. | |
BB01 [0017] [000..01A) | |
Basic block list for 'Benchstone.BenchF.NewtR:FF(double):double' | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0017] 1 1 [000..01A) (return) | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000029] Starting PHASE Pre-import | |
*************** Inline @[000029] Finishing PHASE Pre-import | |
Trees after Pre-import | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0017] 1 1 [000..01A) (return) | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0017] [000..01A) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** Inline @[000029] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Dynamic PGO active, synthesizing profile data | |
Identifying loops in DFS tree with following reverse post order: | |
RPO -> BB [pre, post] | |
00 -> BB01[0, 0] | |
Flow graph has no cycles; skipping identification of natural loops | |
Assigning edge likelihoods based on heuristics | |
Synthesis: entry BB01 has input weight 100 | |
Synthesis: exception weight 1e-05 | |
Computing block weights | |
Synthesis solver: flow graph has 0 improper loop headers | |
converged at iteration 0 rel residual inf eigenvalue 0 | |
Checking Profile Weights (flags:0x14) | |
Profile is self-consistent (1 profiled blocks, 0 unprofiled) | |
Computing inlinee profile scale: | |
call site count 4.343748 callee entry count 100 scale 0.04343748 | |
Scaling inlinee blocks | |
*************** Inline @[000029] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0017] 1 4.34 4 [000..01A) (return) IBC | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0017] [000..01A) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xc) | |
Profile is self-consistent (1 profiled blocks, 0 unprofiled) | |
*************** Inline @[000029] Starting PHASE Importation | |
impImportBlockPending for BB01 | |
Importing BB01 (PC=000) of 'Benchstone.BenchF.NewtR:FF(double):double' | |
[ 0] 0 (0x000) ldc.r8 -1.0000000000000000 | |
[ 1] 9 (0x009) ldarg.0 | |
lvaGrabTemp returning 17 (V17 tmp11) called for Inlining Arg. | |
Marked V17 as a single def temp | |
[ 2] 10 (0x00a) ldc.r8 1.0000000000000000 | |
[ 3] 19 (0x013) ldarg.0 | |
[ 4] 20 (0x014) ldarg.0 | |
[ 5] 21 (0x015) mul | |
[ 4] 22 (0x016) sub | |
[ 3] 23 (0x017) mul | |
[ 2] 24 (0x018) sub | |
[ 1] 25 (0x019) ret | |
Inlinee Return expression (before normalization) => | |
[000172] ----------- * SUB double | |
[000164] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000171] ----------- \--* MUL double | |
[000165] ----------- +--* LCL_VAR double V17 tmp11 | |
[000170] ----------- \--* SUB double | |
[000166] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000169] ----------- \--* MUL double | |
[000167] ----------- +--* LCL_VAR double V17 tmp11 | |
[000168] ----------- \--* LCL_VAR double V17 tmp11 | |
Inlinee Return expression (after normalization) => | |
[000172] ----------- * SUB double | |
[000164] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000171] ----------- \--* MUL double | |
[000165] ----------- +--* LCL_VAR double V17 tmp11 | |
[000170] ----------- \--* SUB double | |
[000166] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000169] ----------- \--* MUL double | |
[000167] ----------- +--* LCL_VAR double V17 tmp11 | |
[000168] ----------- \--* LCL_VAR double V17 tmp11 | |
** Note: inlinee IL was partially imported -- imported 0 of 26 bytes of method IL | |
*************** Inline @[000029] Finishing PHASE Importation | |
Trees after Importation | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0017] 1 4.34 4 [000..01A) (return) i IBC | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0017] [000..01A) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xc) | |
Profile is self-consistent (1 profiled blocks, 0 unprofiled) | |
*************** Inline @[000029] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000029] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000029] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000029] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000029] Starting PHASE Post-import | |
*************** Inline @[000029] Finishing PHASE Post-import [no changes] | |
----------- Statements (and blocks) added due to the inlining of call [000029] ----------- | |
Arguments setup: | |
STMT00046 ( 0x03E[E-] ... ??? ) | |
[000173] DA--------- * STORE_LCL_VAR double V17 tmp11 | |
[000028] ----------- \--* LCL_VAR double V03 loc2 | |
Inlinee method body:fgInlineAppendStatements: no gc ref inline locals. | |
Successfully inlined Benchstone.BenchF.NewtR:FF(double):double (26 IL bytes) (depth 1) [profitable inline] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'Benchstone.BenchF.NewtR:FF(double):double' | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' | |
Replacing the return expression placeholder [000030] with [000172] | |
[000030] --C-------- * RET_EXPR double(for [000029]) -> [000172] | |
Inserting the inline return expression | |
[000172] ----------- * SUB double | |
[000164] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000171] ----------- \--* MUL double | |
[000165] ----------- +--* LCL_VAR double V17 tmp11 | |
[000170] ----------- \--* SUB double | |
[000166] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000169] ----------- \--* MUL double | |
[000167] ----------- +--* LCL_VAR double V17 tmp11 | |
[000168] ----------- \--* LCL_VAR double V17 tmp11 | |
INLINER: during 'fgNoteNonInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'System.Console:WriteLine(System.String,System.Object,System.Object)' | |
INLINER: during 'fgNoteNonInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' | |
INLINER: during 'fgNoteNonInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'Benchstone.BenchF.NewtR:Escape(System.Object)' | |
INLINER: during 'fgNoteNonInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' | |
INLINER: during 'fgNoteNonInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'Benchstone.BenchF.NewtR:Escape(System.Object)' | |
INLINER: during 'fgNoteNonInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' | |
INLINER: during 'fgNoteNonInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' for 'Benchstone.BenchF.NewtR:Test():ubyte:this' calling 'Benchstone.BenchF.NewtR:Escape(System.Object)' | |
INLINER: during 'fgNoteNonInlineCandidate' result 'failed this callee' reason 'noinline per IL/cached result' | |
**************** Inline Tree | |
Inlines into 0600107F [via ExtendedDefaultPolicy] Benchstone.BenchF.NewtR:Test():ubyte:this: | |
[INL01 IL=0053 TR=000019 06001082] [INLINED: call site: profitable inline] Benchstone.BenchF.NewtR:Inner(byref,double,double,int,byref) | |
[INL02 IL=0010 TR=000104 06001080] [INLINED: call site: profitable inline] Benchstone.BenchF.NewtR:FF(double):double | |
[INL00 IL=0027 TR=000114 06001081] [FAILED: call site: unprofitable inline] Benchstone.BenchF.NewtR:FFDer(double):double | |
[INL03 IL=0063 TR=000029 06001080] [INLINED: call site: profitable inline] Benchstone.BenchF.NewtR:FF(double):double | |
[INL00 IL=0089 TR=000057 06000094] [FAILED: callee: noinline per IL/cached result] System.Console:WriteLine(System.String,System.Object,System.Object) | |
[INL00 IL=0115 TR=000068 0600107E] [FAILED: callee: noinline per IL/cached result] Benchstone.BenchF.NewtR:Escape(System.Object) | |
[INL00 IL=0126 TR=000079 0600107E] [FAILED: callee: noinline per IL/cached result] Benchstone.BenchF.NewtR:Escape(System.Object) | |
[INL00 IL=0137 TR=000090 0600107E] [FAILED: callee: noinline per IL/cached result] Benchstone.BenchF.NewtR:Escape(System.Object) | |
Budget: initialTime=492, finalTime=604, initialBudget=4920, currentBudget=4920 | |
Budget: initialSize=3414, finalSize=4777 | |
*************** Before renumbering the basic blocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB08 [0007] 1 1.68 2 [???..???)-> BB06(1) (always) i IBC internal | |
BB01 [0000] 1 1 1 [000..01D)-> BB06(1) (always) i IBC original-entry | |
BB02 [0001] 1 BB06 167.07 167 [01D..03A)-> BB10(1) (always) i IBC bwd bwd-target | |
BB10 [0008] 1 BB02 167.07 167 [01D..01E)-> BB15(1) (always) i IBC bwd | |
BB11 [0009] 1 BB15 165.79 166 [01D..01E)-> BB16(1),BB12(0.000499) ( cond ) i IBC bwd bwd-target | |
BB12 [0010] 1 BB11 0.08 0 [01D..01E)-> BB16(0),BB13(1) ( cond ) i IBC bwd | |
BB13 [0011] 1 BB12 0.08 0 [01D..01E)-> BB16(0),BB14(1) ( cond ) i IBC bwd | |
BB14 [0012] 1 BB13 0.08 0 [01D..01E)-> BB15(1) (always) i IBC bwd | |
BB15 [0013] 2 BB10,BB14 167.15 167 [01D..01E)-> BB11(0.992),BB16(0.00812) ( cond ) i IBC bwd bwd-src | |
BB16 [0014] 4 BB11,BB12,BB13,BB15 167.07 167 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB09 [0015] 1 BB16 167.07 167 [03A..03E)-> BB05(0.974),BB03(0.026) ( cond ) i IBC bwd | |
BB03 [0002] 1 BB09 4.34 4 [03E..048)-> BB05(0.48),BB04(0.52) ( cond ) i IBC bwd | |
BB04 [0003] 1 BB03 2.26 2 [048..05E)-> BB05(1) (always) i IBC newobj bwd | |
BB05 [0004] 3 BB03,BB04,BB09 167.07 167 [05E..064)-> BB06(1) (always) i IBC bwd | |
BB06 [0005] 3 BB01,BB05,BB08 168.07 168 [064..06D)-> BB02(0.994),BB07(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB07 [0006] 1 BB06 1.00 1 [06D..090) (return) i IBC newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
Renumber BB08 to BB01 | |
Renumber BB01 to BB02 | |
Renumber BB02 to BB03 | |
Renumber BB10 to BB04 | |
Renumber BB11 to BB05 | |
Renumber BB12 to BB06 | |
Renumber BB13 to BB07 | |
Renumber BB14 to BB08 | |
Renumber BB15 to BB09 | |
Renumber BB16 to BB10 | |
Renumber BB09 to BB11 | |
Renumber BB03 to BB12 | |
Renumber BB04 to BB13 | |
Renumber BB05 to BB14 | |
Renumber BB06 to BB15 | |
Renumber BB07 to BB16 | |
*************** After renumbering the basic blocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1.68 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 1 1 1 [000..01D)-> BB15(1) (always) i IBC original-entry | |
BB03 [0001] 1 BB15 167.07 167 [01D..03A)-> BB04(1) (always) i IBC bwd bwd-target | |
BB04 [0008] 1 BB03 167.07 167 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB05 [0009] 1 BB09 165.79 166 [01D..01E)-> BB10(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.08 0 [01D..01E)-> BB10(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0011] 1 BB06 0.08 0 [01D..01E)-> BB10(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 0.08 0 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB09 [0013] 2 BB04,BB08 167.15 167 [01D..01E)-> BB05(0.992),BB10(0.00812) ( cond ) i IBC bwd bwd-src | |
BB10 [0014] 4 BB05,BB06,BB07,BB09 167.07 167 [01D..01E)-> BB11(1) (always) i IBC bwd | |
BB11 [0015] 1 BB10 167.07 167 [03A..03E)-> BB14(0.974),BB12(0.026) ( cond ) i IBC bwd | |
BB12 [0002] 1 BB11 4.34 4 [03E..048)-> BB14(0.48),BB13(0.52) ( cond ) i IBC bwd | |
BB13 [0003] 1 BB12 2.26 2 [048..05E)-> BB14(1) (always) i IBC newobj bwd | |
BB14 [0004] 3 BB11,BB12,BB13 167.07 167 [05E..064)-> BB15(1) (always) i IBC bwd | |
BB15 [0005] 3 BB01,BB02,BB14 168.07 168 [064..06D)-> BB03(0.994),BB16(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB16 [0006] 1 BB15 1.00 1 [06D..090) (return) i IBC newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
New BlockSet epoch 3, # of blocks (including unused BB00): 17, bitset array size: 1 (short) | |
*************** Finishing PHASE Morph - Inlining | |
Trees after Morph - Inlining | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1.68 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 1 1 1 [000..01D)-> BB15(1) (always) i IBC original-entry | |
BB03 [0001] 1 BB15 167.07 167 [01D..03A)-> BB04(1) (always) i IBC bwd bwd-target | |
BB04 [0008] 1 BB03 167.07 167 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB05 [0009] 1 BB09 165.79 166 [01D..01E)-> BB10(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.08 0 [01D..01E)-> BB10(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0011] 1 BB06 0.08 0 [01D..01E)-> BB10(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 0.08 0 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB09 [0013] 2 BB04,BB08 167.15 167 [01D..01E)-> BB05(0.992),BB10(0.00812) ( cond ) i IBC bwd bwd-src | |
BB10 [0014] 4 BB05,BB06,BB07,BB09 167.07 167 [01D..01E)-> BB11(1) (always) i IBC bwd | |
BB11 [0015] 1 BB10 167.07 167 [03A..03E)-> BB14(0.974),BB12(0.026) ( cond ) i IBC bwd | |
BB12 [0002] 1 BB11 4.34 4 [03E..048)-> BB14(0.48),BB13(0.52) ( cond ) i IBC bwd | |
BB13 [0003] 1 BB12 2.26 2 [048..05E)-> BB14(1) (always) i IBC newobj bwd | |
BB14 [0004] 3 BB11,BB12,BB13 167.07 167 [05E..064)-> BB15(1) (always) i IBC bwd | |
BB15 [0005] 3 BB01,BB02,BB14 168.07 168 [064..06D)-> BB03(0.994),BB16(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB16 [0006] 1 BB15 1.00 1 [06D..090) (return) i IBC newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0007] [???..???) -> BB15(1) (always), preds={} succs={BB15} | |
------------ BB02 [0000] [000..01D) -> BB15(1) (always), preds={} succs={BB15} | |
***** BB02 [0000] | |
STMT00000 ( 0x000[E-] ... 0x001 ) | |
[000001] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000000] ----------- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00001 ( 0x002[E-] ... 0x003 ) | |
[000003] DA--------- * STORE_LCL_VAR int V01 loc0 | |
[000002] ----------- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00002 ( 0x004[E-] ... 0x00D ) | |
[000005] DA--------- * STORE_LCL_VAR double V04 loc3 | |
[000004] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB02 [0000] | |
STMT00003 ( 0x00E[E-] ... 0x017 ) | |
[000007] DA--------- * STORE_LCL_VAR double V03 loc2 | |
[000006] ----------- \--* CNS_DBL double 1.0000000000000000 | |
***** BB02 [0000] | |
STMT00004 ( 0x018[E-] ... 0x019 ) | |
[000009] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000008] ----------- \--* CNS_INT int 1 | |
------------ BB03 [0001] [01D..03A) -> BB04(1) (always), preds={BB15} succs={BB04} | |
***** BB03 [0001] | |
STMT00041 ( 0x01D[E-] ... ??? ) | |
[000144] DA--------- * STORE_LCL_VAR double V13 tmp7 | |
[000143] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB03 [0001] | |
STMT00042 ( 0x01D[E-] ... ??? ) | |
[000146] DA--------- * STORE_LCL_VAR double V14 tmp8 | |
[000145] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB03 [0001] | |
STMT00043 ( 0x01D[E-] ... ??? ) | |
[000148] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000147] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB03 [0001] | |
STMT00044 ( 0x01D[E-] ... ??? ) | |
[000150] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000149] ----------- \--* CNS_INT int 0 | |
------------ BB04 [0008] [01D..01E) -> BB09(1) (always), preds={BB03} succs={BB09} | |
***** BB04 [0008] | |
STMT00027 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000095] nA--G------ * STOREIND int | |
[000093] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000094] ----------- \--* CNS_INT int 0 | |
***** BB04 [0008] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000096] ----------- \--* CNS_INT int 1 | |
------------ BB05 [0009] [01D..01E) -> BB10(0.9995009),BB06(0.0004990518) (cond), preds={BB09} succs={BB06,BB10} | |
***** BB05 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G------ * STORE_LCL_VAR double V16 tmp10 | |
[000103] n---G------ \--* IND double | |
[000102] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DAC-------- * STORE_LCL_VAR double V13 tmp7 | |
[000160] ----------- \--* SUB double | |
[000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000159] ----------- \--* MUL double | |
[000153] ----------- +--* LCL_VAR double V16 tmp10 | |
[000158] ----------- \--* SUB double | |
[000154] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000157] ----------- \--* MUL double | |
[000155] ----------- +--* LCL_VAR double V16 tmp10 | |
[000156] ----------- \--* LCL_VAR double V16 tmp10 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] ----------- * JTRUE void | |
[000110] ----------- \--* LT int | |
[000108] ----------- +--* INTRINSIC double abs | |
[000107] ----------- | \--* LCL_VAR double V13 tmp7 | |
[000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB06 [0010] [01D..01E) -> BB10(0),BB07(1) (cond), preds={BB05} succs={BB07,BB10} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DAC-------- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --C-G------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] n---G------ arg0 \--* IND double | |
[000112] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] ----------- * JTRUE void | |
[000119] ----------- \--* EQ int | |
[000117] ----------- +--* LCL_VAR double V14 tmp8 | |
[000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB07 [0011] [01D..01E) -> BB10(0),BB08(1) (cond), preds={BB06} succs={BB08,BB10} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000123] ----------- \--* DIV double | |
[000121] ----------- +--* LCL_VAR double V13 tmp7 | |
[000122] ----------- \--* LCL_VAR double V14 tmp8 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] nA--G------ * STOREIND double | |
[000125] ----------- +--* LCL_ADDR long V03 loc2 [+0] | |
[000129] ----G------ \--* SUB double | |
[000127] n---G------ +--* IND double | |
[000126] ----------- | \--* LCL_ADDR long V03 loc2 [+0] | |
[000128] ----------- \--* LCL_VAR double V15 tmp9 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] ----------- * JTRUE void | |
[000134] ----------- \--* LT int | |
[000132] ----------- +--* INTRINSIC double abs | |
[000131] ----------- | \--* LCL_VAR double V15 tmp9 | |
[000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB08 [0012] [01D..01E) -> BB09(1) (always), preds={BB07} succs={BB09} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000138] ----------- \--* ADD int | |
[000136] ----------- +--* LCL_VAR int V12 tmp6 | |
[000137] ----------- \--* CNS_INT int 1 | |
------------ BB09 [0013] [01D..01E) -> BB05(0.991882),BB10(0.008118008) (cond), preds={BB04,BB08} succs={BB10,BB05} | |
***** BB09 [0013] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000101] ----------- * JTRUE void | |
[000100] ----------- \--* LE int | |
[000098] ----------- +--* LCL_VAR int V12 tmp6 | |
[000099] ----------- \--* CNS_INT int 10 | |
------------ BB10 [0014] [01D..01E) -> BB11(1) (always), preds={BB05,BB06,BB07,BB09} succs={BB11} | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] nA--G------ * STOREIND int | |
[000140] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000141] ----------- \--* CNS_INT int 2 | |
------------ BB11 [0015] [03A..03E) -> BB14(0.974),BB12(0.026) (cond), preds={BB10} succs={BB12,BB14} | |
***** BB11 [0015] | |
STMT00007 ( 0x03A[E-] ... ??? ) | |
[000023] ----------- * JTRUE void | |
[000022] ----------- \--* GT int | |
[000020] ----------- +--* LCL_VAR int V02 loc1 | |
[000021] ----------- \--* CNS_INT int 1 | |
------------ BB12 [0002] [03E..048) -> BB14(0.48),BB13(0.52) (cond), preds={BB11} succs={BB13,BB14} | |
***** BB12 [0002] | |
STMT00046 ( 0x03E[E-] ... ??? ) | |
[000173] DA--------- * STORE_LCL_VAR double V17 tmp11 | |
[000028] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0002] | |
STMT00010 ( 0x03E[E-] ... ??? ) | |
[000031] DAC-------- * STORE_LCL_VAR double V04 loc3 | |
[000172] ----------- \--* SUB double | |
[000164] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000171] ----------- \--* MUL double | |
[000165] ----------- +--* LCL_VAR double V17 tmp11 | |
[000170] ----------- \--* SUB double | |
[000166] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000169] ----------- \--* MUL double | |
[000167] ----------- +--* LCL_VAR double V17 tmp11 | |
[000168] ----------- \--* LCL_VAR double V17 tmp11 | |
***** BB12 [0002] | |
STMT00011 ( 0x045[E-] ... 0x046 ) | |
[000035] ----------- * JTRUE void | |
[000034] ----------- \--* EQ int | |
[000032] ----------- +--* LCL_VAR int V01 loc0 | |
[000033] ----------- \--* CNS_INT int 0 | |
------------ BB13 [0003] [048..05E) -> BB14(1) (always), preds={BB12} succs={BB14} | |
***** BB13 [0003] | |
STMT00012 ( 0x048[E-] ... 0x059 ) | |
[000040] DA--------- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] ----------- \--* ALLOCOBJ ref | |
[000038] H---------- \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00013 ( ??? ... ??? ) | |
[000044] nA--G------ * STOREIND double | |
[000043] ----------- +--* ADD byref | |
[000041] ----------- | +--* LCL_VAR ref V07 tmp1 | |
[000042] ----------- | \--* CNS_INT long 8 | |
[000037] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB13 [0003] | |
STMT00014 ( ??? ... ??? ) | |
[000050] DA--------- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] ----------- \--* ALLOCOBJ ref | |
[000048] H---------- \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00015 ( ??? ... ??? ) | |
[000054] nA--G------ * STOREIND double | |
[000053] ----------- +--* ADD byref | |
[000051] ----------- | +--* LCL_VAR ref V08 tmp2 | |
[000052] ----------- | \--* CNS_INT long 8 | |
[000047] ----------- \--* LCL_VAR double V04 loc3 | |
***** BB13 [0003] | |
STMT00016 ( ??? ... ??? ) | |
[000057] --C-G------ * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
[000036] ----------- arg0 +--* CNS_STR ref <string constant> | |
[000046] ----------- arg1 +--* BOX ref | |
[000045] ----------- | \--* LCL_VAR ref V07 tmp1 | |
[000056] ----------- arg2 \--* BOX ref | |
[000055] ----------- \--* LCL_VAR ref V08 tmp2 | |
------------ BB14 [0004] [05E..064) -> BB15(1) (always), preds={BB11,BB12,BB13} succs={BB15} | |
***** BB14 [0004] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000026] ----------- \--* ADD int | |
[000024] ----------- +--* LCL_VAR int V05 loc4 | |
[000025] ----------- \--* CNS_INT int 1 | |
------------ BB15 [0005] [064..06D) -> BB03(0.99405),BB16(0.00595) (cond), preds={BB01,BB02,BB14} succs={BB16,BB03} | |
***** BB15 [0005] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
[000013] ----------- * JTRUE void | |
[000012] ----------- \--* LE int | |
[000010] ----------- +--* LCL_VAR int V05 loc4 | |
[000011] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB16 [0006] [06D..090) (return), preds={BB15} succs={} | |
***** BB16 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DA--------- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] ----------- \--* ALLOCOBJ ref | |
[000059] H---------- \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB16 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G------ * STOREIND int | |
[000064] ----------- +--* ADD byref | |
[000062] ----------- | +--* LCL_VAR ref V09 tmp3 | |
[000063] ----------- | \--* CNS_INT long 8 | |
[000058] ----------- \--* LCL_VAR int V02 loc1 | |
***** BB16 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] ----------- arg0 \--* BOX ref | |
[000066] ----------- \--* LCL_VAR ref V09 tmp3 | |
***** BB16 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DA--------- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] ----------- \--* ALLOCOBJ ref | |
[000070] H---------- \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G------ * STOREIND double | |
[000075] ----------- +--* ADD byref | |
[000073] ----------- | +--* LCL_VAR ref V10 tmp4 | |
[000074] ----------- | \--* CNS_INT long 8 | |
[000069] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB16 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] ----------- arg0 \--* BOX ref | |
[000077] ----------- \--* LCL_VAR ref V10 tmp4 | |
***** BB16 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DA--------- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] ----------- \--* ALLOCOBJ ref | |
[000081] H---------- \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G------ * STOREIND double | |
[000086] ----------- +--* ADD byref | |
[000084] ----------- | +--* LCL_VAR ref V11 tmp5 | |
[000085] ----------- | \--* CNS_INT long 8 | |
[000080] ----------- \--* LCL_VAR double V04 loc3 | |
***** BB16 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] ----------- arg0 \--* BOX ref | |
[000088] ----------- \--* LCL_VAR ref V11 tmp5 | |
***** BB16 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] ----------- * RETURN int | |
[000091] ----------- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xc) | |
Profile is self-consistent (16 profiled blocks, 0 unprofiled) | |
*************** Starting PHASE Allocate Objects | |
disabled, punting | |
*************** Finishing PHASE Allocate Objects [no changes] | |
*************** Starting PHASE Morph - Add internal blocks | |
*************** After fgAddInternal() | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1.68 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 1 1 1 [000..01D)-> BB15(1) (always) i IBC original-entry | |
BB03 [0001] 1 BB15 167.07 167 [01D..03A)-> BB04(1) (always) i IBC bwd bwd-target | |
BB04 [0008] 1 BB03 167.07 167 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB05 [0009] 1 BB09 165.79 166 [01D..01E)-> BB10(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.08 0 [01D..01E)-> BB10(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0011] 1 BB06 0.08 0 [01D..01E)-> BB10(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 0.08 0 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB09 [0013] 2 BB04,BB08 167.15 167 [01D..01E)-> BB05(0.992),BB10(0.00812) ( cond ) i IBC bwd bwd-src | |
BB10 [0014] 4 BB05,BB06,BB07,BB09 167.07 167 [01D..01E)-> BB11(1) (always) i IBC bwd | |
BB11 [0015] 1 BB10 167.07 167 [03A..03E)-> BB14(0.974),BB12(0.026) ( cond ) i IBC bwd | |
BB12 [0002] 1 BB11 4.34 4 [03E..048)-> BB14(0.48),BB13(0.52) ( cond ) i IBC bwd | |
BB13 [0003] 1 BB12 2.26 2 [048..05E)-> BB14(1) (always) i IBC newobj bwd | |
BB14 [0004] 3 BB11,BB12,BB13 167.07 167 [05E..064)-> BB15(1) (always) i IBC bwd | |
BB15 [0005] 3 BB01,BB02,BB14 168.07 168 [064..06D)-> BB03(0.994),BB16(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB16 [0006] 1 BB15 1.00 1 [06D..090) (return) i IBC newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
*************** Finishing PHASE Morph - Add internal blocks [no changes] | |
*************** Starting PHASE Remove empty try | |
*************** In fgRemoveEmptyTry() | |
No EH in this method, nothing to remove. | |
*************** Finishing PHASE Remove empty try [no changes] | |
*************** Starting PHASE Remove empty finally | |
No EH in this method, nothing to remove. | |
*************** Finishing PHASE Remove empty finally [no changes] | |
*************** Starting PHASE Merge callfinally chains | |
No EH in this method, nothing to merge. | |
*************** Finishing PHASE Merge callfinally chains [no changes] | |
*************** Starting PHASE Clone finally | |
No EH in this method, no cloning. | |
*************** Finishing PHASE Clone finally [no changes] | |
*************** Starting PHASE Head and tail merge | |
*************** Finishing PHASE Head and tail merge | |
Trees after Head and tail merge | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1.68 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 1 1 1 [000..01D)-> BB15(1) (always) i IBC original-entry | |
BB03 [0001] 1 BB15 167.07 167 [01D..03A)-> BB04(1) (always) i IBC bwd bwd-target | |
BB04 [0008] 1 BB03 167.07 167 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB05 [0009] 1 BB09 165.79 166 [01D..01E)-> BB10(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.08 0 [01D..01E)-> BB10(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0011] 1 BB06 0.08 0 [01D..01E)-> BB10(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 0.08 0 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB09 [0013] 2 BB04,BB08 167.15 167 [01D..01E)-> BB05(0.992),BB10(0.00812) ( cond ) i IBC bwd bwd-src | |
BB10 [0014] 4 BB05,BB06,BB07,BB09 167.07 167 [01D..01E)-> BB11(1) (always) i IBC bwd | |
BB11 [0015] 1 BB10 167.07 167 [03A..03E)-> BB14(0.974),BB12(0.026) ( cond ) i IBC bwd | |
BB12 [0002] 1 BB11 4.34 4 [03E..048)-> BB14(0.48),BB13(0.52) ( cond ) i IBC bwd | |
BB13 [0003] 1 BB12 2.26 2 [048..05E)-> BB14(1) (always) i IBC newobj bwd | |
BB14 [0004] 3 BB11,BB12,BB13 167.07 167 [05E..064)-> BB15(1) (always) i IBC bwd | |
BB15 [0005] 3 BB01,BB02,BB14 168.07 168 [064..06D)-> BB03(0.994),BB16(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB16 [0006] 1 BB15 1.00 1 [06D..090) (return) i IBC newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0007] [???..???) -> BB15(1) (always), preds={} succs={BB15} | |
------------ BB02 [0000] [000..01D) -> BB15(1) (always), preds={} succs={BB15} | |
***** BB02 [0000] | |
STMT00000 ( 0x000[E-] ... 0x001 ) | |
[000001] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000000] ----------- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00001 ( 0x002[E-] ... 0x003 ) | |
[000003] DA--------- * STORE_LCL_VAR int V01 loc0 | |
[000002] ----------- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00002 ( 0x004[E-] ... 0x00D ) | |
[000005] DA--------- * STORE_LCL_VAR double V04 loc3 | |
[000004] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB02 [0000] | |
STMT00003 ( 0x00E[E-] ... 0x017 ) | |
[000007] DA--------- * STORE_LCL_VAR double V03 loc2 | |
[000006] ----------- \--* CNS_DBL double 1.0000000000000000 | |
***** BB02 [0000] | |
STMT00004 ( 0x018[E-] ... 0x019 ) | |
[000009] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000008] ----------- \--* CNS_INT int 1 | |
------------ BB03 [0001] [01D..03A) -> BB04(1) (always), preds={BB15} succs={BB04} | |
***** BB03 [0001] | |
STMT00041 ( 0x01D[E-] ... ??? ) | |
[000144] DA--------- * STORE_LCL_VAR double V13 tmp7 | |
[000143] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB03 [0001] | |
STMT00042 ( 0x01D[E-] ... ??? ) | |
[000146] DA--------- * STORE_LCL_VAR double V14 tmp8 | |
[000145] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB03 [0001] | |
STMT00043 ( 0x01D[E-] ... ??? ) | |
[000148] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000147] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB03 [0001] | |
STMT00044 ( 0x01D[E-] ... ??? ) | |
[000150] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000149] ----------- \--* CNS_INT int 0 | |
------------ BB04 [0008] [01D..01E) -> BB09(1) (always), preds={BB03} succs={BB09} | |
***** BB04 [0008] | |
STMT00027 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000095] nA--G------ * STOREIND int | |
[000093] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000094] ----------- \--* CNS_INT int 0 | |
***** BB04 [0008] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000096] ----------- \--* CNS_INT int 1 | |
------------ BB05 [0009] [01D..01E) -> BB10(0.9995009),BB06(0.0004990518) (cond), preds={BB09} succs={BB06,BB10} | |
***** BB05 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G------ * STORE_LCL_VAR double V16 tmp10 | |
[000103] n---G------ \--* IND double | |
[000102] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DAC-------- * STORE_LCL_VAR double V13 tmp7 | |
[000160] ----------- \--* SUB double | |
[000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000159] ----------- \--* MUL double | |
[000153] ----------- +--* LCL_VAR double V16 tmp10 | |
[000158] ----------- \--* SUB double | |
[000154] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000157] ----------- \--* MUL double | |
[000155] ----------- +--* LCL_VAR double V16 tmp10 | |
[000156] ----------- \--* LCL_VAR double V16 tmp10 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] ----------- * JTRUE void | |
[000110] ----------- \--* LT int | |
[000108] ----------- +--* INTRINSIC double abs | |
[000107] ----------- | \--* LCL_VAR double V13 tmp7 | |
[000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB06 [0010] [01D..01E) -> BB10(0),BB07(1) (cond), preds={BB05} succs={BB07,BB10} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DAC-------- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --C-G------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] n---G------ arg0 \--* IND double | |
[000112] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] ----------- * JTRUE void | |
[000119] ----------- \--* EQ int | |
[000117] ----------- +--* LCL_VAR double V14 tmp8 | |
[000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB07 [0011] [01D..01E) -> BB10(0),BB08(1) (cond), preds={BB06} succs={BB08,BB10} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000123] ----------- \--* DIV double | |
[000121] ----------- +--* LCL_VAR double V13 tmp7 | |
[000122] ----------- \--* LCL_VAR double V14 tmp8 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] nA--G------ * STOREIND double | |
[000125] ----------- +--* LCL_ADDR long V03 loc2 [+0] | |
[000129] ----G------ \--* SUB double | |
[000127] n---G------ +--* IND double | |
[000126] ----------- | \--* LCL_ADDR long V03 loc2 [+0] | |
[000128] ----------- \--* LCL_VAR double V15 tmp9 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] ----------- * JTRUE void | |
[000134] ----------- \--* LT int | |
[000132] ----------- +--* INTRINSIC double abs | |
[000131] ----------- | \--* LCL_VAR double V15 tmp9 | |
[000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB08 [0012] [01D..01E) -> BB09(1) (always), preds={BB07} succs={BB09} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000138] ----------- \--* ADD int | |
[000136] ----------- +--* LCL_VAR int V12 tmp6 | |
[000137] ----------- \--* CNS_INT int 1 | |
------------ BB09 [0013] [01D..01E) -> BB05(0.991882),BB10(0.008118008) (cond), preds={BB04,BB08} succs={BB10,BB05} | |
***** BB09 [0013] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000101] ----------- * JTRUE void | |
[000100] ----------- \--* LE int | |
[000098] ----------- +--* LCL_VAR int V12 tmp6 | |
[000099] ----------- \--* CNS_INT int 10 | |
------------ BB10 [0014] [01D..01E) -> BB11(1) (always), preds={BB05,BB06,BB07,BB09} succs={BB11} | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] nA--G------ * STOREIND int | |
[000140] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000141] ----------- \--* CNS_INT int 2 | |
------------ BB11 [0015] [03A..03E) -> BB14(0.974),BB12(0.026) (cond), preds={BB10} succs={BB12,BB14} | |
***** BB11 [0015] | |
STMT00007 ( 0x03A[E-] ... ??? ) | |
[000023] ----------- * JTRUE void | |
[000022] ----------- \--* GT int | |
[000020] ----------- +--* LCL_VAR int V02 loc1 | |
[000021] ----------- \--* CNS_INT int 1 | |
------------ BB12 [0002] [03E..048) -> BB14(0.48),BB13(0.52) (cond), preds={BB11} succs={BB13,BB14} | |
***** BB12 [0002] | |
STMT00046 ( 0x03E[E-] ... ??? ) | |
[000173] DA--------- * STORE_LCL_VAR double V17 tmp11 | |
[000028] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0002] | |
STMT00010 ( 0x03E[E-] ... ??? ) | |
[000031] DAC-------- * STORE_LCL_VAR double V04 loc3 | |
[000172] ----------- \--* SUB double | |
[000164] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000171] ----------- \--* MUL double | |
[000165] ----------- +--* LCL_VAR double V17 tmp11 | |
[000170] ----------- \--* SUB double | |
[000166] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000169] ----------- \--* MUL double | |
[000167] ----------- +--* LCL_VAR double V17 tmp11 | |
[000168] ----------- \--* LCL_VAR double V17 tmp11 | |
***** BB12 [0002] | |
STMT00011 ( 0x045[E-] ... 0x046 ) | |
[000035] ----------- * JTRUE void | |
[000034] ----------- \--* EQ int | |
[000032] ----------- +--* LCL_VAR int V01 loc0 | |
[000033] ----------- \--* CNS_INT int 0 | |
------------ BB13 [0003] [048..05E) -> BB14(1) (always), preds={BB12} succs={BB14} | |
***** BB13 [0003] | |
STMT00012 ( 0x048[E-] ... 0x059 ) | |
[000040] DAC-------- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000038] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00013 ( ??? ... ??? ) | |
[000044] nA--G------ * STOREIND double | |
[000043] ----------- +--* ADD byref | |
[000041] ----------- | +--* LCL_VAR ref V07 tmp1 | |
[000042] ----------- | \--* CNS_INT long 8 | |
[000037] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB13 [0003] | |
STMT00014 ( ??? ... ??? ) | |
[000050] DAC-------- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000048] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00015 ( ??? ... ??? ) | |
[000054] nA--G------ * STOREIND double | |
[000053] ----------- +--* ADD byref | |
[000051] ----------- | +--* LCL_VAR ref V08 tmp2 | |
[000052] ----------- | \--* CNS_INT long 8 | |
[000047] ----------- \--* LCL_VAR double V04 loc3 | |
***** BB13 [0003] | |
STMT00016 ( ??? ... ??? ) | |
[000057] --C-G------ * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
[000036] ----------- arg0 +--* CNS_STR ref <string constant> | |
[000046] ----------- arg1 +--* BOX ref | |
[000045] ----------- | \--* LCL_VAR ref V07 tmp1 | |
[000056] ----------- arg2 \--* BOX ref | |
[000055] ----------- \--* LCL_VAR ref V08 tmp2 | |
------------ BB14 [0004] [05E..064) -> BB15(1) (always), preds={BB11,BB12,BB13} succs={BB15} | |
***** BB14 [0004] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000026] ----------- \--* ADD int | |
[000024] ----------- +--* LCL_VAR int V05 loc4 | |
[000025] ----------- \--* CNS_INT int 1 | |
------------ BB15 [0005] [064..06D) -> BB03(0.99405),BB16(0.00595) (cond), preds={BB01,BB02,BB14} succs={BB16,BB03} | |
***** BB15 [0005] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
[000013] ----------- * JTRUE void | |
[000012] ----------- \--* LE int | |
[000010] ----------- +--* LCL_VAR int V05 loc4 | |
[000011] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB16 [0006] [06D..090) (return), preds={BB15} succs={} | |
***** BB16 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB16 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G------ * STOREIND int | |
[000064] ----------- +--* ADD byref | |
[000062] ----------- | +--* LCL_VAR ref V09 tmp3 | |
[000063] ----------- | \--* CNS_INT long 8 | |
[000058] ----------- \--* LCL_VAR int V02 loc1 | |
***** BB16 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] ----------- arg0 \--* BOX ref | |
[000066] ----------- \--* LCL_VAR ref V09 tmp3 | |
***** BB16 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G------ * STOREIND double | |
[000075] ----------- +--* ADD byref | |
[000073] ----------- | +--* LCL_VAR ref V10 tmp4 | |
[000074] ----------- | \--* CNS_INT long 8 | |
[000069] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB16 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] ----------- arg0 \--* BOX ref | |
[000077] ----------- \--* LCL_VAR ref V10 tmp4 | |
***** BB16 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G------ * STOREIND double | |
[000086] ----------- +--* ADD byref | |
[000084] ----------- | +--* LCL_VAR ref V11 tmp5 | |
[000085] ----------- | \--* CNS_INT long 8 | |
[000080] ----------- \--* LCL_VAR double V04 loc3 | |
***** BB16 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] ----------- arg0 \--* BOX ref | |
[000088] ----------- \--* LCL_VAR ref V11 tmp5 | |
***** BB16 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] ----------- * RETURN int | |
[000091] ----------- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Merge throw blocks | |
*************** In fgTailMergeThrows | |
Method does not have multiple noreturn calls. | |
*************** Finishing PHASE Merge throw blocks [no changes] | |
*************** Starting PHASE Update flow graph early pass | |
Compacting BB04 into BB03: | |
setting likelihood of BB03 -> BB09 from 1 to 1 | |
*************** In fgDebugCheckBBlist | |
Compacting BB11 into BB10: | |
*************** In fgDebugCheckBBlist | |
*************** Finishing PHASE Update flow graph early pass | |
Trees after Update flow graph early pass | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1.68 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 1 1 1 [000..01D)-> BB15(1) (always) i IBC original-entry | |
BB03 [0001] 1 BB15 167.07 167 [01D..03A)-> BB09(1) (always) i IBC bwd bwd-target | |
BB05 [0009] 1 BB09 165.79 166 [01D..01E)-> BB10(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.08 0 [01D..01E)-> BB10(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0011] 1 BB06 0.08 0 [01D..01E)-> BB10(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 0.08 0 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB09 [0013] 2 BB03,BB08 167.15 167 [01D..01E)-> BB05(0.992),BB10(0.00812) ( cond ) i IBC bwd bwd-src | |
BB10 [0014] 4 BB05,BB06,BB07,BB09 167.07 167 [01D..03E)-> BB14(0.974),BB12(0.026) ( cond ) i IBC bwd | |
BB12 [0002] 1 BB10 4.34 4 [03E..048)-> BB14(0.48),BB13(0.52) ( cond ) i IBC bwd | |
BB13 [0003] 1 BB12 2.26 2 [048..05E)-> BB14(1) (always) i IBC newobj bwd | |
BB14 [0004] 3 BB10,BB12,BB13 167.07 167 [05E..064)-> BB15(1) (always) i IBC bwd | |
BB15 [0005] 3 BB01,BB02,BB14 168.07 168 [064..06D)-> BB03(0.994),BB16(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB16 [0006] 1 BB15 1.00 1 [06D..090) (return) i IBC newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0007] [???..???) -> BB15(1) (always), preds={} succs={BB15} | |
------------ BB02 [0000] [000..01D) -> BB15(1) (always), preds={} succs={BB15} | |
***** BB02 [0000] | |
STMT00000 ( 0x000[E-] ... 0x001 ) | |
[000001] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000000] ----------- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00001 ( 0x002[E-] ... 0x003 ) | |
[000003] DA--------- * STORE_LCL_VAR int V01 loc0 | |
[000002] ----------- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00002 ( 0x004[E-] ... 0x00D ) | |
[000005] DA--------- * STORE_LCL_VAR double V04 loc3 | |
[000004] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB02 [0000] | |
STMT00003 ( 0x00E[E-] ... 0x017 ) | |
[000007] DA--------- * STORE_LCL_VAR double V03 loc2 | |
[000006] ----------- \--* CNS_DBL double 1.0000000000000000 | |
***** BB02 [0000] | |
STMT00004 ( 0x018[E-] ... 0x019 ) | |
[000009] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000008] ----------- \--* CNS_INT int 1 | |
------------ BB03 [0001] [01D..03A) -> BB09(1) (always), preds={BB15} succs={BB09} | |
***** BB03 [0001] | |
STMT00041 ( 0x01D[E-] ... ??? ) | |
[000144] DA--------- * STORE_LCL_VAR double V13 tmp7 | |
[000143] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB03 [0001] | |
STMT00042 ( 0x01D[E-] ... ??? ) | |
[000146] DA--------- * STORE_LCL_VAR double V14 tmp8 | |
[000145] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB03 [0001] | |
STMT00043 ( 0x01D[E-] ... ??? ) | |
[000148] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000147] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB03 [0001] | |
STMT00044 ( 0x01D[E-] ... ??? ) | |
[000150] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000149] ----------- \--* CNS_INT int 0 | |
***** BB03 [0001] | |
STMT00027 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000095] nA--G------ * STOREIND int | |
[000093] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000094] ----------- \--* CNS_INT int 0 | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000096] ----------- \--* CNS_INT int 1 | |
------------ BB05 [0009] [01D..01E) -> BB10(0.9995009),BB06(0.0004990518) (cond), preds={BB09} succs={BB06,BB10} | |
***** BB05 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G------ * STORE_LCL_VAR double V16 tmp10 | |
[000103] n---G------ \--* IND double | |
[000102] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DAC-------- * STORE_LCL_VAR double V13 tmp7 | |
[000160] ----------- \--* SUB double | |
[000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000159] ----------- \--* MUL double | |
[000153] ----------- +--* LCL_VAR double V16 tmp10 | |
[000158] ----------- \--* SUB double | |
[000154] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000157] ----------- \--* MUL double | |
[000155] ----------- +--* LCL_VAR double V16 tmp10 | |
[000156] ----------- \--* LCL_VAR double V16 tmp10 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] ----------- * JTRUE void | |
[000110] ----------- \--* LT int | |
[000108] ----------- +--* INTRINSIC double abs | |
[000107] ----------- | \--* LCL_VAR double V13 tmp7 | |
[000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB06 [0010] [01D..01E) -> BB10(0),BB07(1) (cond), preds={BB05} succs={BB07,BB10} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DAC-------- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --C-G------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] n---G------ arg0 \--* IND double | |
[000112] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] ----------- * JTRUE void | |
[000119] ----------- \--* EQ int | |
[000117] ----------- +--* LCL_VAR double V14 tmp8 | |
[000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB07 [0011] [01D..01E) -> BB10(0),BB08(1) (cond), preds={BB06} succs={BB08,BB10} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000123] ----------- \--* DIV double | |
[000121] ----------- +--* LCL_VAR double V13 tmp7 | |
[000122] ----------- \--* LCL_VAR double V14 tmp8 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] nA--G------ * STOREIND double | |
[000125] ----------- +--* LCL_ADDR long V03 loc2 [+0] | |
[000129] ----G------ \--* SUB double | |
[000127] n---G------ +--* IND double | |
[000126] ----------- | \--* LCL_ADDR long V03 loc2 [+0] | |
[000128] ----------- \--* LCL_VAR double V15 tmp9 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] ----------- * JTRUE void | |
[000134] ----------- \--* LT int | |
[000132] ----------- +--* INTRINSIC double abs | |
[000131] ----------- | \--* LCL_VAR double V15 tmp9 | |
[000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB08 [0012] [01D..01E) -> BB09(1) (always), preds={BB07} succs={BB09} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000138] ----------- \--* ADD int | |
[000136] ----------- +--* LCL_VAR int V12 tmp6 | |
[000137] ----------- \--* CNS_INT int 1 | |
------------ BB09 [0013] [01D..01E) -> BB05(0.991882),BB10(0.008118008) (cond), preds={BB03,BB08} succs={BB10,BB05} | |
***** BB09 [0013] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000101] ----------- * JTRUE void | |
[000100] ----------- \--* LE int | |
[000098] ----------- +--* LCL_VAR int V12 tmp6 | |
[000099] ----------- \--* CNS_INT int 10 | |
------------ BB10 [0014] [01D..03E) -> BB14(0.974),BB12(0.026) (cond), preds={BB05,BB06,BB07,BB09} succs={BB12,BB14} | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] nA--G------ * STOREIND int | |
[000140] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000141] ----------- \--* CNS_INT int 2 | |
***** BB10 [0014] | |
STMT00007 ( 0x03A[E-] ... ??? ) | |
[000023] ----------- * JTRUE void | |
[000022] ----------- \--* GT int | |
[000020] ----------- +--* LCL_VAR int V02 loc1 | |
[000021] ----------- \--* CNS_INT int 1 | |
------------ BB12 [0002] [03E..048) -> BB14(0.48),BB13(0.52) (cond), preds={BB10} succs={BB13,BB14} | |
***** BB12 [0002] | |
STMT00046 ( 0x03E[E-] ... ??? ) | |
[000173] DA--------- * STORE_LCL_VAR double V17 tmp11 | |
[000028] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0002] | |
STMT00010 ( 0x03E[E-] ... ??? ) | |
[000031] DAC-------- * STORE_LCL_VAR double V04 loc3 | |
[000172] ----------- \--* SUB double | |
[000164] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000171] ----------- \--* MUL double | |
[000165] ----------- +--* LCL_VAR double V17 tmp11 | |
[000170] ----------- \--* SUB double | |
[000166] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000169] ----------- \--* MUL double | |
[000167] ----------- +--* LCL_VAR double V17 tmp11 | |
[000168] ----------- \--* LCL_VAR double V17 tmp11 | |
***** BB12 [0002] | |
STMT00011 ( 0x045[E-] ... 0x046 ) | |
[000035] ----------- * JTRUE void | |
[000034] ----------- \--* EQ int | |
[000032] ----------- +--* LCL_VAR int V01 loc0 | |
[000033] ----------- \--* CNS_INT int 0 | |
------------ BB13 [0003] [048..05E) -> BB14(1) (always), preds={BB12} succs={BB14} | |
***** BB13 [0003] | |
STMT00012 ( 0x048[E-] ... 0x059 ) | |
[000040] DAC-------- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000038] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00013 ( ??? ... ??? ) | |
[000044] nA--G------ * STOREIND double | |
[000043] ----------- +--* ADD byref | |
[000041] ----------- | +--* LCL_VAR ref V07 tmp1 | |
[000042] ----------- | \--* CNS_INT long 8 | |
[000037] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB13 [0003] | |
STMT00014 ( ??? ... ??? ) | |
[000050] DAC-------- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000048] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00015 ( ??? ... ??? ) | |
[000054] nA--G------ * STOREIND double | |
[000053] ----------- +--* ADD byref | |
[000051] ----------- | +--* LCL_VAR ref V08 tmp2 | |
[000052] ----------- | \--* CNS_INT long 8 | |
[000047] ----------- \--* LCL_VAR double V04 loc3 | |
***** BB13 [0003] | |
STMT00016 ( ??? ... ??? ) | |
[000057] --C-G------ * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
[000036] ----------- arg0 +--* CNS_STR ref <string constant> | |
[000046] ----------- arg1 +--* BOX ref | |
[000045] ----------- | \--* LCL_VAR ref V07 tmp1 | |
[000056] ----------- arg2 \--* BOX ref | |
[000055] ----------- \--* LCL_VAR ref V08 tmp2 | |
------------ BB14 [0004] [05E..064) -> BB15(1) (always), preds={BB10,BB12,BB13} succs={BB15} | |
***** BB14 [0004] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000026] ----------- \--* ADD int | |
[000024] ----------- +--* LCL_VAR int V05 loc4 | |
[000025] ----------- \--* CNS_INT int 1 | |
------------ BB15 [0005] [064..06D) -> BB03(0.99405),BB16(0.00595) (cond), preds={BB01,BB02,BB14} succs={BB16,BB03} | |
***** BB15 [0005] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
[000013] ----------- * JTRUE void | |
[000012] ----------- \--* LE int | |
[000010] ----------- +--* LCL_VAR int V05 loc4 | |
[000011] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB16 [0006] [06D..090) (return), preds={BB15} succs={} | |
***** BB16 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB16 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G------ * STOREIND int | |
[000064] ----------- +--* ADD byref | |
[000062] ----------- | +--* LCL_VAR ref V09 tmp3 | |
[000063] ----------- | \--* CNS_INT long 8 | |
[000058] ----------- \--* LCL_VAR int V02 loc1 | |
***** BB16 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] ----------- arg0 \--* BOX ref | |
[000066] ----------- \--* LCL_VAR ref V09 tmp3 | |
***** BB16 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G------ * STOREIND double | |
[000075] ----------- +--* ADD byref | |
[000073] ----------- | +--* LCL_VAR ref V10 tmp4 | |
[000074] ----------- | \--* CNS_INT long 8 | |
[000069] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB16 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] ----------- arg0 \--* BOX ref | |
[000077] ----------- \--* LCL_VAR ref V10 tmp4 | |
***** BB16 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G------ * STOREIND double | |
[000086] ----------- +--* ADD byref | |
[000084] ----------- | +--* LCL_VAR ref V11 tmp5 | |
[000085] ----------- | \--* CNS_INT long 8 | |
[000080] ----------- \--* LCL_VAR double V04 loc3 | |
***** BB16 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] ----------- arg0 \--* BOX ref | |
[000088] ----------- \--* LCL_VAR ref V11 tmp5 | |
***** BB16 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] ----------- * RETURN int | |
[000091] ----------- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Morph - Promote Structs | |
lvaTable before fgPromoteStructs | |
; Initial local variable assignments | |
; | |
; V00 this ref this class-hnd tier0-frame <Benchstone.BenchF.NewtR> | |
; V01 loc0 int tier0-frame | |
; V02 loc1 int ld-addr-op tier0-frame | |
; V03 loc2 double ld-addr-op tier0-frame | |
; V04 loc3 double tier0-frame | |
; V05 loc4 int tier0-frame | |
; V06 OutArgs struct <0> do-not-enreg[XS] addr-exposed "OutgoingArgSpace" | |
; V07 tmp1 ref class-hnd exact "Single-def Box Helper" <System.Double> | |
; V08 tmp2 ref class-hnd exact "Single-def Box Helper" <System.Double> | |
; V09 tmp3 ref class-hnd exact "Single-def Box Helper" <System.Int32> | |
; V10 tmp4 ref class-hnd exact "Single-def Box Helper" <System.Double> | |
; V11 tmp5 ref class-hnd exact "Single-def Box Helper" <System.Double> | |
; V12 tmp6 int "Inline stloc first use temp" | |
; V13 tmp7 double "Inline stloc first use temp" | |
; V14 tmp8 double "Inline stloc first use temp" | |
; V15 tmp9 double "Inline stloc first use temp" | |
; V16 tmp10 double "Inlining Arg" | |
; V17 tmp11 double "Inlining Arg" | |
struct promotion of V06 is disabled because it has already been marked address exposed | |
*************** Finishing PHASE Morph - Promote Structs [no changes] | |
*************** Starting PHASE Canonicalize entry | |
*************** Finishing PHASE Canonicalize entry [no changes] | |
*************** Starting PHASE DFS blocks and remove dead code | |
*************** Finishing PHASE DFS blocks and remove dead code [no changes] | |
*************** Starting PHASE Morph - Structs/AddrExp | |
LocalAddressVisitor visiting statement: | |
STMT00000 ( 0x000[E-] ... 0x001 ) | |
[000001] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000000] ----------- \--* CNS_INT int 0 | |
LocalAddressVisitor visiting statement: | |
STMT00001 ( 0x002[E-] ... 0x003 ) | |
[000003] DA--------- * STORE_LCL_VAR int V01 loc0 | |
[000002] ----------- \--* CNS_INT int 0 | |
LocalAddressVisitor visiting statement: | |
STMT00002 ( 0x004[E-] ... 0x00D ) | |
[000005] DA--------- * STORE_LCL_VAR double V04 loc3 | |
[000004] ----------- \--* CNS_DBL double 0.0000000000000000 | |
LocalAddressVisitor visiting statement: | |
STMT00003 ( 0x00E[E-] ... 0x017 ) | |
[000007] DA--------- * STORE_LCL_VAR double V03 loc2 | |
[000006] ----------- \--* CNS_DBL double 1.0000000000000000 | |
LocalAddressVisitor visiting statement: | |
STMT00004 ( 0x018[E-] ... 0x019 ) | |
[000009] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000008] ----------- \--* CNS_INT int 1 | |
LocalAddressVisitor visiting statement: | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
[000013] ----------- * JTRUE void | |
[000012] ----------- \--* LE int | |
[000010] ----------- +--* LCL_VAR int V05 loc4 | |
[000011] ----------- \--* CNS_INT int 0x4C4B400 | |
LocalAddressVisitor visiting statement: | |
STMT00041 ( 0x01D[E-] ... ??? ) | |
[000144] DA--------- * STORE_LCL_VAR double V13 tmp7 | |
[000143] ----------- \--* CNS_DBL double 0.0000000000000000 | |
LocalAddressVisitor visiting statement: | |
STMT00042 ( 0x01D[E-] ... ??? ) | |
[000146] DA--------- * STORE_LCL_VAR double V14 tmp8 | |
[000145] ----------- \--* CNS_DBL double 0.0000000000000000 | |
LocalAddressVisitor visiting statement: | |
STMT00043 ( 0x01D[E-] ... ??? ) | |
[000148] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000147] ----------- \--* CNS_DBL double 0.0000000000000000 | |
LocalAddressVisitor visiting statement: | |
STMT00044 ( 0x01D[E-] ... ??? ) | |
[000150] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000149] ----------- \--* CNS_INT int 0 | |
LocalAddressVisitor visiting statement: | |
STMT00027 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000095] nA--G------ * STOREIND int | |
[000093] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000094] ----------- \--* CNS_INT int 0 | |
LocalAddressVisitor modified statement: | |
STMT00027 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000095] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000094] ----------- \--* CNS_INT int 0 | |
LocalAddressVisitor visiting statement: | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000096] ----------- \--* CNS_INT int 1 | |
LocalAddressVisitor visiting statement: | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000101] ----------- * JTRUE void | |
[000100] ----------- \--* LE int | |
[000098] ----------- +--* LCL_VAR int V12 tmp6 | |
[000099] ----------- \--* CNS_INT int 10 | |
LocalAddressVisitor visiting statement: | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G------ * STORE_LCL_VAR double V16 tmp10 | |
[000103] n---G------ \--* IND double | |
[000102] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
LocalAddressVisitor modified statement: | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G------ * STORE_LCL_VAR double V16 tmp10 | |
[000103] ----------- \--* LCL_VAR double V03 loc2 | |
LocalAddressVisitor visiting statement: | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DAC-------- * STORE_LCL_VAR double V13 tmp7 | |
[000160] ----------- \--* SUB double | |
[000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000159] ----------- \--* MUL double | |
[000153] ----------- +--* LCL_VAR double V16 tmp10 | |
[000158] ----------- \--* SUB double | |
[000154] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000157] ----------- \--* MUL double | |
[000155] ----------- +--* LCL_VAR double V16 tmp10 | |
[000156] ----------- \--* LCL_VAR double V16 tmp10 | |
LocalAddressVisitor visiting statement: | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] ----------- * JTRUE void | |
[000110] ----------- \--* LT int | |
[000108] ----------- +--* INTRINSIC double abs | |
[000107] ----------- | \--* LCL_VAR double V13 tmp7 | |
[000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
LocalAddressVisitor visiting statement: | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DAC-------- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --C-G------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] n---G------ arg0 \--* IND double | |
[000112] ----------- \--* LCL_ADDR long V03 loc2 [+0] | |
LocalAddressVisitor modified statement: | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DAC-------- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --C-G------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] ----------- arg0 \--* LCL_VAR double V03 loc2 | |
LocalAddressVisitor visiting statement: | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] ----------- * JTRUE void | |
[000119] ----------- \--* EQ int | |
[000117] ----------- +--* LCL_VAR double V14 tmp8 | |
[000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
LocalAddressVisitor visiting statement: | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000123] ----------- \--* DIV double | |
[000121] ----------- +--* LCL_VAR double V13 tmp7 | |
[000122] ----------- \--* LCL_VAR double V14 tmp8 | |
LocalAddressVisitor visiting statement: | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] nA--G------ * STOREIND double | |
[000125] ----------- +--* LCL_ADDR long V03 loc2 [+0] | |
[000129] ----G------ \--* SUB double | |
[000127] n---G------ +--* IND double | |
[000126] ----------- | \--* LCL_ADDR long V03 loc2 [+0] | |
[000128] ----------- \--* LCL_VAR double V15 tmp9 | |
LocalAddressVisitor modified statement: | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] DA--G------ * STORE_LCL_VAR double V03 loc2 | |
[000129] ----G------ \--* SUB double | |
[000127] ----------- +--* LCL_VAR double V03 loc2 | |
[000128] ----------- \--* LCL_VAR double V15 tmp9 | |
LocalAddressVisitor visiting statement: | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] ----------- * JTRUE void | |
[000134] ----------- \--* LT int | |
[000132] ----------- +--* INTRINSIC double abs | |
[000131] ----------- | \--* LCL_VAR double V15 tmp9 | |
[000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
LocalAddressVisitor visiting statement: | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000138] ----------- \--* ADD int | |
[000136] ----------- +--* LCL_VAR int V12 tmp6 | |
[000137] ----------- \--* CNS_INT int 1 | |
LocalAddressVisitor visiting statement: | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] nA--G------ * STOREIND int | |
[000140] ----------- +--* LCL_ADDR long V02 loc1 [+0] | |
[000141] ----------- \--* CNS_INT int 2 | |
LocalAddressVisitor modified statement: | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000141] ----------- \--* CNS_INT int 2 | |
LocalAddressVisitor visiting statement: | |
STMT00007 ( 0x03A[E-] ... ??? ) | |
[000023] ----------- * JTRUE void | |
[000022] ----------- \--* GT int | |
[000020] ----------- +--* LCL_VAR int V02 loc1 | |
[000021] ----------- \--* CNS_INT int 1 | |
LocalAddressVisitor visiting statement: | |
STMT00046 ( 0x03E[E-] ... ??? ) | |
[000173] DA--------- * STORE_LCL_VAR double V17 tmp11 | |
[000028] ----------- \--* LCL_VAR double V03 loc2 | |
LocalAddressVisitor visiting statement: | |
STMT00010 ( 0x03E[E-] ... ??? ) | |
[000031] DAC-------- * STORE_LCL_VAR double V04 loc3 | |
[000172] ----------- \--* SUB double | |
[000164] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000171] ----------- \--* MUL double | |
[000165] ----------- +--* LCL_VAR double V17 tmp11 | |
[000170] ----------- \--* SUB double | |
[000166] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000169] ----------- \--* MUL double | |
[000167] ----------- +--* LCL_VAR double V17 tmp11 | |
[000168] ----------- \--* LCL_VAR double V17 tmp11 | |
LocalAddressVisitor visiting statement: | |
STMT00011 ( 0x045[E-] ... 0x046 ) | |
[000035] ----------- * JTRUE void | |
[000034] ----------- \--* EQ int | |
[000032] ----------- +--* LCL_VAR int V01 loc0 | |
[000033] ----------- \--* CNS_INT int 0 | |
LocalAddressVisitor visiting statement: | |
STMT00012 ( 0x048[E-] ... 0x059 ) | |
[000040] DAC-------- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000038] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
LocalAddressVisitor visiting statement: | |
STMT00013 ( ??? ... ??? ) | |
[000044] nA--G------ * STOREIND double | |
[000043] ----------- +--* ADD byref | |
[000041] ----------- | +--* LCL_VAR ref V07 tmp1 | |
[000042] ----------- | \--* CNS_INT long 8 | |
[000037] ----------- \--* LCL_VAR double V03 loc2 | |
LocalAddressVisitor visiting statement: | |
STMT00014 ( ??? ... ??? ) | |
[000050] DAC-------- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000048] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
LocalAddressVisitor visiting statement: | |
STMT00015 ( ??? ... ??? ) | |
[000054] nA--G------ * STOREIND double | |
[000053] ----------- +--* ADD byref | |
[000051] ----------- | +--* LCL_VAR ref V08 tmp2 | |
[000052] ----------- | \--* CNS_INT long 8 | |
[000047] ----------- \--* LCL_VAR double V04 loc3 | |
LocalAddressVisitor visiting statement: | |
STMT00016 ( ??? ... ??? ) | |
[000057] --C-G------ * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
[000036] ----------- arg0 +--* CNS_STR ref <string constant> | |
[000046] ----------- arg1 +--* BOX ref | |
[000045] ----------- | \--* LCL_VAR ref V07 tmp1 | |
[000056] ----------- arg2 \--* BOX ref | |
[000055] ----------- \--* LCL_VAR ref V08 tmp2 | |
LocalAddressVisitor visiting statement: | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000026] ----------- \--* ADD int | |
[000024] ----------- +--* LCL_VAR int V05 loc4 | |
[000025] ----------- \--* CNS_INT int 1 | |
LocalAddressVisitor visiting statement: | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
LocalAddressVisitor visiting statement: | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G------ * STOREIND int | |
[000064] ----------- +--* ADD byref | |
[000062] ----------- | +--* LCL_VAR ref V09 tmp3 | |
[000063] ----------- | \--* CNS_INT long 8 | |
[000058] ----------- \--* LCL_VAR int V02 loc1 | |
LocalAddressVisitor visiting statement: | |
STMT00019 ( ??? ... ??? ) | |
[000068] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] ----------- arg0 \--* BOX ref | |
[000066] ----------- \--* LCL_VAR ref V09 tmp3 | |
LocalAddressVisitor visiting statement: | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
LocalAddressVisitor visiting statement: | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G------ * STOREIND double | |
[000075] ----------- +--* ADD byref | |
[000073] ----------- | +--* LCL_VAR ref V10 tmp4 | |
[000074] ----------- | \--* CNS_INT long 8 | |
[000069] ----------- \--* LCL_VAR double V03 loc2 | |
LocalAddressVisitor visiting statement: | |
STMT00022 ( ??? ... ??? ) | |
[000079] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] ----------- arg0 \--* BOX ref | |
[000077] ----------- \--* LCL_VAR ref V10 tmp4 | |
LocalAddressVisitor visiting statement: | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
LocalAddressVisitor visiting statement: | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G------ * STOREIND double | |
[000086] ----------- +--* ADD byref | |
[000084] ----------- | +--* LCL_VAR ref V11 tmp5 | |
[000085] ----------- | \--* CNS_INT long 8 | |
[000080] ----------- \--* LCL_VAR double V04 loc3 | |
LocalAddressVisitor visiting statement: | |
STMT00025 ( ??? ... ??? ) | |
[000090] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] ----------- arg0 \--* BOX ref | |
[000088] ----------- \--* LCL_VAR ref V11 tmp5 | |
LocalAddressVisitor visiting statement: | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] ----------- * RETURN int | |
[000091] ----------- \--* CNS_INT int 1 | |
*************** Finishing PHASE Morph - Structs/AddrExp | |
Trees after Morph - Structs/AddrExp | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1.68 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 1 1 1 [000..01D)-> BB15(1) (always) i IBC original-entry | |
BB03 [0001] 1 BB15 167.07 167 [01D..03A)-> BB09(1) (always) i IBC bwd bwd-target | |
BB05 [0009] 1 BB09 165.79 166 [01D..01E)-> BB10(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.08 0 [01D..01E)-> BB10(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0011] 1 BB06 0.08 0 [01D..01E)-> BB10(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 0.08 0 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB09 [0013] 2 BB03,BB08 167.15 167 [01D..01E)-> BB05(0.992),BB10(0.00812) ( cond ) i IBC bwd bwd-src | |
BB10 [0014] 4 BB05,BB06,BB07,BB09 167.07 167 [01D..03E)-> BB14(0.974),BB12(0.026) ( cond ) i IBC bwd | |
BB12 [0002] 1 BB10 4.34 4 [03E..048)-> BB14(0.48),BB13(0.52) ( cond ) i IBC bwd | |
BB13 [0003] 1 BB12 2.26 2 [048..05E)-> BB14(1) (always) i IBC newobj bwd | |
BB14 [0004] 3 BB10,BB12,BB13 167.07 167 [05E..064)-> BB15(1) (always) i IBC bwd | |
BB15 [0005] 3 BB01,BB02,BB14 168.07 168 [064..06D)-> BB03(0.994),BB16(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB16 [0006] 1 BB15 1.00 1 [06D..090) (return) i IBC newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0007] [???..???) -> BB15(1) (always), preds={} succs={BB15} | |
------------ BB02 [0000] [000..01D) -> BB15(1) (always), preds={} succs={BB15} | |
***** BB02 [0000] | |
STMT00000 ( 0x000[E-] ... 0x001 ) | |
[000001] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000000] ----------- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00001 ( 0x002[E-] ... 0x003 ) | |
[000003] DA--------- * STORE_LCL_VAR int V01 loc0 | |
[000002] ----------- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00002 ( 0x004[E-] ... 0x00D ) | |
[000005] DA--------- * STORE_LCL_VAR double V04 loc3 | |
[000004] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB02 [0000] | |
STMT00003 ( 0x00E[E-] ... 0x017 ) | |
[000007] DA--------- * STORE_LCL_VAR double V03 loc2 | |
[000006] ----------- \--* CNS_DBL double 1.0000000000000000 | |
***** BB02 [0000] | |
STMT00004 ( 0x018[E-] ... 0x019 ) | |
[000009] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000008] ----------- \--* CNS_INT int 1 | |
------------ BB03 [0001] [01D..03A) -> BB09(1) (always), preds={BB15} succs={BB09} | |
***** BB03 [0001] | |
STMT00041 ( 0x01D[E-] ... ??? ) | |
[000144] DA--------- * STORE_LCL_VAR double V13 tmp7 | |
[000143] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB03 [0001] | |
STMT00042 ( 0x01D[E-] ... ??? ) | |
[000146] DA--------- * STORE_LCL_VAR double V14 tmp8 | |
[000145] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB03 [0001] | |
STMT00043 ( 0x01D[E-] ... ??? ) | |
[000148] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000147] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB03 [0001] | |
STMT00044 ( 0x01D[E-] ... ??? ) | |
[000150] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000149] ----------- \--* CNS_INT int 0 | |
***** BB03 [0001] | |
STMT00027 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000095] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000094] ----------- \--* CNS_INT int 0 | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000096] ----------- \--* CNS_INT int 1 | |
------------ BB05 [0009] [01D..01E) -> BB10(0.9995009),BB06(0.0004990518) (cond), preds={BB09} succs={BB06,BB10} | |
***** BB05 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G------ * STORE_LCL_VAR double V16 tmp10 | |
[000103] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DAC-------- * STORE_LCL_VAR double V13 tmp7 | |
[000160] ----------- \--* SUB double | |
[000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000159] ----------- \--* MUL double | |
[000153] ----------- +--* LCL_VAR double V16 tmp10 | |
[000158] ----------- \--* SUB double | |
[000154] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000157] ----------- \--* MUL double | |
[000155] ----------- +--* LCL_VAR double V16 tmp10 | |
[000156] ----------- \--* LCL_VAR double V16 tmp10 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] ----------- * JTRUE void | |
[000110] ----------- \--* LT int | |
[000108] ----------- +--* INTRINSIC double abs | |
[000107] ----------- | \--* LCL_VAR double V13 tmp7 | |
[000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB06 [0010] [01D..01E) -> BB10(0),BB07(1) (cond), preds={BB05} succs={BB07,BB10} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DAC-------- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --C-G------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] ----------- arg0 \--* LCL_VAR double V03 loc2 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] ----------- * JTRUE void | |
[000119] ----------- \--* EQ int | |
[000117] ----------- +--* LCL_VAR double V14 tmp8 | |
[000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB07 [0011] [01D..01E) -> BB10(0),BB08(1) (cond), preds={BB06} succs={BB08,BB10} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000123] ----------- \--* DIV double | |
[000121] ----------- +--* LCL_VAR double V13 tmp7 | |
[000122] ----------- \--* LCL_VAR double V14 tmp8 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] DA--G------ * STORE_LCL_VAR double V03 loc2 | |
[000129] ----G------ \--* SUB double | |
[000127] ----------- +--* LCL_VAR double V03 loc2 | |
[000128] ----------- \--* LCL_VAR double V15 tmp9 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] ----------- * JTRUE void | |
[000134] ----------- \--* LT int | |
[000132] ----------- +--* INTRINSIC double abs | |
[000131] ----------- | \--* LCL_VAR double V15 tmp9 | |
[000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB08 [0012] [01D..01E) -> BB09(1) (always), preds={BB07} succs={BB09} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000138] ----------- \--* ADD int | |
[000136] ----------- +--* LCL_VAR int V12 tmp6 | |
[000137] ----------- \--* CNS_INT int 1 | |
------------ BB09 [0013] [01D..01E) -> BB05(0.991882),BB10(0.008118008) (cond), preds={BB03,BB08} succs={BB10,BB05} | |
***** BB09 [0013] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000101] ----------- * JTRUE void | |
[000100] ----------- \--* LE int | |
[000098] ----------- +--* LCL_VAR int V12 tmp6 | |
[000099] ----------- \--* CNS_INT int 10 | |
------------ BB10 [0014] [01D..03E) -> BB14(0.974),BB12(0.026) (cond), preds={BB05,BB06,BB07,BB09} succs={BB12,BB14} | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000141] ----------- \--* CNS_INT int 2 | |
***** BB10 [0014] | |
STMT00007 ( 0x03A[E-] ... ??? ) | |
[000023] ----------- * JTRUE void | |
[000022] ----------- \--* GT int | |
[000020] ----------- +--* LCL_VAR int V02 loc1 | |
[000021] ----------- \--* CNS_INT int 1 | |
------------ BB12 [0002] [03E..048) -> BB14(0.48),BB13(0.52) (cond), preds={BB10} succs={BB13,BB14} | |
***** BB12 [0002] | |
STMT00046 ( 0x03E[E-] ... ??? ) | |
[000173] DA--------- * STORE_LCL_VAR double V17 tmp11 | |
[000028] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0002] | |
STMT00010 ( 0x03E[E-] ... ??? ) | |
[000031] DAC-------- * STORE_LCL_VAR double V04 loc3 | |
[000172] ----------- \--* SUB double | |
[000164] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000171] ----------- \--* MUL double | |
[000165] ----------- +--* LCL_VAR double V17 tmp11 | |
[000170] ----------- \--* SUB double | |
[000166] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000169] ----------- \--* MUL double | |
[000167] ----------- +--* LCL_VAR double V17 tmp11 | |
[000168] ----------- \--* LCL_VAR double V17 tmp11 | |
***** BB12 [0002] | |
STMT00011 ( 0x045[E-] ... 0x046 ) | |
[000035] ----------- * JTRUE void | |
[000034] ----------- \--* EQ int | |
[000032] ----------- +--* LCL_VAR int V01 loc0 | |
[000033] ----------- \--* CNS_INT int 0 | |
------------ BB13 [0003] [048..05E) -> BB14(1) (always), preds={BB12} succs={BB14} | |
***** BB13 [0003] | |
STMT00012 ( 0x048[E-] ... 0x059 ) | |
[000040] DAC-------- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000038] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00013 ( ??? ... ??? ) | |
[000044] nA--G------ * STOREIND double | |
[000043] ----------- +--* ADD byref | |
[000041] ----------- | +--* LCL_VAR ref V07 tmp1 | |
[000042] ----------- | \--* CNS_INT long 8 | |
[000037] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB13 [0003] | |
STMT00014 ( ??? ... ??? ) | |
[000050] DAC-------- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000048] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00015 ( ??? ... ??? ) | |
[000054] nA--G------ * STOREIND double | |
[000053] ----------- +--* ADD byref | |
[000051] ----------- | +--* LCL_VAR ref V08 tmp2 | |
[000052] ----------- | \--* CNS_INT long 8 | |
[000047] ----------- \--* LCL_VAR double V04 loc3 | |
***** BB13 [0003] | |
STMT00016 ( ??? ... ??? ) | |
[000057] --C-G------ * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
[000036] ----------- arg0 +--* CNS_STR ref <string constant> | |
[000046] ----------- arg1 +--* BOX ref | |
[000045] ----------- | \--* LCL_VAR ref V07 tmp1 | |
[000056] ----------- arg2 \--* BOX ref | |
[000055] ----------- \--* LCL_VAR ref V08 tmp2 | |
------------ BB14 [0004] [05E..064) -> BB15(1) (always), preds={BB10,BB12,BB13} succs={BB15} | |
***** BB14 [0004] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000026] ----------- \--* ADD int | |
[000024] ----------- +--* LCL_VAR int V05 loc4 | |
[000025] ----------- \--* CNS_INT int 1 | |
------------ BB15 [0005] [064..06D) -> BB03(0.99405),BB16(0.00595) (cond), preds={BB01,BB02,BB14} succs={BB16,BB03} | |
***** BB15 [0005] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
[000013] ----------- * JTRUE void | |
[000012] ----------- \--* LE int | |
[000010] ----------- +--* LCL_VAR int V05 loc4 | |
[000011] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB16 [0006] [06D..090) (return), preds={BB15} succs={} | |
***** BB16 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB16 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G------ * STOREIND int | |
[000064] ----------- +--* ADD byref | |
[000062] ----------- | +--* LCL_VAR ref V09 tmp3 | |
[000063] ----------- | \--* CNS_INT long 8 | |
[000058] ----------- \--* LCL_VAR int V02 loc1 | |
***** BB16 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] ----------- arg0 \--* BOX ref | |
[000066] ----------- \--* LCL_VAR ref V09 tmp3 | |
***** BB16 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G------ * STOREIND double | |
[000075] ----------- +--* ADD byref | |
[000073] ----------- | +--* LCL_VAR ref V10 tmp4 | |
[000074] ----------- | \--* CNS_INT long 8 | |
[000069] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB16 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] ----------- arg0 \--* BOX ref | |
[000077] ----------- \--* LCL_VAR ref V10 tmp4 | |
***** BB16 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G------ * STOREIND double | |
[000086] ----------- +--* ADD byref | |
[000084] ----------- | +--* LCL_VAR ref V11 tmp5 | |
[000085] ----------- | \--* CNS_INT long 8 | |
[000080] ----------- \--* LCL_VAR double V04 loc3 | |
***** BB16 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] ----------- arg0 \--* BOX ref | |
[000088] ----------- \--* LCL_VAR ref V11 tmp5 | |
***** BB16 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] ----------- * RETURN int | |
[000091] ----------- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Early liveness | |
Local V06 should not be enregistered because: struct size does not match reg size | |
Tracked variable (16 out of 18) table: | |
V01 loc0 [ int]: refCnt = 2, refCntWtd = 0 | |
V02 loc1 [ int]: refCnt = 5, refCntWtd = 1 | |
V03 loc2 [double]: refCnt = 8, refCntWtd = 1 | |
V04 loc3 [double]: refCnt = 4, refCntWtd = 0 | |
V05 loc4 [ int]: refCnt = 4, refCntWtd = 0 | |
V07 tmp1 [ ref]: refCnt = 3, refCntWtd = 0 | |
V08 tmp2 [ ref]: refCnt = 3, refCntWtd = 0 | |
V09 tmp3 [ ref]: refCnt = 3, refCntWtd = 0 | |
V10 tmp4 [ ref]: refCnt = 3, refCntWtd = 0 | |
V11 tmp5 [ ref]: refCnt = 3, refCntWtd = 0 | |
V12 tmp6 [ int]: refCnt = 5, refCntWtd = 0 | |
V13 tmp7 [double]: refCnt = 4, refCntWtd = 0 | |
V14 tmp8 [double]: refCnt = 4, refCntWtd = 0 | |
V15 tmp9 [double]: refCnt = 4, refCntWtd = 0 | |
V16 tmp10 [double]: refCnt = 4, refCntWtd = 0 | |
V17 tmp11 [double]: refCnt = 4, refCntWtd = 0 | |
*************** In fgPerBlockLocalVarLiveness() | |
BB01 USE(0)={} | |
DEF(0)={} | |
BB02 USE(0)={ } | |
DEF(5)={V01 V02 V03 V04 V05} | |
BB03 USE(0)={ } | |
DEF(5)={V02 V12 V13 V14 V15} | |
BB05 USE(1)={V03 } | |
DEF(2)={ V13 V16} | |
BB06 USE(1)={V03 } | |
DEF(1)={ V14} | |
BB07 USE(3)={V03 V13 V14 } | |
DEF(2)={V03 V15} | |
BB08 USE(1)={V12} | |
DEF(1)={V12} | |
BB09 USE(1)={V12} | |
DEF(0)={ } | |
BB10 USE(0)={ } | |
DEF(1)={V02} | |
BB12 USE(2)={V01 V03 } | |
DEF(2)={ V04 V17} | |
BB13 USE(2)={V03 V04 } | |
DEF(2)={ V07 V08} | |
BB14 USE(1)={V05} | |
DEF(1)={V05} | |
BB15 USE(1)={V05} | |
DEF(0)={ } | |
BB16 USE(3)={V02 V03 V04 } | |
DEF(3)={ V09 V10 V11} | |
** Memory liveness computed, GcHeap states and ByrefExposed states match | |
*************** In fgInterBlockLocalVarLiveness() | |
BB liveness after fgLiveVarAnalysis(): | |
BB01 IN (5)={V01 V02 V03 V04 V05} | |
OUT(5)={V01 V02 V03 V04 V05} | |
BB02 IN (0)={ } | |
OUT(5)={V01 V02 V03 V04 V05} | |
BB03 IN (4)={V01 V03 V04 V05 } | |
OUT(5)={V01 V03 V04 V05 V12} | |
BB05 IN (5)={V01 V03 V04 V05 V12 } | |
OUT(6)={V01 V03 V04 V05 V12 V13} | |
BB06 IN (6)={V01 V03 V04 V05 V12 V13 } | |
OUT(7)={V01 V03 V04 V05 V12 V13 V14} | |
BB07 IN (7)={V01 V03 V04 V05 V12 V13 V14} | |
OUT(5)={V01 V03 V04 V05 V12 } | |
BB08 IN (5)={V01 V03 V04 V05 V12} | |
OUT(5)={V01 V03 V04 V05 V12} | |
BB09 IN (5)={V01 V03 V04 V05 V12} | |
OUT(5)={V01 V03 V04 V05 V12} | |
BB10 IN (4)={V01 V03 V04 V05} | |
OUT(5)={V01 V02 V03 V04 V05} | |
BB12 IN (4)={V01 V02 V03 V05} | |
OUT(5)={V01 V02 V03 V04 V05} | |
BB13 IN (5)={V01 V02 V03 V04 V05} | |
OUT(5)={V01 V02 V03 V04 V05} | |
BB14 IN (5)={V01 V02 V03 V04 V05} | |
OUT(5)={V01 V02 V03 V04 V05} | |
BB15 IN (5)={V01 V02 V03 V04 V05} | |
OUT(5)={V01 V02 V03 V04 V05} | |
BB16 IN (3)={V02 V03 V04} | |
OUT(0)={ } | |
Store [000095] is dead and has no side effects, removing statement | |
removing useless STMT00027 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000095] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000094] ----------- \--* CNS_INT int 0 | |
from BB03 | |
Store [000150] is dead and has no side effects, removing statement | |
removing useless STMT00044 ( 0x01D[E-] ... ??? ) | |
[000150] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000149] ----------- \--* CNS_INT int 0 | |
from BB03 | |
Store [000148] is dead and has no side effects, removing statement | |
removing useless STMT00043 ( 0x01D[E-] ... ??? ) | |
[000148] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000147] ----------- \--* CNS_DBL double 0.0000000000000000 | |
from BB03 | |
Store [000146] is dead and has no side effects, removing statement | |
removing useless STMT00042 ( 0x01D[E-] ... ??? ) | |
[000146] DA--------- * STORE_LCL_VAR double V14 tmp8 | |
[000145] ----------- \--* CNS_DBL double 0.0000000000000000 | |
from BB03 | |
Store [000144] is dead and has no side effects, removing statement | |
removing useless STMT00041 ( 0x01D[E-] ... ??? ) | |
[000144] DA--------- * STORE_LCL_VAR double V13 tmp7 | |
[000143] ----------- \--* CNS_DBL double 0.0000000000000000 | |
from BB03 | |
*************** Finishing PHASE Early liveness | |
Trees after Early liveness | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1.68 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 1 1 1 [000..01D)-> BB15(1) (always) i IBC original-entry | |
BB03 [0001] 1 BB15 167.07 167 [01D..03A)-> BB09(1) (always) i IBC bwd bwd-target | |
BB05 [0009] 1 BB09 165.79 166 [01D..01E)-> BB10(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.08 0 [01D..01E)-> BB10(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0011] 1 BB06 0.08 0 [01D..01E)-> BB10(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 0.08 0 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB09 [0013] 2 BB03,BB08 167.15 167 [01D..01E)-> BB05(0.992),BB10(0.00812) ( cond ) i IBC bwd bwd-src | |
BB10 [0014] 4 BB05,BB06,BB07,BB09 167.07 167 [01D..03E)-> BB14(0.974),BB12(0.026) ( cond ) i IBC bwd | |
BB12 [0002] 1 BB10 4.34 4 [03E..048)-> BB14(0.48),BB13(0.52) ( cond ) i IBC bwd | |
BB13 [0003] 1 BB12 2.26 2 [048..05E)-> BB14(1) (always) i IBC newobj bwd | |
BB14 [0004] 3 BB10,BB12,BB13 167.07 167 [05E..064)-> BB15(1) (always) i IBC bwd | |
BB15 [0005] 3 BB01,BB02,BB14 168.07 168 [064..06D)-> BB03(0.994),BB16(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB16 [0006] 1 BB15 1.00 1 [06D..090) (return) i IBC newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0007] [???..???) -> BB15(1) (always), preds={} succs={BB15} | |
------------ BB02 [0000] [000..01D) -> BB15(1) (always), preds={} succs={BB15} | |
***** BB02 [0000] | |
STMT00000 ( 0x000[E-] ... 0x001 ) | |
[000001] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000000] ----------- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00001 ( 0x002[E-] ... 0x003 ) | |
[000003] DA--------- * STORE_LCL_VAR int V01 loc0 | |
[000002] ----------- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00002 ( 0x004[E-] ... 0x00D ) | |
[000005] DA--------- * STORE_LCL_VAR double V04 loc3 | |
[000004] ----------- \--* CNS_DBL double 0.0000000000000000 | |
***** BB02 [0000] | |
STMT00003 ( 0x00E[E-] ... 0x017 ) | |
[000007] DA--------- * STORE_LCL_VAR double V03 loc2 | |
[000006] ----------- \--* CNS_DBL double 1.0000000000000000 | |
***** BB02 [0000] | |
STMT00004 ( 0x018[E-] ... 0x019 ) | |
[000009] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000008] ----------- \--* CNS_INT int 1 | |
------------ BB03 [0001] [01D..03A) -> BB09(1) (always), preds={BB15} succs={BB09} | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000096] ----------- \--* CNS_INT int 1 | |
------------ BB05 [0009] [01D..01E) -> BB10(0.9995009),BB06(0.0004990518) (cond), preds={BB09} succs={BB06,BB10} | |
***** BB05 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G------ * STORE_LCL_VAR double V16 tmp10 | |
[000103] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DAC-------- * STORE_LCL_VAR double V13 tmp7 | |
[000160] ----------- \--* SUB double | |
[000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000159] ----------- \--* MUL double | |
[000153] ----------- +--* LCL_VAR double V16 tmp10 | |
[000158] ----------- \--* SUB double | |
[000154] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000157] ----------- \--* MUL double | |
[000155] ----------- +--* LCL_VAR double V16 tmp10 | |
[000156] ----------- \--* LCL_VAR double V16 tmp10 (last use) | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] ----------- * JTRUE void | |
[000110] ----------- \--* LT int | |
[000108] ----------- +--* INTRINSIC double abs | |
[000107] ----------- | \--* LCL_VAR double V13 tmp7 | |
[000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB06 [0010] [01D..01E) -> BB10(0),BB07(1) (cond), preds={BB05} succs={BB07,BB10} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DAC-------- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --C-G------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] ----------- arg0 \--* LCL_VAR double V03 loc2 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] ----------- * JTRUE void | |
[000119] ----------- \--* EQ int | |
[000117] ----------- +--* LCL_VAR double V14 tmp8 | |
[000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB07 [0011] [01D..01E) -> BB10(0),BB08(1) (cond), preds={BB06} succs={BB08,BB10} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000123] ----------- \--* DIV double | |
[000121] ----------- +--* LCL_VAR double V13 tmp7 (last use) | |
[000122] ----------- \--* LCL_VAR double V14 tmp8 (last use) | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] DA--G------ * STORE_LCL_VAR double V03 loc2 | |
[000129] ----G------ \--* SUB double | |
[000127] ----------- +--* LCL_VAR double V03 loc2 (last use) | |
[000128] ----------- \--* LCL_VAR double V15 tmp9 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] ----------- * JTRUE void | |
[000134] ----------- \--* LT int | |
[000132] ----------- +--* INTRINSIC double abs | |
[000131] ----------- | \--* LCL_VAR double V15 tmp9 (last use) | |
[000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB08 [0012] [01D..01E) -> BB09(1) (always), preds={BB07} succs={BB09} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000138] ----------- \--* ADD int | |
[000136] ----------- +--* LCL_VAR int V12 tmp6 (last use) | |
[000137] ----------- \--* CNS_INT int 1 | |
------------ BB09 [0013] [01D..01E) -> BB05(0.991882),BB10(0.008118008) (cond), preds={BB03,BB08} succs={BB10,BB05} | |
***** BB09 [0013] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000101] ----------- * JTRUE void | |
[000100] ----------- \--* LE int | |
[000098] ----------- +--* LCL_VAR int V12 tmp6 | |
[000099] ----------- \--* CNS_INT int 10 | |
------------ BB10 [0014] [01D..03E) -> BB14(0.974),BB12(0.026) (cond), preds={BB05,BB06,BB07,BB09} succs={BB12,BB14} | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000141] ----------- \--* CNS_INT int 2 | |
***** BB10 [0014] | |
STMT00007 ( 0x03A[E-] ... ??? ) | |
[000023] ----------- * JTRUE void | |
[000022] ----------- \--* GT int | |
[000020] ----------- +--* LCL_VAR int V02 loc1 | |
[000021] ----------- \--* CNS_INT int 1 | |
------------ BB12 [0002] [03E..048) -> BB14(0.48),BB13(0.52) (cond), preds={BB10} succs={BB13,BB14} | |
***** BB12 [0002] | |
STMT00046 ( 0x03E[E-] ... ??? ) | |
[000173] DA--------- * STORE_LCL_VAR double V17 tmp11 | |
[000028] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0002] | |
STMT00010 ( 0x03E[E-] ... ??? ) | |
[000031] DAC-------- * STORE_LCL_VAR double V04 loc3 | |
[000172] ----------- \--* SUB double | |
[000164] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000171] ----------- \--* MUL double | |
[000165] ----------- +--* LCL_VAR double V17 tmp11 | |
[000170] ----------- \--* SUB double | |
[000166] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000169] ----------- \--* MUL double | |
[000167] ----------- +--* LCL_VAR double V17 tmp11 | |
[000168] ----------- \--* LCL_VAR double V17 tmp11 (last use) | |
***** BB12 [0002] | |
STMT00011 ( 0x045[E-] ... 0x046 ) | |
[000035] ----------- * JTRUE void | |
[000034] ----------- \--* EQ int | |
[000032] ----------- +--* LCL_VAR int V01 loc0 | |
[000033] ----------- \--* CNS_INT int 0 | |
------------ BB13 [0003] [048..05E) -> BB14(1) (always), preds={BB12} succs={BB14} | |
***** BB13 [0003] | |
STMT00012 ( 0x048[E-] ... 0x059 ) | |
[000040] DAC-------- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000038] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00013 ( ??? ... ??? ) | |
[000044] nA--G------ * STOREIND double | |
[000043] ----------- +--* ADD byref | |
[000041] ----------- | +--* LCL_VAR ref V07 tmp1 | |
[000042] ----------- | \--* CNS_INT long 8 | |
[000037] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB13 [0003] | |
STMT00014 ( ??? ... ??? ) | |
[000050] DAC-------- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000048] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00015 ( ??? ... ??? ) | |
[000054] nA--G------ * STOREIND double | |
[000053] ----------- +--* ADD byref | |
[000051] ----------- | +--* LCL_VAR ref V08 tmp2 | |
[000052] ----------- | \--* CNS_INT long 8 | |
[000047] ----------- \--* LCL_VAR double V04 loc3 | |
***** BB13 [0003] | |
STMT00016 ( ??? ... ??? ) | |
[000057] --C-G------ * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
[000036] ----------- arg0 +--* CNS_STR ref <string constant> | |
[000046] ----------- arg1 +--* BOX ref | |
[000045] ----------- | \--* LCL_VAR ref V07 tmp1 (last use) | |
[000056] ----------- arg2 \--* BOX ref | |
[000055] ----------- \--* LCL_VAR ref V08 tmp2 (last use) | |
------------ BB14 [0004] [05E..064) -> BB15(1) (always), preds={BB10,BB12,BB13} succs={BB15} | |
***** BB14 [0004] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000026] ----------- \--* ADD int | |
[000024] ----------- +--* LCL_VAR int V05 loc4 (last use) | |
[000025] ----------- \--* CNS_INT int 1 | |
------------ BB15 [0005] [064..06D) -> BB03(0.99405),BB16(0.00595) (cond), preds={BB01,BB02,BB14} succs={BB16,BB03} | |
***** BB15 [0005] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
[000013] ----------- * JTRUE void | |
[000012] ----------- \--* LE int | |
[000010] ----------- +--* LCL_VAR int V05 loc4 | |
[000011] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB16 [0006] [06D..090) (return), preds={BB15} succs={} | |
***** BB16 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB16 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G------ * STOREIND int | |
[000064] ----------- +--* ADD byref | |
[000062] ----------- | +--* LCL_VAR ref V09 tmp3 | |
[000063] ----------- | \--* CNS_INT long 8 | |
[000058] ----------- \--* LCL_VAR int V02 loc1 (last use) | |
***** BB16 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] ----------- arg0 \--* BOX ref | |
[000066] ----------- \--* LCL_VAR ref V09 tmp3 (last use) | |
***** BB16 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G------ * STOREIND double | |
[000075] ----------- +--* ADD byref | |
[000073] ----------- | +--* LCL_VAR ref V10 tmp4 | |
[000074] ----------- | \--* CNS_INT long 8 | |
[000069] ----------- \--* LCL_VAR double V03 loc2 (last use) | |
***** BB16 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] ----------- arg0 \--* BOX ref | |
[000077] ----------- \--* LCL_VAR ref V10 tmp4 (last use) | |
***** BB16 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G------ * STOREIND double | |
[000086] ----------- +--* ADD byref | |
[000084] ----------- | +--* LCL_VAR ref V11 tmp5 | |
[000085] ----------- | \--* CNS_INT long 8 | |
[000080] ----------- \--* LCL_VAR double V04 loc3 (last use) | |
***** BB16 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] ----------- arg0 \--* BOX ref | |
[000088] ----------- \--* LCL_VAR ref V11 tmp5 (last use) | |
***** BB16 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] ----------- * RETURN int | |
[000091] ----------- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Forward Substitution | |
===> BB01 | |
===> BB02 | |
[000001]: no next stmt use | |
[000003]: no next stmt use | |
[000005]: no next stmt use | |
[000007]: no next stmt use | |
===> BB03 | |
===> BB05 | |
[000161]: next stmt has non-last use | |
[000106]: next stmt has non-last use | |
===> BB06 | |
[000116]: next stmt has non-last use | |
===> BB07 | |
[000124]: next stmt has non-last use | |
[000130]: no next stmt use | |
===> BB08 | |
===> BB09 | |
===> BB10 | |
[000142]: next stmt has non-last use | |
===> BB12 | |
[000173]: next stmt has non-last use | |
[000031]: no next stmt use | |
===> BB13 | |
[000040]: next stmt has non-last use | |
[000050]: next stmt has non-last use | |
===> BB14 | |
===> BB15 | |
===> BB16 | |
[000061]: next stmt has non-last use | |
[000072]: next stmt has non-last use | |
[000083]: next stmt has non-last use | |
*************** Finishing PHASE Forward Substitution [no changes] | |
*************** Starting PHASE Physical promotion | |
*************** Finishing PHASE Physical promotion [no changes] | |
*************** Starting PHASE Identify candidates for implicit byref copy omission | |
*************** Finishing PHASE Identify candidates for implicit byref copy omission [no changes] | |
*************** Starting PHASE Morph - ByRefs | |
*************** Finishing PHASE Morph - ByRefs [no changes] | |
*************** Starting PHASE Morph - Global | |
Morphing BB02 | |
BB02 ineligible for cross-block | |
Assertions in: #NA | |
fgMorphTree BB02, STMT00000 (before) | |
[000001] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000000] ----------- \--* CNS_INT int 0 | |
GenTreeNode creates assertion: | |
[000001] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
In BB02 New Local Constant Assertion: V02 == 0, index = #01 | |
fgMorphTree BB02, STMT00001 (before) | |
[000003] DA--------- * STORE_LCL_VAR int V01 loc0 | |
[000002] ----------- \--* CNS_INT int 0 | |
GenTreeNode creates assertion: | |
[000003] DA---+----- * STORE_LCL_VAR int V01 loc0 | |
In BB02 New Local Constant Assertion: V01 == 0, index = #02 | |
fgMorphTree BB02, STMT00002 (before) | |
[000005] DA--------- * STORE_LCL_VAR double V04 loc3 | |
[000004] ----------- \--* CNS_DBL double 0.0000000000000000 | |
GenTreeNode creates assertion: | |
[000005] DA---+----- * STORE_LCL_VAR double V04 loc3 | |
In BB02 New Local Constant Assertion: V04 == 0.00000, index = #03 | |
fgMorphTree BB02, STMT00003 (before) | |
[000007] DA--------- * STORE_LCL_VAR double V03 loc2 | |
[000006] ----------- \--* CNS_DBL double 1.0000000000000000 | |
GenTreeNode creates assertion: | |
[000007] DA---+----- * STORE_LCL_VAR double V03 loc2 | |
In BB02 New Local Constant Assertion: V03 == 1.00000, index = #04 | |
fgMorphTree BB02, STMT00004 (before) | |
[000009] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000008] ----------- \--* CNS_INT int 1 | |
GenTreeNode creates assertion: | |
[000009] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
In BB02 New Local Constant Assertion: V05 == 1, index = #05 | |
Morphing BB01 | |
Assertions in: #NA | |
Morphing BB15 | |
BB15 pred BB14 not processed; clearing assertions in | |
Assertions in: #NA | |
fgMorphTree BB15, STMT00005 (before) | |
[000013] ----------- * JTRUE void | |
[000012] ----------- \--* LE int | |
[000010] ----------- +--* LCL_VAR int V05 loc4 | |
[000011] ----------- \--* CNS_INT int 0x4C4B400 | |
Morphing BB03 | |
Using `if true` assertions from pred BB15 | |
Assertions in: #NA | |
fgMorphTree BB03, STMT00028 (before) | |
[000097] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000096] ----------- \--* CNS_INT int 1 | |
GenTreeNode creates assertion: | |
[000097] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
In BB03 New Local Constant Assertion: V12 == 1, index = #06 | |
Morphing BB09 | |
BB09 pred BB08 not processed; clearing assertions in | |
Assertions in: #NA | |
fgMorphTree BB09, STMT00029 (before) | |
[000101] ----------- * JTRUE void | |
[000100] ----------- \--* LE int | |
[000098] ----------- +--* LCL_VAR int V12 tmp6 | |
[000099] ----------- \--* CNS_INT int 10 | |
Morphing BB05 | |
Using `if true` assertions from pred BB09 | |
Assertions in: #NA | |
fgMorphTree BB05, STMT00045 (before) | |
[000161] DA--G------ * STORE_LCL_VAR double V16 tmp10 | |
[000103] ----------- \--* LCL_VAR double V03 loc2 | |
GenTreeNode creates assertion: | |
[000161] DA--G+----- * STORE_LCL_VAR double V16 tmp10 | |
In BB05 New Local Copy Assertion: V16 == V03, index = #07 | |
fgMorphTree BB05, STMT00031 (before) | |
[000106] DAC-------- * STORE_LCL_VAR double V13 tmp7 | |
[000160] ----------- \--* SUB double | |
[000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000159] ----------- \--* MUL double | |
[000153] ----------- +--* LCL_VAR double V16 tmp10 | |
[000158] ----------- \--* SUB double | |
[000154] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000157] ----------- \--* MUL double | |
[000155] ----------- +--* LCL_VAR double V16 tmp10 | |
[000156] ----------- \--* LCL_VAR double V16 tmp10 (last use) | |
Assertion prop in BB05: | |
Copy Assertion: V16 == V03, index = #07 | |
[000153] ----------- * LCL_VAR double V03 loc2 | |
Assertion prop in BB05: | |
Copy Assertion: V16 == V03, index = #07 | |
[000155] ----------- * LCL_VAR double V03 loc2 | |
Assertion prop in BB05: | |
Copy Assertion: V16 == V03, index = #07 | |
[000156] ----------- * LCL_VAR double V03 loc2 | |
fgMorphTree BB05, STMT00031 (after) | |
[000106] DA---+----- * STORE_LCL_VAR double V13 tmp7 | |
[000160] -----+----- \--* SUB double | |
[000152] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000159] -----+----- \--* MUL double | |
[000153] -----+----- +--* LCL_VAR double V03 loc2 | |
[000158] -----+----- \--* SUB double | |
[000154] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000157] -----+----- \--* MUL double | |
[000155] -----+----- +--* LCL_VAR double V03 loc2 | |
[000156] -----+----- \--* LCL_VAR double V03 loc2 | |
fgMorphTree BB05, STMT00032 (before) | |
[000111] ----------- * JTRUE void | |
[000110] ----------- \--* LT int | |
[000108] ----------- +--* INTRINSIC double abs | |
[000107] ----------- | \--* LCL_VAR double V13 tmp7 | |
[000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
Morphing BB06 | |
Using `if false` assertions from pred BB05 | |
Assertions in: #07 | |
fgMorphTree BB06, STMT00034 (before) | |
[000116] DAC-------- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --C-G------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] ----------- arg0 \--* LCL_VAR double V03 loc2 | |
Initializing arg info for 114.CALL: | |
Args for call [000114] CALL after AddFinalArgsAndDetermineABIInfo: | |
CallArg[[000113].LCL_VAR double (By value), 1 reg: mm0, byteAlignment=8] | |
Morphing args for 114.CALL: | |
Sorting the arguments: | |
Deferred argument ('mm0'): | |
[000113] -----+----- * LCL_VAR double V03 loc2 | |
Moved to late list | |
Register placement order: mm0 | |
Args for [000114].CALL after fgMorphArgs: | |
CallArg[[000113].LCL_VAR double (By value), 1 reg: mm0, byteAlignment=8, isLate, processed] | |
OutgoingArgsStackSize is 32 | |
fgMorphTree BB06, STMT00035 (before) | |
[000120] ----------- * JTRUE void | |
[000119] ----------- \--* EQ int | |
[000117] ----------- +--* LCL_VAR double V14 tmp8 | |
[000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
Morphing BB07 | |
Using `if false` assertions from pred BB06 | |
Assertions in: #07 | |
fgMorphTree BB07, STMT00036 (before) | |
[000124] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
[000123] ----------- \--* DIV double | |
[000121] ----------- +--* LCL_VAR double V13 tmp7 (last use) | |
[000122] ----------- \--* LCL_VAR double V14 tmp8 (last use) | |
fgMorphTree BB07, STMT00037 (before) | |
[000130] DA--G------ * STORE_LCL_VAR double V03 loc2 | |
[000129] ----G------ \--* SUB double | |
[000127] ----------- +--* LCL_VAR double V03 loc2 (last use) | |
[000128] ----------- \--* LCL_VAR double V15 tmp9 | |
The store [000130] using V16 removes: Copy Assertion: V16 == V03, index = #07 | |
fgMorphTree BB07, STMT00038 (before) | |
[000135] ----------- * JTRUE void | |
[000134] ----------- \--* LT int | |
[000132] ----------- +--* INTRINSIC double abs | |
[000131] ----------- | \--* LCL_VAR double V15 tmp9 (last use) | |
[000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
Morphing BB08 | |
Using `if false` assertions from pred BB07 | |
Assertions in: #NA | |
fgMorphTree BB08, STMT00039 (before) | |
[000139] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
[000138] ----------- \--* ADD int | |
[000136] ----------- +--* LCL_VAR int V12 tmp6 (last use) | |
[000137] ----------- \--* CNS_INT int 1 | |
Morphing BB10 | |
Using `if true` assertions from pred BB05 | |
Using `if true` assertions from pred BB06 | |
Using `if true` assertions from pred BB07 | |
Using `if false` assertions from pred BB09 | |
Assertions in: #NA | |
fgMorphTree BB10, STMT00040 (before) | |
[000142] DA--------- * STORE_LCL_VAR int V02 loc1 | |
[000141] ----------- \--* CNS_INT int 2 | |
GenTreeNode creates assertion: | |
[000142] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
In BB10 New Local Constant Assertion: V02 == 2, index = #08 | |
fgMorphTree BB10, STMT00007 (before) | |
[000023] ----------- * JTRUE void | |
[000022] ----------- \--* GT int | |
[000020] ----------- +--* LCL_VAR int V02 loc1 | |
[000021] ----------- \--* CNS_INT int 1 | |
Assertion prop in BB10: | |
Constant Assertion: V02 == 2, index = #08 | |
[000020] ----------- * CNS_INT int 2 | |
Folding operator with constant nodes into a constant: | |
[000022] J------N--- * GT int | |
[000020] -----+----- +--* CNS_INT int 2 | |
[000021] -----+----- \--* CNS_INT int 1 | |
Bashed to int constant: | |
[000022] ----------- * CNS_INT int 1 | |
fgMorphTree BB10, STMT00007 (after) | |
[000023] -----+----- * JTRUE void | |
[000022] -----+----- \--* CNS_INT int 1 | |
removing useless STMT00007 ( 0x03A[E-] ... ??? ) | |
[000023] -----+----- * JTRUE void | |
[000022] -----+----- \--* CNS_INT int 1 | |
from BB10 | |
setting likelihood of BB10 -> BB14 from 0.974 to 1 | |
Conditional folded at BB10 | |
BB10 becomes a BBJ_ALWAYS to BB14 | |
Morphing BB12 | |
Assertions in: #NA | |
fgMorphTree BB12, STMT00046 (before) | |
[000173] DA--------- * STORE_LCL_VAR double V17 tmp11 | |
[000028] ----------- \--* LCL_VAR double V03 loc2 | |
GenTreeNode creates assertion: | |
[000173] DA---+----- * STORE_LCL_VAR double V17 tmp11 | |
In BB12 New Local Copy Assertion: V17 == V03, index = #09 | |
fgMorphTree BB12, STMT00010 (before) | |
[000031] DAC-------- * STORE_LCL_VAR double V04 loc3 | |
[000172] ----------- \--* SUB double | |
[000164] ----------- +--* CNS_DBL double -1.0000000000000000 | |
[000171] ----------- \--* MUL double | |
[000165] ----------- +--* LCL_VAR double V17 tmp11 | |
[000170] ----------- \--* SUB double | |
[000166] ----------- +--* CNS_DBL double 1.0000000000000000 | |
[000169] ----------- \--* MUL double | |
[000167] ----------- +--* LCL_VAR double V17 tmp11 | |
[000168] ----------- \--* LCL_VAR double V17 tmp11 (last use) | |
Assertion prop in BB12: | |
Copy Assertion: V17 == V03, index = #09 | |
[000165] ----------- * LCL_VAR double V03 loc2 | |
Assertion prop in BB12: | |
Copy Assertion: V17 == V03, index = #09 | |
[000167] ----------- * LCL_VAR double V03 loc2 | |
Assertion prop in BB12: | |
Copy Assertion: V17 == V03, index = #09 | |
[000168] ----------- * LCL_VAR double V03 loc2 | |
fgMorphTree BB12, STMT00010 (after) | |
[000031] DA---+----- * STORE_LCL_VAR double V04 loc3 | |
[000172] -----+----- \--* SUB double | |
[000164] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000171] -----+----- \--* MUL double | |
[000165] -----+----- +--* LCL_VAR double V03 loc2 | |
[000170] -----+----- \--* SUB double | |
[000166] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000169] -----+----- \--* MUL double | |
[000167] -----+----- +--* LCL_VAR double V03 loc2 | |
[000168] -----+----- \--* LCL_VAR double V03 loc2 | |
fgMorphTree BB12, STMT00011 (before) | |
[000035] ----------- * JTRUE void | |
[000034] ----------- \--* EQ int | |
[000032] ----------- +--* LCL_VAR int V01 loc0 | |
[000033] ----------- \--* CNS_INT int 0 | |
GenTreeNode creates assertion: | |
[000035] -----+----- * JTRUE void | |
In BB12 New Local Constant Assertion: V01 != 0, index = #10 | |
Morphing BB13 | |
Using `if false` assertions from pred BB12 | |
Assertions in: #09 #10 | |
fgMorphTree BB13, STMT00012 (before) | |
[000040] DAC-------- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000038] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
Initializing arg info for 39.CALL: | |
Args for call [000039] CALL after AddFinalArgsAndDetermineABIInfo: | |
CallArg[[000038].CNS_INT long (By value), 1 reg: rcx, byteAlignment=8] | |
Morphing args for 39.CALL: | |
Sorting the arguments: | |
Deferred argument ('rcx'): | |
[000038] H----+----- * CNS_INT(h) long 0x7ffa98481978 class System.Double | |
Moved to late list | |
Register placement order: rcx | |
Args for [000039].CALL after fgMorphArgs: | |
CallArg[[000038].CNS_INT long (By value), 1 reg: rcx, byteAlignment=8, isLate, processed] | |
OutgoingArgsStackSize is 32 | |
fgMorphTree BB13, STMT00013 (before) | |
[000044] nA--G------ * STOREIND double | |
[000043] ----------- +--* ADD byref | |
[000041] ----------- | +--* LCL_VAR ref V07 tmp1 | |
[000042] ----------- | \--* CNS_INT long 8 | |
[000037] ----------- \--* LCL_VAR double V03 loc2 | |
GenTreeNode creates assertion: | |
[000044] nA--G+----- * STOREIND double | |
In BB13 New Local Constant Assertion: V07 != null, index = #11 | |
fgMorphTree BB13, STMT00014 (before) | |
[000050] DAC-------- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000048] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
Initializing arg info for 49.CALL: | |
Args for call [000049] CALL after AddFinalArgsAndDetermineABIInfo: | |
CallArg[[000048].CNS_INT long (By value), 1 reg: rcx, byteAlignment=8] | |
Morphing args for 49.CALL: | |
Sorting the arguments: | |
Deferred argument ('rcx'): | |
[000048] H----+----- * CNS_INT(h) long 0x7ffa98481978 class System.Double | |
Moved to late list | |
Register placement order: rcx | |
Args for [000049].CALL after fgMorphArgs: | |
CallArg[[000048].CNS_INT long (By value), 1 reg: rcx, byteAlignment=8, isLate, processed] | |
OutgoingArgsStackSize is 32 | |
fgMorphTree BB13, STMT00015 (before) | |
[000054] nA--G------ * STOREIND double | |
[000053] ----------- +--* ADD byref | |
[000051] ----------- | +--* LCL_VAR ref V08 tmp2 | |
[000052] ----------- | \--* CNS_INT long 8 | |
[000047] ----------- \--* LCL_VAR double V04 loc3 | |
GenTreeNode creates assertion: | |
[000054] nA--G+----- * STOREIND double | |
In BB13 New Local Constant Assertion: V08 != null, index = #12 | |
fgMorphTree BB13, STMT00016 (before) | |
[000057] --C-G------ * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
[000036] ----------- arg0 +--* CNS_STR ref <string constant> | |
[000046] ----------- arg1 +--* BOX ref | |
[000045] ----------- | \--* LCL_VAR ref V07 tmp1 (last use) | |
[000056] ----------- arg2 \--* BOX ref | |
[000055] ----------- \--* LCL_VAR ref V08 tmp2 (last use) | |
Initializing arg info for 57.CALL: | |
Args for call [000057] CALL after AddFinalArgsAndDetermineABIInfo: | |
CallArg[[000036].CNS_STR ref (By value), 1 reg: rcx, byteAlignment=8] | |
CallArg[[000046].BOX ref (By value), 1 reg: rdx, byteAlignment=8] | |
CallArg[[000056].BOX ref (By value), 1 reg: r8, byteAlignment=8] | |
Morphing args for 57.CALL: | |
Sorting the arguments: | |
Deferred argument ('r8'): | |
( 9, 6) [000056] ----------- * BOX ref | |
( 3, 2) [000055] ----------- \--* LCL_VAR ref V08 tmp2 (last use) | |
Moved to late list | |
Deferred argument ('rdx'): | |
( 9, 6) [000046] ----------- * BOX ref | |
( 3, 2) [000045] ----------- \--* LCL_VAR ref V07 tmp1 (last use) | |
Moved to late list | |
Deferred argument ('rcx'): | |
[000175] H----+----- * CNS_INT(h) ref ' THE ROOT IS {0:e} F(ROOT) := {1:E} ' | |
Moved to late list | |
Register placement order: r8 rdx rcx | |
Args for [000057].CALL after fgMorphArgs: | |
CallArg[[000175].CNS_INT ref (By value), 1 reg: rcx, byteAlignment=8, isLate, processed] | |
CallArg[[000046].BOX ref (By value), 1 reg: rdx, byteAlignment=8, isLate, processed] | |
CallArg[[000056].BOX ref (By value), 1 reg: r8, byteAlignment=8, isLate, processed] | |
OutgoingArgsStackSize is 32 | |
fgMorphTree BB13, STMT00016 (after) | |
[000057] --CXG+----- * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
( 9, 6) [000056] ----------- arg2 in r8 +--* BOX ref | |
( 3, 2) [000055] ----------- | \--* LCL_VAR ref V08 tmp2 (last use) | |
( 9, 6) [000046] ----------- arg1 in rdx +--* BOX ref | |
( 3, 2) [000045] ----------- | \--* LCL_VAR ref V07 tmp1 (last use) | |
[000175] H----+----- arg0 in rcx \--* CNS_INT(h) ref ' THE ROOT IS {0:e} F(ROOT) := {1:E} ' | |
Morphing BB14 | |
Using `if true` assertions from pred BB12 | |
Assertions in: #NA | |
fgMorphTree BB14, STMT00008 (before) | |
[000027] DA--------- * STORE_LCL_VAR int V05 loc4 | |
[000026] ----------- \--* ADD int | |
[000024] ----------- +--* LCL_VAR int V05 loc4 (last use) | |
[000025] ----------- \--* CNS_INT int 1 | |
Morphing BB16 | |
Using `if false` assertions from pred BB15 | |
Assertions in: #NA | |
fgMorphTree BB16, STMT00017 (before) | |
[000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
Initializing arg info for 60.CALL: | |
Args for call [000060] CALL after AddFinalArgsAndDetermineABIInfo: | |
CallArg[[000059].CNS_INT long (By value), 1 reg: rcx, byteAlignment=8] | |
Morphing args for 60.CALL: | |
Sorting the arguments: | |
Deferred argument ('rcx'): | |
[000059] H----+----- * CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
Moved to late list | |
Register placement order: rcx | |
Args for [000060].CALL after fgMorphArgs: | |
CallArg[[000059].CNS_INT long (By value), 1 reg: rcx, byteAlignment=8, isLate, processed] | |
OutgoingArgsStackSize is 32 | |
fgMorphTree BB16, STMT00018 (before) | |
[000065] nA--G------ * STOREIND int | |
[000064] ----------- +--* ADD byref | |
[000062] ----------- | +--* LCL_VAR ref V09 tmp3 | |
[000063] ----------- | \--* CNS_INT long 8 | |
[000058] ----------- \--* LCL_VAR int V02 loc1 (last use) | |
GenTreeNode creates assertion: | |
[000065] nA--G+----- * STOREIND int | |
In BB16 New Local Constant Assertion: V09 != null, index = #13 | |
fgMorphTree BB16, STMT00019 (before) | |
[000068] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] ----------- arg0 \--* BOX ref | |
[000066] ----------- \--* LCL_VAR ref V09 tmp3 (last use) | |
Initializing arg info for 68.CALL: | |
Args for call [000068] CALL after AddFinalArgsAndDetermineABIInfo: | |
CallArg[[000067].BOX ref (By value), 1 reg: rcx, byteAlignment=8] | |
Morphing args for 68.CALL: | |
Sorting the arguments: | |
Deferred argument ('rcx'): | |
[000067] -----+----- * BOX ref | |
[000066] -----+----- \--* LCL_VAR ref V09 tmp3 (last use) | |
Moved to late list | |
Register placement order: rcx | |
Args for [000068].CALL after fgMorphArgs: | |
CallArg[[000067].BOX ref (By value), 1 reg: rcx, byteAlignment=8, isLate, processed] | |
OutgoingArgsStackSize is 32 | |
fgMorphTree BB16, STMT00020 (before) | |
[000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
Initializing arg info for 71.CALL: | |
Args for call [000071] CALL after AddFinalArgsAndDetermineABIInfo: | |
CallArg[[000070].CNS_INT long (By value), 1 reg: rcx, byteAlignment=8] | |
Morphing args for 71.CALL: | |
Sorting the arguments: | |
Deferred argument ('rcx'): | |
[000070] H----+----- * CNS_INT(h) long 0x7ffa98481978 class System.Double | |
Moved to late list | |
Register placement order: rcx | |
Args for [000071].CALL after fgMorphArgs: | |
CallArg[[000070].CNS_INT long (By value), 1 reg: rcx, byteAlignment=8, isLate, processed] | |
OutgoingArgsStackSize is 32 | |
fgMorphTree BB16, STMT00021 (before) | |
[000076] nA--G------ * STOREIND double | |
[000075] ----------- +--* ADD byref | |
[000073] ----------- | +--* LCL_VAR ref V10 tmp4 | |
[000074] ----------- | \--* CNS_INT long 8 | |
[000069] ----------- \--* LCL_VAR double V03 loc2 (last use) | |
GenTreeNode creates assertion: | |
[000076] nA--G+----- * STOREIND double | |
In BB16 New Local Constant Assertion: V10 != null, index = #14 | |
fgMorphTree BB16, STMT00022 (before) | |
[000079] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] ----------- arg0 \--* BOX ref | |
[000077] ----------- \--* LCL_VAR ref V10 tmp4 (last use) | |
Initializing arg info for 79.CALL: | |
Args for call [000079] CALL after AddFinalArgsAndDetermineABIInfo: | |
CallArg[[000078].BOX ref (By value), 1 reg: rcx, byteAlignment=8] | |
Morphing args for 79.CALL: | |
Sorting the arguments: | |
Deferred argument ('rcx'): | |
[000078] -----+----- * BOX ref | |
[000077] -----+----- \--* LCL_VAR ref V10 tmp4 (last use) | |
Moved to late list | |
Register placement order: rcx | |
Args for [000079].CALL after fgMorphArgs: | |
CallArg[[000078].BOX ref (By value), 1 reg: rcx, byteAlignment=8, isLate, processed] | |
OutgoingArgsStackSize is 32 | |
fgMorphTree BB16, STMT00023 (before) | |
[000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H---------- arg0 \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
Initializing arg info for 82.CALL: | |
Args for call [000082] CALL after AddFinalArgsAndDetermineABIInfo: | |
CallArg[[000081].CNS_INT long (By value), 1 reg: rcx, byteAlignment=8] | |
Morphing args for 82.CALL: | |
Sorting the arguments: | |
Deferred argument ('rcx'): | |
[000081] H----+----- * CNS_INT(h) long 0x7ffa98481978 class System.Double | |
Moved to late list | |
Register placement order: rcx | |
Args for [000082].CALL after fgMorphArgs: | |
CallArg[[000081].CNS_INT long (By value), 1 reg: rcx, byteAlignment=8, isLate, processed] | |
OutgoingArgsStackSize is 32 | |
fgMorphTree BB16, STMT00024 (before) | |
[000087] nA--G------ * STOREIND double | |
[000086] ----------- +--* ADD byref | |
[000084] ----------- | +--* LCL_VAR ref V11 tmp5 | |
[000085] ----------- | \--* CNS_INT long 8 | |
[000080] ----------- \--* LCL_VAR double V04 loc3 (last use) | |
GenTreeNode creates assertion: | |
[000087] nA--G+----- * STOREIND double | |
In BB16 New Local Constant Assertion: V11 != null, index = #15 | |
fgMorphTree BB16, STMT00025 (before) | |
[000090] --C-G------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] ----------- arg0 \--* BOX ref | |
[000088] ----------- \--* LCL_VAR ref V11 tmp5 (last use) | |
Initializing arg info for 90.CALL: | |
Args for call [000090] CALL after AddFinalArgsAndDetermineABIInfo: | |
CallArg[[000089].BOX ref (By value), 1 reg: rcx, byteAlignment=8] | |
Morphing args for 90.CALL: | |
Sorting the arguments: | |
Deferred argument ('rcx'): | |
[000089] -----+----- * BOX ref | |
[000088] -----+----- \--* LCL_VAR ref V11 tmp5 (last use) | |
Moved to late list | |
Register placement order: rcx | |
Args for [000090].CALL after fgMorphArgs: | |
CallArg[[000089].BOX ref (By value), 1 reg: rcx, byteAlignment=8, isLate, processed] | |
OutgoingArgsStackSize is 32 | |
fgMorphTree BB16, STMT00026 (before) | |
[000092] ----------- * RETURN int | |
[000091] ----------- \--* CNS_INT int 1 | |
Folding operator with constant nodes into a constant: | |
[000176] ----------- * CAST int <- ubyte <- int | |
[000091] -----+----- \--* CNS_INT int 1 | |
Bashed to int constant: | |
[000176] ----------- * CNS_INT int 1 | |
OSR: un-protecting original method entry BB02 | |
morph assertion stats: 64 table size, 15 assertions, 0 dropped | |
*************** Finishing PHASE Morph - Global | |
Trees after Morph - Global | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1.68 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 0 1 1 [000..01D)-> BB15(1) (always) i IBC | |
BB03 [0001] 1 BB15 167.07 167 [01D..03A)-> BB09(1) (always) i IBC bwd bwd-target | |
BB05 [0009] 1 BB09 165.79 166 [01D..01E)-> BB10(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.08 0 [01D..01E)-> BB10(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.08 0 [01D..01E)-> BB10(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 0.08 0 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB09 [0013] 2 BB03,BB08 167.15 167 [01D..01E)-> BB05(0.992),BB10(0.00812) ( cond ) i IBC bwd bwd-src | |
BB10 [0014] 4 BB05,BB06,BB07,BB09 167.07 167 [01D..03E)-> BB14(1) (always) i IBC bwd | |
BB12 [0002] 0 4.34 4 [03E..048)-> BB14(0.48),BB13(0.52) ( cond ) i IBC bwd | |
BB13 [0003] 1 BB12 2.26 2 [048..05E)-> BB14(1) (always) i IBC hascall gcsafe newobj bwd | |
BB14 [0004] 3 BB10,BB12,BB13 167.07 167 [05E..064)-> BB15(1) (always) i IBC bwd | |
BB15 [0005] 3 BB01,BB02,BB14 168.07 168 [064..06D)-> BB03(0.994),BB16(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB16 [0006] 1 BB15 1.00 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0007] [???..???) -> BB15(1) (always), preds={} succs={BB15} | |
------------ BB02 [0000] [000..01D) -> BB15(1) (always), preds={} succs={BB15} | |
***** BB02 [0000] | |
STMT00000 ( 0x000[E-] ... 0x001 ) | |
[000001] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000000] -----+----- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00001 ( 0x002[E-] ... 0x003 ) | |
[000003] DA---+----- * STORE_LCL_VAR int V01 loc0 | |
[000002] -----+----- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00002 ( 0x004[E-] ... 0x00D ) | |
[000005] DA---+----- * STORE_LCL_VAR double V04 loc3 | |
[000004] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
***** BB02 [0000] | |
STMT00003 ( 0x00E[E-] ... 0x017 ) | |
[000007] DA---+----- * STORE_LCL_VAR double V03 loc2 | |
[000006] -----+----- \--* CNS_DBL double 1.0000000000000000 | |
***** BB02 [0000] | |
STMT00004 ( 0x018[E-] ... 0x019 ) | |
[000009] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000008] -----+----- \--* CNS_INT int 1 | |
------------ BB03 [0001] [01D..03A) -> BB09(1) (always), preds={BB15} succs={BB09} | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000096] -----+----- \--* CNS_INT int 1 | |
------------ BB05 [0009] [01D..01E) -> BB10(0.9995009),BB06(0.0004990518) (cond), preds={BB09} succs={BB06,BB10} | |
***** BB05 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G+----- * STORE_LCL_VAR double V16 tmp10 | |
[000103] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DA---+----- * STORE_LCL_VAR double V13 tmp7 | |
[000160] -----+----- \--* SUB double | |
[000152] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000159] -----+----- \--* MUL double | |
[000153] -----+----- +--* LCL_VAR double V03 loc2 | |
[000158] -----+----- \--* SUB double | |
[000154] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000157] -----+----- \--* MUL double | |
[000155] -----+----- +--* LCL_VAR double V03 loc2 | |
[000156] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] -----+----- * JTRUE void | |
[000110] J----+-N--- \--* LT int | |
[000108] -----+----- +--* INTRINSIC double abs | |
[000107] -----+----- | \--* LCL_VAR double V13 tmp7 | |
[000109] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB06 [0010] [01D..01E) -> BB10(0),BB07(1) (cond), preds={BB05} succs={BB07,BB10} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DACXG+----- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --CXG+----- \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] -----+----- arg0 in mm0 \--* LCL_VAR double V03 loc2 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] -----+----- * JTRUE void | |
[000119] J----+-N--- \--* EQ int | |
[000117] -----+----- +--* LCL_VAR double V14 tmp8 | |
[000118] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB07 [0011] [01D..01E) -> BB10(0),BB08(1) (cond), preds={BB06} succs={BB08,BB10} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA---+----- * STORE_LCL_VAR double V15 tmp9 | |
[000123] -----+----- \--* DIV double | |
[000121] -----+----- +--* LCL_VAR double V13 tmp7 (last use) | |
[000122] -----+----- \--* LCL_VAR double V14 tmp8 (last use) | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] DA--G+----- * STORE_LCL_VAR double V03 loc2 | |
[000129] ----G+----- \--* SUB double | |
[000127] -----+----- +--* LCL_VAR double V03 loc2 (last use) | |
[000128] -----+----- \--* LCL_VAR double V15 tmp9 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] -----+----- * JTRUE void | |
[000134] J----+-N--- \--* LT int | |
[000132] -----+----- +--* INTRINSIC double abs | |
[000131] -----+----- | \--* LCL_VAR double V15 tmp9 (last use) | |
[000133] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB08 [0012] [01D..01E) -> BB09(1) (always), preds={BB07} succs={BB09} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000138] -----+----- \--* ADD int | |
[000136] -----+----- +--* LCL_VAR int V12 tmp6 (last use) | |
[000137] -----+----- \--* CNS_INT int 1 | |
------------ BB09 [0013] [01D..01E) -> BB05(0.991882),BB10(0.008118008) (cond), preds={BB03,BB08} succs={BB10,BB05} | |
***** BB09 [0013] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000101] -----+----- * JTRUE void | |
[000100] J----+-N--- \--* LE int | |
[000098] -----+----- +--* LCL_VAR int V12 tmp6 | |
[000099] -----+----- \--* CNS_INT int 10 | |
------------ BB10 [0014] [01D..03E) -> BB14(1) (always), preds={BB05,BB06,BB07,BB09} succs={BB14} | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000141] -----+----- \--* CNS_INT int 2 | |
------------ BB12 [0002] [03E..048) -> BB14(0.48),BB13(0.52) (cond), preds={} succs={BB13,BB14} | |
***** BB12 [0002] | |
STMT00046 ( 0x03E[E-] ... ??? ) | |
[000173] DA---+----- * STORE_LCL_VAR double V17 tmp11 | |
[000028] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0002] | |
STMT00010 ( 0x03E[E-] ... ??? ) | |
[000031] DA---+----- * STORE_LCL_VAR double V04 loc3 | |
[000172] -----+----- \--* SUB double | |
[000164] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000171] -----+----- \--* MUL double | |
[000165] -----+----- +--* LCL_VAR double V03 loc2 | |
[000170] -----+----- \--* SUB double | |
[000166] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000169] -----+----- \--* MUL double | |
[000167] -----+----- +--* LCL_VAR double V03 loc2 | |
[000168] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0002] | |
STMT00011 ( 0x045[E-] ... 0x046 ) | |
[000035] -----+----- * JTRUE void | |
[000034] J----+-N--- \--* EQ int | |
[000032] -----+----- +--* LCL_VAR int V01 loc0 | |
[000033] -----+----- \--* CNS_INT int 0 | |
------------ BB13 [0003] [048..05E) -> BB14(1) (always), preds={BB12} succs={BB14} | |
***** BB13 [0003] | |
STMT00012 ( 0x048[E-] ... 0x059 ) | |
[000040] DAC--+----- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000038] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00013 ( ??? ... ??? ) | |
[000044] nA--G+----- * STOREIND double | |
[000043] -----+----- +--* ADD byref | |
[000041] -----+----- | +--* LCL_VAR ref V07 tmp1 | |
[000042] -----+----- | \--* CNS_INT long 8 | |
[000037] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB13 [0003] | |
STMT00014 ( ??? ... ??? ) | |
[000050] DAC--+----- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000048] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00015 ( ??? ... ??? ) | |
[000054] nA--G+----- * STOREIND double | |
[000053] -----+----- +--* ADD byref | |
[000051] -----+----- | +--* LCL_VAR ref V08 tmp2 | |
[000052] -----+----- | \--* CNS_INT long 8 | |
[000047] -----+----- \--* LCL_VAR double V04 loc3 | |
***** BB13 [0003] | |
STMT00016 ( ??? ... ??? ) | |
[000057] --CXG+----- * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
( 9, 6) [000056] ----------- arg2 in r8 +--* BOX ref | |
( 3, 2) [000055] ----------- | \--* LCL_VAR ref V08 tmp2 (last use) | |
( 9, 6) [000046] ----------- arg1 in rdx +--* BOX ref | |
( 3, 2) [000045] ----------- | \--* LCL_VAR ref V07 tmp1 (last use) | |
[000175] H----+----- arg0 in rcx \--* CNS_INT(h) ref ' THE ROOT IS {0:e} F(ROOT) := {1:E} ' | |
------------ BB14 [0004] [05E..064) -> BB15(1) (always), preds={BB10,BB12,BB13} succs={BB15} | |
***** BB14 [0004] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000026] -----+----- \--* ADD int | |
[000024] -----+----- +--* LCL_VAR int V05 loc4 (last use) | |
[000025] -----+----- \--* CNS_INT int 1 | |
------------ BB15 [0005] [064..06D) -> BB03(0.99405),BB16(0.00595) (cond), preds={BB01,BB02,BB14} succs={BB16,BB03} | |
***** BB15 [0005] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
[000013] -----+----- * JTRUE void | |
[000012] J----+-N--- \--* LE int | |
[000010] -----+----- +--* LCL_VAR int V05 loc4 | |
[000011] -----+----- \--* CNS_INT int 0x4C4B400 | |
------------ BB16 [0006] [06D..090) (return), preds={BB15} succs={} | |
***** BB16 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC--+----- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB16 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G+----- * STOREIND int | |
[000064] -----+----- +--* ADD byref | |
[000062] -----+----- | +--* LCL_VAR ref V09 tmp3 | |
[000063] -----+----- | \--* CNS_INT long 8 | |
[000058] -----+----- \--* LCL_VAR int V02 loc1 (last use) | |
***** BB16 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] -----+----- arg0 in rcx \--* BOX ref | |
[000066] -----+----- \--* LCL_VAR ref V09 tmp3 (last use) | |
***** BB16 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC--+----- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G+----- * STOREIND double | |
[000075] -----+----- +--* ADD byref | |
[000073] -----+----- | +--* LCL_VAR ref V10 tmp4 | |
[000074] -----+----- | \--* CNS_INT long 8 | |
[000069] -----+----- \--* LCL_VAR double V03 loc2 (last use) | |
***** BB16 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] -----+----- arg0 in rcx \--* BOX ref | |
[000077] -----+----- \--* LCL_VAR ref V10 tmp4 (last use) | |
***** BB16 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC--+----- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G+----- * STOREIND double | |
[000086] -----+----- +--* ADD byref | |
[000084] -----+----- | +--* LCL_VAR ref V11 tmp5 | |
[000085] -----+----- | \--* CNS_INT long 8 | |
[000080] -----+----- \--* LCL_VAR double V04 loc3 (last use) | |
***** BB16 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] -----+----- arg0 in rcx \--* BOX ref | |
[000088] -----+----- \--* LCL_VAR ref V11 tmp5 (last use) | |
***** BB16 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] -----+----- * RETURN int | |
[000176] -----+----- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Post-Morph | |
*************** In fgMarkDemotedImplicitByRefArgs() | |
*************** Finishing PHASE Post-Morph | |
Trees after Post-Morph | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1.68 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 0 1 1 [000..01D)-> BB15(1) (always) i IBC | |
BB03 [0001] 1 BB15 167.07 167 [01D..03A)-> BB09(1) (always) i IBC bwd bwd-target | |
BB05 [0009] 1 BB09 165.79 166 [01D..01E)-> BB10(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.08 0 [01D..01E)-> BB10(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.08 0 [01D..01E)-> BB10(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 0.08 0 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB09 [0013] 2 BB03,BB08 167.15 167 [01D..01E)-> BB05(0.992),BB10(0.00812) ( cond ) i IBC bwd bwd-src | |
BB10 [0014] 4 BB05,BB06,BB07,BB09 167.07 167 [01D..03E)-> BB14(1) (always) i IBC bwd | |
BB12 [0002] 0 4.34 4 [03E..048)-> BB14(0.48),BB13(0.52) ( cond ) i IBC bwd | |
BB13 [0003] 1 BB12 2.26 2 [048..05E)-> BB14(1) (always) i IBC hascall gcsafe newobj bwd | |
BB14 [0004] 3 BB10,BB12,BB13 167.07 167 [05E..064)-> BB15(1) (always) i IBC bwd | |
BB15 [0005] 3 BB01,BB02,BB14 168.07 168 [064..06D)-> BB03(0.994),BB16(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB16 [0006] 1 BB15 1.00 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0007] [???..???) -> BB15(1) (always), preds={} succs={BB15} | |
------------ BB02 [0000] [000..01D) -> BB15(1) (always), preds={} succs={BB15} | |
***** BB02 [0000] | |
STMT00000 ( 0x000[E-] ... 0x001 ) | |
[000001] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000000] -----+----- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00001 ( 0x002[E-] ... 0x003 ) | |
[000003] DA---+----- * STORE_LCL_VAR int V01 loc0 | |
[000002] -----+----- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00002 ( 0x004[E-] ... 0x00D ) | |
[000005] DA---+----- * STORE_LCL_VAR double V04 loc3 | |
[000004] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
***** BB02 [0000] | |
STMT00003 ( 0x00E[E-] ... 0x017 ) | |
[000007] DA---+----- * STORE_LCL_VAR double V03 loc2 | |
[000006] -----+----- \--* CNS_DBL double 1.0000000000000000 | |
***** BB02 [0000] | |
STMT00004 ( 0x018[E-] ... 0x019 ) | |
[000009] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000008] -----+----- \--* CNS_INT int 1 | |
------------ BB03 [0001] [01D..03A) -> BB09(1) (always), preds={BB15} succs={BB09} | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000096] -----+----- \--* CNS_INT int 1 | |
------------ BB05 [0009] [01D..01E) -> BB10(0.9995009),BB06(0.0004990518) (cond), preds={BB09} succs={BB06,BB10} | |
***** BB05 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G+----- * STORE_LCL_VAR double V16 tmp10 | |
[000103] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DA---+----- * STORE_LCL_VAR double V13 tmp7 | |
[000160] -----+----- \--* SUB double | |
[000152] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000159] -----+----- \--* MUL double | |
[000153] -----+----- +--* LCL_VAR double V03 loc2 | |
[000158] -----+----- \--* SUB double | |
[000154] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000157] -----+----- \--* MUL double | |
[000155] -----+----- +--* LCL_VAR double V03 loc2 | |
[000156] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] -----+----- * JTRUE void | |
[000110] J----+-N--- \--* LT int | |
[000108] -----+----- +--* INTRINSIC double abs | |
[000107] -----+----- | \--* LCL_VAR double V13 tmp7 | |
[000109] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB06 [0010] [01D..01E) -> BB10(0),BB07(1) (cond), preds={BB05} succs={BB07,BB10} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DACXG+----- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --CXG+----- \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] -----+----- arg0 in mm0 \--* LCL_VAR double V03 loc2 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] -----+----- * JTRUE void | |
[000119] J----+-N--- \--* EQ int | |
[000117] -----+----- +--* LCL_VAR double V14 tmp8 | |
[000118] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB07 [0011] [01D..01E) -> BB10(0),BB08(1) (cond), preds={BB06} succs={BB08,BB10} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA---+----- * STORE_LCL_VAR double V15 tmp9 | |
[000123] -----+----- \--* DIV double | |
[000121] -----+----- +--* LCL_VAR double V13 tmp7 | |
[000122] -----+----- \--* LCL_VAR double V14 tmp8 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] DA--G+----- * STORE_LCL_VAR double V03 loc2 | |
[000129] ----G+----- \--* SUB double | |
[000127] -----+----- +--* LCL_VAR double V03 loc2 | |
[000128] -----+----- \--* LCL_VAR double V15 tmp9 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] -----+----- * JTRUE void | |
[000134] J----+-N--- \--* LT int | |
[000132] -----+----- +--* INTRINSIC double abs | |
[000131] -----+----- | \--* LCL_VAR double V15 tmp9 | |
[000133] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB08 [0012] [01D..01E) -> BB09(1) (always), preds={BB07} succs={BB09} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000138] -----+----- \--* ADD int | |
[000136] -----+----- +--* LCL_VAR int V12 tmp6 | |
[000137] -----+----- \--* CNS_INT int 1 | |
------------ BB09 [0013] [01D..01E) -> BB05(0.991882),BB10(0.008118008) (cond), preds={BB03,BB08} succs={BB10,BB05} | |
***** BB09 [0013] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000101] -----+----- * JTRUE void | |
[000100] J----+-N--- \--* LE int | |
[000098] -----+----- +--* LCL_VAR int V12 tmp6 | |
[000099] -----+----- \--* CNS_INT int 10 | |
------------ BB10 [0014] [01D..03E) -> BB14(1) (always), preds={BB05,BB06,BB07,BB09} succs={BB14} | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000141] -----+----- \--* CNS_INT int 2 | |
------------ BB12 [0002] [03E..048) -> BB14(0.48),BB13(0.52) (cond), preds={} succs={BB13,BB14} | |
***** BB12 [0002] | |
STMT00046 ( 0x03E[E-] ... ??? ) | |
[000173] DA---+----- * STORE_LCL_VAR double V17 tmp11 | |
[000028] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0002] | |
STMT00010 ( 0x03E[E-] ... ??? ) | |
[000031] DA---+----- * STORE_LCL_VAR double V04 loc3 | |
[000172] -----+----- \--* SUB double | |
[000164] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000171] -----+----- \--* MUL double | |
[000165] -----+----- +--* LCL_VAR double V03 loc2 | |
[000170] -----+----- \--* SUB double | |
[000166] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000169] -----+----- \--* MUL double | |
[000167] -----+----- +--* LCL_VAR double V03 loc2 | |
[000168] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0002] | |
STMT00011 ( 0x045[E-] ... 0x046 ) | |
[000035] -----+----- * JTRUE void | |
[000034] J----+-N--- \--* EQ int | |
[000032] -----+----- +--* LCL_VAR int V01 loc0 | |
[000033] -----+----- \--* CNS_INT int 0 | |
------------ BB13 [0003] [048..05E) -> BB14(1) (always), preds={BB12} succs={BB14} | |
***** BB13 [0003] | |
STMT00012 ( 0x048[E-] ... 0x059 ) | |
[000040] DAC--+----- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000038] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00013 ( ??? ... ??? ) | |
[000044] nA--G+----- * STOREIND double | |
[000043] -----+----- +--* ADD byref | |
[000041] -----+----- | +--* LCL_VAR ref V07 tmp1 | |
[000042] -----+----- | \--* CNS_INT long 8 | |
[000037] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB13 [0003] | |
STMT00014 ( ??? ... ??? ) | |
[000050] DAC--+----- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000048] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00015 ( ??? ... ??? ) | |
[000054] nA--G+----- * STOREIND double | |
[000053] -----+----- +--* ADD byref | |
[000051] -----+----- | +--* LCL_VAR ref V08 tmp2 | |
[000052] -----+----- | \--* CNS_INT long 8 | |
[000047] -----+----- \--* LCL_VAR double V04 loc3 | |
***** BB13 [0003] | |
STMT00016 ( ??? ... ??? ) | |
[000057] --CXG+----- * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
( 9, 6) [000056] ----------- arg2 in r8 +--* BOX ref | |
( 3, 2) [000055] ----------- | \--* LCL_VAR ref V08 tmp2 | |
( 9, 6) [000046] ----------- arg1 in rdx +--* BOX ref | |
( 3, 2) [000045] ----------- | \--* LCL_VAR ref V07 tmp1 | |
[000175] H----+----- arg0 in rcx \--* CNS_INT(h) ref ' THE ROOT IS {0:e} F(ROOT) := {1:E} ' | |
------------ BB14 [0004] [05E..064) -> BB15(1) (always), preds={BB10,BB12,BB13} succs={BB15} | |
***** BB14 [0004] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000026] -----+----- \--* ADD int | |
[000024] -----+----- +--* LCL_VAR int V05 loc4 | |
[000025] -----+----- \--* CNS_INT int 1 | |
------------ BB15 [0005] [064..06D) -> BB03(0.99405),BB16(0.00595) (cond), preds={BB01,BB02,BB14} succs={BB16,BB03} | |
***** BB15 [0005] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
[000013] -----+----- * JTRUE void | |
[000012] J----+-N--- \--* LE int | |
[000010] -----+----- +--* LCL_VAR int V05 loc4 | |
[000011] -----+----- \--* CNS_INT int 0x4C4B400 | |
------------ BB16 [0006] [06D..090) (return), preds={BB15} succs={} | |
***** BB16 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC--+----- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB16 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G+----- * STOREIND int | |
[000064] -----+----- +--* ADD byref | |
[000062] -----+----- | +--* LCL_VAR ref V09 tmp3 | |
[000063] -----+----- | \--* CNS_INT long 8 | |
[000058] -----+----- \--* LCL_VAR int V02 loc1 | |
***** BB16 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] -----+----- arg0 in rcx \--* BOX ref | |
[000066] -----+----- \--* LCL_VAR ref V09 tmp3 | |
***** BB16 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC--+----- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G+----- * STOREIND double | |
[000075] -----+----- +--* ADD byref | |
[000073] -----+----- | +--* LCL_VAR ref V10 tmp4 | |
[000074] -----+----- | \--* CNS_INT long 8 | |
[000069] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB16 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] -----+----- arg0 in rcx \--* BOX ref | |
[000077] -----+----- \--* LCL_VAR ref V10 tmp4 | |
***** BB16 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC--+----- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G+----- * STOREIND double | |
[000086] -----+----- +--* ADD byref | |
[000084] -----+----- | +--* LCL_VAR ref V11 tmp5 | |
[000085] -----+----- | \--* CNS_INT long 8 | |
[000080] -----+----- \--* LCL_VAR double V04 loc3 | |
***** BB16 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] -----+----- arg0 in rcx \--* BOX ref | |
[000088] -----+----- \--* LCL_VAR ref V11 tmp5 | |
***** BB16 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] -----+----- * RETURN int | |
[000176] -----+----- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE GS Cookie | |
No GS security needed | |
*************** Finishing PHASE GS Cookie [no changes] | |
*************** Starting PHASE Compute block weights | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 0.02 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 0 0.01 1 [000..01D)-> BB15(1) (always) i IBC | |
BB03 [0001] 1 BB15 1.67 167 [01D..03A)-> BB09(1) (always) i IBC bwd bwd-target | |
BB05 [0009] 1 BB09 1.66 166 [01D..01E)-> BB10(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.00 0 [01D..01E)-> BB10(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.00 0 [01D..01E)-> BB10(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 0.00 0 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB09 [0013] 2 BB03,BB08 1.67 167 [01D..01E)-> BB05(0.992),BB10(0.00812) ( cond ) i IBC bwd bwd-src | |
BB10 [0014] 4 BB05,BB06,BB07,BB09 1.67 167 [01D..03E)-> BB14(1) (always) i IBC bwd | |
BB12 [0002] 0 0.04 4 [03E..048)-> BB14(0.48),BB13(0.52) ( cond ) i IBC bwd | |
BB13 [0003] 1 BB12 0.02 2 [048..05E)-> BB14(1) (always) i IBC hascall gcsafe newobj bwd | |
BB14 [0004] 3 BB10,BB12,BB13 1.67 167 [05E..064)-> BB15(1) (always) i IBC bwd | |
BB15 [0005] 3 BB01,BB02,BB14 1.68 168 [064..06D)-> BB03(0.994),BB16(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB16 [0006] 1 BB15 0.01 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
We are using the Profile Weights and fgCalledCount is 1.680672 | |
*************** Finishing PHASE Compute block weights | |
Trees after Compute block weights | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 0 0.60 1 [000..01D)-> BB15(1) (always) i IBC | |
BB03 [0001] 1 BB15 99.41 167 [01D..03A)-> BB09(1) (always) i IBC bwd bwd-target | |
BB05 [0009] 1 BB09 98.65 166 [01D..01E)-> BB10(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB10(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB10(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 0.05 0 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB09 [0013] 2 BB03,BB08 99.45 167 [01D..01E)-> BB05(0.992),BB10(0.00812) ( cond ) i IBC bwd bwd-src | |
BB10 [0014] 4 BB05,BB06,BB07,BB09 99.41 167 [01D..03E)-> BB14(1) (always) i IBC bwd | |
BB12 [0002] 0 2.58 4 [03E..048)-> BB14(0.48),BB13(0.52) ( cond ) i IBC bwd | |
BB13 [0003] 1 BB12 1.34 2 [048..05E)-> BB14(1) (always) i IBC hascall gcsafe newobj bwd | |
BB14 [0004] 3 BB10,BB12,BB13 99.41 167 [05E..064)-> BB15(1) (always) i IBC bwd | |
BB15 [0005] 3 BB01,BB02,BB14 100 168 [064..06D)-> BB03(0.994),BB16(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB16 [0006] 1 BB15 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0007] [???..???) -> BB15(1) (always), preds={} succs={BB15} | |
------------ BB02 [0000] [000..01D) -> BB15(1) (always), preds={} succs={BB15} | |
***** BB02 [0000] | |
STMT00000 ( 0x000[E-] ... 0x001 ) | |
[000001] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000000] -----+----- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00001 ( 0x002[E-] ... 0x003 ) | |
[000003] DA---+----- * STORE_LCL_VAR int V01 loc0 | |
[000002] -----+----- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00002 ( 0x004[E-] ... 0x00D ) | |
[000005] DA---+----- * STORE_LCL_VAR double V04 loc3 | |
[000004] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
***** BB02 [0000] | |
STMT00003 ( 0x00E[E-] ... 0x017 ) | |
[000007] DA---+----- * STORE_LCL_VAR double V03 loc2 | |
[000006] -----+----- \--* CNS_DBL double 1.0000000000000000 | |
***** BB02 [0000] | |
STMT00004 ( 0x018[E-] ... 0x019 ) | |
[000009] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000008] -----+----- \--* CNS_INT int 1 | |
------------ BB03 [0001] [01D..03A) -> BB09(1) (always), preds={BB15} succs={BB09} | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000096] -----+----- \--* CNS_INT int 1 | |
------------ BB05 [0009] [01D..01E) -> BB10(0.9995009),BB06(0.0004990518) (cond), preds={BB09} succs={BB06,BB10} | |
***** BB05 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G+----- * STORE_LCL_VAR double V16 tmp10 | |
[000103] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DA---+----- * STORE_LCL_VAR double V13 tmp7 | |
[000160] -----+----- \--* SUB double | |
[000152] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000159] -----+----- \--* MUL double | |
[000153] -----+----- +--* LCL_VAR double V03 loc2 | |
[000158] -----+----- \--* SUB double | |
[000154] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000157] -----+----- \--* MUL double | |
[000155] -----+----- +--* LCL_VAR double V03 loc2 | |
[000156] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] -----+----- * JTRUE void | |
[000110] J----+-N--- \--* LT int | |
[000108] -----+----- +--* INTRINSIC double abs | |
[000107] -----+----- | \--* LCL_VAR double V13 tmp7 | |
[000109] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB06 [0010] [01D..01E) -> BB10(0),BB07(1) (cond), preds={BB05} succs={BB07,BB10} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DACXG+----- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --CXG+----- \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] -----+----- arg0 in mm0 \--* LCL_VAR double V03 loc2 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] -----+----- * JTRUE void | |
[000119] J----+-N--- \--* EQ int | |
[000117] -----+----- +--* LCL_VAR double V14 tmp8 | |
[000118] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB07 [0011] [01D..01E) -> BB10(0),BB08(1) (cond), preds={BB06} succs={BB08,BB10} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA---+----- * STORE_LCL_VAR double V15 tmp9 | |
[000123] -----+----- \--* DIV double | |
[000121] -----+----- +--* LCL_VAR double V13 tmp7 | |
[000122] -----+----- \--* LCL_VAR double V14 tmp8 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] DA--G+----- * STORE_LCL_VAR double V03 loc2 | |
[000129] ----G+----- \--* SUB double | |
[000127] -----+----- +--* LCL_VAR double V03 loc2 | |
[000128] -----+----- \--* LCL_VAR double V15 tmp9 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] -----+----- * JTRUE void | |
[000134] J----+-N--- \--* LT int | |
[000132] -----+----- +--* INTRINSIC double abs | |
[000131] -----+----- | \--* LCL_VAR double V15 tmp9 | |
[000133] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB08 [0012] [01D..01E) -> BB09(1) (always), preds={BB07} succs={BB09} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000138] -----+----- \--* ADD int | |
[000136] -----+----- +--* LCL_VAR int V12 tmp6 | |
[000137] -----+----- \--* CNS_INT int 1 | |
------------ BB09 [0013] [01D..01E) -> BB05(0.991882),BB10(0.008118008) (cond), preds={BB03,BB08} succs={BB10,BB05} | |
***** BB09 [0013] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000101] -----+----- * JTRUE void | |
[000100] J----+-N--- \--* LE int | |
[000098] -----+----- +--* LCL_VAR int V12 tmp6 | |
[000099] -----+----- \--* CNS_INT int 10 | |
------------ BB10 [0014] [01D..03E) -> BB14(1) (always), preds={BB05,BB06,BB07,BB09} succs={BB14} | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000141] -----+----- \--* CNS_INT int 2 | |
------------ BB12 [0002] [03E..048) -> BB14(0.48),BB13(0.52) (cond), preds={} succs={BB13,BB14} | |
***** BB12 [0002] | |
STMT00046 ( 0x03E[E-] ... ??? ) | |
[000173] DA---+----- * STORE_LCL_VAR double V17 tmp11 | |
[000028] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0002] | |
STMT00010 ( 0x03E[E-] ... ??? ) | |
[000031] DA---+----- * STORE_LCL_VAR double V04 loc3 | |
[000172] -----+----- \--* SUB double | |
[000164] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000171] -----+----- \--* MUL double | |
[000165] -----+----- +--* LCL_VAR double V03 loc2 | |
[000170] -----+----- \--* SUB double | |
[000166] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000169] -----+----- \--* MUL double | |
[000167] -----+----- +--* LCL_VAR double V03 loc2 | |
[000168] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0002] | |
STMT00011 ( 0x045[E-] ... 0x046 ) | |
[000035] -----+----- * JTRUE void | |
[000034] J----+-N--- \--* EQ int | |
[000032] -----+----- +--* LCL_VAR int V01 loc0 | |
[000033] -----+----- \--* CNS_INT int 0 | |
------------ BB13 [0003] [048..05E) -> BB14(1) (always), preds={BB12} succs={BB14} | |
***** BB13 [0003] | |
STMT00012 ( 0x048[E-] ... 0x059 ) | |
[000040] DAC--+----- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000038] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00013 ( ??? ... ??? ) | |
[000044] nA--G+----- * STOREIND double | |
[000043] -----+----- +--* ADD byref | |
[000041] -----+----- | +--* LCL_VAR ref V07 tmp1 | |
[000042] -----+----- | \--* CNS_INT long 8 | |
[000037] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB13 [0003] | |
STMT00014 ( ??? ... ??? ) | |
[000050] DAC--+----- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000048] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB13 [0003] | |
STMT00015 ( ??? ... ??? ) | |
[000054] nA--G+----- * STOREIND double | |
[000053] -----+----- +--* ADD byref | |
[000051] -----+----- | +--* LCL_VAR ref V08 tmp2 | |
[000052] -----+----- | \--* CNS_INT long 8 | |
[000047] -----+----- \--* LCL_VAR double V04 loc3 | |
***** BB13 [0003] | |
STMT00016 ( ??? ... ??? ) | |
[000057] --CXG+----- * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
( 9, 6) [000056] ----------- arg2 in r8 +--* BOX ref | |
( 3, 2) [000055] ----------- | \--* LCL_VAR ref V08 tmp2 | |
( 9, 6) [000046] ----------- arg1 in rdx +--* BOX ref | |
( 3, 2) [000045] ----------- | \--* LCL_VAR ref V07 tmp1 | |
[000175] H----+----- arg0 in rcx \--* CNS_INT(h) ref ' THE ROOT IS {0:e} F(ROOT) := {1:E} ' | |
------------ BB14 [0004] [05E..064) -> BB15(1) (always), preds={BB10,BB12,BB13} succs={BB15} | |
***** BB14 [0004] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000026] -----+----- \--* ADD int | |
[000024] -----+----- +--* LCL_VAR int V05 loc4 | |
[000025] -----+----- \--* CNS_INT int 1 | |
------------ BB15 [0005] [064..06D) -> BB03(0.99405),BB16(0.00595) (cond), preds={BB01,BB02,BB14} succs={BB16,BB03} | |
***** BB15 [0005] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
[000013] -----+----- * JTRUE void | |
[000012] J----+-N--- \--* LE int | |
[000010] -----+----- +--* LCL_VAR int V05 loc4 | |
[000011] -----+----- \--* CNS_INT int 0x4C4B400 | |
------------ BB16 [0006] [06D..090) (return), preds={BB15} succs={} | |
***** BB16 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC--+----- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB16 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G+----- * STOREIND int | |
[000064] -----+----- +--* ADD byref | |
[000062] -----+----- | +--* LCL_VAR ref V09 tmp3 | |
[000063] -----+----- | \--* CNS_INT long 8 | |
[000058] -----+----- \--* LCL_VAR int V02 loc1 | |
***** BB16 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] -----+----- arg0 in rcx \--* BOX ref | |
[000066] -----+----- \--* LCL_VAR ref V09 tmp3 | |
***** BB16 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC--+----- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G+----- * STOREIND double | |
[000075] -----+----- +--* ADD byref | |
[000073] -----+----- | +--* LCL_VAR ref V10 tmp4 | |
[000074] -----+----- | \--* CNS_INT long 8 | |
[000069] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB16 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] -----+----- arg0 in rcx \--* BOX ref | |
[000077] -----+----- \--* LCL_VAR ref V10 tmp4 | |
***** BB16 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC--+----- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB16 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G+----- * STOREIND double | |
[000086] -----+----- +--* ADD byref | |
[000084] -----+----- | +--* LCL_VAR ref V11 tmp5 | |
[000085] -----+----- | \--* CNS_INT long 8 | |
[000080] -----+----- \--* LCL_VAR double V04 loc3 | |
***** BB16 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] -----+----- arg0 in rcx \--* BOX ref | |
[000088] -----+----- \--* LCL_VAR ref V11 tmp5 | |
***** BB16 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] -----+----- * RETURN int | |
[000176] -----+----- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Create EH funclets | |
*************** Finishing PHASE Create EH funclets [no changes] | |
*************** Starting PHASE Invert loops | |
*************** Before renumbering the basic blocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 0 0.60 1 [000..01D)-> BB15(1) (always) i IBC | |
BB03 [0001] 1 BB15 99.41 167 [01D..03A)-> BB09(1) (always) i IBC bwd bwd-target | |
BB05 [0009] 1 BB09 98.65 166 [01D..01E)-> BB10(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB10(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB10(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 0.05 0 [01D..01E)-> BB09(1) (always) i IBC bwd | |
BB09 [0013] 2 BB03,BB08 99.45 167 [01D..01E)-> BB05(0.992),BB10(0.00812) ( cond ) i IBC bwd bwd-src | |
BB10 [0014] 4 BB05,BB06,BB07,BB09 99.41 167 [01D..03E)-> BB14(1) (always) i IBC bwd | |
BB12 [0002] 0 2.58 4 [03E..048)-> BB14(0.48),BB13(0.52) ( cond ) i IBC bwd | |
BB13 [0003] 1 BB12 1.34 2 [048..05E)-> BB14(1) (always) i IBC hascall gcsafe newobj bwd | |
BB14 [0004] 3 BB10,BB12,BB13 99.41 167 [05E..064)-> BB15(1) (always) i IBC bwd | |
BB15 [0005] 3 BB01,BB02,BB14 100 168 [064..06D)-> BB03(0.994),BB16(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB16 [0006] 1 BB15 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
Renumber BB05 to BB04 | |
Renumber BB06 to BB05 | |
Renumber BB07 to BB06 | |
Renumber BB08 to BB07 | |
Renumber BB09 to BB08 | |
Renumber BB10 to BB09 | |
Renumber BB12 to BB10 | |
Renumber BB13 to BB11 | |
Renumber BB14 to BB12 | |
Renumber BB15 to BB13 | |
Renumber BB16 to BB14 | |
*************** After renumbering the basic blocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1 2 [???..???)-> BB13(1) (always) i IBC internal | |
BB02 [0000] 0 0.60 1 [000..01D)-> BB13(1) (always) i IBC | |
BB03 [0001] 1 BB13 99.41 167 [01D..03A)-> BB08(1) (always) i IBC bwd bwd-target | |
BB04 [0009] 1 BB08 98.65 166 [01D..01E)-> BB09(1),BB05(0.000499) ( cond ) i IBC bwd bwd-target | |
BB05 [0010] 1 BB04 0.05 0 [01D..01E)-> BB09(0),BB06(1) ( cond ) i IBC hascall gcsafe bwd | |
BB06 [0011] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0012] 1 BB06 0.05 0 [01D..01E)-> BB08(1) (always) i IBC bwd | |
BB08 [0013] 2 BB03,BB07 99.45 167 [01D..01E)-> BB04(0.992),BB09(0.00812) ( cond ) i IBC bwd bwd-src | |
BB09 [0014] 4 BB04,BB05,BB06,BB08 99.41 167 [01D..03E)-> BB12(1) (always) i IBC bwd | |
BB10 [0002] 0 2.58 4 [03E..048)-> BB12(0.48),BB11(0.52) ( cond ) i IBC bwd | |
BB11 [0003] 1 BB10 1.34 2 [048..05E)-> BB12(1) (always) i IBC hascall gcsafe newobj bwd | |
BB12 [0004] 3 BB09,BB10,BB11 99.41 167 [05E..064)-> BB13(1) (always) i IBC bwd | |
BB13 [0005] 3 BB01,BB02,BB12 100 168 [064..06D)-> BB03(0.994),BB14(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB14 [0006] 1 BB13 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
New BlockSet epoch 4, # of blocks (including unused BB00): 15, bitset array size: 1 (short) | |
Matched flow pattern for loop inversion: block BB02 bTop BB03 bTest BB13 | |
Duplication of loop condition [000013] is performed, because the cost of duplication (9) is less or equal than 136, | |
loopIterations = 167.067, optInvertTotalInfo.sharedStaticHelperCount >= 0, validProfileWeights = true | |
New Basic Block BB15 [0018] created. | |
setting likelihood of BB15 -> BB14 to 0.00595 | |
setting likelihood of BB15 -> BB03 to 0.99405 | |
Redirecting non-loop BB01 -> BB13 to BB01 -> BB15 | |
Reducing profile weight of BB13 from 168.0672 to 167.0672 | |
Duplicated loop exit block at BB15 for loop (BB03 - BB13) | |
Estimated code size expansion is 9 | |
------------ BB15 [0018] [???..???) -> BB14(0.00595),BB03(0.99405) (cond), preds={BB01,BB02} succs={BB03,BB14} | |
***** BB15 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
( 7, 9) [000177] ----------- * JTRUE void | |
( 5, 7) [000178] J------N--- \--* GT int | |
( 3, 2) [000179] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB13 [0005] [064..06D) -> BB03(0.99405),BB14(0.00595) (cond), preds={BB12} succs={BB14,BB03} | |
***** BB13 [0005] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
( 7, 9) [000013] ----------- * JTRUE void | |
( 5, 7) [000012] J------N--- \--* LE int | |
( 3, 2) [000010] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 | |
Matched flow pattern for loop inversion: block BB03 bTop BB04 bTest BB08 | |
Profile weights locally inconsistent: block 167.0672, next 165.793, test 167.15 | |
Duplication of loop condition [000101] is performed, because the cost of duplication (6) is less or equal than 34, | |
loopIterations = 8.000, optInvertTotalInfo.sharedStaticHelperCount >= 0, validProfileWeights = false | |
New Basic Block BB16 [0019] created. | |
setting likelihood of BB16 -> BB09 to 0.008118008 | |
setting likelihood of BB16 -> BB04 to 0.991882 | |
Duplicated loop exit block at BB16 for loop (BB04 - BB08) | |
Estimated code size expansion is 6 | |
------------ BB16 [0019] [???..???) -> BB09(0.008118008),BB04(0.991882) (cond), preds={BB03} succs={BB04,BB09} | |
***** BB16 [0019] | |
STMT00048 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000181] ----------- * JTRUE void | |
( 5, 4) [000182] J------N--- \--* GT int | |
( 3, 2) [000183] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000184] ----------- \--* CNS_INT int 10 | |
------------ BB08 [0013] [01D..01E) -> BB04(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB04} | |
***** BB08 [0013] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000101] ----------- * JTRUE void | |
( 5, 4) [000100] J------N--- \--* LE int | |
( 3, 2) [000098] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000099] ----------- \--* CNS_INT int 10 | |
*************** Finishing PHASE Invert loops | |
Trees after Invert loops | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 0 0.60 1 [000..01D)-> BB15(1) (always) i IBC | |
BB15 [0018] 2 BB01,BB02 0.60 1 [???..???)-> BB14(0.00595),BB03(0.994) ( cond ) IBC internal | |
BB03 [0001] 2 BB13,BB15 99.41 167 [01D..03A)-> BB16(1) (always) i IBC bwd bwd-target | |
BB16 [0019] 1 BB03 99.41 167 [???..???)-> BB09(0.00812),BB04(0.992) ( cond ) IBC internal | |
BB04 [0009] 2 BB08,BB16 98.65 166 [01D..01E)-> BB09(1),BB05(0.000499) ( cond ) i IBC bwd bwd-target | |
BB05 [0010] 1 BB04 0.05 0 [01D..01E)-> BB09(0),BB06(1) ( cond ) i IBC hascall gcsafe bwd | |
BB06 [0011] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0012] 1 BB06 0.05 0 [01D..01E)-> BB08(1) (always) i IBC bwd | |
BB08 [0013] 1 BB07 99.45 167 [01D..01E)-> BB04(0.992),BB09(0.00812) ( cond ) i IBC bwd bwd-src | |
BB09 [0014] 5 BB04,BB05,BB06,BB08,BB16 99.41 167 [01D..03E)-> BB12(1) (always) i IBC bwd | |
BB10 [0002] 0 2.58 4 [03E..048)-> BB12(0.48),BB11(0.52) ( cond ) i IBC bwd | |
BB11 [0003] 1 BB10 1.34 2 [048..05E)-> BB12(1) (always) i IBC hascall gcsafe newobj bwd | |
BB12 [0004] 3 BB09,BB10,BB11 99.41 167 [05E..064)-> BB13(1) (always) i IBC bwd | |
BB13 [0005] 1 BB12 99.41 167 [064..06D)-> BB03(0.994),BB14(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB14 [0006] 2 BB13,BB15 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0007] [???..???) -> BB15(1) (always), preds={} succs={BB15} | |
------------ BB02 [0000] [000..01D) -> BB15(1) (always), preds={} succs={BB15} | |
***** BB02 [0000] | |
STMT00000 ( 0x000[E-] ... 0x001 ) | |
[000001] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000000] -----+----- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00001 ( 0x002[E-] ... 0x003 ) | |
[000003] DA---+----- * STORE_LCL_VAR int V01 loc0 | |
[000002] -----+----- \--* CNS_INT int 0 | |
***** BB02 [0000] | |
STMT00002 ( 0x004[E-] ... 0x00D ) | |
[000005] DA---+----- * STORE_LCL_VAR double V04 loc3 | |
[000004] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
***** BB02 [0000] | |
STMT00003 ( 0x00E[E-] ... 0x017 ) | |
[000007] DA---+----- * STORE_LCL_VAR double V03 loc2 | |
[000006] -----+----- \--* CNS_DBL double 1.0000000000000000 | |
***** BB02 [0000] | |
STMT00004 ( 0x018[E-] ... 0x019 ) | |
[000009] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000008] -----+----- \--* CNS_INT int 1 | |
------------ BB15 [0018] [???..???) -> BB14(0.00595),BB03(0.99405) (cond), preds={BB01,BB02} succs={BB03,BB14} | |
***** BB15 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
( 7, 9) [000177] ----------- * JTRUE void | |
( 5, 7) [000178] J------N--- \--* GT int | |
( 3, 2) [000179] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB03 [0001] [01D..03A) -> BB16(1) (always), preds={BB13,BB15} succs={BB16} | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000096] -----+----- \--* CNS_INT int 1 | |
------------ BB16 [0019] [???..???) -> BB09(0.008118008),BB04(0.991882) (cond), preds={BB03} succs={BB04,BB09} | |
***** BB16 [0019] | |
STMT00048 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000181] ----------- * JTRUE void | |
( 5, 4) [000182] J------N--- \--* GT int | |
( 3, 2) [000183] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000184] ----------- \--* CNS_INT int 10 | |
------------ BB04 [0009] [01D..01E) -> BB09(0.9995009),BB05(0.0004990518) (cond), preds={BB08,BB16} succs={BB05,BB09} | |
***** BB04 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G+----- * STORE_LCL_VAR double V16 tmp10 | |
[000103] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB04 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DA---+----- * STORE_LCL_VAR double V13 tmp7 | |
[000160] -----+----- \--* SUB double | |
[000152] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000159] -----+----- \--* MUL double | |
[000153] -----+----- +--* LCL_VAR double V03 loc2 | |
[000158] -----+----- \--* SUB double | |
[000154] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000157] -----+----- \--* MUL double | |
[000155] -----+----- +--* LCL_VAR double V03 loc2 | |
[000156] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB04 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] -----+----- * JTRUE void | |
[000110] J----+-N--- \--* LT int | |
[000108] -----+----- +--* INTRINSIC double abs | |
[000107] -----+----- | \--* LCL_VAR double V13 tmp7 | |
[000109] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB05 [0010] [01D..01E) -> BB09(0),BB06(1) (cond), preds={BB04} succs={BB06,BB09} | |
***** BB05 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DACXG+----- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --CXG+----- \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] -----+----- arg0 in mm0 \--* LCL_VAR double V03 loc2 | |
***** BB05 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] -----+----- * JTRUE void | |
[000119] J----+-N--- \--* EQ int | |
[000117] -----+----- +--* LCL_VAR double V14 tmp8 | |
[000118] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB06 [0011] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
***** BB06 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA---+----- * STORE_LCL_VAR double V15 tmp9 | |
[000123] -----+----- \--* DIV double | |
[000121] -----+----- +--* LCL_VAR double V13 tmp7 | |
[000122] -----+----- \--* LCL_VAR double V14 tmp8 | |
***** BB06 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] DA--G+----- * STORE_LCL_VAR double V03 loc2 | |
[000129] ----G+----- \--* SUB double | |
[000127] -----+----- +--* LCL_VAR double V03 loc2 | |
[000128] -----+----- \--* LCL_VAR double V15 tmp9 | |
***** BB06 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] -----+----- * JTRUE void | |
[000134] J----+-N--- \--* LT int | |
[000132] -----+----- +--* INTRINSIC double abs | |
[000131] -----+----- | \--* LCL_VAR double V15 tmp9 | |
[000133] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB07 [0012] [01D..01E) -> BB08(1) (always), preds={BB06} succs={BB08} | |
***** BB07 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000138] -----+----- \--* ADD int | |
[000136] -----+----- +--* LCL_VAR int V12 tmp6 | |
[000137] -----+----- \--* CNS_INT int 1 | |
------------ BB08 [0013] [01D..01E) -> BB04(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB04} | |
***** BB08 [0013] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000101] ----------- * JTRUE void | |
( 5, 4) [000100] J------N--- \--* LE int | |
( 3, 2) [000098] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000099] ----------- \--* CNS_INT int 10 | |
------------ BB09 [0014] [01D..03E) -> BB12(1) (always), preds={BB04,BB05,BB06,BB08,BB16} succs={BB12} | |
***** BB09 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000141] -----+----- \--* CNS_INT int 2 | |
------------ BB10 [0002] [03E..048) -> BB12(0.48),BB11(0.52) (cond), preds={} succs={BB11,BB12} | |
***** BB10 [0002] | |
STMT00046 ( 0x03E[E-] ... ??? ) | |
[000173] DA---+----- * STORE_LCL_VAR double V17 tmp11 | |
[000028] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB10 [0002] | |
STMT00010 ( 0x03E[E-] ... ??? ) | |
[000031] DA---+----- * STORE_LCL_VAR double V04 loc3 | |
[000172] -----+----- \--* SUB double | |
[000164] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000171] -----+----- \--* MUL double | |
[000165] -----+----- +--* LCL_VAR double V03 loc2 | |
[000170] -----+----- \--* SUB double | |
[000166] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000169] -----+----- \--* MUL double | |
[000167] -----+----- +--* LCL_VAR double V03 loc2 | |
[000168] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB10 [0002] | |
STMT00011 ( 0x045[E-] ... 0x046 ) | |
[000035] -----+----- * JTRUE void | |
[000034] J----+-N--- \--* EQ int | |
[000032] -----+----- +--* LCL_VAR int V01 loc0 | |
[000033] -----+----- \--* CNS_INT int 0 | |
------------ BB11 [0003] [048..05E) -> BB12(1) (always), preds={BB10} succs={BB12} | |
***** BB11 [0003] | |
STMT00012 ( 0x048[E-] ... 0x059 ) | |
[000040] DAC--+----- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000038] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB11 [0003] | |
STMT00013 ( ??? ... ??? ) | |
[000044] nA--G+----- * STOREIND double | |
[000043] -----+----- +--* ADD byref | |
[000041] -----+----- | +--* LCL_VAR ref V07 tmp1 | |
[000042] -----+----- | \--* CNS_INT long 8 | |
[000037] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB11 [0003] | |
STMT00014 ( ??? ... ??? ) | |
[000050] DAC--+----- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000048] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB11 [0003] | |
STMT00015 ( ??? ... ??? ) | |
[000054] nA--G+----- * STOREIND double | |
[000053] -----+----- +--* ADD byref | |
[000051] -----+----- | +--* LCL_VAR ref V08 tmp2 | |
[000052] -----+----- | \--* CNS_INT long 8 | |
[000047] -----+----- \--* LCL_VAR double V04 loc3 | |
***** BB11 [0003] | |
STMT00016 ( ??? ... ??? ) | |
[000057] --CXG+----- * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
( 9, 6) [000056] ----------- arg2 in r8 +--* BOX ref | |
( 3, 2) [000055] ----------- | \--* LCL_VAR ref V08 tmp2 | |
( 9, 6) [000046] ----------- arg1 in rdx +--* BOX ref | |
( 3, 2) [000045] ----------- | \--* LCL_VAR ref V07 tmp1 | |
[000175] H----+----- arg0 in rcx \--* CNS_INT(h) ref ' THE ROOT IS {0:e} F(ROOT) := {1:E} ' | |
------------ BB12 [0004] [05E..064) -> BB13(1) (always), preds={BB09,BB10,BB11} succs={BB13} | |
***** BB12 [0004] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000026] -----+----- \--* ADD int | |
[000024] -----+----- +--* LCL_VAR int V05 loc4 | |
[000025] -----+----- \--* CNS_INT int 1 | |
------------ BB13 [0005] [064..06D) -> BB03(0.99405),BB14(0.00595) (cond), preds={BB12} succs={BB14,BB03} | |
***** BB13 [0005] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
( 7, 9) [000013] ----------- * JTRUE void | |
( 5, 7) [000012] J------N--- \--* LE int | |
( 3, 2) [000010] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB14 [0006] [06D..090) (return), preds={BB13,BB15} succs={} | |
***** BB14 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC--+----- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB14 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G+----- * STOREIND int | |
[000064] -----+----- +--* ADD byref | |
[000062] -----+----- | +--* LCL_VAR ref V09 tmp3 | |
[000063] -----+----- | \--* CNS_INT long 8 | |
[000058] -----+----- \--* LCL_VAR int V02 loc1 | |
***** BB14 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] -----+----- arg0 in rcx \--* BOX ref | |
[000066] -----+----- \--* LCL_VAR ref V09 tmp3 | |
***** BB14 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC--+----- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB14 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G+----- * STOREIND double | |
[000075] -----+----- +--* ADD byref | |
[000073] -----+----- | +--* LCL_VAR ref V10 tmp4 | |
[000074] -----+----- | \--* CNS_INT long 8 | |
[000069] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB14 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] -----+----- arg0 in rcx \--* BOX ref | |
[000077] -----+----- \--* LCL_VAR ref V10 tmp4 | |
***** BB14 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC--+----- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB14 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G+----- * STOREIND double | |
[000086] -----+----- +--* ADD byref | |
[000084] -----+----- | +--* LCL_VAR ref V11 tmp5 | |
[000085] -----+----- | \--* CNS_INT long 8 | |
[000080] -----+----- \--* LCL_VAR double V04 loc3 | |
***** BB14 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] -----+----- arg0 in rcx \--* BOX ref | |
[000088] -----+----- \--* LCL_VAR ref V11 tmp5 | |
***** BB14 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] -----+----- * RETURN int | |
[000176] -----+----- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Optimize control flow | |
*************** In fgUpdateFlowGraph() | |
Before updating the flow graph: | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0007] 1 1 2 [???..???)-> BB15(1) (always) i IBC internal | |
BB02 [0000] 0 0.60 1 [000..01D)-> BB15(1) (always) i IBC | |
BB15 [0018] 2 BB01,BB02 0.60 1 [???..???)-> BB14(0.00595),BB03(0.994) ( cond ) IBC internal | |
BB03 [0001] 2 BB13,BB15 99.41 167 [01D..03A)-> BB16(1) (always) i IBC bwd bwd-target | |
BB16 [0019] 1 BB03 99.41 167 [???..???)-> BB09(0.00812),BB04(0.992) ( cond ) IBC internal | |
BB04 [0009] 2 BB08,BB16 98.65 166 [01D..01E)-> BB09(1),BB05(0.000499) ( cond ) i IBC bwd bwd-target | |
BB05 [0010] 1 BB04 0.05 0 [01D..01E)-> BB09(0),BB06(1) ( cond ) i IBC hascall gcsafe bwd | |
BB06 [0011] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0012] 1 BB06 0.05 0 [01D..01E)-> BB08(1) (always) i IBC bwd | |
BB08 [0013] 1 BB07 99.45 167 [01D..01E)-> BB04(0.992),BB09(0.00812) ( cond ) i IBC bwd bwd-src | |
BB09 [0014] 5 BB04,BB05,BB06,BB08,BB16 99.41 167 [01D..03E)-> BB12(1) (always) i IBC bwd | |
BB10 [0002] 0 2.58 4 [03E..048)-> BB12(0.48),BB11(0.52) ( cond ) i IBC bwd | |
BB11 [0003] 1 BB10 1.34 2 [048..05E)-> BB12(1) (always) i IBC hascall gcsafe newobj bwd | |
BB12 [0004] 3 BB09,BB10,BB11 99.41 167 [05E..064)-> BB13(1) (always) i IBC bwd | |
BB13 [0005] 1 BB12 99.41 167 [064..06D)-> BB03(0.994),BB14(0.00595) ( cond ) i IBC bwd bwd-src osr-entry | |
BB14 [0006] 2 BB13,BB15 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
Considering uncond to cond BB01 -> BB15 | |
Considering uncond to cond BB02 -> BB15 | |
Deferring: BB15 --> BB03; latter looks like loop top | |
fgRemoveBlock BB02, unreachable=true | |
Removing unreachable BB02 | |
removing useless STMT00000 ( 0x000[E-] ... 0x001 ) | |
[000001] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000000] -----+----- \--* CNS_INT int 0 | |
from BB02 | |
removing useless STMT00001 ( 0x002[E-] ... 0x003 ) | |
[000003] DA---+----- * STORE_LCL_VAR int V01 loc0 | |
[000002] -----+----- \--* CNS_INT int 0 | |
from BB02 | |
removing useless STMT00002 ( 0x004[E-] ... 0x00D ) | |
[000005] DA---+----- * STORE_LCL_VAR double V04 loc3 | |
[000004] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
from BB02 | |
removing useless STMT00003 ( 0x00E[E-] ... 0x017 ) | |
[000007] DA---+----- * STORE_LCL_VAR double V03 loc2 | |
[000006] -----+----- \--* CNS_DBL double 1.0000000000000000 | |
from BB02 | |
removing useless STMT00004 ( 0x018[E-] ... 0x019 ) | |
[000009] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000008] -----+----- \--* CNS_INT int 1 | |
from BB02 | |
BB02 becomes empty | |
Considering uncond to cond BB03 -> BB16 | |
Compacting BB16 into BB03: | |
*************** In fgDebugCheckBBlist | |
Considering uncond to cond BB07 -> BB08 | |
Compacting BB08 into BB07: | |
*************** In fgDebugCheckBBlist | |
Considering uncond to cond BB09 -> BB12 | |
fgRemoveBlock BB10, unreachable=true | |
Removing unreachable BB10 | |
removing useless STMT00046 ( 0x03E[E-] ... ??? ) | |
[000173] DA---+----- * STORE_LCL_VAR double V17 tmp11 | |
[000028] -----+----- \--* LCL_VAR double V03 loc2 | |
from BB10 | |
removing useless STMT00010 ( 0x03E[E-] ... ??? ) | |
[000031] DA---+----- * STORE_LCL_VAR double V04 loc3 | |
[000172] -----+----- \--* SUB double | |
[000164] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000171] -----+----- \--* MUL double | |
[000165] -----+----- +--* LCL_VAR double V03 loc2 | |
[000170] -----+----- \--* SUB double | |
[000166] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000169] -----+----- \--* MUL double | |
[000167] -----+----- +--* LCL_VAR double V03 loc2 | |
[000168] -----+----- \--* LCL_VAR double V03 loc2 | |
from BB10 | |
removing useless STMT00011 ( 0x045[E-] ... 0x046 ) | |
[000035] -----+----- * JTRUE void | |
[000034] J----+-N--- \--* EQ int | |
[000032] -----+----- +--* LCL_VAR int V01 loc0 | |
[000033] -----+----- \--* CNS_INT int 0 | |
from BB10 | |
BB10 becomes empty | |
Considering uncond to cond BB11 -> BB12 | |
fgRemoveBlock BB11, unreachable=true | |
Removing unreachable BB11 | |
removing useless STMT00012 ( 0x048[E-] ... 0x059 ) | |
[000040] DAC--+----- * STORE_LCL_VAR ref V07 tmp1 | |
[000039] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000038] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
from BB11 | |
removing useless STMT00013 ( ??? ... ??? ) | |
[000044] nA--G+----- * STOREIND double | |
[000043] -----+----- +--* ADD byref | |
[000041] -----+----- | +--* LCL_VAR ref V07 tmp1 | |
[000042] -----+----- | \--* CNS_INT long 8 | |
[000037] -----+----- \--* LCL_VAR double V03 loc2 | |
from BB11 | |
removing useless STMT00014 ( ??? ... ??? ) | |
[000050] DAC--+----- * STORE_LCL_VAR ref V08 tmp2 | |
[000049] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000048] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
from BB11 | |
removing useless STMT00015 ( ??? ... ??? ) | |
[000054] nA--G+----- * STOREIND double | |
[000053] -----+----- +--* ADD byref | |
[000051] -----+----- | +--* LCL_VAR ref V08 tmp2 | |
[000052] -----+----- | \--* CNS_INT long 8 | |
[000047] -----+----- \--* LCL_VAR double V04 loc3 | |
from BB11 | |
removing useless STMT00016 ( ??? ... ??? ) | |
[000057] --CXG+----- * CALL void System.Console:WriteLine(System.String,System.Object,System.Object) | |
( 9, 6) [000056] ----------- arg2 in r8 +--* BOX ref | |
( 3, 2) [000055] ----------- | \--* LCL_VAR ref V08 tmp2 | |
( 9, 6) [000046] ----------- arg1 in rdx +--* BOX ref | |
( 3, 2) [000045] ----------- | \--* LCL_VAR ref V07 tmp1 | |
[000175] H----+----- arg0 in rcx \--* CNS_INT(h) ref ' THE ROOT IS {0:e} F(ROOT) := {1:E} ' | |
from BB11 | |
BB11 becomes empty | |
Considering uncond to cond BB12 -> BB13 | |
Compacting BB13 into BB12: | |
*************** In fgDebugCheckBBlist | |
Considering uncond to cond BB01 -> BB15 | |
fgRemoveBlock BB01, unreachable=false | |
Removing empty BB01 | |
Unlinking scratch BB01 | |
Considering uncond to cond BB09 -> BB12 | |
Compacting BB12 into BB09: | |
*************** In fgDebugCheckBBlist | |
After updating the flow graph: | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB15 [0018] 1 0.60 1 [???..???)-> BB14(0.00595),BB03(0.994) ( cond ) IBC internal | |
BB03 [0001] 2 BB09,BB15 99.41 167 [01D..03A)-> BB09(0.00812),BB04(0.992) ( cond ) i IBC bwd bwd-target | |
BB04 [0009] 2 BB03,BB07 98.65 166 [01D..01E)-> BB09(1),BB05(0.000499) ( cond ) i IBC bwd bwd-target | |
BB05 [0010] 1 BB04 0.05 0 [01D..01E)-> BB09(0),BB06(1) ( cond ) i IBC hascall gcsafe bwd | |
BB06 [0011] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0012] 1 BB06 99.45 167 [01D..01E)-> BB04(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0014] 5 BB03,BB04,BB05,BB06,BB07 99.41 167 [01D..06D)-> BB03(0.994),BB14(0.00595) ( cond ) i IBC bwd | |
BB14 [0006] 2 BB09,BB15 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
*************** In fgDebugCheckBBlist | |
*************** In fgExpandRarelyRunBlocks() | |
*************** In fgReorderBlocks() | |
Initial BasicBlocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB15 [0018] 1 0.60 1 [???..???)-> BB14(0.00595),BB03(0.994) ( cond ) IBC internal | |
BB03 [0001] 2 BB09,BB15 99.41 167 [01D..03A)-> BB09(0.00812),BB04(0.992) ( cond ) i IBC bwd bwd-target | |
BB04 [0009] 2 BB03,BB07 98.65 166 [01D..01E)-> BB09(1),BB05(0.000499) ( cond ) i IBC bwd bwd-target | |
BB05 [0010] 1 BB04 0.05 0 [01D..01E)-> BB09(0),BB06(1) ( cond ) i IBC hascall gcsafe bwd | |
BB06 [0011] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0012] 1 BB06 99.45 167 [01D..01E)-> BB04(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0014] 5 BB03,BB04,BB05,BB06,BB07 99.41 167 [01D..06D)-> BB03(0.994),BB14(0.00595) ( cond ) i IBC bwd | |
BB14 [0006] 2 BB09,BB15 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Finishing PHASE Optimize control flow | |
Trees after Optimize control flow | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB15 [0018] 1 0.60 1 [???..???)-> BB14(0.00595),BB03(0.994) ( cond ) IBC internal | |
BB03 [0001] 2 BB09,BB15 99.41 167 [01D..03A)-> BB09(0.00812),BB04(0.992) ( cond ) i IBC bwd bwd-target | |
BB04 [0009] 2 BB03,BB07 98.65 166 [01D..01E)-> BB09(1),BB05(0.000499) ( cond ) i IBC bwd bwd-target | |
BB05 [0010] 1 BB04 0.05 0 [01D..01E)-> BB09(0),BB06(1) ( cond ) i IBC hascall gcsafe bwd | |
BB06 [0011] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0012] 1 BB06 99.45 167 [01D..01E)-> BB04(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0014] 5 BB03,BB04,BB05,BB06,BB07 99.41 167 [01D..06D)-> BB03(0.994),BB14(0.00595) ( cond ) i IBC bwd | |
BB14 [0006] 2 BB09,BB15 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB15 [0018] [???..???) -> BB14(0.00595),BB03(0.99405) (cond), preds={} succs={BB03,BB14} | |
***** BB15 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
( 7, 9) [000177] ----------- * JTRUE void | |
( 5, 7) [000178] J------N--- \--* GT int | |
( 3, 2) [000179] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB03 [0001] [01D..03A) -> BB09(0.008118008),BB04(0.991882) (cond), preds={BB09,BB15} succs={BB04,BB09} | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000096] -----+----- \--* CNS_INT int 1 | |
***** BB03 [0001] | |
STMT00048 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000181] ----------- * JTRUE void | |
( 5, 4) [000182] J------N--- \--* GT int | |
( 3, 2) [000183] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000184] ----------- \--* CNS_INT int 10 | |
------------ BB04 [0009] [01D..01E) -> BB09(0.9995009),BB05(0.0004990518) (cond), preds={BB03,BB07} succs={BB05,BB09} | |
***** BB04 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G+----- * STORE_LCL_VAR double V16 tmp10 | |
[000103] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB04 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DA---+----- * STORE_LCL_VAR double V13 tmp7 | |
[000160] -----+----- \--* SUB double | |
[000152] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000159] -----+----- \--* MUL double | |
[000153] -----+----- +--* LCL_VAR double V03 loc2 | |
[000158] -----+----- \--* SUB double | |
[000154] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000157] -----+----- \--* MUL double | |
[000155] -----+----- +--* LCL_VAR double V03 loc2 | |
[000156] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB04 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] -----+----- * JTRUE void | |
[000110] J----+-N--- \--* LT int | |
[000108] -----+----- +--* INTRINSIC double abs | |
[000107] -----+----- | \--* LCL_VAR double V13 tmp7 | |
[000109] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB05 [0010] [01D..01E) -> BB09(0),BB06(1) (cond), preds={BB04} succs={BB06,BB09} | |
***** BB05 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DACXG+----- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --CXG+----- \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] -----+----- arg0 in mm0 \--* LCL_VAR double V03 loc2 | |
***** BB05 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] -----+----- * JTRUE void | |
[000119] J----+-N--- \--* EQ int | |
[000117] -----+----- +--* LCL_VAR double V14 tmp8 | |
[000118] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB06 [0011] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
***** BB06 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA---+----- * STORE_LCL_VAR double V15 tmp9 | |
[000123] -----+----- \--* DIV double | |
[000121] -----+----- +--* LCL_VAR double V13 tmp7 | |
[000122] -----+----- \--* LCL_VAR double V14 tmp8 | |
***** BB06 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] DA--G+----- * STORE_LCL_VAR double V03 loc2 | |
[000129] ----G+----- \--* SUB double | |
[000127] -----+----- +--* LCL_VAR double V03 loc2 | |
[000128] -----+----- \--* LCL_VAR double V15 tmp9 | |
***** BB06 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] -----+----- * JTRUE void | |
[000134] J----+-N--- \--* LT int | |
[000132] -----+----- +--* INTRINSIC double abs | |
[000131] -----+----- | \--* LCL_VAR double V15 tmp9 | |
[000133] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB07 [0012] [01D..01E) -> BB04(0.991882),BB09(0.008118008) (cond), preds={BB06} succs={BB09,BB04} | |
***** BB07 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000138] -----+----- \--* ADD int | |
[000136] -----+----- +--* LCL_VAR int V12 tmp6 | |
[000137] -----+----- \--* CNS_INT int 1 | |
***** BB07 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000101] ----------- * JTRUE void | |
( 5, 4) [000100] J------N--- \--* LE int | |
( 3, 2) [000098] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000099] ----------- \--* CNS_INT int 10 | |
------------ BB09 [0014] [01D..06D) -> BB03(0.99405),BB14(0.00595) (cond), preds={BB03,BB04,BB05,BB06,BB07} succs={BB14,BB03} | |
***** BB09 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000141] -----+----- \--* CNS_INT int 2 | |
***** BB09 [0014] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000026] -----+----- \--* ADD int | |
[000024] -----+----- +--* LCL_VAR int V05 loc4 | |
[000025] -----+----- \--* CNS_INT int 1 | |
***** BB09 [0014] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
( 7, 9) [000013] ----------- * JTRUE void | |
( 5, 7) [000012] J------N--- \--* LE int | |
( 3, 2) [000010] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB14 [0006] [06D..090) (return), preds={BB09,BB15} succs={} | |
***** BB14 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC--+----- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB14 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G+----- * STOREIND int | |
[000064] -----+----- +--* ADD byref | |
[000062] -----+----- | +--* LCL_VAR ref V09 tmp3 | |
[000063] -----+----- | \--* CNS_INT long 8 | |
[000058] -----+----- \--* LCL_VAR int V02 loc1 | |
***** BB14 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] -----+----- arg0 in rcx \--* BOX ref | |
[000066] -----+----- \--* LCL_VAR ref V09 tmp3 | |
***** BB14 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC--+----- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB14 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G+----- * STOREIND double | |
[000075] -----+----- +--* ADD byref | |
[000073] -----+----- | +--* LCL_VAR ref V10 tmp4 | |
[000074] -----+----- | \--* CNS_INT long 8 | |
[000069] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB14 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] -----+----- arg0 in rcx \--* BOX ref | |
[000077] -----+----- \--* LCL_VAR ref V10 tmp4 | |
***** BB14 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC--+----- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB14 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G+----- * STOREIND double | |
[000086] -----+----- +--* ADD byref | |
[000084] -----+----- | +--* LCL_VAR ref V11 tmp5 | |
[000085] -----+----- | \--* CNS_INT long 8 | |
[000080] -----+----- \--* LCL_VAR double V04 loc3 | |
***** BB14 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] -----+----- arg0 in rcx \--* BOX ref | |
[000088] -----+----- \--* LCL_VAR ref V11 tmp5 | |
***** BB14 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] -----+----- * RETURN int | |
[000176] -----+----- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Post-morph head and tail merge | |
*************** Finishing PHASE Post-morph head and tail merge | |
Trees after Post-morph head and tail merge | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB15 [0018] 1 0.60 1 [???..???)-> BB14(0.00595),BB03(0.994) ( cond ) IBC internal | |
BB03 [0001] 2 BB09,BB15 99.41 167 [01D..03A)-> BB09(0.00812),BB04(0.992) ( cond ) i IBC bwd bwd-target | |
BB04 [0009] 2 BB03,BB07 98.65 166 [01D..01E)-> BB09(1),BB05(0.000499) ( cond ) i IBC bwd bwd-target | |
BB05 [0010] 1 BB04 0.05 0 [01D..01E)-> BB09(0),BB06(1) ( cond ) i IBC hascall gcsafe bwd | |
BB06 [0011] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0012] 1 BB06 99.45 167 [01D..01E)-> BB04(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0014] 5 BB03,BB04,BB05,BB06,BB07 99.41 167 [01D..06D)-> BB03(0.994),BB14(0.00595) ( cond ) i IBC bwd | |
BB14 [0006] 2 BB09,BB15 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB15 [0018] [???..???) -> BB14(0.00595),BB03(0.99405) (cond), preds={} succs={BB03,BB14} | |
***** BB15 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
( 7, 9) [000177] ----------- * JTRUE void | |
( 5, 7) [000178] J------N--- \--* GT int | |
( 3, 2) [000179] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB03 [0001] [01D..03A) -> BB09(0.008118008),BB04(0.991882) (cond), preds={BB09,BB15} succs={BB04,BB09} | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000096] -----+----- \--* CNS_INT int 1 | |
***** BB03 [0001] | |
STMT00048 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000181] ----------- * JTRUE void | |
( 5, 4) [000182] J------N--- \--* GT int | |
( 3, 2) [000183] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000184] ----------- \--* CNS_INT int 10 | |
------------ BB04 [0009] [01D..01E) -> BB09(0.9995009),BB05(0.0004990518) (cond), preds={BB03,BB07} succs={BB05,BB09} | |
***** BB04 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G+----- * STORE_LCL_VAR double V16 tmp10 | |
[000103] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB04 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DA---+----- * STORE_LCL_VAR double V13 tmp7 | |
[000160] -----+----- \--* SUB double | |
[000152] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000159] -----+----- \--* MUL double | |
[000153] -----+----- +--* LCL_VAR double V03 loc2 | |
[000158] -----+----- \--* SUB double | |
[000154] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000157] -----+----- \--* MUL double | |
[000155] -----+----- +--* LCL_VAR double V03 loc2 | |
[000156] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB04 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] -----+----- * JTRUE void | |
[000110] J----+-N--- \--* LT int | |
[000108] -----+----- +--* INTRINSIC double abs | |
[000107] -----+----- | \--* LCL_VAR double V13 tmp7 | |
[000109] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB05 [0010] [01D..01E) -> BB09(0),BB06(1) (cond), preds={BB04} succs={BB06,BB09} | |
***** BB05 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DACXG+----- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --CXG+----- \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] -----+----- arg0 in mm0 \--* LCL_VAR double V03 loc2 | |
***** BB05 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] -----+----- * JTRUE void | |
[000119] J----+-N--- \--* EQ int | |
[000117] -----+----- +--* LCL_VAR double V14 tmp8 | |
[000118] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB06 [0011] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
***** BB06 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA---+----- * STORE_LCL_VAR double V15 tmp9 | |
[000123] -----+----- \--* DIV double | |
[000121] -----+----- +--* LCL_VAR double V13 tmp7 | |
[000122] -----+----- \--* LCL_VAR double V14 tmp8 | |
***** BB06 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] DA--G+----- * STORE_LCL_VAR double V03 loc2 | |
[000129] ----G+----- \--* SUB double | |
[000127] -----+----- +--* LCL_VAR double V03 loc2 | |
[000128] -----+----- \--* LCL_VAR double V15 tmp9 | |
***** BB06 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] -----+----- * JTRUE void | |
[000134] J----+-N--- \--* LT int | |
[000132] -----+----- +--* INTRINSIC double abs | |
[000131] -----+----- | \--* LCL_VAR double V15 tmp9 | |
[000133] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB07 [0012] [01D..01E) -> BB04(0.991882),BB09(0.008118008) (cond), preds={BB06} succs={BB09,BB04} | |
***** BB07 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000138] -----+----- \--* ADD int | |
[000136] -----+----- +--* LCL_VAR int V12 tmp6 | |
[000137] -----+----- \--* CNS_INT int 1 | |
***** BB07 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000101] ----------- * JTRUE void | |
( 5, 4) [000100] J------N--- \--* LE int | |
( 3, 2) [000098] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000099] ----------- \--* CNS_INT int 10 | |
------------ BB09 [0014] [01D..06D) -> BB03(0.99405),BB14(0.00595) (cond), preds={BB03,BB04,BB05,BB06,BB07} succs={BB14,BB03} | |
***** BB09 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000141] -----+----- \--* CNS_INT int 2 | |
***** BB09 [0014] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000026] -----+----- \--* ADD int | |
[000024] -----+----- +--* LCL_VAR int V05 loc4 | |
[000025] -----+----- \--* CNS_INT int 1 | |
***** BB09 [0014] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
( 7, 9) [000013] ----------- * JTRUE void | |
( 5, 7) [000012] J------N--- \--* LE int | |
( 3, 2) [000010] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB14 [0006] [06D..090) (return), preds={BB09,BB15} succs={} | |
***** BB14 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC--+----- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB14 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G+----- * STOREIND int | |
[000064] -----+----- +--* ADD byref | |
[000062] -----+----- | +--* LCL_VAR ref V09 tmp3 | |
[000063] -----+----- | \--* CNS_INT long 8 | |
[000058] -----+----- \--* LCL_VAR int V02 loc1 | |
***** BB14 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] -----+----- arg0 in rcx \--* BOX ref | |
[000066] -----+----- \--* LCL_VAR ref V09 tmp3 | |
***** BB14 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC--+----- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB14 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G+----- * STOREIND double | |
[000075] -----+----- +--* ADD byref | |
[000073] -----+----- | +--* LCL_VAR ref V10 tmp4 | |
[000074] -----+----- | \--* CNS_INT long 8 | |
[000069] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB14 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] -----+----- arg0 in rcx \--* BOX ref | |
[000077] -----+----- \--* LCL_VAR ref V10 tmp4 | |
***** BB14 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC--+----- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB14 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G+----- * STOREIND double | |
[000086] -----+----- +--* ADD byref | |
[000084] -----+----- | +--* LCL_VAR ref V11 tmp5 | |
[000085] -----+----- | \--* CNS_INT long 8 | |
[000080] -----+----- \--* LCL_VAR double V04 loc3 | |
***** BB14 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] -----+----- arg0 in rcx \--* BOX ref | |
[000088] -----+----- \--* LCL_VAR ref V11 tmp5 | |
***** BB14 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] -----+----- * RETURN int | |
[000176] -----+----- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Canonicalize entry | |
*************** Finishing PHASE Canonicalize entry [no changes] | |
*************** Starting PHASE DFS blocks and remove dead code 2 | |
*************** Finishing PHASE DFS blocks and remove dead code 2 [no changes] | |
*************** Starting PHASE Find loops | |
*************** In optFindLoopsPhase() | |
*************** Before renumbering the basic blocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB15 [0018] 1 0.60 1 [???..???)-> BB14(0.00595),BB03(0.994) ( cond ) IBC internal | |
BB03 [0001] 2 BB09,BB15 99.41 167 [01D..03A)-> BB09(0.00812),BB04(0.992) ( cond ) i IBC bwd bwd-target | |
BB04 [0009] 2 BB03,BB07 98.65 166 [01D..01E)-> BB09(1),BB05(0.000499) ( cond ) i IBC bwd bwd-target | |
BB05 [0010] 1 BB04 0.05 0 [01D..01E)-> BB09(0),BB06(1) ( cond ) i IBC hascall gcsafe bwd | |
BB06 [0011] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC bwd | |
BB07 [0012] 1 BB06 99.45 167 [01D..01E)-> BB04(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0014] 5 BB03,BB04,BB05,BB06,BB07 99.41 167 [01D..06D)-> BB03(0.994),BB14(0.00595) ( cond ) i IBC bwd | |
BB14 [0006] 2 BB09,BB15 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
Renumber BB15 to BB01 | |
Renumber BB03 to BB02 | |
Renumber BB04 to BB03 | |
Renumber BB05 to BB04 | |
Renumber BB06 to BB05 | |
Renumber BB07 to BB06 | |
Renumber BB09 to BB07 | |
Renumber BB14 to BB08 | |
*************** After renumbering the basic blocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB08(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0001] 2 BB01,BB07 99.41 167 [01D..03A)-> BB07(0.00812),BB03(0.992) ( cond ) i IBC bwd bwd-target | |
BB03 [0009] 2 BB02,BB06 98.65 166 [01D..01E)-> BB07(1),BB04(0.000499) ( cond ) i IBC bwd bwd-target | |
BB04 [0010] 1 BB03 0.05 0 [01D..01E)-> BB07(0),BB05(1) ( cond ) i IBC hascall gcsafe bwd | |
BB05 [0011] 1 BB04 0.05 0 [01D..01E)-> BB07(0),BB06(1) ( cond ) i IBC bwd | |
BB06 [0012] 1 BB05 99.45 167 [01D..01E)-> BB03(0.992),BB07(0.00812) ( cond ) i IBC bwd | |
BB07 [0014] 5 BB02,BB03,BB04,BB05,BB06 99.41 167 [01D..06D)-> BB02(0.994),BB08(0.00595) ( cond ) i IBC bwd | |
BB08 [0006] 2 BB01,BB07 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
New BlockSet epoch 5, # of blocks (including unused BB00): 9, bitset array size: 1 (short) | |
Identifying loops in DFS tree with following reverse post order: | |
RPO -> BB [pre, post] | |
00 -> BB01[0, 7] | |
01 -> BB02[1, 6] | |
02 -> BB03[2, 5] | |
03 -> BB04[3, 4] | |
04 -> BB05[4, 3] | |
05 -> BB06[5, 2] | |
06 -> BB07[6, 1] | |
07 -> BB08[7, 0] | |
BB07 -> BB02 is a backedge | |
BB02 is the header of a DFS loop with 1 back edges | |
Loop has 6 blocks | |
BB07 -> BB08 is an exit edge | |
BB01 -> BB02 is an entry edge | |
Added loop L00 with header BB02 | |
BB06 -> BB03 is a backedge | |
BB03 is the header of a DFS loop with 1 back edges | |
Loop has 4 blocks | |
BB03 -> BB07 is an exit edge | |
BB04 -> BB07 is an exit edge | |
BB05 -> BB07 is an exit edge | |
BB06 -> BB07 is an exit edge | |
BB02 -> BB03 is an entry edge | |
Nested within loop starting at BB02 | |
Added loop L01 with header BB03 | |
Found 2 loops | |
*************** Natural loop graph | |
L00 header: BB02 | |
Members (6): [BB02..BB07] | |
Entry: BB01 -> BB02 | |
Exit: BB07 -> BB08 | |
Back: BB07 -> BB02 | |
L01 header: BB03 parent: L00 | |
Members (4): [BB03..BB06] | |
Entry: BB02 -> BB03 | |
Exit: BB03 -> BB07; BB04 -> BB07; BB05 -> BB07; BB06 -> BB07 | |
Back: BB06 -> BB03 | |
New Basic Block BB09 [0020] created. | |
Created new preheader BB09 for L00 | |
setting likelihood of BB09 -> BB02 to 1 | |
Entry edge BB01 -> BB02 becomes BB01 -> BB09 | |
New Basic Block BB10 [0021] created. | |
Created new preheader BB10 for L01 | |
setting likelihood of BB10 -> BB03 to 1 | |
Entry edge BB02 -> BB03 becomes BB02 -> BB10 | |
Canonicalize exit BB07 for L01 to have only loop predecessors | |
New Basic Block BB11 [0022] created. | |
setting likelihood of BB11 -> BB07 to 1 | |
Created new exit BB11 to replace BB07 exit for L01 | |
All preds of exit BB11 of L01 are already in the loop, no exit canonicalization needed | |
All preds of exit BB11 of L01 are already in the loop, no exit canonicalization needed | |
All preds of exit BB11 of L01 are already in the loop, no exit canonicalization needed | |
Canonicalize exit BB08 for L00 to have only loop predecessors | |
New Basic Block BB12 [0023] created. | |
setting likelihood of BB12 -> BB08 to 1 | |
Created new exit BB12 to replace BB08 exit for L00 | |
Identifying loops in DFS tree with following reverse post order: | |
RPO -> BB [pre, post] | |
00 -> BB01[0, 11] | |
01 -> BB09[1, 10] | |
02 -> BB02[2, 9] | |
03 -> BB10[3, 8] | |
04 -> BB03[4, 7] | |
05 -> BB04[5, 6] | |
06 -> BB05[6, 5] | |
07 -> BB06[7, 4] | |
08 -> BB11[8, 3] | |
09 -> BB07[9, 2] | |
10 -> BB12[10, 1] | |
11 -> BB08[11, 0] | |
BB07 -> BB02 is a backedge | |
BB02 is the header of a DFS loop with 1 back edges | |
Loop has 8 blocks | |
BB07 -> BB12 is an exit edge | |
BB09 -> BB02 is an entry edge | |
Added loop L00 with header BB02 | |
BB06 -> BB03 is a backedge | |
BB03 is the header of a DFS loop with 1 back edges | |
Loop has 4 blocks | |
BB03 -> BB11 is an exit edge | |
BB04 -> BB11 is an exit edge | |
BB05 -> BB11 is an exit edge | |
BB06 -> BB11 is an exit edge | |
BB10 -> BB03 is an entry edge | |
Nested within loop starting at BB02 | |
Added loop L01 with header BB03 | |
Found 2 loops | |
*************** Natural loop graph | |
L00 header: BB02 | |
Members (8): [BB02..BB07] | |
Entry: BB09 -> BB02 | |
Exit: BB07 -> BB12 | |
Back: BB07 -> BB02 | |
L01 header: BB03 parent: L00 | |
Members (4): [BB03..BB06] | |
Entry: BB10 -> BB03 | |
Exit: BB03 -> BB11; BB04 -> BB11; BB05 -> BB11; BB06 -> BB11 | |
Back: BB06 -> BB03 | |
*************** Before renumbering the basic blocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB08(0.00595),BB09(0.994) ( cond ) IBC internal | |
BB09 [0020] 1 BB01 0.59 1 [01D..???)-> BB02(1) (always) IBC internal | |
BB02 [0001] 2 BB07,BB09 99.41 167 [01D..03A)-> BB07(0.00812),BB10(0.992) ( cond ) i IBC bwd bwd-target | |
BB10 [0021] 1 BB02 98.60 166 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0009] 2 BB06,BB10 98.65 166 [01D..01E)-> BB11(1),BB04(0.000499) ( cond ) i IBC bwd bwd-target | |
BB04 [0010] 1 BB03 0.05 0 [01D..01E)-> BB11(0),BB05(1) ( cond ) i IBC hascall gcsafe bwd | |
BB05 [0011] 1 BB04 0.05 0 [01D..01E)-> BB11(0),BB06(1) ( cond ) i IBC bwd | |
BB06 [0012] 1 BB05 99.45 167 [01D..01E)-> BB03(0.992),BB11(0.00812) ( cond ) i IBC bwd | |
BB11 [0022] 4 BB03,BB04,BB05,BB06 99.41 167 [01D..???)-> BB07(1) (always) IBC internal | |
BB07 [0014] 2 BB02,BB11 99.41 167 [01D..06D)-> BB02(0.994),BB12(0.00595) ( cond ) i IBC bwd | |
BB12 [0023] 1 BB07 0.59 1 [06D..???)-> BB08(1) (always) IBC internal | |
BB08 [0006] 2 BB01,BB12 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
Renumber BB09 to BB02 | |
Renumber BB02 to BB03 | |
Renumber BB10 to BB04 | |
Renumber BB03 to BB05 | |
Renumber BB04 to BB06 | |
Renumber BB05 to BB07 | |
Renumber BB06 to BB08 | |
Renumber BB11 to BB09 | |
Renumber BB07 to BB10 | |
Renumber BB12 to BB11 | |
Renumber BB08 to BB12 | |
*************** After renumbering the basic blocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB12(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB10 99.41 167 [01D..03A)-> BB10(0.00812),BB04(0.992) ( cond ) i IBC bwd bwd-target | |
BB04 [0021] 1 BB03 98.60 166 [01D..???)-> BB05(1) (always) IBC internal | |
BB05 [0009] 2 BB04,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..???)-> BB10(1) (always) IBC internal | |
BB10 [0014] 2 BB03,BB09 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 1 BB10 0.59 1 [06D..???)-> BB12(1) (always) IBC internal | |
BB12 [0006] 2 BB01,BB11 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
New BlockSet epoch 6, # of blocks (including unused BB00): 13, bitset array size: 1 (short) | |
*************** Finishing PHASE Find loops | |
Trees after Find loops | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB12(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB10 99.41 167 [01D..03A)-> BB10(0.00812),BB04(0.992) ( cond ) i IBC bwd bwd-target | |
BB04 [0021] 1 BB03 98.60 166 [01D..???)-> BB05(1) (always) IBC internal | |
BB05 [0009] 2 BB04,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..???)-> BB10(1) (always) IBC internal | |
BB10 [0014] 2 BB03,BB09 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 1 BB10 0.59 1 [06D..???)-> BB12(1) (always) IBC internal | |
BB12 [0006] 2 BB01,BB11 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB12(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB12} | |
***** BB01 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
( 7, 9) [000177] ----------- * JTRUE void | |
( 5, 7) [000178] J------N--- \--* GT int | |
( 3, 2) [000179] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
------------ BB03 [0001] [01D..03A) -> BB10(0.008118008),BB04(0.991882) (cond), preds={BB02,BB10} succs={BB04,BB10} | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000096] -----+----- \--* CNS_INT int 1 | |
***** BB03 [0001] | |
STMT00048 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000181] ----------- * JTRUE void | |
( 5, 4) [000182] J------N--- \--* GT int | |
( 3, 2) [000183] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000184] ----------- \--* CNS_INT int 10 | |
------------ BB04 [0021] [01D..???) -> BB05(1) (always), preds={BB03} succs={BB05} | |
------------ BB05 [0009] [01D..01E) -> BB09(0.9995009),BB06(0.0004990518) (cond), preds={BB04,BB08} succs={BB06,BB09} | |
***** BB05 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G+----- * STORE_LCL_VAR double V16 tmp10 | |
[000103] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DA---+----- * STORE_LCL_VAR double V13 tmp7 | |
[000160] -----+----- \--* SUB double | |
[000152] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000159] -----+----- \--* MUL double | |
[000153] -----+----- +--* LCL_VAR double V03 loc2 | |
[000158] -----+----- \--* SUB double | |
[000154] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000157] -----+----- \--* MUL double | |
[000155] -----+----- +--* LCL_VAR double V03 loc2 | |
[000156] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] -----+----- * JTRUE void | |
[000110] J----+-N--- \--* LT int | |
[000108] -----+----- +--* INTRINSIC double abs | |
[000107] -----+----- | \--* LCL_VAR double V13 tmp7 | |
[000109] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB06 [0010] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DACXG+----- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --CXG+----- \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] -----+----- arg0 in mm0 \--* LCL_VAR double V03 loc2 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] -----+----- * JTRUE void | |
[000119] J----+-N--- \--* EQ int | |
[000117] -----+----- +--* LCL_VAR double V14 tmp8 | |
[000118] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB07 [0011] [01D..01E) -> BB09(0),BB08(1) (cond), preds={BB06} succs={BB08,BB09} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA---+----- * STORE_LCL_VAR double V15 tmp9 | |
[000123] -----+----- \--* DIV double | |
[000121] -----+----- +--* LCL_VAR double V13 tmp7 | |
[000122] -----+----- \--* LCL_VAR double V14 tmp8 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] DA--G+----- * STORE_LCL_VAR double V03 loc2 | |
[000129] ----G+----- \--* SUB double | |
[000127] -----+----- +--* LCL_VAR double V03 loc2 | |
[000128] -----+----- \--* LCL_VAR double V15 tmp9 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] -----+----- * JTRUE void | |
[000134] J----+-N--- \--* LT int | |
[000132] -----+----- +--* INTRINSIC double abs | |
[000131] -----+----- | \--* LCL_VAR double V15 tmp9 | |
[000133] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB08 [0012] [01D..01E) -> BB05(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB05} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000138] -----+----- \--* ADD int | |
[000136] -----+----- +--* LCL_VAR int V12 tmp6 | |
[000137] -----+----- \--* CNS_INT int 1 | |
***** BB08 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000101] ----------- * JTRUE void | |
( 5, 4) [000100] J------N--- \--* LE int | |
( 3, 2) [000098] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000099] ----------- \--* CNS_INT int 10 | |
------------ BB09 [0022] [01D..???) -> BB10(1) (always), preds={BB05,BB06,BB07,BB08} succs={BB10} | |
------------ BB10 [0014] [01D..06D) -> BB03(0.99405),BB11(0.00595) (cond), preds={BB03,BB09} succs={BB11,BB03} | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000141] -----+----- \--* CNS_INT int 2 | |
***** BB10 [0014] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000026] -----+----- \--* ADD int | |
[000024] -----+----- +--* LCL_VAR int V05 loc4 | |
[000025] -----+----- \--* CNS_INT int 1 | |
***** BB10 [0014] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
( 7, 9) [000013] ----------- * JTRUE void | |
( 5, 7) [000012] J------N--- \--* LE int | |
( 3, 2) [000010] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB11 [0023] [06D..???) -> BB12(1) (always), preds={BB10} succs={BB12} | |
------------ BB12 [0006] [06D..090) (return), preds={BB01,BB11} succs={} | |
***** BB12 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC--+----- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB12 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G+----- * STOREIND int | |
[000064] -----+----- +--* ADD byref | |
[000062] -----+----- | +--* LCL_VAR ref V09 tmp3 | |
[000063] -----+----- | \--* CNS_INT long 8 | |
[000058] -----+----- \--* LCL_VAR int V02 loc1 | |
***** BB12 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] -----+----- arg0 in rcx \--* BOX ref | |
[000066] -----+----- \--* LCL_VAR ref V09 tmp3 | |
***** BB12 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC--+----- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB12 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G+----- * STOREIND double | |
[000075] -----+----- +--* ADD byref | |
[000073] -----+----- | +--* LCL_VAR ref V10 tmp4 | |
[000074] -----+----- | \--* CNS_INT long 8 | |
[000069] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] -----+----- arg0 in rcx \--* BOX ref | |
[000077] -----+----- \--* LCL_VAR ref V10 tmp4 | |
***** BB12 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC--+----- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB12 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G+----- * STOREIND double | |
[000086] -----+----- +--* ADD byref | |
[000084] -----+----- | +--* LCL_VAR ref V11 tmp5 | |
[000085] -----+----- | \--* CNS_INT long 8 | |
[000080] -----+----- \--* LCL_VAR double V04 loc3 | |
***** BB12 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] -----+----- arg0 in rcx \--* BOX ref | |
[000088] -----+----- \--* LCL_VAR ref V11 tmp5 | |
***** BB12 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] -----+----- * RETURN int | |
[000176] -----+----- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Set block weights | |
After computing the dominance tree: | |
BB01 : BB02 BB12 | |
BB02 : BB03 | |
BB03 : BB04 BB10 | |
BB04 : BB05 | |
BB05 : BB06 BB09 | |
BB06 : BB07 | |
BB07 : BB08 | |
BB10 : BB11 | |
After computing reachability sets: | |
------------------------------------------------ | |
BBnum Reachable by | |
------------------------------------------------ | |
BB01 : BB01 | |
BB02 : BB02 BB01 | |
BB03 : BB10 BB09 BB08 BB07 BB06 BB05 BB04 BB03 BB02 BB01 | |
BB04 : BB10 BB09 BB08 BB07 BB06 BB05 BB04 BB03 BB02 BB01 | |
BB05 : BB10 BB09 BB08 BB07 BB06 BB05 BB04 BB03 BB02 BB01 | |
BB06 : BB10 BB09 BB08 BB07 BB06 BB05 BB04 BB03 BB02 BB01 | |
BB07 : BB10 BB09 BB08 BB07 BB06 BB05 BB04 BB03 BB02 BB01 | |
BB08 : BB10 BB09 BB08 BB07 BB06 BB05 BB04 BB03 BB02 BB01 | |
BB09 : BB10 BB09 BB08 BB07 BB06 BB05 BB04 BB03 BB02 BB01 | |
BB10 : BB10 BB09 BB08 BB07 BB06 BB05 BB04 BB03 BB02 BB01 | |
BB11 : BB11 BB10 BB09 BB08 BB07 BB06 BB05 BB04 BB03 BB02 BB01 | |
BB12 : BB12 BB11 BB10 BB09 BB08 BB07 BB06 BB05 BB04 BB03 BB02 BB01 | |
*************** In optMarkLoopHeads() | |
2 loop heads marked | |
*************** In optFindAndScaleGeneralLoopBlocks() | |
Marking a loop from BB03 to BB10 | |
BB03(wt=9940.5); unchanged: has profile weight | |
BB04(wt=9859.803); unchanged: has profile weight | |
BB05(wt=9864.686); unchanged: has profile weight | |
BB06(wt=4.922989); unchanged: has profile weight | |
BB07(wt=4.922989); unchanged: has profile weight | |
BB08(wt=9945.423); unchanged: has profile weight | |
BB09(wt=9940.5); unchanged: has profile weight | |
BB10(wt=9940.5); unchanged: has profile weight | |
Marking a loop from BB05 to BB08 | |
BB05(wt=9864.686); unchanged: has profile weight | |
BB06(wt=4.922989); unchanged: has profile weight | |
BB07(wt=4.922989); unchanged: has profile weight | |
BB08(wt=9945.423); unchanged: has profile weight | |
Found a total of 2 general loops. | |
Return blocks: BB12 | |
*************** Finishing PHASE Set block weights [no changes] | |
*************** Starting PHASE Clone loops | |
*************** In optCloneLoops() | |
Considering loop L00 to clone for optimizations. | |
Analyzing iteration for L00 with header BB03 | |
Preheader = BB02 | |
Checking exiting block BB10 | |
Init = [000177], test = [000013], incr = [000027] | |
Init block BB01 enters the loop when condition [000178] evaluates to false | |
op1 is the iteration variable | |
Condition is established before entry at [000178] | |
IterVar = V05 | |
Test is [000012] (const limit ) | |
Not checking loop L00 -- no array bounds or type tests in this method | |
------------------------------------------------------------ | |
Considering loop L01 to clone for optimizations. | |
Analyzing iteration for L01 with header BB05 | |
Preheader = BB04 | |
Checking exiting block BB05 | |
Could not extract an IV | |
Checking exiting block BB06 | |
Could not extract an IV | |
Checking exiting block BB07 | |
Could not extract an IV | |
Checking exiting block BB08 | |
Init = [000097], test = [000101], incr = [000139] | |
Condition is trivially true on entry (1 LE 10) | |
IterVar = V12 | |
Const init with value 1 (at [000097]) | |
Test is [000100] (const limit ) | |
Not checking loop L01 -- no array bounds or type tests in this method | |
------------------------------------------------------------ | |
No clonable loops | |
*************** Finishing PHASE Clone loops | |
Trees after Clone loops | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB12(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB10 99.41 167 [01D..03A)-> BB10(0.00812),BB04(0.992) ( cond ) i IBC loophead bwd bwd-target | |
BB04 [0021] 1 BB03 98.60 166 [01D..???)-> BB05(1) (always) IBC internal | |
BB05 [0009] 2 BB04,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..???)-> BB10(1) (always) IBC internal | |
BB10 [0014] 2 BB03,BB09 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 1 BB10 0.59 1 [06D..???)-> BB12(1) (always) IBC internal | |
BB12 [0006] 2 BB01,BB11 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB12(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB12} | |
***** BB01 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
( 7, 9) [000177] ----------- * JTRUE void | |
( 5, 7) [000178] J------N--- \--* GT int | |
( 3, 2) [000179] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
------------ BB03 [0001] [01D..03A) -> BB10(0.008118008),BB04(0.991882) (cond), preds={BB02,BB10} succs={BB04,BB10} | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000096] -----+----- \--* CNS_INT int 1 | |
***** BB03 [0001] | |
STMT00048 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000181] ----------- * JTRUE void | |
( 5, 4) [000182] J------N--- \--* GT int | |
( 3, 2) [000183] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000184] ----------- \--* CNS_INT int 10 | |
------------ BB04 [0021] [01D..???) -> BB05(1) (always), preds={BB03} succs={BB05} | |
------------ BB05 [0009] [01D..01E) -> BB09(0.9995009),BB06(0.0004990518) (cond), preds={BB04,BB08} succs={BB06,BB09} | |
***** BB05 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G+----- * STORE_LCL_VAR double V16 tmp10 | |
[000103] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DA---+----- * STORE_LCL_VAR double V13 tmp7 | |
[000160] -----+----- \--* SUB double | |
[000152] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000159] -----+----- \--* MUL double | |
[000153] -----+----- +--* LCL_VAR double V03 loc2 | |
[000158] -----+----- \--* SUB double | |
[000154] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000157] -----+----- \--* MUL double | |
[000155] -----+----- +--* LCL_VAR double V03 loc2 | |
[000156] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] -----+----- * JTRUE void | |
[000110] J----+-N--- \--* LT int | |
[000108] -----+----- +--* INTRINSIC double abs | |
[000107] -----+----- | \--* LCL_VAR double V13 tmp7 | |
[000109] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB06 [0010] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DACXG+----- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --CXG+----- \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] -----+----- arg0 in mm0 \--* LCL_VAR double V03 loc2 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] -----+----- * JTRUE void | |
[000119] J----+-N--- \--* EQ int | |
[000117] -----+----- +--* LCL_VAR double V14 tmp8 | |
[000118] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB07 [0011] [01D..01E) -> BB09(0),BB08(1) (cond), preds={BB06} succs={BB08,BB09} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA---+----- * STORE_LCL_VAR double V15 tmp9 | |
[000123] -----+----- \--* DIV double | |
[000121] -----+----- +--* LCL_VAR double V13 tmp7 | |
[000122] -----+----- \--* LCL_VAR double V14 tmp8 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] DA--G+----- * STORE_LCL_VAR double V03 loc2 | |
[000129] ----G+----- \--* SUB double | |
[000127] -----+----- +--* LCL_VAR double V03 loc2 | |
[000128] -----+----- \--* LCL_VAR double V15 tmp9 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] -----+----- * JTRUE void | |
[000134] J----+-N--- \--* LT int | |
[000132] -----+----- +--* INTRINSIC double abs | |
[000131] -----+----- | \--* LCL_VAR double V15 tmp9 | |
[000133] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB08 [0012] [01D..01E) -> BB05(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB05} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000138] -----+----- \--* ADD int | |
[000136] -----+----- +--* LCL_VAR int V12 tmp6 | |
[000137] -----+----- \--* CNS_INT int 1 | |
***** BB08 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000101] ----------- * JTRUE void | |
( 5, 4) [000100] J------N--- \--* LE int | |
( 3, 2) [000098] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000099] ----------- \--* CNS_INT int 10 | |
------------ BB09 [0022] [01D..???) -> BB10(1) (always), preds={BB05,BB06,BB07,BB08} succs={BB10} | |
------------ BB10 [0014] [01D..06D) -> BB03(0.99405),BB11(0.00595) (cond), preds={BB03,BB09} succs={BB11,BB03} | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000141] -----+----- \--* CNS_INT int 2 | |
***** BB10 [0014] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000026] -----+----- \--* ADD int | |
[000024] -----+----- +--* LCL_VAR int V05 loc4 | |
[000025] -----+----- \--* CNS_INT int 1 | |
***** BB10 [0014] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
( 7, 9) [000013] ----------- * JTRUE void | |
( 5, 7) [000012] J------N--- \--* LE int | |
( 3, 2) [000010] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB11 [0023] [06D..???) -> BB12(1) (always), preds={BB10} succs={BB12} | |
------------ BB12 [0006] [06D..090) (return), preds={BB01,BB11} succs={} | |
***** BB12 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC--+----- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB12 [0006] | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G+----- * STOREIND int | |
[000064] -----+----- +--* ADD byref | |
[000062] -----+----- | +--* LCL_VAR ref V09 tmp3 | |
[000063] -----+----- | \--* CNS_INT long 8 | |
[000058] -----+----- \--* LCL_VAR int V02 loc1 | |
***** BB12 [0006] | |
STMT00019 ( ??? ... ??? ) | |
[000068] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] -----+----- arg0 in rcx \--* BOX ref | |
[000066] -----+----- \--* LCL_VAR ref V09 tmp3 | |
***** BB12 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC--+----- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB12 [0006] | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G+----- * STOREIND double | |
[000075] -----+----- +--* ADD byref | |
[000073] -----+----- | +--* LCL_VAR ref V10 tmp4 | |
[000074] -----+----- | \--* CNS_INT long 8 | |
[000069] -----+----- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0006] | |
STMT00022 ( ??? ... ??? ) | |
[000079] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] -----+----- arg0 in rcx \--* BOX ref | |
[000077] -----+----- \--* LCL_VAR ref V10 tmp4 | |
***** BB12 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC--+----- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB12 [0006] | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G+----- * STOREIND double | |
[000086] -----+----- +--* ADD byref | |
[000084] -----+----- | +--* LCL_VAR ref V11 tmp5 | |
[000085] -----+----- | \--* CNS_INT long 8 | |
[000080] -----+----- \--* LCL_VAR double V04 loc3 | |
***** BB12 [0006] | |
STMT00025 ( ??? ... ??? ) | |
[000090] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] -----+----- arg0 in rcx \--* BOX ref | |
[000088] -----+----- \--* LCL_VAR ref V11 tmp5 | |
***** BB12 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] -----+----- * RETURN int | |
[000176] -----+----- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Unroll loops | |
Analyzing iteration for L01 with header BB05 | |
Preheader = BB04 | |
Checking exiting block BB05 | |
Could not extract an IV | |
Checking exiting block BB06 | |
Could not extract an IV | |
Checking exiting block BB07 | |
Could not extract an IV | |
Checking exiting block BB08 | |
Init = [000097], test = [000101], incr = [000139] | |
Condition is trivially true on entry (1 LE 10) | |
IterVar = V12 | |
Const init with value 1 (at [000097]) | |
Test is [000100] (const limit ) | |
Analyzing candidate for loop unrolling: | |
L01 header: BB05 parent: L00 | |
Members (4): [BB05..BB08] | |
Entry: BB04 -> BB05 | |
Exit: BB05 -> BB09; BB06 -> BB09; BB07 -> BB09; BB08 -> BB09 | |
Back: BB08 -> BB05 | |
Computed loop repetition count (number of test block executions) to be 10 | |
Failed to unroll loop L01: insufficiently simple loop (heuristic) | |
Analyzing iteration for L00 with header BB03 | |
Preheader = BB02 | |
Checking exiting block BB10 | |
Init = [000177], test = [000013], incr = [000027] | |
Init block BB01 enters the loop when condition [000178] evaluates to false | |
op1 is the iteration variable | |
Condition is established before entry at [000178] | |
IterVar = V05 | |
Test is [000012] (const limit ) | |
*************** In fgDebugCheckBBlist | |
*************** Finishing PHASE Unroll loops [no changes] | |
*************** Starting PHASE Compute dominators | |
*************** Finishing PHASE Compute dominators [no changes] | |
*************** Starting PHASE Morph array ops | |
No multi-dimensional array references in the function | |
*************** Finishing PHASE Morph array ops [no changes] | |
*************** Starting PHASE Mark local vars | |
*************** In lvaMarkLocalVars() | |
*** lvaComputeRefCounts *** | |
*** lvaComputeRefCounts -- explicit counts *** | |
*** marking local variables in block BB01 (weight=0.60) | |
STMT00047 ( 0x064[E-] ... ??? ) | |
( 7, 9) [000177] ----------- * JTRUE void | |
( 5, 7) [000178] J------N--- \--* GT int | |
( 3, 2) [000179] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 | |
New refCnts for V05: refCnt = 1, refCntWtd = 0.60 | |
*** marking local variables in block BB02 (weight=0.59) | |
*** marking local variables in block BB03 (weight=99.41) | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000097] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000096] -----+----- \--* CNS_INT int 1 | |
New refCnts for V12: refCnt = 1, refCntWtd = 99.41 | |
V12 needs explicit zero init. Disqualified as a single-def register candidate. | |
STMT00048 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000181] ----------- * JTRUE void | |
( 5, 4) [000182] J------N--- \--* GT int | |
( 3, 2) [000183] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000184] ----------- \--* CNS_INT int 10 | |
New refCnts for V12: refCnt = 2, refCntWtd = 198.81 | |
*** marking local variables in block BB04 (weight=98.60) | |
*** marking local variables in block BB05 (weight=98.65) | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000161] DA--G+----- * STORE_LCL_VAR double V16 tmp10 | |
[000103] -----+----- \--* LCL_VAR double V03 loc2 | |
New refCnts for V16: refCnt = 1, refCntWtd = 197.29 | |
V16 needs explicit zero init. Disqualified as a single-def register candidate. | |
New refCnts for V03: refCnt = 2, refCntWtd = 99.65 | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000106] DA---+----- * STORE_LCL_VAR double V13 tmp7 | |
[000160] -----+----- \--* SUB double | |
[000152] -----+----- +--* CNS_DBL double -1.0000000000000000 | |
[000159] -----+----- \--* MUL double | |
[000153] -----+----- +--* LCL_VAR double V03 loc2 | |
[000158] -----+----- \--* SUB double | |
[000154] -----+----- +--* CNS_DBL double 1.0000000000000000 | |
[000157] -----+----- \--* MUL double | |
[000155] -----+----- +--* LCL_VAR double V03 loc2 | |
[000156] -----+----- \--* LCL_VAR double V03 loc2 | |
New refCnts for V13: refCnt = 1, refCntWtd = 98.65 | |
V13 needs explicit zero init. Disqualified as a single-def register candidate. | |
New refCnts for V03: refCnt = 3, refCntWtd = 198.29 | |
New refCnts for V03: refCnt = 4, refCntWtd = 296.94 | |
New refCnts for V03: refCnt = 5, refCntWtd = 395.59 | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000111] -----+----- * JTRUE void | |
[000110] J----+-N--- \--* LT int | |
[000108] -----+----- +--* INTRINSIC double abs | |
[000107] -----+----- | \--* LCL_VAR double V13 tmp7 | |
[000109] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
New refCnts for V13: refCnt = 2, refCntWtd = 197.29 | |
*** marking local variables in block BB06 (weight=0.05) | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000116] DACXG+----- * STORE_LCL_VAR double V14 tmp8 | |
[000114] --CXG+----- \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
[000113] -----+----- arg0 in mm0 \--* LCL_VAR double V03 loc2 | |
New refCnts for V14: refCnt = 1, refCntWtd = 0.05 | |
V14 needs explicit zero init. Disqualified as a single-def register candidate. | |
New refCnts for V03: refCnt = 6, refCntWtd = 395.64 | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000120] -----+----- * JTRUE void | |
[000119] J----+-N--- \--* EQ int | |
[000117] -----+----- +--* LCL_VAR double V14 tmp8 | |
[000118] -----+----- \--* CNS_DBL double 0.0000000000000000 | |
New refCnts for V14: refCnt = 2, refCntWtd = 0.10 | |
*** marking local variables in block BB07 (weight=0.05) | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000124] DA---+----- * STORE_LCL_VAR double V15 tmp9 | |
[000123] -----+----- \--* DIV double | |
[000121] -----+----- +--* LCL_VAR double V13 tmp7 | |
[000122] -----+----- \--* LCL_VAR double V14 tmp8 | |
New refCnts for V15: refCnt = 1, refCntWtd = 0.05 | |
V15 needs explicit zero init. Disqualified as a single-def register candidate. | |
New refCnts for V13: refCnt = 3, refCntWtd = 197.34 | |
New refCnts for V14: refCnt = 3, refCntWtd = 0.15 | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000130] DA--G+----- * STORE_LCL_VAR double V03 loc2 | |
[000129] ----G+----- \--* SUB double | |
[000127] -----+----- +--* LCL_VAR double V03 loc2 | |
[000128] -----+----- \--* LCL_VAR double V15 tmp9 | |
New refCnts for V03: refCnt = 7, refCntWtd = 395.69 | |
V03 needs explicit zero init. Disqualified as a single-def register candidate. | |
New refCnts for V03: refCnt = 8, refCntWtd = 395.74 | |
New refCnts for V15: refCnt = 2, refCntWtd = 0.10 | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000135] -----+----- * JTRUE void | |
[000134] J----+-N--- \--* LT int | |
[000132] -----+----- +--* INTRINSIC double abs | |
[000131] -----+----- | \--* LCL_VAR double V15 tmp9 | |
[000133] -----+----- \--* CNS_DBL double 9.9999999999999995e-08 | |
New refCnts for V15: refCnt = 3, refCntWtd = 0.15 | |
*** marking local variables in block BB08 (weight=99.45) | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000139] DA---+----- * STORE_LCL_VAR int V12 tmp6 | |
[000138] -----+----- \--* ADD int | |
[000136] -----+----- +--* LCL_VAR int V12 tmp6 | |
[000137] -----+----- \--* CNS_INT int 1 | |
New refCnts for V12: refCnt = 3, refCntWtd = 298.26 | |
New refCnts for V12: refCnt = 4, refCntWtd = 397.72 | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 6) [000101] ----------- * JTRUE void | |
( 5, 4) [000100] J------N--- \--* LE int | |
( 3, 2) [000098] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000099] ----------- \--* CNS_INT int 10 | |
New refCnts for V12: refCnt = 5, refCntWtd = 497.17 | |
*** marking local variables in block BB09 (weight=99.41) | |
*** marking local variables in block BB10 (weight=99.41) | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
[000142] DA---+----- * STORE_LCL_VAR int V02 loc1 | |
[000141] -----+----- \--* CNS_INT int 2 | |
New refCnts for V02: refCnt = 2, refCntWtd = 100.41 | |
V02 needs explicit zero init. Disqualified as a single-def register candidate. | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
[000027] DA---+----- * STORE_LCL_VAR int V05 loc4 | |
[000026] -----+----- \--* ADD int | |
[000024] -----+----- +--* LCL_VAR int V05 loc4 | |
[000025] -----+----- \--* CNS_INT int 1 | |
New refCnts for V05: refCnt = 2, refCntWtd = 100.00 | |
V05 needs explicit zero init. Disqualified as a single-def register candidate. | |
New refCnts for V05: refCnt = 3, refCntWtd = 199.41 | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
( 7, 9) [000013] ----------- * JTRUE void | |
( 5, 7) [000012] J------N--- \--* LE int | |
( 3, 2) [000010] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 | |
New refCnts for V05: refCnt = 4, refCntWtd = 298.81 | |
*** marking local variables in block BB11 (weight=0.59) | |
*** marking local variables in block BB12 (weight=0.60) | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
[000061] DAC--+----- * STORE_LCL_VAR ref V09 tmp3 | |
[000060] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000059] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
New refCnts for V09: refCnt = 1, refCntWtd = 1.19 | |
Marking EH Var V09 as a register candidate. | |
STMT00018 ( ??? ... ??? ) | |
[000065] nA--G+----- * STOREIND int | |
[000064] -----+----- +--* ADD byref | |
[000062] -----+----- | +--* LCL_VAR ref V09 tmp3 | |
[000063] -----+----- | \--* CNS_INT long 8 | |
[000058] -----+----- \--* LCL_VAR int V02 loc1 | |
New refCnts for V09: refCnt = 2, refCntWtd = 2.38 | |
New refCnts for V02: refCnt = 3, refCntWtd = 101.00 | |
STMT00019 ( ??? ... ??? ) | |
[000068] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000067] -----+----- arg0 in rcx \--* BOX ref | |
[000066] -----+----- \--* LCL_VAR ref V09 tmp3 | |
New refCnts for V09: refCnt = 3, refCntWtd = 3.57 | |
STMT00020 ( 0x078[E-] ... ??? ) | |
[000072] DAC--+----- * STORE_LCL_VAR ref V10 tmp4 | |
[000071] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000070] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
New refCnts for V10: refCnt = 1, refCntWtd = 1.19 | |
Marking EH Var V10 as a register candidate. | |
STMT00021 ( ??? ... ??? ) | |
[000076] nA--G+----- * STOREIND double | |
[000075] -----+----- +--* ADD byref | |
[000073] -----+----- | +--* LCL_VAR ref V10 tmp4 | |
[000074] -----+----- | \--* CNS_INT long 8 | |
[000069] -----+----- \--* LCL_VAR double V03 loc2 | |
New refCnts for V10: refCnt = 2, refCntWtd = 2.38 | |
New refCnts for V03: refCnt = 9, refCntWtd = 396.33 | |
STMT00022 ( ??? ... ??? ) | |
[000079] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000078] -----+----- arg0 in rcx \--* BOX ref | |
[000077] -----+----- \--* LCL_VAR ref V10 tmp4 | |
New refCnts for V10: refCnt = 3, refCntWtd = 3.57 | |
STMT00023 ( 0x083[E-] ... ??? ) | |
[000083] DAC--+----- * STORE_LCL_VAR ref V11 tmp5 | |
[000082] --C--+----- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
[000081] H----+----- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
New refCnts for V11: refCnt = 1, refCntWtd = 1.19 | |
Marking EH Var V11 as a register candidate. | |
STMT00024 ( ??? ... ??? ) | |
[000087] nA--G+----- * STOREIND double | |
[000086] -----+----- +--* ADD byref | |
[000084] -----+----- | +--* LCL_VAR ref V11 tmp5 | |
[000085] -----+----- | \--* CNS_INT long 8 | |
[000080] -----+----- \--* LCL_VAR double V04 loc3 | |
New refCnts for V11: refCnt = 2, refCntWtd = 2.38 | |
New refCnts for V04: refCnt = 1, refCntWtd = 0.60 | |
STMT00025 ( ??? ... ??? ) | |
[000090] --CXG+----- * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
[000089] -----+----- arg0 in rcx \--* BOX ref | |
[000088] -----+----- \--* LCL_VAR ref V11 tmp5 | |
New refCnts for V11: refCnt = 3, refCntWtd = 3.57 | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
[000092] -----+----- * RETURN int | |
[000176] -----+----- \--* CNS_INT int 1 | |
*** lvaComputeRefCounts -- implicit counts *** | |
*************** Finishing PHASE Mark local vars [no changes] | |
*************** Starting PHASE Find oper order | |
*************** In fgFindOperOrder() | |
*************** Finishing PHASE Find oper order | |
Trees after Find oper order | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB12(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB10 99.41 167 [01D..03A)-> BB10(0.00812),BB04(0.992) ( cond ) i IBC loophead bwd bwd-target | |
BB04 [0021] 1 BB03 98.60 166 [01D..???)-> BB05(1) (always) IBC internal | |
BB05 [0009] 2 BB04,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..???)-> BB10(1) (always) IBC internal | |
BB10 [0014] 2 BB03,BB09 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 1 BB10 0.59 1 [06D..???)-> BB12(1) (always) IBC internal | |
BB12 [0006] 2 BB01,BB11 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB12(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB12} | |
***** BB01 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
( 5, 8) [000177] ----------- * JTRUE void | |
( 3, 6) [000178] J------N--- \--* GT int | |
( 1, 1) [000179] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
------------ BB03 [0001] [01D..03A) -> BB10(0.008118008),BB04(0.991882) (cond), preds={BB02,BB10} succs={BB04,BB10} | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
( 1, 1) [000096] ----------- \--* CNS_INT int 1 | |
***** BB03 [0001] | |
STMT00048 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 5, 5) [000181] ----------- * JTRUE void | |
( 3, 3) [000182] J------N--- \--* GT int | |
( 1, 1) [000183] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000184] ----------- \--* CNS_INT int 10 | |
------------ BB04 [0021] [01D..???) -> BB05(1) (always), preds={BB03} succs={BB05} | |
------------ BB05 [0009] [01D..01E) -> BB09(0.9995009),BB06(0.0004990518) (cond), preds={BB04,BB08} succs={BB06,BB09} | |
***** BB05 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 1, 3) [000161] DA--G------ * STORE_LCL_VAR double V16 tmp10 | |
( 1, 2) [000103] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 29, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 | |
( 29, 26) [000160] --------R-- \--* SUB double | |
( 3, 2) [000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
( 21, 20) [000159] ----------- \--* MUL double | |
( 15, 14) [000158] --------R-- +--* SUB double | |
( 3, 2) [000154] ----------- | +--* CNS_DBL double 1.0000000000000000 | |
( 7, 8) [000157] ----------- | \--* MUL double | |
( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 | |
( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 | |
( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 12, 22) [000111] ----------- * JTRUE void | |
( 10, 20) [000110] J------N--- \--* LT int | |
( 6, 17) [000108] ----------- +--* INTRINSIC double abs | |
( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 | |
( 3, 2) [000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB06 [0010] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 | |
( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 7, 9) [000120] ----------- * JTRUE void | |
( 5, 7) [000119] J------N--- \--* EQ int | |
( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 | |
( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB07 [0011] [01D..01E) -> BB09(0),BB08(1) (cond), preds={BB06} succs={BB08,BB09} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
( 40, 10) [000123] ----------- \--* DIV double | |
( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 | |
( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 | |
( 9, 10) [000129] ----G------ \--* SUB double | |
( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 | |
( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 14, 24) [000135] ----------- * JTRUE void | |
( 12, 22) [000134] J------N--- \--* LT int | |
( 8, 19) [000132] ----------- +--* INTRINSIC double abs | |
( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 | |
( 3, 2) [000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB08 [0012] [01D..01E) -> BB05(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB05} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
( 3, 3) [000138] ----------- \--* ADD int | |
( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000137] ----------- \--* CNS_INT int 1 | |
***** BB08 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 5, 5) [000101] ----------- * JTRUE void | |
( 3, 3) [000100] J------N--- \--* LE int | |
( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 | |
( 1, 1) [000099] ----------- \--* CNS_INT int 10 | |
------------ BB09 [0022] [01D..???) -> BB10(1) (always), preds={BB05,BB06,BB07,BB08} succs={BB10} | |
------------ BB10 [0014] [01D..06D) -> BB03(0.99405),BB11(0.00595) (cond), preds={BB03,BB09} succs={BB11,BB03} | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 | |
( 1, 1) [000141] ----------- \--* CNS_INT int 2 | |
***** BB10 [0014] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 | |
( 3, 3) [000026] ----------- \--* ADD int | |
( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 1) [000025] ----------- \--* CNS_INT int 1 | |
***** BB10 [0014] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
( 5, 8) [000013] ----------- * JTRUE void | |
( 3, 6) [000012] J------N--- \--* LE int | |
( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 | |
( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB11 [0023] [06D..???) -> BB12(1) (always), preds={BB10} succs={BB12} | |
------------ BB12 [0006] [06D..090) (return), preds={BB01,BB11} succs={} | |
***** BB12 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 | |
( 17, 16) [000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
( 3, 10) [000059] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB12 [0006] | |
STMT00018 ( ??? ... ??? ) | |
( 6, 6) [000065] nA--G------ * STOREIND int | |
( 2, 2) [000064] -------N--- +--* ADD byref | |
( 1, 1) [000062] ----------- | +--* LCL_VAR ref V09 tmp3 | |
( 1, 1) [000063] ----------- | \--* CNS_INT long 8 | |
( 1, 1) [000058] ----------- \--* LCL_VAR int V02 loc1 | |
***** BB12 [0006] | |
STMT00019 ( ??? ... ??? ) | |
( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
( 7, 5) [000067] ----------- arg0 in rcx \--* BOX ref | |
( 1, 1) [000066] ----------- \--* LCL_VAR ref V09 tmp3 | |
***** BB12 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 | |
( 17, 16) [000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
( 3, 10) [000070] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB12 [0006] | |
STMT00021 ( ??? ... ??? ) | |
( 6, 7) [000076] nA--G------ * STOREIND double | |
( 2, 2) [000075] -------N--- +--* ADD byref | |
( 1, 1) [000073] ----------- | +--* LCL_VAR ref V10 tmp4 | |
( 1, 1) [000074] ----------- | \--* CNS_INT long 8 | |
( 1, 2) [000069] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0006] | |
STMT00022 ( ??? ... ??? ) | |
( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
( 7, 5) [000078] ----------- arg0 in rcx \--* BOX ref | |
( 1, 1) [000077] ----------- \--* LCL_VAR ref V10 tmp4 | |
***** BB12 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 | |
( 17, 16) [000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
( 3, 10) [000081] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB12 [0006] | |
STMT00024 ( ??? ... ??? ) | |
( 8, 9) [000087] nA--G------ * STOREIND double | |
( 2, 2) [000086] -------N--- +--* ADD byref | |
( 1, 1) [000084] ----------- | +--* LCL_VAR ref V11 tmp5 | |
( 1, 1) [000085] ----------- | \--* CNS_INT long 8 | |
( 3, 4) [000080] ----------- \--* LCL_VAR double V04 loc3 | |
***** BB12 [0006] | |
STMT00025 ( ??? ... ??? ) | |
( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
( 7, 5) [000089] ----------- arg0 in rcx \--* BOX ref | |
( 1, 1) [000088] ----------- \--* LCL_VAR ref V11 tmp5 | |
***** BB12 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
( 2, 2) [000092] ----------- * RETURN int | |
( 1, 1) [000176] ----------- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Set block order | |
*************** In fgSetBlockOrder() | |
Found a cycle that does not go through a GC safe point: | |
BB03 <- BB10 <- BB09 <- BB05 <- BB04 <- BB03 | |
Marking method as fully interruptible | |
The biggest BB has 10 tree nodes | |
*************** Finishing PHASE Set block order | |
Trees after Set block order | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB12(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB10 99.41 167 [01D..03A)-> BB10(0.00812),BB04(0.992) ( cond ) i IBC loophead bwd bwd-target | |
BB04 [0021] 1 BB03 98.60 166 [01D..???)-> BB05(1) (always) IBC internal | |
BB05 [0009] 2 BB04,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..???)-> BB10(1) (always) IBC internal | |
BB10 [0014] 2 BB03,BB09 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 1 BB10 0.59 1 [06D..???)-> BB12(1) (always) IBC internal | |
BB12 [0006] 2 BB01,BB11 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB12(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB12} | |
***** BB01 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
N004 ( 5, 8) [000177] ----------- * JTRUE void | |
N003 ( 3, 6) [000178] J------N--- \--* GT int | |
N001 ( 1, 1) [000179] ----------- +--* LCL_VAR int V05 loc4 | |
N002 ( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
------------ BB03 [0001] [01D..03A) -> BB10(0.008118008),BB04(0.991882) (cond), preds={BB02,BB10} succs={BB04,BB10} | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
N001 ( 1, 1) [000096] ----------- \--* CNS_INT int 1 | |
***** BB03 [0001] | |
STMT00048 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000181] ----------- * JTRUE void | |
N003 ( 3, 3) [000182] J------N--- \--* GT int | |
N001 ( 1, 1) [000183] ----------- +--* LCL_VAR int V12 tmp6 | |
N002 ( 1, 1) [000184] ----------- \--* CNS_INT int 10 | |
------------ BB04 [0021] [01D..???) -> BB05(1) (always), preds={BB03} succs={BB05} | |
------------ BB05 [0009] [01D..01E) -> BB09(0.9995009),BB06(0.0004990518) (cond), preds={BB04,BB08} succs={BB06,BB09} | |
***** BB05 [0009] | |
STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000161] DA--G------ * STORE_LCL_VAR double V16 tmp10 | |
N001 ( 1, 2) [000103] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N010 ( 29, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 | |
N009 ( 29, 26) [000160] --------R-- \--* SUB double | |
N008 ( 3, 2) [000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
N007 ( 21, 20) [000159] ----------- \--* MUL double | |
N005 ( 15, 14) [000158] --------R-- +--* SUB double | |
N004 ( 3, 2) [000154] ----------- | +--* CNS_DBL double 1.0000000000000000 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 12, 22) [000111] ----------- * JTRUE void | |
N004 ( 10, 20) [000110] J------N--- \--* LT int | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 | |
N003 ( 3, 2) [000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB06 [0010] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 | |
N002 ( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
N001 ( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 7, 9) [000120] ----------- * JTRUE void | |
N003 ( 5, 7) [000119] J------N--- \--* EQ int | |
N001 ( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 | |
N002 ( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
------------ BB07 [0011] [01D..01E) -> BB09(0),BB08(1) (cond), preds={BB06} succs={BB08,BB09} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 | |
N003 ( 40, 10) [000123] ----------- \--* DIV double | |
N001 ( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 | |
N002 ( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 | |
N003 ( 9, 10) [000129] ----G------ \--* SUB double | |
N001 ( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 | |
N002 ( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 14, 24) [000135] ----------- * JTRUE void | |
N004 ( 12, 22) [000134] J------N--- \--* LT int | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 | |
N003 ( 3, 2) [000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
------------ BB08 [0012] [01D..01E) -> BB05(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB05} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 | |
N003 ( 3, 3) [000138] ----------- \--* ADD int | |
N001 ( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 | |
N002 ( 1, 1) [000137] ----------- \--* CNS_INT int 1 | |
***** BB08 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000101] ----------- * JTRUE void | |
N003 ( 3, 3) [000100] J------N--- \--* LE int | |
N001 ( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 | |
N002 ( 1, 1) [000099] ----------- \--* CNS_INT int 10 | |
------------ BB09 [0022] [01D..???) -> BB10(1) (always), preds={BB05,BB06,BB07,BB08} succs={BB10} | |
------------ BB10 [0014] [01D..06D) -> BB03(0.99405),BB11(0.00595) (cond), preds={BB03,BB09} succs={BB11,BB03} | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 | |
N001 ( 1, 1) [000141] ----------- \--* CNS_INT int 2 | |
***** BB10 [0014] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 | |
N003 ( 3, 3) [000026] ----------- \--* ADD int | |
N001 ( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 | |
N002 ( 1, 1) [000025] ----------- \--* CNS_INT int 1 | |
***** BB10 [0014] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
N004 ( 5, 8) [000013] ----------- * JTRUE void | |
N003 ( 3, 6) [000012] J------N--- \--* LE int | |
N001 ( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 | |
N002 ( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 | |
------------ BB11 [0023] [06D..???) -> BB12(1) (always), preds={BB10} succs={BB12} | |
------------ BB12 [0006] [06D..090) (return), preds={BB01,BB11} succs={} | |
***** BB12 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 | |
N002 ( 17, 16) [000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
N001 ( 3, 10) [000059] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB12 [0006] | |
STMT00018 ( ??? ... ??? ) | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int | |
N003 ( 2, 2) [000064] -------N--- +--* ADD byref | |
N001 ( 1, 1) [000062] ----------- | +--* LCL_VAR ref V09 tmp3 | |
N002 ( 1, 1) [000063] ----------- | \--* CNS_INT long 8 | |
N004 ( 1, 1) [000058] ----------- \--* LCL_VAR int V02 loc1 | |
***** BB12 [0006] | |
STMT00019 ( ??? ... ??? ) | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
N002 ( 7, 5) [000067] ----------- arg0 in rcx \--* BOX ref | |
N001 ( 1, 1) [000066] ----------- \--* LCL_VAR ref V09 tmp3 | |
***** BB12 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 | |
N002 ( 17, 16) [000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
N001 ( 3, 10) [000070] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB12 [0006] | |
STMT00021 ( ??? ... ??? ) | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double | |
N003 ( 2, 2) [000075] -------N--- +--* ADD byref | |
N001 ( 1, 1) [000073] ----------- | +--* LCL_VAR ref V10 tmp4 | |
N002 ( 1, 1) [000074] ----------- | \--* CNS_INT long 8 | |
N004 ( 1, 2) [000069] ----------- \--* LCL_VAR double V03 loc2 | |
***** BB12 [0006] | |
STMT00022 ( ??? ... ??? ) | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
N002 ( 7, 5) [000078] ----------- arg0 in rcx \--* BOX ref | |
N001 ( 1, 1) [000077] ----------- \--* LCL_VAR ref V10 tmp4 | |
***** BB12 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 | |
N002 ( 17, 16) [000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
N001 ( 3, 10) [000081] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB12 [0006] | |
STMT00024 ( ??? ... ??? ) | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double | |
N003 ( 2, 2) [000086] -------N--- +--* ADD byref | |
N001 ( 1, 1) [000084] ----------- | +--* LCL_VAR ref V11 tmp5 | |
N002 ( 1, 1) [000085] ----------- | \--* CNS_INT long 8 | |
N004 ( 3, 4) [000080] ----------- \--* LCL_VAR double V04 loc3 | |
***** BB12 [0006] | |
STMT00025 ( ??? ... ??? ) | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
N002 ( 7, 5) [000089] ----------- arg0 in rcx \--* BOX ref | |
N001 ( 1, 1) [000088] ----------- \--* LCL_VAR ref V11 tmp5 | |
***** BB12 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
N002 ( 2, 2) [000092] ----------- * RETURN int | |
N001 ( 1, 1) [000176] ----------- \--* CNS_INT int 1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Build SSA representation | |
*************** In SsaBuilder::Build() | |
*************** In fgLocalVarLiveness() | |
In fgLocalVarLivenessInit | |
Local V06 should not be enregistered because: struct size does not match reg size | |
Tracked variable (12 out of 18) table: | |
V12 tmp6 [ int]: refCnt = 5, refCntWtd = 497.17 | |
V05 loc4 [ int]: refCnt = 4, refCntWtd = 298.81 | |
V02 loc1 [ int]: refCnt = 3, refCntWtd = 101.00 | |
V09 tmp3 [ ref]: refCnt = 3, refCntWtd = 3.57 | |
V10 tmp4 [ ref]: refCnt = 3, refCntWtd = 3.57 | |
V11 tmp5 [ ref]: refCnt = 3, refCntWtd = 3.57 | |
V03 loc2 [double]: refCnt = 9, refCntWtd = 396.33 | |
V13 tmp7 [double]: refCnt = 3, refCntWtd = 197.34 | |
V16 tmp10 [double]: refCnt = 1, refCntWtd = 197.29 | |
V04 loc3 [double]: refCnt = 1, refCntWtd = 0.60 | |
V14 tmp8 [double]: refCnt = 3, refCntWtd = 0.15 | |
V15 tmp9 [double]: refCnt = 3, refCntWtd = 0.15 | |
*************** In fgPerBlockLocalVarLiveness() | |
BB01 USE(1)={V05} | |
DEF(0)={ } | |
BB02 USE(0)={} | |
DEF(0)={} | |
BB03 USE(0)={ } | |
DEF(1)={V12} | |
BB04 USE(0)={} | |
DEF(0)={} | |
BB05 USE(1)={V03 } | |
DEF(2)={ V13 V16} | |
BB06 USE(1)={V03 } + ByrefExposed + GcHeap | |
DEF(1)={ V14} + ByrefExposed* + GcHeap* | |
BB07 USE(3)={V03 V13 V14 } | |
DEF(2)={V03 V15} | |
BB08 USE(1)={V12} | |
DEF(1)={V12} | |
BB09 USE(0)={} | |
DEF(0)={} | |
BB10 USE(1)={V05 } | |
DEF(2)={V05 V02} | |
BB11 USE(0)={} | |
DEF(0)={} | |
BB12 USE(3)={V02 V03 V04} + ByrefExposed + GcHeap | |
DEF(3)={ V09 V10 V11 } + ByrefExposed* + GcHeap* | |
** Memory liveness computed, GcHeap states and ByrefExposed states match | |
*************** In fgInterBlockLocalVarLiveness() | |
BB liveness after fgLiveVarAnalysis(): | |
BB01 IN (4)={V05 V02 V03 V04} + ByrefExposed + GcHeap | |
OUT(4)={V05 V02 V03 V04} + ByrefExposed + GcHeap | |
BB02 IN (3)={V05 V03 V04} + ByrefExposed + GcHeap | |
OUT(3)={V05 V03 V04} + ByrefExposed + GcHeap | |
BB03 IN (3)={ V05 V03 V04} + ByrefExposed + GcHeap | |
OUT(4)={V12 V05 V03 V04} + ByrefExposed + GcHeap | |
BB04 IN (4)={V12 V05 V03 V04} + ByrefExposed + GcHeap | |
OUT(4)={V12 V05 V03 V04} + ByrefExposed + GcHeap | |
BB05 IN (4)={V12 V05 V03 V04} + ByrefExposed + GcHeap | |
OUT(5)={V12 V05 V03 V13 V04} + ByrefExposed + GcHeap | |
BB06 IN (5)={V12 V05 V03 V13 V04 } + ByrefExposed + GcHeap | |
OUT(6)={V12 V05 V03 V13 V04 V14} + ByrefExposed + GcHeap | |
BB07 IN (6)={V12 V05 V03 V13 V04 V14} + ByrefExposed + GcHeap | |
OUT(4)={V12 V05 V03 V04 } + ByrefExposed + GcHeap | |
BB08 IN (4)={V12 V05 V03 V04} + ByrefExposed + GcHeap | |
OUT(4)={V12 V05 V03 V04} + ByrefExposed + GcHeap | |
BB09 IN (3)={V05 V03 V04} + ByrefExposed + GcHeap | |
OUT(3)={V05 V03 V04} + ByrefExposed + GcHeap | |
BB10 IN (3)={V05 V03 V04} + ByrefExposed + GcHeap | |
OUT(4)={V05 V02 V03 V04} + ByrefExposed + GcHeap | |
BB11 IN (3)={V02 V03 V04} + ByrefExposed + GcHeap | |
OUT(3)={V02 V03 V04} + ByrefExposed + GcHeap | |
BB12 IN (3)={V02 V03 V04} + ByrefExposed + GcHeap | |
OUT(0)={ } | |
top level store | |
removing stmt with no side effects | |
removing useless STMT00045 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000161] DA--G------ * STORE_LCL_VAR double V16 tmp10 | |
N001 ( 1, 2) [000103] ----------- \--* LCL_VAR double V03 loc2 | |
from BB05 | |
*************** In optRemoveRedundantZeroInits() | |
*************** In SsaBuilder::InsertPhiFunctions() | |
Inserting phi functions: | |
Added PHI definition for V05 at start of BB03. | |
Added PHI definition for V02 at start of BB12. | |
Added PHI definition for V12 at start of BB05. | |
Added PHI definition for V03 at start of BB09. | |
Added PHI definition for V03 at start of BB05. | |
Added PHI definition for V03 at start of BB10. | |
Added PHI definition for V03 at start of BB12. | |
Added PHI definition for V03 at start of BB03. | |
Inserting phi definition for ByrefExposed at start of BB09. | |
Inserting phi definition for ByrefExposed at start of BB05. | |
Inserting phi definition for ByrefExposed at start of BB10. | |
Inserting phi definition for ByrefExposed at start of BB12. | |
Inserting phi definition for ByrefExposed at start of BB03. | |
*************** In SsaBuilder::RenameVariables() | |
V02.1: defined in BB00 1 uses (global), has phi uses | |
V02.2: defined in BB10 1 uses (global), has phi uses | |
V02.3: defined in BB12 1 uses (local) | |
V03.1: defined in BB00 2 uses (global), has phi uses | |
V03.2: defined in BB03 2 uses (global), has phi uses | |
V03.3: defined in BB05 7 uses (global), has phi uses | |
V03.4: defined in BB07 3 uses (global), has phi uses | |
V03.5: defined in BB09 1 uses (global), has phi uses | |
V03.6: defined in BB10 2 uses (global), has phi uses | |
V03.7: defined in BB12 1 uses (local) | |
V04.1: defined in BB00 1 uses (global) | |
V05.1: defined in BB00 2 uses (global), has phi uses | |
V05.2: defined in BB03 1 uses (global) | |
V05.3: defined in BB10 2 uses (global), has phi uses | |
V09.1: defined in BB00 0 uses (local) | |
V09.2: defined in BB12 2 uses (local) | |
V10.1: defined in BB00 0 uses (local) | |
V10.2: defined in BB12 2 uses (local) | |
V11.1: defined in BB00 0 uses (local) | |
V11.2: defined in BB12 2 uses (local) | |
V12.1: defined in BB00 0 uses (local) | |
V12.2: defined in BB03 2 uses (global), has phi uses | |
V12.3: defined in BB05 1 uses (global) | |
V12.4: defined in BB08 2 uses (global), has phi uses | |
V13.1: defined in BB00 0 uses (local) | |
V13.2: defined in BB05 2 uses (global) | |
V14.1: defined in BB00 0 uses (local) | |
V14.2: defined in BB06 2 uses (global) | |
V15.1: defined in BB00 0 uses (local) | |
V15.2: defined in BB07 2 uses (local) | |
V16.1: defined in BB00 0 uses (local) | |
*************** Finishing PHASE Build SSA representation | |
Trees after Build SSA representation | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB12(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB10 99.41 167 [01D..03A)-> BB10(0.00812),BB04(0.992) ( cond ) i IBC loophead bwd bwd-target | |
BB04 [0021] 1 BB03 98.60 166 [01D..???)-> BB05(1) (always) IBC internal | |
BB05 [0009] 2 BB04,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..???)-> BB10(1) (always) IBC internal | |
BB10 [0014] 2 BB03,BB09 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 1 BB10 0.59 1 [06D..???)-> BB12(1) (always) IBC internal | |
BB12 [0006] 2 BB01,BB11 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB12(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB12} | |
SSA MEM: ByrefExposed, GcHeap = m:1 | |
***** BB01 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
N004 ( 5, 8) [000177] ----------- * JTRUE void | |
N003 ( 3, 6) [000178] J------N--- \--* GT int | |
N001 ( 1, 1) [000179] ----------- +--* LCL_VAR int V05 loc4 u:1 | |
N002 ( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 | |
SSA MEM: ByrefExposed, GcHeap = m:1 | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
SSA MEM: ByrefExposed, GcHeap = m:1 | |
SSA MEM: ByrefExposed, GcHeap = m:1 | |
------------ BB03 [0001] [01D..03A) -> BB10(0.008118008),BB04(0.991882) (cond), preds={BB02,BB10} succs={BB04,BB10} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:6, m:1) | |
***** BB03 [0001] | |
STMT00056 ( ??? ... ??? ) | |
N004 ( 0, 0) [000200] DA--------- * STORE_LCL_VAR double V03 loc2 d:2 | |
N003 ( 0, 0) [000199] ----------- \--* PHI double | |
N001 ( 0, 0) [000215] ----------- pred BB10 +--* PHI_ARG double V03 loc2 u:6 | |
N002 ( 0, 0) [000203] ----------- pred BB02 \--* PHI_ARG double V03 loc2 u:1 | |
***** BB03 [0001] | |
STMT00049 ( ??? ... ??? ) | |
N004 ( 0, 0) [000186] DA--------- * STORE_LCL_VAR int V05 loc4 d:2 | |
N003 ( 0, 0) [000185] ----------- \--* PHI int | |
N001 ( 0, 0) [000216] ----------- pred BB10 +--* PHI_ARG int V05 loc4 u:3 | |
N002 ( 0, 0) [000204] ----------- pred BB02 \--* PHI_ARG int V05 loc4 u:1 | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 | |
N001 ( 1, 1) [000096] ----------- \--* CNS_INT int 1 | |
***** BB03 [0001] | |
STMT00048 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000181] ----------- * JTRUE void | |
N003 ( 3, 3) [000182] J------N--- \--* GT int | |
N001 ( 1, 1) [000183] ----------- +--* LCL_VAR int V12 tmp6 u:2 | |
N002 ( 1, 1) [000184] ----------- \--* CNS_INT int 10 | |
SSA MEM: ByrefExposed, GcHeap = m:2 | |
------------ BB04 [0021] [01D..???) -> BB05(1) (always), preds={BB03} succs={BB05} | |
SSA MEM: ByrefExposed, GcHeap = m:2 | |
SSA MEM: ByrefExposed, GcHeap = m:2 | |
------------ BB05 [0009] [01D..01E) -> BB09(0.9995009),BB06(0.0004990518) (cond), preds={BB04,BB08} succs={BB06,BB09} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:4, m:2) | |
***** BB05 [0009] | |
STMT00053 ( ??? ... ??? ) | |
N004 ( 0, 0) [000194] DA--------- * STORE_LCL_VAR double V03 loc2 d:3 | |
N003 ( 0, 0) [000193] ----------- \--* PHI double | |
N001 ( 0, 0) [000212] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 | |
N002 ( 0, 0) [000206] ----------- pred BB04 \--* PHI_ARG double V03 loc2 u:2 | |
***** BB05 [0009] | |
STMT00051 ( ??? ... ??? ) | |
N004 ( 0, 0) [000190] DA--------- * STORE_LCL_VAR int V12 tmp6 d:3 | |
N003 ( 0, 0) [000189] ----------- \--* PHI int | |
N001 ( 0, 0) [000213] ----------- pred BB08 +--* PHI_ARG int V12 tmp6 u:4 | |
N002 ( 0, 0) [000207] ----------- pred BB04 \--* PHI_ARG int V12 tmp6 u:2 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N010 ( 29, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 | |
N009 ( 29, 26) [000160] --------R-- \--* SUB double | |
N008 ( 3, 2) [000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
N007 ( 21, 20) [000159] ----------- \--* MUL double | |
N005 ( 15, 14) [000158] --------R-- +--* SUB double | |
N004 ( 3, 2) [000154] ----------- | +--* CNS_DBL double 1.0000000000000000 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 12, 22) [000111] ----------- * JTRUE void | |
N004 ( 10, 20) [000110] J------N--- \--* LT int | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 u:2 | |
N003 ( 3, 2) [000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
SSA MEM: ByrefExposed, GcHeap = m:3 | |
------------ BB06 [0010] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
SSA MEM: ByrefExposed, GcHeap = m:3 | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 | |
N002 ( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
N001 ( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 u:3 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 7, 9) [000120] ----------- * JTRUE void | |
N003 ( 5, 7) [000119] J------N--- \--* EQ int | |
N001 ( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 u:2 | |
N002 ( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
------------ BB07 [0011] [01D..01E) -> BB09(0),BB08(1) (cond), preds={BB06} succs={BB08,BB09} | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 | |
N003 ( 40, 10) [000123] ----------- \--* DIV double | |
N001 ( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 u:2 (last use) | |
N002 ( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 u:2 (last use) | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 | |
N003 ( 9, 10) [000129] ----G------ \--* SUB double | |
N001 ( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 u:3 (last use) | |
N002 ( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 u:2 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 14, 24) [000135] ----------- * JTRUE void | |
N004 ( 12, 22) [000134] J------N--- \--* LT int | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 u:2 (last use) | |
N003 ( 3, 2) [000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
------------ BB08 [0012] [01D..01E) -> BB05(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB05} | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 | |
N003 ( 3, 3) [000138] ----------- \--* ADD int | |
N001 ( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 u:3 (last use) | |
N002 ( 1, 1) [000137] ----------- \--* CNS_INT int 1 | |
***** BB08 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000101] ----------- * JTRUE void | |
N003 ( 3, 3) [000100] J------N--- \--* LE int | |
N001 ( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 u:4 | |
N002 ( 1, 1) [000099] ----------- \--* CNS_INT int 10 | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
------------ BB09 [0022] [01D..???) -> BB10(1) (always), preds={BB05,BB06,BB07,BB08} succs={BB10} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:4, m:3) | |
***** BB09 [0022] | |
STMT00052 ( ??? ... ??? ) | |
N006 ( 0, 0) [000192] DA--------- * STORE_LCL_VAR double V03 loc2 d:5 | |
N005 ( 0, 0) [000191] ----------- \--* PHI double | |
N001 ( 0, 0) [000211] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 | |
N002 ( 0, 0) [000210] ----------- pred BB07 +--* PHI_ARG double V03 loc2 u:4 | |
N003 ( 0, 0) [000209] ----------- pred BB06 +--* PHI_ARG double V03 loc2 u:3 | |
N004 ( 0, 0) [000208] ----------- pred BB05 \--* PHI_ARG double V03 loc2 u:3 | |
SSA MEM: ByrefExposed, GcHeap = m:5 | |
------------ BB10 [0014] [01D..06D) -> BB03(0.99405),BB11(0.00595) (cond), preds={BB03,BB09} succs={BB11,BB03} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:5, m:2) | |
***** BB10 [0014] | |
STMT00054 ( ??? ... ??? ) | |
N004 ( 0, 0) [000196] DA--------- * STORE_LCL_VAR double V03 loc2 d:6 | |
N003 ( 0, 0) [000195] ----------- \--* PHI double | |
N001 ( 0, 0) [000214] ----------- pred BB09 +--* PHI_ARG double V03 loc2 u:5 | |
N002 ( 0, 0) [000205] ----------- pred BB03 \--* PHI_ARG double V03 loc2 u:2 | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 | |
N001 ( 1, 1) [000141] ----------- \--* CNS_INT int 2 | |
***** BB10 [0014] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 | |
N003 ( 3, 3) [000026] ----------- \--* ADD int | |
N001 ( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 u:2 (last use) | |
N002 ( 1, 1) [000025] ----------- \--* CNS_INT int 1 | |
***** BB10 [0014] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
N004 ( 5, 8) [000013] ----------- * JTRUE void | |
N003 ( 3, 6) [000012] J------N--- \--* LE int | |
N001 ( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 u:3 | |
N002 ( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 | |
SSA MEM: ByrefExposed, GcHeap = m:6 | |
------------ BB11 [0023] [06D..???) -> BB12(1) (always), preds={BB10} succs={BB12} | |
SSA MEM: ByrefExposed, GcHeap = m:6 | |
SSA MEM: ByrefExposed, GcHeap = m:6 | |
------------ BB12 [0006] [06D..090) (return), preds={BB01,BB11} succs={} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:6, m:1) | |
***** BB12 [0006] | |
STMT00055 ( ??? ... ??? ) | |
N004 ( 0, 0) [000198] DA--------- * STORE_LCL_VAR double V03 loc2 d:7 | |
N003 ( 0, 0) [000197] ----------- \--* PHI double | |
N001 ( 0, 0) [000217] ----------- pred BB11 +--* PHI_ARG double V03 loc2 u:6 | |
N002 ( 0, 0) [000201] ----------- pred BB01 \--* PHI_ARG double V03 loc2 u:1 | |
***** BB12 [0006] | |
STMT00050 ( ??? ... ??? ) | |
N004 ( 0, 0) [000188] DA--------- * STORE_LCL_VAR int V02 loc1 d:3 | |
N003 ( 0, 0) [000187] ----------- \--* PHI int | |
N001 ( 0, 0) [000218] ----------- pred BB11 +--* PHI_ARG int V02 loc1 u:2 | |
N002 ( 0, 0) [000202] ----------- pred BB01 \--* PHI_ARG int V02 loc1 u:1 | |
***** BB12 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 | |
N002 ( 17, 16) [000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
N001 ( 3, 10) [000059] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
***** BB12 [0006] | |
STMT00018 ( ??? ... ??? ) | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int | |
N003 ( 2, 2) [000064] -------N--- +--* ADD byref | |
N001 ( 1, 1) [000062] ----------- | +--* LCL_VAR ref V09 tmp3 u:2 | |
N002 ( 1, 1) [000063] ----------- | \--* CNS_INT long 8 | |
N004 ( 1, 1) [000058] ----------- \--* LCL_VAR int V02 loc1 u:3 (last use) | |
***** BB12 [0006] | |
STMT00019 ( ??? ... ??? ) | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
N002 ( 7, 5) [000067] ----------- arg0 in rcx \--* BOX ref | |
N001 ( 1, 1) [000066] ----------- \--* LCL_VAR ref V09 tmp3 u:2 (last use) | |
***** BB12 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 | |
N002 ( 17, 16) [000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
N001 ( 3, 10) [000070] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB12 [0006] | |
STMT00021 ( ??? ... ??? ) | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double | |
N003 ( 2, 2) [000075] -------N--- +--* ADD byref | |
N001 ( 1, 1) [000073] ----------- | +--* LCL_VAR ref V10 tmp4 u:2 | |
N002 ( 1, 1) [000074] ----------- | \--* CNS_INT long 8 | |
N004 ( 1, 2) [000069] ----------- \--* LCL_VAR double V03 loc2 u:7 (last use) | |
***** BB12 [0006] | |
STMT00022 ( ??? ... ??? ) | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
N002 ( 7, 5) [000078] ----------- arg0 in rcx \--* BOX ref | |
N001 ( 1, 1) [000077] ----------- \--* LCL_VAR ref V10 tmp4 u:2 (last use) | |
***** BB12 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 | |
N002 ( 17, 16) [000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
N001 ( 3, 10) [000081] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
***** BB12 [0006] | |
STMT00024 ( ??? ... ??? ) | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double | |
N003 ( 2, 2) [000086] -------N--- +--* ADD byref | |
N001 ( 1, 1) [000084] ----------- | +--* LCL_VAR ref V11 tmp5 u:2 | |
N002 ( 1, 1) [000085] ----------- | \--* CNS_INT long 8 | |
N004 ( 3, 4) [000080] ----------- \--* LCL_VAR double V04 loc3 u:1 (last use) | |
***** BB12 [0006] | |
STMT00025 ( ??? ... ??? ) | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
N002 ( 7, 5) [000089] ----------- arg0 in rcx \--* BOX ref | |
N001 ( 1, 1) [000088] ----------- \--* LCL_VAR ref V11 tmp5 u:2 (last use) | |
***** BB12 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
N002 ( 2, 2) [000092] ----------- * RETURN int | |
N001 ( 1, 1) [000176] ----------- \--* CNS_INT int 1 | |
SSA MEM: ByrefExposed, GcHeap = m:8 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
[info] HasGlobalUse overestimated for V02.1 | |
[info] HasGlobalUse overestimated for V04.1 | |
SSA checks completed successfully | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Early Value Propagation | |
no arrays or null checks in the method | |
*************** Finishing PHASE Early Value Propagation [no changes] | |
*************** Starting PHASE Do value numbering | |
*************** In fgValueNumber() | |
optComputeLoopSideEffectsOfBlock BB03, mostNestedLoop L00 | |
optComputeLoopSideEffectsOfBlock BB04, mostNestedLoop L00 | |
optComputeLoopSideEffectsOfBlock BB05, mostNestedLoop L01 | |
optComputeLoopSideEffectsOfBlock BB06, mostNestedLoop L01 | |
optComputeLoopSideEffectsOfBlock BB07, mostNestedLoop L01 | |
optComputeLoopSideEffectsOfBlock BB08, mostNestedLoop L01 | |
optComputeLoopSideEffectsOfBlock BB09, mostNestedLoop L00 | |
optComputeLoopSideEffectsOfBlock BB10, mostNestedLoop L00 | |
Memory Initial Value in BB01 is: $140 | |
Visiting BB01 | |
The SSA definition for ByrefExposed (#1) at start of BB01 is $140 {InitVal($46)} | |
The SSA definition for GcHeap (#1) at start of BB01 is $140 {InitVal($46)} | |
***** BB01, STMT00047(before) | |
N004 ( 5, 8) [000177] ----------- * JTRUE void | |
N003 ( 3, 6) [000178] J------N--- \--* GT int | |
N001 ( 1, 1) [000179] ----------- +--* LCL_VAR int V05 loc4 u:1 | |
N002 ( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 | |
N001 [000179] LCL_VAR V05 loc4 u:1 => $81 {InitVal($43)} | |
N002 [000180] CNS_INT 0x4C4B400 => $47 {IntCns 0x4C4B400} | |
N003 [000178] GT => $180 {GT($81, $47)} | |
N004 [000177] JTRUE => $VN.Void | |
***** BB01, STMT00047(after) | |
N004 ( 5, 8) [000177] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000178] J------N--- \--* GT int $180 | |
N001 ( 1, 1) [000179] ----------- +--* LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
Visiting BB02 | |
Reachable through pred BB01 | |
The SSA definition for ByrefExposed (#1) at start of BB02 is $140 {InitVal($46)} | |
The SSA definition for GcHeap (#1) at start of BB02 is $140 {InitVal($46)} | |
Visiting BB03 | |
Reachable through pred BB02 | |
SSA PHI definition: set VN of local 3/2 to $200 {PhiDef($3, $2, $1c0)} . | |
SSA PHI definition: set VN of local 5/2 to $240 {PhiDef($5, $2, $181)} . | |
Computing GcHeap state for block BB03, entry block for loop L00: | |
Loop L00 has memory havoc effect; heap state is new unique $141. | |
The SSA definition for GcHeap (#2) at start of BB03 is $141 {MemOpaque:L00} | |
***** BB03, STMT00028(before) | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 | |
N001 ( 1, 1) [000096] ----------- \--* CNS_INT int 1 | |
N001 [000096] CNS_INT 1 => $49 {IntCns 1} | |
Tree [000097] assigned VN to local var V12/2: $49 {IntCns 1} | |
N002 [000097] STORE_LCL_VAR V12 tmp6 d:2 => $VN.Void | |
***** BB03, STMT00028(after) | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 $VN.Void | |
N001 ( 1, 1) [000096] ----------- \--* CNS_INT int 1 $49 | |
--------- | |
***** BB03, STMT00048(before) | |
N004 ( 5, 5) [000181] ----------- * JTRUE void | |
N003 ( 3, 3) [000182] J------N--- \--* GT int | |
N001 ( 1, 1) [000183] ----------- +--* LCL_VAR int V12 tmp6 u:2 | |
N002 ( 1, 1) [000184] ----------- \--* CNS_INT int 10 | |
N001 [000183] LCL_VAR V12 tmp6 u:2 => $49 {IntCns 1} | |
N002 [000184] CNS_INT 10 => $4a {IntCns 10} | |
N003 [000182] GT => $44 {IntCns 0} | |
N004 [000181] JTRUE => $VN.Void | |
***** BB03, STMT00048(after) | |
N004 ( 5, 5) [000181] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000182] J------N--- \--* GT int $44 | |
N001 ( 1, 1) [000183] ----------- +--* LCL_VAR int V12 tmp6 u:2 $49 | |
N002 ( 1, 1) [000184] ----------- \--* CNS_INT int 10 $4a | |
Visiting BB04 | |
Reachable through pred BB03 | |
The SSA definition for ByrefExposed (#2) at start of BB04 is $141 {MemOpaque:L00} | |
The SSA definition for GcHeap (#2) at start of BB04 is $141 {MemOpaque:L00} | |
Visiting BB05 | |
Reachable through pred BB04 | |
SSA PHI definition: set VN of local 3/3 to $201 {PhiDef($3, $3, $1c1)} . | |
SSA PHI definition: set VN of local 12/3 to $241 {PhiDef($c, $3, $1c1)} . | |
Computing GcHeap state for block BB05, entry block for loop L01: | |
Loop L01 has memory havoc effect; heap state is new unique $142. | |
The SSA definition for GcHeap (#3) at start of BB05 is $142 {MemOpaque:L01} | |
***** BB05, STMT00031(before) | |
N010 ( 29, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 | |
N009 ( 29, 26) [000160] --------R-- \--* SUB double | |
N008 ( 3, 2) [000152] ----------- +--* CNS_DBL double -1.0000000000000000 | |
N007 ( 21, 20) [000159] ----------- \--* MUL double | |
N005 ( 15, 14) [000158] --------R-- +--* SUB double | |
N004 ( 3, 2) [000154] ----------- | +--* CNS_DBL double 1.0000000000000000 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 | |
N001 [000155] LCL_VAR V03 loc2 u:3 => $201 {PhiDef($3, $3, $1c1)} | |
N002 [000156] LCL_VAR V03 loc2 u:3 => $201 {PhiDef($3, $3, $1c1)} | |
N003 [000157] MUL => $1c2 {MUL($201, $201)} | |
N004 [000154] CNS_DBL 1.0000000000000000 => $101 {DblCns[1.000000]} | |
N005 [000158] SUB => $1c3 {SUB($101, $1c2)} | |
N006 [000153] LCL_VAR V03 loc2 u:3 => $201 {PhiDef($3, $3, $1c1)} | |
N007 [000159] MUL => $1c4 {MUL($1c3, $201)} | |
N008 [000152] CNS_DBL -1.0000000000000000 => $102 {DblCns[-1.000000]} | |
N009 [000160] SUB => $1c5 {SUB($102, $1c4)} | |
Tree [000106] assigned VN to local var V13/2: $1c5 {SUB($102, $1c4)} | |
N010 [000106] STORE_LCL_VAR V13 tmp7 d:2 => $VN.Void | |
***** BB05, STMT00031(after) | |
N010 ( 29, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
N009 ( 29, 26) [000160] --------R-- \--* SUB double $1c5 | |
N008 ( 3, 2) [000152] ----------- +--* CNS_DBL double -1.0000000000000000 $102 | |
N007 ( 21, 20) [000159] ----------- \--* MUL double $1c4 | |
N005 ( 15, 14) [000158] --------R-- +--* SUB double $1c3 | |
N004 ( 3, 2) [000154] ----------- | +--* CNS_DBL double 1.0000000000000000 $101 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double $1c2 | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 $201 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 $201 | |
--------- | |
***** BB05, STMT00032(before) | |
N005 ( 12, 22) [000111] ----------- * JTRUE void | |
N004 ( 10, 20) [000110] J------N--- \--* LT int | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 u:2 | |
N003 ( 3, 2) [000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
N001 [000107] LCL_VAR V13 tmp7 u:2 => $1c5 {SUB($102, $1c4)} | |
N002 [000108] INTRINSIC => $c3 {Abs($1c5)} | |
N003 [000109] CNS_DBL 9.9999999999999995e-08 => $103 {DblCns[0.000000]} | |
N004 [000110] LT => $182 {LT($c3, $103)} | |
N005 [000111] JTRUE => $VN.Void | |
***** BB05, STMT00032(after) | |
N005 ( 12, 22) [000111] ----------- * JTRUE void $VN.Void | |
N004 ( 10, 20) [000110] J------N--- \--* LT int $182 | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs $c3 | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 u:2 $1c5 | |
N003 ( 3, 2) [000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
Visiting BB06 | |
Reachable through pred BB05 | |
The SSA definition for ByrefExposed (#3) at start of BB06 is $142 {MemOpaque:L01} | |
The SSA definition for GcHeap (#3) at start of BB06 is $142 {MemOpaque:L01} | |
***** BB06, STMT00034(before) | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 | |
N002 ( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double | |
N001 ( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 u:3 | |
N001 [000113] LCL_VAR V03 loc2 u:3 => $201 {PhiDef($3, $3, $1c1)} | |
fgCurMemoryVN[GcHeap] assigned for CALL at [000114] to VN: $143. | |
N002 [000114] CALL => $c4 {MemOpaque:L01} | |
Tree [000116] assigned VN to local var V14/2: $c4 {MemOpaque:L01} | |
N003 [000116] STORE_LCL_VAR V14 tmp8 d:2 => $VN.Void | |
***** BB06, STMT00034(after) | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
N002 ( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
N001 ( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 u:3 $201 | |
--------- | |
***** BB06, STMT00035(before) | |
N004 ( 7, 9) [000120] ----------- * JTRUE void | |
N003 ( 5, 7) [000119] J------N--- \--* EQ int | |
N001 ( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 u:2 | |
N002 ( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 | |
N001 [000117] LCL_VAR V14 tmp8 u:2 => $c4 {MemOpaque:L01} | |
N002 [000118] CNS_DBL 0.0000000000000000 => $100 {DblCns[0.000000]} | |
N003 [000119] EQ => $183 {EQ($c4, $100)} | |
N004 [000120] JTRUE => $VN.Void | |
***** BB06, STMT00035(after) | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
N003 ( 5, 7) [000119] J------N--- \--* EQ int $183 | |
N001 ( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 $100 | |
Visiting BB07 | |
Reachable through pred BB06 | |
The SSA definition for ByrefExposed (#4) at start of BB07 is $143 {MemOpaque:L01} | |
The SSA definition for GcHeap (#4) at start of BB07 is $143 {MemOpaque:L01} | |
***** BB07, STMT00036(before) | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 | |
N003 ( 40, 10) [000123] ----------- \--* DIV double | |
N001 ( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 u:2 (last use) | |
N002 ( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 u:2 (last use) | |
N001 [000121] LCL_VAR V13 tmp7 u:2 (last use) => $1c5 {SUB($102, $1c4)} | |
N002 [000122] LCL_VAR V14 tmp8 u:2 (last use) => $c4 {MemOpaque:L01} | |
N003 [000123] DIV => $1c6 {DIV($1c5, $c4)} | |
Tree [000124] assigned VN to local var V15/2: $1c6 {DIV($1c5, $c4)} | |
N004 [000124] STORE_LCL_VAR V15 tmp9 d:2 => $VN.Void | |
***** BB07, STMT00036(after) | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
N003 ( 40, 10) [000123] ----------- \--* DIV double $1c6 | |
N001 ( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
--------- | |
***** BB07, STMT00037(before) | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 | |
N003 ( 9, 10) [000129] ----G------ \--* SUB double | |
N001 ( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 u:3 (last use) | |
N002 ( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 u:2 | |
N001 [000127] LCL_VAR V03 loc2 u:3 (last use) => $201 {PhiDef($3, $3, $1c1)} | |
N002 [000128] LCL_VAR V15 tmp9 u:2 => $1c6 {DIV($1c5, $c4)} | |
N003 [000129] SUB => $1c7 {SUB($201, $1c6)} | |
Tree [000130] assigned VN to local var V03/4: $1c7 {SUB($201, $1c6)} | |
N004 [000130] STORE_LCL_VAR V03 loc2 d:4 => $VN.Void | |
***** BB07, STMT00037(after) | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
N003 ( 9, 10) [000129] ----G------ \--* SUB double $1c7 | |
N001 ( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 u:2 $1c6 | |
--------- | |
***** BB07, STMT00038(before) | |
N005 ( 14, 24) [000135] ----------- * JTRUE void | |
N004 ( 12, 22) [000134] J------N--- \--* LT int | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 u:2 (last use) | |
N003 ( 3, 2) [000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 | |
N001 [000131] LCL_VAR V15 tmp9 u:2 (last use) => $1c6 {DIV($1c5, $c4)} | |
N002 [000132] INTRINSIC => $c5 {Abs($1c6)} | |
N003 [000133] CNS_DBL 9.9999999999999995e-08 => $103 {DblCns[0.000000]} | |
N004 [000134] LT => $184 {LT($c5, $103)} | |
N005 [000135] JTRUE => $VN.Void | |
***** BB07, STMT00038(after) | |
N005 ( 14, 24) [000135] ----------- * JTRUE void $VN.Void | |
N004 ( 12, 22) [000134] J------N--- \--* LT int $184 | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs $c5 | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
N003 ( 3, 2) [000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
Visiting BB08 | |
Reachable through pred BB07 | |
The SSA definition for ByrefExposed (#4) at start of BB08 is $143 {MemOpaque:L01} | |
The SSA definition for GcHeap (#4) at start of BB08 is $143 {MemOpaque:L01} | |
***** BB08, STMT00039(before) | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 | |
N003 ( 3, 3) [000138] ----------- \--* ADD int | |
N001 ( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 u:3 (last use) | |
N002 ( 1, 1) [000137] ----------- \--* CNS_INT int 1 | |
N001 [000136] LCL_VAR V12 tmp6 u:3 (last use) => $241 {PhiDef($c, $3, $1c1)} | |
N002 [000137] CNS_INT 1 => $49 {IntCns 1} | |
N003 [000138] ADD => $185 {ADD($49, $241)} | |
Tree [000139] assigned VN to local var V12/4: $185 {ADD($49, $241)} | |
N004 [000139] STORE_LCL_VAR V12 tmp6 d:4 => $VN.Void | |
***** BB08, STMT00039(after) | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
N003 ( 3, 3) [000138] ----------- \--* ADD int $185 | |
N001 ( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] ----------- \--* CNS_INT int 1 $49 | |
--------- | |
***** BB08, STMT00029(before) | |
N004 ( 5, 5) [000101] ----------- * JTRUE void | |
N003 ( 3, 3) [000100] J------N--- \--* LE int | |
N001 ( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 u:4 | |
N002 ( 1, 1) [000099] ----------- \--* CNS_INT int 10 | |
N001 [000098] LCL_VAR V12 tmp6 u:4 => $185 {ADD($49, $241)} | |
N002 [000099] CNS_INT 10 => $4a {IntCns 10} | |
N003 [000100] LE => $186 {LE($185, $4a)} | |
N004 [000101] JTRUE => $VN.Void | |
***** BB08, STMT00029(after) | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000100] J------N--- \--* LE int $186 | |
N001 ( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] ----------- \--* CNS_INT int 10 $4a | |
Visiting BB09 | |
Reachable through pred BB05 | |
SSA PHI definition: set VN of local 3/5 to $202 {PhiDef($3, $5, $1ca)} . | |
Building phi application: $42 = SSA# 4. | |
Building phi application: $41 = SSA# 3. | |
Building phi application: $280 = phi($41, $42). | |
The SSA definition for GcHeap (#5) at start of BB09 is $281 {PhiMemoryDef($2c0, $280)} | |
Visiting BB10 | |
Unreachable through pred BB03 | |
Reachable through pred BB09 | |
Phi arg [000205] is unnecessary; path through pred BB03 cannot be taken | |
SSA PHI definition: set VN of local 3/6 to $202 {PhiDef($3, $5, $1ca)} (all same). | |
Building phi application: $43 = SSA# 5. | |
Building phi application: $40 = SSA# 2. | |
Building phi application: $282 = phi($40, $43). | |
The SSA definition for GcHeap (#6) at start of BB10 is $283 {PhiMemoryDef($2c1, $282)} | |
***** BB10, STMT00040(before) | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 | |
N001 ( 1, 1) [000141] ----------- \--* CNS_INT int 2 | |
N001 [000141] CNS_INT 2 => $40 {IntCns 2} | |
Tree [000142] assigned VN to local var V02/2: $40 {IntCns 2} | |
N002 [000142] STORE_LCL_VAR V02 loc1 d:2 => $VN.Void | |
***** BB10, STMT00040(after) | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
N001 ( 1, 1) [000141] ----------- \--* CNS_INT int 2 $40 | |
--------- | |
***** BB10, STMT00008(before) | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 | |
N003 ( 3, 3) [000026] ----------- \--* ADD int | |
N001 ( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 u:2 (last use) | |
N002 ( 1, 1) [000025] ----------- \--* CNS_INT int 1 | |
N001 [000024] LCL_VAR V05 loc4 u:2 (last use) => $240 {PhiDef($5, $2, $181)} | |
N002 [000025] CNS_INT 1 => $49 {IntCns 1} | |
N003 [000026] ADD => $187 {ADD($49, $240)} | |
Tree [000027] assigned VN to local var V05/3: $187 {ADD($49, $240)} | |
N004 [000027] STORE_LCL_VAR V05 loc4 d:3 => $VN.Void | |
***** BB10, STMT00008(after) | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
N003 ( 3, 3) [000026] ----------- \--* ADD int $187 | |
N001 ( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] ----------- \--* CNS_INT int 1 $49 | |
--------- | |
***** BB10, STMT00005(before) | |
N004 ( 5, 8) [000013] ----------- * JTRUE void | |
N003 ( 3, 6) [000012] J------N--- \--* LE int | |
N001 ( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 u:3 | |
N002 ( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 | |
N001 [000010] LCL_VAR V05 loc4 u:3 => $187 {ADD($49, $240)} | |
N002 [000011] CNS_INT 0x4C4B400 => $47 {IntCns 0x4C4B400} | |
N003 [000012] LE => $188 {LE($187, $47)} | |
N004 [000013] JTRUE => $VN.Void | |
***** BB10, STMT00005(after) | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000012] J------N--- \--* LE int $188 | |
N001 ( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
Visiting BB11 | |
Reachable through pred BB10 | |
The SSA definition for ByrefExposed (#6) at start of BB11 is $283 {PhiMemoryDef($2c1, $282)} | |
The SSA definition for GcHeap (#6) at start of BB11 is $283 {PhiMemoryDef($2c1, $282)} | |
Visiting BB12 | |
Reachable through pred BB01 | |
SSA PHI definition: set VN of local 3/7 to $203 {PhiDef($3, $7, $1c0)} . | |
SSA PHI definition: set VN of local 2/3 to $242 {PhiDef($2, $3, $189)} . | |
Building phi application: $48 = SSA# 6. | |
Building phi application: $49 = SSA# 1. | |
Building phi application: $1c0 = phi($49, $48). | |
The SSA definition for GcHeap (#7) at start of BB12 is $284 {PhiMemoryDef($2c2, $1c0)} | |
***** BB12, STMT00017(before) | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 | |
N002 ( 17, 16) [000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
N001 ( 3, 10) [000059] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 | |
N001 [000059] CNS_INT(h) 0x7ffa98325f28 class System.Int32 => $2c3 {Hnd const: 0x00007FFA98325F28 GTF_ICON_CLASS_HDL System.Int32} | |
N002 [000060] CALL help => $340 {JitNew($2c3, $300)} | |
Tree [000061] assigned VN to local var V09/2: $340 {JitNew($2c3, $300)} | |
N003 [000061] STORE_LCL_VAR V09 tmp3 d:2 => $VN.Void | |
***** BB12, STMT00017(after) | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 $VN.Void | |
N002 ( 17, 16) [000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $340 | |
N001 ( 3, 10) [000059] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
--------- | |
***** BB12, STMT00018(before) | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int | |
N003 ( 2, 2) [000064] -------N--- +--* ADD byref | |
N001 ( 1, 1) [000062] ----------- | +--* LCL_VAR ref V09 tmp3 u:2 | |
N002 ( 1, 1) [000063] ----------- | \--* CNS_INT long 8 | |
N004 ( 1, 1) [000058] ----------- \--* LCL_VAR int V02 loc1 u:3 (last use) | |
N001 [000062] LCL_VAR V09 tmp3 u:2 => $340 {JitNew($2c3, $300)} | |
N002 [000063] CNS_INT 8 => $380 {LngCns 8} | |
N003 [000064] ADD => $3c0 {ADD($340, $380)} | |
N004 [000058] LCL_VAR V02 loc1 u:3 (last use) => $242 {PhiDef($2, $3, $189)} | |
fgCurMemoryVN[GcHeap] assigned for assign-of-IND at [000065] to VN: $144. | |
N005 [000065] STOREIND => $VN.Void | |
***** BB12, STMT00018(after) | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int $VN.Void | |
N003 ( 2, 2) [000064] -------N--- +--* ADD byref $3c0 | |
N001 ( 1, 1) [000062] ----------- | +--* LCL_VAR ref V09 tmp3 u:2 $340 | |
N002 ( 1, 1) [000063] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 1) [000058] ----------- \--* LCL_VAR int V02 loc1 u:3 (last use) $242 | |
--------- | |
***** BB12, STMT00019(before) | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
N002 ( 7, 5) [000067] ----------- arg0 in rcx \--* BOX ref | |
N001 ( 1, 1) [000066] ----------- \--* LCL_VAR ref V09 tmp3 u:2 (last use) | |
N001 [000066] LCL_VAR V09 tmp3 u:2 (last use) => $340 {JitNew($2c3, $300)} | |
N002 [000067] BOX => $340 {JitNew($2c3, $300)} | |
fgCurMemoryVN[GcHeap] assigned for CALL at [000068] to VN: $145. | |
N003 [000068] CALL => $VN.Void | |
***** BB12, STMT00019(after) | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000067] ----------- arg0 in rcx \--* BOX ref $340 | |
N001 ( 1, 1) [000066] ----------- \--* LCL_VAR ref V09 tmp3 u:2 (last use) $340 | |
--------- | |
***** BB12, STMT00020(before) | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 | |
N002 ( 17, 16) [000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
N001 ( 3, 10) [000070] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
N001 [000070] CNS_INT(h) 0x7ffa98481978 class System.Double => $2c4 {Hnd const: 0x00007FFA98481978 GTF_ICON_CLASS_HDL System.Double} | |
N002 [000071] CALL help => $341 {JitNew($2c4, $301)} | |
Tree [000072] assigned VN to local var V10/2: $341 {JitNew($2c4, $301)} | |
N003 [000072] STORE_LCL_VAR V10 tmp4 d:2 => $VN.Void | |
***** BB12, STMT00020(after) | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 $VN.Void | |
N002 ( 17, 16) [000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $341 | |
N001 ( 3, 10) [000070] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
--------- | |
***** BB12, STMT00021(before) | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double | |
N003 ( 2, 2) [000075] -------N--- +--* ADD byref | |
N001 ( 1, 1) [000073] ----------- | +--* LCL_VAR ref V10 tmp4 u:2 | |
N002 ( 1, 1) [000074] ----------- | \--* CNS_INT long 8 | |
N004 ( 1, 2) [000069] ----------- \--* LCL_VAR double V03 loc2 u:7 (last use) | |
N001 [000073] LCL_VAR V10 tmp4 u:2 => $341 {JitNew($2c4, $301)} | |
N002 [000074] CNS_INT 8 => $380 {LngCns 8} | |
N003 [000075] ADD => $3c1 {ADD($341, $380)} | |
N004 [000069] LCL_VAR V03 loc2 u:7 (last use) => $203 {PhiDef($3, $7, $1c0)} | |
fgCurMemoryVN[GcHeap] assigned for assign-of-IND at [000076] to VN: $146. | |
N005 [000076] STOREIND => $VN.Void | |
***** BB12, STMT00021(after) | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000075] -------N--- +--* ADD byref $3c1 | |
N001 ( 1, 1) [000073] ----------- | +--* LCL_VAR ref V10 tmp4 u:2 $341 | |
N002 ( 1, 1) [000074] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 2) [000069] ----------- \--* LCL_VAR double V03 loc2 u:7 (last use) $203 | |
--------- | |
***** BB12, STMT00022(before) | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
N002 ( 7, 5) [000078] ----------- arg0 in rcx \--* BOX ref | |
N001 ( 1, 1) [000077] ----------- \--* LCL_VAR ref V10 tmp4 u:2 (last use) | |
N001 [000077] LCL_VAR V10 tmp4 u:2 (last use) => $341 {JitNew($2c4, $301)} | |
N002 [000078] BOX => $341 {JitNew($2c4, $301)} | |
fgCurMemoryVN[GcHeap] assigned for CALL at [000079] to VN: $147. | |
N003 [000079] CALL => $VN.Void | |
***** BB12, STMT00022(after) | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000078] ----------- arg0 in rcx \--* BOX ref $341 | |
N001 ( 1, 1) [000077] ----------- \--* LCL_VAR ref V10 tmp4 u:2 (last use) $341 | |
--------- | |
***** BB12, STMT00023(before) | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 | |
N002 ( 17, 16) [000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST | |
N001 ( 3, 10) [000081] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double | |
N001 [000081] CNS_INT(h) 0x7ffa98481978 class System.Double => $2c4 {Hnd const: 0x00007FFA98481978 GTF_ICON_CLASS_HDL System.Double} | |
N002 [000082] CALL help => $342 {JitNew($2c4, $302)} | |
Tree [000083] assigned VN to local var V11/2: $342 {JitNew($2c4, $302)} | |
N003 [000083] STORE_LCL_VAR V11 tmp5 d:2 => $VN.Void | |
***** BB12, STMT00023(after) | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 $VN.Void | |
N002 ( 17, 16) [000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $342 | |
N001 ( 3, 10) [000081] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
--------- | |
***** BB12, STMT00024(before) | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double | |
N003 ( 2, 2) [000086] -------N--- +--* ADD byref | |
N001 ( 1, 1) [000084] ----------- | +--* LCL_VAR ref V11 tmp5 u:2 | |
N002 ( 1, 1) [000085] ----------- | \--* CNS_INT long 8 | |
N004 ( 3, 4) [000080] ----------- \--* LCL_VAR double V04 loc3 u:1 (last use) | |
N001 [000084] LCL_VAR V11 tmp5 u:2 => $342 {JitNew($2c4, $302)} | |
N002 [000085] CNS_INT 8 => $380 {LngCns 8} | |
N003 [000086] ADD => $3c2 {ADD($342, $380)} | |
N004 [000080] LCL_VAR V04 loc3 u:1 (last use) => $c1 {InitVal($42)} | |
fgCurMemoryVN[GcHeap] assigned for assign-of-IND at [000087] to VN: $148. | |
N005 [000087] STOREIND => $VN.Void | |
***** BB12, STMT00024(after) | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000086] -------N--- +--* ADD byref $3c2 | |
N001 ( 1, 1) [000084] ----------- | +--* LCL_VAR ref V11 tmp5 u:2 $342 | |
N002 ( 1, 1) [000085] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 3, 4) [000080] ----------- \--* LCL_VAR double V04 loc3 u:1 (last use) $c1 | |
--------- | |
***** BB12, STMT00025(before) | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) | |
N002 ( 7, 5) [000089] ----------- arg0 in rcx \--* BOX ref | |
N001 ( 1, 1) [000088] ----------- \--* LCL_VAR ref V11 tmp5 u:2 (last use) | |
N001 [000088] LCL_VAR V11 tmp5 u:2 (last use) => $342 {JitNew($2c4, $302)} | |
N002 [000089] BOX => $342 {JitNew($2c4, $302)} | |
fgCurMemoryVN[GcHeap] assigned for CALL at [000090] to VN: $149. | |
N003 [000090] CALL => $VN.Void | |
***** BB12, STMT00025(after) | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000089] ----------- arg0 in rcx \--* BOX ref $342 | |
N001 ( 1, 1) [000088] ----------- \--* LCL_VAR ref V11 tmp5 u:2 (last use) $342 | |
--------- | |
***** BB12, STMT00026(before) | |
N002 ( 2, 2) [000092] ----------- * RETURN int | |
N001 ( 1, 1) [000176] ----------- \--* CNS_INT int 1 | |
N001 [000176] CNS_INT 1 => $49 {IntCns 1} | |
N002 [000092] RETURN => $VN.Void | |
***** BB12, STMT00026(after) | |
N002 ( 2, 2) [000092] ----------- * RETURN int $VN.Void | |
N001 ( 1, 1) [000176] ----------- \--* CNS_INT int 1 $49 | |
*************** Finishing PHASE Do value numbering | |
Trees after Do value numbering | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB12(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB10 99.41 167 [01D..03A)-> BB10(0.00812),BB04(0.992) ( cond ) i IBC loophead bwd bwd-target | |
BB04 [0021] 1 BB03 98.60 166 [01D..???)-> BB05(1) (always) IBC internal | |
BB05 [0009] 2 BB04,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..???)-> BB10(1) (always) IBC internal | |
BB10 [0014] 2 BB03,BB09 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 1 BB10 0.59 1 [06D..???)-> BB12(1) (always) IBC internal | |
BB12 [0006] 2 BB01,BB11 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB12(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB12} | |
SSA MEM: ByrefExposed, GcHeap = m:1 | |
***** BB01 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
N004 ( 5, 8) [000177] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000178] J------N--- \--* GT int $180 | |
N001 ( 1, 1) [000179] ----------- +--* LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
SSA MEM: ByrefExposed, GcHeap = m:1 | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
SSA MEM: ByrefExposed, GcHeap = m:1 | |
SSA MEM: ByrefExposed, GcHeap = m:1 | |
------------ BB03 [0001] [01D..03A) -> BB10(0.008118008),BB04(0.991882) (cond), preds={BB02,BB10} succs={BB04,BB10} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:6, m:1) | |
***** BB03 [0001] | |
STMT00056 ( ??? ... ??? ) | |
N004 ( 0, 0) [000200] DA--------- * STORE_LCL_VAR double V03 loc2 d:2 $VN.Void | |
N003 ( 0, 0) [000199] ----------- \--* PHI double $200 | |
N001 ( 0, 0) [000215] ----------- pred BB10 +--* PHI_ARG double V03 loc2 u:6 | |
N002 ( 0, 0) [000203] ----------- pred BB02 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB03 [0001] | |
STMT00049 ( ??? ... ??? ) | |
N004 ( 0, 0) [000186] DA--------- * STORE_LCL_VAR int V05 loc4 d:2 $VN.Void | |
N003 ( 0, 0) [000185] ----------- \--* PHI int $240 | |
N001 ( 0, 0) [000216] ----------- pred BB10 +--* PHI_ARG int V05 loc4 u:3 | |
N002 ( 0, 0) [000204] ----------- pred BB02 \--* PHI_ARG int V05 loc4 u:1 $81 | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 $VN.Void | |
N001 ( 1, 1) [000096] ----------- \--* CNS_INT int 1 $49 | |
***** BB03 [0001] | |
STMT00048 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000181] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000182] J------N--- \--* GT int $44 | |
N001 ( 1, 1) [000183] ----------- +--* LCL_VAR int V12 tmp6 u:2 $49 | |
N002 ( 1, 1) [000184] ----------- \--* CNS_INT int 10 $4a | |
SSA MEM: ByrefExposed, GcHeap = m:2 | |
------------ BB04 [0021] [01D..???) -> BB05(1) (always), preds={BB03} succs={BB05} | |
SSA MEM: ByrefExposed, GcHeap = m:2 | |
SSA MEM: ByrefExposed, GcHeap = m:2 | |
------------ BB05 [0009] [01D..01E) -> BB09(0.9995009),BB06(0.0004990518) (cond), preds={BB04,BB08} succs={BB06,BB09} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:4, m:2) | |
***** BB05 [0009] | |
STMT00053 ( ??? ... ??? ) | |
N004 ( 0, 0) [000194] DA--------- * STORE_LCL_VAR double V03 loc2 d:3 $VN.Void | |
N003 ( 0, 0) [000193] ----------- \--* PHI double $201 | |
N001 ( 0, 0) [000212] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 | |
N002 ( 0, 0) [000206] ----------- pred BB04 \--* PHI_ARG double V03 loc2 u:2 $200 | |
***** BB05 [0009] | |
STMT00051 ( ??? ... ??? ) | |
N004 ( 0, 0) [000190] DA--------- * STORE_LCL_VAR int V12 tmp6 d:3 $VN.Void | |
N003 ( 0, 0) [000189] ----------- \--* PHI int $241 | |
N001 ( 0, 0) [000213] ----------- pred BB08 +--* PHI_ARG int V12 tmp6 u:4 | |
N002 ( 0, 0) [000207] ----------- pred BB04 \--* PHI_ARG int V12 tmp6 u:2 $49 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N010 ( 29, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
N009 ( 29, 26) [000160] --------R-- \--* SUB double $1c5 | |
N008 ( 3, 2) [000152] ----------- +--* CNS_DBL double -1.0000000000000000 $102 | |
N007 ( 21, 20) [000159] ----------- \--* MUL double $1c4 | |
N005 ( 15, 14) [000158] --------R-- +--* SUB double $1c3 | |
N004 ( 3, 2) [000154] ----------- | +--* CNS_DBL double 1.0000000000000000 $101 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double $1c2 | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 $201 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 12, 22) [000111] ----------- * JTRUE void $VN.Void | |
N004 ( 10, 20) [000110] J------N--- \--* LT int $182 | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs $c3 | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 u:2 $1c5 | |
N003 ( 3, 2) [000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
SSA MEM: ByrefExposed, GcHeap = m:3 | |
------------ BB06 [0010] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
SSA MEM: ByrefExposed, GcHeap = m:3 | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
N002 ( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
N001 ( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
N003 ( 5, 7) [000119] J------N--- \--* EQ int $183 | |
N001 ( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 $100 | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
------------ BB07 [0011] [01D..01E) -> BB09(0),BB08(1) (cond), preds={BB06} succs={BB08,BB09} | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
N003 ( 40, 10) [000123] ----------- \--* DIV double $1c6 | |
N001 ( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
N003 ( 9, 10) [000129] ----G------ \--* SUB double $1c7 | |
N001 ( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 u:2 $1c6 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 14, 24) [000135] ----------- * JTRUE void $VN.Void | |
N004 ( 12, 22) [000134] J------N--- \--* LT int $184 | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs $c5 | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
N003 ( 3, 2) [000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
------------ BB08 [0012] [01D..01E) -> BB05(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB05} | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
N003 ( 3, 3) [000138] ----------- \--* ADD int $185 | |
N001 ( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] ----------- \--* CNS_INT int 1 $49 | |
***** BB08 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000100] J------N--- \--* LE int $186 | |
N001 ( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] ----------- \--* CNS_INT int 10 $4a | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
------------ BB09 [0022] [01D..???) -> BB10(1) (always), preds={BB05,BB06,BB07,BB08} succs={BB10} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:4, m:3) | |
***** BB09 [0022] | |
STMT00052 ( ??? ... ??? ) | |
N006 ( 0, 0) [000192] DA--------- * STORE_LCL_VAR double V03 loc2 d:5 $VN.Void | |
N005 ( 0, 0) [000191] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000211] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N002 ( 0, 0) [000210] ----------- pred BB07 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N003 ( 0, 0) [000209] ----------- pred BB06 +--* PHI_ARG double V03 loc2 u:3 $201 | |
N004 ( 0, 0) [000208] ----------- pred BB05 \--* PHI_ARG double V03 loc2 u:3 $201 | |
SSA MEM: ByrefExposed, GcHeap = m:5 | |
------------ BB10 [0014] [01D..06D) -> BB03(0.99405),BB11(0.00595) (cond), preds={BB03,BB09} succs={BB11,BB03} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:5, m:2) | |
***** BB10 [0014] | |
STMT00054 ( ??? ... ??? ) | |
N004 ( 0, 0) [000196] DA--------- * STORE_LCL_VAR double V03 loc2 d:6 $VN.Void | |
N003 ( 0, 0) [000195] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000214] ----------- pred BB09 +--* PHI_ARG double V03 loc2 u:5 $202 | |
N002 ( 0, 0) [000205] ----------- pred BB03 \--* PHI_ARG double V03 loc2 u:2 | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
N001 ( 1, 1) [000141] ----------- \--* CNS_INT int 2 $40 | |
***** BB10 [0014] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
N003 ( 3, 3) [000026] ----------- \--* ADD int $187 | |
N001 ( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] ----------- \--* CNS_INT int 1 $49 | |
***** BB10 [0014] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000012] J------N--- \--* LE int $188 | |
N001 ( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
SSA MEM: ByrefExposed, GcHeap = m:6 | |
------------ BB11 [0023] [06D..???) -> BB12(1) (always), preds={BB10} succs={BB12} | |
SSA MEM: ByrefExposed, GcHeap = m:6 | |
SSA MEM: ByrefExposed, GcHeap = m:6 | |
------------ BB12 [0006] [06D..090) (return), preds={BB01,BB11} succs={} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:6, m:1) | |
***** BB12 [0006] | |
STMT00055 ( ??? ... ??? ) | |
N004 ( 0, 0) [000198] DA--------- * STORE_LCL_VAR double V03 loc2 d:7 $VN.Void | |
N003 ( 0, 0) [000197] ----------- \--* PHI double $203 | |
N001 ( 0, 0) [000217] ----------- pred BB11 +--* PHI_ARG double V03 loc2 u:6 $202 | |
N002 ( 0, 0) [000201] ----------- pred BB01 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB12 [0006] | |
STMT00050 ( ??? ... ??? ) | |
N004 ( 0, 0) [000188] DA--------- * STORE_LCL_VAR int V02 loc1 d:3 $VN.Void | |
N003 ( 0, 0) [000187] ----------- \--* PHI int $242 | |
N001 ( 0, 0) [000218] ----------- pred BB11 +--* PHI_ARG int V02 loc1 u:2 $40 | |
N002 ( 0, 0) [000202] ----------- pred BB01 \--* PHI_ARG int V02 loc1 u:1 $80 | |
***** BB12 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 $VN.Void | |
N002 ( 17, 16) [000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $340 | |
N001 ( 3, 10) [000059] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
***** BB12 [0006] | |
STMT00018 ( ??? ... ??? ) | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int $VN.Void | |
N003 ( 2, 2) [000064] -------N--- +--* ADD byref $3c0 | |
N001 ( 1, 1) [000062] ----------- | +--* LCL_VAR ref V09 tmp3 u:2 $340 | |
N002 ( 1, 1) [000063] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 1) [000058] ----------- \--* LCL_VAR int V02 loc1 u:3 (last use) $242 | |
***** BB12 [0006] | |
STMT00019 ( ??? ... ??? ) | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000067] ----------- arg0 in rcx \--* BOX ref $340 | |
N001 ( 1, 1) [000066] ----------- \--* LCL_VAR ref V09 tmp3 u:2 (last use) $340 | |
***** BB12 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 $VN.Void | |
N002 ( 17, 16) [000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $341 | |
N001 ( 3, 10) [000070] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB12 [0006] | |
STMT00021 ( ??? ... ??? ) | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000075] -------N--- +--* ADD byref $3c1 | |
N001 ( 1, 1) [000073] ----------- | +--* LCL_VAR ref V10 tmp4 u:2 $341 | |
N002 ( 1, 1) [000074] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 2) [000069] ----------- \--* LCL_VAR double V03 loc2 u:7 (last use) $203 | |
***** BB12 [0006] | |
STMT00022 ( ??? ... ??? ) | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000078] ----------- arg0 in rcx \--* BOX ref $341 | |
N001 ( 1, 1) [000077] ----------- \--* LCL_VAR ref V10 tmp4 u:2 (last use) $341 | |
***** BB12 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 $VN.Void | |
N002 ( 17, 16) [000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $342 | |
N001 ( 3, 10) [000081] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB12 [0006] | |
STMT00024 ( ??? ... ??? ) | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000086] -------N--- +--* ADD byref $3c2 | |
N001 ( 1, 1) [000084] ----------- | +--* LCL_VAR ref V11 tmp5 u:2 $342 | |
N002 ( 1, 1) [000085] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 3, 4) [000080] ----------- \--* LCL_VAR double V04 loc3 u:1 (last use) $c1 | |
***** BB12 [0006] | |
STMT00025 ( ??? ... ??? ) | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000089] ----------- arg0 in rcx \--* BOX ref $342 | |
N001 ( 1, 1) [000088] ----------- \--* LCL_VAR ref V11 tmp5 u:2 (last use) $342 | |
***** BB12 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
N002 ( 2, 2) [000092] ----------- * RETURN int $VN.Void | |
N001 ( 1, 1) [000176] ----------- \--* CNS_INT int 1 $49 | |
SSA MEM: ByrefExposed, GcHeap = m:8 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
[info] HasGlobalUse overestimated for V02.1 | |
[info] HasGlobalUse overestimated for V04.1 | |
SSA checks completed successfully | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Hoist loop code | |
*************** In optHoistLoopCode() | |
*************** Exception Handling table is empty | |
optHoistThisLoop processing L01 header: BB05 parent: L00 | |
Members (4): [BB05..BB08] | |
Entry: BB04 -> BB05 | |
Exit: BB05 -> BB09; BB06 -> BB09; BB07 -> BB09; BB08 -> BB09 | |
Back: BB08 -> BB05 | |
Loop body contains a call | |
USEDEF (6)={V03 V12 V13 V14 V15 V16} | |
INOUT (6)={V03 V04 V05 V12 V13 V14} | |
LOOPVARS(4)={V03 V12 V13 V14} | |
INOUT-FP(4)={V03 V04 V13 V14} | |
LOOPV-FP(3)={V03 V13 V14} | |
Considering hoisting in entry block BB05 because L01 has more than one exit | |
-- BB05 (header block) | |
optHoistLoopBlocks BB05 (weight= 98.65) of loop L01 (head: BB05) | |
----- PreOrderVisit for [000106] STORE_LCL_VAR | |
----- PreOrderVisit for [000160] SUB | |
----- PreOrderVisit for [000159] MUL | |
----- PreOrderVisit for [000158] SUB | |
----- PreOrderVisit for [000157] MUL | |
----- PreOrderVisit for [000155] LCL_VAR | |
----- PostOrderVisit for [000155] LCL_VAR | |
[000155] LCL_VAR: not invariant: local, not rvalue / not in SSA / defined within current loop | |
----- PreOrderVisit for [000156] LCL_VAR | |
----- PostOrderVisit for [000156] LCL_VAR | |
[000156] LCL_VAR: not invariant: local, not rvalue / not in SSA / defined within current loop | |
----- PostOrderVisit for [000157] MUL | |
----- PreOrderVisit for [000154] CNS_DBL | |
----- PostOrderVisit for [000154] CNS_DBL | |
CONST CSE is disabled | |
Standard CSE Heuristic | |
----- PostOrderVisit for [000158] SUB | |
[000106] not invariant: unset | |
[000160] not invariant: unset | |
[000159] not invariant: unset | |
[000158] not hoistable : current node | |
[000157] not invariant: variant child | |
[000154] hoistable | |
Hoisting a copy of [000154] $101 from BB05 into PreHeader BB04 for loop L01 (head: BB05): | |
N004 ( 3, 2) [000154] ----------- * CNS_DBL double 1.0000000000000000 $101 | |
This hoisted copy placed in PreHeader (BB04): | |
[000221] ----------- * COMMA void | |
( 3, 2) [000219] -------H--- +--* CNS_DBL double 1.0000000000000000 $101 | |
[000220] ----------- \--* NOP void | |
----- PreOrderVisit for [000153] LCL_VAR | |
----- PostOrderVisit for [000153] LCL_VAR | |
[000153] LCL_VAR: not invariant: local, not rvalue / not in SSA / defined within current loop | |
----- PostOrderVisit for [000159] MUL | |
----- PreOrderVisit for [000152] CNS_DBL | |
----- PostOrderVisit for [000152] CNS_DBL | |
----- PostOrderVisit for [000160] SUB | |
[000106] not invariant: unset | |
[000160] not hoistable : current node | |
[000159] not invariant: variant child | |
[000152] hoistable | |
Hoisting a copy of [000152] $102 from BB05 into PreHeader BB04 for loop L01 (head: BB05): | |
N008 ( 3, 2) [000152] ----------- * CNS_DBL double -1.0000000000000000 $102 | |
This hoisted copy placed in PreHeader (BB04): | |
[000224] ----------- * COMMA void | |
( 3, 2) [000222] -------H--- +--* CNS_DBL double -1.0000000000000000 $102 | |
[000223] ----------- \--* NOP void | |
----- PostOrderVisit for [000106] STORE_LCL_VAR | |
[000106] not invariant: variant child | |
----- PreOrderVisit for [000111] JTRUE | |
----- PreOrderVisit for [000110] LT | |
----- PreOrderVisit for [000108] INTRINSIC | |
----- PreOrderVisit for [000107] LCL_VAR | |
----- PostOrderVisit for [000107] LCL_VAR | |
[000107] LCL_VAR: not invariant: local, not rvalue / not in SSA / defined within current loop | |
----- PostOrderVisit for [000108] INTRINSIC | |
----- PreOrderVisit for [000109] CNS_DBL | |
----- PostOrderVisit for [000109] CNS_DBL | |
----- PostOrderVisit for [000110] LT | |
[000111] not invariant: unset | |
[000110] not hoistable : current node | |
[000108] not invariant: variant child | |
[000109] hoistable | |
Hoisting a copy of [000109] $103 from BB05 into PreHeader BB04 for loop L01 (head: BB05): | |
N003 ( 3, 2) [000109] ----------- * CNS_DBL double 9.9999999999999995e-08 $103 | |
This hoisted copy placed in PreHeader (BB04): | |
[000227] ----------- * COMMA void | |
( 3, 2) [000225] -------H--- +--* CNS_DBL double 9.9999999999999995e-08 $103 | |
[000226] ----------- \--* NOP void | |
----- PostOrderVisit for [000111] JTRUE | |
[000111] not invariant: variant child | |
Resetting m_pHoistedInCurLoop | |
optHoistThisLoop processing L00 header: BB03 | |
Members (8): [BB03..BB10] | |
Entry: BB02 -> BB03 | |
Exit: BB10 -> BB11 | |
Back: BB10 -> BB03 | |
Loop body contains a call | |
USEDEF (8)={V02 V03 V05 V12 V13 V14 V15 V16} | |
INOUT (7)={V02 V03 V04 V05 V12 V13 V14} | |
LOOPVARS(6)={V02 V03 V05 V12 V13 V14} | |
INOUT-FP(4)={V03 V04 V13 V14} | |
LOOPV-FP(3)={V03 V13 V14} | |
-- BB04 (child loop pre-header) | |
Considering hoisting in blocks that either dominate exit block BB10, or pre-headers of nested loops, if any: | |
-- BB10 (dominate exit block) | |
-- BB03 (header block) | |
optHoistLoopBlocks BB03 (weight= 99.41) of loop L00 (head: BB03) | |
----- PreOrderVisit for [000097] STORE_LCL_VAR | |
----- PreOrderVisit for [000096] CNS_INT | |
----- PostOrderVisit for [000096] CNS_INT | |
----- PostOrderVisit for [000097] STORE_LCL_VAR | |
[000097] not hoistable: not handled by hoisting or CSE | |
----- PreOrderVisit for [000181] JTRUE | |
----- PreOrderVisit for [000182] GT | |
----- PreOrderVisit for [000183] LCL_VAR | |
----- PostOrderVisit for [000183] LCL_VAR | |
[000183] LCL_VAR: not invariant: local, not rvalue / not in SSA / defined within current loop | |
----- PreOrderVisit for [000184] CNS_INT | |
----- PostOrderVisit for [000184] CNS_INT | |
----- PostOrderVisit for [000182] GT | |
----- PostOrderVisit for [000181] JTRUE | |
[000181] not invariant: variant child | |
optHoistLoopBlocks BB10 (weight= 99.41) of loop L00 (head: BB03) | |
----- PreOrderVisit for [000142] STORE_LCL_VAR | |
----- PreOrderVisit for [000141] CNS_INT | |
----- PostOrderVisit for [000141] CNS_INT | |
----- PostOrderVisit for [000142] STORE_LCL_VAR | |
[000142] not hoistable: not handled by hoisting or CSE | |
----- PreOrderVisit for [000027] STORE_LCL_VAR | |
----- PreOrderVisit for [000026] ADD | |
----- PreOrderVisit for [000024] LCL_VAR | |
----- PostOrderVisit for [000024] LCL_VAR | |
[000024] LCL_VAR: not invariant: local, not rvalue / not in SSA / defined within current loop | |
----- PreOrderVisit for [000025] CNS_INT | |
----- PostOrderVisit for [000025] CNS_INT | |
----- PostOrderVisit for [000026] ADD | |
----- PostOrderVisit for [000027] STORE_LCL_VAR | |
[000027] not invariant: variant child | |
----- PreOrderVisit for [000013] JTRUE | |
----- PreOrderVisit for [000012] LE | |
----- PreOrderVisit for [000010] LCL_VAR | |
----- PostOrderVisit for [000010] LCL_VAR | |
[000010] LCL_VAR: not invariant: local, not rvalue / not in SSA / defined within current loop | |
----- PreOrderVisit for [000011] CNS_INT | |
----- PostOrderVisit for [000011] CNS_INT | |
----- PostOrderVisit for [000012] LE | |
----- PostOrderVisit for [000013] JTRUE | |
[000013] not invariant: variant child | |
optHoistLoopBlocks BB04 (weight= 98.60) of loop L00 (head: BB03) | |
----- PreOrderVisit for [000221] COMMA | |
----- PreOrderVisit for [000219] CNS_DBL | |
----- PostOrderVisit for [000219] CNS_DBL | |
----- PreOrderVisit for [000220] NOP | |
----- PostOrderVisit for [000220] NOP | |
----- PostOrderVisit for [000221] COMMA | |
[000221] not hoistable : current node | |
[000219] hoistable | |
Hoisting a copy of [000219] $101 from BB04 into PreHeader BB02 for loop L00 (head: BB03): | |
N001 ( 3, 2) [000219] -------H--- * CNS_DBL double 1.0000000000000000 $101 | |
This hoisted copy placed in PreHeader (BB02): | |
[000230] ----------- * COMMA void | |
( 3, 2) [000228] -------H--- +--* CNS_DBL double 1.0000000000000000 $101 | |
[000229] ----------- \--* NOP void | |
[000220] not invariant: tree VN is loop variant | |
[000221] not invariant: variant child | |
----- PreOrderVisit for [000224] COMMA | |
----- PreOrderVisit for [000222] CNS_DBL | |
----- PostOrderVisit for [000222] CNS_DBL | |
----- PreOrderVisit for [000223] NOP | |
----- PostOrderVisit for [000223] NOP | |
----- PostOrderVisit for [000224] COMMA | |
[000224] not hoistable : current node | |
[000222] hoistable | |
Hoisting a copy of [000222] $102 from BB04 into PreHeader BB02 for loop L00 (head: BB03): | |
N001 ( 3, 2) [000222] -------H--- * CNS_DBL double -1.0000000000000000 $102 | |
This hoisted copy placed in PreHeader (BB02): | |
[000233] ----------- * COMMA void | |
( 3, 2) [000231] -------H--- +--* CNS_DBL double -1.0000000000000000 $102 | |
[000232] ----------- \--* NOP void | |
[000223] not invariant: tree VN is loop variant | |
[000224] not invariant: variant child | |
----- PreOrderVisit for [000227] COMMA | |
----- PreOrderVisit for [000225] CNS_DBL | |
----- PostOrderVisit for [000225] CNS_DBL | |
----- PreOrderVisit for [000226] NOP | |
----- PostOrderVisit for [000226] NOP | |
----- PostOrderVisit for [000227] COMMA | |
[000227] not hoistable : current node | |
[000225] hoistable | |
Hoisting a copy of [000225] $103 from BB04 into PreHeader BB02 for loop L00 (head: BB03): | |
N001 ( 3, 2) [000225] -------H--- * CNS_DBL double 9.9999999999999995e-08 $103 | |
This hoisted copy placed in PreHeader (BB02): | |
[000236] ----------- * COMMA void | |
( 3, 2) [000234] -------H--- +--* CNS_DBL double 9.9999999999999995e-08 $103 | |
[000235] ----------- \--* NOP void | |
[000226] not invariant: tree VN is loop variant | |
[000227] not invariant: variant child | |
Resetting m_pHoistedInCurLoop | |
*************** Finishing PHASE Hoist loop code | |
Trees after Hoist loop code | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB12(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB10 99.41 167 [01D..03A)-> BB10(0.00812),BB04(0.992) ( cond ) i IBC loophead bwd bwd-target | |
BB04 [0021] 1 BB03 98.60 166 [01D..???)-> BB05(1) (always) IBC internal | |
BB05 [0009] 2 BB04,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..???)-> BB10(1) (always) IBC internal | |
BB10 [0014] 2 BB03,BB09 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 1 BB10 0.59 1 [06D..???)-> BB12(1) (always) IBC internal | |
BB12 [0006] 2 BB01,BB11 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB12(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB12} | |
SSA MEM: ByrefExposed, GcHeap = m:1 | |
***** BB01 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
N004 ( 5, 8) [000177] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000178] J------N--- \--* GT int $180 | |
N001 ( 1, 1) [000179] ----------- +--* LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
SSA MEM: ByrefExposed, GcHeap = m:1 | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
SSA MEM: ByrefExposed, GcHeap = m:1 | |
***** BB02 [0020] | |
STMT00060 ( ??? ... ??? ) | |
N003 ( 3, 2) [000230] ----------- * COMMA void | |
N001 ( 3, 2) [000228] -------H--- +--* CNS_DBL double 1.0000000000000000 $101 | |
N002 ( 0, 0) [000229] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00061 ( ??? ... ??? ) | |
N003 ( 3, 2) [000233] ----------- * COMMA void | |
N001 ( 3, 2) [000231] -------H--- +--* CNS_DBL double -1.0000000000000000 $102 | |
N002 ( 0, 0) [000232] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00062 ( ??? ... ??? ) | |
N003 ( 3, 2) [000236] ----------- * COMMA void | |
N001 ( 3, 2) [000234] -------H--- +--* CNS_DBL double 9.9999999999999995e-08 $103 | |
N002 ( 0, 0) [000235] ----------- \--* NOP void | |
SSA MEM: ByrefExposed, GcHeap = m:1 | |
------------ BB03 [0001] [01D..03A) -> BB10(0.008118008),BB04(0.991882) (cond), preds={BB02,BB10} succs={BB04,BB10} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:6, m:1) | |
***** BB03 [0001] | |
STMT00056 ( ??? ... ??? ) | |
N004 ( 0, 0) [000200] DA--------- * STORE_LCL_VAR double V03 loc2 d:2 $VN.Void | |
N003 ( 0, 0) [000199] ----------- \--* PHI double $200 | |
N001 ( 0, 0) [000215] ----------- pred BB10 +--* PHI_ARG double V03 loc2 u:6 | |
N002 ( 0, 0) [000203] ----------- pred BB02 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB03 [0001] | |
STMT00049 ( ??? ... ??? ) | |
N004 ( 0, 0) [000186] DA--------- * STORE_LCL_VAR int V05 loc4 d:2 $VN.Void | |
N003 ( 0, 0) [000185] ----------- \--* PHI int $240 | |
N001 ( 0, 0) [000216] ----------- pred BB10 +--* PHI_ARG int V05 loc4 u:3 | |
N002 ( 0, 0) [000204] ----------- pred BB02 \--* PHI_ARG int V05 loc4 u:1 $81 | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 $VN.Void | |
N001 ( 1, 1) [000096] ----------- \--* CNS_INT int 1 $49 | |
***** BB03 [0001] | |
STMT00048 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000181] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000182] J------N--- \--* GT int $44 | |
N001 ( 1, 1) [000183] ----------- +--* LCL_VAR int V12 tmp6 u:2 $49 | |
N002 ( 1, 1) [000184] ----------- \--* CNS_INT int 10 $4a | |
SSA MEM: ByrefExposed, GcHeap = m:2 | |
------------ BB04 [0021] [01D..???) -> BB05(1) (always), preds={BB03} succs={BB05} | |
SSA MEM: ByrefExposed, GcHeap = m:2 | |
***** BB04 [0021] | |
STMT00057 ( ??? ... ??? ) | |
N003 ( 3, 2) [000221] ----------- * COMMA void | |
N001 ( 3, 2) [000219] -------H--- +--* CNS_DBL double 1.0000000000000000 $101 | |
N002 ( 0, 0) [000220] ----------- \--* NOP void | |
***** BB04 [0021] | |
STMT00058 ( ??? ... ??? ) | |
N003 ( 3, 2) [000224] ----------- * COMMA void | |
N001 ( 3, 2) [000222] -------H--- +--* CNS_DBL double -1.0000000000000000 $102 | |
N002 ( 0, 0) [000223] ----------- \--* NOP void | |
***** BB04 [0021] | |
STMT00059 ( ??? ... ??? ) | |
N003 ( 3, 2) [000227] ----------- * COMMA void | |
N001 ( 3, 2) [000225] -------H--- +--* CNS_DBL double 9.9999999999999995e-08 $103 | |
N002 ( 0, 0) [000226] ----------- \--* NOP void | |
SSA MEM: ByrefExposed, GcHeap = m:2 | |
------------ BB05 [0009] [01D..01E) -> BB09(0.9995009),BB06(0.0004990518) (cond), preds={BB04,BB08} succs={BB06,BB09} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:4, m:2) | |
***** BB05 [0009] | |
STMT00053 ( ??? ... ??? ) | |
N004 ( 0, 0) [000194] DA--------- * STORE_LCL_VAR double V03 loc2 d:3 $VN.Void | |
N003 ( 0, 0) [000193] ----------- \--* PHI double $201 | |
N001 ( 0, 0) [000212] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 | |
N002 ( 0, 0) [000206] ----------- pred BB04 \--* PHI_ARG double V03 loc2 u:2 $200 | |
***** BB05 [0009] | |
STMT00051 ( ??? ... ??? ) | |
N004 ( 0, 0) [000190] DA--------- * STORE_LCL_VAR int V12 tmp6 d:3 $VN.Void | |
N003 ( 0, 0) [000189] ----------- \--* PHI int $241 | |
N001 ( 0, 0) [000213] ----------- pred BB08 +--* PHI_ARG int V12 tmp6 u:4 | |
N002 ( 0, 0) [000207] ----------- pred BB04 \--* PHI_ARG int V12 tmp6 u:2 $49 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N010 ( 29, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
N009 ( 29, 26) [000160] --------R-- \--* SUB double $1c5 | |
N008 ( 3, 2) [000152] ----------- +--* CNS_DBL double -1.0000000000000000 $102 | |
N007 ( 21, 20) [000159] ----------- \--* MUL double $1c4 | |
N005 ( 15, 14) [000158] --------R-- +--* SUB double $1c3 | |
N004 ( 3, 2) [000154] ----------- | +--* CNS_DBL double 1.0000000000000000 $101 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double $1c2 | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 $201 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 12, 22) [000111] ----------- * JTRUE void $VN.Void | |
N004 ( 10, 20) [000110] J------N--- \--* LT int $182 | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs $c3 | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 u:2 $1c5 | |
N003 ( 3, 2) [000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
SSA MEM: ByrefExposed, GcHeap = m:3 | |
------------ BB06 [0010] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
SSA MEM: ByrefExposed, GcHeap = m:3 | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
N002 ( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
N001 ( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
N003 ( 5, 7) [000119] J------N--- \--* EQ int $183 | |
N001 ( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 $100 | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
------------ BB07 [0011] [01D..01E) -> BB09(0),BB08(1) (cond), preds={BB06} succs={BB08,BB09} | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
N003 ( 40, 10) [000123] ----------- \--* DIV double $1c6 | |
N001 ( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
N003 ( 9, 10) [000129] ----G------ \--* SUB double $1c7 | |
N001 ( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 u:2 $1c6 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 14, 24) [000135] ----------- * JTRUE void $VN.Void | |
N004 ( 12, 22) [000134] J------N--- \--* LT int $184 | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs $c5 | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
N003 ( 3, 2) [000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
------------ BB08 [0012] [01D..01E) -> BB05(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB05} | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
N003 ( 3, 3) [000138] ----------- \--* ADD int $185 | |
N001 ( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] ----------- \--* CNS_INT int 1 $49 | |
***** BB08 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000100] J------N--- \--* LE int $186 | |
N001 ( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] ----------- \--* CNS_INT int 10 $4a | |
SSA MEM: ByrefExposed, GcHeap = m:4 | |
------------ BB09 [0022] [01D..???) -> BB10(1) (always), preds={BB05,BB06,BB07,BB08} succs={BB10} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:4, m:3) | |
***** BB09 [0022] | |
STMT00052 ( ??? ... ??? ) | |
N006 ( 0, 0) [000192] DA--------- * STORE_LCL_VAR double V03 loc2 d:5 $VN.Void | |
N005 ( 0, 0) [000191] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000211] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N002 ( 0, 0) [000210] ----------- pred BB07 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N003 ( 0, 0) [000209] ----------- pred BB06 +--* PHI_ARG double V03 loc2 u:3 $201 | |
N004 ( 0, 0) [000208] ----------- pred BB05 \--* PHI_ARG double V03 loc2 u:3 $201 | |
SSA MEM: ByrefExposed, GcHeap = m:5 | |
------------ BB10 [0014] [01D..06D) -> BB03(0.99405),BB11(0.00595) (cond), preds={BB03,BB09} succs={BB11,BB03} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:5, m:2) | |
***** BB10 [0014] | |
STMT00054 ( ??? ... ??? ) | |
N004 ( 0, 0) [000196] DA--------- * STORE_LCL_VAR double V03 loc2 d:6 $VN.Void | |
N003 ( 0, 0) [000195] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000214] ----------- pred BB09 +--* PHI_ARG double V03 loc2 u:5 $202 | |
N002 ( 0, 0) [000205] ----------- pred BB03 \--* PHI_ARG double V03 loc2 u:2 | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
N001 ( 1, 1) [000141] ----------- \--* CNS_INT int 2 $40 | |
***** BB10 [0014] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
N003 ( 3, 3) [000026] ----------- \--* ADD int $187 | |
N001 ( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] ----------- \--* CNS_INT int 1 $49 | |
***** BB10 [0014] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000012] J------N--- \--* LE int $188 | |
N001 ( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
SSA MEM: ByrefExposed, GcHeap = m:6 | |
------------ BB11 [0023] [06D..???) -> BB12(1) (always), preds={BB10} succs={BB12} | |
SSA MEM: ByrefExposed, GcHeap = m:6 | |
SSA MEM: ByrefExposed, GcHeap = m:6 | |
------------ BB12 [0006] [06D..090) (return), preds={BB01,BB11} succs={} | |
SSA MEM: ByrefExposed, GcHeap = phi(m:6, m:1) | |
***** BB12 [0006] | |
STMT00055 ( ??? ... ??? ) | |
N004 ( 0, 0) [000198] DA--------- * STORE_LCL_VAR double V03 loc2 d:7 $VN.Void | |
N003 ( 0, 0) [000197] ----------- \--* PHI double $203 | |
N001 ( 0, 0) [000217] ----------- pred BB11 +--* PHI_ARG double V03 loc2 u:6 $202 | |
N002 ( 0, 0) [000201] ----------- pred BB01 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB12 [0006] | |
STMT00050 ( ??? ... ??? ) | |
N004 ( 0, 0) [000188] DA--------- * STORE_LCL_VAR int V02 loc1 d:3 $VN.Void | |
N003 ( 0, 0) [000187] ----------- \--* PHI int $242 | |
N001 ( 0, 0) [000218] ----------- pred BB11 +--* PHI_ARG int V02 loc1 u:2 $40 | |
N002 ( 0, 0) [000202] ----------- pred BB01 \--* PHI_ARG int V02 loc1 u:1 $80 | |
***** BB12 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 $VN.Void | |
N002 ( 17, 16) [000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $340 | |
N001 ( 3, 10) [000059] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
***** BB12 [0006] | |
STMT00018 ( ??? ... ??? ) | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int $VN.Void | |
N003 ( 2, 2) [000064] -------N--- +--* ADD byref $3c0 | |
N001 ( 1, 1) [000062] ----------- | +--* LCL_VAR ref V09 tmp3 u:2 $340 | |
N002 ( 1, 1) [000063] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 1) [000058] ----------- \--* LCL_VAR int V02 loc1 u:3 (last use) $242 | |
***** BB12 [0006] | |
STMT00019 ( ??? ... ??? ) | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000067] ----------- arg0 in rcx \--* BOX ref $340 | |
N001 ( 1, 1) [000066] ----------- \--* LCL_VAR ref V09 tmp3 u:2 (last use) $340 | |
***** BB12 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 $VN.Void | |
N002 ( 17, 16) [000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $341 | |
N001 ( 3, 10) [000070] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB12 [0006] | |
STMT00021 ( ??? ... ??? ) | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000075] -------N--- +--* ADD byref $3c1 | |
N001 ( 1, 1) [000073] ----------- | +--* LCL_VAR ref V10 tmp4 u:2 $341 | |
N002 ( 1, 1) [000074] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 2) [000069] ----------- \--* LCL_VAR double V03 loc2 u:7 (last use) $203 | |
***** BB12 [0006] | |
STMT00022 ( ??? ... ??? ) | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000078] ----------- arg0 in rcx \--* BOX ref $341 | |
N001 ( 1, 1) [000077] ----------- \--* LCL_VAR ref V10 tmp4 u:2 (last use) $341 | |
***** BB12 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 $VN.Void | |
N002 ( 17, 16) [000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $342 | |
N001 ( 3, 10) [000081] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB12 [0006] | |
STMT00024 ( ??? ... ??? ) | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000086] -------N--- +--* ADD byref $3c2 | |
N001 ( 1, 1) [000084] ----------- | +--* LCL_VAR ref V11 tmp5 u:2 $342 | |
N002 ( 1, 1) [000085] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 3, 4) [000080] ----------- \--* LCL_VAR double V04 loc3 u:1 (last use) $c1 | |
***** BB12 [0006] | |
STMT00025 ( ??? ... ??? ) | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000089] ----------- arg0 in rcx \--* BOX ref $342 | |
N001 ( 1, 1) [000088] ----------- \--* LCL_VAR ref V11 tmp5 u:2 (last use) $342 | |
***** BB12 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
N002 ( 2, 2) [000092] ----------- * RETURN int $VN.Void | |
N001 ( 1, 1) [000176] ----------- \--* CNS_INT int 1 $49 | |
SSA MEM: ByrefExposed, GcHeap = m:8 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
[info] HasGlobalUse overestimated for V02.1 | |
[info] HasGlobalUse overestimated for V04.1 | |
SSA checks completed successfully | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE VN based copy prop | |
Copy Assertion for BB01 | |
curSsaName stack: { } | |
Copy Assertion for BB02 | |
curSsaName stack: { } | |
Copy Assertion for BB03 | |
curSsaName stack: { } | |
Live vars after [000097]: {V03 V04 V05} +{V12} => {V03 V04 V05 V12} | |
Copy Assertion for BB04 | |
curSsaName stack: { [000097]:V12/2 [000200]:V03/NA [000186]:V05/NA } | |
Copy Assertion for BB05 | |
curSsaName stack: { [000097]:V12/2 [000200]:V03/NA [000186]:V05/NA } | |
Live vars after [000106]: {V03 V04 V05 V12} +{V13} => {V03 V04 V05 V12 V13} | |
Copy Assertion for BB06 | |
curSsaName stack: { [000190]:V12/NA [000194]:V03/NA [000106]:V13/2 [000186]:V05/NA } | |
Live vars after [000116]: {V03 V04 V05 V12 V13} +{V14} => {V03 V04 V05 V12 V13 V14} | |
Copy Assertion for BB07 | |
curSsaName stack: { [000190]:V12/NA [000194]:V03/NA [000106]:V13/2 [000116]:V14/2 [000186]:V05/NA } | |
Live vars after [000121]: {V03 V04 V05 V12 V13 V14} -{V13} => {V03 V04 V05 V12 V14} | |
Live vars after [000122]: {V03 V04 V05 V12 V14} -{V14} => {V03 V04 V05 V12} | |
Live vars after [000124]: {V03 V04 V05 V12} +{V15} => {V03 V04 V05 V12 V15} | |
Live vars after [000127]: {V03 V04 V05 V12 V15} -{V03} => {V04 V05 V12 V15} | |
Live vars after [000130]: {V04 V05 V12 V15} +{V03} => {V03 V04 V05 V12 V15} | |
Live vars after [000131]: {V03 V04 V05 V12 V15} -{V15} => {V03 V04 V05 V12} | |
Copy Assertion for BB08 | |
curSsaName stack: { [000190]:V12/NA [000130]:V03/4 [000106]:V13/2 [000116]:V14/2 [000186]:V05/NA [000124]:V15/2 } | |
Live vars after [000136]: {V03 V04 V05 V12} -{V12} => {V03 V04 V05} | |
Live vars after [000139]: {V03 V04 V05} +{V12} => {V03 V04 V05 V12} | |
Copy Assertion for BB09 | |
curSsaName stack: { [000190]:V12/NA [000194]:V03/NA [000106]:V13/2 [000186]:V05/NA } | |
Copy Assertion for BB10 | |
curSsaName stack: { [000097]:V12/2 [000200]:V03/NA [000186]:V05/NA } | |
Live vars after [000142]: {V03 V04 V05} +{V02} => {V02 V03 V04 V05} | |
Live vars after [000024]: {V02 V03 V04 V05} -{V05} => {V02 V03 V04} | |
Live vars after [000027]: {V02 V03 V04} +{V05} => {V02 V03 V04 V05} | |
Copy Assertion for BB11 | |
curSsaName stack: { [000142]:V02/2 [000097]:V12/2 [000196]:V03/NA [000027]:V05/3 } | |
Copy Assertion for BB12 | |
curSsaName stack: { } | |
Live vars after [000061]: {V02 V03 V04} +{V09} => {V02 V03 V04 V09} | |
Live vars after [000058]: {V02 V03 V04 V09} -{V02} => {V03 V04 V09} | |
Live vars after [000066]: {V03 V04 V09} -{V09} => {V03 V04} | |
Live vars after [000072]: {V03 V04} +{V10} => {V03 V04 V10} | |
Live vars after [000069]: {V03 V04 V10} -{V03} => {V04 V10} | |
Live vars after [000077]: {V04 V10} -{V10} => {V04} | |
Live vars after [000083]: {V04} +{V11} => {V04 V11} | |
Live vars after [000080]: {V04 V11} -{V04} => {V11} | |
Live vars after [000088]: {V11} -{V11} => {} | |
*************** Finishing PHASE VN based copy prop [no changes] | |
*************** Starting PHASE Redundant branch opts | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB12(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB10 99.41 167 [01D..03A)-> BB10(0.00812),BB04(0.992) ( cond ) i IBC loophead bwd bwd-target | |
BB04 [0021] 1 BB03 98.60 166 [01D..???)-> BB05(1) (always) IBC internal | |
BB05 [0009] 2 BB04,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..???)-> BB10(1) (always) IBC internal | |
BB10 [0014] 2 BB03,BB09 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 1 BB10 0.59 1 [06D..???)-> BB12(1) (always) IBC internal | |
BB12 [0006] 2 BB01,BB11 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
optRedundantRelop in BB08; jump tree is | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000100] J------N--- \--* LE int $186 | |
N001 ( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] ----------- \--* CNS_INT int 10 $4a | |
... checking previous tree | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
N003 ( 3, 3) [000138] ----------- \--* ADD int $185 | |
N001 ( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] ----------- \--* CNS_INT int 1 $49 | |
-- prev tree VN is not related | |
--- Trying RBO in BB08 --- | |
Relop [000100] BB08 value unknown, trying inference | |
BB08 has side effects; no threading | |
optRedundantRelop in BB07; jump tree is | |
N005 ( 14, 24) [000135] ----------- * JTRUE void $VN.Void | |
N004 ( 12, 22) [000134] J------N--- \--* LT int $184 | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs $c5 | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
N003 ( 3, 2) [000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
... checking previous tree | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
N003 ( 9, 10) [000129] ----G------ \--* SUB double $1c7 | |
N001 ( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 u:2 $1c6 | |
-- prev tree VN is not related | |
... checking previous tree | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
N003 ( 40, 10) [000123] ----------- \--* DIV double $1c6 | |
N001 ( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
-- prev tree VN is not related | |
--- Trying RBO in BB07 --- | |
Relop [000134] BB07 value unknown, trying inference | |
BB07 has side effects; no threading | |
optRedundantRelop in BB06; jump tree is | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
N003 ( 5, 7) [000119] J------N--- \--* EQ int $183 | |
N001 ( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 $100 | |
... checking previous tree | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
N002 ( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
N001 ( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 u:3 $201 | |
-- prev tree has side effects, allowing as prev tree is immediately before jumpTree | |
-- prev tree VN is not related | |
--- Trying RBO in BB06 --- | |
Relop [000119] BB06 value unknown, trying inference | |
BB06 has side effects; no threading | |
optRedundantRelop in BB05; jump tree is | |
N005 ( 12, 22) [000111] ----------- * JTRUE void $VN.Void | |
N004 ( 10, 20) [000110] J------N--- \--* LT int $182 | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs $c3 | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 u:2 $1c5 | |
N003 ( 3, 2) [000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
... checking previous tree | |
N010 ( 29, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
N009 ( 29, 26) [000160] --------R-- \--* SUB double $1c5 | |
N008 ( 3, 2) [000152] ----------- +--* CNS_DBL double -1.0000000000000000 $102 | |
N007 ( 21, 20) [000159] ----------- \--* MUL double $1c4 | |
N005 ( 15, 14) [000158] --------R-- +--* SUB double $1c3 | |
N004 ( 3, 2) [000154] ----------- | +--* CNS_DBL double 1.0000000000000000 $101 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double $1c2 | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 $201 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 $201 | |
-- prev tree VN is not related | |
... checking previous tree | |
N004 ( 0, 0) [000190] DA--------- * STORE_LCL_VAR int V12 tmp6 d:3 $VN.Void | |
N003 ( 0, 0) [000189] ----------- \--* PHI int $241 | |
N001 ( 0, 0) [000213] ----------- pred BB08 +--* PHI_ARG int V12 tmp6 u:4 | |
N002 ( 0, 0) [000207] ----------- pred BB04 \--* PHI_ARG int V12 tmp6 u:2 $49 | |
-- prev tree is a phi | |
--- Trying RBO in BB05 --- | |
Relop [000110] BB05 value unknown, trying inference | |
BB05 has global phi for V03.3; no phi-based threading | |
optRedundantRelop in BB10; jump tree is | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000012] J------N--- \--* LE int $188 | |
N001 ( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
... checking previous tree | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
N003 ( 3, 3) [000026] ----------- \--* ADD int $187 | |
N001 ( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] ----------- \--* CNS_INT int 1 $49 | |
-- prev tree VN is not related | |
... checking previous tree | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
N001 ( 1, 1) [000141] ----------- \--* CNS_INT int 2 $40 | |
-- prev tree VN is not related | |
... checking previous tree | |
N004 ( 0, 0) [000196] DA--------- * STORE_LCL_VAR double V03 loc2 d:6 $VN.Void | |
N003 ( 0, 0) [000195] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000214] ----------- pred BB09 +--* PHI_ARG double V03 loc2 u:5 $202 | |
N002 ( 0, 0) [000205] ----------- pred BB03 \--* PHI_ARG double V03 loc2 u:2 | |
-- prev tree is a phi | |
--- Trying RBO in BB10 --- | |
Relop [000012] BB10 value unknown, trying inference | |
BB10 has global phi for V03.6; no phi-based threading | |
-- no, jump tree cond is constant | |
--- Trying RBO in BB03 --- | |
Relop [000182] BB03 has known value false | |
Redundant branch opt in BB03: | |
removing useless STMT00048 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000181] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000182] ----------- \--* CNS_INT int 0 | |
from BB03 | |
setting likelihood of BB03 -> BB04 from 0.991882 to 1 | |
Conditional folded at BB03 | |
BB03 becomes a BBJ_ALWAYS to BB04 | |
Compiler::optRedundantBranch removed tree: | |
N004 ( 5, 5) [000181] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000182] ----------- \--* CNS_INT int 0 | |
--- Trying RBO in BB01 --- | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB12(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB10 99.41 167 [01D..03A)-> BB04(1) (always) i IBC loophead bwd bwd-target | |
BB04 [0021] 1 BB03 98.60 166 [01D..???)-> BB05(1) (always) IBC internal | |
BB05 [0009] 2 BB04,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..???)-> BB10(1) (always) IBC internal | |
BB10 [0014] 1 BB09 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 1 BB10 0.59 1 [06D..???)-> BB12(1) (always) IBC internal | |
BB12 [0006] 2 BB01,BB11 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Finishing PHASE Redundant branch opts | |
Trees after Redundant branch opts | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB12(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB10 99.41 167 [01D..03A)-> BB04(1) (always) i IBC loophead bwd bwd-target | |
BB04 [0021] 1 BB03 98.60 166 [01D..???)-> BB05(1) (always) IBC internal | |
BB05 [0009] 2 BB04,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..???)-> BB10(1) (always) IBC internal | |
BB10 [0014] 1 BB09 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 1 BB10 0.59 1 [06D..???)-> BB12(1) (always) IBC internal | |
BB12 [0006] 2 BB01,BB11 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB12(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB12} | |
***** BB01 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
N004 ( 5, 8) [000177] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000178] J------N--- \--* GT int $180 | |
N001 ( 1, 1) [000179] ----------- +--* LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
***** BB02 [0020] | |
STMT00060 ( ??? ... ??? ) | |
N003 ( 3, 2) [000230] ----------- * COMMA void | |
N001 ( 3, 2) [000228] -------H--- +--* CNS_DBL double 1.0000000000000000 $101 | |
N002 ( 0, 0) [000229] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00061 ( ??? ... ??? ) | |
N003 ( 3, 2) [000233] ----------- * COMMA void | |
N001 ( 3, 2) [000231] -------H--- +--* CNS_DBL double -1.0000000000000000 $102 | |
N002 ( 0, 0) [000232] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00062 ( ??? ... ??? ) | |
N003 ( 3, 2) [000236] ----------- * COMMA void | |
N001 ( 3, 2) [000234] -------H--- +--* CNS_DBL double 9.9999999999999995e-08 $103 | |
N002 ( 0, 0) [000235] ----------- \--* NOP void | |
------------ BB03 [0001] [01D..03A) -> BB04(1) (always), preds={BB02,BB10} succs={BB04} | |
***** BB03 [0001] | |
STMT00056 ( ??? ... ??? ) | |
N004 ( 0, 0) [000200] DA--------- * STORE_LCL_VAR double V03 loc2 d:2 $VN.Void | |
N003 ( 0, 0) [000199] ----------- \--* PHI double $200 | |
N001 ( 0, 0) [000215] ----------- pred BB10 +--* PHI_ARG double V03 loc2 u:6 | |
N002 ( 0, 0) [000203] ----------- pred BB02 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB03 [0001] | |
STMT00049 ( ??? ... ??? ) | |
N004 ( 0, 0) [000186] DA--------- * STORE_LCL_VAR int V05 loc4 d:2 $VN.Void | |
N003 ( 0, 0) [000185] ----------- \--* PHI int $240 | |
N001 ( 0, 0) [000216] ----------- pred BB10 +--* PHI_ARG int V05 loc4 u:3 | |
N002 ( 0, 0) [000204] ----------- pred BB02 \--* PHI_ARG int V05 loc4 u:1 $81 | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 $VN.Void | |
N001 ( 1, 1) [000096] ----------- \--* CNS_INT int 1 $49 | |
------------ BB04 [0021] [01D..???) -> BB05(1) (always), preds={BB03} succs={BB05} | |
***** BB04 [0021] | |
STMT00057 ( ??? ... ??? ) | |
N003 ( 3, 2) [000221] ----------- * COMMA void | |
N001 ( 3, 2) [000219] -------H--- +--* CNS_DBL double 1.0000000000000000 $101 | |
N002 ( 0, 0) [000220] ----------- \--* NOP void | |
***** BB04 [0021] | |
STMT00058 ( ??? ... ??? ) | |
N003 ( 3, 2) [000224] ----------- * COMMA void | |
N001 ( 3, 2) [000222] -------H--- +--* CNS_DBL double -1.0000000000000000 $102 | |
N002 ( 0, 0) [000223] ----------- \--* NOP void | |
***** BB04 [0021] | |
STMT00059 ( ??? ... ??? ) | |
N003 ( 3, 2) [000227] ----------- * COMMA void | |
N001 ( 3, 2) [000225] -------H--- +--* CNS_DBL double 9.9999999999999995e-08 $103 | |
N002 ( 0, 0) [000226] ----------- \--* NOP void | |
------------ BB05 [0009] [01D..01E) -> BB09(0.9995009),BB06(0.0004990518) (cond), preds={BB04,BB08} succs={BB06,BB09} | |
***** BB05 [0009] | |
STMT00053 ( ??? ... ??? ) | |
N004 ( 0, 0) [000194] DA--------- * STORE_LCL_VAR double V03 loc2 d:3 $VN.Void | |
N003 ( 0, 0) [000193] ----------- \--* PHI double $201 | |
N001 ( 0, 0) [000212] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 | |
N002 ( 0, 0) [000206] ----------- pred BB04 \--* PHI_ARG double V03 loc2 u:2 $200 | |
***** BB05 [0009] | |
STMT00051 ( ??? ... ??? ) | |
N004 ( 0, 0) [000190] DA--------- * STORE_LCL_VAR int V12 tmp6 d:3 $VN.Void | |
N003 ( 0, 0) [000189] ----------- \--* PHI int $241 | |
N001 ( 0, 0) [000213] ----------- pred BB08 +--* PHI_ARG int V12 tmp6 u:4 | |
N002 ( 0, 0) [000207] ----------- pred BB04 \--* PHI_ARG int V12 tmp6 u:2 $49 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N010 ( 29, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
N009 ( 29, 26) [000160] --------R-- \--* SUB double $1c5 | |
N008 ( 3, 2) [000152] ----------- +--* CNS_DBL double -1.0000000000000000 $102 | |
N007 ( 21, 20) [000159] ----------- \--* MUL double $1c4 | |
N005 ( 15, 14) [000158] --------R-- +--* SUB double $1c3 | |
N004 ( 3, 2) [000154] ----------- | +--* CNS_DBL double 1.0000000000000000 $101 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double $1c2 | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 $201 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 12, 22) [000111] ----------- * JTRUE void $VN.Void | |
N004 ( 10, 20) [000110] J------N--- \--* LT int $182 | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs $c3 | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 u:2 $1c5 | |
N003 ( 3, 2) [000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
------------ BB06 [0010] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
N002 ( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
N001 ( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
N003 ( 5, 7) [000119] J------N--- \--* EQ int $183 | |
N001 ( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 $100 | |
------------ BB07 [0011] [01D..01E) -> BB09(0),BB08(1) (cond), preds={BB06} succs={BB08,BB09} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
N003 ( 40, 10) [000123] ----------- \--* DIV double $1c6 | |
N001 ( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
N003 ( 9, 10) [000129] ----G------ \--* SUB double $1c7 | |
N001 ( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 u:2 $1c6 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 14, 24) [000135] ----------- * JTRUE void $VN.Void | |
N004 ( 12, 22) [000134] J------N--- \--* LT int $184 | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs $c5 | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
N003 ( 3, 2) [000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
------------ BB08 [0012] [01D..01E) -> BB05(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB05} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
N003 ( 3, 3) [000138] ----------- \--* ADD int $185 | |
N001 ( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] ----------- \--* CNS_INT int 1 $49 | |
***** BB08 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000100] J------N--- \--* LE int $186 | |
N001 ( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] ----------- \--* CNS_INT int 10 $4a | |
------------ BB09 [0022] [01D..???) -> BB10(1) (always), preds={BB05,BB06,BB07,BB08} succs={BB10} | |
***** BB09 [0022] | |
STMT00052 ( ??? ... ??? ) | |
N006 ( 0, 0) [000192] DA--------- * STORE_LCL_VAR double V03 loc2 d:5 $VN.Void | |
N005 ( 0, 0) [000191] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000211] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N002 ( 0, 0) [000210] ----------- pred BB07 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N003 ( 0, 0) [000209] ----------- pred BB06 +--* PHI_ARG double V03 loc2 u:3 $201 | |
N004 ( 0, 0) [000208] ----------- pred BB05 \--* PHI_ARG double V03 loc2 u:3 $201 | |
------------ BB10 [0014] [01D..06D) -> BB03(0.99405),BB11(0.00595) (cond), preds={BB09} succs={BB11,BB03} | |
***** BB10 [0014] | |
STMT00054 ( ??? ... ??? ) | |
N004 ( 0, 0) [000196] DA--------- * STORE_LCL_VAR double V03 loc2 d:6 $VN.Void | |
N003 ( 0, 0) [000195] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000214] ----------- pred BB09 +--* PHI_ARG double V03 loc2 u:5 $202 | |
N002 ( 0, 0) [000205] ----------- pred BB03 \--* PHI_ARG double V03 loc2 u:2 | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
N001 ( 1, 1) [000141] ----------- \--* CNS_INT int 2 $40 | |
***** BB10 [0014] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
N003 ( 3, 3) [000026] ----------- \--* ADD int $187 | |
N001 ( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] ----------- \--* CNS_INT int 1 $49 | |
***** BB10 [0014] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000012] J------N--- \--* LE int $188 | |
N001 ( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
------------ BB11 [0023] [06D..???) -> BB12(1) (always), preds={BB10} succs={BB12} | |
------------ BB12 [0006] [06D..090) (return), preds={BB01,BB11} succs={} | |
***** BB12 [0006] | |
STMT00055 ( ??? ... ??? ) | |
N004 ( 0, 0) [000198] DA--------- * STORE_LCL_VAR double V03 loc2 d:7 $VN.Void | |
N003 ( 0, 0) [000197] ----------- \--* PHI double $203 | |
N001 ( 0, 0) [000217] ----------- pred BB11 +--* PHI_ARG double V03 loc2 u:6 $202 | |
N002 ( 0, 0) [000201] ----------- pred BB01 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB12 [0006] | |
STMT00050 ( ??? ... ??? ) | |
N004 ( 0, 0) [000188] DA--------- * STORE_LCL_VAR int V02 loc1 d:3 $VN.Void | |
N003 ( 0, 0) [000187] ----------- \--* PHI int $242 | |
N001 ( 0, 0) [000218] ----------- pred BB11 +--* PHI_ARG int V02 loc1 u:2 $40 | |
N002 ( 0, 0) [000202] ----------- pred BB01 \--* PHI_ARG int V02 loc1 u:1 $80 | |
***** BB12 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 $VN.Void | |
N002 ( 17, 16) [000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $340 | |
N001 ( 3, 10) [000059] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
***** BB12 [0006] | |
STMT00018 ( ??? ... ??? ) | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int $VN.Void | |
N003 ( 2, 2) [000064] -------N--- +--* ADD byref $3c0 | |
N001 ( 1, 1) [000062] ----------- | +--* LCL_VAR ref V09 tmp3 u:2 $340 | |
N002 ( 1, 1) [000063] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 1) [000058] ----------- \--* LCL_VAR int V02 loc1 u:3 (last use) $242 | |
***** BB12 [0006] | |
STMT00019 ( ??? ... ??? ) | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000067] ----------- arg0 in rcx \--* BOX ref $340 | |
N001 ( 1, 1) [000066] ----------- \--* LCL_VAR ref V09 tmp3 u:2 (last use) $340 | |
***** BB12 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 $VN.Void | |
N002 ( 17, 16) [000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $341 | |
N001 ( 3, 10) [000070] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB12 [0006] | |
STMT00021 ( ??? ... ??? ) | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000075] -------N--- +--* ADD byref $3c1 | |
N001 ( 1, 1) [000073] ----------- | +--* LCL_VAR ref V10 tmp4 u:2 $341 | |
N002 ( 1, 1) [000074] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 2) [000069] ----------- \--* LCL_VAR double V03 loc2 u:7 (last use) $203 | |
***** BB12 [0006] | |
STMT00022 ( ??? ... ??? ) | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000078] ----------- arg0 in rcx \--* BOX ref $341 | |
N001 ( 1, 1) [000077] ----------- \--* LCL_VAR ref V10 tmp4 u:2 (last use) $341 | |
***** BB12 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 $VN.Void | |
N002 ( 17, 16) [000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $342 | |
N001 ( 3, 10) [000081] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB12 [0006] | |
STMT00024 ( ??? ... ??? ) | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000086] -------N--- +--* ADD byref $3c2 | |
N001 ( 1, 1) [000084] ----------- | +--* LCL_VAR ref V11 tmp5 u:2 $342 | |
N002 ( 1, 1) [000085] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 3, 4) [000080] ----------- \--* LCL_VAR double V04 loc3 u:1 (last use) $c1 | |
***** BB12 [0006] | |
STMT00025 ( ??? ... ??? ) | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000089] ----------- arg0 in rcx \--* BOX ref $342 | |
N001 ( 1, 1) [000088] ----------- \--* LCL_VAR ref V11 tmp5 u:2 (last use) $342 | |
***** BB12 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
N002 ( 2, 2) [000092] ----------- * RETURN int $VN.Void | |
N001 ( 1, 1) [000176] ----------- \--* CNS_INT int 1 $49 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Optimize Valnum CSEs | |
Standard CSE Heuristic | |
Candidate CSE #01, key=$101 in BB04, [cost= 3, size= 2]: | |
N001 ( 3, 2) CSE #01 (use)[000219] -------H--- * CNS_DBL double 1.0000000000000000 $101 | |
Candidate CSE #02, key=$102 in BB04, [cost= 3, size= 2]: | |
N001 ( 3, 2) CSE #02 (use)[000222] -------H--- * CNS_DBL double -1.0000000000000000 $102 | |
Candidate CSE #03, key=$103 in BB04, [cost= 3, size= 2]: | |
N001 ( 3, 2) CSE #03 (use)[000225] -------H--- * CNS_DBL double 9.9999999999999995e-08 $103 | |
Candidate CSE #04, key=$2c4 in BB12, [cost= 3, size=10]: | |
N001 ( 3, 10) CSE #04 (use)[000081] H---------- * CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
Blocks that generate CSE def/uses | |
BB02 cseGen = 000000000000003F CSE #01.c, CSE #02.c, CSE #03.c | |
BB04 cseGen = 000000000000003F CSE #01.c, CSE #02.c, CSE #03.c | |
BB05 cseGen = 000000000000003F CSE #01.c, CSE #02.c, CSE #03.c | |
BB07 cseGen = 0000000000000030 CSE #03.c | |
BB12 cseGen = 0000000000000040 CSE #04 | |
Performing DataFlow for ValnumCSE's | |
After performing DataFlow for ValnumCSE's | |
BB01 | |
in: 0000000000000000 | |
gen: 0000000000000000 | |
out: 0000000000000000 | |
BB02 | |
in: 0000000000000000 | |
gen: 000000000000003F CSE #01.c, CSE #02.c, CSE #03.c | |
out: 000000000000003F CSE #01.c, CSE #02.c, CSE #03.c | |
BB03 | |
in: 0000000000000015 CSE #01, CSE #02, CSE #03 | |
gen: 0000000000000000 | |
out: 0000000000000015 CSE #01, CSE #02, CSE #03 | |
BB04 | |
in: 0000000000000015 CSE #01, CSE #02, CSE #03 | |
gen: 000000000000003F CSE #01.c, CSE #02.c, CSE #03.c | |
out: 000000000000003F CSE #01.c, CSE #02.c, CSE #03.c | |
BB05 | |
in: 0000000000000035 CSE #01, CSE #02, CSE #03.c | |
gen: 000000000000003F CSE #01.c, CSE #02.c, CSE #03.c | |
out: 000000000000003F CSE #01.c, CSE #02.c, CSE #03.c | |
BB06 | |
in: 000000000000003F CSE #01.c, CSE #02.c, CSE #03.c | |
gen: 0000000000000000 | |
out: 0000000000000015 CSE #01, CSE #02, CSE #03 | |
BB07 | |
in: 0000000000000015 CSE #01, CSE #02, CSE #03 | |
gen: 0000000000000030 CSE #03.c | |
out: 0000000000000035 CSE #01, CSE #02, CSE #03.c | |
BB08 | |
in: 0000000000000035 CSE #01, CSE #02, CSE #03.c | |
gen: 0000000000000000 | |
out: 0000000000000035 CSE #01, CSE #02, CSE #03.c | |
BB09 | |
in: 0000000000000015 CSE #01, CSE #02, CSE #03 | |
gen: 0000000000000000 | |
out: 0000000000000015 CSE #01, CSE #02, CSE #03 | |
BB10 | |
in: 0000000000000015 CSE #01, CSE #02, CSE #03 | |
gen: 0000000000000000 | |
out: 0000000000000015 CSE #01, CSE #02, CSE #03 | |
BB11 | |
in: 0000000000000015 CSE #01, CSE #02, CSE #03 | |
gen: 0000000000000000 | |
out: 0000000000000015 CSE #01, CSE #02, CSE #03 | |
BB12 | |
in: 0000000000000000 | |
gen: 0000000000000040 CSE #04 | |
out: 0000000000000040 CSE #04 | |
Labeling the CSEs with Use/Def information | |
BB02 [000228] Def of CSE #01 [weight=0.59] | |
BB02 [000231] Def of CSE #02 [weight=0.59] | |
BB02 [000234] Def of CSE #03 [weight=0.59] | |
BB04 [000219] Use of CSE #01 [weight=98.60] *** Now Live Across Call *** | |
BB04 [000222] Use of CSE #02 [weight=98.60] *** Now Live Across Call *** | |
BB04 [000225] Use of CSE #03 [weight=98.60] *** Now Live Across Call *** | |
BB05 [000154] Use of CSE #01 [weight=98.65] | |
BB05 [000152] Use of CSE #02 [weight=98.65] | |
BB05 [000109] Use of CSE #03 [weight=98.65] | |
BB07 [000133] Use of CSE #03 [weight=0.05] | |
BB12 [000070] Def of CSE #04 [weight=0.60] | |
BB12 [000081] Use of CSE #04 [weight=0.60] *** Now Live Across Call *** | |
************ Trees at start of optValnumCSE_Heuristic() | |
------------ BB01 [0018] [???..???) -> BB12(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB12} | |
***** BB01 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
N004 ( 5, 8) [000177] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000178] J------N--- \--* GT int $180 | |
N001 ( 1, 1) [000179] ----------- +--* LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
***** BB02 [0020] | |
STMT00060 ( ??? ... ??? ) | |
N003 ( 3, 2) [000230] ----------- * COMMA void | |
N001 ( 3, 2) CSE #01 (def)[000228] -------H--- +--* CNS_DBL double 1.0000000000000000 $101 | |
N002 ( 0, 0) [000229] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00061 ( ??? ... ??? ) | |
N003 ( 3, 2) [000233] ----------- * COMMA void | |
N001 ( 3, 2) CSE #02 (def)[000231] -------H--- +--* CNS_DBL double -1.0000000000000000 $102 | |
N002 ( 0, 0) [000232] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00062 ( ??? ... ??? ) | |
N003 ( 3, 2) [000236] ----------- * COMMA void | |
N001 ( 3, 2) CSE #03 (def)[000234] -------H--- +--* CNS_DBL double 9.9999999999999995e-08 $103 | |
N002 ( 0, 0) [000235] ----------- \--* NOP void | |
------------ BB03 [0001] [01D..03A) -> BB04(1) (always), preds={BB02,BB10} succs={BB04} | |
***** BB03 [0001] | |
STMT00056 ( ??? ... ??? ) | |
N004 ( 0, 0) [000200] DA--------- * STORE_LCL_VAR double V03 loc2 d:2 $VN.Void | |
N003 ( 0, 0) [000199] ----------- \--* PHI double $200 | |
N001 ( 0, 0) [000215] ----------- pred BB10 +--* PHI_ARG double V03 loc2 u:6 | |
N002 ( 0, 0) [000203] ----------- pred BB02 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB03 [0001] | |
STMT00049 ( ??? ... ??? ) | |
N004 ( 0, 0) [000186] DA--------- * STORE_LCL_VAR int V05 loc4 d:2 $VN.Void | |
N003 ( 0, 0) [000185] ----------- \--* PHI int $240 | |
N001 ( 0, 0) [000216] ----------- pred BB10 +--* PHI_ARG int V05 loc4 u:3 | |
N002 ( 0, 0) [000204] ----------- pred BB02 \--* PHI_ARG int V05 loc4 u:1 $81 | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 $VN.Void | |
N001 ( 1, 1) [000096] ----------- \--* CNS_INT int 1 $49 | |
------------ BB04 [0021] [01D..???) -> BB05(1) (always), preds={BB03} succs={BB05} | |
***** BB04 [0021] | |
STMT00057 ( ??? ... ??? ) | |
N003 ( 3, 2) [000221] ----------- * COMMA void | |
N001 ( 3, 2) CSE #01 (use)[000219] -------H--- +--* CNS_DBL double 1.0000000000000000 $101 | |
N002 ( 0, 0) [000220] ----------- \--* NOP void | |
***** BB04 [0021] | |
STMT00058 ( ??? ... ??? ) | |
N003 ( 3, 2) [000224] ----------- * COMMA void | |
N001 ( 3, 2) CSE #02 (use)[000222] -------H--- +--* CNS_DBL double -1.0000000000000000 $102 | |
N002 ( 0, 0) [000223] ----------- \--* NOP void | |
***** BB04 [0021] | |
STMT00059 ( ??? ... ??? ) | |
N003 ( 3, 2) [000227] ----------- * COMMA void | |
N001 ( 3, 2) CSE #03 (use)[000225] -------H--- +--* CNS_DBL double 9.9999999999999995e-08 $103 | |
N002 ( 0, 0) [000226] ----------- \--* NOP void | |
------------ BB05 [0009] [01D..01E) -> BB09(0.9995009),BB06(0.0004990518) (cond), preds={BB04,BB08} succs={BB06,BB09} | |
***** BB05 [0009] | |
STMT00053 ( ??? ... ??? ) | |
N004 ( 0, 0) [000194] DA--------- * STORE_LCL_VAR double V03 loc2 d:3 $VN.Void | |
N003 ( 0, 0) [000193] ----------- \--* PHI double $201 | |
N001 ( 0, 0) [000212] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 | |
N002 ( 0, 0) [000206] ----------- pred BB04 \--* PHI_ARG double V03 loc2 u:2 $200 | |
***** BB05 [0009] | |
STMT00051 ( ??? ... ??? ) | |
N004 ( 0, 0) [000190] DA--------- * STORE_LCL_VAR int V12 tmp6 d:3 $VN.Void | |
N003 ( 0, 0) [000189] ----------- \--* PHI int $241 | |
N001 ( 0, 0) [000213] ----------- pred BB08 +--* PHI_ARG int V12 tmp6 u:4 | |
N002 ( 0, 0) [000207] ----------- pred BB04 \--* PHI_ARG int V12 tmp6 u:2 $49 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N010 ( 29, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
N009 ( 29, 26) [000160] --------R-- \--* SUB double $1c5 | |
N008 ( 3, 2) CSE #02 (use)[000152] ----------- +--* CNS_DBL double -1.0000000000000000 $102 | |
N007 ( 21, 20) [000159] ----------- \--* MUL double $1c4 | |
N005 ( 15, 14) [000158] --------R-- +--* SUB double $1c3 | |
N004 ( 3, 2) CSE #01 (use)[000154] ----------- | +--* CNS_DBL double 1.0000000000000000 $101 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double $1c2 | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 $201 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 12, 22) [000111] ----------- * JTRUE void $VN.Void | |
N004 ( 10, 20) [000110] J------N--- \--* LT int $182 | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs $c3 | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 u:2 $1c5 | |
N003 ( 3, 2) CSE #03 (use)[000109] ----------- \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
------------ BB06 [0010] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
N002 ( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
N001 ( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
N003 ( 5, 7) [000119] J------N--- \--* EQ int $183 | |
N001 ( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 $100 | |
------------ BB07 [0011] [01D..01E) -> BB09(0),BB08(1) (cond), preds={BB06} succs={BB08,BB09} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
N003 ( 40, 10) [000123] ----------- \--* DIV double $1c6 | |
N001 ( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
N003 ( 9, 10) [000129] ----G------ \--* SUB double $1c7 | |
N001 ( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 u:2 $1c6 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 14, 24) [000135] ----------- * JTRUE void $VN.Void | |
N004 ( 12, 22) [000134] J------N--- \--* LT int $184 | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs $c5 | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
N003 ( 3, 2) CSE #03 (use)[000133] ----------- \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
------------ BB08 [0012] [01D..01E) -> BB05(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB05} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
N003 ( 3, 3) [000138] ----------- \--* ADD int $185 | |
N001 ( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] ----------- \--* CNS_INT int 1 $49 | |
***** BB08 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000100] J------N--- \--* LE int $186 | |
N001 ( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] ----------- \--* CNS_INT int 10 $4a | |
------------ BB09 [0022] [01D..???) -> BB10(1) (always), preds={BB05,BB06,BB07,BB08} succs={BB10} | |
***** BB09 [0022] | |
STMT00052 ( ??? ... ??? ) | |
N006 ( 0, 0) [000192] DA--------- * STORE_LCL_VAR double V03 loc2 d:5 $VN.Void | |
N005 ( 0, 0) [000191] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000211] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N002 ( 0, 0) [000210] ----------- pred BB07 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N003 ( 0, 0) [000209] ----------- pred BB06 +--* PHI_ARG double V03 loc2 u:3 $201 | |
N004 ( 0, 0) [000208] ----------- pred BB05 \--* PHI_ARG double V03 loc2 u:3 $201 | |
------------ BB10 [0014] [01D..06D) -> BB03(0.99405),BB11(0.00595) (cond), preds={BB09} succs={BB11,BB03} | |
***** BB10 [0014] | |
STMT00054 ( ??? ... ??? ) | |
N004 ( 0, 0) [000196] DA--------- * STORE_LCL_VAR double V03 loc2 d:6 $VN.Void | |
N003 ( 0, 0) [000195] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000214] ----------- pred BB09 +--* PHI_ARG double V03 loc2 u:5 $202 | |
N002 ( 0, 0) [000205] ----------- pred BB03 \--* PHI_ARG double V03 loc2 u:2 | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
N001 ( 1, 1) [000141] ----------- \--* CNS_INT int 2 $40 | |
***** BB10 [0014] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
N003 ( 3, 3) [000026] ----------- \--* ADD int $187 | |
N001 ( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] ----------- \--* CNS_INT int 1 $49 | |
***** BB10 [0014] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000012] J------N--- \--* LE int $188 | |
N001 ( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
------------ BB11 [0023] [06D..???) -> BB12(1) (always), preds={BB10} succs={BB12} | |
------------ BB12 [0006] [06D..090) (return), preds={BB01,BB11} succs={} | |
***** BB12 [0006] | |
STMT00055 ( ??? ... ??? ) | |
N004 ( 0, 0) [000198] DA--------- * STORE_LCL_VAR double V03 loc2 d:7 $VN.Void | |
N003 ( 0, 0) [000197] ----------- \--* PHI double $203 | |
N001 ( 0, 0) [000217] ----------- pred BB11 +--* PHI_ARG double V03 loc2 u:6 $202 | |
N002 ( 0, 0) [000201] ----------- pred BB01 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB12 [0006] | |
STMT00050 ( ??? ... ??? ) | |
N004 ( 0, 0) [000188] DA--------- * STORE_LCL_VAR int V02 loc1 d:3 $VN.Void | |
N003 ( 0, 0) [000187] ----------- \--* PHI int $242 | |
N001 ( 0, 0) [000218] ----------- pred BB11 +--* PHI_ARG int V02 loc1 u:2 $40 | |
N002 ( 0, 0) [000202] ----------- pred BB01 \--* PHI_ARG int V02 loc1 u:1 $80 | |
***** BB12 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 $VN.Void | |
N002 ( 17, 16) [000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $340 | |
N001 ( 3, 10) [000059] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
***** BB12 [0006] | |
STMT00018 ( ??? ... ??? ) | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int $VN.Void | |
N003 ( 2, 2) [000064] -------N--- +--* ADD byref $3c0 | |
N001 ( 1, 1) [000062] ----------- | +--* LCL_VAR ref V09 tmp3 u:2 $340 | |
N002 ( 1, 1) [000063] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 1) [000058] ----------- \--* LCL_VAR int V02 loc1 u:3 (last use) $242 | |
***** BB12 [0006] | |
STMT00019 ( ??? ... ??? ) | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000067] ----------- arg0 in rcx \--* BOX ref $340 | |
N001 ( 1, 1) [000066] ----------- \--* LCL_VAR ref V09 tmp3 u:2 (last use) $340 | |
***** BB12 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 $VN.Void | |
N002 ( 17, 16) [000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $341 | |
N001 ( 3, 10) CSE #04 (def)[000070] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB12 [0006] | |
STMT00021 ( ??? ... ??? ) | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000075] -------N--- +--* ADD byref $3c1 | |
N001 ( 1, 1) [000073] ----------- | +--* LCL_VAR ref V10 tmp4 u:2 $341 | |
N002 ( 1, 1) [000074] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 2) [000069] ----------- \--* LCL_VAR double V03 loc2 u:7 (last use) $203 | |
***** BB12 [0006] | |
STMT00022 ( ??? ... ??? ) | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000078] ----------- arg0 in rcx \--* BOX ref $341 | |
N001 ( 1, 1) [000077] ----------- \--* LCL_VAR ref V10 tmp4 u:2 (last use) $341 | |
***** BB12 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 $VN.Void | |
N002 ( 17, 16) [000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $342 | |
N001 ( 3, 10) CSE #04 (use)[000081] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB12 [0006] | |
STMT00024 ( ??? ... ??? ) | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000086] -------N--- +--* ADD byref $3c2 | |
N001 ( 1, 1) [000084] ----------- | +--* LCL_VAR ref V11 tmp5 u:2 $342 | |
N002 ( 1, 1) [000085] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 3, 4) [000080] ----------- \--* LCL_VAR double V04 loc3 u:1 (last use) $c1 | |
***** BB12 [0006] | |
STMT00025 ( ??? ... ??? ) | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000089] ----------- arg0 in rcx \--* BOX ref $342 | |
N001 ( 1, 1) [000088] ----------- \--* LCL_VAR ref V11 tmp5 u:2 (last use) $342 | |
***** BB12 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
N002 ( 2, 2) [000092] ----------- * RETURN int $VN.Void | |
N001 ( 1, 1) [000176] ----------- \--* CNS_INT int 1 $49 | |
------------------------------------------------------------------------------------------------------------------- | |
Standard CSE Heuristic | |
Aggressive CSE Promotion cutoff is 200.000000 | |
Moderate CSE Promotion cutoff is 100.000000 | |
enregCount is 6 | |
Framesize estimate is 0x0000 | |
We have a small frame | |
Sorted CSE candidates: | |
CSE #03, {$103, $2 } useCnt=3: [def=59.145975, use=19729.411894, cost= 3, call] | |
:: N001 ( 3, 2) CSE #03 (def)[000234] -------H--- * CNS_DBL double 9.9999999999999995e-08 $103 | |
CSE #01, {$101, $2 } useCnt=2: [def=59.145975, use=19724.488905, cost= 3, call] | |
:: N001 ( 3, 2) CSE #01 (def)[000228] -------H--- * CNS_DBL double 1.0000000000000000 $101 | |
CSE #02, {$102, $2 } useCnt=2: [def=59.145975, use=19724.488905, cost= 3, call] | |
:: N001 ( 3, 2) CSE #02 (def)[000231] -------H--- * CNS_DBL double -1.0000000000000000 $102 | |
CSE #04, {$2c4, $2 } useCnt=1: [def=59.500000, use=59.500000, cost= 3, call] | |
:: N001 ( 3, 10) CSE #04 (def)[000070] H---------- * CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
Considering CSE #03 {$103, $2 } [def=59.145975, use=19729.411894, cost= 3, call] | |
CSE Expression : | |
N001 ( 3, 2) CSE #03 (def)[000234] -------H--- * CNS_DBL double 9.9999999999999995e-08 $103 | |
Aggressive CSE Promotion (19847.703844 >= 200.000000) | |
cseRefCnt=19847.703844, aggressiveRefCnt=200.000000, moderateRefCnt=100.000000 | |
defCnt=59.145975, useCnt=19729.411894, cost=3, size=2, LiveAcrossCall | |
def_cost=1, use_cost=1, extra_no_cost=6, extra_yes_cost=100 | |
CSE cost savings check (59194.235683 >= 19888.557869) passes | |
Promoting CSE: | |
lvaGrabTemp returning 18 (V18 rat0) (a long lifetime temp) called for CSE #03: aggressive. | |
CSE #03 is single-def, so associated CSE temp V18 will be in SSA | |
New refCnts for V18: refCnt = 2, refCntWtd = 1.18 | |
New refCnts for V18: refCnt = 3, refCntWtd = 99.78 | |
New refCnts for V18: refCnt = 4, refCntWtd = 198.43 | |
New refCnts for V18: refCnt = 5, refCntWtd = 198.48 | |
CSE #03 def at [000234] replaced in BB02 with def of V18 | |
optValnumCSE morphed tree: | |
N006 ( 4, 5) [000236] -A--------- * COMMA void | |
N004 ( 4, 5) [000239] -A--------- +--* COMMA double $103 | |
N002 ( 3, 3) CSE #03 (def)[000237] DA--------- | +--* STORE_LCL_VAR double V18 cse0 d:1 $VN.Void | |
N001 ( 3, 2) [000234] -------H--- | | \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
N003 ( 1, 2) [000238] ----------- | \--* LCL_VAR double V18 cse0 u:1 $103 | |
N005 ( 0, 0) [000235] ----------- \--* NOP void | |
Working on the replacement of the CSE #03 use at [000225] in BB04 | |
optValnumCSE morphed tree: | |
N003 ( 1, 2) [000227] ----------- * COMMA void | |
N001 ( 1, 2) [000240] ----------- +--* LCL_VAR double V18 cse0 u:1 $103 | |
N002 ( 0, 0) [000226] ----------- \--* NOP void | |
Working on the replacement of the CSE #03 use at [000109] in BB05 | |
optValnumCSE morphed tree: | |
N005 ( 10, 22) [000111] ----------- * JTRUE void $VN.Void | |
N004 ( 8, 20) [000110] J------N--- \--* LT int $182 | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs $c3 | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 u:2 $1c5 | |
N003 ( 1, 2) [000241] ----------- \--* LCL_VAR double V18 cse0 u:1 $103 | |
Working on the replacement of the CSE #03 use at [000133] in BB07 | |
optValnumCSE morphed tree: | |
N005 ( 12, 24) [000135] ----------- * JTRUE void $VN.Void | |
N004 ( 10, 22) [000134] J------N--- \--* LT int $184 | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs $c5 | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
N003 ( 1, 2) [000242] ----------- \--* LCL_VAR double V18 cse0 u:1 $103 | |
Considering CSE #01 {$101, $2 } [def=59.145975, use=19724.488905, cost= 3, call] | |
CSE Expression : | |
N001 ( 3, 2) CSE #01 (def)[000228] -------H--- * CNS_DBL double 1.0000000000000000 $101 | |
Aggressive CSE Promotion (19842.780855 >= 300.000000) | |
cseRefCnt=19842.780855, aggressiveRefCnt=300.000000, moderateRefCnt=150.000000 | |
defCnt=59.145975, useCnt=19724.488905, cost=3, size=2, LiveAcrossCall | |
def_cost=1, use_cost=1, extra_no_cost=4, extra_yes_cost=100 | |
CSE cost savings check (59177.466715 >= 19883.634880) passes | |
Promoting CSE: | |
lvaGrabTemp returning 19 (V19 rat0) (a long lifetime temp) called for CSE #01: aggressive. | |
CSE #01 is single-def, so associated CSE temp V19 will be in SSA | |
New refCnts for V19: refCnt = 2, refCntWtd = 1.18 | |
New refCnts for V19: refCnt = 3, refCntWtd = 99.78 | |
New refCnts for V19: refCnt = 4, refCntWtd = 198.43 | |
CSE #01 def at [000228] replaced in BB02 with def of V19 | |
optValnumCSE morphed tree: | |
N006 ( 4, 5) [000230] -A--------- * COMMA void | |
N004 ( 4, 5) [000245] -A--------- +--* COMMA double $101 | |
N002 ( 3, 3) CSE #01 (def)[000243] DA--------- | +--* STORE_LCL_VAR double V19 cse1 d:1 $VN.Void | |
N001 ( 3, 2) [000228] -------H--- | | \--* CNS_DBL double 1.0000000000000000 $101 | |
N003 ( 1, 2) [000244] ----------- | \--* LCL_VAR double V19 cse1 u:1 $101 | |
N005 ( 0, 0) [000229] ----------- \--* NOP void | |
Working on the replacement of the CSE #01 use at [000219] in BB04 | |
optValnumCSE morphed tree: | |
N003 ( 1, 2) [000221] ----------- * COMMA void | |
N001 ( 1, 2) [000246] ----------- +--* LCL_VAR double V19 cse1 u:1 $101 | |
N002 ( 0, 0) [000220] ----------- \--* NOP void | |
Working on the replacement of the CSE #01 use at [000154] in BB05 | |
optValnumCSE morphed tree: | |
N010 ( 27, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
N009 ( 27, 26) [000160] --------R-- \--* SUB double $1c5 | |
N008 ( 3, 2) CSE #02 (use)[000152] ----------- +--* CNS_DBL double -1.0000000000000000 $102 | |
N007 ( 19, 20) [000159] ----------- \--* MUL double $1c4 | |
N005 ( 13, 14) [000158] --------R-- +--* SUB double $1c3 | |
N004 ( 1, 2) [000247] ----------- | +--* LCL_VAR double V19 cse1 u:1 $101 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double $1c2 | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 $201 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 $201 | |
Considering CSE #02 {$102, $2 } [def=59.145975, use=19724.488905, cost= 3, call] | |
CSE Expression : | |
N001 ( 3, 2) CSE #02 (def)[000231] -------H--- * CNS_DBL double -1.0000000000000000 $102 | |
Aggressive CSE Promotion (19842.780855 >= 400.000000) | |
cseRefCnt=19842.780855, aggressiveRefCnt=400.000000, moderateRefCnt=200.000000 | |
defCnt=59.145975, useCnt=19724.488905, cost=3, size=2, LiveAcrossCall | |
def_cost=1, use_cost=1, extra_no_cost=4, extra_yes_cost=100 | |
CSE cost savings check (59177.466715 >= 19883.634880) passes | |
Promoting CSE: | |
lvaGrabTemp returning 20 (V20 rat0) (a long lifetime temp) called for CSE #02: aggressive. | |
CSE #02 is single-def, so associated CSE temp V20 will be in SSA | |
New refCnts for V20: refCnt = 2, refCntWtd = 1.18 | |
New refCnts for V20: refCnt = 3, refCntWtd = 99.78 | |
New refCnts for V20: refCnt = 4, refCntWtd = 198.43 | |
CSE #02 def at [000231] replaced in BB02 with def of V20 | |
optValnumCSE morphed tree: | |
N006 ( 4, 5) [000233] -A--------- * COMMA void | |
N004 ( 4, 5) [000250] -A--------- +--* COMMA double $102 | |
N002 ( 3, 3) CSE #02 (def)[000248] DA--------- | +--* STORE_LCL_VAR double V20 cse2 d:1 $VN.Void | |
N001 ( 3, 2) [000231] -------H--- | | \--* CNS_DBL double -1.0000000000000000 $102 | |
N003 ( 1, 2) [000249] ----------- | \--* LCL_VAR double V20 cse2 u:1 $102 | |
N005 ( 0, 0) [000232] ----------- \--* NOP void | |
Working on the replacement of the CSE #02 use at [000222] in BB04 | |
optValnumCSE morphed tree: | |
N003 ( 1, 2) [000224] ----------- * COMMA void | |
N001 ( 1, 2) [000251] ----------- +--* LCL_VAR double V20 cse2 u:1 $102 | |
N002 ( 0, 0) [000223] ----------- \--* NOP void | |
Working on the replacement of the CSE #02 use at [000152] in BB05 | |
optValnumCSE morphed tree: | |
N010 ( 25, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
N009 ( 25, 26) [000160] --------R-- \--* SUB double $1c5 | |
N008 ( 1, 2) [000252] ----------- +--* LCL_VAR double V20 cse2 u:1 $102 | |
N007 ( 19, 20) [000159] ----------- \--* MUL double $1c4 | |
N005 ( 13, 14) [000158] --------R-- +--* SUB double $1c3 | |
N004 ( 1, 2) [000247] ----------- | +--* LCL_VAR double V19 cse1 u:1 $101 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double $1c2 | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 $201 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 $201 | |
Considering CSE #04 {$2c4, $2 } [def=59.500000, use=59.500000, cost= 3, call] | |
CSE Expression : | |
N001 ( 3, 10) CSE #04 (def)[000070] H---------- * CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
Conservative CSE Promotion (178.500000 < 250.000000) | |
cseRefCnt=178.500000, aggressiveRefCnt=500.000000, moderateRefCnt=250.000000 | |
defCnt=59.500000, useCnt=59.500000, cost=3, size=10, LiveAcrossCall | |
def_cost=2, use_cost=3, extra_no_cost=14, extra_yes_cost=200 | |
CSE cost savings check (192.500000 >= 497.500000) fails | |
Did Not promote this CSE | |
*************** Finishing PHASE Optimize Valnum CSEs | |
Trees after Optimize Valnum CSEs | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB12(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB10 99.41 167 [01D..03A)-> BB04(1) (always) i IBC loophead bwd bwd-target | |
BB04 [0021] 1 BB03 98.60 166 [01D..???)-> BB05(1) (always) IBC internal | |
BB05 [0009] 2 BB04,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..???)-> BB10(1) (always) IBC internal | |
BB10 [0014] 1 BB09 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 1 BB10 0.59 1 [06D..???)-> BB12(1) (always) IBC internal | |
BB12 [0006] 2 BB01,BB11 0.60 1 [06D..090) (return) i IBC hascall gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB12(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB12} | |
***** BB01 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
N004 ( 5, 8) [000177] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000178] J------N--- \--* GT int $180 | |
N001 ( 1, 1) [000179] ----------- +--* LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
***** BB02 [0020] | |
STMT00060 ( ??? ... ??? ) | |
N006 ( 4, 5) [000230] -A--------- * COMMA void | |
N004 ( 4, 5) [000245] -A--------- +--* COMMA double $101 | |
N002 ( 3, 3) [000243] DA--------- | +--* STORE_LCL_VAR double V19 cse1 d:1 $VN.Void | |
N001 ( 3, 2) [000228] -------H--- | | \--* CNS_DBL double 1.0000000000000000 $101 | |
N003 ( 1, 2) [000244] ----------- | \--* LCL_VAR double V19 cse1 u:1 $101 | |
N005 ( 0, 0) [000229] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00061 ( ??? ... ??? ) | |
N006 ( 4, 5) [000233] -A--------- * COMMA void | |
N004 ( 4, 5) [000250] -A--------- +--* COMMA double $102 | |
N002 ( 3, 3) [000248] DA--------- | +--* STORE_LCL_VAR double V20 cse2 d:1 $VN.Void | |
N001 ( 3, 2) [000231] -------H--- | | \--* CNS_DBL double -1.0000000000000000 $102 | |
N003 ( 1, 2) [000249] ----------- | \--* LCL_VAR double V20 cse2 u:1 $102 | |
N005 ( 0, 0) [000232] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00062 ( ??? ... ??? ) | |
N006 ( 4, 5) [000236] -A--------- * COMMA void | |
N004 ( 4, 5) [000239] -A--------- +--* COMMA double $103 | |
N002 ( 3, 3) [000237] DA--------- | +--* STORE_LCL_VAR double V18 cse0 d:1 $VN.Void | |
N001 ( 3, 2) [000234] -------H--- | | \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
N003 ( 1, 2) [000238] ----------- | \--* LCL_VAR double V18 cse0 u:1 $103 | |
N005 ( 0, 0) [000235] ----------- \--* NOP void | |
------------ BB03 [0001] [01D..03A) -> BB04(1) (always), preds={BB02,BB10} succs={BB04} | |
***** BB03 [0001] | |
STMT00056 ( ??? ... ??? ) | |
N004 ( 0, 0) [000200] DA--------- * STORE_LCL_VAR double V03 loc2 d:2 $VN.Void | |
N003 ( 0, 0) [000199] ----------- \--* PHI double $200 | |
N001 ( 0, 0) [000215] ----------- pred BB10 +--* PHI_ARG double V03 loc2 u:6 | |
N002 ( 0, 0) [000203] ----------- pred BB02 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB03 [0001] | |
STMT00049 ( ??? ... ??? ) | |
N004 ( 0, 0) [000186] DA--------- * STORE_LCL_VAR int V05 loc4 d:2 $VN.Void | |
N003 ( 0, 0) [000185] ----------- \--* PHI int $240 | |
N001 ( 0, 0) [000216] ----------- pred BB10 +--* PHI_ARG int V05 loc4 u:3 | |
N002 ( 0, 0) [000204] ----------- pred BB02 \--* PHI_ARG int V05 loc4 u:1 $81 | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 $VN.Void | |
N001 ( 1, 1) [000096] ----------- \--* CNS_INT int 1 $49 | |
------------ BB04 [0021] [01D..???) -> BB05(1) (always), preds={BB03} succs={BB05} | |
***** BB04 [0021] | |
STMT00057 ( ??? ... ??? ) | |
N003 ( 1, 2) [000221] ----------- * COMMA void | |
N001 ( 1, 2) [000246] ----------- +--* LCL_VAR double V19 cse1 u:1 $101 | |
N002 ( 0, 0) [000220] ----------- \--* NOP void | |
***** BB04 [0021] | |
STMT00058 ( ??? ... ??? ) | |
N003 ( 1, 2) [000224] ----------- * COMMA void | |
N001 ( 1, 2) [000251] ----------- +--* LCL_VAR double V20 cse2 u:1 $102 | |
N002 ( 0, 0) [000223] ----------- \--* NOP void | |
***** BB04 [0021] | |
STMT00059 ( ??? ... ??? ) | |
N003 ( 1, 2) [000227] ----------- * COMMA void | |
N001 ( 1, 2) [000240] ----------- +--* LCL_VAR double V18 cse0 u:1 $103 | |
N002 ( 0, 0) [000226] ----------- \--* NOP void | |
------------ BB05 [0009] [01D..01E) -> BB09(0.9995009),BB06(0.0004990518) (cond), preds={BB04,BB08} succs={BB06,BB09} | |
***** BB05 [0009] | |
STMT00053 ( ??? ... ??? ) | |
N004 ( 0, 0) [000194] DA--------- * STORE_LCL_VAR double V03 loc2 d:3 $VN.Void | |
N003 ( 0, 0) [000193] ----------- \--* PHI double $201 | |
N001 ( 0, 0) [000212] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 | |
N002 ( 0, 0) [000206] ----------- pred BB04 \--* PHI_ARG double V03 loc2 u:2 $200 | |
***** BB05 [0009] | |
STMT00051 ( ??? ... ??? ) | |
N004 ( 0, 0) [000190] DA--------- * STORE_LCL_VAR int V12 tmp6 d:3 $VN.Void | |
N003 ( 0, 0) [000189] ----------- \--* PHI int $241 | |
N001 ( 0, 0) [000213] ----------- pred BB08 +--* PHI_ARG int V12 tmp6 u:4 | |
N002 ( 0, 0) [000207] ----------- pred BB04 \--* PHI_ARG int V12 tmp6 u:2 $49 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N010 ( 25, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
N009 ( 25, 26) [000160] --------R-- \--* SUB double $1c5 | |
N008 ( 1, 2) [000252] ----------- +--* LCL_VAR double V20 cse2 u:1 $102 | |
N007 ( 19, 20) [000159] ----------- \--* MUL double $1c4 | |
N005 ( 13, 14) [000158] --------R-- +--* SUB double $1c3 | |
N004 ( 1, 2) [000247] ----------- | +--* LCL_VAR double V19 cse1 u:1 $101 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double $1c2 | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 $201 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 10, 22) [000111] ----------- * JTRUE void $VN.Void | |
N004 ( 8, 20) [000110] J------N--- \--* LT int $182 | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs $c3 | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 u:2 $1c5 | |
N003 ( 1, 2) [000241] ----------- \--* LCL_VAR double V18 cse0 u:1 $103 | |
------------ BB06 [0010] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
N002 ( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
N001 ( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
N003 ( 5, 7) [000119] J------N--- \--* EQ int $183 | |
N001 ( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 $100 | |
------------ BB07 [0011] [01D..01E) -> BB09(0),BB08(1) (cond), preds={BB06} succs={BB08,BB09} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
N003 ( 40, 10) [000123] ----------- \--* DIV double $1c6 | |
N001 ( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
N003 ( 9, 10) [000129] ----G------ \--* SUB double $1c7 | |
N001 ( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 u:2 $1c6 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 12, 24) [000135] ----------- * JTRUE void $VN.Void | |
N004 ( 10, 22) [000134] J------N--- \--* LT int $184 | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs $c5 | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
N003 ( 1, 2) [000242] ----------- \--* LCL_VAR double V18 cse0 u:1 $103 | |
------------ BB08 [0012] [01D..01E) -> BB05(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB05} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
N003 ( 3, 3) [000138] ----------- \--* ADD int $185 | |
N001 ( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] ----------- \--* CNS_INT int 1 $49 | |
***** BB08 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000100] J------N--- \--* LE int $186 | |
N001 ( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] ----------- \--* CNS_INT int 10 $4a | |
------------ BB09 [0022] [01D..???) -> BB10(1) (always), preds={BB05,BB06,BB07,BB08} succs={BB10} | |
***** BB09 [0022] | |
STMT00052 ( ??? ... ??? ) | |
N006 ( 0, 0) [000192] DA--------- * STORE_LCL_VAR double V03 loc2 d:5 $VN.Void | |
N005 ( 0, 0) [000191] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000211] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N002 ( 0, 0) [000210] ----------- pred BB07 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N003 ( 0, 0) [000209] ----------- pred BB06 +--* PHI_ARG double V03 loc2 u:3 $201 | |
N004 ( 0, 0) [000208] ----------- pred BB05 \--* PHI_ARG double V03 loc2 u:3 $201 | |
------------ BB10 [0014] [01D..06D) -> BB03(0.99405),BB11(0.00595) (cond), preds={BB09} succs={BB11,BB03} | |
***** BB10 [0014] | |
STMT00054 ( ??? ... ??? ) | |
N004 ( 0, 0) [000196] DA--------- * STORE_LCL_VAR double V03 loc2 d:6 $VN.Void | |
N003 ( 0, 0) [000195] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000214] ----------- pred BB09 +--* PHI_ARG double V03 loc2 u:5 $202 | |
N002 ( 0, 0) [000205] ----------- pred BB03 \--* PHI_ARG double V03 loc2 u:2 | |
***** BB10 [0014] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
N001 ( 1, 1) [000141] ----------- \--* CNS_INT int 2 $40 | |
***** BB10 [0014] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
N003 ( 3, 3) [000026] ----------- \--* ADD int $187 | |
N001 ( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] ----------- \--* CNS_INT int 1 $49 | |
***** BB10 [0014] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000012] J------N--- \--* LE int $188 | |
N001 ( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
------------ BB11 [0023] [06D..???) -> BB12(1) (always), preds={BB10} succs={BB12} | |
------------ BB12 [0006] [06D..090) (return), preds={BB01,BB11} succs={} | |
***** BB12 [0006] | |
STMT00055 ( ??? ... ??? ) | |
N004 ( 0, 0) [000198] DA--------- * STORE_LCL_VAR double V03 loc2 d:7 $VN.Void | |
N003 ( 0, 0) [000197] ----------- \--* PHI double $203 | |
N001 ( 0, 0) [000217] ----------- pred BB11 +--* PHI_ARG double V03 loc2 u:6 $202 | |
N002 ( 0, 0) [000201] ----------- pred BB01 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB12 [0006] | |
STMT00050 ( ??? ... ??? ) | |
N004 ( 0, 0) [000188] DA--------- * STORE_LCL_VAR int V02 loc1 d:3 $VN.Void | |
N003 ( 0, 0) [000187] ----------- \--* PHI int $242 | |
N001 ( 0, 0) [000218] ----------- pred BB11 +--* PHI_ARG int V02 loc1 u:2 $40 | |
N002 ( 0, 0) [000202] ----------- pred BB01 \--* PHI_ARG int V02 loc1 u:1 $80 | |
***** BB12 [0006] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 $VN.Void | |
N002 ( 17, 16) [000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $340 | |
N001 ( 3, 10) [000059] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
***** BB12 [0006] | |
STMT00018 ( ??? ... ??? ) | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int $VN.Void | |
N003 ( 2, 2) [000064] -------N--- +--* ADD byref $3c0 | |
N001 ( 1, 1) [000062] ----------- | +--* LCL_VAR ref V09 tmp3 u:2 $340 | |
N002 ( 1, 1) [000063] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 1) [000058] ----------- \--* LCL_VAR int V02 loc1 u:3 (last use) $242 | |
***** BB12 [0006] | |
STMT00019 ( ??? ... ??? ) | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000067] ----------- arg0 in rcx \--* BOX ref $340 | |
N001 ( 1, 1) [000066] ----------- \--* LCL_VAR ref V09 tmp3 u:2 (last use) $340 | |
***** BB12 [0006] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 $VN.Void | |
N002 ( 17, 16) [000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $341 | |
N001 ( 3, 10) [000070] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB12 [0006] | |
STMT00021 ( ??? ... ??? ) | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000075] -------N--- +--* ADD byref $3c1 | |
N001 ( 1, 1) [000073] ----------- | +--* LCL_VAR ref V10 tmp4 u:2 $341 | |
N002 ( 1, 1) [000074] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 2) [000069] ----------- \--* LCL_VAR double V03 loc2 u:7 (last use) $203 | |
***** BB12 [0006] | |
STMT00022 ( ??? ... ??? ) | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000078] ----------- arg0 in rcx \--* BOX ref $341 | |
N001 ( 1, 1) [000077] ----------- \--* LCL_VAR ref V10 tmp4 u:2 (last use) $341 | |
***** BB12 [0006] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 $VN.Void | |
N002 ( 17, 16) [000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $342 | |
N001 ( 3, 10) [000081] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB12 [0006] | |
STMT00024 ( ??? ... ??? ) | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000086] -------N--- +--* ADD byref $3c2 | |
N001 ( 1, 1) [000084] ----------- | +--* LCL_VAR ref V11 tmp5 u:2 $342 | |
N002 ( 1, 1) [000085] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 3, 4) [000080] ----------- \--* LCL_VAR double V04 loc3 u:1 (last use) $c1 | |
***** BB12 [0006] | |
STMT00025 ( ??? ... ??? ) | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000089] ----------- arg0 in rcx \--* BOX ref $342 | |
N001 ( 1, 1) [000088] ----------- \--* LCL_VAR ref V11 tmp5 u:2 (last use) $342 | |
***** BB12 [0006] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
N002 ( 2, 2) [000092] ----------- * RETURN int $VN.Void | |
N001 ( 1, 1) [000176] ----------- \--* CNS_INT int 1 $49 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Assertion prop | |
GenTreeNode creates assertion: | |
N004 ( 5, 8) [000177] ----------- * JTRUE void $VN.Void | |
In BB01 New Global Constant Assertion: ($180,$44) Const_Loop_Bnd {GT($81, $47)} is not {IntCns 0}, index = #01 | |
GenTreeNode creates assertion: | |
N004 ( 5, 8) [000177] ----------- * JTRUE void $VN.Void | |
In BB01 New Global Constant Assertion: ($180,$44) Const_Loop_Bnd {GT($81, $47)} is {IntCns 0}, index = #02 | |
GenTreeNode creates assertion: | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
In BB06 New Global Constant Assertion: ($c4,$100) V14.02 == 0.00000, index = #03 | |
GenTreeNode creates assertion: | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
In BB06 New Global Constant Assertion: ($c4,$100) V14.02 != 0.00000, index = #04 | |
GenTreeNode creates assertion: | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
In BB08 New Global Constant Assertion: ($186,$44) Const_Loop_Bnd {LE($185, $4a)} is not {IntCns 0}, index = #05 | |
GenTreeNode creates assertion: | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
In BB08 New Global Constant Assertion: ($186,$44) Const_Loop_Bnd {LE($185, $4a)} is {IntCns 0}, index = #06 | |
GenTreeNode creates assertion: | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
In BB10 New Global Constant Assertion: ($188,$44) Const_Loop_Bnd {LE($187, $47)} is not {IntCns 0}, index = #07 | |
GenTreeNode creates assertion: | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
In BB10 New Global Constant Assertion: ($188,$44) Const_Loop_Bnd {LE($187, $47)} is {IntCns 0}, index = #08 | |
GenTreeNode creates assertion: | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int $VN.Void | |
In BB12 New Global Constant Assertion: ($340,$0) V09.02 != null, index = #09 | |
GenTreeNode creates assertion: | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double $VN.Void | |
In BB12 New Global Constant Assertion: ($341,$0) V10.02 != null, index = #10 | |
GenTreeNode creates assertion: | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double $VN.Void | |
In BB12 New Global Constant Assertion: ($342,$0) V11.02 != null, index = #11 | |
BB01 valueGen = #02 => BB12 valueGen = #01 | |
BB02 valueGen = #NA | |
BB03 valueGen = #NA | |
BB04 valueGen = #NA | |
BB05 valueGen = #NA => BB09 valueGen = #NA | |
BB06 valueGen = #04 => BB09 valueGen = #03 | |
BB07 valueGen = #NA => BB09 valueGen = #NA | |
BB08 valueGen = #06 => BB05 valueGen = #05 | |
BB09 valueGen = #NA | |
BB10 valueGen = #08 => BB03 valueGen = #07 | |
BB11 valueGen = #NA | |
BB12 valueGen = #09 #10 #11 | |
BB01: | |
in = #NA | |
out = #02 | |
BB12 = #01 | |
BB02: | |
in = #02 | |
out = #02 | |
BB03: | |
in = #02 | |
out = #02 | |
BB04: | |
in = #02 | |
out = #02 | |
BB05: | |
in = #02 | |
out = #02 | |
BB09 = #02 | |
BB06: | |
in = #02 | |
out = #02 #04 | |
BB09 = #02 #03 | |
BB07: | |
in = #02 #04 | |
out = #02 #04 | |
BB09 = #02 #04 | |
BB08: | |
in = #02 #04 | |
out = #02 #04 #06 | |
BB05 = #02 #04 #05 | |
BB09: | |
in = #02 | |
out = #02 | |
BB10: | |
in = #02 | |
out = #02 #08 | |
BB03 = #02 #07 | |
BB11: | |
in = #02 #08 | |
out = #02 #08 | |
BB12: | |
in = #NA | |
out = #09 #10 #11 | |
Propagating #NA for BB01, stmt STMT00047, tree [000179], tree -> #NA | |
Propagating #NA for BB01, stmt STMT00047, tree [000180], tree -> #NA | |
Propagating #NA for BB01, stmt STMT00047, tree [000178], tree -> #NA | |
Propagating #NA for BB01, stmt STMT00047, tree [000177], tree -> #01 | |
Propagating #02 for BB02, stmt STMT00060, tree [000228], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00060, tree [000243], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00060, tree [000244], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00060, tree [000245], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00060, tree [000229], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00060, tree [000230], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00061, tree [000231], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00061, tree [000248], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00061, tree [000249], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00061, tree [000250], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00061, tree [000232], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00061, tree [000233], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00062, tree [000234], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00062, tree [000237], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00062, tree [000238], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00062, tree [000239], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00062, tree [000235], tree -> #NA | |
Propagating #02 for BB02, stmt STMT00062, tree [000236], tree -> #NA | |
Propagating #02 for BB03, stmt STMT00028, tree [000096], tree -> #NA | |
Propagating #02 for BB03, stmt STMT00028, tree [000097], tree -> #NA | |
Propagating #02 for BB04, stmt STMT00057, tree [000246], tree -> #NA | |
Propagating #02 for BB04, stmt STMT00057, tree [000220], tree -> #NA | |
Propagating #02 for BB04, stmt STMT00057, tree [000221], tree -> #NA | |
Propagating #02 for BB04, stmt STMT00058, tree [000251], tree -> #NA | |
Propagating #02 for BB04, stmt STMT00058, tree [000223], tree -> #NA | |
Propagating #02 for BB04, stmt STMT00058, tree [000224], tree -> #NA | |
Propagating #02 for BB04, stmt STMT00059, tree [000240], tree -> #NA | |
Propagating #02 for BB04, stmt STMT00059, tree [000226], tree -> #NA | |
Propagating #02 for BB04, stmt STMT00059, tree [000227], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00031, tree [000155], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00031, tree [000156], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00031, tree [000157], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00031, tree [000247], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00031, tree [000158], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00031, tree [000153], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00031, tree [000159], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00031, tree [000252], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00031, tree [000160], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00031, tree [000106], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00032, tree [000107], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00032, tree [000108], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00032, tree [000241], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00032, tree [000110], tree -> #NA | |
Propagating #02 for BB05, stmt STMT00032, tree [000111], tree -> #NA | |
Propagating #02 for BB06, stmt STMT00034, tree [000113], tree -> #NA | |
Propagating #02 for BB06, stmt STMT00034, tree [000114], tree -> #NA | |
Propagating #02 for BB06, stmt STMT00034, tree [000116], tree -> #NA | |
Propagating #02 for BB06, stmt STMT00035, tree [000117], tree -> #NA | |
Propagating #02 for BB06, stmt STMT00035, tree [000118], tree -> #NA | |
Propagating #02 for BB06, stmt STMT00035, tree [000119], tree -> #NA | |
Propagating #02 for BB06, stmt STMT00035, tree [000120], tree -> #03 | |
Propagating #02 #04 for BB07, stmt STMT00036, tree [000121], tree -> #NA | |
Propagating #02 #04 for BB07, stmt STMT00036, tree [000122], tree -> #NA | |
Propagating #02 #04 for BB07, stmt STMT00036, tree [000123], tree -> #NA | |
Propagating #02 #04 for BB07, stmt STMT00036, tree [000124], tree -> #NA | |
Propagating #02 #04 for BB07, stmt STMT00037, tree [000127], tree -> #NA | |
Propagating #02 #04 for BB07, stmt STMT00037, tree [000128], tree -> #NA | |
Propagating #02 #04 for BB07, stmt STMT00037, tree [000129], tree -> #NA | |
Propagating #02 #04 for BB07, stmt STMT00037, tree [000130], tree -> #NA | |
Propagating #02 #04 for BB07, stmt STMT00038, tree [000131], tree -> #NA | |
Propagating #02 #04 for BB07, stmt STMT00038, tree [000132], tree -> #NA | |
Propagating #02 #04 for BB07, stmt STMT00038, tree [000242], tree -> #NA | |
Propagating #02 #04 for BB07, stmt STMT00038, tree [000134], tree -> #NA | |
Propagating #02 #04 for BB07, stmt STMT00038, tree [000135], tree -> #NA | |
Propagating #02 #04 for BB08, stmt STMT00039, tree [000136], tree -> #NA | |
Propagating #02 #04 for BB08, stmt STMT00039, tree [000137], tree -> #NA | |
Propagating #02 #04 for BB08, stmt STMT00039, tree [000138], tree -> #NA | |
Propagating #02 #04 for BB08, stmt STMT00039, tree [000139], tree -> #NA | |
Propagating #02 #04 for BB08, stmt STMT00029, tree [000098], tree -> #NA | |
Propagating #02 #04 for BB08, stmt STMT00029, tree [000099], tree -> #NA | |
Propagating #02 #04 for BB08, stmt STMT00029, tree [000100], tree -> #NA | |
Propagating #02 #04 for BB08, stmt STMT00029, tree [000101], tree -> #05 | |
Propagating #02 for BB10, stmt STMT00040, tree [000141], tree -> #NA | |
Propagating #02 for BB10, stmt STMT00040, tree [000142], tree -> #NA | |
Propagating #02 for BB10, stmt STMT00008, tree [000024], tree -> #NA | |
Propagating #02 for BB10, stmt STMT00008, tree [000025], tree -> #NA | |
Propagating #02 for BB10, stmt STMT00008, tree [000026], tree -> #NA | |
Propagating #02 for BB10, stmt STMT00008, tree [000027], tree -> #NA | |
Propagating #02 for BB10, stmt STMT00005, tree [000010], tree -> #NA | |
Propagating #02 for BB10, stmt STMT00005, tree [000011], tree -> #NA | |
Propagating #02 for BB10, stmt STMT00005, tree [000012], tree -> #NA | |
Propagating #02 for BB10, stmt STMT00005, tree [000013], tree -> #07 | |
Propagating #NA for BB12, stmt STMT00017, tree [000059], tree -> #NA | |
Propagating #NA for BB12, stmt STMT00017, tree [000060], tree -> #NA | |
Propagating #NA for BB12, stmt STMT00017, tree [000061], tree -> #NA | |
Propagating #NA for BB12, stmt STMT00018, tree [000062], tree -> #NA | |
Propagating #NA for BB12, stmt STMT00018, tree [000063], tree -> #NA | |
Propagating #NA for BB12, stmt STMT00018, tree [000064], tree -> #NA | |
Propagating #NA for BB12, stmt STMT00018, tree [000058], tree -> #NA | |
Propagating #NA for BB12, stmt STMT00018, tree [000065], tree -> #09 | |
Propagating #09 for BB12, stmt STMT00019, tree [000066], tree -> #NA | |
Propagating #09 for BB12, stmt STMT00019, tree [000067], tree -> #NA | |
Propagating #09 for BB12, stmt STMT00019, tree [000068], tree -> #NA | |
Propagating #09 for BB12, stmt STMT00020, tree [000070], tree -> #NA | |
Propagating #09 for BB12, stmt STMT00020, tree [000071], tree -> #NA | |
Propagating #09 for BB12, stmt STMT00020, tree [000072], tree -> #NA | |
Propagating #09 for BB12, stmt STMT00021, tree [000073], tree -> #NA | |
Propagating #09 for BB12, stmt STMT00021, tree [000074], tree -> #NA | |
Propagating #09 for BB12, stmt STMT00021, tree [000075], tree -> #NA | |
Propagating #09 for BB12, stmt STMT00021, tree [000069], tree -> #NA | |
Propagating #09 for BB12, stmt STMT00021, tree [000076], tree -> #10 | |
Propagating #09 #10 for BB12, stmt STMT00022, tree [000077], tree -> #NA | |
Propagating #09 #10 for BB12, stmt STMT00022, tree [000078], tree -> #NA | |
Propagating #09 #10 for BB12, stmt STMT00022, tree [000079], tree -> #NA | |
Propagating #09 #10 for BB12, stmt STMT00023, tree [000081], tree -> #NA | |
Propagating #09 #10 for BB12, stmt STMT00023, tree [000082], tree -> #NA | |
Propagating #09 #10 for BB12, stmt STMT00023, tree [000083], tree -> #NA | |
Propagating #09 #10 for BB12, stmt STMT00024, tree [000084], tree -> #NA | |
Propagating #09 #10 for BB12, stmt STMT00024, tree [000085], tree -> #NA | |
Propagating #09 #10 for BB12, stmt STMT00024, tree [000086], tree -> #NA | |
Propagating #09 #10 for BB12, stmt STMT00024, tree [000080], tree -> #NA | |
Propagating #09 #10 for BB12, stmt STMT00024, tree [000087], tree -> #11 | |
Propagating #09 #10 #11 for BB12, stmt STMT00025, tree [000088], tree -> #NA | |
Propagating #09 #10 #11 for BB12, stmt STMT00025, tree [000089], tree -> #NA | |
Propagating #09 #10 #11 for BB12, stmt STMT00025, tree [000090], tree -> #NA | |
Propagating #09 #10 #11 for BB12, stmt STMT00026, tree [000176], tree -> #NA | |
Propagating #09 #10 #11 for BB12, stmt STMT00026, tree [000092], tree -> #NA | |
*************** Finishing PHASE Assertion prop [no changes] | |
*************** Starting PHASE VN based intrinsic expansion | |
*************** Finishing PHASE VN based intrinsic expansion [no changes] | |
*************** Starting PHASE Optimize index checks | |
*************** Finishing PHASE Optimize index checks [no changes] | |
*************** Starting PHASE Optimize Induction Variables | |
*************** In optInductionVariables() | |
Identifying loops in DFS tree with following reverse post order: | |
RPO -> BB [pre, post] | |
00 -> BB01[0, 11] | |
01 -> BB02[1, 10] | |
02 -> BB03[2, 9] | |
03 -> BB04[3, 8] | |
04 -> BB05[4, 7] | |
05 -> BB06[5, 6] | |
06 -> BB07[6, 5] | |
07 -> BB08[7, 4] | |
08 -> BB09[8, 3] | |
09 -> BB10[9, 2] | |
10 -> BB11[10, 1] | |
11 -> BB12[11, 0] | |
BB10 -> BB03 is a backedge | |
BB03 is the header of a DFS loop with 1 back edges | |
Loop has 8 blocks | |
BB10 -> BB11 is an exit edge | |
BB02 -> BB03 is an entry edge | |
Added loop L00 with header BB03 | |
BB08 -> BB05 is a backedge | |
BB05 is the header of a DFS loop with 1 back edges | |
Loop has 4 blocks | |
BB05 -> BB09 is an exit edge | |
BB06 -> BB09 is an exit edge | |
BB07 -> BB09 is an exit edge | |
BB08 -> BB09 is an exit edge | |
BB04 -> BB05 is an entry edge | |
Nested within loop starting at BB03 | |
Added loop L01 with header BB05 | |
Found 2 loops | |
*************** Natural loop graph | |
L00 header: BB03 | |
Members (8): [BB03..BB10] | |
Entry: BB02 -> BB03 | |
Exit: BB10 -> BB11 | |
Back: BB10 -> BB03 | |
L01 header: BB05 parent: L00 | |
Members (4): [BB05..BB08] | |
Entry: BB04 -> BB05 | |
Exit: BB05 -> BB09; BB06 -> BB09; BB07 -> BB09; BB08 -> BB09 | |
Back: BB08 -> BB05 | |
Optimizing induction variables: | |
Processing L00 header: BB03 | |
Members (8): [BB03..BB10] | |
Entry: BB02 -> BB03 | |
Exit: BB10 -> BB11 | |
Back: BB10 -> BB03 | |
Checking if we should make L00 downwards counted | |
Expecting to be able to remove V05 by making this loop reverse counted | |
Loop exit is also the only backedge | |
All backedges are dominated by exiting block BB10 | |
L00 exits when: | |
<L00, (V05.1 + 1), 1> > 80000000 | |
Does not overflow past the test | |
Need to prove (V05.1 + 1) <= 80000001After computing the dominance tree: | |
BB01 : BB02 BB12 | |
BB02 : BB03 | |
BB03 : BB04 | |
BB04 : BB05 | |
BB05 : BB06 BB09 | |
BB06 : BB07 | |
BB07 : BB08 | |
BB09 : BB10 | |
BB10 : BB11 | |
: unknown | |
Could not compute backedge count -- not a counted loop | |
STMT00056 ( ??? ... ??? ) | |
N004 ( 0, 0) [000200] DA--------- * STORE_LCL_VAR double V03 loc2 d:2 $VN.Void | |
N003 ( 0, 0) [000199] ----------- \--* PHI double $200 | |
N001 ( 0, 0) [000215] ----------- pred BB10 +--* PHI_ARG double V03 loc2 u:6 | |
N002 ( 0, 0) [000203] ----------- pred BB02 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
Could not analyze header PHI | |
STMT00049 ( ??? ... ??? ) | |
N004 ( 0, 0) [000186] DA--------- * STORE_LCL_VAR int V05 loc4 d:2 $VN.Void | |
N003 ( 0, 0) [000185] ----------- \--* PHI int $240 | |
N001 ( 0, 0) [000216] ----------- pred BB10 +--* PHI_ARG int V05 loc4 u:3 | |
N002 ( 0, 0) [000204] ----------- pred BB02 \--* PHI_ARG int V05 loc4 u:1 $81 | |
=> <L00, V05.1, 1> | |
V05 is a primary induction variable in L00 | |
Exit BB11 does not need a sink; V05 is not live-in | |
Estimated cycle improvement: -1.9881 cycles per invocation | |
Estimated size improvement: -3 bytes | |
Widening is not profitable | |
Processing L01 header: BB05 parent: L00 | |
Members (4): [BB05..BB08] | |
Entry: BB04 -> BB05 | |
Exit: BB05 -> BB09; BB06 -> BB09; BB07 -> BB09; BB08 -> BB09 | |
Back: BB08 -> BB05 | |
Checking if we should make L01 downwards counted | |
No; has multiple exits | |
STMT00053 ( ??? ... ??? ) | |
N004 ( 0, 0) [000194] DA--------- * STORE_LCL_VAR double V03 loc2 d:3 $VN.Void | |
N003 ( 0, 0) [000193] ----------- \--* PHI double $201 | |
N001 ( 0, 0) [000212] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 | |
N002 ( 0, 0) [000206] ----------- pred BB04 \--* PHI_ARG double V03 loc2 u:2 $200 | |
Could not analyze header PHI | |
STMT00051 ( ??? ... ??? ) | |
N004 ( 0, 0) [000190] DA--------- * STORE_LCL_VAR int V12 tmp6 d:3 $VN.Void | |
N003 ( 0, 0) [000189] ----------- \--* PHI int $241 | |
N001 ( 0, 0) [000213] ----------- pred BB08 +--* PHI_ARG int V12 tmp6 u:4 | |
N002 ( 0, 0) [000207] ----------- pred BB04 \--* PHI_ARG int V12 tmp6 u:2 $49 | |
=> <L01, V12.2 (1), 1> | |
V12 is a primary induction variable in L01 | |
Exit BB09 does not need a sink; V12 is not live-in | |
Estimated cycle improvement: 0 cycles per invocation | |
Estimated size improvement: 0 bytes | |
Widening is not profitable | |
*************** Finishing PHASE Optimize Induction Variables [no changes] | |
*************** Starting PHASE VN-based dead store removal | |
Considering [000142] for removal... | |
-- no; last def not in the same block | |
Considering [000188] for removal... | |
-- no; last def not in the same block | |
Considering [000200] for removal... | |
-- no; last def not in the same block | |
Considering [000194] for removal... | |
-- no; last def not in the same block | |
Considering [000130] for removal... | |
-- no; last def not in the same block | |
Considering [000192] for removal... | |
-- no; last def not in the same block | |
Considering [000196] for removal... | |
-- no; last def not in the same block | |
Considering [000198] for removal... | |
-- no; last def not in the same block | |
Considering [000186] for removal... | |
-- no; last def not in the same block | |
Considering [000027] for removal... | |
-- no; last def not in the same block | |
Considering [000061] for removal... | |
-- no; last def not in the same block | |
Considering [000072] for removal... | |
-- no; last def not in the same block | |
Considering [000083] for removal... | |
-- no; last def not in the same block | |
Considering [000097] for removal... | |
-- no; last def not in the same block | |
Considering [000190] for removal... | |
-- no; last def not in the same block | |
Considering [000139] for removal... | |
-- no; last def not in the same block | |
Considering [000106] for removal... | |
-- no; last def not in the same block | |
Considering [000116] for removal... | |
-- no; last def not in the same block | |
Considering [000124] for removal... | |
-- no; last def not in the same block | |
*************** Finishing PHASE VN-based dead store removal [no changes] | |
*************** Starting PHASE Update flow graph opt pass | |
Compacting BB04 into BB03: | |
setting likelihood of BB03 -> BB05 from 1 to 1 | |
*************** In fgDebugCheckBBlist | |
Compacting BB10 into BB09: | |
*************** In fgDebugCheckBBlist | |
Compacting BB12 into BB11: | |
Second block has 1 other incoming edges | |
*************** In fgDebugCheckBBlist | |
*************** Finishing PHASE Update flow graph opt pass | |
Trees after Update flow graph opt pass | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB11(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB09 99.41 167 [01D..03A)-> BB05(1) (always) i IBC loophead bwd bwd-target | |
BB05 [0009] 2 BB03,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 2 BB01,BB09 0.60 1 [06D..090) (return) i IBC gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB11(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB11} | |
***** BB01 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
N004 ( 5, 8) [000177] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000178] J------N--- \--* GT int $180 | |
N001 ( 1, 1) [000179] ----------- +--* LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
***** BB02 [0020] | |
STMT00060 ( ??? ... ??? ) | |
N006 ( 4, 5) [000230] -A--------- * COMMA void | |
N004 ( 4, 5) [000245] -A--------- +--* COMMA double $101 | |
N002 ( 3, 3) [000243] DA--------- | +--* STORE_LCL_VAR double V19 cse1 d:1 $VN.Void | |
N001 ( 3, 2) [000228] -------H--- | | \--* CNS_DBL double 1.0000000000000000 $101 | |
N003 ( 1, 2) [000244] ----------- | \--* LCL_VAR double V19 cse1 u:1 $101 | |
N005 ( 0, 0) [000229] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00061 ( ??? ... ??? ) | |
N006 ( 4, 5) [000233] -A--------- * COMMA void | |
N004 ( 4, 5) [000250] -A--------- +--* COMMA double $102 | |
N002 ( 3, 3) [000248] DA--------- | +--* STORE_LCL_VAR double V20 cse2 d:1 $VN.Void | |
N001 ( 3, 2) [000231] -------H--- | | \--* CNS_DBL double -1.0000000000000000 $102 | |
N003 ( 1, 2) [000249] ----------- | \--* LCL_VAR double V20 cse2 u:1 $102 | |
N005 ( 0, 0) [000232] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00062 ( ??? ... ??? ) | |
N006 ( 4, 5) [000236] -A--------- * COMMA void | |
N004 ( 4, 5) [000239] -A--------- +--* COMMA double $103 | |
N002 ( 3, 3) [000237] DA--------- | +--* STORE_LCL_VAR double V18 cse0 d:1 $VN.Void | |
N001 ( 3, 2) [000234] -------H--- | | \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
N003 ( 1, 2) [000238] ----------- | \--* LCL_VAR double V18 cse0 u:1 $103 | |
N005 ( 0, 0) [000235] ----------- \--* NOP void | |
------------ BB03 [0001] [01D..03A) -> BB05(1) (always), preds={BB02,BB09} succs={BB05} | |
***** BB03 [0001] | |
STMT00056 ( ??? ... ??? ) | |
N004 ( 0, 0) [000200] DA--------- * STORE_LCL_VAR double V03 loc2 d:2 $VN.Void | |
N003 ( 0, 0) [000199] ----------- \--* PHI double $200 | |
N001 ( 0, 0) [000215] ----------- pred BB10 +--* PHI_ARG double V03 loc2 u:6 | |
N002 ( 0, 0) [000203] ----------- pred BB02 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB03 [0001] | |
STMT00049 ( ??? ... ??? ) | |
N004 ( 0, 0) [000186] DA--------- * STORE_LCL_VAR int V05 loc4 d:2 $VN.Void | |
N003 ( 0, 0) [000185] ----------- \--* PHI int $240 | |
N001 ( 0, 0) [000216] ----------- pred BB10 +--* PHI_ARG int V05 loc4 u:3 | |
N002 ( 0, 0) [000204] ----------- pred BB02 \--* PHI_ARG int V05 loc4 u:1 $81 | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 $VN.Void | |
N001 ( 1, 1) [000096] ----------- \--* CNS_INT int 1 $49 | |
***** BB03 [0001] | |
STMT00057 ( ??? ... ??? ) | |
N003 ( 1, 2) [000221] ----------- * COMMA void | |
N001 ( 1, 2) [000246] ----------- +--* LCL_VAR double V19 cse1 u:1 $101 | |
N002 ( 0, 0) [000220] ----------- \--* NOP void | |
***** BB03 [0001] | |
STMT00058 ( ??? ... ??? ) | |
N003 ( 1, 2) [000224] ----------- * COMMA void | |
N001 ( 1, 2) [000251] ----------- +--* LCL_VAR double V20 cse2 u:1 $102 | |
N002 ( 0, 0) [000223] ----------- \--* NOP void | |
***** BB03 [0001] | |
STMT00059 ( ??? ... ??? ) | |
N003 ( 1, 2) [000227] ----------- * COMMA void | |
N001 ( 1, 2) [000240] ----------- +--* LCL_VAR double V18 cse0 u:1 $103 | |
N002 ( 0, 0) [000226] ----------- \--* NOP void | |
------------ BB05 [0009] [01D..01E) -> BB09(0.9995009),BB06(0.0004990518) (cond), preds={BB03,BB08} succs={BB06,BB09} | |
***** BB05 [0009] | |
STMT00053 ( ??? ... ??? ) | |
N004 ( 0, 0) [000194] DA--------- * STORE_LCL_VAR double V03 loc2 d:3 $VN.Void | |
N003 ( 0, 0) [000193] ----------- \--* PHI double $201 | |
N001 ( 0, 0) [000212] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 | |
N002 ( 0, 0) [000206] ----------- pred BB04 \--* PHI_ARG double V03 loc2 u:2 $200 | |
***** BB05 [0009] | |
STMT00051 ( ??? ... ??? ) | |
N004 ( 0, 0) [000190] DA--------- * STORE_LCL_VAR int V12 tmp6 d:3 $VN.Void | |
N003 ( 0, 0) [000189] ----------- \--* PHI int $241 | |
N001 ( 0, 0) [000213] ----------- pred BB08 +--* PHI_ARG int V12 tmp6 u:4 | |
N002 ( 0, 0) [000207] ----------- pred BB04 \--* PHI_ARG int V12 tmp6 u:2 $49 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N010 ( 25, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
N009 ( 25, 26) [000160] --------R-- \--* SUB double $1c5 | |
N008 ( 1, 2) [000252] ----------- +--* LCL_VAR double V20 cse2 u:1 $102 | |
N007 ( 19, 20) [000159] ----------- \--* MUL double $1c4 | |
N005 ( 13, 14) [000158] --------R-- +--* SUB double $1c3 | |
N004 ( 1, 2) [000247] ----------- | +--* LCL_VAR double V19 cse1 u:1 $101 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double $1c2 | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 $201 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 10, 22) [000111] ----------- * JTRUE void $VN.Void | |
N004 ( 8, 20) [000110] J------N--- \--* LT int $182 | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs $c3 | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 u:2 $1c5 | |
N003 ( 1, 2) [000241] ----------- \--* LCL_VAR double V18 cse0 u:1 $103 | |
------------ BB06 [0010] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
N002 ( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
N001 ( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
N003 ( 5, 7) [000119] J------N--- \--* EQ int $183 | |
N001 ( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 $100 | |
------------ BB07 [0011] [01D..01E) -> BB09(0),BB08(1) (cond), preds={BB06} succs={BB08,BB09} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
N003 ( 40, 10) [000123] ----------- \--* DIV double $1c6 | |
N001 ( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
N003 ( 9, 10) [000129] ----G------ \--* SUB double $1c7 | |
N001 ( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 u:2 $1c6 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 12, 24) [000135] ----------- * JTRUE void $VN.Void | |
N004 ( 10, 22) [000134] J------N--- \--* LT int $184 | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs $c5 | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
N003 ( 1, 2) [000242] ----------- \--* LCL_VAR double V18 cse0 u:1 $103 | |
------------ BB08 [0012] [01D..01E) -> BB05(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB05} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
N003 ( 3, 3) [000138] ----------- \--* ADD int $185 | |
N001 ( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] ----------- \--* CNS_INT int 1 $49 | |
***** BB08 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000100] J------N--- \--* LE int $186 | |
N001 ( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] ----------- \--* CNS_INT int 10 $4a | |
------------ BB09 [0022] [01D..06D) -> BB03(0.99405),BB11(0.00595) (cond), preds={BB05,BB06,BB07,BB08} succs={BB11,BB03} | |
***** BB09 [0022] | |
STMT00052 ( ??? ... ??? ) | |
N006 ( 0, 0) [000192] DA--------- * STORE_LCL_VAR double V03 loc2 d:5 $VN.Void | |
N005 ( 0, 0) [000191] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000211] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N002 ( 0, 0) [000210] ----------- pred BB07 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N003 ( 0, 0) [000209] ----------- pred BB06 +--* PHI_ARG double V03 loc2 u:3 $201 | |
N004 ( 0, 0) [000208] ----------- pred BB05 \--* PHI_ARG double V03 loc2 u:3 $201 | |
***** BB09 [0022] | |
STMT00054 ( ??? ... ??? ) | |
N004 ( 0, 0) [000196] DA--------- * STORE_LCL_VAR double V03 loc2 d:6 $VN.Void | |
N003 ( 0, 0) [000195] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000214] ----------- pred BB09 +--* PHI_ARG double V03 loc2 u:5 $202 | |
N002 ( 0, 0) [000205] ----------- pred BB03 \--* PHI_ARG double V03 loc2 u:2 | |
***** BB09 [0022] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
N001 ( 1, 1) [000141] ----------- \--* CNS_INT int 2 $40 | |
***** BB09 [0022] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
N003 ( 3, 3) [000026] ----------- \--* ADD int $187 | |
N001 ( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] ----------- \--* CNS_INT int 1 $49 | |
***** BB09 [0022] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000012] J------N--- \--* LE int $188 | |
N001 ( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
------------ BB11 [0023] [06D..090) (return), preds={BB01,BB09} succs={} | |
***** BB11 [0023] | |
STMT00055 ( ??? ... ??? ) | |
N004 ( 0, 0) [000198] DA--------- * STORE_LCL_VAR double V03 loc2 d:7 $VN.Void | |
N003 ( 0, 0) [000197] ----------- \--* PHI double $203 | |
N001 ( 0, 0) [000217] ----------- pred BB11 +--* PHI_ARG double V03 loc2 u:6 $202 | |
N002 ( 0, 0) [000201] ----------- pred BB01 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB11 [0023] | |
STMT00050 ( ??? ... ??? ) | |
N004 ( 0, 0) [000188] DA--------- * STORE_LCL_VAR int V02 loc1 d:3 $VN.Void | |
N003 ( 0, 0) [000187] ----------- \--* PHI int $242 | |
N001 ( 0, 0) [000218] ----------- pred BB11 +--* PHI_ARG int V02 loc1 u:2 $40 | |
N002 ( 0, 0) [000202] ----------- pred BB01 \--* PHI_ARG int V02 loc1 u:1 $80 | |
***** BB11 [0023] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 $VN.Void | |
N002 ( 17, 16) [000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $340 | |
N001 ( 3, 10) [000059] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
***** BB11 [0023] | |
STMT00018 ( ??? ... ??? ) | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int $VN.Void | |
N003 ( 2, 2) [000064] -------N--- +--* ADD byref $3c0 | |
N001 ( 1, 1) [000062] ----------- | +--* LCL_VAR ref V09 tmp3 u:2 $340 | |
N002 ( 1, 1) [000063] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 1) [000058] ----------- \--* LCL_VAR int V02 loc1 u:3 (last use) $242 | |
***** BB11 [0023] | |
STMT00019 ( ??? ... ??? ) | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000067] ----------- arg0 in rcx \--* BOX ref $340 | |
N001 ( 1, 1) [000066] ----------- \--* LCL_VAR ref V09 tmp3 u:2 (last use) $340 | |
***** BB11 [0023] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 $VN.Void | |
N002 ( 17, 16) [000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $341 | |
N001 ( 3, 10) [000070] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB11 [0023] | |
STMT00021 ( ??? ... ??? ) | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000075] -------N--- +--* ADD byref $3c1 | |
N001 ( 1, 1) [000073] ----------- | +--* LCL_VAR ref V10 tmp4 u:2 $341 | |
N002 ( 1, 1) [000074] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 2) [000069] ----------- \--* LCL_VAR double V03 loc2 u:7 (last use) $203 | |
***** BB11 [0023] | |
STMT00022 ( ??? ... ??? ) | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000078] ----------- arg0 in rcx \--* BOX ref $341 | |
N001 ( 1, 1) [000077] ----------- \--* LCL_VAR ref V10 tmp4 u:2 (last use) $341 | |
***** BB11 [0023] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 $VN.Void | |
N002 ( 17, 16) [000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $342 | |
N001 ( 3, 10) [000081] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB11 [0023] | |
STMT00024 ( ??? ... ??? ) | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000086] -------N--- +--* ADD byref $3c2 | |
N001 ( 1, 1) [000084] ----------- | +--* LCL_VAR ref V11 tmp5 u:2 $342 | |
N002 ( 1, 1) [000085] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 3, 4) [000080] ----------- \--* LCL_VAR double V04 loc3 u:1 (last use) $c1 | |
***** BB11 [0023] | |
STMT00025 ( ??? ... ??? ) | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000089] ----------- arg0 in rcx \--* BOX ref $342 | |
N001 ( 1, 1) [000088] ----------- \--* LCL_VAR ref V11 tmp5 u:2 (last use) $342 | |
***** BB11 [0023] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
N002 ( 2, 2) [000092] ----------- * RETURN int $VN.Void | |
N001 ( 1, 1) [000176] ----------- \--* CNS_INT int 1 $49 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Stress gtSplitTree | |
*************** Finishing PHASE Stress gtSplitTree [no changes] | |
*************** Starting PHASE Expand casts | |
*************** Finishing PHASE Expand casts [no changes] | |
*************** Starting PHASE Expand runtime lookups | |
*************** Finishing PHASE Expand runtime lookups [no changes] | |
*************** Starting PHASE Expand static init | |
Nothing to expand. | |
*************** Finishing PHASE Expand static init [no changes] | |
*************** Starting PHASE Expand TLS access | |
Nothing to expand. | |
*************** Finishing PHASE Expand TLS access [no changes] | |
*************** Starting PHASE Insert GC Polls | |
*************** Finishing PHASE Insert GC Polls [no changes] | |
*************** Starting PHASE Create throw helper blocks | |
*************** Finishing PHASE Create throw helper blocks [no changes] | |
*************** Starting PHASE Optimize bools | |
*************** In optOptimizeBools() | |
optimized 0 BBJ_COND cases, 0 BBJ_RETURN cases in 1 passes | |
*************** Finishing PHASE Optimize bools | |
Trees after Optimize bools | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB11(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB09 99.41 167 [01D..03A)-> BB05(1) (always) i IBC loophead bwd bwd-target | |
BB05 [0009] 2 BB03,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 2 BB01,BB09 0.60 1 [06D..090) (return) i IBC gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB11(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB11} | |
***** BB01 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
N004 ( 5, 8) [000177] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000178] J------N--- \--* GT int $180 | |
N001 ( 1, 1) [000179] ----------- +--* LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
***** BB02 [0020] | |
STMT00060 ( ??? ... ??? ) | |
N006 ( 4, 5) [000230] -A--------- * COMMA void | |
N004 ( 4, 5) [000245] -A--------- +--* COMMA double $101 | |
N002 ( 3, 3) [000243] DA--------- | +--* STORE_LCL_VAR double V19 cse1 d:1 $VN.Void | |
N001 ( 3, 2) [000228] -------H--- | | \--* CNS_DBL double 1.0000000000000000 $101 | |
N003 ( 1, 2) [000244] ----------- | \--* LCL_VAR double V19 cse1 u:1 $101 | |
N005 ( 0, 0) [000229] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00061 ( ??? ... ??? ) | |
N006 ( 4, 5) [000233] -A--------- * COMMA void | |
N004 ( 4, 5) [000250] -A--------- +--* COMMA double $102 | |
N002 ( 3, 3) [000248] DA--------- | +--* STORE_LCL_VAR double V20 cse2 d:1 $VN.Void | |
N001 ( 3, 2) [000231] -------H--- | | \--* CNS_DBL double -1.0000000000000000 $102 | |
N003 ( 1, 2) [000249] ----------- | \--* LCL_VAR double V20 cse2 u:1 $102 | |
N005 ( 0, 0) [000232] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00062 ( ??? ... ??? ) | |
N006 ( 4, 5) [000236] -A--------- * COMMA void | |
N004 ( 4, 5) [000239] -A--------- +--* COMMA double $103 | |
N002 ( 3, 3) [000237] DA--------- | +--* STORE_LCL_VAR double V18 cse0 d:1 $VN.Void | |
N001 ( 3, 2) [000234] -------H--- | | \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
N003 ( 1, 2) [000238] ----------- | \--* LCL_VAR double V18 cse0 u:1 $103 | |
N005 ( 0, 0) [000235] ----------- \--* NOP void | |
------------ BB03 [0001] [01D..03A) -> BB05(1) (always), preds={BB02,BB09} succs={BB05} | |
***** BB03 [0001] | |
STMT00056 ( ??? ... ??? ) | |
N004 ( 0, 0) [000200] DA--------- * STORE_LCL_VAR double V03 loc2 d:2 $VN.Void | |
N003 ( 0, 0) [000199] ----------- \--* PHI double $200 | |
N001 ( 0, 0) [000215] ----------- pred BB10 +--* PHI_ARG double V03 loc2 u:6 | |
N002 ( 0, 0) [000203] ----------- pred BB02 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB03 [0001] | |
STMT00049 ( ??? ... ??? ) | |
N004 ( 0, 0) [000186] DA--------- * STORE_LCL_VAR int V05 loc4 d:2 $VN.Void | |
N003 ( 0, 0) [000185] ----------- \--* PHI int $240 | |
N001 ( 0, 0) [000216] ----------- pred BB10 +--* PHI_ARG int V05 loc4 u:3 | |
N002 ( 0, 0) [000204] ----------- pred BB02 \--* PHI_ARG int V05 loc4 u:1 $81 | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 $VN.Void | |
N001 ( 1, 1) [000096] ----------- \--* CNS_INT int 1 $49 | |
***** BB03 [0001] | |
STMT00057 ( ??? ... ??? ) | |
N003 ( 1, 2) [000221] ----------- * COMMA void | |
N001 ( 1, 2) [000246] ----------- +--* LCL_VAR double V19 cse1 u:1 $101 | |
N002 ( 0, 0) [000220] ----------- \--* NOP void | |
***** BB03 [0001] | |
STMT00058 ( ??? ... ??? ) | |
N003 ( 1, 2) [000224] ----------- * COMMA void | |
N001 ( 1, 2) [000251] ----------- +--* LCL_VAR double V20 cse2 u:1 $102 | |
N002 ( 0, 0) [000223] ----------- \--* NOP void | |
***** BB03 [0001] | |
STMT00059 ( ??? ... ??? ) | |
N003 ( 1, 2) [000227] ----------- * COMMA void | |
N001 ( 1, 2) [000240] ----------- +--* LCL_VAR double V18 cse0 u:1 $103 | |
N002 ( 0, 0) [000226] ----------- \--* NOP void | |
------------ BB05 [0009] [01D..01E) -> BB09(0.9995009),BB06(0.0004990518) (cond), preds={BB03,BB08} succs={BB06,BB09} | |
***** BB05 [0009] | |
STMT00053 ( ??? ... ??? ) | |
N004 ( 0, 0) [000194] DA--------- * STORE_LCL_VAR double V03 loc2 d:3 $VN.Void | |
N003 ( 0, 0) [000193] ----------- \--* PHI double $201 | |
N001 ( 0, 0) [000212] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 | |
N002 ( 0, 0) [000206] ----------- pred BB04 \--* PHI_ARG double V03 loc2 u:2 $200 | |
***** BB05 [0009] | |
STMT00051 ( ??? ... ??? ) | |
N004 ( 0, 0) [000190] DA--------- * STORE_LCL_VAR int V12 tmp6 d:3 $VN.Void | |
N003 ( 0, 0) [000189] ----------- \--* PHI int $241 | |
N001 ( 0, 0) [000213] ----------- pred BB08 +--* PHI_ARG int V12 tmp6 u:4 | |
N002 ( 0, 0) [000207] ----------- pred BB04 \--* PHI_ARG int V12 tmp6 u:2 $49 | |
***** BB05 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N010 ( 25, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
N009 ( 25, 26) [000160] --------R-- \--* SUB double $1c5 | |
N008 ( 1, 2) [000252] ----------- +--* LCL_VAR double V20 cse2 u:1 $102 | |
N007 ( 19, 20) [000159] ----------- \--* MUL double $1c4 | |
N005 ( 13, 14) [000158] --------R-- +--* SUB double $1c3 | |
N004 ( 1, 2) [000247] ----------- | +--* LCL_VAR double V19 cse1 u:1 $101 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double $1c2 | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 $201 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB05 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 10, 22) [000111] ----------- * JTRUE void $VN.Void | |
N004 ( 8, 20) [000110] J------N--- \--* LT int $182 | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs $c3 | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 u:2 $1c5 | |
N003 ( 1, 2) [000241] ----------- \--* LCL_VAR double V18 cse0 u:1 $103 | |
------------ BB06 [0010] [01D..01E) -> BB09(0),BB07(1) (cond), preds={BB05} succs={BB07,BB09} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
N002 ( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
N001 ( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
N003 ( 5, 7) [000119] J------N--- \--* EQ int $183 | |
N001 ( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 $100 | |
------------ BB07 [0011] [01D..01E) -> BB09(0),BB08(1) (cond), preds={BB06} succs={BB08,BB09} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
N003 ( 40, 10) [000123] ----------- \--* DIV double $1c6 | |
N001 ( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
N003 ( 9, 10) [000129] ----G------ \--* SUB double $1c7 | |
N001 ( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 u:2 $1c6 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 12, 24) [000135] ----------- * JTRUE void $VN.Void | |
N004 ( 10, 22) [000134] J------N--- \--* LT int $184 | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs $c5 | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
N003 ( 1, 2) [000242] ----------- \--* LCL_VAR double V18 cse0 u:1 $103 | |
------------ BB08 [0012] [01D..01E) -> BB05(0.991882),BB09(0.008118008) (cond), preds={BB07} succs={BB09,BB05} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
N003 ( 3, 3) [000138] ----------- \--* ADD int $185 | |
N001 ( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] ----------- \--* CNS_INT int 1 $49 | |
***** BB08 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000100] J------N--- \--* LE int $186 | |
N001 ( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] ----------- \--* CNS_INT int 10 $4a | |
------------ BB09 [0022] [01D..06D) -> BB03(0.99405),BB11(0.00595) (cond), preds={BB05,BB06,BB07,BB08} succs={BB11,BB03} | |
***** BB09 [0022] | |
STMT00052 ( ??? ... ??? ) | |
N006 ( 0, 0) [000192] DA--------- * STORE_LCL_VAR double V03 loc2 d:5 $VN.Void | |
N005 ( 0, 0) [000191] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000211] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N002 ( 0, 0) [000210] ----------- pred BB07 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N003 ( 0, 0) [000209] ----------- pred BB06 +--* PHI_ARG double V03 loc2 u:3 $201 | |
N004 ( 0, 0) [000208] ----------- pred BB05 \--* PHI_ARG double V03 loc2 u:3 $201 | |
***** BB09 [0022] | |
STMT00054 ( ??? ... ??? ) | |
N004 ( 0, 0) [000196] DA--------- * STORE_LCL_VAR double V03 loc2 d:6 $VN.Void | |
N003 ( 0, 0) [000195] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000214] ----------- pred BB09 +--* PHI_ARG double V03 loc2 u:5 $202 | |
N002 ( 0, 0) [000205] ----------- pred BB03 \--* PHI_ARG double V03 loc2 u:2 | |
***** BB09 [0022] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
N001 ( 1, 1) [000141] ----------- \--* CNS_INT int 2 $40 | |
***** BB09 [0022] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
N003 ( 3, 3) [000026] ----------- \--* ADD int $187 | |
N001 ( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] ----------- \--* CNS_INT int 1 $49 | |
***** BB09 [0022] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000012] J------N--- \--* LE int $188 | |
N001 ( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
------------ BB11 [0023] [06D..090) (return), preds={BB01,BB09} succs={} | |
***** BB11 [0023] | |
STMT00055 ( ??? ... ??? ) | |
N004 ( 0, 0) [000198] DA--------- * STORE_LCL_VAR double V03 loc2 d:7 $VN.Void | |
N003 ( 0, 0) [000197] ----------- \--* PHI double $203 | |
N001 ( 0, 0) [000217] ----------- pred BB11 +--* PHI_ARG double V03 loc2 u:6 $202 | |
N002 ( 0, 0) [000201] ----------- pred BB01 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB11 [0023] | |
STMT00050 ( ??? ... ??? ) | |
N004 ( 0, 0) [000188] DA--------- * STORE_LCL_VAR int V02 loc1 d:3 $VN.Void | |
N003 ( 0, 0) [000187] ----------- \--* PHI int $242 | |
N001 ( 0, 0) [000218] ----------- pred BB11 +--* PHI_ARG int V02 loc1 u:2 $40 | |
N002 ( 0, 0) [000202] ----------- pred BB01 \--* PHI_ARG int V02 loc1 u:1 $80 | |
***** BB11 [0023] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 $VN.Void | |
N002 ( 17, 16) [000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $340 | |
N001 ( 3, 10) [000059] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
***** BB11 [0023] | |
STMT00018 ( ??? ... ??? ) | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int $VN.Void | |
N003 ( 2, 2) [000064] -------N--- +--* ADD byref $3c0 | |
N001 ( 1, 1) [000062] ----------- | +--* LCL_VAR ref V09 tmp3 u:2 $340 | |
N002 ( 1, 1) [000063] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 1) [000058] ----------- \--* LCL_VAR int V02 loc1 u:3 (last use) $242 | |
***** BB11 [0023] | |
STMT00019 ( ??? ... ??? ) | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000067] ----------- arg0 in rcx \--* BOX ref $340 | |
N001 ( 1, 1) [000066] ----------- \--* LCL_VAR ref V09 tmp3 u:2 (last use) $340 | |
***** BB11 [0023] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 $VN.Void | |
N002 ( 17, 16) [000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $341 | |
N001 ( 3, 10) [000070] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB11 [0023] | |
STMT00021 ( ??? ... ??? ) | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000075] -------N--- +--* ADD byref $3c1 | |
N001 ( 1, 1) [000073] ----------- | +--* LCL_VAR ref V10 tmp4 u:2 $341 | |
N002 ( 1, 1) [000074] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 2) [000069] ----------- \--* LCL_VAR double V03 loc2 u:7 (last use) $203 | |
***** BB11 [0023] | |
STMT00022 ( ??? ... ??? ) | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000078] ----------- arg0 in rcx \--* BOX ref $341 | |
N001 ( 1, 1) [000077] ----------- \--* LCL_VAR ref V10 tmp4 u:2 (last use) $341 | |
***** BB11 [0023] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 $VN.Void | |
N002 ( 17, 16) [000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $342 | |
N001 ( 3, 10) [000081] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB11 [0023] | |
STMT00024 ( ??? ... ??? ) | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000086] -------N--- +--* ADD byref $3c2 | |
N001 ( 1, 1) [000084] ----------- | +--* LCL_VAR ref V11 tmp5 u:2 $342 | |
N002 ( 1, 1) [000085] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 3, 4) [000080] ----------- \--* LCL_VAR double V04 loc3 u:1 (last use) $c1 | |
***** BB11 [0023] | |
STMT00025 ( ??? ... ??? ) | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000089] ----------- arg0 in rcx \--* BOX ref $342 | |
N001 ( 1, 1) [000088] ----------- \--* LCL_VAR ref V11 tmp5 u:2 (last use) $342 | |
***** BB11 [0023] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
N002 ( 2, 2) [000092] ----------- * RETURN int $VN.Void | |
N001 ( 1, 1) [000176] ----------- \--* CNS_INT int 1 $49 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE If conversion | |
*************** Finishing PHASE If conversion [no changes] | |
*************** Starting PHASE Optimize layout | |
*************** In fgUpdateFlowGraph() | |
Before updating the flow graph: | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB11(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB09 99.41 167 [01D..03A)-> BB05(1) (always) i IBC loophead bwd bwd-target | |
BB05 [0009] 2 BB03,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 2 BB01,BB09 0.60 1 [06D..090) (return) i IBC gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgExpandRarelyRunBlocks() | |
*************** In fgDoReversePostOrderLayout() | |
Initial BasicBlocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB11(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB09 99.41 167 [01D..03A)-> BB05(1) (always) i IBC loophead bwd bwd-target | |
BB05 [0009] 2 BB03,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 2 BB01,BB09 0.60 1 [06D..090) (return) i IBC gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgMoveHotJumps() | |
Initial BasicBlocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB11(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB09 99.41 167 [01D..03A)-> BB05(1) (always) i IBC loophead bwd bwd-target | |
BB05 [0009] 2 BB03,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB11 [0023] 2 BB01,BB09 0.60 1 [06D..090) (return) i IBC gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgMoveColdBlocks() | |
Initial BasicBlocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB11(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB09 99.41 167 [01D..03A)-> BB05(1) (always) i IBC loophead bwd bwd-target | |
BB05 [0009] 2 BB03,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB11 [0023] 2 BB01,BB09 0.60 1 [06D..090) (return) i IBC gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Before renumbering the basic blocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB11(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB09 99.41 167 [01D..03A)-> BB05(1) (always) i IBC loophead bwd bwd-target | |
BB05 [0009] 2 BB03,BB08 98.65 166 [01D..01E)-> BB09(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB09 [0022] 4 BB05,BB06,BB07,BB08 99.41 167 [01D..06D)-> BB03(0.994),BB11(0.00595) ( cond ) i IBC bwd | |
BB06 [0010] 1 BB05 0.05 0 [01D..01E)-> BB09(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB09(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB05(0.992),BB09(0.00812) ( cond ) i IBC bwd | |
BB11 [0023] 2 BB01,BB09 0.60 1 [06D..090) (return) i IBC gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
Renumber BB05 to BB04 | |
Renumber BB09 to BB05 | |
Renumber BB11 to BB09 | |
*************** After renumbering the basic blocks | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB09(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB05 99.41 167 [01D..03A)-> BB04(1) (always) i IBC loophead bwd bwd-target | |
BB04 [0009] 2 BB03,BB08 98.65 166 [01D..01E)-> BB05(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB05 [0022] 4 BB04,BB06,BB07,BB08 99.41 167 [01D..06D)-> BB03(0.994),BB09(0.00595) ( cond ) i IBC bwd | |
BB06 [0010] 1 BB04 0.05 0 [01D..01E)-> BB05(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB05(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB04(0.992),BB05(0.00812) ( cond ) i IBC bwd | |
BB09 [0023] 2 BB01,BB05 0.60 1 [06D..090) (return) i IBC gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
New BlockSet epoch 7, # of blocks (including unused BB00): 10, bitset array size: 1 (short) | |
*************** In fgUpdateFlowGraph() | |
Before updating the flow graph: | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB09(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB05 99.41 167 [01D..03A)-> BB04(1) (always) i IBC loophead bwd bwd-target | |
BB04 [0009] 2 BB03,BB08 98.65 166 [01D..01E)-> BB05(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB05 [0022] 4 BB04,BB06,BB07,BB08 99.41 167 [01D..06D)-> BB03(0.994),BB09(0.00595) ( cond ) i IBC bwd | |
BB06 [0010] 1 BB04 0.05 0 [01D..01E)-> BB05(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB05(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB04(0.992),BB05(0.00812) ( cond ) i IBC bwd | |
BB09 [0023] 2 BB01,BB05 0.60 1 [06D..090) (return) i IBC gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** Finishing PHASE Optimize layout | |
Trees after Optimize layout | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB09(0.00595),BB02(0.994) ( cond ) IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) IBC internal | |
BB03 [0001] 2 BB02,BB05 99.41 167 [01D..03A)-> BB04(1) (always) i IBC loophead bwd bwd-target | |
BB04 [0009] 2 BB03,BB08 98.65 166 [01D..01E)-> BB05(1),BB06(0.000499) ( cond ) i IBC loophead bwd bwd-target | |
BB05 [0022] 4 BB04,BB06,BB07,BB08 99.41 167 [01D..06D)-> BB03(0.994),BB09(0.00595) ( cond ) i IBC bwd | |
BB06 [0010] 1 BB04 0.05 0 [01D..01E)-> BB05(0),BB07(1) ( cond ) i IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB05(0),BB08(1) ( cond ) i IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB04(0.992),BB05(0.00812) ( cond ) i IBC bwd | |
BB09 [0023] 2 BB01,BB05 0.60 1 [06D..090) (return) i IBC gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB09(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB09} | |
***** BB01 [0018] | |
STMT00047 ( 0x064[E-] ... ??? ) | |
N004 ( 5, 8) [000177] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000178] J------N--- \--* GT int $180 | |
N001 ( 1, 1) [000179] ----------- +--* LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
***** BB02 [0020] | |
STMT00060 ( ??? ... ??? ) | |
N006 ( 4, 5) [000230] -A--------- * COMMA void | |
N004 ( 4, 5) [000245] -A--------- +--* COMMA double $101 | |
N002 ( 3, 3) [000243] DA--------- | +--* STORE_LCL_VAR double V19 cse1 d:1 $VN.Void | |
N001 ( 3, 2) [000228] -------H--- | | \--* CNS_DBL double 1.0000000000000000 $101 | |
N003 ( 1, 2) [000244] ----------- | \--* LCL_VAR double V19 cse1 u:1 $101 | |
N005 ( 0, 0) [000229] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00061 ( ??? ... ??? ) | |
N006 ( 4, 5) [000233] -A--------- * COMMA void | |
N004 ( 4, 5) [000250] -A--------- +--* COMMA double $102 | |
N002 ( 3, 3) [000248] DA--------- | +--* STORE_LCL_VAR double V20 cse2 d:1 $VN.Void | |
N001 ( 3, 2) [000231] -------H--- | | \--* CNS_DBL double -1.0000000000000000 $102 | |
N003 ( 1, 2) [000249] ----------- | \--* LCL_VAR double V20 cse2 u:1 $102 | |
N005 ( 0, 0) [000232] ----------- \--* NOP void | |
***** BB02 [0020] | |
STMT00062 ( ??? ... ??? ) | |
N006 ( 4, 5) [000236] -A--------- * COMMA void | |
N004 ( 4, 5) [000239] -A--------- +--* COMMA double $103 | |
N002 ( 3, 3) [000237] DA--------- | +--* STORE_LCL_VAR double V18 cse0 d:1 $VN.Void | |
N001 ( 3, 2) [000234] -------H--- | | \--* CNS_DBL double 9.9999999999999995e-08 $103 | |
N003 ( 1, 2) [000238] ----------- | \--* LCL_VAR double V18 cse0 u:1 $103 | |
N005 ( 0, 0) [000235] ----------- \--* NOP void | |
------------ BB03 [0001] [01D..03A) -> BB04(1) (always), preds={BB02,BB05} succs={BB04} | |
***** BB03 [0001] | |
STMT00056 ( ??? ... ??? ) | |
N004 ( 0, 0) [000200] DA--------- * STORE_LCL_VAR double V03 loc2 d:2 $VN.Void | |
N003 ( 0, 0) [000199] ----------- \--* PHI double $200 | |
N001 ( 0, 0) [000215] ----------- pred BB10 +--* PHI_ARG double V03 loc2 u:6 | |
N002 ( 0, 0) [000203] ----------- pred BB02 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB03 [0001] | |
STMT00049 ( ??? ... ??? ) | |
N004 ( 0, 0) [000186] DA--------- * STORE_LCL_VAR int V05 loc4 d:2 $VN.Void | |
N003 ( 0, 0) [000185] ----------- \--* PHI int $240 | |
N001 ( 0, 0) [000216] ----------- pred BB10 +--* PHI_ARG int V05 loc4 u:3 | |
N002 ( 0, 0) [000204] ----------- pred BB02 \--* PHI_ARG int V05 loc4 u:1 $81 | |
***** BB03 [0001] | |
STMT00028 ( INL01 @ 0x004[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 $VN.Void | |
N001 ( 1, 1) [000096] ----------- \--* CNS_INT int 1 $49 | |
***** BB03 [0001] | |
STMT00057 ( ??? ... ??? ) | |
N003 ( 1, 2) [000221] ----------- * COMMA void | |
N001 ( 1, 2) [000246] ----------- +--* LCL_VAR double V19 cse1 u:1 $101 | |
N002 ( 0, 0) [000220] ----------- \--* NOP void | |
***** BB03 [0001] | |
STMT00058 ( ??? ... ??? ) | |
N003 ( 1, 2) [000224] ----------- * COMMA void | |
N001 ( 1, 2) [000251] ----------- +--* LCL_VAR double V20 cse2 u:1 $102 | |
N002 ( 0, 0) [000223] ----------- \--* NOP void | |
***** BB03 [0001] | |
STMT00059 ( ??? ... ??? ) | |
N003 ( 1, 2) [000227] ----------- * COMMA void | |
N001 ( 1, 2) [000240] ----------- +--* LCL_VAR double V18 cse0 u:1 $103 | |
N002 ( 0, 0) [000226] ----------- \--* NOP void | |
------------ BB04 [0009] [01D..01E) -> BB05(0.9995009),BB06(0.0004990518) (cond), preds={BB03,BB08} succs={BB06,BB05} | |
***** BB04 [0009] | |
STMT00053 ( ??? ... ??? ) | |
N004 ( 0, 0) [000194] DA--------- * STORE_LCL_VAR double V03 loc2 d:3 $VN.Void | |
N003 ( 0, 0) [000193] ----------- \--* PHI double $201 | |
N001 ( 0, 0) [000212] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 | |
N002 ( 0, 0) [000206] ----------- pred BB04 \--* PHI_ARG double V03 loc2 u:2 $200 | |
***** BB04 [0009] | |
STMT00051 ( ??? ... ??? ) | |
N004 ( 0, 0) [000190] DA--------- * STORE_LCL_VAR int V12 tmp6 d:3 $VN.Void | |
N003 ( 0, 0) [000189] ----------- \--* PHI int $241 | |
N001 ( 0, 0) [000213] ----------- pred BB08 +--* PHI_ARG int V12 tmp6 u:4 | |
N002 ( 0, 0) [000207] ----------- pred BB04 \--* PHI_ARG int V12 tmp6 u:2 $49 | |
***** BB04 [0009] | |
STMT00031 ( INL01 @ 0x008[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N010 ( 25, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
N009 ( 25, 26) [000160] --------R-- \--* SUB double $1c5 | |
N008 ( 1, 2) [000252] ----------- +--* LCL_VAR double V20 cse2 u:1 $102 | |
N007 ( 19, 20) [000159] ----------- \--* MUL double $1c4 | |
N005 ( 13, 14) [000158] --------R-- +--* SUB double $1c3 | |
N004 ( 1, 2) [000247] ----------- | +--* LCL_VAR double V19 cse1 u:1 $101 | |
N003 ( 7, 8) [000157] ----------- | \--* MUL double $1c2 | |
N001 ( 1, 2) [000155] ----------- | +--* LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- | \--* LCL_VAR double V03 loc2 u:3 $201 | |
N006 ( 1, 2) [000153] ----------- \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB04 [0009] | |
STMT00032 ( INL01 @ 0x010[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 10, 22) [000111] ----------- * JTRUE void $VN.Void | |
N004 ( 8, 20) [000110] J------N--- \--* LT int $182 | |
N002 ( 6, 17) [000108] ----------- +--* INTRINSIC double abs $c3 | |
N001 ( 1, 2) [000107] ----------- | \--* LCL_VAR double V13 tmp7 u:2 $1c5 | |
N003 ( 1, 2) [000241] ----------- \--* LCL_VAR double V18 cse0 u:1 $103 | |
------------ BB05 [0022] [01D..06D) -> BB03(0.99405),BB09(0.00595) (cond), preds={BB04,BB06,BB07,BB08} succs={BB09,BB03} | |
***** BB05 [0022] | |
STMT00052 ( ??? ... ??? ) | |
N006 ( 0, 0) [000192] DA--------- * STORE_LCL_VAR double V03 loc2 d:5 $VN.Void | |
N005 ( 0, 0) [000191] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000211] ----------- pred BB08 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N002 ( 0, 0) [000210] ----------- pred BB07 +--* PHI_ARG double V03 loc2 u:4 $1c7 | |
N003 ( 0, 0) [000209] ----------- pred BB06 +--* PHI_ARG double V03 loc2 u:3 $201 | |
N004 ( 0, 0) [000208] ----------- pred BB04 \--* PHI_ARG double V03 loc2 u:3 $201 | |
***** BB05 [0022] | |
STMT00054 ( ??? ... ??? ) | |
N004 ( 0, 0) [000196] DA--------- * STORE_LCL_VAR double V03 loc2 d:6 $VN.Void | |
N003 ( 0, 0) [000195] ----------- \--* PHI double $202 | |
N001 ( 0, 0) [000214] ----------- pred BB05 +--* PHI_ARG double V03 loc2 u:5 $202 | |
N002 ( 0, 0) [000205] ----------- pred BB03 \--* PHI_ARG double V03 loc2 u:2 | |
***** BB05 [0022] | |
STMT00040 ( INL01 @ 0x048[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
N001 ( 1, 1) [000141] ----------- \--* CNS_INT int 2 $40 | |
***** BB05 [0022] | |
STMT00008 ( 0x05E[E-] ... 0x062 ) | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
N003 ( 3, 3) [000026] ----------- \--* ADD int $187 | |
N001 ( 1, 1) [000024] ----------- +--* LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] ----------- \--* CNS_INT int 1 $49 | |
***** BB05 [0022] | |
STMT00005 ( 0x064[E-] ... 0x06B ) | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 6) [000012] J------N--- \--* LE int $188 | |
N001 ( 1, 1) [000010] ----------- +--* LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] ----------- \--* CNS_INT int 0x4C4B400 $47 | |
------------ BB06 [0010] [01D..01E) -> BB05(0),BB07(1) (cond), preds={BB04} succs={BB07,BB05} | |
***** BB06 [0010] | |
STMT00034 ( INL01 @ 0x019[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
N002 ( 15, 8) [000114] --CXG------ \--* CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
N001 ( 1, 2) [000113] ----------- arg0 in mm0 \--* LCL_VAR double V03 loc2 u:3 $201 | |
***** BB06 [0010] | |
STMT00035 ( INL01 @ 0x021[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
N003 ( 5, 7) [000119] J------N--- \--* EQ int $183 | |
N001 ( 3, 4) [000117] ----------- +--* LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- \--* CNS_DBL double 0.0000000000000000 $100 | |
------------ BB07 [0011] [01D..01E) -> BB05(0),BB08(1) (cond), preds={BB06} succs={BB08,BB05} | |
***** BB07 [0011] | |
STMT00036 ( INL01 @ 0x02D[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
N003 ( 40, 10) [000123] ----------- \--* DIV double $1c6 | |
N001 ( 1, 2) [000121] ----------- +--* LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- \--* LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
***** BB07 [0011] | |
STMT00037 ( INL01 @ 0x031[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
N003 ( 9, 10) [000129] ----G------ \--* SUB double $1c7 | |
N001 ( 1, 2) [000127] ----------- +--* LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- \--* LCL_VAR double V15 tmp9 u:2 $1c6 | |
***** BB07 [0011] | |
STMT00038 ( INL01 @ 0x037[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N005 ( 12, 24) [000135] ----------- * JTRUE void $VN.Void | |
N004 ( 10, 22) [000134] J------N--- \--* LT int $184 | |
N002 ( 8, 19) [000132] ----------- +--* INTRINSIC double abs $c5 | |
N001 ( 3, 4) [000131] ----------- | \--* LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
N003 ( 1, 2) [000242] ----------- \--* LCL_VAR double V18 cse0 u:1 $103 | |
------------ BB08 [0012] [01D..01E) -> BB04(0.991882),BB05(0.008118008) (cond), preds={BB07} succs={BB05,BB04} | |
***** BB08 [0012] | |
STMT00039 ( INL01 @ 0x040[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
N003 ( 3, 3) [000138] ----------- \--* ADD int $185 | |
N001 ( 1, 1) [000136] ----------- +--* LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] ----------- \--* CNS_INT int 1 $49 | |
***** BB08 [0012] | |
STMT00029 ( INL01 @ 0x044[E-] ... ??? ) <- INLRT @ 0x01D[E-] | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
N003 ( 3, 3) [000100] J------N--- \--* LE int $186 | |
N001 ( 1, 1) [000098] ----------- +--* LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] ----------- \--* CNS_INT int 10 $4a | |
------------ BB09 [0023] [06D..090) (return), preds={BB01,BB05} succs={} | |
***** BB09 [0023] | |
STMT00055 ( ??? ... ??? ) | |
N004 ( 0, 0) [000198] DA--------- * STORE_LCL_VAR double V03 loc2 d:7 $VN.Void | |
N003 ( 0, 0) [000197] ----------- \--* PHI double $203 | |
N001 ( 0, 0) [000217] ----------- pred BB09 +--* PHI_ARG double V03 loc2 u:6 $202 | |
N002 ( 0, 0) [000201] ----------- pred BB01 \--* PHI_ARG double V03 loc2 u:1 $c0 | |
***** BB09 [0023] | |
STMT00050 ( ??? ... ??? ) | |
N004 ( 0, 0) [000188] DA--------- * STORE_LCL_VAR int V02 loc1 d:3 $VN.Void | |
N003 ( 0, 0) [000187] ----------- \--* PHI int $242 | |
N001 ( 0, 0) [000218] ----------- pred BB09 +--* PHI_ARG int V02 loc1 u:2 $40 | |
N002 ( 0, 0) [000202] ----------- pred BB01 \--* PHI_ARG int V02 loc1 u:1 $80 | |
***** BB09 [0023] | |
STMT00017 ( 0x06D[E-] ... 0x08F ) | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 $VN.Void | |
N002 ( 17, 16) [000060] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $340 | |
N001 ( 3, 10) [000059] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
***** BB09 [0023] | |
STMT00018 ( ??? ... ??? ) | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int $VN.Void | |
N003 ( 2, 2) [000064] -------N--- +--* ADD byref $3c0 | |
N001 ( 1, 1) [000062] ----------- | +--* LCL_VAR ref V09 tmp3 u:2 $340 | |
N002 ( 1, 1) [000063] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 1) [000058] ----------- \--* LCL_VAR int V02 loc1 u:3 (last use) $242 | |
***** BB09 [0023] | |
STMT00019 ( ??? ... ??? ) | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000067] ----------- arg0 in rcx \--* BOX ref $340 | |
N001 ( 1, 1) [000066] ----------- \--* LCL_VAR ref V09 tmp3 u:2 (last use) $340 | |
***** BB09 [0023] | |
STMT00020 ( 0x078[E-] ... ??? ) | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 $VN.Void | |
N002 ( 17, 16) [000071] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $341 | |
N001 ( 3, 10) [000070] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB09 [0023] | |
STMT00021 ( ??? ... ??? ) | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000075] -------N--- +--* ADD byref $3c1 | |
N001 ( 1, 1) [000073] ----------- | +--* LCL_VAR ref V10 tmp4 u:2 $341 | |
N002 ( 1, 1) [000074] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 1, 2) [000069] ----------- \--* LCL_VAR double V03 loc2 u:7 (last use) $203 | |
***** BB09 [0023] | |
STMT00022 ( ??? ... ??? ) | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000078] ----------- arg0 in rcx \--* BOX ref $341 | |
N001 ( 1, 1) [000077] ----------- \--* LCL_VAR ref V10 tmp4 u:2 (last use) $341 | |
***** BB09 [0023] | |
STMT00023 ( 0x083[E-] ... ??? ) | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 $VN.Void | |
N002 ( 17, 16) [000082] --C-------- \--* CALL help ref CORINFO_HELP_NEWSFAST $342 | |
N001 ( 3, 10) [000081] H---------- arg0 in rcx \--* CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
***** BB09 [0023] | |
STMT00024 ( ??? ... ??? ) | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double $VN.Void | |
N003 ( 2, 2) [000086] -------N--- +--* ADD byref $3c2 | |
N001 ( 1, 1) [000084] ----------- | +--* LCL_VAR ref V11 tmp5 u:2 $342 | |
N002 ( 1, 1) [000085] ----------- | \--* CNS_INT long 8 $380 | |
N004 ( 3, 4) [000080] ----------- \--* LCL_VAR double V04 loc3 u:1 (last use) $c1 | |
***** BB09 [0023] | |
STMT00025 ( ??? ... ??? ) | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
N002 ( 7, 5) [000089] ----------- arg0 in rcx \--* BOX ref $342 | |
N001 ( 1, 1) [000088] ----------- \--* LCL_VAR ref V11 tmp5 u:2 (last use) $342 | |
***** BB09 [0023] | |
STMT00026 ( 0x08E[E-] ... ??? ) | |
N002 ( 2, 2) [000092] ----------- * RETURN int $VN.Void | |
N001 ( 1, 1) [000176] ----------- \--* CNS_INT int 1 $49 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Recognize Switch | |
*************** Finishing PHASE Recognize Switch [no changes] | |
*************** Starting PHASE Determine first cold block | |
No procedure splitting will be done for this method | |
*************** Finishing PHASE Determine first cold block [no changes] | |
*************** Starting PHASE Rationalize IR | |
*************** Finishing PHASE Rationalize IR | |
Trees after Rationalize IR | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB09(0.00595),BB02(0.994) ( cond ) LIR IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) LIR IBC internal | |
BB03 [0001] 2 BB02,BB05 99.41 167 [01D..03A)-> BB04(1) (always) i LIR IBC loophead bwd bwd-target | |
BB04 [0009] 2 BB03,BB08 98.65 166 [01D..01E)-> BB05(1),BB06(0.000499) ( cond ) i LIR IBC loophead bwd bwd-target | |
BB05 [0022] 4 BB04,BB06,BB07,BB08 99.41 167 [01D..06D)-> BB03(0.994),BB09(0.00595) ( cond ) i LIR IBC bwd | |
BB06 [0010] 1 BB04 0.05 0 [01D..01E)-> BB05(0),BB07(1) ( cond ) i LIR IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB05(0),BB08(1) ( cond ) i LIR IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB04(0.992),BB05(0.00812) ( cond ) i LIR IBC bwd | |
BB09 [0023] 2 BB01,BB05 0.60 1 [06D..090) (return) i LIR IBC gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB09(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB09} | |
[000253] ----------- IL_OFFSET void INLRT @ 0x064[E-] | |
N001 ( 1, 1) [000179] ----------- t179 = LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] ----------- t180 = CNS_INT int 0x4C4B400 $47 | |
/--* t179 int | |
+--* t180 int | |
N003 ( 3, 6) [000178] J------N--- t178 = * GT int $180 | |
/--* t178 int | |
N004 ( 5, 8) [000177] ----------- * JTRUE void $VN.Void | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
N001 ( 3, 2) [000228] -------H--- t228 = CNS_DBL double 1.0000000000000000 $101 | |
/--* t228 double | |
N002 ( 3, 3) [000243] DA--------- * STORE_LCL_VAR double V19 cse1 d:1 $VN.Void | |
N001 ( 3, 2) [000231] -------H--- t231 = CNS_DBL double -1.0000000000000000 $102 | |
/--* t231 double | |
N002 ( 3, 3) [000248] DA--------- * STORE_LCL_VAR double V20 cse2 d:1 $VN.Void | |
N001 ( 3, 2) [000234] -------H--- t234 = CNS_DBL double 9.9999999999999995e-08 $103 | |
/--* t234 double | |
N002 ( 3, 3) [000237] DA--------- * STORE_LCL_VAR double V18 cse0 d:1 $VN.Void | |
------------ BB03 [0001] [01D..03A) -> BB04(1) (always), preds={BB02,BB05} succs={BB04} | |
[000254] ----------- IL_OFFSET void INL01 @ 0x004[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 1) [000096] ----------- t96 = CNS_INT int 1 $49 | |
/--* t96 int | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 $VN.Void | |
------------ BB04 [0009] [01D..01E) -> BB05(0.9995009),BB06(0.0004990518) (cond), preds={BB03,BB08} succs={BB06,BB05} | |
[000255] ----------- IL_OFFSET void INL01 @ 0x008[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 2) [000155] ----------- t155 = LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- t156 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t155 double | |
+--* t156 double | |
N003 ( 7, 8) [000157] ----------- t157 = * MUL double $1c2 | |
N004 ( 1, 2) [000247] ----------- t247 = LCL_VAR double V19 cse1 u:1 $101 | |
/--* t247 double | |
+--* t157 double | |
N005 ( 13, 14) [000158] ----------- t158 = * SUB double $1c3 | |
N006 ( 1, 2) [000153] ----------- t153 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t158 double | |
+--* t153 double | |
N007 ( 19, 20) [000159] ----------- t159 = * MUL double $1c4 | |
N008 ( 1, 2) [000252] ----------- t252 = LCL_VAR double V20 cse2 u:1 $102 | |
/--* t252 double | |
+--* t159 double | |
N009 ( 25, 26) [000160] ----------- t160 = * SUB double $1c5 | |
/--* t160 double | |
N010 ( 25, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
[000256] ----------- IL_OFFSET void INL01 @ 0x010[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 2) [000107] ----------- t107 = LCL_VAR double V13 tmp7 u:2 $1c5 | |
/--* t107 double | |
N002 ( 6, 17) [000108] ----------- t108 = * INTRINSIC double abs $c3 | |
N003 ( 1, 2) [000241] ----------- t241 = LCL_VAR double V18 cse0 u:1 $103 | |
/--* t108 double | |
+--* t241 double | |
N004 ( 8, 20) [000110] J------N--- t110 = * LT int $182 | |
/--* t110 int | |
N005 ( 10, 22) [000111] ----------- * JTRUE void $VN.Void | |
------------ BB05 [0022] [01D..06D) -> BB03(0.99405),BB09(0.00595) (cond), preds={BB04,BB06,BB07,BB08} succs={BB09,BB03} | |
[000257] ----------- IL_OFFSET void INL01 @ 0x048[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 1) [000141] ----------- t141 = CNS_INT int 2 $40 | |
/--* t141 int | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
[000258] ----------- IL_OFFSET void INLRT @ 0x05E[E-] | |
N001 ( 1, 1) [000024] ----------- t24 = LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] ----------- t25 = CNS_INT int 1 $49 | |
/--* t24 int | |
+--* t25 int | |
N003 ( 3, 3) [000026] ----------- t26 = * ADD int $187 | |
/--* t26 int | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
[000259] ----------- IL_OFFSET void INLRT @ 0x064[E-] | |
N001 ( 1, 1) [000010] ----------- t10 = LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] ----------- t11 = CNS_INT int 0x4C4B400 $47 | |
/--* t10 int | |
+--* t11 int | |
N003 ( 3, 6) [000012] J------N--- t12 = * LE int $188 | |
/--* t12 int | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
------------ BB06 [0010] [01D..01E) -> BB05(0),BB07(1) (cond), preds={BB04} succs={BB07,BB05} | |
[000260] ----------- IL_OFFSET void INL01 @ 0x019[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 2) [000113] ----------- t113 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t113 double arg0 in mm0 | |
N002 ( 15, 8) [000114] --CXG------ t114 = * CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
/--* t114 double | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
[000261] ----------- IL_OFFSET void INL01 @ 0x021[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 3, 4) [000117] ----------- t117 = LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- t118 = CNS_DBL double 0.0000000000000000 $100 | |
/--* t117 double | |
+--* t118 double | |
N003 ( 5, 7) [000119] J------N--- t119 = * EQ int $183 | |
/--* t119 int | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
------------ BB07 [0011] [01D..01E) -> BB05(0),BB08(1) (cond), preds={BB06} succs={BB08,BB05} | |
[000262] ----------- IL_OFFSET void INL01 @ 0x02D[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 2) [000121] ----------- t121 = LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- t122 = LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
/--* t121 double | |
+--* t122 double | |
N003 ( 40, 10) [000123] ----------- t123 = * DIV double $1c6 | |
/--* t123 double | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
[000263] ----------- IL_OFFSET void INL01 @ 0x031[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 2) [000127] ----------- t127 = LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- t128 = LCL_VAR double V15 tmp9 u:2 $1c6 | |
/--* t127 double | |
+--* t128 double | |
N003 ( 9, 10) [000129] ----G------ t129 = * SUB double $1c7 | |
/--* t129 double | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
[000264] ----------- IL_OFFSET void INL01 @ 0x037[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 3, 4) [000131] ----------- t131 = LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
/--* t131 double | |
N002 ( 8, 19) [000132] ----------- t132 = * INTRINSIC double abs $c5 | |
N003 ( 1, 2) [000242] ----------- t242 = LCL_VAR double V18 cse0 u:1 $103 | |
/--* t132 double | |
+--* t242 double | |
N004 ( 10, 22) [000134] J------N--- t134 = * LT int $184 | |
/--* t134 int | |
N005 ( 12, 24) [000135] ----------- * JTRUE void $VN.Void | |
------------ BB08 [0012] [01D..01E) -> BB04(0.991882),BB05(0.008118008) (cond), preds={BB07} succs={BB05,BB04} | |
[000265] ----------- IL_OFFSET void INL01 @ 0x040[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 1) [000136] ----------- t136 = LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] ----------- t137 = CNS_INT int 1 $49 | |
/--* t136 int | |
+--* t137 int | |
N003 ( 3, 3) [000138] ----------- t138 = * ADD int $185 | |
/--* t138 int | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
[000266] ----------- IL_OFFSET void INL01 @ 0x044[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 1) [000098] ----------- t98 = LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] ----------- t99 = CNS_INT int 10 $4a | |
/--* t98 int | |
+--* t99 int | |
N003 ( 3, 3) [000100] J------N--- t100 = * LE int $186 | |
/--* t100 int | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
------------ BB09 [0023] [06D..090) (return), preds={BB01,BB05} succs={} | |
[000267] ----------- IL_OFFSET void INLRT @ 0x06D[E-] | |
N001 ( 3, 10) [000059] H---------- t59 = CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
/--* t59 long arg0 in rcx | |
N002 ( 17, 16) [000060] --C-------- t60 = * CALL help ref CORINFO_HELP_NEWSFAST $340 | |
/--* t60 ref | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 $VN.Void | |
N001 ( 1, 1) [000062] ----------- t62 = LCL_VAR ref V09 tmp3 u:2 $340 | |
N002 ( 1, 1) [000063] ----------- t63 = CNS_INT long 8 $380 | |
/--* t62 ref | |
+--* t63 long | |
N003 ( 2, 2) [000064] -------N--- t64 = * ADD byref $3c0 | |
N004 ( 1, 1) [000058] ----------- t58 = LCL_VAR int V02 loc1 u:3 (last use) $242 | |
/--* t64 byref | |
+--* t58 int | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int $VN.Void | |
N001 ( 1, 1) [000066] ----------- t66 = LCL_VAR ref V09 tmp3 u:2 (last use) $340 | |
/--* t66 ref arg0 in rcx | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
[000268] ----------- IL_OFFSET void INLRT @ 0x078[E-] | |
N001 ( 3, 10) [000070] H---------- t70 = CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
/--* t70 long arg0 in rcx | |
N002 ( 17, 16) [000071] --C-------- t71 = * CALL help ref CORINFO_HELP_NEWSFAST $341 | |
/--* t71 ref | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 $VN.Void | |
N001 ( 1, 1) [000073] ----------- t73 = LCL_VAR ref V10 tmp4 u:2 $341 | |
N002 ( 1, 1) [000074] ----------- t74 = CNS_INT long 8 $380 | |
/--* t73 ref | |
+--* t74 long | |
N003 ( 2, 2) [000075] -------N--- t75 = * ADD byref $3c1 | |
N004 ( 1, 2) [000069] ----------- t69 = LCL_VAR double V03 loc2 u:7 (last use) $203 | |
/--* t75 byref | |
+--* t69 double | |
N005 ( 6, 7) [000076] nA--G------ * STOREIND double $VN.Void | |
N001 ( 1, 1) [000077] ----------- t77 = LCL_VAR ref V10 tmp4 u:2 (last use) $341 | |
/--* t77 ref arg0 in rcx | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
[000269] ----------- IL_OFFSET void INLRT @ 0x083[E-] | |
N001 ( 3, 10) [000081] H---------- t81 = CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
/--* t81 long arg0 in rcx | |
N002 ( 17, 16) [000082] --C-------- t82 = * CALL help ref CORINFO_HELP_NEWSFAST $342 | |
/--* t82 ref | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 $VN.Void | |
N001 ( 1, 1) [000084] ----------- t84 = LCL_VAR ref V11 tmp5 u:2 $342 | |
N002 ( 1, 1) [000085] ----------- t85 = CNS_INT long 8 $380 | |
/--* t84 ref | |
+--* t85 long | |
N003 ( 2, 2) [000086] -------N--- t86 = * ADD byref $3c2 | |
N004 ( 3, 4) [000080] ----------- t80 = LCL_VAR double V04 loc3 u:1 (last use) $c1 | |
/--* t86 byref | |
+--* t80 double | |
N005 ( 8, 9) [000087] nA--G------ * STOREIND double $VN.Void | |
N001 ( 1, 1) [000088] ----------- t88 = LCL_VAR ref V11 tmp5 u:2 (last use) $342 | |
/--* t88 ref arg0 in rcx | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
[000270] ----------- IL_OFFSET void INLRT @ 0x08E[E-] | |
N001 ( 1, 1) [000176] ----------- t176 = CNS_INT int 1 $49 | |
/--* t176 int | |
N002 ( 2, 2) [000092] ----------- * RETURN int $VN.Void | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Checking Profile Weights (flags:0xb) | |
All block successor flow edge likelihoods sum to 1.0 | |
*************** Starting PHASE Lowering nodeinfo | |
Lowering JTRUE: | |
N001 ( 1, 1) [000179] ----------- t179 = LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] -c--------- t180 = CNS_INT int 0x4C4B400 $47 | |
/--* t179 int | |
+--* t180 int | |
N003 ( 3, 6) [000178] J------N--- t178 = * GT int $180 | |
/--* t178 int | |
N004 ( 5, 8) [000177] ----------- * JTRUE void $VN.Void | |
Lowering condition: | |
N001 ( 1, 1) [000179] ----------- t179 = LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] -c--------- t180 = CNS_INT int 0x4C4B400 $47 | |
/--* t179 int | |
+--* t180 int | |
N003 ( 3, 6) [000178] J------N--- t178 = * GT int $180 | |
Lowering JTRUE Result: | |
N001 ( 1, 1) [000179] ----------- t179 = LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] -c--------- t180 = CNS_INT int 0x4C4B400 $47 | |
/--* t179 int | |
+--* t180 int | |
N003 ( 3, 6) [000178] -------N--- * CMP void | |
N004 ( 5, 8) [000177] ----------- JCC void cond=SGT | |
lowering store lcl var/field (before): | |
N001 ( 3, 2) [000228] -------H--- t228 = CNS_DBL double 1.0000000000000000 $101 | |
/--* t228 double | |
N002 ( 3, 3) [000243] DA--------- * STORE_LCL_VAR double V19 cse1 d:1 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 3, 2) [000228] -------H--- t228 = CNS_DBL double 1.0000000000000000 $101 | |
/--* t228 double | |
N002 ( 3, 3) [000243] DA--------- * STORE_LCL_VAR double V19 cse1 d:1 $VN.Void | |
lowering store lcl var/field (before): | |
N001 ( 3, 2) [000231] -------H--- t231 = CNS_DBL double -1.0000000000000000 $102 | |
/--* t231 double | |
N002 ( 3, 3) [000248] DA--------- * STORE_LCL_VAR double V20 cse2 d:1 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 3, 2) [000231] -------H--- t231 = CNS_DBL double -1.0000000000000000 $102 | |
/--* t231 double | |
N002 ( 3, 3) [000248] DA--------- * STORE_LCL_VAR double V20 cse2 d:1 $VN.Void | |
lowering store lcl var/field (before): | |
N001 ( 3, 2) [000234] -------H--- t234 = CNS_DBL double 9.9999999999999995e-08 $103 | |
/--* t234 double | |
N002 ( 3, 3) [000237] DA--------- * STORE_LCL_VAR double V18 cse0 d:1 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 3, 2) [000234] -------H--- t234 = CNS_DBL double 9.9999999999999995e-08 $103 | |
/--* t234 double | |
N002 ( 3, 3) [000237] DA--------- * STORE_LCL_VAR double V18 cse0 d:1 $VN.Void | |
lowering store lcl var/field (before): | |
N001 ( 1, 1) [000096] ----------- t96 = CNS_INT int 1 $49 | |
/--* t96 int | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 1) [000096] -c--------- t96 = CNS_INT int 1 $49 | |
/--* t96 int | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 $VN.Void | |
lowering store lcl var/field (before): | |
N001 ( 1, 2) [000155] ----------- t155 = LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- t156 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t155 double | |
+--* t156 double | |
N003 ( 7, 8) [000157] ----------- t157 = * MUL double $1c2 | |
N004 ( 1, 2) [000247] ----------- t247 = LCL_VAR double V19 cse1 u:1 $101 | |
/--* t247 double | |
+--* t157 double | |
N005 ( 13, 14) [000158] ----------- t158 = * SUB double $1c3 | |
N006 ( 1, 2) [000153] ----------- t153 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t158 double | |
+--* t153 double | |
N007 ( 19, 20) [000159] ----------- t159 = * MUL double $1c4 | |
N008 ( 1, 2) [000252] ----------- t252 = LCL_VAR double V20 cse2 u:1 $102 | |
/--* t252 double | |
+--* t159 double | |
N009 ( 25, 26) [000160] ----------- t160 = * SUB double $1c5 | |
/--* t160 double | |
N010 ( 25, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 2) [000155] ----------- t155 = LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- t156 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t155 double | |
+--* t156 double | |
N003 ( 7, 8) [000157] ----------- t157 = * MUL double $1c2 | |
N004 ( 1, 2) [000247] ----------- t247 = LCL_VAR double V19 cse1 u:1 $101 | |
/--* t247 double | |
+--* t157 double | |
N005 ( 13, 14) [000158] ----------- t158 = * SUB double $1c3 | |
N006 ( 1, 2) [000153] ----------- t153 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t158 double | |
+--* t153 double | |
N007 ( 19, 20) [000159] ----------- t159 = * MUL double $1c4 | |
N008 ( 1, 2) [000252] ----------- t252 = LCL_VAR double V20 cse2 u:1 $102 | |
/--* t252 double | |
+--* t159 double | |
N009 ( 25, 26) [000160] ----------- t160 = * SUB double $1c5 | |
/--* t160 double | |
N010 ( 25, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
Lowering JTRUE: | |
N001 ( 1, 2) [000107] ----------- t107 = LCL_VAR double V13 tmp7 u:2 $1c5 | |
/--* t107 double | |
N002 ( 6, 17) [000108] ----------- t108 = * INTRINSIC double abs $c3 | |
N003 ( 1, 2) [000241] ----------- t241 = LCL_VAR double V18 cse0 u:1 $103 | |
/--* t108 double | |
+--* t241 double | |
N004 ( 8, 20) [000110] J------N--- t110 = * LT int $182 | |
/--* t110 int | |
N005 ( 10, 22) [000111] ----------- * JTRUE void $VN.Void | |
Lowering condition: | |
N001 ( 1, 2) [000107] ----------- t107 = LCL_VAR double V13 tmp7 u:2 $1c5 | |
/--* t107 double | |
N002 ( 6, 17) [000108] ----------- t108 = * INTRINSIC double abs $c3 | |
N003 ( 1, 2) [000241] ----------- t241 = LCL_VAR double V18 cse0 u:1 $103 | |
/--* t108 double | |
+--* t241 double | |
N004 ( 8, 20) [000110] J------N--- t110 = * LT int $182 | |
Lowering JTRUE Result: | |
N001 ( 1, 2) [000107] ----------- t107 = LCL_VAR double V13 tmp7 u:2 $1c5 | |
/--* t107 double | |
N002 ( 6, 17) [000108] ----------- t108 = * INTRINSIC double abs $c3 | |
N003 ( 1, 2) [000241] ----------- t241 = LCL_VAR double V18 cse0 u:1 $103 | |
/--* t241 double | |
+--* t108 double | |
N004 ( 8, 20) [000110] -------N--- * CMP void | |
N005 ( 10, 22) [000111] ----------- JCC void cond=FGT | |
lowering store lcl var/field (before): | |
N001 ( 1, 1) [000141] ----------- t141 = CNS_INT int 2 $40 | |
/--* t141 int | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 1) [000141] -c--------- t141 = CNS_INT int 2 $40 | |
/--* t141 int | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
lowering store lcl var/field (before): | |
N001 ( 1, 1) [000024] ----------- t24 = LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] -c--------- t25 = CNS_INT int 1 $49 | |
/--* t24 int | |
+--* t25 int | |
N003 ( 3, 3) [000026] ----------- t26 = * ADD int $187 | |
/--* t26 int | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 1) [000024] ----------- t24 = LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] -c--------- t25 = CNS_INT int 1 $49 | |
/--* t24 int | |
+--* t25 int | |
N003 ( 3, 3) [000026] ----------- t26 = * ADD int $187 | |
/--* t26 int | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
Lowering JTRUE: | |
N001 ( 1, 1) [000010] ----------- t10 = LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] -c--------- t11 = CNS_INT int 0x4C4B400 $47 | |
/--* t10 int | |
+--* t11 int | |
N003 ( 3, 6) [000012] J------N--- t12 = * LE int $188 | |
/--* t12 int | |
N004 ( 5, 8) [000013] ----------- * JTRUE void $VN.Void | |
Lowering condition: | |
N001 ( 1, 1) [000010] ----------- t10 = LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] -c--------- t11 = CNS_INT int 0x4C4B400 $47 | |
/--* t10 int | |
+--* t11 int | |
N003 ( 3, 6) [000012] J------N--- t12 = * LE int $188 | |
Lowering JTRUE Result: | |
N001 ( 1, 1) [000010] ----------- t10 = LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] -c--------- t11 = CNS_INT int 0x4C4B400 $47 | |
/--* t10 int | |
+--* t11 int | |
N003 ( 3, 6) [000012] -------N--- * CMP void | |
N004 ( 5, 8) [000013] ----------- JCC void cond=SLE | |
lowering call (before): | |
N001 ( 1, 2) [000113] ----------- t113 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t113 double arg0 in mm0 | |
N002 ( 15, 8) [000114] --CXG------ t114 = * CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
args: | |
====== | |
late: | |
====== | |
lowering arg : N001 ( 1, 2) [000113] ----------- * LCL_VAR double V03 loc2 u:3 $201 | |
new node is : [000271] ----------- * PUTARG_REG double REG mm0 | |
results of lowering call: | |
N001 ( 3, 10) [000272] H---------- t272 = CNS_INT(h) long 0x7ffa99235548 ftn | |
/--* t272 long | |
N002 ( 5, 12) [000273] n---G------ t273 = * IND long | |
Bumping outgoing arg space size from 0 to 32 for [000114] | |
lowering call (after): | |
N001 ( 1, 2) [000113] ----------- t113 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t113 double | |
[000271] ----------- t271 = * PUTARG_REG double REG mm0 | |
N001 ( 3, 10) [000272] Hc--------- t272 = CNS_INT(h) long 0x7ffa99235548 ftn | |
/--* t272 long | |
N002 ( 5, 12) [000273] nc--G------ t273 = * IND long REG NA | |
/--* t271 double arg0 in mm0 | |
+--* t273 long control expr | |
N002 ( 15, 8) [000114] --CXG------ t114 = * CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
lowering store lcl var/field (before): | |
N001 ( 1, 2) [000113] ----------- t113 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t113 double | |
[000271] ----------- t271 = * PUTARG_REG double REG mm0 | |
N001 ( 3, 10) [000272] Hc--------- t272 = CNS_INT(h) long 0x7ffa99235548 ftn | |
/--* t272 long | |
N002 ( 5, 12) [000273] nc--G------ t273 = * IND long REG NA | |
/--* t271 double arg0 in mm0 | |
+--* t273 long control expr | |
N002 ( 15, 8) [000114] --CXG------ t114 = * CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
/--* t114 double | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 2) [000113] ----------- t113 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t113 double | |
[000271] ----------- t271 = * PUTARG_REG double REG mm0 | |
N001 ( 3, 10) [000272] Hc--------- t272 = CNS_INT(h) long 0x7ffa99235548 ftn | |
/--* t272 long | |
N002 ( 5, 12) [000273] nc--G------ t273 = * IND long REG NA | |
/--* t271 double arg0 in mm0 | |
+--* t273 long control expr | |
N002 ( 15, 8) [000114] --CXG------ t114 = * CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
/--* t114 double | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
Lowering JTRUE: | |
N001 ( 3, 4) [000117] ----------- t117 = LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- t118 = CNS_DBL double 0.0000000000000000 $100 | |
/--* t117 double | |
+--* t118 double | |
N003 ( 5, 7) [000119] J------N--- t119 = * EQ int $183 | |
/--* t119 int | |
N004 ( 7, 9) [000120] ----------- * JTRUE void $VN.Void | |
Lowering condition: | |
N001 ( 3, 4) [000117] ----------- t117 = LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- t118 = CNS_DBL double 0.0000000000000000 $100 | |
/--* t117 double | |
+--* t118 double | |
N003 ( 5, 7) [000119] J------N--- t119 = * EQ int $183 | |
Lowering JTRUE Result: | |
N001 ( 3, 4) [000117] ----------- t117 = LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- t118 = CNS_DBL double 0.0000000000000000 $100 | |
/--* t117 double | |
+--* t118 double | |
N003 ( 5, 7) [000119] -------N--- * CMP void | |
N004 ( 7, 9) [000120] ----------- JCC void cond=FEQ | |
lowering store lcl var/field (before): | |
N001 ( 1, 2) [000121] ----------- t121 = LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- t122 = LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
/--* t121 double | |
+--* t122 double | |
N003 ( 40, 10) [000123] ----------- t123 = * DIV double $1c6 | |
/--* t123 double | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 2) [000121] ----------- t121 = LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- t122 = LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
/--* t121 double | |
+--* t122 double | |
N003 ( 40, 10) [000123] ----------- t123 = * DIV double $1c6 | |
/--* t123 double | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
lowering store lcl var/field (before): | |
N001 ( 1, 2) [000127] ----------- t127 = LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- t128 = LCL_VAR double V15 tmp9 u:2 $1c6 | |
/--* t127 double | |
+--* t128 double | |
N003 ( 9, 10) [000129] ----G------ t129 = * SUB double $1c7 | |
/--* t129 double | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 2) [000127] ----------- t127 = LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- t128 = LCL_VAR double V15 tmp9 u:2 $1c6 | |
/--* t127 double | |
+--* t128 double | |
N003 ( 9, 10) [000129] ----G------ t129 = * SUB double $1c7 | |
/--* t129 double | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
Lowering JTRUE: | |
N001 ( 3, 4) [000131] ----------- t131 = LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
/--* t131 double | |
N002 ( 8, 19) [000132] ----------- t132 = * INTRINSIC double abs $c5 | |
N003 ( 1, 2) [000242] ----------- t242 = LCL_VAR double V18 cse0 u:1 $103 | |
/--* t132 double | |
+--* t242 double | |
N004 ( 10, 22) [000134] J------N--- t134 = * LT int $184 | |
/--* t134 int | |
N005 ( 12, 24) [000135] ----------- * JTRUE void $VN.Void | |
Lowering condition: | |
N001 ( 3, 4) [000131] ----------- t131 = LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
/--* t131 double | |
N002 ( 8, 19) [000132] ----------- t132 = * INTRINSIC double abs $c5 | |
N003 ( 1, 2) [000242] ----------- t242 = LCL_VAR double V18 cse0 u:1 $103 | |
/--* t132 double | |
+--* t242 double | |
N004 ( 10, 22) [000134] J------N--- t134 = * LT int $184 | |
Lowering JTRUE Result: | |
N001 ( 3, 4) [000131] ----------- t131 = LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
/--* t131 double | |
N002 ( 8, 19) [000132] ----------- t132 = * INTRINSIC double abs $c5 | |
N003 ( 1, 2) [000242] ----------- t242 = LCL_VAR double V18 cse0 u:1 $103 | |
/--* t242 double | |
+--* t132 double | |
N004 ( 10, 22) [000134] -------N--- * CMP void | |
N005 ( 12, 24) [000135] ----------- JCC void cond=FGT | |
lowering store lcl var/field (before): | |
N001 ( 1, 1) [000136] ----------- t136 = LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] -c--------- t137 = CNS_INT int 1 $49 | |
/--* t136 int | |
+--* t137 int | |
N003 ( 3, 3) [000138] ----------- t138 = * ADD int $185 | |
/--* t138 int | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 1) [000136] ----------- t136 = LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] -c--------- t137 = CNS_INT int 1 $49 | |
/--* t136 int | |
+--* t137 int | |
N003 ( 3, 3) [000138] ----------- t138 = * ADD int $185 | |
/--* t138 int | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
Lowering JTRUE: | |
N001 ( 1, 1) [000098] ----------- t98 = LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] -c--------- t99 = CNS_INT int 10 $4a | |
/--* t98 int | |
+--* t99 int | |
N003 ( 3, 3) [000100] J------N--- t100 = * LE int $186 | |
/--* t100 int | |
N004 ( 5, 5) [000101] ----------- * JTRUE void $VN.Void | |
Lowering condition: | |
N001 ( 1, 1) [000098] ----------- t98 = LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] -c--------- t99 = CNS_INT int 10 $4a | |
/--* t98 int | |
+--* t99 int | |
N003 ( 3, 3) [000100] J------N--- t100 = * LE int $186 | |
Lowering JTRUE Result: | |
N001 ( 1, 1) [000098] ----------- t98 = LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] -c--------- t99 = CNS_INT int 10 $4a | |
/--* t98 int | |
+--* t99 int | |
N003 ( 3, 3) [000100] -------N--- * CMP void | |
N004 ( 5, 5) [000101] ----------- JCC void cond=SLE | |
lowering call (before): | |
N001 ( 3, 10) [000059] H---------- t59 = CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
/--* t59 long arg0 in rcx | |
N002 ( 17, 16) [000060] --C-------- t60 = * CALL help ref CORINFO_HELP_NEWSFAST $340 | |
args: | |
====== | |
late: | |
====== | |
lowering arg : N001 ( 3, 10) [000059] H---------- * CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
new node is : [000274] ----------- * PUTARG_REG long REG rcx | |
lowering call (after): | |
N001 ( 3, 10) [000059] H---------- t59 = CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
/--* t59 long | |
[000274] ----------- t274 = * PUTARG_REG long REG rcx | |
/--* t274 long arg0 in rcx | |
N002 ( 17, 16) [000060] --C-------- t60 = * CALL help ref CORINFO_HELP_NEWSFAST $340 | |
lowering store lcl var/field (before): | |
N001 ( 3, 10) [000059] H---------- t59 = CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
/--* t59 long | |
[000274] ----------- t274 = * PUTARG_REG long REG rcx | |
/--* t274 long arg0 in rcx | |
N002 ( 17, 16) [000060] --C-------- t60 = * CALL help ref CORINFO_HELP_NEWSFAST $340 | |
/--* t60 ref | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 3, 10) [000059] H---------- t59 = CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
/--* t59 long | |
[000274] ----------- t274 = * PUTARG_REG long REG rcx | |
/--* t274 long arg0 in rcx | |
N002 ( 17, 16) [000060] --C-------- t60 = * CALL help ref CORINFO_HELP_NEWSFAST $340 | |
/--* t60 ref | |
N003 ( 17, 16) [000061] DAC-------- * STORE_LCL_VAR ref V09 tmp3 d:2 $VN.Void | |
Addressing mode: | |
Base | |
N001 ( 1, 1) [000062] ----------- * LCL_VAR ref V09 tmp3 u:2 $340 | |
+ 8 | |
Removing unused node: | |
N002 ( 1, 1) [000063] -c--------- * CNS_INT long 8 $380 | |
New addressing mode node: | |
N003 ( 2, 2) [000064] ----------- * LEA(b+8) byref | |
Lower of StoreInd didn't mark the node as self contained for reason: oper is not supported | |
N001 ( 1, 1) [000062] ----------- t62 = LCL_VAR ref V09 tmp3 u:2 $340 | |
/--* t62 ref | |
N003 ( 2, 2) [000064] ----------- t64 = * LEA(b+8) byref | |
N004 ( 1, 1) [000058] ----------- t58 = LCL_VAR int V02 loc1 u:3 (last use) $242 | |
/--* t64 byref | |
+--* t58 int | |
N005 ( 6, 6) [000065] nA--G------ * STOREIND int $VN.Void | |
Notify VM instruction set (AVX2) must be supported. | |
lowering call (before): | |
N001 ( 1, 1) [000066] ----------- t66 = LCL_VAR ref V09 tmp3 u:2 (last use) $340 | |
/--* t66 ref arg0 in rcx | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
args: | |
====== | |
late: | |
====== | |
lowering arg : N001 ( 1, 1) [000066] ----------- * LCL_VAR ref V09 tmp3 u:2 (last use) $340 | |
new node is : [000275] ----------- * PUTARG_REG ref REG rcx | |
results of lowering call: | |
N001 ( 3, 10) [000276] H---------- t276 = CNS_INT(h) long 0x7ffa99235500 ftn | |
/--* t276 long | |
N002 ( 5, 12) [000277] n---G------ t277 = * IND long | |
lowering call (after): | |
N001 ( 1, 1) [000066] ----------- t66 = LCL_VAR ref V09 tmp3 u:2 (last use) $340 | |
/--* t66 ref | |
[000275] ----------- t275 = * PUTARG_REG ref REG rcx | |
N001 ( 3, 10) [000276] Hc--------- t276 = CNS_INT(h) long 0x7ffa99235500 ftn | |
/--* t276 long | |
N002 ( 5, 12) [000277] nc--G------ t277 = * IND long REG NA | |
/--* t275 ref arg0 in rcx | |
+--* t277 long control expr | |
N003 ( 21, 11) [000068] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
lowering call (before): | |
N001 ( 3, 10) [000070] H---------- t70 = CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
/--* t70 long arg0 in rcx | |
N002 ( 17, 16) [000071] --C-------- t71 = * CALL help ref CORINFO_HELP_NEWSFAST $341 | |
args: | |
====== | |
late: | |
====== | |
lowering arg : N001 ( 3, 10) [000070] H---------- * CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
new node is : [000278] ----------- * PUTARG_REG long REG rcx | |
lowering call (after): | |
N001 ( 3, 10) [000070] H---------- t70 = CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
/--* t70 long | |
[000278] ----------- t278 = * PUTARG_REG long REG rcx | |
/--* t278 long arg0 in rcx | |
N002 ( 17, 16) [000071] --C-------- t71 = * CALL help ref CORINFO_HELP_NEWSFAST $341 | |
lowering store lcl var/field (before): | |
N001 ( 3, 10) [000070] H---------- t70 = CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
/--* t70 long | |
[000278] ----------- t278 = * PUTARG_REG long REG rcx | |
/--* t278 long arg0 in rcx | |
N002 ( 17, 16) [000071] --C-------- t71 = * CALL help ref CORINFO_HELP_NEWSFAST $341 | |
/--* t71 ref | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 3, 10) [000070] H---------- t70 = CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
/--* t70 long | |
[000278] ----------- t278 = * PUTARG_REG long REG rcx | |
/--* t278 long arg0 in rcx | |
N002 ( 17, 16) [000071] --C-------- t71 = * CALL help ref CORINFO_HELP_NEWSFAST $341 | |
/--* t71 ref | |
N003 ( 17, 16) [000072] DAC-------- * STORE_LCL_VAR ref V10 tmp4 d:2 $VN.Void | |
Addressing mode: | |
Base | |
N001 ( 1, 1) [000073] ----------- * LCL_VAR ref V10 tmp4 u:2 $341 | |
+ 8 | |
Removing unused node: | |
N002 ( 1, 1) [000074] -c--------- * CNS_INT long 8 $380 | |
New addressing mode node: | |
N003 ( 2, 2) [000075] ----------- * LEA(b+8) byref | |
lowering call (before): | |
N001 ( 1, 1) [000077] ----------- t77 = LCL_VAR ref V10 tmp4 u:2 (last use) $341 | |
/--* t77 ref arg0 in rcx | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
args: | |
====== | |
late: | |
====== | |
lowering arg : N001 ( 1, 1) [000077] ----------- * LCL_VAR ref V10 tmp4 u:2 (last use) $341 | |
new node is : [000279] ----------- * PUTARG_REG ref REG rcx | |
results of lowering call: | |
N001 ( 3, 10) [000280] H---------- t280 = CNS_INT(h) long 0x7ffa99235500 ftn | |
/--* t280 long | |
N002 ( 5, 12) [000281] n---G------ t281 = * IND long | |
lowering call (after): | |
N001 ( 1, 1) [000077] ----------- t77 = LCL_VAR ref V10 tmp4 u:2 (last use) $341 | |
/--* t77 ref | |
[000279] ----------- t279 = * PUTARG_REG ref REG rcx | |
N001 ( 3, 10) [000280] Hc--------- t280 = CNS_INT(h) long 0x7ffa99235500 ftn | |
/--* t280 long | |
N002 ( 5, 12) [000281] nc--G------ t281 = * IND long REG NA | |
/--* t279 ref arg0 in rcx | |
+--* t281 long control expr | |
N003 ( 21, 11) [000079] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
lowering call (before): | |
N001 ( 3, 10) [000081] H---------- t81 = CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
/--* t81 long arg0 in rcx | |
N002 ( 17, 16) [000082] --C-------- t82 = * CALL help ref CORINFO_HELP_NEWSFAST $342 | |
args: | |
====== | |
late: | |
====== | |
lowering arg : N001 ( 3, 10) [000081] H---------- * CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
new node is : [000282] ----------- * PUTARG_REG long REG rcx | |
lowering call (after): | |
N001 ( 3, 10) [000081] H---------- t81 = CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
/--* t81 long | |
[000282] ----------- t282 = * PUTARG_REG long REG rcx | |
/--* t282 long arg0 in rcx | |
N002 ( 17, 16) [000082] --C-------- t82 = * CALL help ref CORINFO_HELP_NEWSFAST $342 | |
lowering store lcl var/field (before): | |
N001 ( 3, 10) [000081] H---------- t81 = CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
/--* t81 long | |
[000282] ----------- t282 = * PUTARG_REG long REG rcx | |
/--* t282 long arg0 in rcx | |
N002 ( 17, 16) [000082] --C-------- t82 = * CALL help ref CORINFO_HELP_NEWSFAST $342 | |
/--* t82 ref | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 3, 10) [000081] H---------- t81 = CNS_INT(h) long 0x7ffa98481978 class System.Double $2c4 | |
/--* t81 long | |
[000282] ----------- t282 = * PUTARG_REG long REG rcx | |
/--* t282 long arg0 in rcx | |
N002 ( 17, 16) [000082] --C-------- t82 = * CALL help ref CORINFO_HELP_NEWSFAST $342 | |
/--* t82 ref | |
N003 ( 17, 16) [000083] DAC-------- * STORE_LCL_VAR ref V11 tmp5 d:2 $VN.Void | |
Addressing mode: | |
Base | |
N001 ( 1, 1) [000084] ----------- * LCL_VAR ref V11 tmp5 u:2 $342 | |
+ 8 | |
Removing unused node: | |
N002 ( 1, 1) [000085] -c--------- * CNS_INT long 8 $380 | |
New addressing mode node: | |
N003 ( 2, 2) [000086] ----------- * LEA(b+8) byref | |
lowering call (before): | |
N001 ( 1, 1) [000088] ----------- t88 = LCL_VAR ref V11 tmp5 u:2 (last use) $342 | |
/--* t88 ref arg0 in rcx | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
args: | |
====== | |
late: | |
====== | |
lowering arg : N001 ( 1, 1) [000088] ----------- * LCL_VAR ref V11 tmp5 u:2 (last use) $342 | |
new node is : [000283] ----------- * PUTARG_REG ref REG rcx | |
results of lowering call: | |
N001 ( 3, 10) [000284] H---------- t284 = CNS_INT(h) long 0x7ffa99235500 ftn | |
/--* t284 long | |
N002 ( 5, 12) [000285] n---G------ t285 = * IND long | |
lowering call (after): | |
N001 ( 1, 1) [000088] ----------- t88 = LCL_VAR ref V11 tmp5 u:2 (last use) $342 | |
/--* t88 ref | |
[000283] ----------- t283 = * PUTARG_REG ref REG rcx | |
N001 ( 3, 10) [000284] Hc--------- t284 = CNS_INT(h) long 0x7ffa99235500 ftn | |
/--* t284 long | |
N002 ( 5, 12) [000285] nc--G------ t285 = * IND long REG NA | |
/--* t283 ref arg0 in rcx | |
+--* t285 long control expr | |
N003 ( 21, 11) [000090] --CXG------ * CALL void Benchstone.BenchF.NewtR:Escape(System.Object) $VN.Void | |
lowering return node | |
N002 ( 2, 2) [000092] ----------- * RETURN int $VN.Void | |
============ | |
Lower has completed modifying nodes. | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC [IL range] [jump] [EH region] [flags] | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0018] 1 0.60 1 [???..???)-> BB09(0.00595),BB02(0.994) ( cond ) LIR IBC internal | |
BB02 [0020] 1 BB01 0.59 1 [01D..???)-> BB03(1) (always) LIR IBC internal | |
BB03 [0001] 2 BB02,BB05 99.41 167 [01D..03A)-> BB04(1) (always) i LIR IBC loophead bwd bwd-target | |
BB04 [0009] 2 BB03,BB08 98.65 166 [01D..01E)-> BB05(1),BB06(0.000499) ( cond ) i LIR IBC loophead bwd bwd-target | |
BB05 [0022] 4 BB04,BB06,BB07,BB08 99.41 167 [01D..06D)-> BB03(0.994),BB09(0.00595) ( cond ) i LIR IBC bwd | |
BB06 [0010] 1 BB04 0.05 0 [01D..01E)-> BB05(0),BB07(1) ( cond ) i LIR IBC hascall gcsafe bwd | |
BB07 [0011] 1 BB06 0.05 0 [01D..01E)-> BB05(0),BB08(1) ( cond ) i LIR IBC bwd | |
BB08 [0012] 1 BB07 99.45 167 [01D..01E)-> BB04(0.992),BB05(0.00812) ( cond ) i LIR IBC bwd | |
BB09 [0023] 2 BB01,BB05 0.60 1 [06D..090) (return) i LIR IBC gcsafe newobj | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [0018] [???..???) -> BB09(0.00595),BB02(0.99405) (cond), preds={} succs={BB02,BB09} | |
[000253] ----------- IL_OFFSET void INLRT @ 0x064[E-] | |
N001 ( 1, 1) [000179] ----------- t179 = LCL_VAR int V05 loc4 u:1 $81 | |
N002 ( 1, 4) [000180] -c--------- t180 = CNS_INT int 0x4C4B400 $47 | |
/--* t179 int | |
+--* t180 int | |
N003 ( 3, 6) [000178] -------N--- * CMP void | |
N004 ( 5, 8) [000177] ----------- JCC void cond=SGT | |
------------ BB02 [0020] [01D..???) -> BB03(1) (always), preds={BB01} succs={BB03} | |
N001 ( 3, 2) [000228] -------H--- t228 = CNS_DBL double 1.0000000000000000 $101 | |
/--* t228 double | |
N002 ( 3, 3) [000243] DA--------- * STORE_LCL_VAR double V19 cse1 d:1 $VN.Void | |
N001 ( 3, 2) [000231] -------H--- t231 = CNS_DBL double -1.0000000000000000 $102 | |
/--* t231 double | |
N002 ( 3, 3) [000248] DA--------- * STORE_LCL_VAR double V20 cse2 d:1 $VN.Void | |
N001 ( 3, 2) [000234] -------H--- t234 = CNS_DBL double 9.9999999999999995e-08 $103 | |
/--* t234 double | |
N002 ( 3, 3) [000237] DA--------- * STORE_LCL_VAR double V18 cse0 d:1 $VN.Void | |
------------ BB03 [0001] [01D..03A) -> BB04(1) (always), preds={BB02,BB05} succs={BB04} | |
[000254] ----------- IL_OFFSET void INL01 @ 0x004[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 1) [000096] -c--------- t96 = CNS_INT int 1 $49 | |
/--* t96 int | |
N002 ( 1, 3) [000097] DA--------- * STORE_LCL_VAR int V12 tmp6 d:2 $VN.Void | |
------------ BB04 [0009] [01D..01E) -> BB05(0.9995009),BB06(0.0004990518) (cond), preds={BB03,BB08} succs={BB06,BB05} | |
[000255] ----------- IL_OFFSET void INL01 @ 0x008[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 2) [000155] ----------- t155 = LCL_VAR double V03 loc2 u:3 $201 | |
N002 ( 1, 2) [000156] ----------- t156 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t155 double | |
+--* t156 double | |
N003 ( 7, 8) [000157] ----------- t157 = * MUL double $1c2 | |
N004 ( 1, 2) [000247] ----------- t247 = LCL_VAR double V19 cse1 u:1 $101 | |
/--* t247 double | |
+--* t157 double | |
N005 ( 13, 14) [000158] ----------- t158 = * SUB double $1c3 | |
N006 ( 1, 2) [000153] ----------- t153 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t158 double | |
+--* t153 double | |
N007 ( 19, 20) [000159] ----------- t159 = * MUL double $1c4 | |
N008 ( 1, 2) [000252] ----------- t252 = LCL_VAR double V20 cse2 u:1 $102 | |
/--* t252 double | |
+--* t159 double | |
N009 ( 25, 26) [000160] ----------- t160 = * SUB double $1c5 | |
/--* t160 double | |
N010 ( 25, 26) [000106] DA--------- * STORE_LCL_VAR double V13 tmp7 d:2 $VN.Void | |
[000256] ----------- IL_OFFSET void INL01 @ 0x010[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 2) [000107] ----------- t107 = LCL_VAR double V13 tmp7 u:2 $1c5 | |
/--* t107 double | |
N002 ( 6, 17) [000108] ----------- t108 = * INTRINSIC double abs $c3 | |
N003 ( 1, 2) [000241] ----------- t241 = LCL_VAR double V18 cse0 u:1 $103 | |
/--* t241 double | |
+--* t108 double | |
N004 ( 8, 20) [000110] -------N--- * CMP void | |
N005 ( 10, 22) [000111] ----------- JCC void cond=FGT | |
------------ BB05 [0022] [01D..06D) -> BB03(0.99405),BB09(0.00595) (cond), preds={BB04,BB06,BB07,BB08} succs={BB09,BB03} | |
[000257] ----------- IL_OFFSET void INL01 @ 0x048[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 1) [000141] -c--------- t141 = CNS_INT int 2 $40 | |
/--* t141 int | |
N002 ( 1, 3) [000142] DA--------- * STORE_LCL_VAR int V02 loc1 d:2 $VN.Void | |
[000258] ----------- IL_OFFSET void INLRT @ 0x05E[E-] | |
N001 ( 1, 1) [000024] ----------- t24 = LCL_VAR int V05 loc4 u:2 (last use) $240 | |
N002 ( 1, 1) [000025] -c--------- t25 = CNS_INT int 1 $49 | |
/--* t24 int | |
+--* t25 int | |
N003 ( 3, 3) [000026] ----------- t26 = * ADD int $187 | |
/--* t26 int | |
N004 ( 3, 3) [000027] DA--------- * STORE_LCL_VAR int V05 loc4 d:3 $VN.Void | |
[000259] ----------- IL_OFFSET void INLRT @ 0x064[E-] | |
N001 ( 1, 1) [000010] ----------- t10 = LCL_VAR int V05 loc4 u:3 $187 | |
N002 ( 1, 4) [000011] -c--------- t11 = CNS_INT int 0x4C4B400 $47 | |
/--* t10 int | |
+--* t11 int | |
N003 ( 3, 6) [000012] -------N--- * CMP void | |
N004 ( 5, 8) [000013] ----------- JCC void cond=SLE | |
------------ BB06 [0010] [01D..01E) -> BB05(0),BB07(1) (cond), preds={BB04} succs={BB07,BB05} | |
[000260] ----------- IL_OFFSET void INL01 @ 0x019[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 2) [000113] ----------- t113 = LCL_VAR double V03 loc2 u:3 $201 | |
/--* t113 double | |
[000271] ----------- t271 = * PUTARG_REG double REG mm0 | |
N001 ( 3, 10) [000272] Hc--------- t272 = CNS_INT(h) long 0x7ffa99235548 ftn | |
/--* t272 long | |
N002 ( 5, 12) [000273] nc--G------ t273 = * IND long REG NA | |
/--* t271 double arg0 in mm0 | |
+--* t273 long control expr | |
N002 ( 15, 8) [000114] --CXG------ t114 = * CALL double Benchstone.BenchF.NewtR:FFDer(double):double $c4 | |
/--* t114 double | |
N003 ( 19, 13) [000116] DACXG------ * STORE_LCL_VAR double V14 tmp8 d:2 $VN.Void | |
[000261] ----------- IL_OFFSET void INL01 @ 0x021[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 3, 4) [000117] ----------- t117 = LCL_VAR double V14 tmp8 u:2 $c4 | |
N002 ( 1, 2) [000118] ----------- t118 = CNS_DBL double 0.0000000000000000 $100 | |
/--* t117 double | |
+--* t118 double | |
N003 ( 5, 7) [000119] -------N--- * CMP void | |
N004 ( 7, 9) [000120] ----------- JCC void cond=FEQ | |
------------ BB07 [0011] [01D..01E) -> BB05(0),BB08(1) (cond), preds={BB06} succs={BB08,BB05} | |
[000262] ----------- IL_OFFSET void INL01 @ 0x02D[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 2) [000121] ----------- t121 = LCL_VAR double V13 tmp7 u:2 (last use) $1c5 | |
N002 ( 3, 4) [000122] ----------- t122 = LCL_VAR double V14 tmp8 u:2 (last use) $c4 | |
/--* t121 double | |
+--* t122 double | |
N003 ( 40, 10) [000123] ----------- t123 = * DIV double $1c6 | |
/--* t123 double | |
N004 ( 44, 15) [000124] DA--------- * STORE_LCL_VAR double V15 tmp9 d:2 $VN.Void | |
[000263] ----------- IL_OFFSET void INL01 @ 0x031[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 2) [000127] ----------- t127 = LCL_VAR double V03 loc2 u:3 (last use) $201 | |
N002 ( 3, 4) [000128] ----------- t128 = LCL_VAR double V15 tmp9 u:2 $1c6 | |
/--* t127 double | |
+--* t128 double | |
N003 ( 9, 10) [000129] ----G------ t129 = * SUB double $1c7 | |
/--* t129 double | |
N004 ( 9, 10) [000130] DA--G------ * STORE_LCL_VAR double V03 loc2 d:4 $VN.Void | |
[000264] ----------- IL_OFFSET void INL01 @ 0x037[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 3, 4) [000131] ----------- t131 = LCL_VAR double V15 tmp9 u:2 (last use) $1c6 | |
/--* t131 double | |
N002 ( 8, 19) [000132] ----------- t132 = * INTRINSIC double abs $c5 | |
N003 ( 1, 2) [000242] ----------- t242 = LCL_VAR double V18 cse0 u:1 $103 | |
/--* t242 double | |
+--* t132 double | |
N004 ( 10, 22) [000134] -------N--- * CMP void | |
N005 ( 12, 24) [000135] ----------- JCC void cond=FGT | |
------------ BB08 [0012] [01D..01E) -> BB04(0.991882),BB05(0.008118008) (cond), preds={BB07} succs={BB05,BB04} | |
[000265] ----------- IL_OFFSET void INL01 @ 0x040[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 1) [000136] ----------- t136 = LCL_VAR int V12 tmp6 u:3 (last use) $241 | |
N002 ( 1, 1) [000137] -c--------- t137 = CNS_INT int 1 $49 | |
/--* t136 int | |
+--* t137 int | |
N003 ( 3, 3) [000138] ----------- t138 = * ADD int $185 | |
/--* t138 int | |
N004 ( 3, 3) [000139] DA--------- * STORE_LCL_VAR int V12 tmp6 d:4 $VN.Void | |
[000266] ----------- IL_OFFSET void INL01 @ 0x044[E-] <- INLRT @ 0x01D[E-] | |
N001 ( 1, 1) [000098] ----------- t98 = LCL_VAR int V12 tmp6 u:4 $185 | |
N002 ( 1, 1) [000099] -c--------- t99 = CNS_INT int 10 $4a | |
/--* t98 int | |
+--* t99 int | |
N003 ( 3, 3) [000100] -------N--- * CMP void | |
N004 ( 5, 5) [000101] ----------- JCC void cond=SLE | |
------------ BB09 [0023] [06D..090) (return), preds={BB01,BB05} succs={} | |
[000267] ----------- IL_OFFSET void INLRT @ 0x06D[E-] | |
N001 ( 3, 10) [000059] H---------- t59 = CNS_INT(h) long 0x7ffa98325f28 class System.Int32 $2c3 | |
/--* t59 long | |
[000274] ----------- t274 = * PUTARG_REG long REG rcx | |
/--* t274 long arg0 in rcx | |
N002 ( 17, 16) [000060] --C-------- t60 = * CALL help ref CORINFO_HELP_NEWSFAST $340 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment