Created
June 29, 2023 09:39
-
-
Save SwapnilGaikwad/59fdd97b612583fdc956ca5252a560d0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
****** START compiling System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (MethodHash=2430e072) | |
Generating code for Unix arm64 | |
OPTIONS: compCodeOpt = BLENDED_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 02 ldarg.0 | |
IL_0001 1f 0f ldc.i4.s 0xF | |
IL_0003 28 12 00 00 0a call 0xA000012 | |
IL_0008 28 13 00 00 0a call 0xA000013 | |
IL_000d 0a stloc.0 | |
IL_000e 02 ldarg.0 | |
IL_000f 28 01 00 00 2b call 0x2B000001 | |
IL_0014 1a ldc.i4.4 | |
IL_0015 28 15 00 00 0a call 0xA000015 | |
IL_001a 28 02 00 00 2b call 0x2B000002 | |
IL_001f 1f 0f ldc.i4.s 0xF | |
IL_0021 28 12 00 00 0a call 0xA000012 | |
IL_0026 28 13 00 00 0a call 0xA000013 | |
IL_002b 0b stloc.1 | |
IL_002c 28 1d 00 00 0a call 0xA00001D | |
IL_0031 2c 2e brfalse.s 46 (IL_0061) | |
IL_0033 07 ldloc.1 | |
IL_0034 20 08 08 08 08 ldc.i4 0x8080808 | |
IL_0039 28 1e 00 00 0a call 0xA00001E | |
IL_003e 28 02 00 00 2b call 0x2B000002 | |
IL_0043 28 13 00 00 0a call 0xA000013 | |
IL_0048 06 ldloc.0 | |
IL_0049 28 1f 00 00 0a call 0xA00001F | |
IL_004e 13 04 stloc.s 0x4 | |
IL_0050 03 ldarg.1 | |
IL_0051 04 ldarg.2 | |
IL_0052 73 20 00 00 0a newobj 0xA000020 | |
IL_0057 11 04 ldloc.s 0x4 | |
IL_0059 28 21 00 00 0a call 0xA000021 | |
IL_005e 0c stloc.2 | |
IL_005f 2b 32 br.s 50 (IL_0093) | |
IL_0061 03 ldarg.1 | |
IL_0062 06 ldloc.0 | |
IL_0063 28 08 00 00 06 call 0x6000008 | |
IL_0068 13 05 stloc.s 0x5 | |
IL_006a 04 ldarg.2 | |
IL_006b 06 ldloc.0 | |
IL_006c 28 08 00 00 06 call 0x6000008 | |
IL_0071 13 06 stloc.s 0x6 | |
IL_0073 07 ldloc.1 | |
IL_0074 28 03 00 00 2b call 0x2B000003 | |
IL_0079 1d ldc.i4.7 | |
IL_007a 28 18 00 00 0a call 0xA000018 | |
IL_007f 28 04 00 00 2b call 0x2B000004 | |
IL_0084 28 05 00 00 2b call 0x2B000005 | |
IL_0089 11 06 ldloc.s 0x6 | |
IL_008b 11 05 ldloc.s 0x5 | |
IL_008d 28 06 00 00 2b call 0x2B000006 | |
IL_0092 0c stloc.2 | |
IL_0093 21 01 02 04 08 10 20 40 80 ldc.i8 0x8040201 | |
IL_009c 28 1b 00 00 0a call 0xA00001B | |
IL_00a1 28 07 00 00 2b call 0x2B000007 | |
IL_00a6 07 ldloc.1 | |
IL_00a7 28 08 00 00 06 call 0x6000008 | |
IL_00ac 0d stloc.3 | |
IL_00ad 08 ldloc.2 | |
IL_00ae 09 ldloc.3 | |
IL_00af 28 13 00 00 0a call 0xA000013 | |
IL_00b4 09 ldloc.3 | |
IL_00b5 28 08 00 00 2b call 0x2B000008 | |
IL_00ba 2a ret | |
Notify VM instruction set (AdvSimd) must be supported. | |
Found Vector128<ubyte> | |
Found Vector128<ubyte> | |
Arg #0 passed in register(s) d0 | |
Arg #1 passed in register(s) d1 | |
Arg #2 passed in register(s) d2 | |
lvaGrabTemp returning 10 (V10 tmp0) (a long lifetime temp) called for OutgoingArgSpace. | |
Local V10 should not be enregistered because: it is address exposed | |
; Initial local variable assignments | |
; | |
; V00 arg0 simd16 HFA(simd16) | |
; V01 arg1 simd16 HFA(simd16) | |
; V02 arg2 simd16 HFA(simd16) | |
; V03 loc0 simd16 HFA(simd16) | |
; V04 loc1 simd16 HFA(simd16) | |
; V05 loc2 simd16 HFA(simd16) | |
; V06 loc3 simd16 HFA(simd16) | |
; V07 loc4 simd16 HFA(simd16) | |
; V08 loc5 simd16 HFA(simd16) | |
; V09 loc6 simd16 HFA(simd16) | |
; V10 OutArgs struct <0> do-not-enreg[XS] addr-exposed "OutgoingArgSpace" | |
*************** In compInitDebuggingInfo() for System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] | |
getVars() returned cVars = 0, extendOthers = true | |
info.compVarScopesCount = 10 | |
VarNum LVNum Name Beg End | |
0: 00h 00h V00 arg0 000h 0BBh | |
1: 01h 01h V01 arg1 000h 0BBh | |
2: 02h 02h V02 arg2 000h 0BBh | |
3: 03h 03h V03 loc0 000h 0BBh | |
4: 04h 04h V04 loc1 000h 0BBh | |
5: 05h 05h V05 loc2 000h 0BBh | |
6: 06h 06h V06 loc3 000h 0BBh | |
7: 07h 07h V07 loc4 000h 0BBh | |
8: 08h 08h V08 loc5 000h 0BBh | |
9: 09h 09h V09 loc6 000h 0BBh | |
info.compStmtOffsetsCount = 0 | |
info.compStmtOffsetsImplicit = 0005h ( STACK_EMPTY CALL_SITE ) | |
*************** In fgFindBasicBlocks() for System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] | |
Marked V03 as a single def local | |
Marked V04 as a single def local | |
Marked V06 as a single def local | |
Marked V07 as a single def local | |
Marked V08 as a single def local | |
Marked V09 as a single def local | |
Jump targets: | |
IL_0061 | |
IL_0093 | |
New Basic Block BB01 [0000] created. | |
BB01 [000..033) | |
New Basic Block BB02 [0001] created. | |
BB02 [033..061) | |
New Basic Block BB03 [0002] created. | |
BB03 [061..093) | |
New Basic Block BB04 [0003] created. | |
BB04 [093..0BB) | |
Setting edge weights for BB01 -> BB03 to [0 .. 3.402823e+38] | |
Setting edge weights for BB01 -> BB02 to [0 .. 3.402823e+38] | |
Setting edge weights for BB02 -> BB04 to [0 .. 3.402823e+38] | |
Setting edge weights for BB03 -> BB04 to [0 .. 3.402823e+38] | |
IL Code Size,Instr 187, 61, Basic Block count 4, Local Variable Num,Ref count 11, 26 for method System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] | |
OPTIONS: opts.MinOpts() == false | |
Basic block list for 'System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..033)-> BB03 ( cond ) | |
BB02 [0001] 1 BB01 1 [033..061)-> BB04 (always) | |
BB03 [0002] 1 BB01 1 [061..093) | |
BB04 [0003] 2 BB02,BB03 1 [093..0BB) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Starting PHASE Pre-import | |
*************** Finishing PHASE Pre-import | |
Trees after Pre-import | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..033)-> BB03 ( cond ) | |
BB02 [0001] 1 BB01 1 [033..061)-> BB04 (always) | |
BB03 [0002] 1 BB01 1 [061..093) | |
BB04 [0003] 2 BB02,BB03 1 [093..0BB) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..033) -> BB03 (cond), preds={} succs={BB02,BB03} | |
------------ BB02 [033..061) -> BB04 (always), preds={BB01} succs={BB04} | |
------------ BB03 [061..093), preds={BB01} succs={BB04} | |
------------ BB04 [093..0BB) (return), preds={BB02,BB03} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
*************** Finishing PHASE Profile incorporation [no changes] | |
*************** Starting PHASE Importation | |
impImportBlockPending for BB01 | |
Importing BB01 (PC=000) of 'System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' | |
[ 0] 0 (0x000) ldarg.0 | |
[ 1] 1 (0x001) ldc.i4.s 15 | |
[ 2] 3 (0x003) call 0A000012 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128.Create: Notify VM instruction set (Vector128) must be supported. | |
Recognized | |
Found Vector128<ubyte> | |
[ 2] 8 (0x008) call 0A000013 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128`1.op_BitwiseAnd: Recognized | |
Found Vector128<ubyte> | |
[ 1] 13 (0x00d) stloc.0 | |
STMT00000 ( 0x000[E-] ... ??? ) | |
[000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
[ 0] 14 (0x00e) ldarg.0 | |
[ 1] 15 (0x00f) call 2B000001 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128.AsInt32: Recognized | |
Found Vector128<int> | |
Found Vector128<ubyte> | |
Found Vector128<int> | |
[ 1] 20 (0x014) ldc.i4.4 4 | |
[ 2] 21 (0x015) call 0A000015 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128.ShiftRightLogical: Recognized | |
Found Vector128<int> | |
[ 1] 26 (0x01a) call 2B000002 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128.AsByte: Recognized | |
Found Vector128<ubyte> | |
Found Vector128<int> | |
Found Vector128<ubyte> | |
[ 1] 31 (0x01f) ldc.i4.s 15 | |
[ 2] 33 (0x021) call 0A000012 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128.Create: Recognized | |
Found Vector128<ubyte> | |
[ 2] 38 (0x026) call 0A000013 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128`1.op_BitwiseAnd: Recognized | |
Found Vector128<ubyte> | |
[ 1] 43 (0x02b) stloc.1 | |
STMT00001 ( 0x00E[E-] ... ??? ) | |
[000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000006] ----------- | \--* CNS_INT int 4 | |
[000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
[ 0] 44 (0x02c) call 0A00001D | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is bool, structSize is 0 | |
Named Intrinsic System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.get_IsSupported: Notify VM instruction set (AdvSimd_Arm64) must be supported. | |
Recognized | |
[ 1] 49 (0x031) brfalse.s | |
Folding operator with constant nodes into a constant: | |
[000014] ----------- * EQ int | |
[000012] ----------- +--* CNS_INT int 1 | |
[000013] ----------- \--* CNS_INT int 0 | |
Bashed to int constant: | |
[000014] ----------- * CNS_INT int 0 | |
The block falls through into the next BB02 | |
impImportBlockPending for BB02 | |
Importing BB02 (PC=051) of 'System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' | |
[ 0] 51 (0x033) ldloc.1 | |
[ 1] 52 (0x034) ldc.i4 134744072 | |
[ 2] 57 (0x039) call 0A00001E | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128.Create: Recognized | |
Found Vector128<int> | |
[ 2] 62 (0x03e) call 2B000002 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128.AsByte: Recognized | |
Found Vector128<ubyte> | |
Found Vector128<int> | |
Found Vector128<ubyte> | |
[ 2] 67 (0x043) call 0A000013 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128`1.op_BitwiseAnd: Recognized | |
Found Vector128<ubyte> | |
[ 1] 72 (0x048) ldloc.0 | |
[ 2] 73 (0x049) call 0A00001F | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128`1.op_BitwiseOr: Recognized | |
Found Vector128<ubyte> | |
[ 1] 78 (0x04e) stloc.s 4 | |
STMT00002 ( 0x033[E-] ... ??? ) | |
[000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[ 0] 80 (0x050) ldarg.1 | |
[ 1] 81 (0x051) ldarg.2 | |
[ 2] 82 (0x052) newobj | |
lvaGrabTemp returning 11 (V11 tmp1) called for NewObj constructor temp. | |
STMT00003 ( 0x050[E-] ... ??? ) | |
[000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] ----------- \--* CNS_INT int 0 | |
0A000020 | |
In Compiler::impImportCall: opcode is newobj, kind=0, callRetType is void, structSize is 0 | |
Calling impNormStructVal on: | |
[000023] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
resulting tree: | |
[000023] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
Calling impNormStructVal on: | |
[000022] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
resulting tree: | |
[000022] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
INLINER: during 'impMarkInlineCandidate' result 'CheckCanInline Success' reason 'CheckCanInline Success' for 'System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' calling 'System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this' | |
INLINER: during 'impMarkInlineCandidate' result 'CheckCanInline Success' reason 'CheckCanInline Success' | |
STMT00004 ( ??? ... ??? ) | |
[000027] I-C-G------ * CALL void System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this (exactContextHnd=0x0xd1ffab1e) | |
[000026] ----------- this +--* LCL_ADDR byref V11 tmp1 [+0] | |
[000022] ----------- arg1 +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
[000023] ----------- arg2 \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
[ 1] 87 (0x057) ldloc.s 4 | |
[ 2] 89 (0x059) call 0A000021 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.VectorTableLookup: Recognized | |
Found Vector128<ubyte> | |
Found Vector128<ubyte> | |
[ 1] 94 (0x05e) stloc.2 | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c--------- +--* FIELD_LIST struct | |
[000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
[000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[ 0] 95 (0x05f) br.s | |
impImportBlockPending for BB04 | |
Importing BB04 (PC=147) of 'System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' | |
[ 0] 147 (0x093) ldc.i8 0x8040201008040201 | |
[ 1] 156 (0x09c) call 0A00001B | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128.Create: Recognized | |
Found Vector128<ulong> | |
[ 1] 161 (0x0a1) call 2B000007 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128.AsByte: Recognized | |
Found Vector128<ubyte> | |
Found Vector128<ulong> | |
Found Vector128<ubyte> | |
[ 1] 166 (0x0a6) ldloc.1 | |
[ 2] 167 (0x0a7) call 06000008 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Calling impNormStructVal on: | |
[000037] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
resulting tree: | |
[000037] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
Calling impNormStructVal on: | |
[000036] ----------- * CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
resulting tree: | |
[000036] ----------- * CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
INLINER: during 'impMarkInlineCandidate' result 'CheckCanInline Success' reason 'CheckCanInline Success' for 'System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' calling 'System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' | |
INLINER: during 'impMarkInlineCandidate' result 'CheckCanInline Success' reason 'CheckCanInline Success' | |
Found Vector128<ubyte> | |
changing the type of a call [000038] from struct to simd16 | |
STMT00006 ( 0x093[E-] ... ??? ) | |
[000038] I-C-G------ * CALL simd16 System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (exactContextHnd=0x0xd1ffab1e) | |
[000036] ----------- arg0 +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- arg1 \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[ 1] 172 (0x0ac) stloc.3 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DAC-------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000039] --C-------- \--* RET_EXPR simd16(for [000038]) | |
[ 0] 173 (0x0ad) ldloc.2 | |
[ 1] 174 (0x0ae) ldloc.3 | |
[ 2] 175 (0x0af) call 0A000013 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128`1.op_BitwiseAnd: Recognized | |
Found Vector128<ubyte> | |
[ 1] 180 (0x0b4) ldloc.3 | |
[ 2] 181 (0x0b5) call 2B000008 | |
(Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Vector128.Equals: Recognized | |
Found Vector128<ubyte> | |
[ 1] 186 (0x0ba) ret | |
impFixupStructReturnType: retyping | |
[000045] ----------- * HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
STMT00008 ( 0x0AD[E-] ... ??? ) | |
[000046] ----------- * RETURN simd16 | |
[000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
** Note: root method IL was partially imported -- imported 137 of 187 bytes of method IL | |
*************** Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..033) i | |
BB02 [0001] 1 BB01 1 [033..061)-> BB04 (always) i | |
BB03 [0002] 0 1 [061..093) | |
BB04 [0003] 2 BB02,BB03 1 [093..0BB) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..033), preds={} succs={BB02} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
[000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
[000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000006] ----------- | \--* CNS_INT int 4 | |
[000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
------------ BB02 [033..061) -> BB04 (always), preds={BB01} succs={BB04} | |
***** BB02 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
[000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
***** BB02 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
[000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] ----------- \--* CNS_INT int 0 | |
***** BB02 | |
STMT00004 ( ??? ... ??? ) | |
[000027] I-C-G------ * CALL void System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this (exactContextHnd=0x0xd1ffab1e) | |
[000026] ----------- this +--* LCL_ADDR byref V11 tmp1 [+0] | |
[000022] ----------- arg1 +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
[000023] ----------- arg2 \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
***** BB02 | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c--------- +--* FIELD_LIST struct | |
[000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
[000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
------------ BB03 [061..093), preds={} succs={BB04} | |
------------ BB04 [093..0BB) (return), preds={BB02,BB03} succs={} | |
***** BB04 | |
STMT00006 ( 0x093[E-] ... 0x0AC ) | |
[000038] I-C-G------ * CALL simd16 System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (exactContextHnd=0x0xd1ffab1e) | |
[000036] ----------- arg0 +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- arg1 \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
***** BB04 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DAC-------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000039] --C-------- \--* RET_EXPR simd16(for [000038]) | |
***** BB04 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
[000046] ----------- * RETURN simd16 | |
[000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** 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 | |
BB03 was not imported, marking as removed (0) | |
Renumbering the basic blocks for fgPostImportationCleanup | |
*************** Before renumbering the basic blocks | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..033) i | |
BB02 [0001] 1 BB01 1 [033..061)-> BB04 (always) i | |
BB04 [0003] 1 BB02 1 [093..0BB) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
Renumber BB04 to BB03 | |
*************** After renumbering the basic blocks | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..033) i | |
BB02 [0001] 1 BB01 1 [033..061)-> BB03 (always) i | |
BB03 [0003] 1 BB02 1 [093..0BB) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
New BlockSet epoch 1, # of blocks (including unused BB00): 4, bitset array size: 1 (short) | |
*************** Finishing PHASE Post-import | |
Trees after Post-import | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..033) i | |
BB02 [0001] 1 BB01 1 [033..061)-> BB03 (always) i | |
BB03 [0003] 1 BB02 1 [093..0BB) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..033), preds={} succs={BB02} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
[000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
[000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000006] ----------- | \--* CNS_INT int 4 | |
[000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
------------ BB02 [033..061) -> BB03 (always), preds={BB01} succs={BB03} | |
***** BB02 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
[000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
***** BB02 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
[000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] ----------- \--* CNS_INT int 0 | |
***** BB02 | |
STMT00004 ( ??? ... ??? ) | |
[000027] I-C-G------ * CALL void System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this (exactContextHnd=0x0xd1ffab1e) | |
[000026] ----------- this +--* LCL_ADDR byref V11 tmp1 [+0] | |
[000022] ----------- arg1 +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
[000023] ----------- arg2 \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
***** BB02 | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c--------- +--* FIELD_LIST struct | |
[000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
[000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
------------ BB03 [093..0BB) (return), preds={BB02} succs={} | |
***** BB03 | |
STMT00006 ( 0x093[E-] ... 0x0AC ) | |
[000038] I-C-G------ * CALL simd16 System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (exactContextHnd=0x0xd1ffab1e) | |
[000036] ----------- arg0 +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- arg1 \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
***** BB03 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DAC-------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000039] --C-------- \--* RET_EXPR simd16(for [000038]) | |
***** BB03 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
[000046] ----------- * RETURN simd16 | |
[000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Starting PHASE Morph - Init | |
New BlockSet epoch 2, # of blocks (including unused BB00): 4, bitset array size: 1 (short) | |
*************** Finishing PHASE Morph - Init [no changes] | |
*************** Starting PHASE Morph - Inlining | |
Expanding INLINE_CANDIDATE in statement STMT00004 in BB02: | |
STMT00004 ( ??? ... ??? ) | |
[000027] I-C-G------ * CALL void System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this (exactContextHnd=0x0xd1ffab1e) | |
[000026] ----------- this +--* LCL_ADDR byref V11 tmp1 [+0] | |
[000022] ----------- arg1 +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
[000023] ----------- arg2 \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
thisArg: is a constant or invariant is byref to a struct local | |
[000026] ----------- * LCL_ADDR byref V11 tmp1 [+0] | |
Argument #1: is a local var | |
[000022] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
Argument #2: is a local var | |
[000023] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
INLINER: inlineInfo.tokenLookupContextHandle for System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this set to 0x0xd1ffab1e: | |
Invoking compiler for the inlinee method System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 03 ldarg.1 | |
IL_0002 7d f8 0c 00 0a stfld 0xA000CF8 | |
IL_0007 02 ldarg.0 | |
IL_0008 04 ldarg.2 | |
IL_0009 7d f9 0c 00 0a stfld 0xA000CF9 | |
IL_000e 2a ret | |
INLINER impTokenLookupContextHandle for System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this is 0x0xd1ffab1e. | |
*************** In compInitDebuggingInfo() for System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this | |
info.compStmtOffsetsCount = 0 | |
info.compStmtOffsetsImplicit = 0005h ( STACK_EMPTY CALL_SITE ) | |
*************** In fgFindBasicBlocks() for System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this | |
Jump targets: | |
none | |
New Basic Block BB01 [0004] created. | |
BB01 [000..00F) | |
Basic block list for 'System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0004] 1 100 [000..00F) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000027] Starting PHASE Pre-import | |
*************** Inline @[000027] Finishing PHASE Pre-import | |
Trees after Pre-import | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0004] 1 100 [000..00F) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..00F) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** Inline @[000027] Starting PHASE Profile incorporation | |
Have Static PGO: 2 schema records (schema at 0xd1ffab1e, data at 0xd1ffab1e) | |
Profile summary: 10 runs, 0 block probes, 1 edge probes, 0 class profiles, 0 method profiles, 0 other records | |
Reconstructing block counts from sparse edge instrumentation | |
... adding known edge BB01 -> BB01: weight 4651 | |
New BlockSet epoch 1, # of blocks (including unused BB00): 2, bitset array size: 1 (short) | |
... pseudo edge BB01 -> BB01 | |
Solver: 1 blocks, 1 unknown; 1 edges, 0 unknown, 0 zero | |
Pass [1]: 1 unknown blocks, 0 unknown edges | |
BB01: 0 incoming unknown, 0 outgoing unknown | |
BB01: all incoming edge weights known, summing... | |
BB01 -> BB01 has weight 4651 | |
BB01: all incoming edge weights known, sum is 4651 | |
Solver: converged in 1 passes | |
Computing inlinee profile scale: | |
... call site not profiled, will use non-pgo weight to scale | |
call site count 100 callee entry count 4651 scale 0.02150075 | |
Scaling inlinee blocks | |
*************** Inline @[000027] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0004] 1 100 100 [000..00F) (return) IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..00F) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** Inline @[000027] Starting PHASE Importation | |
impImportBlockPending for BB01 | |
Importing BB01 (PC=000) of 'System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this' | |
[ 0] 0 (0x000) ldarg.0 | |
[ 1] 1 (0x001) ldarg.1 | |
[ 2] 2 (0x002) stfld 0A000CF8 | |
STMT00009 ( 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] nA--------- * STOREIND simd16 (copy) | |
[000048] ----------- +--* FIELD_ADDR byref System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:Item1 | |
[000047] ----------- | \--* LCL_ADDR byref V11 tmp1 [+0] | |
[000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
[ 0] 7 (0x007) ldarg.0 | |
[ 1] 8 (0x008) ldarg.2 | |
[ 2] 9 (0x009) stfld 0A000CF9 | |
STMT00010 ( 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] nA--------- * STOREIND simd16 (copy) | |
[000051] ----------- +--* FIELD_ADDR byref System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:Item2 | |
[000050] ----------- | \--* LCL_ADDR byref V11 tmp1 [+0] | |
[000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
[ 0] 14 (0x00e) ret | |
*************** Inline @[000027] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0004] 1 100 100 [000..00F) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..00F) (return), preds={} succs={} | |
***** BB01 | |
STMT00009 ( 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] nA--------- * STOREIND simd16 (copy) | |
[000048] ----------- +--* FIELD_ADDR byref System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:Item1 | |
[000047] ----------- | \--* LCL_ADDR byref V11 tmp1 [+0] | |
[000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
***** BB01 | |
STMT00010 ( 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] nA--------- * STOREIND simd16 (copy) | |
[000051] ----------- +--* FIELD_ADDR byref System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:Item2 | |
[000050] ----------- | \--* LCL_ADDR byref V11 tmp1 [+0] | |
[000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Inline @[000027] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000027] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000027] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000027] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000027] Starting PHASE Post-import | |
*************** Inline @[000027] Finishing PHASE Post-import [no changes] | |
----------- Statements (and blocks) added due to the inlining of call [000027] ----------- | |
Arguments setup: | |
Inlinee method body: | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] nA--------- * STOREIND simd16 (copy) | |
[000048] ----------- +--* FIELD_ADDR byref System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:Item1 | |
[000047] ----------- | \--* LCL_ADDR byref V11 tmp1 [+0] | |
[000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] nA--------- * STOREIND simd16 (copy) | |
[000051] ----------- +--* FIELD_ADDR byref System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:Item2 | |
[000050] ----------- | \--* LCL_ADDR byref V11 tmp1 [+0] | |
[000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
fgInlineAppendStatements: no gc ref inline locals. | |
Successfully inlined System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this (15 IL bytes) (depth 1) [below ALWAYS_INLINE size] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for 'System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' calling 'System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this' | |
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' | |
Expanding INLINE_CANDIDATE in statement STMT00006 in BB03: | |
STMT00006 ( 0x093[E-] ... 0x0AC ) | |
[000038] I-C-G------ * CALL simd16 System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (exactContextHnd=0x0xd1ffab1e) | |
[000036] ----------- arg0 +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- arg1 \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
Argument #0: is a constant or invariant | |
[000036] ----------- * CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
Argument #1: is a local var | |
[000037] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
INLINER: inlineInfo.tokenLookupContextHandle for System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] set to 0x0xd1ffab1e: | |
Invoking compiler for the inlinee method System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] : | |
IL to import: | |
IL_0000 28 22 00 00 0a call 0xA000022 | |
IL_0005 2c 08 brfalse.s 8 (IL_000f) | |
IL_0007 02 ldarg.0 | |
IL_0008 03 ldarg.1 | |
IL_0009 28 23 00 00 0a call 0xA000023 | |
IL_000e 2a ret | |
IL_000f 28 1d 00 00 0a call 0xA00001D | |
IL_0014 2c 08 brfalse.s 8 (IL_001e) | |
IL_0016 02 ldarg.0 | |
IL_0017 03 ldarg.1 | |
IL_0018 28 24 00 00 0a call 0xA000024 | |
IL_001d 2a ret | |
IL_001e 02 ldarg.0 | |
IL_001f 03 ldarg.1 | |
IL_0020 28 25 00 00 0a call 0xA000025 | |
IL_0025 2a ret | |
INLINER impTokenLookupContextHandle for System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] is 0x0xd1ffab1e. | |
Notify VM instruction set (AdvSimd) must be supported. | |
Found Vector128<ubyte> | |
*************** In compInitDebuggingInfo() for System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] | |
info.compStmtOffsetsCount = 0 | |
info.compStmtOffsetsImplicit = 0005h ( STACK_EMPTY CALL_SITE ) | |
*************** In fgFindBasicBlocks() for System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] | |
Named Intrinsic System.Runtime.Intrinsics.X86.Ssse3.get_IsSupported: Unsupported - return falseweight= 79 : state 40 [ call ] | |
weight= 27 : state 44 [ brfalse.s ] | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 16 : state 4 [ ldarg.1 ] | |
weight= 79 : state 40 [ call ] | |
Named Intrinsic System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.get_IsSupported: Notify VM instruction set (AdvSimd_Arm64) must be supported. | |
Recognized | |
weight= 19 : state 42 [ ret ] | |
weight= 79 : state 40 [ call ] | |
weight= 27 : state 44 [ brfalse.s ] | |
Named Intrinsic System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.VectorTableLookup: Recognized | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 16 : state 4 [ ldarg.1 ] | |
weight= 79 : state 40 [ call ] | |
weight= 19 : state 42 [ ret ] | |
Named Intrinsic System.Runtime.Intrinsics.Vector128.Shuffle: Notify VM instruction set (Vector128) must be supported. | |
Recognized | |
weight= 10 : state 3 [ ldarg.0 ] | |
weight= 16 : state 4 [ ldarg.1 ] | |
weight= 79 : state 40 [ call ] | |
weight= 19 : state 42 [ ret ] | |
Inline candidate returns a struct by value. Multiplier increased to 2. | |
Inline candidate looks like a wrapper method. Multiplier increased to 3. | |
Inline candidate has 2 foldable branches. Multiplier increased to 8. | |
Inline candidate has SIMD type args, locals or return value. Multiplier increased to 11. | |
Inline has 2 intrinsics. Multiplier increased to 12.6. | |
Inline has 2 foldable intrinsics. Multiplier increased to 15.6. | |
Inline candidate callsite is boring. Multiplier increased to 16.9. | |
calleeNativeSizeEstimate=584 | |
callsiteNativeSizeEstimate=155 | |
benefit multiplier=16.9 | |
threshold=2619 | |
Native estimate for function size is within threshold for inlining 58.4 <= 261.9 (multiplier = 16.9) | |
Jump targets: | |
IL_000f | |
IL_001e | |
New Basic Block BB01 [0005] created. | |
BB01 [000..007) | |
New Basic Block BB02 [0006] created. | |
BB02 [007..00F) | |
New Basic Block BB03 [0007] created. | |
BB03 [00F..016) | |
New Basic Block BB04 [0008] created. | |
BB04 [016..01E) | |
New Basic Block BB05 [0009] created. | |
BB05 [01E..026) | |
Setting edge weights for BB01 -> BB03 to [0 .. 3.402823e+38] | |
Setting edge weights for BB01 -> BB02 to [0 .. 3.402823e+38] | |
Setting edge weights for BB03 -> BB05 to [0 .. 3.402823e+38] | |
Setting edge weights for BB03 -> BB04 to [0 .. 3.402823e+38] | |
lvaGrabTemp returning 12 (V12 tmp2) (a long lifetime temp) called for Inline return value spill temp. | |
Basic block list for 'System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0005] 1 1 [000..007)-> BB03 ( cond ) | |
BB02 [0006] 1 BB01 1 [007..00F) (return) | |
BB03 [0007] 1 BB01 1 [00F..016)-> BB05 ( cond ) | |
BB04 [0008] 1 BB03 1 [016..01E) (return) | |
BB05 [0009] 1 BB03 1 [01E..026) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Inline @[000038] Starting PHASE Pre-import | |
*************** Inline @[000038] Finishing PHASE Pre-import | |
Trees after Pre-import | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0005] 1 1 [000..007)-> BB03 ( cond ) | |
BB02 [0006] 1 BB01 1 [007..00F) (return) | |
BB03 [0007] 1 BB01 1 [00F..016)-> BB05 ( cond ) | |
BB04 [0008] 1 BB03 1 [016..01E) (return) | |
BB05 [0009] 1 BB03 1 [01E..026) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..007) -> BB03 (cond), preds={} succs={BB02,BB03} | |
------------ BB02 [007..00F) (return), preds={BB01} succs={} | |
------------ BB03 [00F..016) -> BB05 (cond), preds={BB01} succs={BB04,BB05} | |
------------ BB04 [016..01E) (return), preds={BB03} succs={} | |
------------ BB05 [01E..026) (return), preds={BB03} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** Inline @[000038] Starting PHASE Profile incorporation | |
BBOPT set, but no profile data available (hr=80004001) | |
Computing inlinee profile scale: | |
... no callee profile data, will use non-pgo weight to scale | |
... call site not profiled, will use non-pgo weight to scale | |
call site count 100 callee entry count 100 scale 1 | |
Scaling inlinee blocks | |
*************** Inline @[000038] Finishing PHASE Profile incorporation | |
Trees after Profile incorporation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0005] 1 1 [000..007)-> BB03 ( cond ) | |
BB02 [0006] 1 BB01 1 [007..00F) (return) | |
BB03 [0007] 1 BB01 1 [00F..016)-> BB05 ( cond ) | |
BB04 [0008] 1 BB03 1 [016..01E) (return) | |
BB05 [0009] 1 BB03 1 [01E..026) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..007) -> BB03 (cond), preds={} succs={BB02,BB03} | |
------------ BB02 [007..00F) (return), preds={BB01} succs={} | |
------------ BB03 [00F..016) -> BB05 (cond), preds={BB01} succs={BB04,BB05} | |
------------ BB04 [016..01E) (return), preds={BB03} succs={} | |
------------ BB05 [01E..026) (return), preds={BB03} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** Inline @[000038] Starting PHASE Importation | |
impImportBlockPending for BB01 | |
Importing BB01 (PC=000) of 'System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' | |
[ 0] 0 (0x000) call 0A000022 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is bool, structSize is 0 | |
Named Intrinsic System.Runtime.Intrinsics.X86.Ssse3.get_IsSupported: Unsupported - return false | |
[ 1] 5 (0x005) brfalse.s | |
Folding operator with constant nodes into a constant: | |
[000056] ----------- * EQ int | |
[000054] ----------- +--* CNS_INT int 0 | |
[000055] ----------- \--* CNS_INT int 0 | |
Bashed to int constant: | |
[000056] ----------- * CNS_INT int 1 | |
The conditional jump becomes an unconditional jump to BB03 | |
impImportBlockPending for BB03 | |
Importing BB03 (PC=015) of 'System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' | |
[ 0] 15 (0x00f) call 0A00001D | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is bool, structSize is 0 | |
Named Intrinsic System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.get_IsSupported: Recognized | |
[ 1] 20 (0x014) brfalse.s | |
Folding operator with constant nodes into a constant: | |
[000059] ----------- * EQ int | |
[000057] ----------- +--* CNS_INT int 1 | |
[000058] ----------- \--* CNS_INT int 0 | |
Bashed to int constant: | |
[000059] ----------- * CNS_INT int 0 | |
The block falls through into the next BB04 | |
impImportBlockPending for BB04 | |
Importing BB04 (PC=022) of 'System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' | |
[ 0] 22 (0x016) ldarg.0 | |
[ 1] 23 (0x017) ldarg.1 | |
[ 2] 24 (0x018) call 0A000024 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16 | |
Named Intrinsic System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.VectorTableLookup: Recognized | |
Found Vector128<ubyte> | |
Found Vector128<ubyte> | |
[ 1] 29 (0x01d) ret | |
Inlinee Return expression (before normalization) => | |
[000061] ----------- * HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
Found Vector128<ubyte> | |
impFixupStructReturnType: retyping | |
[000061] ----------- * HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
STMT00011 ( 0x016[E-] ... ??? ) <- INLRT @ 0x093[E-] | |
[000062] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
[000061] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
Inlinee Return expression (after normalization) => | |
[000063] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
** Note: inlinee IL was partially imported -- imported 8 of 38 bytes of method IL | |
*************** Inline @[000038] Finishing PHASE Importation | |
Trees after Importation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0005] 1 1 [000..007)-> BB03 (always) i | |
BB02 [0006] 0 1 [007..00F) (return) | |
BB03 [0007] 1 BB01 1 [00F..016) i | |
BB04 [0008] 1 BB03 1 [016..01E) (return) i | |
BB05 [0009] 0 1 [01E..026) (return) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..007) -> BB03 (always), preds={} succs={BB03} | |
------------ BB02 [007..00F) (return), preds={} succs={} | |
------------ BB03 [00F..016), preds={BB01} succs={BB04} | |
------------ BB04 [016..01E) (return), preds={BB03} succs={} | |
***** BB04 | |
STMT00011 ( 0x016[E-] ... ??? ) <- INLRT @ 0x093[E-] | |
[000062] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
[000061] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
------------ BB05 [01E..026) (return), preds={} succs={} | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Inline @[000038] Starting PHASE Expand patchpoints | |
-- no patchpoints to transform | |
*************** Inline @[000038] Finishing PHASE Expand patchpoints [no changes] | |
*************** Inline @[000038] Starting PHASE Indirect call transform | |
-- no candidates to transform | |
*************** Inline @[000038] Finishing PHASE Indirect call transform [no changes] | |
*************** Inline @[000038] Starting PHASE Post-import | |
BB02 was not imported, marking as removed (0) | |
BB05 was not imported, marking as removed (1) | |
Renumbering the basic blocks for fgPostImportationCleanup | |
*************** Before renumbering the basic blocks | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0005] 1 1 [000..007)-> BB03 (always) i | |
BB03 [0007] 1 BB01 1 [00F..016) i | |
BB04 [0008] 1 BB03 1 [016..01E) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
Renumber BB03 to BB02 | |
Renumber BB04 to BB03 | |
*************** After renumbering the basic blocks | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0005] 1 1 [000..007)-> BB02 (always) i | |
BB02 [0007] 1 BB01 1 [00F..016) i | |
BB03 [0008] 1 BB02 1 [016..01E) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
New BlockSet epoch 1, # of blocks (including unused BB00): 4, bitset array size: 1 (short) | |
*************** Inline @[000038] Finishing PHASE Post-import | |
Trees after Post-import | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0005] 1 1 [000..007)-> BB02 (always) i | |
BB02 [0007] 1 BB01 1 [00F..016) i | |
BB03 [0008] 1 BB02 1 [016..01E) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..007) -> BB02 (always), preds={} succs={BB02} | |
------------ BB02 [00F..016), preds={BB01} succs={BB03} | |
------------ BB03 [016..01E) (return), preds={BB02} succs={} | |
***** BB03 | |
STMT00011 ( 0x016[E-] ... ??? ) <- INLRT @ 0x093[E-] | |
[000062] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
[000061] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
----------- Statements (and blocks) added due to the inlining of call [000038] ----------- | |
Arguments setup: | |
Inlinee method body:New Basic Block BB04 [0010] created. | |
Setting edge weights for BB03 -> BB04 to [0 .. 3.402823e+38] | |
Convert bbJumpKind of BB07 to BBJ_NONE | |
Setting edge weights for BB07 -> BB04 to [0 .. 3.402823e+38] | |
Setting edge weights for BB03 -> BB05 to [0 .. 3.402823e+38] | |
fgInlineAppendStatements: no gc ref inline locals. | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB05 [0005] 1 BB03 1 [093..094)-> BB06 (always) i | |
BB06 [0007] 1 BB05 1 [093..094) i | |
BB07 [0008] 1 BB06 1 [093..094) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB05 [093..094) -> BB06 (always), preds={BB03} succs={BB06} | |
------------ BB06 [093..094), preds={BB05} succs={BB07} | |
------------ BB07 [093..094), preds={BB06} succs={BB04} | |
***** BB07 | |
STMT00011 ( INL02 @ 0x016[E-] ... ??? ) <- INLRT @ 0x093[E-] | |
[000062] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
[000061] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
------------------------------------------------------------------------------------------------------------------- | |
Successfully inlined System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (38 IL bytes) (depth 1) [profitable inline] | |
-------------------------------------------------------------------------------------------- | |
BB03 becomes empty | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' for 'System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' calling 'System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' | |
INLINER: during 'fgInline' result 'success' reason 'profitable inline' | |
Replacing the return expression placeholder [000039] with [000063] | |
[000039] --C-------- * RET_EXPR simd16(for [000038]) -> [000063] | |
Inserting the inline return expression | |
[000063] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
**************** Inline Tree | |
Inlines into 06000007 [via ExtendedDefaultPolicy] System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]: | |
[INL01 IL=0082 TR=000027 060026A7] [INLINED: callee: below ALWAYS_INLINE size] System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:.ctor(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):this | |
[INL02 IL=0167 TR=000038 06000008] [INLINED: call site: profitable inline] System.Text.Tests.Demo:ShuffleUnsafe(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] | |
Budget: initialTime=621, finalTime=639, initialBudget=6210, currentBudget=6210 | |
Budget: initialSize=4394, finalSize=4823 | |
*************** Before renumbering the basic blocks | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..033) i | |
BB02 [0001] 1 BB01 1 100 [033..061)-> BB03 (always) i IBC | |
BB03 [0003] 1 BB02 1 [093..093) i | |
BB05 [0005] 1 BB03 1 [093..094)-> BB06 (always) i | |
BB06 [0007] 1 BB05 1 [093..094) i | |
BB07 [0008] 1 BB06 1 [093..094) i | |
BB04 [0010] 1 BB07 1 [093..0BB) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
Renumber BB05 to BB04 | |
Renumber BB06 to BB05 | |
Renumber BB07 to BB06 | |
Renumber BB04 to BB07 | |
*************** After renumbering the basic blocks | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..033) i | |
BB02 [0001] 1 BB01 1 100 [033..061)-> BB03 (always) i IBC | |
BB03 [0003] 1 BB02 1 [093..093) i | |
BB04 [0005] 1 BB03 1 [093..094)-> BB05 (always) i | |
BB05 [0007] 1 BB04 1 [093..094) i | |
BB06 [0008] 1 BB05 1 [093..094) i | |
BB07 [0010] 1 BB06 1 [093..0BB) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
New BlockSet epoch 3, # of blocks (including unused BB00): 8, bitset array size: 1 (short) | |
*************** Finishing PHASE Morph - Inlining | |
Trees after Morph - Inlining | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..033) i | |
BB02 [0001] 1 BB01 1 100 [033..061)-> BB03 (always) i IBC | |
BB03 [0003] 1 BB02 1 [093..093) i | |
BB04 [0005] 1 BB03 1 [093..094)-> BB05 (always) i | |
BB05 [0007] 1 BB04 1 [093..094) i | |
BB06 [0008] 1 BB05 1 [093..094) i | |
BB07 [0010] 1 BB06 1 [093..0BB) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..033), preds={} succs={BB02} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
[000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
[000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000006] ----------- | \--* CNS_INT int 4 | |
[000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
------------ BB02 [033..061) -> BB03 (always), preds={BB01} succs={BB03} | |
***** BB02 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
[000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
***** BB02 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
[000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] ----------- \--* CNS_INT int 0 | |
***** BB02 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] nA--------- * STOREIND simd16 (copy) | |
[000048] ----------- +--* FIELD_ADDR byref System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:Item1 | |
[000047] ----------- | \--* LCL_ADDR byref V11 tmp1 [+0] | |
[000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
***** BB02 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] nA--------- * STOREIND simd16 (copy) | |
[000051] ----------- +--* FIELD_ADDR byref System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:Item2 | |
[000050] ----------- | \--* LCL_ADDR byref V11 tmp1 [+0] | |
[000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
***** BB02 | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c--------- +--* FIELD_LIST struct | |
[000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
[000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
------------ BB03 [093..093), preds={BB02} succs={BB04} | |
------------ BB04 [093..094) -> BB05 (always), preds={BB03} succs={BB05} | |
------------ BB05 [093..094), preds={BB04} succs={BB06} | |
------------ BB06 [093..094), preds={BB05} succs={BB07} | |
***** BB06 | |
STMT00011 ( INL02 @ 0x016[E-] ... ??? ) <- INLRT @ 0x093[E-] | |
[000062] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
[000061] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
------------ BB07 [093..0BB) (return), preds={BB06} succs={} | |
***** BB07 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DAC-------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000063] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
***** BB07 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
[000046] ----------- * RETURN simd16 | |
[000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Starting PHASE Allocate Objects | |
no newobjs in this method; punting | |
*************** Finishing PHASE Allocate Objects [no changes] | |
*************** Starting PHASE Morph - Add internal blocks | |
*************** After fgAddInternal() | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..033) i | |
BB02 [0001] 1 BB01 1 100 [033..061)-> BB03 (always) i IBC | |
BB03 [0003] 1 BB02 1 [093..093) i | |
BB04 [0005] 1 BB03 1 [093..094)-> BB05 (always) i | |
BB05 [0007] 1 BB04 1 [093..094) i | |
BB06 [0008] 1 BB05 1 [093..094) i | |
BB07 [0010] 1 BB06 1 [093..0BB) (return) i | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** 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 Tail merge | |
*************** Finishing PHASE Tail merge [no changes] | |
*************** 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 BB02 into BB01: | |
*************** In fgDebugCheckBBlist | |
Removing unconditional jump to next block (BB01 -> BB03) (converted BB01 to fall-through) | |
Compacting BB03 into BB01: | |
*************** In fgDebugCheckBBlist | |
Compacting BB04 into BB01: | |
*************** In fgDebugCheckBBlist | |
Removing unconditional jump to next block (BB01 -> BB05) (converted BB01 to fall-through) | |
Compacting BB05 into BB01: | |
*************** In fgDebugCheckBBlist | |
Compacting BB06 into BB01: | |
*************** In fgDebugCheckBBlist | |
Compacting BB07 into BB01: | |
*************** In fgDebugCheckBBlist | |
*************** Finishing PHASE Update flow graph early pass | |
Trees after Update flow graph early pass | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
[000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
[000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000006] ----------- | \--* CNS_INT int 4 | |
[000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
[000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
[000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] ----------- \--* CNS_INT int 0 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] nA--------- * STOREIND simd16 (copy) | |
[000048] ----------- +--* FIELD_ADDR byref System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:Item1 | |
[000047] ----------- | \--* LCL_ADDR byref V11 tmp1 [+0] | |
[000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] nA--------- * STOREIND simd16 (copy) | |
[000051] ----------- +--* FIELD_ADDR byref System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:Item2 | |
[000050] ----------- | \--* LCL_ADDR byref V11 tmp1 [+0] | |
[000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c--------- +--* FIELD_LIST struct | |
[000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
[000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
***** BB01 | |
STMT00011 ( INL02 @ 0x016[E-] ... ??? ) <- INLRT @ 0x093[E-] | |
[000062] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
[000061] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DAC-------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000063] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
[000046] ----------- * RETURN simd16 | |
[000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Starting PHASE Morph - Promote Structs | |
lvaTable before fgPromoteStructs | |
; Initial local variable assignments | |
; | |
; V00 arg0 simd16 HFA(simd16) | |
; V01 arg1 simd16 HFA(simd16) | |
; V02 arg2 simd16 HFA(simd16) | |
; V03 loc0 simd16 HFA(simd16) | |
; V04 loc1 simd16 HFA(simd16) | |
; V05 loc2 simd16 HFA(simd16) | |
; V06 loc3 simd16 HFA(simd16) | |
; V07 loc4 simd16 HFA(simd16) | |
; V08 loc5 simd16 HFA(simd16) | |
; V09 loc6 simd16 HFA(simd16) | |
; V10 OutArgs struct <0> do-not-enreg[XS] addr-exposed "OutgoingArgSpace" | |
; V11 tmp1 struct <System.ValueTuple`2, 32> HFA(simd16) ld-addr-op "NewObj constructor temp" | |
; V12 tmp2 simd16 HFA(simd16) "Inline return value spill temp" | |
struct promotion of V10 is disabled because it has already been marked address exposed | |
*************** Finishing PHASE Morph - Promote Structs [no changes] | |
*************** Starting PHASE Morph - Structs/AddrExp | |
LocalAddressVisitor visiting statement: | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
[000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
LocalAddressVisitor visiting statement: | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
[000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000006] ----------- | \--* CNS_INT int 4 | |
[000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
LocalAddressVisitor visiting statement: | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
[000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
LocalAddressVisitor visiting statement: | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
[000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] ----------- \--* CNS_INT int 0 | |
LocalAddressVisitor visiting statement: | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] nA--------- * STOREIND simd16 (copy) | |
[000048] ----------- +--* FIELD_ADDR byref System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:Item1 | |
[000047] ----------- | \--* LCL_ADDR byref V11 tmp1 [+0] | |
[000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
Local V11 should not be enregistered because: was accessed as a local field | |
LocalAddressVisitor modified statement: | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
[000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
LocalAddressVisitor visiting statement: | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] nA--------- * STOREIND simd16 (copy) | |
[000051] ----------- +--* FIELD_ADDR byref System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]:Item2 | |
[000050] ----------- | \--* LCL_ADDR byref V11 tmp1 [+0] | |
[000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
Local V11 should not be enregistered because: was accessed as a local field | |
LocalAddressVisitor modified statement: | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
[000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
LocalAddressVisitor visiting statement: | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c--------- +--* FIELD_LIST struct | |
[000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
[000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
Local V11 should not be enregistered because: was accessed as a local field | |
Local V11 should not be enregistered because: was accessed as a local field | |
LocalAddressVisitor visiting statement: | |
STMT00011 ( INL02 @ 0x016[E-] ... ??? ) <- INLRT @ 0x093[E-] | |
[000062] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
[000061] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
LocalAddressVisitor visiting statement: | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DAC-------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000063] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
LocalAddressVisitor visiting statement: | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
[000046] ----------- * RETURN simd16 | |
[000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
*************** Finishing PHASE Morph - Structs/AddrExp | |
Trees after Morph - Structs/AddrExp | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
[000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
[000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000006] ----------- | \--* CNS_INT int 4 | |
[000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
[000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
[000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] ----------- \--* CNS_INT int 0 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
[000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
[000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c--------- +--* FIELD_LIST struct | |
[000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
[000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
***** BB01 | |
STMT00011 ( INL02 @ 0x016[E-] ... ??? ) <- INLRT @ 0x093[E-] | |
[000062] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
[000061] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DAC-------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000063] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
[000046] ----------- * RETURN simd16 | |
[000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Starting PHASE Early liveness | |
Local V10 should not be enregistered because: struct size does not match reg size | |
Local V11 should not be enregistered because: struct size does not match reg size | |
Tracked variable (10 out of 13) table: | |
V00 arg0 [simd16]: refCnt = 2, refCntWtd = 0 | |
V01 arg1 [simd16]: refCnt = 1, refCntWtd = 0 | |
V02 arg2 [simd16]: refCnt = 1, refCntWtd = 0 | |
V03 loc0 [simd16]: refCnt = 2, refCntWtd = 0 | |
V04 loc1 [simd16]: refCnt = 3, refCntWtd = 0 | |
V05 loc2 [simd16]: refCnt = 2, refCntWtd = 0 | |
V06 loc3 [simd16]: refCnt = 3, refCntWtd = 0 | |
V07 loc4 [simd16]: refCnt = 2, refCntWtd = 0 | |
V11 tmp1 [struct]: refCnt = 5, refCntWtd = 0 | |
V12 tmp2 [simd16]: refCnt = 2, refCntWtd = 0 | |
*************** In fgPerBlockLocalVarLiveness() | |
BB01 USE(3)={V00 V01 V02 } | |
DEF(7)={ V03 V04 V05 V06 V07 V11 V12} | |
** Memory liveness computed, GcHeap states and ByrefExposed states match | |
*************** In fgInterBlockLocalVarLiveness() | |
BB liveness after fgLiveVarAnalysis(): | |
BB01 IN (3)={V00 V01 V02} | |
OUT(0)={ } | |
*************** Finishing PHASE Early liveness | |
Trees after Early liveness | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
[000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
[000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 (last use) | |
[000006] ----------- | \--* CNS_INT int 4 | |
[000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
[000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 (last use) | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
[000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] ----------- \--* CNS_INT int 0 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
[000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 (last use) | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
[000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 (last use) | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c--------- +--* FIELD_LIST struct | |
[000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] (last use) | |
[000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 (last use) | |
***** BB01 | |
STMT00011 ( INL02 @ 0x016[E-] ... ??? ) <- INLRT @ 0x093[E-] | |
[000062] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
[000061] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 (last use) | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DAC-------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000063] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 (last use) | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
[000046] ----------- * RETURN simd16 | |
[000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 (last use) | |
[000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 (last use) | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Starting PHASE Forward Substitution | |
===> BB01 | |
[000004]: no next stmt use | |
[000011]: next stmt has non-last use | |
[000021]: no next stmt use | |
[000025]: mismatched types (store) | |
[000034]: no next stmt use | |
[000062]: [000063] is last use of [000062] (V12) -- fwd subbing [000061]; new next stmt is | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000061] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 (last use) | |
removing useless STMT00011 ( INL02 @ 0x016[E-] ... ??? ) <- INLRT @ 0x093[E-] | |
[000062] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V12 tmp2 | |
[000061] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 (last use) | |
from BB01 | |
[000034]: no next stmt use | |
[000040]: next stmt has non-last use | |
*************** Finishing PHASE Forward Substitution | |
Trees after Forward Substitution | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
[000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
[000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 (last use) | |
[000006] ----------- | \--* CNS_INT int 4 | |
[000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
[000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 (last use) | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
[000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] ----------- \--* CNS_INT int 0 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
[000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 (last use) | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
[000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 (last use) | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c--------- +--* FIELD_LIST struct | |
[000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] (last use) | |
[000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 (last use) | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000061] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 (last use) | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
[000046] ----------- * RETURN simd16 | |
[000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 (last use) | |
[000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 (last use) | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Starting PHASE Physical promotion | |
*************** Finishing PHASE Physical promotion [no changes] | |
*************** Starting PHASE Morph - ByRefs | |
*************** Finishing PHASE Morph - ByRefs [no changes] | |
*************** Starting PHASE Morph - Global | |
*************** In fgMorphBlocks() | |
Morphing BB01 of 'System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]' | |
fgMorphTree BB01, STMT00000 (before) | |
[000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
MorphCopyBlock: | |
PrepareDst for [000004] have found a local var V03. | |
block assignment to morph: | |
[000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000000] -----+----- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
src is not an L-value this requires a CopyBlock. | |
MorphCopyBlock (after): | |
[000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000000] -----+----- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
fgMorphTree BB01, STMT00001 (before) | |
[000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
[000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 (last use) | |
[000006] ----------- | \--* CNS_INT int 4 | |
[000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
MorphCopyBlock: | |
PrepareDst for [000011] have found a local var V04. | |
block assignment to morph: | |
[000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000007] -----+----- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 (last use) | |
[000006] -----+-N--- | \--* CNS_INT int 4 | |
[000009] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
src is not an L-value this requires a CopyBlock. | |
MorphCopyBlock (after): | |
[000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000007] -----+----- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 (last use) | |
[000006] -----+-N--- | \--* CNS_INT int 4 | |
[000009] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
fgMorphTree BB01, STMT00002 (before) | |
[000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 (last use) | |
MorphCopyBlock: | |
PrepareDst for [000021] have found a local var V07. | |
block assignment to morph: | |
[000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] -----+----- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] -----+----- +--* HWINTRINSIC simd16 ubyte And | |
[000015] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] -----+----- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 (last use) | |
src is not an L-value this requires a CopyBlock. | |
MorphCopyBlock (after): | |
[000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] -----+----- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] -----+----- +--* HWINTRINSIC simd16 ubyte And | |
[000015] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] -----+----- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 (last use) | |
fgMorphTree BB01, STMT00003 (before) | |
[000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] ----------- \--* CNS_INT int 0 | |
MorphInitBlock: | |
PrepareDst for [000025] have found a local var V11. | |
GenTreeNode creates assertion: | |
[000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
In BB01 New Local Constant Assertion: V11 == ZeroObj, index = #01 | |
MorphInitBlock (after): | |
[000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] -----+----- \--* CNS_INT int 0 | |
fgMorphTree BB01, STMT00009 (before) | |
[000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
[000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 (last use) | |
MorphCopyBlock: | |
The assignment [000049] using V11 removes: Constant Assertion: V11 == ZeroObj | |
PrepareDst for [000049] have found a local var V11. | |
block assignment to morph: | |
[000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
[000022] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 (last use) | |
this requires a CopyBlock. | |
Local V11 should not be enregistered because: was accessed as a local field | |
MorphCopyBlock (after): | |
[000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
[000022] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 (last use) | |
fgMorphTree BB01, STMT00010 (before) | |
[000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
[000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 (last use) | |
MorphCopyBlock: | |
PrepareDst for [000052] have found a local var V11. | |
block assignment to morph: | |
[000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
[000023] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 (last use) | |
this requires a CopyBlock. | |
Local V11 should not be enregistered because: was accessed as a local field | |
MorphCopyBlock (after): | |
[000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
[000023] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 (last use) | |
fgMorphTree BB01, STMT00005 (before) | |
[000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c--------- +--* FIELD_LIST struct | |
[000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] (last use) | |
[000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 (last use) | |
MorphCopyBlock: | |
PrepareDst for [000034] have found a local var V05. | |
block assignment to morph: | |
[000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c---+----- +--* FIELD_LIST struct | |
[000031] -----+----- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] -----+----- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] (last use) | |
[000029] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 (last use) | |
src is not an L-value this requires a CopyBlock. | |
MorphCopyBlock (after): | |
[000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c---+----- +--* FIELD_LIST struct | |
[000031] -----+----- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] -----+----- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] (last use) | |
[000029] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 (last use) | |
fgMorphTree BB01, STMT00007 (before) | |
[000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000061] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 (last use) | |
MorphCopyBlock: | |
PrepareDst for [000040] have found a local var V06. | |
block assignment to morph: | |
[000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000061] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] -----+----- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 (last use) | |
src is not an L-value this requires a CopyBlock. | |
MorphCopyBlock (after): | |
[000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000061] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] -----+----- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 (last use) | |
fgMorphTree BB01, STMT00008 (before) | |
[000046] ----------- * RETURN simd16 | |
[000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
[000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 (last use) | |
[000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 (last use) | |
*************** In fgMarkDemotedImplicitByRefArgs() | |
*************** Finishing PHASE Morph - Global | |
Trees after Morph - Global | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
[000004] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000000] -----+----- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
[000011] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000007] -----+----- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000006] -----+-N--- | \--* CNS_INT int 4 | |
[000009] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
[000021] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] -----+----- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] -----+----- +--* HWINTRINSIC simd16 ubyte And | |
[000015] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] -----+----- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
[000025] DA---+----- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] -----+----- \--* CNS_INT int 0 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] UA---+----- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
[000022] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] UA---+----- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
[000023] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c---+----- +--* FIELD_LIST struct | |
[000031] -----+----- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] -----+----- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
[000029] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000061] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] -----+----- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
[000046] -----+----- * RETURN simd16 | |
[000045] -----+----- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] -----+----- +--* HWINTRINSIC simd16 ubyte And | |
[000041] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000042] -----+----- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Starting PHASE GS Cookie | |
No GS security needed | |
*************** Finishing PHASE GS Cookie [no changes] | |
*************** Starting PHASE Compute edge weights (1, false) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
-- no profile data, so using default called count | |
-- not optimizing or no profile data, so not computing edge weights | |
*************** Finishing PHASE Compute edge weights (1, false) [no changes] | |
*************** 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 lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
=============== No blocks renumbered! | |
New BlockSet epoch 4, # of blocks (including unused BB00): 2, bitset array size: 1 (short) | |
*************** Finishing PHASE Invert loops | |
Trees after Invert loops | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
[000004] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000000] -----+----- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
[000011] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000007] -----+----- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000006] -----+-N--- | \--* CNS_INT int 4 | |
[000009] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
[000021] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] -----+----- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] -----+----- +--* HWINTRINSIC simd16 ubyte And | |
[000015] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] -----+----- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
[000025] DA---+----- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] -----+----- \--* CNS_INT int 0 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] UA---+----- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
[000022] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] UA---+----- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
[000023] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c---+----- +--* FIELD_LIST struct | |
[000031] -----+----- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] -----+----- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
[000029] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000061] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] -----+----- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
[000046] -----+----- * RETURN simd16 | |
[000045] -----+----- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] -----+----- +--* HWINTRINSIC simd16 ubyte And | |
[000041] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000042] -----+----- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Starting PHASE Optimize control flow | |
*************** In fgUpdateFlowGraph() | |
Before updating the flow graph: | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgUpdateFlowGraph() | |
Before updating the flow graph: | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** Finishing PHASE Optimize control flow | |
Trees after Optimize control flow | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
[000004] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000000] -----+----- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
[000011] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000007] -----+----- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000006] -----+-N--- | \--* CNS_INT int 4 | |
[000009] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
[000021] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] -----+----- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] -----+----- +--* HWINTRINSIC simd16 ubyte And | |
[000015] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] -----+----- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
[000025] DA---+----- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] -----+----- \--* CNS_INT int 0 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] UA---+----- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
[000022] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] UA---+----- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
[000023] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c---+----- +--* FIELD_LIST struct | |
[000031] -----+----- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] -----+----- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
[000029] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000061] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] -----+----- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
[000046] -----+----- * RETURN simd16 | |
[000045] -----+----- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] -----+----- +--* HWINTRINSIC simd16 ubyte And | |
[000041] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000042] -----+----- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Starting PHASE Post-morph tail merge | |
*************** Finishing PHASE Post-morph tail merge [no changes] | |
*************** Starting PHASE Compute blocks reachability | |
Return blocks: BB01 | |
Renumbering the basic blocks for fgComputeReachability pass #1 | |
*************** Before renumbering the basic blocks | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
=============== No blocks renumbered! | |
Enter blocks: BB01 | |
Dominator computation start blocks (those blocks with no incoming edges): | |
BB01 | |
After computing reachability sets: | |
------------------------------------------------ | |
BBnum Reachable by | |
------------------------------------------------ | |
BB01 : BB01 | |
*************** In fgComputeDoms | |
*************** In fgDebugCheckBBlist | |
------------------------------------------------ | |
BBnum Dominated by | |
------------------------------------------------ | |
BB01: BB01 | |
Inside fgBuildDomTree | |
After computing the Dominance Tree: | |
After numbering the dominator tree: | |
BB01: pre=01, post=01 | |
*************** Finishing PHASE Compute blocks reachability [no changes] | |
*************** Starting PHASE Set block weights | |
*************** Finishing PHASE Set block weights [no changes] | |
*************** Starting PHASE Find loops | |
*************** In optFindLoops() | |
*************** In optMarkLoopHeads() | |
0 loop heads marked | |
*************** Finishing PHASE Find loops | |
Trees after Find loops | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
[000004] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000000] -----+----- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
[000011] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000007] -----+----- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000006] -----+-N--- | \--* CNS_INT int 4 | |
[000009] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
[000021] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] -----+----- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] -----+----- +--* HWINTRINSIC simd16 ubyte And | |
[000015] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] -----+----- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
[000025] DA---+----- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] -----+----- \--* CNS_INT int 0 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] UA---+----- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
[000022] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] UA---+----- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
[000023] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c---+----- +--* FIELD_LIST struct | |
[000031] -----+----- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] -----+----- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
[000029] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000061] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] -----+----- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
[000046] -----+----- * RETURN simd16 | |
[000045] -----+----- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] -----+----- +--* HWINTRINSIC simd16 ubyte And | |
[000041] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000042] -----+----- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable | |
*************** Starting PHASE Clone loops | |
*************** In optCloneLoops() | |
No loops to clone | |
*************** Finishing PHASE Clone loops [no changes] | |
*************** Starting PHASE Unroll loops | |
*************** Finishing PHASE Unroll loops [no changes] | |
*************** Starting PHASE Clear loop info | |
*************** Finishing PHASE Clear loop info [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=1) | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
[000004] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
[000003] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000000] -----+----- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000002] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
New refCnts for V03: refCnt = 1, refCntWtd = 1 | |
New refCnts for V00: refCnt = 1, refCntWtd = 1 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
[000011] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000010] -----+----- \--* HWINTRINSIC simd16 ubyte And | |
[000007] -----+----- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
[000005] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
[000006] -----+-N--- | \--* CNS_INT int 4 | |
[000009] -----+----- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
New refCnts for V04: refCnt = 1, refCntWtd = 1 | |
New refCnts for V00: refCnt = 2, refCntWtd = 2 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
[000021] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
[000020] -----+----- \--* HWINTRINSIC simd16 ubyte Or | |
[000018] -----+----- +--* HWINTRINSIC simd16 ubyte And | |
[000015] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
[000017] -----+----- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
[000019] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
New refCnts for V07: refCnt = 1, refCntWtd = 1 | |
New refCnts for V04: refCnt = 2, refCntWtd = 2 | |
New refCnts for V03: refCnt = 2, refCntWtd = 2 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
[000025] DA---+----- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
[000024] -----+----- \--* CNS_INT int 0 | |
New refCnts for V11: refCnt = 1, refCntWtd = 2 | |
V11 needs explicit zero init. Disqualified as a single-def register candidate. | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
[000049] UA---+----- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
[000022] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
New refCnts for V11: refCnt = 2, refCntWtd = 4 | |
New refCnts for V01: refCnt = 1, refCntWtd = 1 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
[000052] UA---+----- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
[000023] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
New refCnts for V11: refCnt = 3, refCntWtd = 6 | |
New refCnts for V02: refCnt = 1, refCntWtd = 1 | |
STMT00005 ( 0x057[--] ... ??? ) | |
[000034] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000033] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000030] -c---+----- +--* FIELD_LIST struct | |
[000031] -----+----- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
[000032] -----+----- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
[000029] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
New refCnts for V05: refCnt = 1, refCntWtd = 1 | |
New refCnts for V11: refCnt = 4, refCntWtd = 8 | |
New refCnts for V11: refCnt = 5, refCntWtd = 10 | |
New refCnts for V07: refCnt = 2, refCntWtd = 2 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
[000040] DA---+----- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000061] -----+----- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
[000060] -----+----- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
[000037] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
New refCnts for V06: refCnt = 1, refCntWtd = 1 | |
New refCnts for V04: refCnt = 3, refCntWtd = 3 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
[000046] -----+----- * RETURN simd16 | |
[000045] -----+----- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
[000043] -----+----- +--* HWINTRINSIC simd16 ubyte And | |
[000041] -----+----- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
[000042] -----+----- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
[000044] -----+----- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
New refCnts for V05: refCnt = 2, refCntWtd = 2 | |
New refCnts for V06: refCnt = 2, refCntWtd = 2 | |
New refCnts for V06: refCnt = 3, refCntWtd = 3 | |
*** lvaComputeRefCounts -- implicit counts *** | |
New refCnts for V00: refCnt = 3, refCntWtd = 3 | |
New refCnts for V00: refCnt = 4, refCntWtd = 4 | |
New refCnts for V01: refCnt = 2, refCntWtd = 2 | |
New refCnts for V01: refCnt = 3, refCntWtd = 3 | |
New refCnts for V02: refCnt = 2, refCntWtd = 2 | |
New refCnts for V02: refCnt = 3, refCntWtd = 3 | |
*************** 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 lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
( 9, 7) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
( 5, 4) [000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
( 1, 1) [000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
( 3, 2) [000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
( 7, 7) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
( 7, 7) [000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
( 3, 4) [000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
( 1, 1) [000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
( 1, 2) [000006] -------N--- | \--* CNS_INT int 4 | |
( 3, 2) [000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
( 9, 7) [000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
( 5, 4) [000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
( 1, 1) [000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
( 3, 2) [000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
( 3, 2) [000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
( 11, 9) [000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
( 1, 2) [000024] ----------- \--* CNS_INT int 0 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
( 1, 1) [000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
( 1, 1) [000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
( 10, 11) [000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
( 6, 8) [000030] -c--------- +--* FIELD_LIST struct | |
( 3, 4) [000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
( 3, 4) [000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
( 3, 2) [000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
( 5, 4) [000061] --------R-- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
( 3, 2) [000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
( 1, 1) [000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
( 8, 7) [000046] ----------- * RETURN simd16 | |
( 7, 6) [000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
( 5, 4) [000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
( 3, 2) [000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
( 1, 1) [000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
( 1, 1) [000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable | |
*************** Starting PHASE Set block order | |
*************** In fgSetBlockOrder() | |
The biggest BB has 6 tree nodes | |
*************** Finishing PHASE Set block order | |
Trees after Set block order | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
N004 ( 9, 7) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
N003 ( 5, 4) [000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
N001 ( 1, 1) [000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
N002 ( 3, 2) [000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
N006 ( 7, 7) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
N005 ( 7, 7) [000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
N003 ( 3, 4) [000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
N001 ( 1, 1) [000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 | |
N002 ( 1, 2) [000006] -------N--- | \--* CNS_INT int 4 | |
N004 ( 3, 2) [000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
N006 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
N005 ( 9, 7) [000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
N003 ( 5, 4) [000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
N001 ( 1, 1) [000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
N002 ( 3, 2) [000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
N004 ( 3, 2) [000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
N002 ( 11, 9) [000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 | |
N001 ( 1, 2) [000024] ----------- \--* CNS_INT int 0 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
N002 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+0] | |
N001 ( 1, 1) [000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
N002 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 [+16] | |
N001 ( 1, 1) [000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
N006 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
N005 ( 10, 11) [000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
N003 ( 6, 8) [000030] -c--------- +--* FIELD_LIST struct | |
N001 ( 3, 4) [000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 [+0] | |
N002 ( 3, 4) [000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 [+16] | |
N004 ( 3, 2) [000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
N004 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
N003 ( 5, 4) [000061] --------R-- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
N002 ( 3, 2) [000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
N001 ( 1, 1) [000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
N006 ( 8, 7) [000046] ----------- * RETURN simd16 | |
N005 ( 7, 6) [000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
N003 ( 5, 4) [000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
N001 ( 3, 2) [000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 | |
N002 ( 1, 1) [000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
N004 ( 1, 1) [000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable | |
*************** Starting PHASE Build SSA representation | |
*************** In SsaBuilder::Build() | |
[SsaBuilder] Max block count is 2. | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
[SsaBuilder] Topologically sorted the graph. | |
[SsaBuilder::ComputeImmediateDom] | |
Inside fgBuildDomTree | |
After computing the Dominance Tree: | |
*************** In fgLocalVarLiveness() | |
In fgLocalVarLivenessInit | |
Local V10 should not be enregistered because: struct size does not match reg size | |
Local V11 should not be enregistered because: struct size does not match reg size | |
Tracked variable (9 out of 13) table: | |
V11 tmp1 [struct]: refCnt = 5, refCntWtd = 10 | |
V00 arg0 [simd16]: refCnt = 4, refCntWtd = 4 | |
V01 arg1 [simd16]: refCnt = 3, refCntWtd = 3 | |
V02 arg2 [simd16]: refCnt = 3, refCntWtd = 3 | |
V04 loc1 [simd16]: refCnt = 3, refCntWtd = 3 | |
V06 loc3 [simd16]: refCnt = 3, refCntWtd = 3 | |
V03 loc0 [simd16]: refCnt = 2, refCntWtd = 2 | |
V05 loc2 [simd16]: refCnt = 2, refCntWtd = 2 | |
V07 loc4 [simd16]: refCnt = 2, refCntWtd = 2 | |
*************** In fgPerBlockLocalVarLiveness() | |
BB01 USE(3)={ V00 V01 V02 } | |
DEF(6)={V11 V04 V06 V03 V05 V07} | |
** Memory liveness computed, GcHeap states and ByrefExposed states match | |
*************** In fgInterBlockLocalVarLiveness() | |
BB liveness after fgLiveVarAnalysis(): | |
BB01 IN (3)={V00 V01 V02} | |
OUT(0)={ } | |
*************** In optRemoveRedundantZeroInits() | |
Marking V03 as having an explicit init | |
Marking V04 as having an explicit init | |
Marking V07 as having an explicit init | |
Marking V11 as having an explicit init | |
Marking V05 as having an explicit init | |
Marking V06 as having an explicit init | |
*************** In SsaBuilder::InsertPhiFunctions() | |
Inserting phi functions: | |
*************** In SsaBuilder::RenameVariables() | |
V00.1: defined in BB00 2 uses (global) | |
V01.1: defined in BB00 1 uses (global) | |
V02.1: defined in BB00 1 uses (global) | |
V03.1: defined in BB00 0 uses (local) | |
V03.2: defined in BB01 1 uses (local) | |
V04.1: defined in BB00 0 uses (local) | |
V04.2: defined in BB01 2 uses (local) | |
V05.1: defined in BB00 0 uses (local) | |
V05.2: defined in BB01 1 uses (local) | |
V06.1: defined in BB00 0 uses (local) | |
V06.2: defined in BB01 2 uses (local) | |
V07.1: defined in BB00 0 uses (local) | |
V07.2: defined in BB01 1 uses (local) | |
V11.1: defined in BB00 0 uses (local) | |
V11.2: defined in BB01 1 uses (local) | |
V11.3: defined in BB01 1 uses (local) | |
V11.4: defined in BB01 2 uses (local) | |
*************** Finishing PHASE Build SSA representation | |
Trees after Build SSA representation | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
N004 ( 9, 7) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 | |
N003 ( 5, 4) [000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
N001 ( 1, 1) [000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 | |
N002 ( 3, 2) [000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
N006 ( 7, 7) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 | |
N005 ( 7, 7) [000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
N003 ( 3, 4) [000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
N001 ( 1, 1) [000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 (last use) | |
N002 ( 1, 2) [000006] -------N--- | \--* CNS_INT int 4 | |
N004 ( 3, 2) [000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
N006 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 | |
N005 ( 9, 7) [000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
N003 ( 5, 4) [000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
N001 ( 1, 1) [000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 | |
N002 ( 3, 2) [000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
N004 ( 3, 2) [000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 (last use) | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
N002 ( 11, 9) [000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 d:2 | |
N001 ( 1, 2) [000024] ----------- \--* CNS_INT int 0 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
N002 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] | |
N001 ( 1, 1) [000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 (last use) | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
N002 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] | |
N001 ( 1, 1) [000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 (last use) | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
N006 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 | |
N005 ( 10, 11) [000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
N003 ( 6, 8) [000030] -c--------- +--* FIELD_LIST struct | |
N001 ( 3, 4) [000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 u:4[+0] | |
N002 ( 3, 4) [000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 u:4[+16] (last use) | |
N004 ( 3, 2) [000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 (last use) | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
N004 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 | |
N003 ( 5, 4) [000061] --------R-- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
N002 ( 3, 2) [000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
N001 ( 1, 1) [000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 (last use) | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
N006 ( 8, 7) [000046] ----------- * RETURN simd16 | |
N005 ( 7, 6) [000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
N003 ( 5, 4) [000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
N001 ( 3, 2) [000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 (last use) | |
N002 ( 1, 1) [000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 | |
N004 ( 1, 1) [000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 (last use) | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
[info] HasGlobalUse overestimated for V00.1 | |
[info] HasGlobalUse overestimated for V01.1 | |
[info] HasGlobalUse overestimated for V02.1 | |
SSA checks completed successfully | |
*************** In fgDebugCheckLoopTable | |
*************** 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() | |
Memory Initial Value in BB01 is: $100 | |
The SSA definition for ByrefExposed (#1) at start of BB01 is $100 {InitVal($49)} | |
The SSA definition for GcHeap (#1) at start of BB01 is $100 {InitVal($49)} | |
***** BB01, STMT00000(before) | |
N004 ( 9, 7) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 | |
N003 ( 5, 4) [000003] ----------- \--* HWINTRINSIC simd16 ubyte And | |
N001 ( 1, 1) [000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 | |
N002 ( 3, 2) [000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
N001 [000000] LCL_VAR V00 arg0 u:1 => $80 {InitVal($40)} | |
N002 [000002] CNS_VEC <0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> => $140 {Simd16Cns[0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f]} | |
simdTypeVN is $180 {SimdType(simd16, ubyte)} | |
N003 [000003] HWINTRINSIC => $1c0 {HWI_AdvSimd_And($80, $140, $180)} | |
Tree [000004] assigned VN to local var V03/2: $1c0 {HWI_AdvSimd_And($80, $140, $180)} | |
N004 [000004] STORE_LCL_VAR V03 loc0 d:2 => $VN.Void | |
***** BB01, STMT00000(after) | |
N004 ( 9, 7) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 $VN.Void | |
N003 ( 5, 4) [000003] ----------- \--* HWINTRINSIC simd16 ubyte And $1c0 | |
N001 ( 1, 1) [000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 $80 | |
N002 ( 3, 2) [000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
--------- | |
***** BB01, STMT00001(before) | |
N006 ( 7, 7) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 | |
N005 ( 7, 7) [000010] ----------- \--* HWINTRINSIC simd16 ubyte And | |
N003 ( 3, 4) [000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical | |
N001 ( 1, 1) [000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 (last use) | |
N002 ( 1, 2) [000006] -------N--- | \--* CNS_INT int 4 | |
N004 ( 3, 2) [000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
N001 [000005] LCL_VAR V00 arg0 u:1 (last use) => $80 {InitVal($40)} | |
N002 [000006] CNS_INT 4 => $44 {IntCns 4} | |
simdTypeVN is $181 {SimdType(simd16, int)} | |
N003 [000007] HWINTRINSIC => $1c1 {HWI_AdvSimd_ShiftRightLogical($80, $44, $181)} | |
N004 [000009] CNS_VEC <0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> => $140 {Simd16Cns[0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f]} | |
simdTypeVN is $180 {SimdType(simd16, ubyte)} | |
N005 [000010] HWINTRINSIC => $1c2 {HWI_AdvSimd_And($1c1, $140, $180)} | |
Tree [000011] assigned VN to local var V04/2: $1c2 {HWI_AdvSimd_And($1c1, $140, $180)} | |
N006 [000011] STORE_LCL_VAR V04 loc1 d:2 => $VN.Void | |
***** BB01, STMT00001(after) | |
N006 ( 7, 7) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 $VN.Void | |
N005 ( 7, 7) [000010] ----------- \--* HWINTRINSIC simd16 ubyte And $1c2 | |
N003 ( 3, 4) [000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical $1c1 | |
N001 ( 1, 1) [000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 (last use) $80 | |
N002 ( 1, 2) [000006] -------N--- | \--* CNS_INT int 4 $44 | |
N004 ( 3, 2) [000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
--------- | |
***** BB01, STMT00002(before) | |
N006 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 | |
N005 ( 9, 7) [000020] ----------- \--* HWINTRINSIC simd16 ubyte Or | |
N003 ( 5, 4) [000018] ----------- +--* HWINTRINSIC simd16 ubyte And | |
N001 ( 1, 1) [000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 | |
N002 ( 3, 2) [000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
N004 ( 3, 2) [000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 (last use) | |
N001 [000015] LCL_VAR V04 loc1 u:2 => $1c2 {HWI_AdvSimd_And($1c1, $140, $180)} | |
N002 [000017] CNS_VEC <0x08080808, 0x08080808, 0x08080808, 0x08080808> => $143 {Simd16Cns[0x08080808, 0x08080808, 0x08080808, 0x08080808]} | |
simdTypeVN is $180 {SimdType(simd16, ubyte)} | |
N003 [000018] HWINTRINSIC => $1c3 {HWI_AdvSimd_And($1c2, $143, $180)} | |
N004 [000019] LCL_VAR V03 loc0 u:2 (last use) => $1c0 {HWI_AdvSimd_And($80, $140, $180)} | |
simdTypeVN is $180 {SimdType(simd16, ubyte)} | |
N005 [000020] HWINTRINSIC => $1c4 {HWI_AdvSimd_Or($1c3, $1c0, $180)} | |
Tree [000021] assigned VN to local var V07/2: $1c4 {HWI_AdvSimd_Or($1c3, $1c0, $180)} | |
N006 [000021] STORE_LCL_VAR V07 loc4 d:2 => $VN.Void | |
***** BB01, STMT00002(after) | |
N006 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 $VN.Void | |
N005 ( 9, 7) [000020] ----------- \--* HWINTRINSIC simd16 ubyte Or $1c4 | |
N003 ( 5, 4) [000018] ----------- +--* HWINTRINSIC simd16 ubyte And $1c3 | |
N001 ( 1, 1) [000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 $1c2 | |
N002 ( 3, 2) [000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> $143 | |
N004 ( 3, 2) [000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 (last use) $1c0 | |
--------- | |
***** BB01, STMT00003(before) | |
N002 ( 11, 9) [000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 d:2 | |
N001 ( 1, 2) [000024] ----------- \--* CNS_INT int 0 | |
N001 [000024] CNS_INT 0 => $40 {IntCns 0} | |
Tree [000025] assigned VN to local var V11/2: $c1 {ZeroObj($200: System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]])} | |
N002 [000025] STORE_LCL_VAR V11 tmp1 d:2 => $VN.Void | |
***** BB01, STMT00003(after) | |
N002 ( 11, 9) [000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 d:2 $VN.Void | |
N001 ( 1, 2) [000024] ----------- \--* CNS_INT int 0 $40 | |
--------- | |
***** BB01, STMT00009(before) | |
N002 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] | |
N001 ( 1, 1) [000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 (last use) | |
N001 [000022] LCL_VAR V01 arg1 u:1 (last use) => $81 {InitVal($41)} | |
VNForStore: | |
VNForMapPhysicalStore:struct returns $240 {$c1[0:15] := $81]} | |
Tree [000049] assigned VN to local var V11/3: $240 {$c1[0:15] := $81]} | |
N002 [000049] STORE_LCL_FLD V11 tmp1 ud:2->3[+0] => $VN.Void | |
***** BB01, STMT00009(after) | |
N002 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] $VN.Void | |
N001 ( 1, 1) [000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 (last use) $81 | |
--------- | |
***** BB01, STMT00010(before) | |
N002 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] | |
N001 ( 1, 1) [000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 (last use) | |
N001 [000023] LCL_VAR V02 arg2 u:1 (last use) => $82 {InitVal($42)} | |
VNForStore: | |
VNForMapPhysicalStore:struct returns $241 {$240[16:31] := $82]} | |
Tree [000052] assigned VN to local var V11/4: $241 {$240[16:31] := $82]} | |
N002 [000052] STORE_LCL_FLD V11 tmp1 ud:3->4[+16] => $VN.Void | |
***** BB01, STMT00010(after) | |
N002 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] $VN.Void | |
N001 ( 1, 1) [000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 (last use) $82 | |
--------- | |
***** BB01, STMT00005(before) | |
N006 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 | |
N005 ( 10, 11) [000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
N003 ( 6, 8) [000030] -c--------- +--* FIELD_LIST struct | |
N001 ( 3, 4) [000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 u:4[+0] | |
N002 ( 3, 4) [000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 u:4[+16] (last use) | |
N004 ( 3, 2) [000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 (last use) | |
VNForLoad: | |
select($241 {$240[16:31] := $82]}, [0:15]) ==> disjoint, remaining budget is 99 | |
select($240 {$c1[0:15] := $81]}, [0:15]) ==> $81 | |
VNForMapPhysicalSelect($241, [0:15]):simd16 returns $81 {InitVal($41)} | |
VNForLoad: | |
select($241 {$240[16:31] := $82]}, [0:15]) ==> disjoint, remaining budget is 99 | |
select($240 {$c1[0:15] := $81]}, [0:15]) ==> $81 | |
VNForMapPhysicalSelect($241, [0:15]):simd16 returns $81 {InitVal($41)} | |
N001 [000031] LCL_FLD V11 tmp1 u:4[+0] => $81 {InitVal($41)} | |
VNForLoad: | |
select($241 {$240[16:31] := $82]}, [16:31]) ==> $82 | |
VNForMapPhysicalSelect($241, [16:31]):simd16 returns $82 {InitVal($42)} | |
VNForLoad: | |
select($241 {$240[16:31] := $82]}, [16:31]) ==> $82 | |
VNForMapPhysicalSelect($241, [16:31]):simd16 returns $82 {InitVal($42)} | |
N002 [000032] LCL_FLD V11 tmp1 u:4[+16] (last use) => $82 {InitVal($42)} | |
N003 [000030] FIELD_LIST => $c2 {MemOpaque:NotInLoop} | |
N004 [000029] LCL_VAR V07 loc4 u:2 (last use) => $1c4 {HWI_AdvSimd_Or($1c3, $1c0, $180)} | |
simdTypeVN is $180 {SimdType(simd16, ubyte)} | |
N005 [000033] HWINTRINSIC => $1c5 {HWI_AdvSimd_Arm64_VectorTableLookup($c2, $1c4, $180)} | |
Tree [000034] assigned VN to local var V05/2: $1c5 {HWI_AdvSimd_Arm64_VectorTableLookup($c2, $1c4, $180)} | |
N006 [000034] STORE_LCL_VAR V05 loc2 d:2 => $VN.Void | |
***** BB01, STMT00005(after) | |
N006 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 $VN.Void | |
N005 ( 10, 11) [000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup $1c5 | |
N003 ( 6, 8) [000030] -c--------- +--* FIELD_LIST struct $c2 | |
N001 ( 3, 4) [000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 u:4[+0] $81 | |
N002 ( 3, 4) [000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 u:4[+16] (last use) $82 | |
N004 ( 3, 2) [000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 (last use) $1c4 | |
--------- | |
***** BB01, STMT00007(before) | |
N004 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 | |
N003 ( 5, 4) [000061] --------R-- \--* HWINTRINSIC simd16 ubyte VectorTableLookup | |
N002 ( 3, 2) [000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
N001 ( 1, 1) [000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 (last use) | |
N001 [000037] LCL_VAR V04 loc1 u:2 (last use) => $1c2 {HWI_AdvSimd_And($1c1, $140, $180)} | |
N002 [000060] CNS_VEC <0x08040201, 0x80402010, 0x08040201, 0x80402010> => $144 {Simd16Cns[0x08040201, 0x80402010, 0x08040201, 0x80402010]} | |
simdTypeVN is $180 {SimdType(simd16, ubyte)} | |
N003 [000061] HWINTRINSIC => $1c6 {HWI_AdvSimd_Arm64_VectorTableLookup($144, $1c2, $180)} | |
Tree [000040] assigned VN to local var V06/2: $1c6 {HWI_AdvSimd_Arm64_VectorTableLookup($144, $1c2, $180)} | |
N004 [000040] STORE_LCL_VAR V06 loc3 d:2 => $VN.Void | |
***** BB01, STMT00007(after) | |
N004 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 $VN.Void | |
N003 ( 5, 4) [000061] --------R-- \--* HWINTRINSIC simd16 ubyte VectorTableLookup $1c6 | |
N002 ( 3, 2) [000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> $144 | |
N001 ( 1, 1) [000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 (last use) $1c2 | |
--------- | |
***** BB01, STMT00008(before) | |
N006 ( 8, 7) [000046] ----------- * RETURN simd16 | |
N005 ( 7, 6) [000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual | |
N003 ( 5, 4) [000043] ----------- +--* HWINTRINSIC simd16 ubyte And | |
N001 ( 3, 2) [000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 (last use) | |
N002 ( 1, 1) [000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 | |
N004 ( 1, 1) [000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 (last use) | |
N001 [000041] LCL_VAR V05 loc2 u:2 (last use) => $1c5 {HWI_AdvSimd_Arm64_VectorTableLookup($c2, $1c4, $180)} | |
N002 [000042] LCL_VAR V06 loc3 u:2 => $1c6 {HWI_AdvSimd_Arm64_VectorTableLookup($144, $1c2, $180)} | |
simdTypeVN is $180 {SimdType(simd16, ubyte)} | |
N003 [000043] HWINTRINSIC => $1c7 {HWI_AdvSimd_And($1c5, $1c6, $180)} | |
N004 [000044] LCL_VAR V06 loc3 u:2 (last use) => $1c6 {HWI_AdvSimd_Arm64_VectorTableLookup($144, $1c2, $180)} | |
simdTypeVN is $180 {SimdType(simd16, ubyte)} | |
N005 [000045] HWINTRINSIC => $1c8 {HWI_AdvSimd_CompareEqual($1c7, $1c6, $180)} | |
N006 [000046] RETURN => $VN.Void | |
***** BB01, STMT00008(after) | |
N006 ( 8, 7) [000046] ----------- * RETURN simd16 $VN.Void | |
N005 ( 7, 6) [000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual $1c8 | |
N003 ( 5, 4) [000043] ----------- +--* HWINTRINSIC simd16 ubyte And $1c7 | |
N001 ( 3, 2) [000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 (last use) $1c5 | |
N002 ( 1, 1) [000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 $1c6 | |
N004 ( 1, 1) [000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 (last use) $1c6 | |
finish(BB01). | |
*************** Finishing PHASE Do value numbering | |
Trees after Do value numbering | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
N004 ( 9, 7) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 $VN.Void | |
N003 ( 5, 4) [000003] ----------- \--* HWINTRINSIC simd16 ubyte And $1c0 | |
N001 ( 1, 1) [000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 $80 | |
N002 ( 3, 2) [000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
N006 ( 7, 7) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 $VN.Void | |
N005 ( 7, 7) [000010] ----------- \--* HWINTRINSIC simd16 ubyte And $1c2 | |
N003 ( 3, 4) [000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical $1c1 | |
N001 ( 1, 1) [000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 (last use) $80 | |
N002 ( 1, 2) [000006] -------N--- | \--* CNS_INT int 4 $44 | |
N004 ( 3, 2) [000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
N006 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 $VN.Void | |
N005 ( 9, 7) [000020] ----------- \--* HWINTRINSIC simd16 ubyte Or $1c4 | |
N003 ( 5, 4) [000018] ----------- +--* HWINTRINSIC simd16 ubyte And $1c3 | |
N001 ( 1, 1) [000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 $1c2 | |
N002 ( 3, 2) [000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> $143 | |
N004 ( 3, 2) [000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 (last use) $1c0 | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
N002 ( 11, 9) [000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 d:2 $VN.Void | |
N001 ( 1, 2) [000024] ----------- \--* CNS_INT int 0 $40 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
N002 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] $VN.Void | |
N001 ( 1, 1) [000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 (last use) $81 | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
N002 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] $VN.Void | |
N001 ( 1, 1) [000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 (last use) $82 | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
N006 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 $VN.Void | |
N005 ( 10, 11) [000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup $1c5 | |
N003 ( 6, 8) [000030] -c--------- +--* FIELD_LIST struct $c2 | |
N001 ( 3, 4) [000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 u:4[+0] $81 | |
N002 ( 3, 4) [000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 u:4[+16] (last use) $82 | |
N004 ( 3, 2) [000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 (last use) $1c4 | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
N004 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 $VN.Void | |
N003 ( 5, 4) [000061] --------R-- \--* HWINTRINSIC simd16 ubyte VectorTableLookup $1c6 | |
N002 ( 3, 2) [000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> $144 | |
N001 ( 1, 1) [000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 (last use) $1c2 | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
N006 ( 8, 7) [000046] ----------- * RETURN simd16 $VN.Void | |
N005 ( 7, 6) [000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual $1c8 | |
N003 ( 5, 4) [000043] ----------- +--* HWINTRINSIC simd16 ubyte And $1c7 | |
N001 ( 3, 2) [000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 (last use) $1c5 | |
N002 ( 1, 1) [000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 $1c6 | |
N004 ( 1, 1) [000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 (last use) $1c6 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
[info] HasGlobalUse overestimated for V00.1 | |
[info] HasGlobalUse overestimated for V01.1 | |
[info] HasGlobalUse overestimated for V02.1 | |
SSA checks completed successfully | |
*************** In fgDebugCheckLoopTable | |
*************** Starting PHASE Hoist loop code | |
No loops; no hoisting | |
*************** Finishing PHASE Hoist loop code [no changes] | |
*************** Starting PHASE VN based copy prop | |
Copy Assertion for BB01 | |
curSsaName stack: { } | |
Live vars after [000004]: {V00 V01 V02} => {V00 V01 V02 V03} | |
Live vars after [000005]: {V00 V01 V02 V03} => {V01 V02 V03} | |
Live vars after [000011]: {V01 V02 V03} => {V01 V02 V03 V04} | |
Live vars after [000019]: {V01 V02 V03 V04} => {V01 V02 V04} | |
Live vars after [000021]: {V01 V02 V04} => {V01 V02 V04 V07} | |
Live vars after [000025]: {V01 V02 V04 V07} => {V01 V02 V04 V07 V11} | |
Live vars after [000022]: {V01 V02 V04 V07 V11} => {V02 V04 V07 V11} | |
Live vars after [000023]: {V02 V04 V07 V11} => {V04 V07 V11} | |
Live vars after [000032]: {V04 V07 V11} => {V04 V07} | |
Live vars after [000029]: {V04 V07} => {V04} | |
Live vars after [000034]: {V04} => {V04 V05} | |
Live vars after [000037]: {V04 V05} => {V05} | |
Live vars after [000040]: {V05} => {V05 V06} | |
Live vars after [000041]: {V05 V06} => {V06} | |
Live vars after [000044]: {V06} => {} | |
*************** Finishing PHASE VN based copy prop [no changes] | |
*************** Starting PHASE Redundant branch opts | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Finishing PHASE Redundant branch opts [no changes] | |
*************** Starting PHASE Optimize Valnum CSEs | |
Candidate CSE #01, key=$140 in BB01, [cost= 3, size= 2]: | |
N004 ( 3, 2) CSE #01 (use)[000009] ----------- * CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
Blocks that generate CSE def/uses | |
BB01 cseGen = 0000000000000003 CSE #01.c | |
[info] HasGlobalUse overestimated for V00.1 | |
[info] HasGlobalUse overestimated for V01.1 | |
[info] HasGlobalUse overestimated for V02.1 | |
SSA checks completed successfully | |
Performing DataFlow for ValnumCSE's | |
After performing DataFlow for ValnumCSE's | |
BB01 | |
in: 0000000000000000 | |
gen: 0000000000000003 CSE #01.c | |
out: 0000000000000003 CSE #01.c | |
Labeling the CSEs with Use/Def information | |
BB01 [000002] Def of CSE #01 [weight=1] | |
BB01 [000009] Use of CSE #01 [weight=1] | |
************ Trees at start of optValnumCSE_Heuristic() | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
N004 ( 9, 7) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 $VN.Void | |
N003 ( 5, 4) [000003] ----------- \--* HWINTRINSIC simd16 ubyte And $1c0 | |
N001 ( 1, 1) [000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 $80 | |
N002 ( 3, 2) CSE #01 (def)[000002] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
N006 ( 7, 7) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 $VN.Void | |
N005 ( 7, 7) [000010] ----------- \--* HWINTRINSIC simd16 ubyte And $1c2 | |
N003 ( 3, 4) [000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical $1c1 | |
N001 ( 1, 1) [000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 (last use) $80 | |
N002 ( 1, 2) [000006] -------N--- | \--* CNS_INT int 4 $44 | |
N004 ( 3, 2) CSE #01 (use)[000009] ----------- \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
N006 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 $VN.Void | |
N005 ( 9, 7) [000020] ----------- \--* HWINTRINSIC simd16 ubyte Or $1c4 | |
N003 ( 5, 4) [000018] ----------- +--* HWINTRINSIC simd16 ubyte And $1c3 | |
N001 ( 1, 1) [000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 $1c2 | |
N002 ( 3, 2) [000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> $143 | |
N004 ( 3, 2) [000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 (last use) $1c0 | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
N002 ( 11, 9) [000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 d:2 $VN.Void | |
N001 ( 1, 2) [000024] ----------- \--* CNS_INT int 0 $40 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
N002 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] $VN.Void | |
N001 ( 1, 1) [000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 (last use) $81 | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
N002 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] $VN.Void | |
N001 ( 1, 1) [000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 (last use) $82 | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
N006 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 $VN.Void | |
N005 ( 10, 11) [000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup $1c5 | |
N003 ( 6, 8) [000030] -c--------- +--* FIELD_LIST struct $c2 | |
N001 ( 3, 4) [000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 u:4[+0] $81 | |
N002 ( 3, 4) [000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 u:4[+16] (last use) $82 | |
N004 ( 3, 2) [000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 (last use) $1c4 | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
N004 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 $VN.Void | |
N003 ( 5, 4) [000061] --------R-- \--* HWINTRINSIC simd16 ubyte VectorTableLookup $1c6 | |
N002 ( 3, 2) [000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> $144 | |
N001 ( 1, 1) [000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 (last use) $1c2 | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
N006 ( 8, 7) [000046] ----------- * RETURN simd16 $VN.Void | |
N005 ( 7, 6) [000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual $1c8 | |
N003 ( 5, 4) [000043] ----------- +--* HWINTRINSIC simd16 ubyte And $1c7 | |
N001 ( 3, 2) [000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 (last use) $1c5 | |
N002 ( 1, 1) [000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 $1c6 | |
N004 ( 1, 1) [000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 (last use) $1c6 | |
------------------------------------------------------------------------------------------------------------------- | |
Aggressive CSE Promotion cutoff is 200.000000 | |
Moderate CSE Promotion cutoff is 100.000000 | |
enregCount is 8 | |
Framesize estimate is 0x0020 | |
We have a small frame | |
Sorted CSE candidates: | |
CSE #01, {$140, $2 } useCnt=1: [def=100.000000, use=100.000000, cost= 3 ] | |
:: N002 ( 3, 2) CSE #01 (def)[000002] ----------- * CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
Considering CSE #01 {$140, $2 } [def=100.000000, use=100.000000, cost= 3 ] | |
CSE Expression : | |
N002 ( 3, 2) CSE #01 (def)[000002] ----------- * CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
Aggressive CSE Promotion (300.000000 >= 200.000000) | |
cseRefCnt=300.000000, aggressiveRefCnt=200.000000, moderateRefCnt=100.000000 | |
defCnt=100.000000, useCnt=100.000000, cost=3, size=2 | |
def_cost=1, use_cost=1, extra_no_cost=2, extra_yes_cost=0 | |
CSE cost savings check (302.000000 >= 200.000000) passes | |
Promoting CSE: | |
lvaGrabTemp returning 13 (V13 rat0) (a long lifetime temp) called for CSE - aggressive. | |
CSE #01 is single-def, so associated CSE temp V13 will be in SSA | |
New refCnts for V13: refCnt = 2, refCntWtd = 2 | |
New refCnts for V13: refCnt = 3, refCntWtd = 3 | |
CSE #01 def at [000002] replaced in BB01 with def of V13 | |
optValnumCSE morphed tree: | |
N007 ( 10, 9) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 $VN.Void | |
N006 ( 6, 6) [000003] -A--------- \--* HWINTRINSIC simd16 ubyte And $1c0 | |
N001 ( 1, 1) [000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 $80 | |
N005 ( 4, 4) [000067] -A--------- \--* COMMA simd16 $140 | |
N003 ( 3, 3) CSE #01 (def)[000065] DA--------- +--* STORE_LCL_VAR simd16 V13 cse0 d:1 $VN.Void | |
N002 ( 3, 2) [000002] ----------- | \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
N004 ( 1, 1) [000066] ----------- \--* LCL_VAR simd16 V13 cse0 u:1 $140 | |
Working on the replacement of the CSE #01 use at [000009] in BB01 | |
optValnumCSE morphed tree: | |
N006 ( 5, 6) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 $VN.Void | |
N005 ( 5, 6) [000010] ----------- \--* HWINTRINSIC simd16 ubyte And $1c2 | |
N003 ( 3, 4) [000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical $1c1 | |
N001 ( 1, 1) [000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 (last use) $80 | |
N002 ( 1, 2) [000006] -------N--- | \--* CNS_INT int 4 $44 | |
N004 ( 1, 1) [000068] ----------- \--* LCL_VAR simd16 V13 cse0 u:1 $140 | |
*************** Finishing PHASE Optimize Valnum CSEs | |
Trees after Optimize Valnum CSEs | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
N007 ( 10, 9) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 $VN.Void | |
N006 ( 6, 6) [000003] -A--------- \--* HWINTRINSIC simd16 ubyte And $1c0 | |
N001 ( 1, 1) [000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 $80 | |
N005 ( 4, 4) [000067] -A--------- \--* COMMA simd16 $140 | |
N003 ( 3, 3) [000065] DA--------- +--* STORE_LCL_VAR simd16 V13 cse0 d:1 $VN.Void | |
N002 ( 3, 2) [000002] ----------- | \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
N004 ( 1, 1) [000066] ----------- \--* LCL_VAR simd16 V13 cse0 u:1 $140 | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
N006 ( 5, 6) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 $VN.Void | |
N005 ( 5, 6) [000010] ----------- \--* HWINTRINSIC simd16 ubyte And $1c2 | |
N003 ( 3, 4) [000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical $1c1 | |
N001 ( 1, 1) [000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 (last use) $80 | |
N002 ( 1, 2) [000006] -------N--- | \--* CNS_INT int 4 $44 | |
N004 ( 1, 1) [000068] ----------- \--* LCL_VAR simd16 V13 cse0 u:1 $140 | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
N006 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 $VN.Void | |
N005 ( 9, 7) [000020] ----------- \--* HWINTRINSIC simd16 ubyte Or $1c4 | |
N003 ( 5, 4) [000018] ----------- +--* HWINTRINSIC simd16 ubyte And $1c3 | |
N001 ( 1, 1) [000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 $1c2 | |
N002 ( 3, 2) [000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> $143 | |
N004 ( 3, 2) [000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 (last use) $1c0 | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
N002 ( 11, 9) [000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 d:2 $VN.Void | |
N001 ( 1, 2) [000024] ----------- \--* CNS_INT int 0 $40 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
N002 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] $VN.Void | |
N001 ( 1, 1) [000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 (last use) $81 | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
N002 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] $VN.Void | |
N001 ( 1, 1) [000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 (last use) $82 | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
N006 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 $VN.Void | |
N005 ( 10, 11) [000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup $1c5 | |
N003 ( 6, 8) [000030] -c--------- +--* FIELD_LIST struct $c2 | |
N001 ( 3, 4) [000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 u:4[+0] $81 | |
N002 ( 3, 4) [000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 u:4[+16] (last use) $82 | |
N004 ( 3, 2) [000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 (last use) $1c4 | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
N004 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 $VN.Void | |
N003 ( 5, 4) [000061] --------R-- \--* HWINTRINSIC simd16 ubyte VectorTableLookup $1c6 | |
N002 ( 3, 2) [000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> $144 | |
N001 ( 1, 1) [000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 (last use) $1c2 | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
N006 ( 8, 7) [000046] ----------- * RETURN simd16 $VN.Void | |
N005 ( 7, 6) [000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual $1c8 | |
N003 ( 5, 4) [000043] ----------- +--* HWINTRINSIC simd16 ubyte And $1c7 | |
N001 ( 3, 2) [000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 (last use) $1c5 | |
N002 ( 1, 1) [000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 $1c6 | |
N004 ( 1, 1) [000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 (last use) $1c6 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
[info] HasGlobalUse overestimated for V00.1 | |
[info] HasGlobalUse overestimated for V01.1 | |
[info] HasGlobalUse overestimated for V02.1 | |
SSA checks completed successfully | |
*************** In fgDebugCheckLoopTable | |
Disabling SSA checking before assertion prop | |
*************** Starting PHASE Assertion prop | |
*************** Finishing PHASE Assertion prop [no changes] | |
*************** Starting PHASE Optimize index checks | |
*************** Finishing PHASE Optimize index checks [no changes] | |
*************** Starting PHASE VN-based dead store removal | |
Considering [000004] for removal... | |
-- no; 'explicit init' | |
Considering [000011] for removal... | |
-- no; 'explicit init' | |
Considering [000034] for removal... | |
-- no; 'explicit init' | |
Considering [000040] for removal... | |
-- no; 'explicit init' | |
Considering [000021] for removal... | |
-- no; 'explicit init' | |
Considering [000025] for removal... | |
-- no; 'explicit init' | |
Considering [000049] for removal... | |
VNForLoad: | |
VNForMapPhysicalSelect($c1, [0:15]):simd16 returns $141 {Simd16Cns[0x00000000, 0x00000000, 0x00000000, 0x00000000]} | |
-- no; not redundant | |
Considering [000052] for removal... | |
VNForLoad: | |
select($240 {$c1[0:15] := $81]}, [16:31]) ==> disjoint, remaining budget is 99 | |
VNForMapPhysicalSelect($240, [16:31]):simd16 returns $141 {Simd16Cns[0x00000000, 0x00000000, 0x00000000, 0x00000000]} | |
-- no; not redundant | |
*************** Finishing PHASE VN-based dead store removal [no changes] | |
*************** Starting PHASE Stress gtSplitTree | |
*************** Finishing PHASE Stress gtSplitTree [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 Insert GC Polls | |
*************** Finishing PHASE Insert GC Polls [no changes] | |
*************** Starting PHASE Optimize bools | |
*************** In optOptimizeBools() | |
optimized 0 BBJ_COND cases, 0 BBJ_RETURN cases in 1 passes | |
*************** Finishing PHASE Optimize bools [no changes] | |
*************** 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 lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgUpdateFlowGraph() | |
Before updating the flow graph: | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** Finishing PHASE Optimize layout | |
Trees after Optimize layout | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
***** BB01 | |
STMT00000 ( 0x000[E-] ... 0x00D ) | |
N007 ( 10, 9) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 $VN.Void | |
N006 ( 6, 6) [000003] -A--------- \--* HWINTRINSIC simd16 ubyte And $1c0 | |
N001 ( 1, 1) [000000] ----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 $80 | |
N005 ( 4, 4) [000067] -A--------- \--* COMMA simd16 $140 | |
N003 ( 3, 3) [000065] DA--------- +--* STORE_LCL_VAR simd16 V13 cse0 d:1 $VN.Void | |
N002 ( 3, 2) [000002] ----------- | \--* CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
N004 ( 1, 1) [000066] ----------- \--* LCL_VAR simd16 V13 cse0 u:1 $140 | |
***** BB01 | |
STMT00001 ( 0x00E[E-] ... 0x02B ) | |
N006 ( 5, 6) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 $VN.Void | |
N005 ( 5, 6) [000010] ----------- \--* HWINTRINSIC simd16 ubyte And $1c2 | |
N003 ( 3, 4) [000007] ----------- +--* HWINTRINSIC simd16 int ShiftRightLogical $1c1 | |
N001 ( 1, 1) [000005] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 (last use) $80 | |
N002 ( 1, 2) [000006] -------N--- | \--* CNS_INT int 4 $44 | |
N004 ( 1, 1) [000068] ----------- \--* LCL_VAR simd16 V13 cse0 u:1 $140 | |
***** BB01 | |
STMT00002 ( 0x033[E-] ... 0x04E ) | |
N006 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 $VN.Void | |
N005 ( 9, 7) [000020] ----------- \--* HWINTRINSIC simd16 ubyte Or $1c4 | |
N003 ( 5, 4) [000018] ----------- +--* HWINTRINSIC simd16 ubyte And $1c3 | |
N001 ( 1, 1) [000015] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 $1c2 | |
N002 ( 3, 2) [000017] ----------- | \--* CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> $143 | |
N004 ( 3, 2) [000019] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 (last use) $1c0 | |
***** BB01 | |
STMT00003 ( 0x050[E-] ... 0x05E ) | |
N002 ( 11, 9) [000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 d:2 $VN.Void | |
N001 ( 1, 2) [000024] ----------- \--* CNS_INT int 0 $40 | |
***** BB01 | |
STMT00009 ( INL01 @ 0x000[E-] ... ??? ) <- INLRT @ ??? | |
N002 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] $VN.Void | |
N001 ( 1, 1) [000022] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 (last use) $81 | |
***** BB01 | |
STMT00010 ( INL01 @ 0x007[E-] ... ??? ) <- INLRT @ ??? | |
N002 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] $VN.Void | |
N001 ( 1, 1) [000023] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 (last use) $82 | |
***** BB01 | |
STMT00005 ( 0x057[--] ... ??? ) | |
N006 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 $VN.Void | |
N005 ( 10, 11) [000033] ----------- \--* HWINTRINSIC simd16 ubyte VectorTableLookup $1c5 | |
N003 ( 6, 8) [000030] -c--------- +--* FIELD_LIST struct $c2 | |
N001 ( 3, 4) [000031] ----------- ofs 0 | +--* LCL_FLD simd16 V11 tmp1 u:4[+0] $81 | |
N002 ( 3, 4) [000032] ----------- ofs 16 | \--* LCL_FLD simd16 V11 tmp1 u:4[+16] (last use) $82 | |
N004 ( 3, 2) [000029] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 (last use) $1c4 | |
***** BB01 | |
STMT00007 ( 0x093[E-] ... ??? ) | |
N004 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 $VN.Void | |
N003 ( 5, 4) [000061] --------R-- \--* HWINTRINSIC simd16 ubyte VectorTableLookup $1c6 | |
N002 ( 3, 2) [000060] ----------- +--* CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> $144 | |
N001 ( 1, 1) [000037] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 (last use) $1c2 | |
***** BB01 | |
STMT00008 ( 0x0AD[E-] ... 0x0BA ) | |
N006 ( 8, 7) [000046] ----------- * RETURN simd16 $VN.Void | |
N005 ( 7, 6) [000045] ----------- \--* HWINTRINSIC simd16 ubyte CompareEqual $1c8 | |
N003 ( 5, 4) [000043] ----------- +--* HWINTRINSIC simd16 ubyte And $1c7 | |
N001 ( 3, 2) [000041] ----------- | +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 (last use) $1c5 | |
N002 ( 1, 1) [000042] ----------- | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 $1c6 | |
N004 ( 1, 1) [000044] ----------- \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 (last use) $1c6 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** 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 lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC LIR | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
[000069] ----------- IL_OFFSET void INLRT @ 0x000[E-] | |
N001 ( 1, 1) [000000] ----------- t0 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 $80 | |
N002 ( 3, 2) [000002] ----------- t2 = CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
/--* t2 simd16 | |
N003 ( 3, 3) [000065] DA--------- * STORE_LCL_VAR simd16 V13 cse0 d:1 $VN.Void | |
N004 ( 1, 1) [000066] ----------- t66 = LCL_VAR simd16 V13 cse0 u:1 $140 | |
/--* t0 simd16 | |
+--* t66 simd16 | |
N006 ( 6, 6) [000003] ----------- t3 = * HWINTRINSIC simd16 ubyte And $1c0 | |
/--* t3 simd16 | |
N007 ( 10, 9) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 $VN.Void | |
[000070] ----------- IL_OFFSET void INLRT @ 0x00E[E-] | |
N001 ( 1, 1) [000005] ----------- t5 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 (last use) $80 | |
N002 ( 1, 2) [000006] -------N--- t6 = CNS_INT int 4 $44 | |
/--* t5 simd16 | |
+--* t6 int | |
N003 ( 3, 4) [000007] ----------- t7 = * HWINTRINSIC simd16 int ShiftRightLogical $1c1 | |
N004 ( 1, 1) [000068] ----------- t68 = LCL_VAR simd16 V13 cse0 u:1 $140 | |
/--* t7 simd16 | |
+--* t68 simd16 | |
N005 ( 5, 6) [000010] ----------- t10 = * HWINTRINSIC simd16 ubyte And $1c2 | |
/--* t10 simd16 | |
N006 ( 5, 6) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 $VN.Void | |
[000071] ----------- IL_OFFSET void INLRT @ 0x033[E-] | |
N001 ( 1, 1) [000015] ----------- t15 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 $1c2 | |
N002 ( 3, 2) [000017] ----------- t17 = CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> $143 | |
/--* t15 simd16 | |
+--* t17 simd16 | |
N003 ( 5, 4) [000018] ----------- t18 = * HWINTRINSIC simd16 ubyte And $1c3 | |
N004 ( 3, 2) [000019] ----------- t19 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 (last use) $1c0 | |
/--* t18 simd16 | |
+--* t19 simd16 | |
N005 ( 9, 7) [000020] ----------- t20 = * HWINTRINSIC simd16 ubyte Or $1c4 | |
/--* t20 simd16 | |
N006 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 $VN.Void | |
[000072] ----------- IL_OFFSET void INLRT @ 0x050[E-] | |
N001 ( 1, 2) [000024] ----------- t24 = CNS_INT int 0 $40 | |
/--* t24 int | |
N002 ( 11, 9) [000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 d:2 $VN.Void | |
[000073] ----------- IL_OFFSET void INL01 @ 0x000[E-] <- INLRT @ ??? | |
N001 ( 1, 1) [000022] ----------- t22 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 (last use) $81 | |
/--* t22 simd16 | |
N002 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] $VN.Void | |
[000074] ----------- IL_OFFSET void INL01 @ 0x007[E-] <- INLRT @ ??? | |
N001 ( 1, 1) [000023] ----------- t23 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 (last use) $82 | |
/--* t23 simd16 | |
N002 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] $VN.Void | |
[000075] ----------- IL_OFFSET void INLRT @ 0x057[--] | |
N001 ( 3, 4) [000031] ----------- t31 = LCL_FLD simd16 V11 tmp1 u:4[+0] $81 | |
N002 ( 3, 4) [000032] ----------- t32 = LCL_FLD simd16 V11 tmp1 u:4[+16] (last use) $82 | |
/--* t31 simd16 | |
+--* t32 simd16 | |
N003 ( 6, 8) [000030] -c--------- t30 = * FIELD_LIST struct $c2 | |
N004 ( 3, 2) [000029] ----------- t29 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 (last use) $1c4 | |
/--* t30 struct | |
+--* t29 simd16 | |
N005 ( 10, 11) [000033] ----------- t33 = * HWINTRINSIC simd16 ubyte VectorTableLookup $1c5 | |
/--* t33 simd16 | |
N006 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 $VN.Void | |
[000076] ----------- IL_OFFSET void INLRT @ 0x093[E-] | |
N001 ( 1, 1) [000037] ----------- t37 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 (last use) $1c2 | |
N002 ( 3, 2) [000060] ----------- t60 = CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> $144 | |
/--* t60 simd16 | |
+--* t37 simd16 | |
N003 ( 5, 4) [000061] ----------- t61 = * HWINTRINSIC simd16 ubyte VectorTableLookup $1c6 | |
/--* t61 simd16 | |
N004 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 $VN.Void | |
[000077] ----------- IL_OFFSET void INLRT @ 0x0AD[E-] | |
N001 ( 3, 2) [000041] ----------- t41 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 (last use) $1c5 | |
N002 ( 1, 1) [000042] ----------- t42 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 $1c6 | |
/--* t41 simd16 | |
+--* t42 simd16 | |
N003 ( 5, 4) [000043] ----------- t43 = * HWINTRINSIC simd16 ubyte And $1c7 | |
N004 ( 1, 1) [000044] ----------- t44 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 (last use) $1c6 | |
/--* t43 simd16 | |
+--* t44 simd16 | |
N005 ( 7, 6) [000045] ----------- t45 = * HWINTRINSIC simd16 ubyte CompareEqual $1c8 | |
/--* t45 simd16 | |
N006 ( 8, 7) [000046] ----------- * RETURN simd16 $VN.Void | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Starting PHASE Do 'simple' lowering | |
*************** Finishing PHASE Do 'simple' lowering [no changes] | |
*************** Starting PHASE Lowering nodeinfo | |
lowering store lcl var/field (before): | |
N002 ( 3, 2) [000002] ----------- t2 = CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
/--* t2 simd16 | |
N003 ( 3, 3) [000065] DA--------- * STORE_LCL_VAR simd16 V13 cse0 d:1 $VN.Void | |
lowering store lcl var/field (after): | |
N002 ( 3, 2) [000002] ----------- t2 = CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
/--* t2 simd16 | |
N003 ( 3, 3) [000065] DA--------- * STORE_LCL_VAR simd16 V13 cse0 d:1 $VN.Void | |
lowering store lcl var/field (before): | |
N001 ( 1, 1) [000000] ----------- t0 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 $80 | |
N002 ( 3, 2) [000002] ----------- t2 = CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
/--* t2 simd16 | |
N003 ( 3, 3) [000065] DA--------- * STORE_LCL_VAR simd16 V13 cse0 d:1 $VN.Void | |
N004 ( 1, 1) [000066] ----------- t66 = LCL_VAR simd16 V13 cse0 u:1 $140 | |
/--* t0 simd16 | |
+--* t66 simd16 | |
N006 ( 6, 6) [000003] ----------- t3 = * HWINTRINSIC simd16 ubyte And $1c0 | |
/--* t3 simd16 | |
N007 ( 10, 9) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 1) [000000] ----------- t0 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 $80 | |
N002 ( 3, 2) [000002] ----------- t2 = CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
/--* t2 simd16 | |
N003 ( 3, 3) [000065] DA--------- * STORE_LCL_VAR simd16 V13 cse0 d:1 $VN.Void | |
N004 ( 1, 1) [000066] ----------- t66 = LCL_VAR simd16 V13 cse0 u:1 $140 | |
/--* t0 simd16 | |
+--* t66 simd16 | |
N006 ( 6, 6) [000003] ----------- t3 = * HWINTRINSIC simd16 ubyte And $1c0 | |
/--* t3 simd16 | |
N007 ( 10, 9) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 $VN.Void | |
lowering store lcl var/field (before): | |
N001 ( 1, 1) [000005] ----------- t5 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 (last use) $80 | |
N002 ( 1, 2) [000006] -c-----N--- t6 = CNS_INT int 4 $44 | |
/--* t5 simd16 | |
+--* t6 int | |
N003 ( 3, 4) [000007] ----------- t7 = * HWINTRINSIC simd16 int ShiftRightLogical $1c1 | |
N004 ( 1, 1) [000068] ----------- t68 = LCL_VAR simd16 V13 cse0 u:1 $140 | |
/--* t7 simd16 | |
+--* t68 simd16 | |
N005 ( 5, 6) [000010] ----------- t10 = * HWINTRINSIC simd16 ubyte And $1c2 | |
/--* t10 simd16 | |
N006 ( 5, 6) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 1) [000005] ----------- t5 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 (last use) $80 | |
N002 ( 1, 2) [000006] -c-----N--- t6 = CNS_INT int 4 $44 | |
/--* t5 simd16 | |
+--* t6 int | |
N003 ( 3, 4) [000007] ----------- t7 = * HWINTRINSIC simd16 int ShiftRightLogical $1c1 | |
N004 ( 1, 1) [000068] ----------- t68 = LCL_VAR simd16 V13 cse0 u:1 $140 | |
/--* t7 simd16 | |
+--* t68 simd16 | |
N005 ( 5, 6) [000010] ----------- t10 = * HWINTRINSIC simd16 ubyte And $1c2 | |
/--* t10 simd16 | |
N006 ( 5, 6) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 $VN.Void | |
lowering store lcl var/field (before): | |
N001 ( 1, 1) [000015] ----------- t15 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 $1c2 | |
N002 ( 3, 2) [000017] ----------- t17 = CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> $143 | |
/--* t15 simd16 | |
+--* t17 simd16 | |
N003 ( 5, 4) [000018] ----------- t18 = * HWINTRINSIC simd16 ubyte And $1c3 | |
N004 ( 3, 2) [000019] ----------- t19 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 (last use) $1c0 | |
/--* t18 simd16 | |
+--* t19 simd16 | |
N005 ( 9, 7) [000020] ----------- t20 = * HWINTRINSIC simd16 ubyte Or $1c4 | |
/--* t20 simd16 | |
N006 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 1) [000015] ----------- t15 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 $1c2 | |
N002 ( 3, 2) [000017] ----------- t17 = CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> $143 | |
/--* t15 simd16 | |
+--* t17 simd16 | |
N003 ( 5, 4) [000018] ----------- t18 = * HWINTRINSIC simd16 ubyte And $1c3 | |
N004 ( 3, 2) [000019] ----------- t19 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 (last use) $1c0 | |
/--* t18 simd16 | |
+--* t19 simd16 | |
N005 ( 9, 7) [000020] ----------- t20 = * HWINTRINSIC simd16 ubyte Or $1c4 | |
/--* t20 simd16 | |
N006 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 $VN.Void | |
lowering store lcl var/field (before): | |
N001 ( 1, 2) [000024] ----------- t24 = CNS_INT int 0 $40 | |
/--* t24 int | |
N002 ( 11, 9) [000025] DA--------- * STORE_LCL_VAR struct<System.ValueTuple`2, 32> V11 tmp1 d:2 $VN.Void | |
Local V11 should not be enregistered because: written/read in a block op | |
lowering store lcl var/field (after): | |
N001 ( 1, 2) [000024] -c--------- t24 = CNS_INT int 0 $40 | |
[000078] Dc--------- t78 = LCL_ADDR byref V11 tmp1 [+0] | |
/--* t78 byref | |
+--* t24 int | |
N002 ( 11, 9) [000025] sA--------- * STORE_BLK struct<System.ValueTuple`2, 32> (init) (Unroll) | |
lowering store lcl var/field (before): | |
N001 ( 1, 1) [000022] ----------- t22 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 (last use) $81 | |
/--* t22 simd16 | |
N002 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 1) [000022] ----------- t22 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 (last use) $81 | |
/--* t22 simd16 | |
N002 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] $VN.Void | |
lowering store lcl var/field (before): | |
N001 ( 1, 1) [000023] ----------- t23 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 (last use) $82 | |
/--* t23 simd16 | |
N002 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 1) [000023] ----------- t23 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 (last use) $82 | |
/--* t23 simd16 | |
N002 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] $VN.Void | |
lowering store lcl var/field (before): | |
N001 ( 3, 4) [000031] ----------- t31 = LCL_FLD simd16 V11 tmp1 u:4[+0] $81 | |
N002 ( 3, 4) [000032] ----------- t32 = LCL_FLD simd16 V11 tmp1 u:4[+16] (last use) $82 | |
/--* t31 simd16 | |
+--* t32 simd16 | |
N003 ( 6, 8) [000030] -c--------- t30 = * FIELD_LIST struct $c2 | |
N004 ( 3, 2) [000029] ----------- t29 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 (last use) $1c4 | |
/--* t30 struct | |
+--* t29 simd16 | |
N005 ( 10, 11) [000033] ----------- t33 = * HWINTRINSIC simd16 ubyte VectorTableLookup $1c5 | |
/--* t33 simd16 | |
N006 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 3, 4) [000031] ----------- t31 = LCL_FLD simd16 V11 tmp1 u:4[+0] $81 | |
N002 ( 3, 4) [000032] ----------- t32 = LCL_FLD simd16 V11 tmp1 u:4[+16] (last use) $82 | |
/--* t31 simd16 | |
+--* t32 simd16 | |
N003 ( 6, 8) [000030] -c--------- t30 = * FIELD_LIST struct $c2 | |
N004 ( 3, 2) [000029] ----------- t29 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 (last use) $1c4 | |
/--* t30 struct | |
+--* t29 simd16 | |
N005 ( 10, 11) [000033] ----------- t33 = * HWINTRINSIC simd16 ubyte VectorTableLookup $1c5 | |
/--* t33 simd16 | |
N006 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 $VN.Void | |
lowering store lcl var/field (before): | |
N001 ( 1, 1) [000037] ----------- t37 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 (last use) $1c2 | |
N002 ( 3, 2) [000060] ----------- t60 = CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> $144 | |
/--* t60 simd16 | |
+--* t37 simd16 | |
N003 ( 5, 4) [000061] ----------- t61 = * HWINTRINSIC simd16 ubyte VectorTableLookup $1c6 | |
/--* t61 simd16 | |
N004 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 $VN.Void | |
lowering store lcl var/field (after): | |
N001 ( 1, 1) [000037] ----------- t37 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 (last use) $1c2 | |
N002 ( 3, 2) [000060] ----------- t60 = CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> $144 | |
/--* t60 simd16 | |
+--* t37 simd16 | |
N003 ( 5, 4) [000061] ----------- t61 = * HWINTRINSIC simd16 ubyte VectorTableLookup $1c6 | |
/--* t61 simd16 | |
N004 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 $VN.Void | |
lowering GT_RETURN | |
N006 ( 8, 7) [000046] ----------- * RETURN simd16 $VN.Void | |
============Lower has completed modifying nodes. | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC LIR | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
[000069] ----------- IL_OFFSET void INLRT @ 0x000[E-] | |
N001 ( 1, 1) [000000] ----------- t0 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 $80 | |
N002 ( 3, 2) [000002] ----------- t2 = CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
/--* t2 simd16 | |
N003 ( 3, 3) [000065] DA--------- * STORE_LCL_VAR simd16 V13 cse0 d:1 $VN.Void | |
N004 ( 1, 1) [000066] ----------- t66 = LCL_VAR simd16 V13 cse0 u:1 $140 | |
/--* t0 simd16 | |
+--* t66 simd16 | |
N006 ( 6, 6) [000003] ----------- t3 = * HWINTRINSIC simd16 ubyte And $1c0 | |
/--* t3 simd16 | |
N007 ( 10, 9) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 $VN.Void | |
[000070] ----------- IL_OFFSET void INLRT @ 0x00E[E-] | |
N001 ( 1, 1) [000005] ----------- t5 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 (last use) $80 | |
N002 ( 1, 2) [000006] -c-----N--- t6 = CNS_INT int 4 $44 | |
/--* t5 simd16 | |
+--* t6 int | |
N003 ( 3, 4) [000007] ----------- t7 = * HWINTRINSIC simd16 int ShiftRightLogical $1c1 | |
N004 ( 1, 1) [000068] ----------- t68 = LCL_VAR simd16 V13 cse0 u:1 $140 | |
/--* t7 simd16 | |
+--* t68 simd16 | |
N005 ( 5, 6) [000010] ----------- t10 = * HWINTRINSIC simd16 ubyte And $1c2 | |
/--* t10 simd16 | |
N006 ( 5, 6) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 $VN.Void | |
[000071] ----------- IL_OFFSET void INLRT @ 0x033[E-] | |
N001 ( 1, 1) [000015] ----------- t15 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 $1c2 | |
N002 ( 3, 2) [000017] ----------- t17 = CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> $143 | |
/--* t15 simd16 | |
+--* t17 simd16 | |
N003 ( 5, 4) [000018] ----------- t18 = * HWINTRINSIC simd16 ubyte And $1c3 | |
N004 ( 3, 2) [000019] ----------- t19 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 (last use) $1c0 | |
/--* t18 simd16 | |
+--* t19 simd16 | |
N005 ( 9, 7) [000020] ----------- t20 = * HWINTRINSIC simd16 ubyte Or $1c4 | |
/--* t20 simd16 | |
N006 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 $VN.Void | |
[000072] ----------- IL_OFFSET void INLRT @ 0x050[E-] | |
N001 ( 1, 2) [000024] -c--------- t24 = CNS_INT int 0 $40 | |
[000078] Dc--------- t78 = LCL_ADDR byref V11 tmp1 [+0] | |
/--* t78 byref | |
+--* t24 int | |
N002 ( 11, 9) [000025] sA--------- * STORE_BLK struct<System.ValueTuple`2, 32> (init) (Unroll) | |
[000073] ----------- IL_OFFSET void INL01 @ 0x000[E-] <- INLRT @ ??? | |
N001 ( 1, 1) [000022] ----------- t22 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 (last use) $81 | |
/--* t22 simd16 | |
N002 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] $VN.Void | |
[000074] ----------- IL_OFFSET void INL01 @ 0x007[E-] <- INLRT @ ??? | |
N001 ( 1, 1) [000023] ----------- t23 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 (last use) $82 | |
/--* t23 simd16 | |
N002 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] $VN.Void | |
[000075] ----------- IL_OFFSET void INLRT @ 0x057[--] | |
N001 ( 3, 4) [000031] ----------- t31 = LCL_FLD simd16 V11 tmp1 u:4[+0] $81 | |
N002 ( 3, 4) [000032] ----------- t32 = LCL_FLD simd16 V11 tmp1 u:4[+16] (last use) $82 | |
/--* t31 simd16 | |
+--* t32 simd16 | |
N003 ( 6, 8) [000030] -c--------- t30 = * FIELD_LIST struct $c2 | |
N004 ( 3, 2) [000029] ----------- t29 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 (last use) $1c4 | |
/--* t30 struct | |
+--* t29 simd16 | |
N005 ( 10, 11) [000033] ----------- t33 = * HWINTRINSIC simd16 ubyte VectorTableLookup $1c5 | |
/--* t33 simd16 | |
N006 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 $VN.Void | |
[000076] ----------- IL_OFFSET void INLRT @ 0x093[E-] | |
N001 ( 1, 1) [000037] ----------- t37 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 (last use) $1c2 | |
N002 ( 3, 2) [000060] ----------- t60 = CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> $144 | |
/--* t60 simd16 | |
+--* t37 simd16 | |
N003 ( 5, 4) [000061] ----------- t61 = * HWINTRINSIC simd16 ubyte VectorTableLookup $1c6 | |
/--* t61 simd16 | |
N004 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 $VN.Void | |
[000077] ----------- IL_OFFSET void INLRT @ 0x0AD[E-] | |
N001 ( 3, 2) [000041] ----------- t41 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 (last use) $1c5 | |
N002 ( 1, 1) [000042] ----------- t42 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 $1c6 | |
/--* t41 simd16 | |
+--* t42 simd16 | |
N003 ( 5, 4) [000043] ----------- t43 = * HWINTRINSIC simd16 ubyte And $1c7 | |
N004 ( 1, 1) [000044] ----------- t44 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 (last use) $1c6 | |
/--* t43 simd16 | |
+--* t44 simd16 | |
N005 ( 7, 6) [000045] ----------- t45 = * HWINTRINSIC simd16 ubyte CompareEqual $1c8 | |
/--* t45 simd16 | |
N006 ( 8, 7) [000046] ----------- * RETURN simd16 $VN.Void | |
------------------------------------------------------------------------------------------------------------------- | |
*** lvaComputeRefCounts *** | |
*** lvaComputeRefCounts -- explicit counts *** | |
New refCnts for V00: refCnt = 1, refCntWtd = 1 | |
New refCnts for V13: refCnt = 1, refCntWtd = 1 | |
New refCnts for V13: refCnt = 2, refCntWtd = 2 | |
New refCnts for V03: refCnt = 1, refCntWtd = 1 | |
New refCnts for V00: refCnt = 2, refCntWtd = 2 | |
New refCnts for V13: refCnt = 3, refCntWtd = 3 | |
New refCnts for V04: refCnt = 1, refCntWtd = 1 | |
New refCnts for V04: refCnt = 2, refCntWtd = 2 | |
New refCnts for V03: refCnt = 2, refCntWtd = 2 | |
New refCnts for V07: refCnt = 1, refCntWtd = 1 | |
New refCnts for V11: refCnt = 1, refCntWtd = 2 | |
New refCnts for V01: refCnt = 1, refCntWtd = 1 | |
New refCnts for V11: refCnt = 2, refCntWtd = 4 | |
New refCnts for V02: refCnt = 1, refCntWtd = 1 | |
New refCnts for V11: refCnt = 3, refCntWtd = 6 | |
New refCnts for V11: refCnt = 4, refCntWtd = 8 | |
New refCnts for V11: refCnt = 5, refCntWtd = 10 | |
New refCnts for V07: refCnt = 2, refCntWtd = 2 | |
New refCnts for V05: refCnt = 1, refCntWtd = 1 | |
New refCnts for V04: refCnt = 3, refCntWtd = 3 | |
New refCnts for V06: refCnt = 1, refCntWtd = 1 | |
New refCnts for V05: refCnt = 2, refCntWtd = 2 | |
New refCnts for V06: refCnt = 2, refCntWtd = 2 | |
New refCnts for V06: refCnt = 3, refCntWtd = 3 | |
*** lvaComputeRefCounts -- implicit counts *** | |
New refCnts for V00: refCnt = 3, refCntWtd = 3 | |
New refCnts for V00: refCnt = 4, refCntWtd = 4 | |
New refCnts for V01: refCnt = 2, refCntWtd = 2 | |
New refCnts for V01: refCnt = 3, refCntWtd = 3 | |
New refCnts for V02: refCnt = 2, refCntWtd = 2 | |
New refCnts for V02: refCnt = 3, refCntWtd = 3 | |
*************** In fgLocalVarLiveness() | |
; Initial local variable assignments | |
; | |
; V00 arg0 simd16 HFA(simd16) single-def | |
; V01 arg1 simd16 HFA(simd16) single-def | |
; V02 arg2 simd16 HFA(simd16) single-def | |
; V03 loc0 simd16 HFA(simd16) | |
; V04 loc1 simd16 HFA(simd16) | |
; V05 loc2 simd16 HFA(simd16) | |
; V06 loc3 simd16 HFA(simd16) | |
; V07 loc4 simd16 HFA(simd16) | |
; V08 loc5 simd16 HFA(simd16) | |
; V09 loc6 simd16 HFA(simd16) | |
; V10 OutArgs struct <0> do-not-enreg[XS] addr-exposed "OutgoingArgSpace" | |
; V11 tmp1 struct <System.ValueTuple`2, 32> HFA(simd16) do-not-enreg[SF] ld-addr-op "NewObj constructor temp" | |
; V12 tmp2 simd16 HFA(simd16) "Inline return value spill temp" | |
; V13 cse0 simd16 "CSE - aggressive" | |
In fgLocalVarLivenessInit | |
Local V10 should not be enregistered because: struct size does not match reg size | |
Local V11 should not be enregistered because: struct size does not match reg size | |
Tracked variable (10 out of 14) table: | |
V11 tmp1 [struct]: refCnt = 5, refCntWtd = 10 | |
V00 arg0 [simd16]: refCnt = 4, refCntWtd = 4 | |
V01 arg1 [simd16]: refCnt = 3, refCntWtd = 3 | |
V02 arg2 [simd16]: refCnt = 3, refCntWtd = 3 | |
V04 loc1 [simd16]: refCnt = 3, refCntWtd = 3 | |
V06 loc3 [simd16]: refCnt = 3, refCntWtd = 3 | |
V13 cse0 [simd16]: refCnt = 3, refCntWtd = 3 | |
V03 loc0 [simd16]: refCnt = 2, refCntWtd = 2 | |
V05 loc2 [simd16]: refCnt = 2, refCntWtd = 2 | |
V07 loc4 [simd16]: refCnt = 2, refCntWtd = 2 | |
*************** In fgPerBlockLocalVarLiveness() | |
BB01 USE(3)={ V00 V01 V02 } | |
DEF(7)={V11 V04 V06 V13 V03 V05 V07} + ByrefExposed + GcHeap | |
** Memory liveness computed, GcHeap states and ByrefExposed states match | |
*************** In fgInterBlockLocalVarLiveness() | |
BB liveness after fgLiveVarAnalysis(): | |
BB01 IN (3)={V00 V01 V02} | |
OUT(0)={ } | |
*************** In fgUpdateFlowGraph() | |
Before updating the flow graph: | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC LIR | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgRemoveDeadBlocks() | |
Removing unreachable blocks for fgRemoveDeadBlocks iteration #1 | |
*************** In fgDebugCheckBBlist | |
*** lvaComputeRefCounts *** | |
*** lvaComputeRefCounts -- explicit counts *** | |
New refCnts for V00: refCnt = 1, refCntWtd = 1 | |
New refCnts for V13: refCnt = 1, refCntWtd = 1 | |
New refCnts for V13: refCnt = 2, refCntWtd = 2 | |
New refCnts for V03: refCnt = 1, refCntWtd = 1 | |
New refCnts for V00: refCnt = 2, refCntWtd = 2 | |
New refCnts for V13: refCnt = 3, refCntWtd = 3 | |
New refCnts for V04: refCnt = 1, refCntWtd = 1 | |
New refCnts for V04: refCnt = 2, refCntWtd = 2 | |
New refCnts for V03: refCnt = 2, refCntWtd = 2 | |
New refCnts for V07: refCnt = 1, refCntWtd = 1 | |
New refCnts for V11: refCnt = 1, refCntWtd = 2 | |
New refCnts for V01: refCnt = 1, refCntWtd = 1 | |
New refCnts for V11: refCnt = 2, refCntWtd = 4 | |
New refCnts for V02: refCnt = 1, refCntWtd = 1 | |
New refCnts for V11: refCnt = 3, refCntWtd = 6 | |
New refCnts for V11: refCnt = 4, refCntWtd = 8 | |
New refCnts for V11: refCnt = 5, refCntWtd = 10 | |
New refCnts for V07: refCnt = 2, refCntWtd = 2 | |
New refCnts for V05: refCnt = 1, refCntWtd = 1 | |
New refCnts for V04: refCnt = 3, refCntWtd = 3 | |
New refCnts for V06: refCnt = 1, refCntWtd = 1 | |
New refCnts for V05: refCnt = 2, refCntWtd = 2 | |
New refCnts for V06: refCnt = 2, refCntWtd = 2 | |
New refCnts for V06: refCnt = 3, refCntWtd = 3 | |
*** lvaComputeRefCounts -- implicit counts *** | |
New refCnts for V00: refCnt = 3, refCntWtd = 3 | |
New refCnts for V00: refCnt = 4, refCntWtd = 4 | |
New refCnts for V01: refCnt = 2, refCntWtd = 2 | |
New refCnts for V01: refCnt = 3, refCntWtd = 3 | |
New refCnts for V02: refCnt = 2, refCntWtd = 2 | |
New refCnts for V02: refCnt = 3, refCntWtd = 3 | |
*************** Finishing PHASE Lowering nodeinfo | |
Trees after Lowering nodeinfo | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC LIR | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
[000069] ----------- IL_OFFSET void INLRT @ 0x000[E-] | |
N001 ( 1, 1) [000000] ----------- t0 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 $80 | |
N002 ( 3, 2) [000002] ----------- t2 = CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> $140 | |
/--* t2 simd16 | |
N003 ( 3, 3) [000065] DA--------- * STORE_LCL_VAR simd16 V13 cse0 d:1 $VN.Void | |
N004 ( 1, 1) [000066] ----------- t66 = LCL_VAR simd16 V13 cse0 u:1 $140 | |
/--* t0 simd16 | |
+--* t66 simd16 | |
N006 ( 6, 6) [000003] ----------- t3 = * HWINTRINSIC simd16 ubyte And $1c0 | |
/--* t3 simd16 | |
N007 ( 10, 9) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 $VN.Void | |
[000070] ----------- IL_OFFSET void INLRT @ 0x00E[E-] | |
N001 ( 1, 1) [000005] ----------- t5 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 (last use) $80 | |
N002 ( 1, 2) [000006] -c-----N--- t6 = CNS_INT int 4 $44 | |
/--* t5 simd16 | |
+--* t6 int | |
N003 ( 3, 4) [000007] ----------- t7 = * HWINTRINSIC simd16 int ShiftRightLogical $1c1 | |
N004 ( 1, 1) [000068] ----------- t68 = LCL_VAR simd16 V13 cse0 u:1 (last use) $140 | |
/--* t7 simd16 | |
+--* t68 simd16 | |
N005 ( 5, 6) [000010] ----------- t10 = * HWINTRINSIC simd16 ubyte And $1c2 | |
/--* t10 simd16 | |
N006 ( 5, 6) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 $VN.Void | |
[000071] ----------- IL_OFFSET void INLRT @ 0x033[E-] | |
N001 ( 1, 1) [000015] ----------- t15 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 $1c2 | |
N002 ( 3, 2) [000017] ----------- t17 = CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> $143 | |
/--* t15 simd16 | |
+--* t17 simd16 | |
N003 ( 5, 4) [000018] ----------- t18 = * HWINTRINSIC simd16 ubyte And $1c3 | |
N004 ( 3, 2) [000019] ----------- t19 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 (last use) $1c0 | |
/--* t18 simd16 | |
+--* t19 simd16 | |
N005 ( 9, 7) [000020] ----------- t20 = * HWINTRINSIC simd16 ubyte Or $1c4 | |
/--* t20 simd16 | |
N006 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 $VN.Void | |
[000072] ----------- IL_OFFSET void INLRT @ 0x050[E-] | |
N001 ( 1, 2) [000024] -c--------- t24 = CNS_INT int 0 $40 | |
[000078] Dc--------- t78 = LCL_ADDR byref V11 tmp1 [+0] | |
/--* t78 byref | |
+--* t24 int | |
N002 ( 11, 9) [000025] sA--------- * STORE_BLK struct<System.ValueTuple`2, 32> (init) (Unroll) | |
[000073] ----------- IL_OFFSET void INL01 @ 0x000[E-] <- INLRT @ ??? | |
N001 ( 1, 1) [000022] ----------- t22 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 (last use) $81 | |
/--* t22 simd16 | |
N002 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] $VN.Void | |
[000074] ----------- IL_OFFSET void INL01 @ 0x007[E-] <- INLRT @ ??? | |
N001 ( 1, 1) [000023] ----------- t23 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 (last use) $82 | |
/--* t23 simd16 | |
N002 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] $VN.Void | |
[000075] ----------- IL_OFFSET void INLRT @ 0x057[--] | |
N001 ( 3, 4) [000031] ----------- t31 = LCL_FLD simd16 V11 tmp1 u:4[+0] $81 | |
N002 ( 3, 4) [000032] ----------- t32 = LCL_FLD simd16 V11 tmp1 u:4[+16] (last use) $82 | |
/--* t31 simd16 | |
+--* t32 simd16 | |
N003 ( 6, 8) [000030] -c--------- t30 = * FIELD_LIST struct $c2 | |
N004 ( 3, 2) [000029] ----------- t29 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 (last use) $1c4 | |
/--* t30 struct | |
+--* t29 simd16 | |
N005 ( 10, 11) [000033] ----------- t33 = * HWINTRINSIC simd16 ubyte VectorTableLookup $1c5 | |
/--* t33 simd16 | |
N006 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 $VN.Void | |
[000076] ----------- IL_OFFSET void INLRT @ 0x093[E-] | |
N001 ( 1, 1) [000037] ----------- t37 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 (last use) $1c2 | |
N002 ( 3, 2) [000060] ----------- t60 = CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> $144 | |
/--* t60 simd16 | |
+--* t37 simd16 | |
N003 ( 5, 4) [000061] ----------- t61 = * HWINTRINSIC simd16 ubyte VectorTableLookup $1c6 | |
/--* t61 simd16 | |
N004 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 $VN.Void | |
[000077] ----------- IL_OFFSET void INLRT @ 0x0AD[E-] | |
N001 ( 3, 2) [000041] ----------- t41 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 (last use) $1c5 | |
N002 ( 1, 1) [000042] ----------- t42 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 $1c6 | |
/--* t41 simd16 | |
+--* t42 simd16 | |
N003 ( 5, 4) [000043] ----------- t43 = * HWINTRINSIC simd16 ubyte And $1c7 | |
N004 ( 1, 1) [000044] ----------- t44 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 (last use) $1c6 | |
/--* t43 simd16 | |
+--* t44 simd16 | |
N005 ( 7, 6) [000045] ----------- t45 = * HWINTRINSIC simd16 ubyte CompareEqual $1c8 | |
/--* t45 simd16 | |
N006 ( 8, 7) [000046] ----------- * RETURN simd16 $VN.Void | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Starting PHASE Calculate stack level slots | |
*************** Finishing PHASE Calculate stack level slots [no changes] | |
*************** Starting PHASE Linear scan register alloc | |
Clearing modified regs. | |
buildIntervals ======== | |
----------------- | |
LIVENESS: | |
----------------- | |
BB01 | |
use: {V00 V01 V02} | |
def: {V03 V04 V05 V06 V07 V11 V13} | |
in: {V00 V01 V02} | |
out: {} | |
Interval 0: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 0: (V00) simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 1: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 1: (V01) simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 2: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 2: (V02) simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 3: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 3: (V03) simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 4: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 4: (V04) simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 5: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 5: (V05) simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 6: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 6: (V06) simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 7: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 7: (V07) simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Local V11 should not be enregistered because: struct size does not match reg size | |
Interval 8: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 8: (V13) simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 9: double RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 10: double RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 11: double RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 12: double RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 13: double RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 14: double RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 15: double RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 16: double RefPositions {} physReg:NA Preferences=[allFloat] | |
Interval 17: double RefPositions {} physReg:NA Preferences=[allFloat] | |
FP callee save candidate vars: None | |
floatVarCount = 0; hasLoops = false, singleExit = true | |
; Decided to create an EBP based frame for ETW stackwalking (IL Code Size) | |
*************** In lvaAssignFrameOffsets(REGALLOC_FRAME_LAYOUT) | |
Setting genSaveFpLrWithAllCalleeSavedRegisters to false | |
Pad V00 arg0, size=16, stkOffs=-0x90, pad=0 | |
Assign V00 arg0, size=16, stkOffs=-0xa0 | |
Pad V01 arg1, size=16, stkOffs=-0xa0, pad=0 | |
Assign V01 arg1, size=16, stkOffs=-0xb0 | |
Pad V02 arg2, size=16, stkOffs=-0xb0, pad=0 | |
Assign V02 arg2, size=16, stkOffs=-0xc0 | |
Pad V03 loc0, size=16, stkOffs=-0xc0, pad=0 | |
Assign V03 loc0, size=16, stkOffs=-0xd0 | |
Pad V04 loc1, size=16, stkOffs=-0xd0, pad=0 | |
Assign V04 loc1, size=16, stkOffs=-0xe0 | |
Pad V05 loc2, size=16, stkOffs=-0xe0, pad=0 | |
Assign V05 loc2, size=16, stkOffs=-0xf0 | |
Pad V06 loc3, size=16, stkOffs=-0xf0, pad=0 | |
Assign V06 loc3, size=16, stkOffs=-0x100 | |
Pad V07 loc4, size=16, stkOffs=-0x100, pad=0 | |
Assign V07 loc4, size=16, stkOffs=-0x110 | |
Pad V08 loc5, size=16, stkOffs=-0x110, pad=0 | |
Assign V08 loc5, size=16, stkOffs=-0x120 | |
Pad V09 loc6, size=16, stkOffs=-0x120, pad=0 | |
Assign V09 loc6, size=16, stkOffs=-0x130 | |
Pad V11 tmp1, size=32, stkOffs=-0x137, pad=7 | |
Assign V11 tmp1, size=32, stkOffs=-0x157 | |
Pad V12 tmp2, size=16, stkOffs=-0x166, pad=15 | |
Assign V12 tmp2, size=16, stkOffs=-0x176 | |
Pad V13 cse0, size=16, stkOffs=-0x185, pad=15 | |
Assign V13 cse0, size=16, stkOffs=-0x195 | |
--- delta bump 456 for FP frame | |
--- virtual stack offset to actual stack offset delta is 456 | |
-- V00 was -160, now 296 | |
-- V01 was -176, now 280 | |
-- V02 was -192, now 264 | |
-- V03 was -208, now 248 | |
-- V04 was -224, now 232 | |
-- V05 was -240, now 216 | |
-- V06 was -256, now 200 | |
-- V07 was -272, now 184 | |
-- V08 was -288, now 168 | |
-- V09 was -304, now 152 | |
-- V10 was 0, now 456 | |
-- V11 was -343, now 113 | |
-- V12 was -374, now 82 | |
-- V13 was -405, now 51 | |
compRsvdRegCheck | |
frame size = 456 | |
compArgSize = 48 | |
Returning true (ARM64) | |
Reserved REG_OPT_RSVD (xip1) due to large frame | |
TUPLE STYLE DUMP BEFORE LSRA | |
Start LSRA Block Sequence: | |
Current block: BB01 | |
Final LSRA Block Sequence: | |
BB01 ( 1 ) | |
BB01 [000..0BB) (return), preds={} succs={} | |
===== | |
N000. IL_OFFSET INLRT @ 0x000[E-] | |
N001. V00(t0) | |
N002. t2 = CNS_VEC <0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
N003. V13(t65); t2 | |
N004. V13(t66) | |
N006. t3 = HWINTRINSIC; t0,t66 | |
N007. V03(t4); t3 | |
N000. IL_OFFSET INLRT @ 0x00E[E-] | |
N001. V00(t5*) | |
N002. CNS_INT 4 | |
N003. t7 = HWINTRINSIC; t5* | |
N004. V13(t68*) | |
N005. t10 = HWINTRINSIC; t7,t68* | |
N006. V04(t11); t10 | |
N000. IL_OFFSET INLRT @ 0x033[E-] | |
N001. V04(t15) | |
N002. t17 = CNS_VEC <0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
N003. t18 = HWINTRINSIC; t15,t17 | |
N004. V03(t19*) | |
N005. t20 = HWINTRINSIC; t18,t19* | |
N006. V07(t21); t20 | |
N000. IL_OFFSET INLRT @ 0x050[E-] | |
N001. CNS_INT 0 | |
N000. LCL_ADDR V11 tmp1 [+0] | |
N002. STORE_BLK | |
N000. IL_OFFSET INL01 @ 0x000[E-] <- INLRT @ ??? | |
N001. V01(t22*) | |
N002. V11 MEM; t22* | |
N000. IL_OFFSET INL01 @ 0x007[E-] <- INLRT @ ??? | |
N001. V02(t23*) | |
N002. V11 MEM; t23* | |
N000. IL_OFFSET INLRT @ 0x057[--] | |
N001. t31 = V11 MEM | |
N002. t32 = V11 MEM | |
N003. t30 = FIELD_LIST; t31,t32 | |
N004. V07(t29*) | |
N005. t33 = HWINTRINSIC; t30,t29* | |
N006. V05(t34); t33 | |
N000. IL_OFFSET INLRT @ 0x093[E-] | |
N001. V04(t37*) | |
N002. t60 = CNS_VEC <0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
N003. t61 = HWINTRINSIC; t60,t37* | |
N004. V06(t40); t61 | |
N000. IL_OFFSET INLRT @ 0x0AD[E-] | |
N001. V05(t41*) | |
N002. V06(t42) | |
N003. t43 = HWINTRINSIC; t41*,t42 | |
N004. V06(t44*) | |
N005. t45 = HWINTRINSIC; t43,t44* | |
N006. RETURN ; t45 | |
buildIntervals second part ======== | |
Float arg V00 in reg d0 | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[d0] minReg=1 fixed wt=100.00> | |
Float arg V01 in reg d1 | |
<RefPosition #1 @0 RefTypeParamDef <Ivl:1 V01> BB00 regmask=[d1] minReg=1 fixed wt=100.00> | |
Float arg V02 in reg d2 | |
<RefPosition #2 @0 RefTypeParamDef <Ivl:2 V02> BB00 regmask=[d2] minReg=1 fixed wt=100.00> | |
NEW BLOCK BB01 | |
<RefPosition #3 @1 RefTypeBB BB01 regmask=[] minReg=1 wt=100.00> | |
DefList: { } | |
N003 (???,???) [000069] ----------- * IL_OFFSET void INLRT @ 0x000[E-] REG NA | |
DefList: { } | |
N005 ( 1, 1) [000000] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 NA REG NA $80 | |
DefList: { } | |
N007 ( 3, 2) [000002] ----------- * CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> REG NA $140 | |
Interval 18: int RefPositions {} physReg:NA Preferences=[x0-xip0 x19-x28] | |
<RefPosition #4 @7 RefTypeDef <Ivl:18 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 wt=400.00> | |
<RefPosition #5 @7 RefTypeUse <Ivl:18 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 last wt=400.00> | |
Interval 19: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #6 @8 RefTypeDef <Ivl:19> CNS_VEC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N007.t2. CNS_VEC } | |
N009 ( 3, 3) [000065] DA--------- * STORE_LCL_VAR simd16 V13 cse0 d:1 NA REG NA $VN.Void | |
<RefPosition #7 @9 RefTypeUse <Ivl:19> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
Assigning related <V13/L8> to <I19> | |
<RefPosition #8 @10 RefTypeDef <Ivl:8 V13> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
DefList: { } | |
N011 ( 1, 1) [000066] ----------- * LCL_VAR simd16 V13 cse0 u:1 NA REG NA $140 | |
DefList: { } | |
N013 ( 6, 6) [000003] ----------- * HWINTRINSIC simd16 ubyte And REG NA $1c0 | |
<RefPosition #9 @13 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=400.00> | |
<RefPosition #10 @13 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
Interval 20: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #11 @14 RefTypeDef <Ivl:20> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N013.t3. HWINTRINSIC } | |
N015 ( 10, 9) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 NA REG NA $VN.Void | |
<RefPosition #12 @15 RefTypeUse <Ivl:20> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
Assigning related <V03/L3> to <I20> | |
<RefPosition #13 @16 RefTypeDef <Ivl:3 V03> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
DefList: { } | |
N017 (???,???) [000070] ----------- * IL_OFFSET void INLRT @ 0x00E[E-] REG NA | |
DefList: { } | |
N019 ( 1, 1) [000005] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 NA (last use) REG NA $80 | |
DefList: { } | |
N021 ( 1, 2) [000006] -c-----N--- * CNS_INT int 4 REG NA $44 | |
Contained | |
DefList: { } | |
N023 ( 3, 4) [000007] ----------- * HWINTRINSIC simd16 int ShiftRightLogical REG NA $1c1 | |
<RefPosition #14 @23 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=400.00> | |
Interval 21: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #15 @24 RefTypeDef <Ivl:21> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N023.t7. HWINTRINSIC } | |
N025 ( 1, 1) [000068] ----------- * LCL_VAR simd16 V13 cse0 u:1 NA (last use) REG NA $140 | |
DefList: { N023.t7. HWINTRINSIC } | |
N027 ( 5, 6) [000010] ----------- * HWINTRINSIC simd16 ubyte And REG NA $1c2 | |
<RefPosition #16 @27 RefTypeUse <Ivl:21> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #17 @27 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
Interval 22: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #18 @28 RefTypeDef <Ivl:22> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N027.t10. HWINTRINSIC } | |
N029 ( 5, 6) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 NA REG NA $VN.Void | |
<RefPosition #19 @29 RefTypeUse <Ivl:22> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
Assigning related <V04/L4> to <I22> | |
<RefPosition #20 @30 RefTypeDef <Ivl:4 V04> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
DefList: { } | |
N031 (???,???) [000071] ----------- * IL_OFFSET void INLRT @ 0x033[E-] REG NA | |
DefList: { } | |
N033 ( 1, 1) [000015] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 NA REG NA $1c2 | |
DefList: { } | |
N035 ( 3, 2) [000017] ----------- * CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> REG NA $143 | |
Interval 23: int RefPositions {} physReg:NA Preferences=[x0-xip0 x19-x28] | |
<RefPosition #21 @35 RefTypeDef <Ivl:23 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 wt=400.00> | |
<RefPosition #22 @35 RefTypeUse <Ivl:23 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 last wt=400.00> | |
Interval 24: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #23 @36 RefTypeDef <Ivl:24> CNS_VEC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N035.t17. CNS_VEC } | |
N037 ( 5, 4) [000018] ----------- * HWINTRINSIC simd16 ubyte And REG NA $1c3 | |
<RefPosition #24 @37 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
<RefPosition #25 @37 RefTypeUse <Ivl:24> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
Interval 25: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #26 @38 RefTypeDef <Ivl:25> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N037.t18. HWINTRINSIC } | |
N039 ( 3, 2) [000019] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 NA (last use) REG NA $1c0 | |
DefList: { N037.t18. HWINTRINSIC } | |
N041 ( 9, 7) [000020] ----------- * HWINTRINSIC simd16 ubyte Or REG NA $1c4 | |
<RefPosition #27 @41 RefTypeUse <Ivl:25> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #28 @41 RefTypeUse <Ivl:3 V03> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
Interval 26: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #29 @42 RefTypeDef <Ivl:26> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N041.t20. HWINTRINSIC } | |
N043 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 NA REG NA $VN.Void | |
<RefPosition #30 @43 RefTypeUse <Ivl:26> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
Assigning related <V07/L7> to <I26> | |
<RefPosition #31 @44 RefTypeDef <Ivl:7 V07> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
DefList: { } | |
N045 (???,???) [000072] ----------- * IL_OFFSET void INLRT @ 0x050[E-] REG NA | |
DefList: { } | |
N047 ( 1, 2) [000024] -c--------- * CNS_INT int 0 REG NA $40 | |
Contained | |
DefList: { } | |
N049 (???,???) [000078] Dc--------- * LCL_ADDR byref V11 tmp1 [+0] NA REG NA | |
Contained | |
DefList: { } | |
N051 ( 11, 9) [000025] sA--------- * STORE_BLK struct<System.ValueTuple`2, 32> (init) (Unroll) REG NA | |
Interval 27: int RefPositions {} physReg:NA Preferences=[x0-xip0 x19-x28] | |
<RefPosition #32 @51 RefTypeDef <Ivl:27 internal> STORE_BLK BB01 regmask=[x0-xip0 x19-x28] minReg=1 wt=400.00> | |
Interval 28: float RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #33 @51 RefTypeDef <Ivl:28 internal> STORE_BLK BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #34 @51 RefTypeUse <Ivl:27 internal> STORE_BLK BB01 regmask=[x0-xip0 x19-x28] minReg=1 last wt=400.00> | |
<RefPosition #35 @51 RefTypeUse <Ivl:28 internal> STORE_BLK BB01 regmask=[allFloat] minReg=1 last wt=400.00> | |
DefList: { } | |
N053 (???,???) [000073] ----------- * IL_OFFSET void INL01 @ 0x000[E-] <- INLRT @ ??? REG NA | |
DefList: { } | |
N055 ( 1, 1) [000022] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 NA (last use) REG NA $81 | |
DefList: { } | |
N057 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] NA REG NA $VN.Void | |
<RefPosition #36 @57 RefTypeUse <Ivl:1 V01> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
DefList: { } | |
N059 (???,???) [000074] ----------- * IL_OFFSET void INL01 @ 0x007[E-] <- INLRT @ ??? REG NA | |
DefList: { } | |
N061 ( 1, 1) [000023] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 NA (last use) REG NA $82 | |
DefList: { } | |
N063 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] NA REG NA $VN.Void | |
<RefPosition #37 @63 RefTypeUse <Ivl:2 V02> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
DefList: { } | |
N065 (???,???) [000075] ----------- * IL_OFFSET void INLRT @ 0x057[--] REG NA | |
DefList: { } | |
N067 ( 3, 4) [000031] ----------- * LCL_FLD simd16 V11 tmp1 u:4[+0] NA REG NA $81 | |
Interval 29: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #38 @68 RefTypeDef <Ivl:29> LCL_FLD BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N067.t31. LCL_FLD } | |
N069 ( 3, 4) [000032] ----------- * LCL_FLD simd16 V11 tmp1 u:4[+16] NA (last use) REG NA $82 | |
Interval 30: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #39 @70 RefTypeDef <Ivl:30> LCL_FLD BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N067.t31. LCL_FLD; N069.t32. LCL_FLD } | |
N071 ( 6, 8) [000030] -c--------- * FIELD_LIST struct REG NA $c2 | |
Contained | |
DefList: { N067.t31. LCL_FLD; N069.t32. LCL_FLD } | |
N073 ( 3, 2) [000029] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 NA (last use) REG NA $1c4 | |
DefList: { N067.t31. LCL_FLD; N069.t32. LCL_FLD } | |
N075 ( 10, 11) [000033] ----------- * HWINTRINSIC simd16 ubyte VectorTableLookup REG NA $1c5 | |
<RefPosition #40 @75 RefTypeUse <Ivl:29> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #41 @75 RefTypeUse <Ivl:30> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #42 @75 RefTypeUse <Ivl:7 V07> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
Interval 31: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #43 @76 RefTypeDef <Ivl:31> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N075.t33. HWINTRINSIC } | |
N077 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 NA REG NA $VN.Void | |
<RefPosition #44 @77 RefTypeUse <Ivl:31> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
Assigning related <V05/L5> to <I31> | |
<RefPosition #45 @78 RefTypeDef <Ivl:5 V05> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
DefList: { } | |
N079 (???,???) [000076] ----------- * IL_OFFSET void INLRT @ 0x093[E-] REG NA | |
DefList: { } | |
N081 ( 1, 1) [000037] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 NA (last use) REG NA $1c2 | |
DefList: { } | |
N083 ( 3, 2) [000060] ----------- * CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> REG NA $144 | |
Interval 32: int RefPositions {} physReg:NA Preferences=[x0-xip0 x19-x28] | |
<RefPosition #46 @83 RefTypeDef <Ivl:32 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 wt=400.00> | |
<RefPosition #47 @83 RefTypeUse <Ivl:32 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 last wt=400.00> | |
Interval 33: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #48 @84 RefTypeDef <Ivl:33> CNS_VEC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N083.t60. CNS_VEC } | |
N085 ( 5, 4) [000061] ----------- * HWINTRINSIC simd16 ubyte VectorTableLookup REG NA $1c6 | |
<RefPosition #49 @85 RefTypeUse <Ivl:33> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #50 @85 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
Interval 34: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #51 @86 RefTypeDef <Ivl:34> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N085.t61. HWINTRINSIC } | |
N087 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 NA REG NA $VN.Void | |
<RefPosition #52 @87 RefTypeUse <Ivl:34> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
Assigning related <V06/L6> to <I34> | |
<RefPosition #53 @88 RefTypeDef <Ivl:6 V06> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
DefList: { } | |
N089 (???,???) [000077] ----------- * IL_OFFSET void INLRT @ 0x0AD[E-] REG NA | |
DefList: { } | |
N091 ( 3, 2) [000041] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 NA (last use) REG NA $1c5 | |
DefList: { } | |
N093 ( 1, 1) [000042] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 NA REG NA $1c6 | |
DefList: { } | |
N095 ( 5, 4) [000043] ----------- * HWINTRINSIC simd16 ubyte And REG NA $1c7 | |
<RefPosition #54 @95 RefTypeUse <Ivl:5 V05> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
<RefPosition #55 @95 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
Interval 35: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #56 @96 RefTypeDef <Ivl:35> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N095.t43. HWINTRINSIC } | |
N097 ( 1, 1) [000044] ----------- * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 NA (last use) REG NA $1c6 | |
DefList: { N095.t43. HWINTRINSIC } | |
N099 ( 7, 6) [000045] ----------- * HWINTRINSIC simd16 ubyte CompareEqual REG NA $1c8 | |
<RefPosition #57 @99 RefTypeUse <Ivl:35> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #58 @99 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
Interval 36: simd16 RefPositions {} physReg:NA Preferences=[allFloat] | |
<RefPosition #59 @100 RefTypeDef <Ivl:36> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
DefList: { N099.t45. HWINTRINSIC } | |
N101 ( 8, 7) [000046] ----------- * RETURN simd16 REG NA $VN.Void | |
<RefPosition #60 @101 RefTypeFixedReg <Reg:d0 > BB01 regmask=[d0] minReg=1 wt=100.00> | |
<RefPosition #61 @101 RefTypeUse <Ivl:36> BB01 regmask=[d0] minReg=1 last fixed wt=100.00> | |
CHECKING LAST USES for BB01, liveout={} | |
============================== | |
use: {V00 V01 V02} | |
def: {V03 V04 V05 V06 V07 V11 V13} | |
Linear scan intervals BEFORE VALIDATING INTERVALS: | |
Interval 0: (V00) simd16 RefPositions {#0@0 #9@13 #14@23} physReg:d0 Preferences=[d0] | |
Interval 1: (V01) simd16 RefPositions {#1@0 #36@57} physReg:d1 Preferences=[d1] | |
Interval 2: (V02) simd16 RefPositions {#2@0 #37@63} physReg:d2 Preferences=[d2] | |
Interval 3: (V03) simd16 RefPositions {#13@16 #28@41} physReg:NA Preferences=[allFloat] | |
Interval 4: (V04) simd16 RefPositions {#20@30 #24@37 #50@85} physReg:NA Preferences=[allFloat] | |
Interval 5: (V05) simd16 RefPositions {#45@78 #54@95} physReg:NA Preferences=[allFloat] | |
Interval 6: (V06) simd16 RefPositions {#53@88 #55@95 #58@99} physReg:NA Preferences=[allFloat] | |
Interval 7: (V07) simd16 RefPositions {#31@44 #42@75} physReg:NA Preferences=[allFloat] | |
Interval 8: (V13) simd16 RefPositions {#8@10 #10@13 #17@27} physReg:NA Preferences=[allFloat] | |
Interval 9: (U00) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V00/L0> | |
Interval 10: (U01) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V01/L1> | |
Interval 11: (U02) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V02/L2> | |
Interval 12: (U04) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V04/L4> | |
Interval 13: (U06) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V06/L6> | |
Interval 14: (U13) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V13/L8> | |
Interval 15: (U03) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V03/L3> | |
Interval 16: (U05) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V05/L5> | |
Interval 17: (U07) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V07/L7> | |
Interval 18: int (INTERNAL) RefPositions {#4@7 #5@7} physReg:NA Preferences=[x0-xip0 x19-x28] | |
Interval 19: simd16 (constant) RefPositions {#6@8 #7@9} physReg:NA Preferences=[allFloat] RelatedInterval <V13/L8> | |
Interval 20: simd16 RefPositions {#11@14 #12@15} physReg:NA Preferences=[allFloat] RelatedInterval <V03/L3> | |
Interval 21: simd16 RefPositions {#15@24 #16@27} physReg:NA Preferences=[allFloat] | |
Interval 22: simd16 RefPositions {#18@28 #19@29} physReg:NA Preferences=[allFloat] RelatedInterval <V04/L4> | |
Interval 23: int (INTERNAL) RefPositions {#21@35 #22@35} physReg:NA Preferences=[x0-xip0 x19-x28] | |
Interval 24: simd16 (constant) RefPositions {#23@36 #25@37} physReg:NA Preferences=[allFloat] | |
Interval 25: simd16 RefPositions {#26@38 #27@41} physReg:NA Preferences=[allFloat] | |
Interval 26: simd16 RefPositions {#29@42 #30@43} physReg:NA Preferences=[allFloat] RelatedInterval <V07/L7> | |
Interval 27: int (INTERNAL) RefPositions {#32@51 #34@51} physReg:NA Preferences=[x0-xip0 x19-x28] | |
Interval 28: float (INTERNAL) RefPositions {#33@51 #35@51} physReg:NA Preferences=[allFloat] | |
Interval 29: simd16 RefPositions {#38@68 #40@75} physReg:NA Preferences=[allFloat] | |
Interval 30: simd16 RefPositions {#39@70 #41@75} physReg:NA Preferences=[allFloat] | |
Interval 31: simd16 RefPositions {#43@76 #44@77} physReg:NA Preferences=[allFloat] RelatedInterval <V05/L5> | |
Interval 32: int (INTERNAL) RefPositions {#46@83 #47@83} physReg:NA Preferences=[x0-xip0 x19-x28] | |
Interval 33: simd16 (constant) RefPositions {#48@84 #49@85} physReg:NA Preferences=[allFloat] | |
Interval 34: simd16 RefPositions {#51@86 #52@87} physReg:NA Preferences=[allFloat] RelatedInterval <V06/L6> | |
Interval 35: simd16 RefPositions {#56@96 #57@99} physReg:NA Preferences=[allFloat] | |
Interval 36: simd16 RefPositions {#59@100 #61@101} physReg:NA Preferences=[d0] | |
------------ | |
REFPOSITIONS BEFORE VALIDATING INTERVALS: | |
------------ | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[d0] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #1 @0 RefTypeParamDef <Ivl:1 V01> BB00 regmask=[d1] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #2 @0 RefTypeParamDef <Ivl:2 V02> BB00 regmask=[d2] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #3 @1 RefTypeBB BB01 regmask=[] minReg=1 wt=100.00> | |
<RefPosition #4 @7 RefTypeDef <Ivl:18 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 wt=400.00> | |
<RefPosition #5 @7 RefTypeUse <Ivl:18 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 last wt=400.00> | |
<RefPosition #6 @8 RefTypeDef <Ivl:19> CNS_VEC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #7 @9 RefTypeUse <Ivl:19> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #8 @10 RefTypeDef <Ivl:8 V13> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #9 @13 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #10 @13 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #11 @14 RefTypeDef <Ivl:20> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #12 @15 RefTypeUse <Ivl:20> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #13 @16 RefTypeDef <Ivl:3 V03> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=200.00> | |
<RefPosition #14 @23 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=400.00> | |
<RefPosition #15 @24 RefTypeDef <Ivl:21> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #16 @27 RefTypeUse <Ivl:21> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #17 @27 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
<RefPosition #18 @28 RefTypeDef <Ivl:22> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #19 @29 RefTypeUse <Ivl:22> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #20 @30 RefTypeDef <Ivl:4 V04> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #21 @35 RefTypeDef <Ivl:23 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 wt=400.00> | |
<RefPosition #22 @35 RefTypeUse <Ivl:23 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 last wt=400.00> | |
<RefPosition #23 @36 RefTypeDef <Ivl:24> CNS_VEC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #24 @37 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #25 @37 RefTypeUse <Ivl:24> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #26 @38 RefTypeDef <Ivl:25> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #27 @41 RefTypeUse <Ivl:25> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #28 @41 RefTypeUse <Ivl:3 V03> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
<RefPosition #29 @42 RefTypeDef <Ivl:26> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #30 @43 RefTypeUse <Ivl:26> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #31 @44 RefTypeDef <Ivl:7 V07> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=200.00> | |
<RefPosition #32 @51 RefTypeDef <Ivl:27 internal> STORE_BLK BB01 regmask=[x0-xip0 x19-x28] minReg=1 wt=400.00> | |
<RefPosition #33 @51 RefTypeDef <Ivl:28 internal> STORE_BLK BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #34 @51 RefTypeUse <Ivl:27 internal> STORE_BLK BB01 regmask=[x0-xip0 x19-x28] minReg=1 last wt=400.00> | |
<RefPosition #35 @51 RefTypeUse <Ivl:28 internal> STORE_BLK BB01 regmask=[allFloat] minReg=1 last wt=400.00> | |
<RefPosition #36 @57 RefTypeUse <Ivl:1 V01> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
<RefPosition #37 @63 RefTypeUse <Ivl:2 V02> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
<RefPosition #38 @68 RefTypeDef <Ivl:29> LCL_FLD BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #39 @70 RefTypeDef <Ivl:30> LCL_FLD BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #40 @75 RefTypeUse <Ivl:29> BB01 regmask=[allFloat] minReg=2 last wt=100.00> | |
<RefPosition #41 @75 RefTypeUse <Ivl:30> BB01 regmask=[allFloat] minReg=2 last wt=100.00> | |
<RefPosition #42 @75 RefTypeUse <Ivl:7 V07> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
<RefPosition #43 @76 RefTypeDef <Ivl:31> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #44 @77 RefTypeUse <Ivl:31> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #45 @78 RefTypeDef <Ivl:5 V05> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=200.00> | |
<RefPosition #46 @83 RefTypeDef <Ivl:32 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 wt=400.00> | |
<RefPosition #47 @83 RefTypeUse <Ivl:32 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 last wt=400.00> | |
<RefPosition #48 @84 RefTypeDef <Ivl:33> CNS_VEC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #49 @85 RefTypeUse <Ivl:33> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #50 @85 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
<RefPosition #51 @86 RefTypeDef <Ivl:34> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #52 @87 RefTypeUse <Ivl:34> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #53 @88 RefTypeDef <Ivl:6 V06> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #54 @95 RefTypeUse <Ivl:5 V05> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
<RefPosition #55 @95 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #56 @96 RefTypeDef <Ivl:35> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #57 @99 RefTypeUse <Ivl:35> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #58 @99 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
<RefPosition #59 @100 RefTypeDef <Ivl:36> HWINTRINSIC BB01 regmask=[d0] minReg=1 wt=400.00> | |
<RefPosition #60 @101 RefTypeFixedReg <Reg:d0 > BB01 regmask=[d0] minReg=1 wt=100.00> | |
<RefPosition #61 @101 RefTypeUse <Ivl:36> BB01 regmask=[d0] minReg=1 last fixed wt=100.00> | |
------------ | |
REFPOSITIONS DURING VALIDATE INTERVALS (RefPositions per interval) | |
------------ | |
----------------- | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[d0] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #9 @13 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #14 @23 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=400.00> | |
----------------- | |
<RefPosition #1 @0 RefTypeParamDef <Ivl:1 V01> BB00 regmask=[d1] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #36 @57 RefTypeUse <Ivl:1 V01> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
----------------- | |
<RefPosition #2 @0 RefTypeParamDef <Ivl:2 V02> BB00 regmask=[d2] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #37 @63 RefTypeUse <Ivl:2 V02> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
----------------- | |
<RefPosition #20 @30 RefTypeDef <Ivl:4 V04> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #24 @37 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #50 @85 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
----------------- | |
<RefPosition #53 @88 RefTypeDef <Ivl:6 V06> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #55 @95 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #58 @99 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
----------------- | |
<RefPosition #8 @10 RefTypeDef <Ivl:8 V13> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #10 @13 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #17 @27 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
----------------- | |
<RefPosition #13 @16 RefTypeDef <Ivl:3 V03> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=200.00> | |
<RefPosition #28 @41 RefTypeUse <Ivl:3 V03> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
----------------- | |
<RefPosition #45 @78 RefTypeDef <Ivl:5 V05> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=200.00> | |
<RefPosition #54 @95 RefTypeUse <Ivl:5 V05> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
----------------- | |
<RefPosition #31 @44 RefTypeDef <Ivl:7 V07> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=200.00> | |
<RefPosition #42 @75 RefTypeUse <Ivl:7 V07> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
TUPLE STYLE DUMP WITH REF POSITIONS | |
Incoming Parameters: V00 V01 V02 | |
BB01 [000..0BB) (return), preds={} succs={} | |
===== | |
N003. IL_OFFSET INLRT @ 0x000[E-] | |
N005. V00(L0) | |
N007. CNS_VEC <0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
Def:<T18>(#4) | |
Use:<T18>(#5) * | |
Def:<I19>(#6) Pref:<V13/L8> | |
N009. V13(L8) | |
Use:<I19>(#7) * | |
Def:<V13/L8>(#8) | |
N011. V13(L8) | |
N013. HWINTRINSIC | |
Use:<V00/L0>(#9) | |
Use:<V13/L8>(#10) | |
Def:<I20>(#11) Pref:<V03/L3> | |
N015. V03(L3) | |
Use:<I20>(#12) * | |
Def:<V03/L3>(#13) | |
N017. IL_OFFSET INLRT @ 0x00E[E-] | |
N019. V00(L0) | |
N021. CNS_INT 4 | |
N023. HWINTRINSIC | |
Use:<V00/L0>(#14) * | |
Def:<I21>(#15) | |
N025. V13(L8) | |
N027. HWINTRINSIC | |
Use:<I21>(#16) * | |
Use:<V13/L8>(#17) * | |
Def:<I22>(#18) Pref:<V04/L4> | |
N029. V04(L4) | |
Use:<I22>(#19) * | |
Def:<V04/L4>(#20) | |
N031. IL_OFFSET INLRT @ 0x033[E-] | |
N033. V04(L4) | |
N035. CNS_VEC <0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
Def:<T23>(#21) | |
Use:<T23>(#22) * | |
Def:<I24>(#23) | |
N037. HWINTRINSIC | |
Use:<V04/L4>(#24) | |
Use:<I24>(#25) * | |
Def:<I25>(#26) | |
N039. V03(L3) | |
N041. HWINTRINSIC | |
Use:<I25>(#27) * | |
Use:<V03/L3>(#28) * | |
Def:<I26>(#29) Pref:<V07/L7> | |
N043. V07(L7) | |
Use:<I26>(#30) * | |
Def:<V07/L7>(#31) | |
N045. IL_OFFSET INLRT @ 0x050[E-] | |
N047. CNS_INT 0 | |
N049. LCL_ADDR V11 tmp1 [+0] NA | |
N051. STORE_BLK | |
Def:<T27>(#32) | |
Def:<T28>(#33) | |
Use:<T27>(#34) * | |
Use:<T28>(#35) * | |
N053. IL_OFFSET INL01 @ 0x000[E-] <- INLRT @ ??? | |
N055. V01(L1) | |
N057. V11 MEM | |
Use:<V01/L1>(#36) * | |
N059. IL_OFFSET INL01 @ 0x007[E-] <- INLRT @ ??? | |
N061. V02(L2) | |
N063. V11 MEM | |
Use:<V02/L2>(#37) * | |
N065. IL_OFFSET INLRT @ 0x057[--] | |
N067. V11 MEM | |
Def:<I29>(#38) | |
N069. V11 MEM | |
Def:<I30>(#39) | |
N071. FIELD_LIST | |
N073. V07(L7) | |
N075. HWINTRINSIC | |
Use:<I29>(#40) * | |
Use:<I30>(#41) * | |
Use:<V07/L7>(#42) * | |
Def:<I31>(#43) Pref:<V05/L5> | |
N077. V05(L5) | |
Use:<I31>(#44) * | |
Def:<V05/L5>(#45) | |
N079. IL_OFFSET INLRT @ 0x093[E-] | |
N081. V04(L4) | |
N083. CNS_VEC <0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
Def:<T32>(#46) | |
Use:<T32>(#47) * | |
Def:<I33>(#48) | |
N085. HWINTRINSIC | |
Use:<I33>(#49) * | |
Use:<V04/L4>(#50) * | |
Def:<I34>(#51) Pref:<V06/L6> | |
N087. V06(L6) | |
Use:<I34>(#52) * | |
Def:<V06/L6>(#53) | |
N089. IL_OFFSET INLRT @ 0x0AD[E-] | |
N091. V05(L5) | |
N093. V06(L6) | |
N095. HWINTRINSIC | |
Use:<V05/L5>(#54) * | |
Use:<V06/L6>(#55) | |
Def:<I35>(#56) | |
N097. V06(L6) | |
N099. HWINTRINSIC | |
Use:<I35>(#57) * | |
Use:<V06/L6>(#58) * | |
Def:<I36>(#59) | |
N101. RETURN | |
Use:<I36>(#61) Fixed:d0(#60) * | |
Linear scan intervals after buildIntervals: | |
Interval 0: (V00) simd16 RefPositions {#0@0 #9@13 #14@23} physReg:d0 Preferences=[d0] | |
Interval 1: (V01) simd16 RefPositions {#1@0 #36@57} physReg:d1 Preferences=[d1] | |
Interval 2: (V02) simd16 RefPositions {#2@0 #37@63} physReg:d2 Preferences=[d2] | |
Interval 3: (V03) simd16 RefPositions {#13@16 #28@41} physReg:NA Preferences=[allFloat] | |
Interval 4: (V04) simd16 RefPositions {#20@30 #24@37 #50@85} physReg:NA Preferences=[allFloat] | |
Interval 5: (V05) simd16 RefPositions {#45@78 #54@95} physReg:NA Preferences=[allFloat] | |
Interval 6: (V06) simd16 RefPositions {#53@88 #55@95 #58@99} physReg:NA Preferences=[allFloat] | |
Interval 7: (V07) simd16 RefPositions {#31@44 #42@75} physReg:NA Preferences=[allFloat] | |
Interval 8: (V13) simd16 RefPositions {#8@10 #10@13 #17@27} physReg:NA Preferences=[allFloat] | |
Interval 9: (U00) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V00/L0> | |
Interval 10: (U01) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V01/L1> | |
Interval 11: (U02) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V02/L2> | |
Interval 12: (U04) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V04/L4> | |
Interval 13: (U06) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V06/L6> | |
Interval 14: (U13) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V13/L8> | |
Interval 15: (U03) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V03/L3> | |
Interval 16: (U05) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V05/L5> | |
Interval 17: (U07) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V07/L7> | |
Interval 18: int (INTERNAL) RefPositions {#4@7 #5@7} physReg:NA Preferences=[x0-xip0 x19-x28] | |
Interval 19: simd16 (constant) RefPositions {#6@8 #7@9} physReg:NA Preferences=[allFloat] RelatedInterval <V13/L8> | |
Interval 20: simd16 RefPositions {#11@14 #12@15} physReg:NA Preferences=[allFloat] RelatedInterval <V03/L3> | |
Interval 21: simd16 RefPositions {#15@24 #16@27} physReg:NA Preferences=[allFloat] | |
Interval 22: simd16 RefPositions {#18@28 #19@29} physReg:NA Preferences=[allFloat] RelatedInterval <V04/L4> | |
Interval 23: int (INTERNAL) RefPositions {#21@35 #22@35} physReg:NA Preferences=[x0-xip0 x19-x28] | |
Interval 24: simd16 (constant) RefPositions {#23@36 #25@37} physReg:NA Preferences=[allFloat] | |
Interval 25: simd16 RefPositions {#26@38 #27@41} physReg:NA Preferences=[allFloat] | |
Interval 26: simd16 RefPositions {#29@42 #30@43} physReg:NA Preferences=[allFloat] RelatedInterval <V07/L7> | |
Interval 27: int (INTERNAL) RefPositions {#32@51 #34@51} physReg:NA Preferences=[x0-xip0 x19-x28] | |
Interval 28: float (INTERNAL) RefPositions {#33@51 #35@51} physReg:NA Preferences=[allFloat] | |
Interval 29: simd16 RefPositions {#38@68 #40@75} physReg:NA Preferences=[allFloat] | |
Interval 30: simd16 RefPositions {#39@70 #41@75} physReg:NA Preferences=[allFloat] | |
Interval 31: simd16 RefPositions {#43@76 #44@77} physReg:NA Preferences=[allFloat] RelatedInterval <V05/L5> | |
Interval 32: int (INTERNAL) RefPositions {#46@83 #47@83} physReg:NA Preferences=[x0-xip0 x19-x28] | |
Interval 33: simd16 (constant) RefPositions {#48@84 #49@85} physReg:NA Preferences=[allFloat] | |
Interval 34: simd16 RefPositions {#51@86 #52@87} physReg:NA Preferences=[allFloat] RelatedInterval <V06/L6> | |
Interval 35: simd16 RefPositions {#56@96 #57@99} physReg:NA Preferences=[allFloat] | |
Interval 36: simd16 RefPositions {#59@100 #61@101} physReg:NA Preferences=[d0] | |
*************** In LinearScan::allocateRegisters() | |
Linear scan intervals before allocateRegisters: | |
Interval 0: (V00) simd16 RefPositions {#0@0 #9@13 #14@23} physReg:d0 Preferences=[d0] | |
Interval 1: (V01) simd16 RefPositions {#1@0 #36@57} physReg:d1 Preferences=[d1] | |
Interval 2: (V02) simd16 RefPositions {#2@0 #37@63} physReg:d2 Preferences=[d2] | |
Interval 3: (V03) simd16 RefPositions {#13@16 #28@41} physReg:NA Preferences=[allFloat] | |
Interval 4: (V04) simd16 RefPositions {#20@30 #24@37 #50@85} physReg:NA Preferences=[allFloat] | |
Interval 5: (V05) simd16 RefPositions {#45@78 #54@95} physReg:NA Preferences=[allFloat] | |
Interval 6: (V06) simd16 RefPositions {#53@88 #55@95 #58@99} physReg:NA Preferences=[allFloat] | |
Interval 7: (V07) simd16 RefPositions {#31@44 #42@75} physReg:NA Preferences=[allFloat] | |
Interval 8: (V13) simd16 RefPositions {#8@10 #10@13 #17@27} physReg:NA Preferences=[allFloat] | |
Interval 9: (U00) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V00/L0> | |
Interval 10: (U01) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V01/L1> | |
Interval 11: (U02) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V02/L2> | |
Interval 12: (U04) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V04/L4> | |
Interval 13: (U06) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V06/L6> | |
Interval 14: (U13) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V13/L8> | |
Interval 15: (U03) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V03/L3> | |
Interval 16: (U05) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V05/L5> | |
Interval 17: (U07) double RefPositions {} physReg:NA Preferences=[allFloat] RelatedInterval <V07/L7> | |
Interval 18: int (INTERNAL) RefPositions {#4@7 #5@7} physReg:NA Preferences=[x0-xip0 x19-x28] | |
Interval 19: simd16 (constant) RefPositions {#6@8 #7@9} physReg:NA Preferences=[allFloat] RelatedInterval <V13/L8> | |
Interval 20: simd16 RefPositions {#11@14 #12@15} physReg:NA Preferences=[allFloat] RelatedInterval <V03/L3> | |
Interval 21: simd16 RefPositions {#15@24 #16@27} physReg:NA Preferences=[allFloat] | |
Interval 22: simd16 RefPositions {#18@28 #19@29} physReg:NA Preferences=[allFloat] RelatedInterval <V04/L4> | |
Interval 23: int (INTERNAL) RefPositions {#21@35 #22@35} physReg:NA Preferences=[x0-xip0 x19-x28] | |
Interval 24: simd16 (constant) RefPositions {#23@36 #25@37} physReg:NA Preferences=[allFloat] | |
Interval 25: simd16 RefPositions {#26@38 #27@41} physReg:NA Preferences=[allFloat] | |
Interval 26: simd16 RefPositions {#29@42 #30@43} physReg:NA Preferences=[allFloat] RelatedInterval <V07/L7> | |
Interval 27: int (INTERNAL) RefPositions {#32@51 #34@51} physReg:NA Preferences=[x0-xip0 x19-x28] | |
Interval 28: float (INTERNAL) RefPositions {#33@51 #35@51} physReg:NA Preferences=[allFloat] | |
Interval 29: simd16 RefPositions {#38@68 #40@75} physReg:NA Preferences=[allFloat] | |
Interval 30: simd16 RefPositions {#39@70 #41@75} physReg:NA Preferences=[allFloat] | |
Interval 31: simd16 RefPositions {#43@76 #44@77} physReg:NA Preferences=[allFloat] RelatedInterval <V05/L5> | |
Interval 32: int (INTERNAL) RefPositions {#46@83 #47@83} physReg:NA Preferences=[x0-xip0 x19-x28] | |
Interval 33: simd16 (constant) RefPositions {#48@84 #49@85} physReg:NA Preferences=[allFloat] | |
Interval 34: simd16 RefPositions {#51@86 #52@87} physReg:NA Preferences=[allFloat] RelatedInterval <V06/L6> | |
Interval 35: simd16 RefPositions {#56@96 #57@99} physReg:NA Preferences=[allFloat] | |
Interval 36: simd16 RefPositions {#59@100 #61@101} physReg:NA Preferences=[d0] | |
------------ | |
REFPOSITIONS BEFORE ALLOCATION: | |
------------ | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[d0] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #1 @0 RefTypeParamDef <Ivl:1 V01> BB00 regmask=[d1] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #2 @0 RefTypeParamDef <Ivl:2 V02> BB00 regmask=[d2] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #3 @1 RefTypeBB BB01 regmask=[] minReg=1 wt=100.00> | |
<RefPosition #4 @7 RefTypeDef <Ivl:18 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 wt=400.00> | |
<RefPosition #5 @7 RefTypeUse <Ivl:18 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 last wt=400.00> | |
<RefPosition #6 @8 RefTypeDef <Ivl:19> CNS_VEC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #7 @9 RefTypeUse <Ivl:19> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #8 @10 RefTypeDef <Ivl:8 V13> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #9 @13 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #10 @13 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #11 @14 RefTypeDef <Ivl:20> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #12 @15 RefTypeUse <Ivl:20> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #13 @16 RefTypeDef <Ivl:3 V03> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=200.00> | |
<RefPosition #14 @23 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=400.00> | |
<RefPosition #15 @24 RefTypeDef <Ivl:21> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #16 @27 RefTypeUse <Ivl:21> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #17 @27 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
<RefPosition #18 @28 RefTypeDef <Ivl:22> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #19 @29 RefTypeUse <Ivl:22> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #20 @30 RefTypeDef <Ivl:4 V04> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #21 @35 RefTypeDef <Ivl:23 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 wt=400.00> | |
<RefPosition #22 @35 RefTypeUse <Ivl:23 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 last wt=400.00> | |
<RefPosition #23 @36 RefTypeDef <Ivl:24> CNS_VEC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #24 @37 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #25 @37 RefTypeUse <Ivl:24> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #26 @38 RefTypeDef <Ivl:25> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #27 @41 RefTypeUse <Ivl:25> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #28 @41 RefTypeUse <Ivl:3 V03> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
<RefPosition #29 @42 RefTypeDef <Ivl:26> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #30 @43 RefTypeUse <Ivl:26> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #31 @44 RefTypeDef <Ivl:7 V07> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=200.00> | |
<RefPosition #32 @51 RefTypeDef <Ivl:27 internal> STORE_BLK BB01 regmask=[x0-xip0 x19-x28] minReg=1 wt=400.00> | |
<RefPosition #33 @51 RefTypeDef <Ivl:28 internal> STORE_BLK BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #34 @51 RefTypeUse <Ivl:27 internal> STORE_BLK BB01 regmask=[x0-xip0 x19-x28] minReg=1 last wt=400.00> | |
<RefPosition #35 @51 RefTypeUse <Ivl:28 internal> STORE_BLK BB01 regmask=[allFloat] minReg=1 last wt=400.00> | |
<RefPosition #36 @57 RefTypeUse <Ivl:1 V01> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
<RefPosition #37 @63 RefTypeUse <Ivl:2 V02> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
<RefPosition #38 @68 RefTypeDef <Ivl:29> LCL_FLD BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #39 @70 RefTypeDef <Ivl:30> LCL_FLD BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #40 @75 RefTypeUse <Ivl:29> BB01 regmask=[allFloat] minReg=2 last wt=100.00> | |
<RefPosition #41 @75 RefTypeUse <Ivl:30> BB01 regmask=[allFloat] minReg=2 last wt=100.00> | |
<RefPosition #42 @75 RefTypeUse <Ivl:7 V07> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
<RefPosition #43 @76 RefTypeDef <Ivl:31> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #44 @77 RefTypeUse <Ivl:31> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #45 @78 RefTypeDef <Ivl:5 V05> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=200.00> | |
<RefPosition #46 @83 RefTypeDef <Ivl:32 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 wt=400.00> | |
<RefPosition #47 @83 RefTypeUse <Ivl:32 internal> CNS_VEC BB01 regmask=[x0-xip0 x19-x28] minReg=1 last wt=400.00> | |
<RefPosition #48 @84 RefTypeDef <Ivl:33> CNS_VEC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #49 @85 RefTypeUse <Ivl:33> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #50 @85 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
<RefPosition #51 @86 RefTypeDef <Ivl:34> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #52 @87 RefTypeUse <Ivl:34> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #53 @88 RefTypeDef <Ivl:6 V06> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #54 @95 RefTypeUse <Ivl:5 V05> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
<RefPosition #55 @95 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #56 @96 RefTypeDef <Ivl:35> HWINTRINSIC BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #57 @99 RefTypeUse <Ivl:35> BB01 regmask=[allFloat] minReg=1 last wt=100.00> | |
<RefPosition #58 @99 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
<RefPosition #59 @100 RefTypeDef <Ivl:36> HWINTRINSIC BB01 regmask=[d0] minReg=1 wt=400.00> | |
<RefPosition #60 @101 RefTypeFixedReg <Reg:d0 > BB01 regmask=[d0] minReg=1 wt=100.00> | |
<RefPosition #61 @101 RefTypeUse <Ivl:36> BB01 regmask=[d0] minReg=1 last fixed wt=100.00> | |
VAR REFPOSITIONS BEFORE ALLOCATION | |
--- V00 (Interval 0) | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[d0] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #9 @13 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=400.00> | |
<RefPosition #14 @23 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=400.00> | |
--- V01 (Interval 1) | |
<RefPosition #1 @0 RefTypeParamDef <Ivl:1 V01> BB00 regmask=[d1] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #36 @57 RefTypeUse <Ivl:1 V01> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
--- V02 (Interval 2) | |
<RefPosition #2 @0 RefTypeParamDef <Ivl:2 V02> BB00 regmask=[d2] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #37 @63 RefTypeUse <Ivl:2 V02> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
--- V03 (Interval 3) | |
<RefPosition #13 @16 RefTypeDef <Ivl:3 V03> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=200.00> | |
<RefPosition #28 @41 RefTypeUse <Ivl:3 V03> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
--- V04 (Interval 4) | |
<RefPosition #20 @30 RefTypeDef <Ivl:4 V04> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #24 @37 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #50 @85 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
--- V05 (Interval 5) | |
<RefPosition #45 @78 RefTypeDef <Ivl:5 V05> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=200.00> | |
<RefPosition #54 @95 RefTypeUse <Ivl:5 V05> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
--- V06 (Interval 6) | |
<RefPosition #53 @88 RefTypeDef <Ivl:6 V06> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #55 @95 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #58 @99 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
--- V07 (Interval 7) | |
<RefPosition #31 @44 RefTypeDef <Ivl:7 V07> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=200.00> | |
<RefPosition #42 @75 RefTypeUse <Ivl:7 V07> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=200.00> | |
--- V08 | |
--- V09 | |
--- V10 | |
--- V11 | |
--- V12 | |
--- V13 (Interval 8) | |
<RefPosition #8 @10 RefTypeDef <Ivl:8 V13> STORE_LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #10 @13 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[allFloat] minReg=1 wt=300.00> | |
<RefPosition #17 @27 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[allFloat] minReg=1 last wt=300.00> | |
Allocating Registers | |
-------------------- | |
The following table has one or more rows for each RefPosition that is handled during allocation. | |
The columns are: (1) Loc: LSRA location, (2) RP#: RefPosition number, (3) Name, (4) Type (e.g. Def, Use, | |
Fixd, Parm, DDef (Dummy Def), ExpU (Exposed Use), Kill) followed by a '*' if it is a last use, and a 'D' | |
if it is delayRegFree, (5) Action taken during allocation. Some actions include (a) Alloc a new register, | |
(b) Keep an existing register, (c) Spill a register, (d) ReLod (Reload) a register. If an ALL-CAPS name | |
such as COVRS is displayed, it is a score name from lsra_score.h, with a trailing '(A)' indicating alloc, | |
'(C)' indicating copy, and '(R)' indicating re-use. See dumpLsraAllocationEvent() for details. | |
The subsequent columns show the Interval occupying each register, if any, followed by 'a' if it is | |
active, 'p' if it is a large vector that has been partially spilled, and 'i' if it is inactive. | |
Columns are only printed up to the last modified register, which may increase during allocation, | |
in which case additional columns will appear. Registers which are not marked modified have ---- in | |
their column. | |
-------------------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | |
TreeID Loc RP# Name Type Action Reg |x0 |x1 |x2 |x3 |x4 |x5 |x6 |x7 |x19 |x20 |d0 |d1 |d2 |d8 |d9 | | |
-------------------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | |
| | | | | | | | | | |V0 a|V1 a|V2 a| | | | |
0.#0 V0 Parm Keep d0 | | | | | | | | | | |V0 a|V1 a|V2 a| | | | |
0.#1 V1 Parm Keep d1 | | | | | | | | | | |V0 a|V1 a|V2 a| | | | |
0.#2 V2 Parm Keep d2 | | | | | | | | | | |V0 a|V1 a|V2 a| | | | |
1.#3 BB1 PredBB0 | | | | | | | | | | |V0 a|V1 a|V2 a| | | | |
[000002] 7.#4 I18 Def ORDER(A) x0 |I18a| | | | | | | | | |V0 a|V1 a|V2 a| | | | |
7.#5 I18 Use * Keep x0 |I18a| | | | | | | | | |V0 a|V1 a|V2 a| | | | |
-------------------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | |
TreeID Loc RP# Name Type Action Reg |x0 |x1 |x2 |x3 |x4 |x5 |x6 |x7 |x19 |x20 |d0 |d1 |d2 |d8 |d9 |d16 | | |
-------------------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | |
8.#6 C19 Def ORDER(A) d16 | | | | | | | | | | |V0 a|V1 a|V2 a| | |C19a| | |
[000065] 9.#7 C19 Use * Keep d16 | | | | | | | | | | |V0 a|V1 a|V2 a| | |C19a| | |
10.#8 V13 Def COVRS(A) d16 | | | | | | | | | | |V0 a|V1 a|V2 a| | |V13a| | |
[000003] 13.#9 V0 Use Keep d0 | | | | | | | | | | |V0 a|V1 a|V2 a| | |V13a| | |
13.#10 V13 Use Keep d16 | | | | | | | | | | |V0 a|V1 a|V2 a| | |V13a| | |
-------------------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | |
TreeID Loc RP# Name Type Action Reg |x0 |x1 |x2 |x3 |x4 |x5 |x6 |x7 |x19 |x20 |d0 |d1 |d2 |d8 |d9 |d16 |d17 | | |
-------------------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | |
14.#11 I20 Def ORDER(A) d17 | | | | | | | | | | |V0 a|V1 a|V2 a| | |V13a|I20a| | |
[000004] 15.#12 I20 Use * Keep d17 | | | | | | | | | | |V0 a|V1 a|V2 a| | |V13a|I20a| | |
16.#13 V3 Def COVRS(A) d17 | | | | | | | | | | |V0 a|V1 a|V2 a| | |V13a|V3 a| | |
[000007] 23.#14 V0 Use * Keep d0 | | | | | | | | | | |V0 a|V1 a|V2 a| | |V13a|V3 a| | |
24.#15 I21 Def BSFIT(A) d0 | | | | | | | | | | |I21a|V1 a|V2 a| | |V13a|V3 a| | |
[000010] 27.#16 I21 Use * Keep d0 | | | | | | | | | | |I21a|V1 a|V2 a| | |V13a|V3 a| | |
27.#17 V13 Use * Keep d16 | | | | | | | | | | |I21a|V1 a|V2 a| | |V13a|V3 a| | |
28.#18 I22 Def BSFIT(A) d0 | | | | | | | | | | |I22a|V1 a|V2 a| | | |V3 a| | |
[000011] 29.#19 I22 Use * Keep d0 | | | | | | | | | | |I22a|V1 a|V2 a| | | |V3 a| | |
30.#20 V4 Def COVRS(A) d0 | | | | | | | | | | |V4 a|V1 a|V2 a| | | |V3 a| | |
[000017] 35.#21 I23 Def ORDER(A) x0 |I23a| | | | | | | | | |V4 a|V1 a|V2 a| | | |V3 a| | |
35.#22 I23 Use * Keep x0 |I23a| | | | | | | | | |V4 a|V1 a|V2 a| | | |V3 a| | |
36.#23 C24 Def ORDER(A) d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |C24a|V3 a| | |
[000018] 37.#24 V4 Use Keep d0 | | | | | | | | | | |V4 a|V1 a|V2 a| | |C24a|V3 a| | |
37.#25 C24 Use * Keep d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |C24a|V3 a| | |
38.#26 I25 Def ORDER(A) d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |I25a|V3 a| | |
[000020] 41.#27 I25 Use * Keep d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |I25a|V3 a| | |
41.#28 V3 Use * Keep d17 | | | | | | | | | | |V4 a|V1 a|V2 a| | |I25a|V3 a| | |
42.#29 I26 Def ORDER(A) d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |I26a| | | |
[000021] 43.#30 I26 Use * Keep d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |I26a| | | |
44.#31 V7 Def COVRS(A) d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |V7 a| | | |
[000025] 51.#32 I27 Def ORDER(A) x0 |I27a| | | | | | | | | |V4 a|V1 a|V2 a| | |V7 a| | | |
51.#33 I28 Def ORDER(A) d17 |I27a| | | | | | | | | |V4 a|V1 a|V2 a| | |V7 a|I28a| | |
51.#34 I27 Use * Keep x0 |I27a| | | | | | | | | |V4 a|V1 a|V2 a| | |V7 a|I28a| | |
51.#35 I28 Use * Keep d17 |I27a| | | | | | | | | |V4 a|V1 a|V2 a| | |V7 a|I28a| | |
[000049] 57.#36 V1 Use * Keep d1 | | | | | | | | | | |V4 a|V1 a|V2 a| | |V7 a| | | |
[000052] 63.#37 V2 Use * Keep d2 | | | | | | | | | | |V4 a| |V2 a| | |V7 a| | | |
[000031] 68.#38 I29 Def ORDER(A) d17 | | | | | | | | | | |V4 a| | | | |V7 a|I29a| | |
-------------------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | |
TreeID Loc RP# Name Type Action Reg |x0 |x1 |x2 |x3 |x4 |x5 |x6 |x7 |x19 |x20 |d0 |d1 |d2 |d8 |d9 |d16 |d17 |d18 | | |
-------------------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | |
[000032] 70.#39 I30 Def ORDER(A) d18 | | | | | | | | | | |V4 a| | | | |V7 a|I29a|I30a| | |
[000033] 75.#40 I29 Use * Keep d17 | | | | | | | | | | |V4 a| | | | |V7 a|I29a|I30a| | |
75.#41 I30 Use * Keep d18 | | | | | | | | | | |V4 a| | | | |V7 a|I29a|I30a| | |
75.#42 V7 Use * Keep d16 | | | | | | | | | | |V4 a| | | | |V7 a|I29a|I30a| | |
76.#43 I31 Def ORDER(A) d16 | | | | | | | | | | |V4 a| | | | |I31a| | | | |
[000034] 77.#44 I31 Use * Keep d16 | | | | | | | | | | |V4 a| | | | |I31a| | | | |
78.#45 V5 Def COVRS(A) d16 | | | | | | | | | | |V4 a| | | | |V5 a| | | | |
[000060] 83.#46 I32 Def ORDER(A) x0 |I32a| | | | | | | | | |V4 a| | | | |V5 a| | | | |
83.#47 I32 Use * Keep x0 |I32a| | | | | | | | | |V4 a| | | | |V5 a| | | | |
84.#48 C33 Def ORDER(A) d17 | | | | | | | | | | |V4 a| | | | |V5 a|C33a| | | |
[000061] 85.#49 C33 Use * Keep d17 | | | | | | | | | | |V4 a| | | | |V5 a|C33a| | | |
85.#50 V4 Use * Keep d0 | | | | | | | | | | |V4 a| | | | |V5 a|C33a| | | |
86.#51 I34 Def BSFIT(A) d0 | | | | | | | | | | |I34a| | | | |V5 a|C33i| | | |
[000040] 87.#52 I34 Use * Keep d0 | | | | | | | | | | |I34a| | | | |V5 a|C33i| | | |
88.#53 V6 Def COVRS(A) d0 | | | | | | | | | | |V6 a| | | | |V5 a|C33i| | | |
[000043] 95.#54 V5 Use * Keep d16 | | | | | | | | | | |V6 a| | | | |V5 a|C33i| | | |
95.#55 V6 Use Keep d0 | | | | | | | | | | |V6 a| | | | |V5 a|C33i| | | |
96.#56 I35 Def ORDER(A) d16 | | | | | | | | | | |V6 a| | | | |I35a|C33i| | | |
[000045] 99.#57 I35 Use * Keep d16 | | | | | | | | | | |V6 a| | | | |I35a|C33i| | | |
99.#58 V6 Use * Keep d0 | | | | | | | | | | |V6 a| | | | |I35a|C33i| | | |
100.#59 I36 Def Alloc d0 | | | | | | | | | | |I36a| | | | | |C33i| | | |
[000046] 101.#60 d0 Fixd Keep d0 | | | | | | | | | | |I36a| | | | | |C33i| | | |
101.#61 I36 Use * Keep d0 | | | | | | | | | | | | | | | | |C33i| | | |
------------ | |
REFPOSITIONS AFTER ALLOCATION: | |
------------ | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[d0] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #1 @0 RefTypeParamDef <Ivl:1 V01> BB00 regmask=[d1] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #2 @0 RefTypeParamDef <Ivl:2 V02> BB00 regmask=[d2] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #3 @1 RefTypeBB BB01 regmask=[] minReg=1 wt=100.00> | |
<RefPosition #4 @7 RefTypeDef <Ivl:18 internal> CNS_VEC BB01 regmask=[x0] minReg=1 wt=400.00> | |
<RefPosition #5 @7 RefTypeUse <Ivl:18 internal> CNS_VEC BB01 regmask=[x0] minReg=1 last wt=400.00> | |
<RefPosition #6 @8 RefTypeDef <Ivl:19> CNS_VEC BB01 regmask=[d16] minReg=1 wt=400.00> | |
<RefPosition #7 @9 RefTypeUse <Ivl:19> BB01 regmask=[d16] minReg=1 last wt=100.00> | |
<RefPosition #8 @10 RefTypeDef <Ivl:8 V13> STORE_LCL_VAR BB01 regmask=[d16] minReg=1 wt=300.00> | |
<RefPosition #9 @13 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[d0] minReg=1 wt=400.00> | |
<RefPosition #10 @13 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[d16] minReg=1 wt=300.00> | |
<RefPosition #11 @14 RefTypeDef <Ivl:20> HWINTRINSIC BB01 regmask=[d17] minReg=1 wt=400.00> | |
<RefPosition #12 @15 RefTypeUse <Ivl:20> BB01 regmask=[d17] minReg=1 last wt=100.00> | |
<RefPosition #13 @16 RefTypeDef <Ivl:3 V03> STORE_LCL_VAR BB01 regmask=[d17] minReg=1 wt=200.00> | |
<RefPosition #14 @23 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[d0] minReg=1 last wt=400.00> | |
<RefPosition #15 @24 RefTypeDef <Ivl:21> HWINTRINSIC BB01 regmask=[d0] minReg=1 wt=400.00> | |
<RefPosition #16 @27 RefTypeUse <Ivl:21> BB01 regmask=[d0] minReg=1 last wt=100.00> | |
<RefPosition #17 @27 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[d16] minReg=1 last wt=300.00> | |
<RefPosition #18 @28 RefTypeDef <Ivl:22> HWINTRINSIC BB01 regmask=[d0] minReg=1 wt=400.00> | |
<RefPosition #19 @29 RefTypeUse <Ivl:22> BB01 regmask=[d0] minReg=1 last wt=100.00> | |
<RefPosition #20 @30 RefTypeDef <Ivl:4 V04> STORE_LCL_VAR BB01 regmask=[d0] minReg=1 wt=300.00> | |
<RefPosition #21 @35 RefTypeDef <Ivl:23 internal> CNS_VEC BB01 regmask=[x0] minReg=1 wt=400.00> | |
<RefPosition #22 @35 RefTypeUse <Ivl:23 internal> CNS_VEC BB01 regmask=[x0] minReg=1 last wt=400.00> | |
<RefPosition #23 @36 RefTypeDef <Ivl:24> CNS_VEC BB01 regmask=[d16] minReg=1 wt=400.00> | |
<RefPosition #24 @37 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[d0] minReg=1 wt=300.00> | |
<RefPosition #25 @37 RefTypeUse <Ivl:24> BB01 regmask=[d16] minReg=1 last wt=100.00> | |
<RefPosition #26 @38 RefTypeDef <Ivl:25> HWINTRINSIC BB01 regmask=[d16] minReg=1 wt=400.00> | |
<RefPosition #27 @41 RefTypeUse <Ivl:25> BB01 regmask=[d16] minReg=1 last wt=100.00> | |
<RefPosition #28 @41 RefTypeUse <Ivl:3 V03> LCL_VAR BB01 regmask=[d17] minReg=1 last wt=200.00> | |
<RefPosition #29 @42 RefTypeDef <Ivl:26> HWINTRINSIC BB01 regmask=[d16] minReg=1 wt=400.00> | |
<RefPosition #30 @43 RefTypeUse <Ivl:26> BB01 regmask=[d16] minReg=1 last wt=100.00> | |
<RefPosition #31 @44 RefTypeDef <Ivl:7 V07> STORE_LCL_VAR BB01 regmask=[d16] minReg=1 wt=200.00> | |
<RefPosition #32 @51 RefTypeDef <Ivl:27 internal> STORE_BLK BB01 regmask=[x0] minReg=1 wt=400.00> | |
<RefPosition #33 @51 RefTypeDef <Ivl:28 internal> STORE_BLK BB01 regmask=[d17] minReg=1 wt=400.00> | |
<RefPosition #34 @51 RefTypeUse <Ivl:27 internal> STORE_BLK BB01 regmask=[x0] minReg=1 last wt=400.00> | |
<RefPosition #35 @51 RefTypeUse <Ivl:28 internal> STORE_BLK BB01 regmask=[d17] minReg=1 last wt=400.00> | |
<RefPosition #36 @57 RefTypeUse <Ivl:1 V01> LCL_VAR BB01 regmask=[d1] minReg=1 last wt=300.00> | |
<RefPosition #37 @63 RefTypeUse <Ivl:2 V02> LCL_VAR BB01 regmask=[d2] minReg=1 last wt=300.00> | |
<RefPosition #38 @68 RefTypeDef <Ivl:29> LCL_FLD BB01 regmask=[d17] minReg=1 wt=400.00> | |
<RefPosition #39 @70 RefTypeDef <Ivl:30> LCL_FLD BB01 regmask=[d18] minReg=1 wt=400.00> | |
<RefPosition #40 @75 RefTypeUse <Ivl:29> BB01 regmask=[d17] minReg=2 last wt=100.00> | |
<RefPosition #41 @75 RefTypeUse <Ivl:30> BB01 regmask=[d18] minReg=2 last wt=100.00> | |
<RefPosition #42 @75 RefTypeUse <Ivl:7 V07> LCL_VAR BB01 regmask=[d16] minReg=1 last wt=200.00> | |
<RefPosition #43 @76 RefTypeDef <Ivl:31> HWINTRINSIC BB01 regmask=[d16] minReg=1 wt=400.00> | |
<RefPosition #44 @77 RefTypeUse <Ivl:31> BB01 regmask=[d16] minReg=1 last wt=100.00> | |
<RefPosition #45 @78 RefTypeDef <Ivl:5 V05> STORE_LCL_VAR BB01 regmask=[d16] minReg=1 wt=200.00> | |
<RefPosition #46 @83 RefTypeDef <Ivl:32 internal> CNS_VEC BB01 regmask=[x0] minReg=1 wt=400.00> | |
<RefPosition #47 @83 RefTypeUse <Ivl:32 internal> CNS_VEC BB01 regmask=[x0] minReg=1 last wt=400.00> | |
<RefPosition #48 @84 RefTypeDef <Ivl:33> CNS_VEC BB01 regmask=[d17] minReg=1 wt=400.00> | |
<RefPosition #49 @85 RefTypeUse <Ivl:33> BB01 regmask=[d17] minReg=1 last wt=100.00> | |
<RefPosition #50 @85 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[d0] minReg=1 last wt=300.00> | |
<RefPosition #51 @86 RefTypeDef <Ivl:34> HWINTRINSIC BB01 regmask=[d0] minReg=1 wt=400.00> | |
<RefPosition #52 @87 RefTypeUse <Ivl:34> BB01 regmask=[d0] minReg=1 last wt=100.00> | |
<RefPosition #53 @88 RefTypeDef <Ivl:6 V06> STORE_LCL_VAR BB01 regmask=[d0] minReg=1 wt=300.00> | |
<RefPosition #54 @95 RefTypeUse <Ivl:5 V05> LCL_VAR BB01 regmask=[d16] minReg=1 last wt=200.00> | |
<RefPosition #55 @95 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[d0] minReg=1 wt=300.00> | |
<RefPosition #56 @96 RefTypeDef <Ivl:35> HWINTRINSIC BB01 regmask=[d16] minReg=1 wt=400.00> | |
<RefPosition #57 @99 RefTypeUse <Ivl:35> BB01 regmask=[d16] minReg=1 last wt=100.00> | |
<RefPosition #58 @99 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[d0] minReg=1 last wt=300.00> | |
<RefPosition #59 @100 RefTypeDef <Ivl:36> HWINTRINSIC BB01 regmask=[d0] minReg=1 wt=400.00> | |
<RefPosition #60 @101 RefTypeFixedReg <Reg:d0 > BB01 regmask=[d0] minReg=1 wt=100.00> | |
<RefPosition #61 @101 RefTypeUse <Ivl:36> BB01 regmask=[d0] minReg=1 last fixed wt=100.00> | |
VAR REFPOSITIONS AFTER ALLOCATION | |
--- V00 (Interval 0) | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[d0] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #9 @13 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[d0] minReg=1 wt=400.00> | |
<RefPosition #14 @23 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[d0] minReg=1 last wt=400.00> | |
--- V01 (Interval 1) | |
<RefPosition #1 @0 RefTypeParamDef <Ivl:1 V01> BB00 regmask=[d1] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #36 @57 RefTypeUse <Ivl:1 V01> LCL_VAR BB01 regmask=[d1] minReg=1 last wt=300.00> | |
--- V02 (Interval 2) | |
<RefPosition #2 @0 RefTypeParamDef <Ivl:2 V02> BB00 regmask=[d2] minReg=1 fixed regOptional wt=100.00> | |
<RefPosition #37 @63 RefTypeUse <Ivl:2 V02> LCL_VAR BB01 regmask=[d2] minReg=1 last wt=300.00> | |
--- V03 (Interval 3) | |
<RefPosition #13 @16 RefTypeDef <Ivl:3 V03> STORE_LCL_VAR BB01 regmask=[d17] minReg=1 wt=200.00> | |
<RefPosition #28 @41 RefTypeUse <Ivl:3 V03> LCL_VAR BB01 regmask=[d17] minReg=1 last wt=200.00> | |
--- V04 (Interval 4) | |
<RefPosition #20 @30 RefTypeDef <Ivl:4 V04> STORE_LCL_VAR BB01 regmask=[d0] minReg=1 wt=300.00> | |
<RefPosition #24 @37 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[d0] minReg=1 wt=300.00> | |
<RefPosition #50 @85 RefTypeUse <Ivl:4 V04> LCL_VAR BB01 regmask=[d0] minReg=1 last wt=300.00> | |
--- V05 (Interval 5) | |
<RefPosition #45 @78 RefTypeDef <Ivl:5 V05> STORE_LCL_VAR BB01 regmask=[d16] minReg=1 wt=200.00> | |
<RefPosition #54 @95 RefTypeUse <Ivl:5 V05> LCL_VAR BB01 regmask=[d16] minReg=1 last wt=200.00> | |
--- V06 (Interval 6) | |
<RefPosition #53 @88 RefTypeDef <Ivl:6 V06> STORE_LCL_VAR BB01 regmask=[d0] minReg=1 wt=300.00> | |
<RefPosition #55 @95 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[d0] minReg=1 wt=300.00> | |
<RefPosition #58 @99 RefTypeUse <Ivl:6 V06> LCL_VAR BB01 regmask=[d0] minReg=1 last wt=300.00> | |
--- V07 (Interval 7) | |
<RefPosition #31 @44 RefTypeDef <Ivl:7 V07> STORE_LCL_VAR BB01 regmask=[d16] minReg=1 wt=200.00> | |
<RefPosition #42 @75 RefTypeUse <Ivl:7 V07> LCL_VAR BB01 regmask=[d16] minReg=1 last wt=200.00> | |
--- V08 | |
--- V09 | |
--- V10 | |
--- V11 | |
--- V12 | |
--- V13 (Interval 8) | |
<RefPosition #8 @10 RefTypeDef <Ivl:8 V13> STORE_LCL_VAR BB01 regmask=[d16] minReg=1 wt=300.00> | |
<RefPosition #10 @13 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[d16] minReg=1 wt=300.00> | |
<RefPosition #17 @27 RefTypeUse <Ivl:8 V13> LCL_VAR BB01 regmask=[d16] minReg=1 last wt=300.00> | |
Active intervals at end of allocation: | |
----------------------- | |
RESOLVING BB BOUNDARIES | |
----------------------- | |
Resolution Candidates: {V00 V01 V02} | |
Has No Critical Edges | |
Prior to Resolution | |
BB01 | |
use: {V00 V01 V02} | |
def: {V03 V04 V05 V06 V07 V11 V13} | |
in: {V00 V01 V02} | |
out: {} | |
Var=Reg beg of BB01: V00=d0 V01=d1 V02=d2 | |
Var=Reg end of BB01: none | |
RESOLVING EDGES | |
Set V00 argument initial register to d0 | |
Set V01 argument initial register to d1 | |
Set V02 argument initial register to d2 | |
Trees after linear scan register allocator (LSRA) | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC LIR | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
N003 (???,???) [000069] ----------- IL_OFFSET void INLRT @ 0x000[E-] REG NA | |
N005 ( 1, 1) [000000] ----------- t0 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 d0 REG d0 $80 | |
N007 ( 3, 2) [000002] ----------- t2 = CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> REG d16 $140 | |
/--* t2 simd16 | |
N009 ( 3, 3) [000065] DA--------- * STORE_LCL_VAR simd16 V13 cse0 d:1 d16 REG d16 $VN.Void | |
N011 ( 1, 1) [000066] ----------- t66 = LCL_VAR simd16 V13 cse0 u:1 d16 REG d16 $140 | |
/--* t0 simd16 | |
+--* t66 simd16 | |
N013 ( 6, 6) [000003] ----------- t3 = * HWINTRINSIC simd16 ubyte And REG d17 $1c0 | |
/--* t3 simd16 | |
N015 ( 10, 9) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 d17 REG d17 $VN.Void | |
N017 (???,???) [000070] ----------- IL_OFFSET void INLRT @ 0x00E[E-] REG NA | |
N019 ( 1, 1) [000005] ----------- t5 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 d0 (last use) REG d0 $80 | |
N021 ( 1, 2) [000006] -c-----N--- t6 = CNS_INT int 4 REG NA $44 | |
/--* t5 simd16 | |
+--* t6 int | |
N023 ( 3, 4) [000007] ----------- t7 = * HWINTRINSIC simd16 int ShiftRightLogical REG d0 $1c1 | |
N025 ( 1, 1) [000068] ----------- t68 = LCL_VAR simd16 V13 cse0 u:1 d16 (last use) REG d16 $140 | |
/--* t7 simd16 | |
+--* t68 simd16 | |
N027 ( 5, 6) [000010] ----------- t10 = * HWINTRINSIC simd16 ubyte And REG d0 $1c2 | |
/--* t10 simd16 | |
N029 ( 5, 6) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 d0 REG d0 $VN.Void | |
N031 (???,???) [000071] ----------- IL_OFFSET void INLRT @ 0x033[E-] REG NA | |
N033 ( 1, 1) [000015] ----------- t15 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 d0 REG d0 $1c2 | |
N035 ( 3, 2) [000017] ----------- t17 = CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> REG d16 $143 | |
/--* t15 simd16 | |
+--* t17 simd16 | |
N037 ( 5, 4) [000018] ----------- t18 = * HWINTRINSIC simd16 ubyte And REG d16 $1c3 | |
N039 ( 3, 2) [000019] ----------- t19 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 d17 (last use) REG d17 $1c0 | |
/--* t18 simd16 | |
+--* t19 simd16 | |
N041 ( 9, 7) [000020] ----------- t20 = * HWINTRINSIC simd16 ubyte Or REG d16 $1c4 | |
/--* t20 simd16 | |
N043 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 d16 REG d16 $VN.Void | |
N045 (???,???) [000072] ----------- IL_OFFSET void INLRT @ 0x050[E-] REG NA | |
N047 ( 1, 2) [000024] -c--------- t24 = CNS_INT int 0 REG NA $40 | |
N049 (???,???) [000078] Dc--------- t78 = LCL_ADDR byref V11 tmp1 [+0] NA REG NA | |
/--* t78 byref | |
+--* t24 int | |
N051 ( 11, 9) [000025] sA--------- * STORE_BLK struct<System.ValueTuple`2, 32> (init) (Unroll) REG NA | |
N053 (???,???) [000073] ----------- IL_OFFSET void INL01 @ 0x000[E-] <- INLRT @ ??? REG NA | |
N055 ( 1, 1) [000022] ----------- t22 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 d1 (last use) REG d1 $81 | |
/--* t22 simd16 | |
N057 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] NA REG NA $VN.Void | |
N059 (???,???) [000074] ----------- IL_OFFSET void INL01 @ 0x007[E-] <- INLRT @ ??? REG NA | |
N061 ( 1, 1) [000023] ----------- t23 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 d2 (last use) REG d2 $82 | |
/--* t23 simd16 | |
N063 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] NA REG NA $VN.Void | |
N065 (???,???) [000075] ----------- IL_OFFSET void INLRT @ 0x057[--] REG NA | |
N067 ( 3, 4) [000031] ----------- t31 = LCL_FLD simd16 V11 tmp1 u:4[+0] d17 REG d17 $81 | |
N069 ( 3, 4) [000032] ----------- t32 = LCL_FLD simd16 V11 tmp1 u:4[+16] d18 (last use) REG d18 $82 | |
/--* t31 simd16 | |
+--* t32 simd16 | |
N071 ( 6, 8) [000030] -c--------- t30 = * FIELD_LIST struct REG NA $c2 | |
N073 ( 3, 2) [000029] ----------- t29 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 d16 (last use) REG d16 $1c4 | |
/--* t30 struct | |
+--* t29 simd16 | |
N075 ( 10, 11) [000033] ----------- t33 = * HWINTRINSIC simd16 ubyte VectorTableLookup REG d16 $1c5 | |
/--* t33 simd16 | |
N077 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 d16 REG d16 $VN.Void | |
N079 (???,???) [000076] ----------- IL_OFFSET void INLRT @ 0x093[E-] REG NA | |
N081 ( 1, 1) [000037] ----------- t37 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 d0 (last use) REG d0 $1c2 | |
N083 ( 3, 2) [000060] ----------- t60 = CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> REG d17 $144 | |
/--* t60 simd16 | |
+--* t37 simd16 | |
N085 ( 5, 4) [000061] ----------- t61 = * HWINTRINSIC simd16 ubyte VectorTableLookup REG d0 $1c6 | |
/--* t61 simd16 | |
N087 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 d0 REG d0 $VN.Void | |
N089 (???,???) [000077] ----------- IL_OFFSET void INLRT @ 0x0AD[E-] REG NA | |
N091 ( 3, 2) [000041] ----------- t41 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 d16 (last use) REG d16 $1c5 | |
N093 ( 1, 1) [000042] ----------- t42 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 d0 REG d0 $1c6 | |
/--* t41 simd16 | |
+--* t42 simd16 | |
N095 ( 5, 4) [000043] ----------- t43 = * HWINTRINSIC simd16 ubyte And REG d16 $1c7 | |
N097 ( 1, 1) [000044] ----------- t44 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 d0 (last use) REG d0 $1c6 | |
/--* t43 simd16 | |
+--* t44 simd16 | |
N099 ( 7, 6) [000045] ----------- t45 = * HWINTRINSIC simd16 ubyte CompareEqual REG d0 $1c8 | |
/--* t45 simd16 | |
N101 ( 8, 7) [000046] ----------- * RETURN simd16 REG NA $VN.Void | |
------------------------------------------------------------------------------------------------------------------- | |
Final allocation | |
-------------------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | |
TreeID Loc RP# Name Type Action Reg |x0 |x1 |x2 |x3 |x4 |x5 |x6 |x7 |x19 |x20 |d0 |d1 |d2 |d8 |d9 |d16 |d17 |d18 | | |
-------------------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | |
0.#0 V0 Parm Alloc d0 | | | | | | | | | | |V0 a| | | | | | | | | |
0.#1 V1 Parm Alloc d1 | | | | | | | | | | |V0 a|V1 a| | | | | | | | |
0.#2 V2 Parm Alloc d2 | | | | | | | | | | |V0 a|V1 a|V2 a| | | | | | | |
1.#3 BB1 PredBB0 | | | | | | | | | | |V0 a|V1 a|V2 a| | | | | | | |
[000002] 7.#4 I18 Def Alloc x0 |I18a| | | | | | | | | |V0 a|V1 a|V2 a| | | | | | | |
7.#5 I18 Use * Keep x0 |I18i| | | | | | | | | |V0 a|V1 a|V2 a| | | | | | | |
8.#6 C19 Def Alloc d16 | | | | | | | | | | |V0 a|V1 a|V2 a| | |C19a| | | | |
[000065] 9.#7 C19 Use * Keep d16 | | | | | | | | | | |V0 a|V1 a|V2 a| | |C19i| | | | |
10.#8 V13 Def Alloc d16 | | | | | | | | | | |V0 a|V1 a|V2 a| | |V13a| | | | |
[000003] 13.#9 V0 Use Keep d0 | | | | | | | | | | |V0 a|V1 a|V2 a| | |V13a| | | | |
13.#10 V13 Use Keep d16 | | | | | | | | | | |V0 a|V1 a|V2 a| | |V13a| | | | |
14.#11 I20 Def Alloc d17 | | | | | | | | | | |V0 a|V1 a|V2 a| | |V13a|I20a| | | |
[000004] 15.#12 I20 Use * Keep d17 | | | | | | | | | | |V0 a|V1 a|V2 a| | |V13a|I20i| | | |
16.#13 V3 Def Alloc d17 | | | | | | | | | | |V0 a|V1 a|V2 a| | |V13a|V3 a| | | |
[000007] 23.#14 V0 Use * Keep d0 | | | | | | | | | | |V0 i|V1 a|V2 a| | |V13a|V3 a| | | |
24.#15 I21 Def Alloc d0 | | | | | | | | | | |I21a|V1 a|V2 a| | |V13a|V3 a| | | |
[000010] 27.#16 I21 Use * Keep d0 | | | | | | | | | | |I21i|V1 a|V2 a| | |V13a|V3 a| | | |
27.#17 V13 Use * Keep d16 | | | | | | | | | | | |V1 a|V2 a| | |V13i|V3 a| | | |
28.#18 I22 Def Alloc d0 | | | | | | | | | | |I22a|V1 a|V2 a| | | |V3 a| | | |
[000011] 29.#19 I22 Use * Keep d0 | | | | | | | | | | |I22i|V1 a|V2 a| | | |V3 a| | | |
30.#20 V4 Def Alloc d0 | | | | | | | | | | |V4 a|V1 a|V2 a| | | |V3 a| | | |
[000017] 35.#21 I23 Def Alloc x0 |I23a| | | | | | | | | |V4 a|V1 a|V2 a| | | |V3 a| | | |
35.#22 I23 Use * Keep x0 |I23i| | | | | | | | | |V4 a|V1 a|V2 a| | | |V3 a| | | |
36.#23 C24 Def Alloc d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |C24a|V3 a| | | |
[000018] 37.#24 V4 Use Keep d0 | | | | | | | | | | |V4 a|V1 a|V2 a| | |C24a|V3 a| | | |
37.#25 C24 Use * Keep d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |C24i|V3 a| | | |
38.#26 I25 Def Alloc d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |I25a|V3 a| | | |
[000020] 41.#27 I25 Use * Keep d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |I25i|V3 a| | | |
41.#28 V3 Use * Keep d17 | | | | | | | | | | |V4 a|V1 a|V2 a| | | |V3 i| | | |
42.#29 I26 Def Alloc d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |I26a| | | | |
[000021] 43.#30 I26 Use * Keep d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |I26i| | | | |
44.#31 V7 Def Alloc d16 | | | | | | | | | | |V4 a|V1 a|V2 a| | |V7 a| | | | |
[000025] 51.#32 I27 Def Alloc x0 |I27a| | | | | | | | | |V4 a|V1 a|V2 a| | |V7 a| | | | |
51.#33 I28 Def Alloc d17 |I27a| | | | | | | | | |V4 a|V1 a|V2 a| | |V7 a|I28a| | | |
51.#34 I27 Use * Keep x0 |I27i| | | | | | | | | |V4 a|V1 a|V2 a| | |V7 a|I28a| | | |
51.#35 I28 Use * Keep d17 | | | | | | | | | | |V4 a|V1 a|V2 a| | |V7 a|I28i| | | |
[000049] 57.#36 V1 Use * Keep d1 | | | | | | | | | | |V4 a|V1 i|V2 a| | |V7 a| | | | |
[000052] 63.#37 V2 Use * Keep d2 | | | | | | | | | | |V4 a| |V2 i| | |V7 a| | | | |
[000031] 68.#38 I29 Def Alloc d17 | | | | | | | | | | |V4 a| | | | |V7 a|I29a| | | |
[000032] 70.#39 I30 Def Alloc d18 | | | | | | | | | | |V4 a| | | | |V7 a|I29a|I30a| | |
[000033] 75.#40 I29 Use * Keep d17 | | | | | | | | | | |V4 a| | | | |V7 a|I29i|I30a| | |
75.#41 I30 Use * Keep d18 | | | | | | | | | | |V4 a| | | | |V7 a| |I30i| | |
75.#42 V7 Use * Keep d16 | | | | | | | | | | |V4 a| | | | |V7 i| | | | |
76.#43 I31 Def Alloc d16 | | | | | | | | | | |V4 a| | | | |I31a| | | | |
[000034] 77.#44 I31 Use * Keep d16 | | | | | | | | | | |V4 a| | | | |I31i| | | | |
78.#45 V5 Def Alloc d16 | | | | | | | | | | |V4 a| | | | |V5 a| | | | |
[000060] 83.#46 I32 Def Alloc x0 |I32a| | | | | | | | | |V4 a| | | | |V5 a| | | | |
83.#47 I32 Use * Keep x0 |I32i| | | | | | | | | |V4 a| | | | |V5 a| | | | |
84.#48 C33 Def Alloc d17 | | | | | | | | | | |V4 a| | | | |V5 a|C33a| | | |
[000061] 85.#49 C33 Use * Keep d17 | | | | | | | | | | |V4 a| | | | |V5 a|C33i| | | |
85.#50 V4 Use * Keep d0 | | | | | | | | | | |V4 i| | | | |V5 a| | | | |
86.#51 I34 Def Alloc d0 | | | | | | | | | | |I34a| | | | |V5 a| | | | |
[000040] 87.#52 I34 Use * Keep d0 | | | | | | | | | | |I34i| | | | |V5 a| | | | |
88.#53 V6 Def Alloc d0 | | | | | | | | | | |V6 a| | | | |V5 a| | | | |
[000043] 95.#54 V5 Use * Keep d16 | | | | | | | | | | |V6 a| | | | |V5 i| | | | |
95.#55 V6 Use Keep d0 | | | | | | | | | | |V6 a| | | | | | | | | |
96.#56 I35 Def Alloc d16 | | | | | | | | | | |V6 a| | | | |I35a| | | | |
[000045] 99.#57 I35 Use * Keep d16 | | | | | | | | | | |V6 a| | | | |I35i| | | | |
99.#58 V6 Use * Keep d0 | | | | | | | | | | |V6 i| | | | | | | | | |
100.#59 I36 Def Alloc d0 | | | | | | | | | | |I36a| | | | | | | | | |
[000046] 101.#60 d0 Fixd Keep d0 | | | | | | | | | | |I36a| | | | | | | | | |
101.#61 I36 Use * Keep d0 | | | | | | | | | | |I36i| | | | | | | | | |
Recording the maximum number of concurrent spills: | |
---------- | |
LSRA Stats | |
---------- | |
Register selection order: ABCDEFGHIJKLMNOPQ | |
Total Tracked Vars: 10 | |
Total Reg Cand Vars: 9 | |
Total number of Intervals: 36 | |
Total number of RefPositions: 61 | |
Total Number of spill temps created: 0 | |
.......... | |
BB01 [ 100.00]: COVERS = 6, BEST_FIT = 3, REG_ORDER = 15 | |
.......... | |
Total SpillCount : 0 Weighted: 0.000000 | |
Total CopyReg : 0 Weighted: 0.000000 | |
Total ResolutionMovs : 0 Weighted: 0.000000 | |
Total SplitEdges : 0 Weighted: 0.000000 | |
.......... | |
Total COVERS [# 4] : 6 Weighted: 600.000000 | |
Total BEST_FIT [#11] : 3 Weighted: 300.000000 | |
Total REG_ORDER [#13] : 15 Weighted: 1500.000000 | |
TUPLE STYLE DUMP WITH REGISTER ASSIGNMENTS | |
Incoming Parameters: V00(d0) V01(d1) V02(d2) | |
BB01 [000..0BB) (return), preds={} succs={} | |
===== | |
N003. IL_OFFSET INLRT @ 0x000[E-] | |
N005. V00(d0) | |
N007. d16 = CNS_VEC <0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> | |
* N009. V13(d16); d16 | |
N011. V13(d16) | |
N013. d17 = HWINTRINSIC; d0,d16 | |
* N015. V03(d17); d17 | |
N017. IL_OFFSET INLRT @ 0x00E[E-] | |
N019. V00(d0*) | |
N021. CNS_INT 4 | |
N023. d0 = HWINTRINSIC; d0* | |
N025. V13(d16*) | |
N027. d0 = HWINTRINSIC; d0,d16* | |
* N029. V04(d0); d0 | |
N031. IL_OFFSET INLRT @ 0x033[E-] | |
N033. V04(d0) | |
N035. d16 = CNS_VEC <0x08080808, 0x08080808, 0x08080808, 0x08080808> | |
N037. d16 = HWINTRINSIC; d0,d16 | |
N039. V03(d17*) | |
N041. d16 = HWINTRINSIC; d16,d17* | |
* N043. V07(d16); d16 | |
N045. IL_OFFSET INLRT @ 0x050[E-] | |
N047. CNS_INT 0 | |
N049. LCL_ADDR V11 tmp1 [+0] NA | |
N051. STORE_BLK | |
N053. IL_OFFSET INL01 @ 0x000[E-] <- INLRT @ ??? | |
N055. V01(d1*) | |
N057. V11 MEM; d1* | |
N059. IL_OFFSET INL01 @ 0x007[E-] <- INLRT @ ??? | |
N061. V02(d2*) | |
N063. V11 MEM; d2* | |
N065. IL_OFFSET INLRT @ 0x057[--] | |
N067. d17 = V11 MEM | |
N069. d18 = V11 MEM | |
N071. STK = FIELD_LIST; d17,d18 | |
N073. V07(d16*) | |
N075. d16 = HWINTRINSIC; STK,d16* | |
* N077. V05(d16); d16 | |
N079. IL_OFFSET INLRT @ 0x093[E-] | |
N081. V04(d0*) | |
N083. d17 = CNS_VEC <0x08040201, 0x80402010, 0x08040201, 0x80402010> | |
N085. d0 = HWINTRINSIC; d17,d0* | |
* N087. V06(d0); d0 | |
N089. IL_OFFSET INLRT @ 0x0AD[E-] | |
N091. V05(d16*) | |
N093. V06(d0) | |
N095. d16 = HWINTRINSIC; d16*,d0 | |
N097. V06(d0*) | |
N099. d0 = HWINTRINSIC; d16,d0* | |
N101. RETURN ; d0 | |
Var=Reg end of BB01: none | |
*************** Finishing PHASE Linear scan register alloc | |
Trees after Linear scan register alloc | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC LIR | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..0BB) (return), preds={} succs={} | |
N003 (???,???) [000069] ----------- IL_OFFSET void INLRT @ 0x000[E-] REG NA | |
N005 ( 1, 1) [000000] ----------- t0 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 d0 REG d0 $80 | |
N007 ( 3, 2) [000002] ----------- t2 = CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> REG d16 $140 | |
/--* t2 simd16 | |
N009 ( 3, 3) [000065] DA--------- * STORE_LCL_VAR simd16 V13 cse0 d:1 d16 REG d16 $VN.Void | |
N011 ( 1, 1) [000066] ----------- t66 = LCL_VAR simd16 V13 cse0 u:1 d16 REG d16 $140 | |
/--* t0 simd16 | |
+--* t66 simd16 | |
N013 ( 6, 6) [000003] ----------- t3 = * HWINTRINSIC simd16 ubyte And REG d17 $1c0 | |
/--* t3 simd16 | |
N015 ( 10, 9) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 d17 REG d17 $VN.Void | |
N017 (???,???) [000070] ----------- IL_OFFSET void INLRT @ 0x00E[E-] REG NA | |
N019 ( 1, 1) [000005] ----------- t5 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 d0 (last use) REG d0 $80 | |
N021 ( 1, 2) [000006] -c-----N--- t6 = CNS_INT int 4 REG NA $44 | |
/--* t5 simd16 | |
+--* t6 int | |
N023 ( 3, 4) [000007] ----------- t7 = * HWINTRINSIC simd16 int ShiftRightLogical REG d0 $1c1 | |
N025 ( 1, 1) [000068] ----------- t68 = LCL_VAR simd16 V13 cse0 u:1 d16 (last use) REG d16 $140 | |
/--* t7 simd16 | |
+--* t68 simd16 | |
N027 ( 5, 6) [000010] ----------- t10 = * HWINTRINSIC simd16 ubyte And REG d0 $1c2 | |
/--* t10 simd16 | |
N029 ( 5, 6) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 d0 REG d0 $VN.Void | |
N031 (???,???) [000071] ----------- IL_OFFSET void INLRT @ 0x033[E-] REG NA | |
N033 ( 1, 1) [000015] ----------- t15 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 d0 REG d0 $1c2 | |
N035 ( 3, 2) [000017] ----------- t17 = CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> REG d16 $143 | |
/--* t15 simd16 | |
+--* t17 simd16 | |
N037 ( 5, 4) [000018] ----------- t18 = * HWINTRINSIC simd16 ubyte And REG d16 $1c3 | |
N039 ( 3, 2) [000019] ----------- t19 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 d17 (last use) REG d17 $1c0 | |
/--* t18 simd16 | |
+--* t19 simd16 | |
N041 ( 9, 7) [000020] ----------- t20 = * HWINTRINSIC simd16 ubyte Or REG d16 $1c4 | |
/--* t20 simd16 | |
N043 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 d16 REG d16 $VN.Void | |
N045 (???,???) [000072] ----------- IL_OFFSET void INLRT @ 0x050[E-] REG NA | |
N047 ( 1, 2) [000024] -c--------- t24 = CNS_INT int 0 REG NA $40 | |
N049 (???,???) [000078] Dc--------- t78 = LCL_ADDR byref V11 tmp1 [+0] NA REG NA | |
/--* t78 byref | |
+--* t24 int | |
N051 ( 11, 9) [000025] sA--------- * STORE_BLK struct<System.ValueTuple`2, 32> (init) (Unroll) REG NA | |
N053 (???,???) [000073] ----------- IL_OFFSET void INL01 @ 0x000[E-] <- INLRT @ ??? REG NA | |
N055 ( 1, 1) [000022] ----------- t22 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 d1 (last use) REG d1 $81 | |
/--* t22 simd16 | |
N057 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] NA REG NA $VN.Void | |
N059 (???,???) [000074] ----------- IL_OFFSET void INL01 @ 0x007[E-] <- INLRT @ ??? REG NA | |
N061 ( 1, 1) [000023] ----------- t23 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 d2 (last use) REG d2 $82 | |
/--* t23 simd16 | |
N063 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] NA REG NA $VN.Void | |
N065 (???,???) [000075] ----------- IL_OFFSET void INLRT @ 0x057[--] REG NA | |
N067 ( 3, 4) [000031] ----------- t31 = LCL_FLD simd16 V11 tmp1 u:4[+0] d17 REG d17 $81 | |
N069 ( 3, 4) [000032] ----------- t32 = LCL_FLD simd16 V11 tmp1 u:4[+16] d18 (last use) REG d18 $82 | |
/--* t31 simd16 | |
+--* t32 simd16 | |
N071 ( 6, 8) [000030] -c--------- t30 = * FIELD_LIST struct REG NA $c2 | |
N073 ( 3, 2) [000029] ----------- t29 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 d16 (last use) REG d16 $1c4 | |
/--* t30 struct | |
+--* t29 simd16 | |
N075 ( 10, 11) [000033] ----------- t33 = * HWINTRINSIC simd16 ubyte VectorTableLookup REG d16 $1c5 | |
/--* t33 simd16 | |
N077 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 d16 REG d16 $VN.Void | |
N079 (???,???) [000076] ----------- IL_OFFSET void INLRT @ 0x093[E-] REG NA | |
N081 ( 1, 1) [000037] ----------- t37 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 d0 (last use) REG d0 $1c2 | |
N083 ( 3, 2) [000060] ----------- t60 = CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> REG d17 $144 | |
/--* t60 simd16 | |
+--* t37 simd16 | |
N085 ( 5, 4) [000061] ----------- t61 = * HWINTRINSIC simd16 ubyte VectorTableLookup REG d0 $1c6 | |
/--* t61 simd16 | |
N087 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 d0 REG d0 $VN.Void | |
N089 (???,???) [000077] ----------- IL_OFFSET void INLRT @ 0x0AD[E-] REG NA | |
N091 ( 3, 2) [000041] ----------- t41 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 d16 (last use) REG d16 $1c5 | |
N093 ( 1, 1) [000042] ----------- t42 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 d0 REG d0 $1c6 | |
/--* t41 simd16 | |
+--* t42 simd16 | |
N095 ( 5, 4) [000043] ----------- t43 = * HWINTRINSIC simd16 ubyte And REG d16 $1c7 | |
N097 ( 1, 1) [000044] ----------- t44 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 d0 (last use) REG d0 $1c6 | |
/--* t43 simd16 | |
+--* t44 simd16 | |
N099 ( 7, 6) [000045] ----------- t45 = * HWINTRINSIC simd16 ubyte CompareEqual REG d0 $1c8 | |
/--* t45 simd16 | |
N101 ( 8, 7) [000046] ----------- * RETURN simd16 REG NA $VN.Void | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckLoopTable: loop table not valid | |
*************** Starting PHASE Place 'align' instructions | |
*************** Finishing PHASE Place 'align' instructions [no changes] | |
*************** In genGenerateCode() | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i IBC LIR | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Starting PHASE Generate code | |
*************** In fgDebugCheckBBlist | |
Finalizing stack frame | |
Recording Var Locations at start of BB01 | |
V00(d0) V01(d1) V02(d2) | |
Modified regs: [x0 d0-d2 d16-d18] | |
Callee-saved registers pushed: 2 [fp lr] | |
*************** In lvaAssignFrameOffsets(FINAL_FRAME_LAYOUT) | |
Setting genSaveFpLrWithAllCalleeSavedRegisters to false | |
Assign V11 tmp1, size=32, stkOffs=-0x20 | |
--- delta bump 48 for FP frame | |
--- virtual stack offset to actual stack offset delta is 48 | |
-- V10 was 0, now 48 | |
-- V11 was -32, now 16 | |
; Final local variable assignments | |
; | |
; V00 arg0 [V00,T01] ( 4, 4 ) simd16 -> d0 HFA(simd16) single-def | |
; V01 arg1 [V01,T02] ( 3, 3 ) simd16 -> d1 HFA(simd16) single-def | |
; V02 arg2 [V02,T03] ( 3, 3 ) simd16 -> d2 HFA(simd16) single-def | |
; V03 loc0 [V03,T07] ( 2, 2 ) simd16 -> d17 HFA(simd16) | |
; V04 loc1 [V04,T04] ( 3, 3 ) simd16 -> d0 HFA(simd16) | |
; V05 loc2 [V05,T08] ( 2, 2 ) simd16 -> d16 HFA(simd16) | |
; V06 loc3 [V06,T05] ( 3, 3 ) simd16 -> d0 HFA(simd16) | |
; V07 loc4 [V07,T09] ( 2, 2 ) simd16 -> d16 HFA(simd16) | |
;* V08 loc5 [V08 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) | |
;* V09 loc6 [V09 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) | |
;# V10 OutArgs [V10 ] ( 1, 1 ) struct ( 0) [sp+00H] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" | |
; V11 tmp1 [V11,T00] ( 5, 10 ) struct (32) [fp+10H] HFA(simd16) do-not-enreg[SF] ld-addr-op "NewObj constructor temp" | |
;* V12 tmp2 [V12 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) "Inline return value spill temp" | |
; V13 cse0 [V13,T06] ( 3, 3 ) simd16 -> d16 "CSE - aggressive" | |
; | |
; Lcl frame size = 32 | |
Created: | |
G_M8077_IG02: ; offs=000000H, size=0000H, bbWeight=1, gcrefRegs=0000 {} | |
Mark labels for codegen | |
BB01 : first block | |
*************** After genMarkLabelsForCodegen() | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight IBC lp [IL range] [jump] [EH region] [flags] | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 100 [000..0BB) (return) i label IBC LIR | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
Setting stack level from -572662307 to 0 | |
=============== Generating BB01 [000..0BB) (return), preds={} succs={} flags=0x00000000.40020011: i label IBC LIR | |
BB01 IN (3)={V00 V01 V02} | |
OUT(0)={ } | |
Recording Var Locations at start of BB01 | |
V00(d0) V01(d1) V02(d2) | |
Change life 0000000000000000 {} -> 000000000000000E {V00 V01 V02} | |
V00 in reg d0 is becoming live [------] | |
Live regs: 0000 {} => 0000 {d0} | |
New debug range: first | |
V01 in reg d1 is becoming live [------] | |
Live regs: 0000 {d0} => 0000 {d0 d1} | |
New debug range: first | |
V02 in reg d2 is becoming live [------] | |
Live regs: 0000 {d0 d1} => 0000 {d0 d1 d2} | |
New debug range: first | |
Live regs: (unchanged) 0000 {d0 d1 d2} | |
GC regs: (unchanged) 0000 {} | |
Byref regs: (unchanged) 0000 {} | |
L_M8077_BB01: | |
Label: G_M8077_IG02, GCvars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {} | |
Scope info: begin block BB01, IL range [000..0BB) | |
Added IP mapping: 0x0000 STACK_EMPTY (G_M8077_IG02,ins#0,ofs#0) label | |
Generating: N003 (???,???) [000069] ----------- IL_OFFSET void INLRT @ 0x000[E-] REG NA | |
Generating: N005 ( 1, 1) [000000] ----------- t0 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 d0 REG d0 $80 | |
Generating: N007 ( 3, 2) [000002] ----------- t2 = CNS_VEC simd16<0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f, 0x0f0f0f0f> REG d16 $140 | |
Increasing data section alignment from 4 to 16 for type simd16 | |
Mapped BB01 to G_M8077_IG02 | |
IN0001: ldr q16, (LARGELDC)[@RWD00] | |
/--* t2 simd16 | |
Generating: N009 ( 3, 3) [000065] DA--------- * STORE_LCL_VAR simd16 V13 cse0 d:1 d16 REG d16 $VN.Void | |
V13 in reg d16 is becoming live [000065] | |
Live regs: 0000 {d0 d1 d2} => 0000 {d0 d1 d2 d16} | |
Live vars after [000065]: {V00 V01 V02} => {V00 V01 V02 V13} | |
Generating: N011 ( 1, 1) [000066] ----------- t66 = LCL_VAR simd16 V13 cse0 u:1 d16 REG d16 $140 | |
/--* t0 simd16 | |
+--* t66 simd16 | |
Generating: N013 ( 6, 6) [000003] ----------- t3 = * HWINTRINSIC simd16 ubyte And REG d17 $1c0 | |
IN0002: and v17.16b, v0.16b, v16.16b | |
/--* t3 simd16 | |
Generating: N015 ( 10, 9) [000004] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 d:2 d17 REG d17 $VN.Void | |
V03 in reg d17 is becoming live [000004] | |
Live regs: 0000 {d0 d1 d2 d16} => 0000 {d0 d1 d2 d16 d17} | |
New debug range: first | |
Live vars after [000004]: {V00 V01 V02 V13} => {V00 V01 V02 V03 V13} | |
Added IP mapping: 0x000E STACK_EMPTY (G_M8077_IG02,ins#2,ofs#16) | |
Generating: N017 (???,???) [000070] ----------- IL_OFFSET void INLRT @ 0x00E[E-] REG NA | |
Generating: N019 ( 1, 1) [000005] ----------- t5 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V00 arg0 u:1 d0 (last use) REG d0 $80 | |
Generating: N021 ( 1, 2) [000006] -c-----N--- t6 = CNS_INT int 4 REG NA $44 | |
/--* t5 simd16 | |
+--* t6 int | |
Generating: N023 ( 3, 4) [000007] ----------- t7 = * HWINTRINSIC simd16 int ShiftRightLogical REG d0 $1c1 | |
V00 in reg d0 is becoming dead [000005] | |
Live regs: 0000 {d0 d1 d2 d16 d17} => 0000 {d1 d2 d16 d17} | |
Closing debug range. | |
Live vars after [000005]: {V00 V01 V02 V03 V13} => {V01 V02 V03 V13} | |
IN0003: ushr v0.4s, v0.4s, #4 | |
Generating: N025 ( 1, 1) [000068] ----------- t68 = LCL_VAR simd16 V13 cse0 u:1 d16 (last use) REG d16 $140 | |
/--* t7 simd16 | |
+--* t68 simd16 | |
Generating: N027 ( 5, 6) [000010] ----------- t10 = * HWINTRINSIC simd16 ubyte And REG d0 $1c2 | |
V13 in reg d16 is becoming dead [000068] | |
Live regs: 0000 {d1 d2 d16 d17} => 0000 {d1 d2 d17} | |
Live vars after [000068]: {V01 V02 V03 V13} => {V01 V02 V03} | |
IN0004: and v0.16b, v0.16b, v16.16b | |
/--* t10 simd16 | |
Generating: N029 ( 5, 6) [000011] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 d:2 d0 REG d0 $VN.Void | |
V04 in reg d0 is becoming live [000011] | |
Live regs: 0000 {d1 d2 d17} => 0000 {d0 d1 d2 d17} | |
New debug range: first | |
Live vars after [000011]: {V01 V02 V03} => {V01 V02 V03 V04} | |
Added IP mapping: 0x0033 STACK_EMPTY (G_M8077_IG02,ins#4,ofs#24) | |
Generating: N031 (???,???) [000071] ----------- IL_OFFSET void INLRT @ 0x033[E-] REG NA | |
Generating: N033 ( 1, 1) [000015] ----------- t15 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 d0 REG d0 $1c2 | |
Generating: N035 ( 3, 2) [000017] ----------- t17 = CNS_VEC simd16<0x08080808, 0x08080808, 0x08080808, 0x08080808> REG d16 $143 | |
IN0005: ldr q16, (LARGELDC)[@RWD16] | |
/--* t15 simd16 | |
+--* t17 simd16 | |
Generating: N037 ( 5, 4) [000018] ----------- t18 = * HWINTRINSIC simd16 ubyte And REG d16 $1c3 | |
IN0006: and v16.16b, v0.16b, v16.16b | |
Generating: N039 ( 3, 2) [000019] ----------- t19 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V03 loc0 u:2 d17 (last use) REG d17 $1c0 | |
/--* t18 simd16 | |
+--* t19 simd16 | |
Generating: N041 ( 9, 7) [000020] ----------- t20 = * HWINTRINSIC simd16 ubyte Or REG d16 $1c4 | |
V03 in reg d17 is becoming dead [000019] | |
Live regs: 0000 {d0 d1 d2 d17} => 0000 {d0 d1 d2} | |
Closing debug range. | |
Live vars after [000019]: {V01 V02 V03 V04} => {V01 V02 V04} | |
IN0007: orr v16.16b, v16.16b, v17.16b | |
/--* t20 simd16 | |
Generating: N043 ( 13, 10) [000021] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 d:2 d16 REG d16 $VN.Void | |
V07 in reg d16 is becoming live [000021] | |
Live regs: 0000 {d0 d1 d2} => 0000 {d0 d1 d2 d16} | |
New debug range: first | |
Live vars after [000021]: {V01 V02 V04} => {V01 V02 V04 V07} | |
Added IP mapping: 0x0050 STACK_EMPTY (G_M8077_IG02,ins#7,ofs#44) | |
Generating: N045 (???,???) [000072] ----------- IL_OFFSET void INLRT @ 0x050[E-] REG NA | |
Generating: N047 ( 1, 2) [000024] -c--------- t24 = CNS_INT int 0 REG NA $40 | |
Generating: N049 (???,???) [000078] Dc--------- t78 = LCL_ADDR byref V11 tmp1 [+0] NA REG NA | |
/--* t78 byref | |
+--* t24 int | |
Generating: N051 ( 11, 9) [000025] sA--------- * STORE_BLK struct<System.ValueTuple`2, 32> (init) (Unroll) REG NA | |
IN0008: stp xzr, xzr, [fp, #0x10] | |
IN0009: stp xzr, xzr, [fp, #0x20] | |
Generating: N053 (???,???) [000073] ----------- IL_OFFSET void INL01 @ 0x000[E-] <- INLRT @ ??? REG NA | |
Generating: N055 ( 1, 1) [000022] ----------- t22 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V01 arg1 u:1 d1 (last use) REG d1 $81 | |
/--* t22 simd16 | |
Generating: N057 ( 5, 6) [000049] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:2->3[+0] NA REG NA $VN.Void | |
V01 in reg d1 is becoming dead [000022] | |
Live regs: 0000 {d0 d1 d2 d16} => 0000 {d0 d2 d16} | |
Closing debug range. | |
Live vars after [000022]: {V01 V02 V04 V07} => {V02 V04 V07} | |
IN000a: str q1, [fp, #0x10] // [V11 tmp1] | |
Generating: N059 (???,???) [000074] ----------- IL_OFFSET void INL01 @ 0x007[E-] <- INLRT @ ??? REG NA | |
Generating: N061 ( 1, 1) [000023] ----------- t23 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V02 arg2 u:1 d2 (last use) REG d2 $82 | |
/--* t23 simd16 | |
Generating: N063 ( 5, 6) [000052] UA--------- * STORE_LCL_FLD simd16 V11 tmp1 ud:3->4[+16] NA REG NA $VN.Void | |
V02 in reg d2 is becoming dead [000023] | |
Live regs: 0000 {d0 d2 d16} => 0000 {d0 d16} | |
Closing debug range. | |
Live vars after [000023]: {V02 V04 V07} => {V04 V07} | |
Removing saved instruction in current IG G_M8077_IG02: | |
> IN000a: str q1, [fp, #0x10] // [V11 tmp1] | |
IN000a: stp q1, q2, [fp, #0x10] // [V11 tmp1], [V11 tmp1+0x10] | |
Added IP mapping: 0x0057 (G_M8077_IG02,ins#10,ofs#56) | |
Generating: N065 (???,???) [000075] ----------- IL_OFFSET void INLRT @ 0x057[--] REG NA | |
Generating: N067 ( 3, 4) [000031] ----------- t31 = LCL_FLD simd16 V11 tmp1 u:4[+0] d17 REG d17 $81 | |
IN000b: ldr q17, [fp, #0x10] // [V11 tmp1] | |
Generating: N069 ( 3, 4) [000032] ----------- t32 = LCL_FLD simd16 V11 tmp1 u:4[+16] d18 (last use) REG d18 $82 | |
Removing saved instruction in current IG G_M8077_IG02: | |
> IN000b: ldr q17, [fp, #0x10] // [V11 tmp1] | |
IN000b: ldp q17, q18, [fp, #0x10] // [V11 tmp1], [V11 tmp1+0x10] | |
/--* t31 simd16 | |
+--* t32 simd16 | |
Generating: N071 ( 6, 8) [000030] -c--------- t30 = * FIELD_LIST struct REG NA $c2 | |
Generating: N073 ( 3, 2) [000029] ----------- t29 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V07 loc4 u:2 d16 (last use) REG d16 $1c4 | |
/--* t30 struct | |
+--* t29 simd16 | |
Generating: N075 ( 10, 11) [000033] ----------- t33 = * HWINTRINSIC simd16 ubyte VectorTableLookup REG d16 $1c5 | |
V07 in reg d16 is becoming dead [000029] | |
Live regs: 0000 {d0 d16} => 0000 {d0} | |
Closing debug range. | |
Live vars after [000029]: {V04 V07} => {V04} | |
IN000c: tbl v16.16b, {v17.16b, v18.16b}, v16.16b | |
/--* t33 simd16 | |
Generating: N077 ( 14, 14) [000034] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 d:2 d16 REG d16 $VN.Void | |
V05 in reg d16 is becoming live [000034] | |
Live regs: 0000 {d0} => 0000 {d0 d16} | |
New debug range: first | |
Live vars after [000034]: {V04} => {V04 V05} | |
Added IP mapping: 0x0093 STACK_EMPTY (G_M8077_IG02,ins#12,ofs#64) | |
Generating: N079 (???,???) [000076] ----------- IL_OFFSET void INLRT @ 0x093[E-] REG NA | |
Generating: N081 ( 1, 1) [000037] ----------- t37 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V04 loc1 u:2 d0 (last use) REG d0 $1c2 | |
Generating: N083 ( 3, 2) [000060] ----------- t60 = CNS_VEC simd16<0x08040201, 0x80402010, 0x08040201, 0x80402010> REG d17 $144 | |
IN000d: ldr q17, (LARGELDC)[@RWD32] | |
/--* t60 simd16 | |
+--* t37 simd16 | |
Generating: N085 ( 5, 4) [000061] ----------- t61 = * HWINTRINSIC simd16 ubyte VectorTableLookup REG d0 $1c6 | |
V04 in reg d0 is becoming dead [000037] | |
Live regs: 0000 {d0 d16} => 0000 {d16} | |
Closing debug range. | |
Live vars after [000037]: {V04 V05} => {V05} | |
IN000e: tbl v0.16b, {v17.16b}, v0.16b | |
/--* t61 simd16 | |
Generating: N087 ( 5, 4) [000040] DA--------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 d:2 d0 REG d0 $VN.Void | |
V06 in reg d0 is becoming live [000040] | |
Live regs: 0000 {d16} => 0000 {d0 d16} | |
New debug range: first | |
Live vars after [000040]: {V05} => {V05 V06} | |
Added IP mapping: 0x00AD STACK_EMPTY (G_M8077_IG02,ins#14,ofs#80) | |
Generating: N089 (???,???) [000077] ----------- IL_OFFSET void INLRT @ 0x0AD[E-] REG NA | |
Generating: N091 ( 3, 2) [000041] ----------- t41 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V05 loc2 u:2 d16 (last use) REG d16 $1c5 | |
Generating: N093 ( 1, 1) [000042] ----------- t42 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 d0 REG d0 $1c6 | |
/--* t41 simd16 | |
+--* t42 simd16 | |
Generating: N095 ( 5, 4) [000043] ----------- t43 = * HWINTRINSIC simd16 ubyte And REG d16 $1c7 | |
V05 in reg d16 is becoming dead [000041] | |
Live regs: 0000 {d0 d16} => 0000 {d0} | |
Closing debug range. | |
Live vars after [000041]: {V05 V06} => {V06} | |
IN000f: and v16.16b, v16.16b, v0.16b | |
Generating: N097 ( 1, 1) [000044] ----------- t44 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1> V06 loc3 u:2 d0 (last use) REG d0 $1c6 | |
/--* t43 simd16 | |
+--* t44 simd16 | |
Generating: N099 ( 7, 6) [000045] ----------- t45 = * HWINTRINSIC simd16 ubyte CompareEqual REG d0 $1c8 | |
V06 in reg d0 is becoming dead [000044] | |
Live regs: 0000 {d0} => 0000 {} | |
Closing debug range. | |
Live vars after [000044]: {V06} => {} | |
IN0010: cmeq v0.16b, v16.16b, v0.16b | |
/--* t45 simd16 | |
Generating: N101 ( 8, 7) [000046] ----------- * RETURN simd16 REG NA $VN.Void | |
Added IP mapping: EPILOG (G_M8077_IG02,ins#16,ofs#88) label | |
Reserving epilog IG for block BB01 | |
Saved: | |
G_M8077_IG02: ; offs=000000H, size=0058H, bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, BB01 [0000], byref | |
Created: | |
G_M8077_IG03: ; offs=000058H, size=0000H, bbWeight=1, gcrefRegs=0000 {} | |
*************** After placeholder IG creation | |
G_M8077_IG01: ; func=00, offs=000000H, size=0000H, bbWeight=1, gcrefRegs=0000 {} <-- Prolog IG | |
G_M8077_IG02: ; offs=000000H, size=0058H, bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, BB01 [0000], byref | |
G_M8077_IG03: ; epilog placeholder, next placeholder=<END>, BB01 [0000], epilog, extend <-- First placeholder <-- Last placeholder | |
; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=0000 {}, PrevByrefRegs=0000 {} | |
; InitGCVars=0000000000000000 {}, InitGCrefRegs=0000 {}, InitByrefRegs=0000 {} | |
Variable Live Range History Dump for BB01 | |
V00 arg0: d0 [(G_M8077_IG02,ins#0,ofs#0), (G_M8077_IG02,ins#2,ofs#16)] | |
V01 arg1: d1 [(G_M8077_IG02,ins#0,ofs#0), (G_M8077_IG02,ins#9,ofs#52)] | |
V02 arg2: d2 [(G_M8077_IG02,ins#0,ofs#0), (G_M8077_IG02,ins#10,ofs#56)] | |
V03 loc0: d17 [(G_M8077_IG02,ins#2,ofs#16), (G_M8077_IG02,ins#6,ofs#40)] | |
V04 loc1: d0 [(G_M8077_IG02,ins#4,ofs#24), (G_M8077_IG02,ins#13,ofs#76)] | |
V05 loc2: d16 [(G_M8077_IG02,ins#12,ofs#64), (G_M8077_IG02,ins#14,ofs#80)] | |
V06 loc3: d0 [(G_M8077_IG02,ins#14,ofs#80), (G_M8077_IG02,ins#15,ofs#84)] | |
V07 loc4: d16 [(G_M8077_IG02,ins#7,ofs#44), (G_M8077_IG02,ins#11,ofs#60)] | |
Liveness not changing: 0000000000000000 {} | |
# compCycleEstimate = 76, compSizeEstimate = 71 System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] | |
; Final local variable assignments | |
; | |
; V00 arg0 [V00,T01] ( 4, 4 ) simd16 -> d0 HFA(simd16) single-def | |
; V01 arg1 [V01,T02] ( 3, 3 ) simd16 -> d1 HFA(simd16) single-def | |
; V02 arg2 [V02,T03] ( 3, 3 ) simd16 -> d2 HFA(simd16) single-def | |
; V03 loc0 [V03,T07] ( 2, 2 ) simd16 -> d17 HFA(simd16) | |
; V04 loc1 [V04,T04] ( 3, 3 ) simd16 -> d0 HFA(simd16) | |
; V05 loc2 [V05,T08] ( 2, 2 ) simd16 -> d16 HFA(simd16) | |
; V06 loc3 [V06,T05] ( 3, 3 ) simd16 -> d0 HFA(simd16) | |
; V07 loc4 [V07,T09] ( 2, 2 ) simd16 -> d16 HFA(simd16) | |
;* V08 loc5 [V08 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) | |
;* V09 loc6 [V09 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) | |
;# V10 OutArgs [V10 ] ( 1, 1 ) struct ( 0) [sp+00H] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" | |
; V11 tmp1 [V11,T00] ( 5, 10 ) struct (32) [fp+10H] HFA(simd16) do-not-enreg[SF] ld-addr-op "NewObj constructor temp" | |
;* V12 tmp2 [V12 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) "Inline return value spill temp" | |
; V13 cse0 [V13,T06] ( 3, 3 ) simd16 -> d16 "CSE - aggressive" | |
; | |
; Lcl frame size = 32 | |
*************** Before prolog / epilog generation | |
G_M8077_IG01: ; func=00, offs=000000H, size=0000H, bbWeight=1, gcrefRegs=0000 {} <-- Prolog IG | |
G_M8077_IG02: ; offs=000000H, size=0058H, bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, BB01 [0000], byref | |
G_M8077_IG03: ; epilog placeholder, next placeholder=<END>, BB01 [0000], epilog, extend <-- First placeholder <-- Last placeholder | |
; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=0000 {}, PrevByrefRegs=0000 {} | |
; InitGCVars=0000000000000000 {}, InitGCrefRegs=0000 {}, InitByrefRegs=0000 {} | |
Recording Var Locations at start of BB01 | |
V00(d0) V01(d1) V02(d2) | |
*************** In genFnProlog() | |
Added IP mapping to front: PROLOG (G_M8077_IG01,ins#0,ofs#0) label | |
__prolog: | |
New debug range: first | |
New debug range: first | |
New debug range: first | |
Save float regs: [] | |
Save int regs: [fp lr] | |
Frame type 1. #outsz=0; #framesz=48; LclFrameSize=32 | |
IN0011: stp fp, lr, [sp, #-0x30]! | |
offset=48, calleeSaveSpDelta=0 | |
offsetSpToSavedFp=0 | |
IN0012: mov fp, sp | |
*************** In genFnPrologCalleeRegArgs() for float regs | |
*************** In genEnregisterIncomingStackArgs() | |
Closing debug range. | |
Closing debug range. | |
Closing debug range. | |
Saved: | |
G_M8077_IG01: ; offs=000000H, size=0008H, bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc | |
*************** In genFnEpilog() | |
__epilog: | |
gcVarPtrSetCur=0000000000000000 {}, gcRegGCrefSetCur=0000 {}, gcRegByrefSetCur=0000 {} | |
Frame type 1. #outsz=0; #framesz=48; localloc? false | |
calleeSaveSpOffset=48, calleeSaveSpDelta=0 | |
IN0013: ldp fp, lr, [sp], #0x30 | |
IN0014: ret lr | |
Saved: | |
G_M8077_IG03: ; offs=000058H, size=0008H, bbWeight=1, epilog, nogc, extend | |
0 prologs, 1 epilogs, 0 funclet prologs, 0 funclet epilogs | |
*************** After prolog / epilog generation | |
G_M8077_IG01: ; func=00, offs=000000H, size=0008H, bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG | |
G_M8077_IG02: ; offs=000008H, size=0058H, bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, BB01 [0000], byref | |
G_M8077_IG03: ; offs=000060H, size=0008H, bbWeight=1, epilog, nogc, extend | |
*************** In emitJumpDistBind() | |
Emitter Jump List: | |
IG02 IN0001 ldr[12] | |
IG02 IN0005 ldr[12] | |
IG02 IN000d ldr[12] | |
total jump count: 3 | |
Shrinking jump [D1FFAB1E/001] | |
Shrinking jump [D1FFAB1E/005] | |
Shrinking jump [D1FFAB1E/013] | |
Adjusted offset of BB03 from 0060 to 0048 | |
Total shrinkage = 24, min extra jump size = 4294967295 | |
*************** Finishing PHASE Generate code | |
*************** Starting PHASE Emit code | |
Hot code size = 0x50 bytes | |
Cold code size = 0x0 bytes | |
reserveUnwindInfo(isFunclet=false, isColdCode=false, unwindSize=0xc) | |
*************** In emitEndCodeGen() | |
Converting emitMaxStackDepth from bytes (0) to elements (0) | |
*************************************************************************** | |
Instructions as they come out of the scheduler | |
G_M8077_IG01: ; offs=000000H, size=0008H, bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG | |
IN0011: 000000 stp fp, lr, [sp, #-0x30]! | |
IN0012: 000004 mov fp, sp | |
;; size=8 bbWeight=1 PerfScore 1.50 | |
G_M8077_IG02: ; offs=000008H, size=0040H, bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, BB01 [0000], byref, isz | |
IN0001: 000008 ldr q16, [@RWD00] | |
IN0002: 00000C and v17.16b, v0.16b, v16.16b | |
IN0003: 000010 ushr v0.4s, v0.4s, #4 | |
IN0004: 000014 and v0.16b, v0.16b, v16.16b | |
IN0005: 000018 ldr q16, [@RWD16] | |
IN0006: 00001C and v16.16b, v0.16b, v16.16b | |
IN0007: 000020 orr v16.16b, v16.16b, v17.16b | |
IN0008: 000024 stp xzr, xzr, [fp, #0x10] | |
IN0009: 000028 stp xzr, xzr, [fp, #0x20] | |
IN000a: 00002C stp q1, q2, [fp, #0x10] // [V11 tmp1], [V11 tmp1+0x10] | |
IN000b: 000030 ldp q17, q18, [fp, #0x10] // [V11 tmp1], [V11 tmp1+0x10] | |
IN000c: 000034 tbl v16.16b, {v17.16b, v18.16b}, v16.16b | |
IN000d: 000038 ldr q17, [@RWD32] | |
IN000e: 00003C tbl v0.16b, {v17.16b}, v0.16b | |
IN000f: 000040 and v16.16b, v16.16b, v0.16b | |
IN0010: 000044 cmeq v0.16b, v16.16b, v0.16b | |
;; size=64 bbWeight=1 PerfScore 17.00 | |
G_M8077_IG03: ; offs=000048H, size=0008H, bbWeight=1, epilog, nogc, extend | |
IN0013: 000048 ldp fp, lr, [sp], #0x30 | |
IN0014: 00004C ret lr | |
;; size=8 bbWeight=1 PerfScore 2.00 | |
Emitting data sections: 48 total bytes | |
section 0, size 16, RWD 0: 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f | |
section 1, size 16, RWD16: 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 | |
section 2, size 16, RWD32: 01 02 04 08 10 20 40 80 01 02 04 08 10 20 40 80 | |
Allocated method code size = 80 , actual size = 80, unused size = 0 | |
; Total bytes of code 80, prolog size 8, PerfScore 28.50, instruction count 20, allocated bytes for code 80 (MethodHash=2430e072) for method System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] | |
; ============================================================ | |
*************** After end code gen, before unwindEmit() | |
G_M8077_IG01: ; func=00, offs=000000H, size=0008H, bbWeight=1, PerfScore 1.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG | |
IN0011: 000000 stp fp, lr, [sp, #-0x30]! | |
IN0012: 000004 mov fp, sp | |
G_M8077_IG02: ; offs=000008H, size=0040H, bbWeight=1, PerfScore 17.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, BB01 [0000], byref, isz | |
IN0001: 000008 ldr q16, [@RWD00] | |
IN0002: 00000C and v17.16b, v0.16b, v16.16b | |
IN0003: 000010 ushr v0.4s, v0.4s, #4 | |
IN0004: 000014 and v0.16b, v0.16b, v16.16b | |
IN0005: 000018 ldr q16, [@RWD16] | |
IN0006: 00001C and v16.16b, v0.16b, v16.16b | |
IN0007: 000020 orr v16.16b, v16.16b, v17.16b | |
IN0008: 000024 stp xzr, xzr, [fp, #0x10] | |
IN0009: 000028 stp xzr, xzr, [fp, #0x20] | |
IN000a: 00002C stp q1, q2, [fp, #0x10] // [V11 tmp1], [V11 tmp1+0x10] | |
IN000b: 000030 ldp q17, q18, [fp, #0x10] // [V11 tmp1], [V11 tmp1+0x10] | |
IN000c: 000034 tbl v16.16b, {v17.16b, v18.16b}, v16.16b | |
IN000d: 000038 ldr q17, [@RWD32] | |
IN000e: 00003C tbl v0.16b, {v17.16b}, v0.16b | |
IN000f: 000040 and v16.16b, v16.16b, v0.16b | |
IN0010: 000044 cmeq v0.16b, v16.16b, v0.16b | |
G_M8077_IG03: ; offs=000048H, size=0008H, bbWeight=1, PerfScore 2.00, epilog, nogc, extend | |
IN0013: 000048 ldp fp, lr, [sp], #0x30 | |
IN0014: 00004C ret lr | |
*************** Finishing PHASE Emit code | |
*************** Starting PHASE Emit GC+EH tables | |
Unwind Info: | |
>> Start offset : 0x000000 (not in unwind data) | |
>> End offset : 0xd1ffab1e (not in unwind data) | |
Code Words : 1 | |
Epilog Count : 1 | |
E bit : 0 | |
X bit : 0 | |
Vers : 0 | |
Function Length : 20 (0x00014) Actual length = 80 (0x000050) | |
---- Epilog scopes ---- | |
---- Scope 0 | |
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) | |
Epilog Start Index : 1 (0x01) | |
---- Unwind codes ---- | |
E1 set_fp; mov fp, sp | |
---- Epilog start at index 1 ---- | |
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]! | |
E4 end | |
E4 end | |
allocUnwindInfo(pHotCode=0x0xd1ffab1e, pColdCode=0x(nil), startOffset=0x0, endOffset=0x50, unwindSize=0xc, pUnwindBlock=0x0xd1ffab1e, funKind=0 (main function)) | |
*************** In genIPmappingGen() | |
IP mapping count : 9 | |
IL offs PROLOG : 0x00000000 ( STACK_EMPTY ) | |
IL offs 0x0000 : 0x00000008 ( STACK_EMPTY ) | |
IL offs 0x000E : 0x00000010 ( STACK_EMPTY ) | |
IL offs 0x0033 : 0x00000018 ( STACK_EMPTY ) | |
IL offs 0x0050 : 0x00000024 ( STACK_EMPTY ) | |
IL offs 0x0057 : 0x00000030 | |
IL offs 0x0093 : 0x00000038 ( STACK_EMPTY ) | |
IL offs 0x00AD : 0x00000040 ( STACK_EMPTY ) | |
IL offs EPILOG : 0x00000048 ( STACK_EMPTY ) | |
*************** In genSetScopeInfo() | |
VarLocInfo count is 11 | |
; Variable debug info: 11 live ranges, 8 vars for method System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] | |
(V00 arg0) : From 00000000h to 00000008h, in d0 | |
(V00 arg0) : From 00000008h to 00000010h, in d0 | |
(V01 arg1) : From 00000000h to 00000008h, in d1 | |
(V01 arg1) : From 00000008h to 0000002Ch, in d1 | |
(V02 arg2) : From 00000000h to 00000008h, in d2 | |
(V02 arg2) : From 00000008h to 00000030h, in d2 | |
(V03 loc0) : From 00000010h to 00000020h, in d17 | |
(V04 loc1) : From 00000018h to 0000003Ch, in d0 | |
(V05 loc2) : From 00000038h to 00000040h, in d16 | |
(V06 loc3) : From 00000040h to 00000044h, in d0 | |
(V07 loc4) : From 00000024h to 00000034h, in d16 | |
*************** In gcInfoBlockHdrSave() | |
Set code length to 80. | |
Set ReturnKind to Scalar. | |
Set stack base register to fp. | |
Set Outgoing stack arg area size to 0. | |
Defining 0 call sites: | |
*************** Finishing PHASE Emit GC+EH tables | |
Method code size: 80 | |
Allocations for System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (MethodHash=2430e072) | |
count: 1173, size: 114662, max = 5880 | |
allocateMemory: 131072, nraUsed: 119912 | |
Alloc'd bytes by kind: | |
kind | size | pct | |
---------------------+------------+-------- | |
AssertionProp | 6604 | 5.76% | |
ASTNode | 10816 | 9.43% | |
InstDesc | 7032 | 6.13% | |
ImpStack | 384 | 0.33% | |
BasicBlock | 3608 | 3.15% | |
CallArgs | 360 | 0.31% | |
FlowEdge | 528 | 0.46% | |
TreeStatementList | 64 | 0.06% | |
SiScope | 0 | 0.00% | |
DominatorMemory | 96 | 0.08% | |
LSRA | 7828 | 6.83% | |
LSRA_Interval | 2960 | 2.58% | |
LSRA_RefPosition | 4960 | 4.33% | |
Reachability | 40 | 0.03% | |
SSA | 1208 | 1.05% | |
ValueNumber | 10602 | 9.25% | |
LvaTable | 2028 | 1.77% | |
UnwindInfo | 32 | 0.03% | |
hashBv | 40 | 0.03% | |
bitset | 576 | 0.50% | |
FixedBitVect | 96 | 0.08% | |
Generic | 1400 | 1.22% | |
LocalAddressVisitor | 0 | 0.00% | |
FieldSeqStore | 0 | 0.00% | |
MemorySsaMap | 40 | 0.03% | |
MemoryPhiArg | 0 | 0.00% | |
CSE | 2624 | 2.29% | |
GC | 1232 | 1.07% | |
CorTailCallInfo | 0 | 0.00% | |
Inlining | 2216 | 1.93% | |
ArrayStack | 0 | 0.00% | |
DebugInfo | 832 | 0.73% | |
DebugOnly | 40078 | 34.95% | |
Codegen | 1088 | 0.95% | |
LoopOpt | 0 | 0.00% | |
LoopClone | 0 | 0.00% | |
LoopHoist | 0 | 0.00% | |
Unknown | 154 | 0.13% | |
RangeCheck | 0 | 0.00% | |
CopyProp | 1840 | 1.60% | |
Promotion | 0 | 0.00% | |
SideEffects | 0 | 0.00% | |
ObjectAllocator | 0 | 0.00% | |
VariableLiveRanges | 2272 | 1.98% | |
ClassLayout | 176 | 0.15% | |
TailMergeThrows | 0 | 0.00% | |
EarlyProp | 0 | 0.00% | |
ZeroInit | 568 | 0.50% | |
Pgo | 280 | 0.24% | |
****** DONE compiling System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment