Skip to content

Instantly share code, notes, and snippets.

@amanasifkhalid
Created June 14, 2024 21:16
Show Gist options
  • Save amanasifkhalid/19f92b9b0748d4bdf9c64709000a729d to your computer and use it in GitHub Desktop.
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.
****** 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