Created
August 21, 2018 15:10
-
-
Save damageboy/c73959ad3dfe31e5d65e6bf273f53211 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 Program:IntrinsicsUnrolled(int):int (MethodHash=6b9d3a1b) | |
Generating code for Unix x64 | |
OPTIONS: compCodeOpt = BLENDED_CODE | |
OPTIONS: compDbgCode = false | |
OPTIONS: compDbgInfo = true | |
OPTIONS: compDbgEnC = false | |
OPTIONS: compProcedureSplitting = false | |
OPTIONS: compProcedureSplittingEH = false | |
OPTIONS: Stack probing is DISABLED | |
IL to import: | |
IL_0000 7e 03 00 00 04 ldsfld 0x4000003 | |
IL_0005 20 00 04 00 00 ldc.i4 0x400 | |
IL_000a 02 ldarg.0 | |
IL_000b 28 14 00 00 0a call 0xA000014 | |
IL_0010 2a ret | |
Arg #0 passed in register(s) rdi | |
lvaGrabTemp returning 1 (V01 tmp0) (a long lifetime temp) called for OutgoingArgSpace. | |
; Initial local variable assignments | |
; | |
; V00 arg0 int | |
; V01 OutArgs lclBlk (na) | |
*************** In compInitDebuggingInfo() for Program:IntrinsicsUnrolled(int):int | |
getVars() returned cVars = 0, extendOthers = true | |
info.compVarScopesCount = 1 | |
VarNum LVNum Name Beg End | |
0: 00h 00h V00 arg0 000h 011h | |
info.compStmtOffsetsCount = 0 | |
info.compStmtOffsetsImplicit = 0005h ( STACK_EMPTY CALL_SITE ) | |
*************** In fgFindBasicBlocks() for Program:IntrinsicsUnrolled(int):int | |
Jump targets: | |
none | |
New Basic Block BB01 [0000] created. | |
BB01 [000..011) | |
IL Code Size,Instr 17, 5, Basic Block count 1, Local Variable Num,Ref count 2, 1 for method Program:IntrinsicsUnrolled(int):int | |
OPTIONS: opts.MinOpts() == false | |
Basic block list for 'Program:IntrinsicsUnrolled(int):int' | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011) (return) | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In impImport() for Program:IntrinsicsUnrolled(int):int | |
impImportBlockPending for BB01 | |
Importing BB01 (PC=000) of 'Program:IntrinsicsUnrolled(int):int' | |
[ 0] 0 (0x000) ldsfld 04000003 | |
[ 1] 5 (0x005) ldc.i4 1024 | |
[ 2] 10 (0x00a) ldarg.0 | |
[ 3] 11 (0x00b) call 0A000014 (Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT) | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0 | |
info.compCompHnd->canTailCall returned false for call [000004] | |
[000008] ------------ * STMT void (IL 0x000... ???) | |
[000004] I-C-G------- \--* CALL int GetNthBitOffset.IntrinsicsUnrolled (exactContextHnd=0x00007F08AB887599) | |
[000001] ----G------- arg0 +--* FIELD long _bits | |
[000002] ------------ arg1 +--* CNS_INT int 0x400 | |
[000003] ------------ arg2 \--* LCL_VAR int V00 arg0 | |
[ 1] 16 (0x010) ret | |
[000011] ------------ * STMT void (IL ???... ???) | |
[000010] --C--------- \--* RETURN int | |
[000009] --C--------- \--* RET_EXPR int (inl return from call [000004]) | |
New BlockSet epoch 1, # of blocks (including unused BB00): 2, bitset array size: 1 (short) | |
*************** In fgMorph() | |
*************** In fgDebugCheckBBlist | |
*************** In fgInline() | |
Expanding INLINE_CANDIDATE in statement [000008] in BB01: | |
[000008] ------------ * STMT void (IL 0x000...0x010) | |
[000004] I-C-G------- \--* CALL int GetNthBitOffset.IntrinsicsUnrolled (exactContextHnd=0x00007F08AB887599) | |
[000001] ----G------- arg0 +--* FIELD long _bits | |
[000002] ------------ arg1 +--* CNS_INT int 0x400 | |
[000003] ------------ arg2 \--* LCL_VAR int V00 arg0 | |
Argument #0: has global refs | |
[000001] ----G------- * FIELD long _bits | |
Argument #1: is a constant | |
[000002] ------------ * CNS_INT int 0x400 | |
Argument #2: is a local var | |
[000003] ------------ * LCL_VAR int V00 arg0 | |
INLINER: inlineInfo.tokenLookupContextHandle for GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int set to 0x00007F08AB887599: | |
Invoking compiler for the inlinee method GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int : | |
IL to import: | |
IL_0000 02 ldarg.0 | |
IL_0001 0a stloc.0 | |
IL_0002 2b 37 br.s 55 (IL_003b) | |
IL_0004 04 ldarg.2 | |
IL_0005 06 ldloc.0 | |
IL_0006 4c ldind.i8 | |
IL_0007 28 0d 00 00 0a call 0xA00000D | |
IL_000c 06 ldloc.0 | |
IL_000d 1e ldc.i4.8 | |
IL_000e 58 add | |
IL_000f 4c ldind.i8 | |
IL_0010 28 0d 00 00 0a call 0xA00000D | |
IL_0015 58 add | |
IL_0016 06 ldloc.0 | |
IL_0017 18 ldc.i4.2 | |
IL_0018 d3 conv.i | |
IL_0019 1e ldc.i4.8 | |
IL_001a 5a mul | |
IL_001b 58 add | |
IL_001c 4c ldind.i8 | |
IL_001d 28 0d 00 00 0a call 0xA00000D | |
IL_0022 58 add | |
IL_0023 06 ldloc.0 | |
IL_0024 19 ldc.i4.3 | |
IL_0025 d3 conv.i | |
IL_0026 1e ldc.i4.8 | |
IL_0027 5a mul | |
IL_0028 58 add | |
IL_0029 4c ldind.i8 | |
IL_002a 28 0d 00 00 0a call 0xA00000D | |
IL_002f 58 add | |
IL_0030 69 conv.i4 | |
IL_0031 59 sub | |
IL_0032 10 02 starg.s 0x2 | |
IL_0034 06 ldloc.0 | |
IL_0035 1a ldc.i4.4 | |
IL_0036 d3 conv.i | |
IL_0037 1e ldc.i4.8 | |
IL_0038 5a mul | |
IL_0039 58 add | |
IL_003a 0a stloc.0 | |
IL_003b 04 ldarg.2 | |
IL_003c 20 00 01 00 00 ldc.i4 0x100 | |
IL_0041 2f c1 bge.s -63 (IL_0004) | |
IL_0043 04 ldarg.2 | |
IL_0044 0b stloc.1 | |
IL_0045 2b 12 br.s 18 (IL_0059) | |
IL_0047 04 ldarg.2 | |
IL_0048 0b stloc.1 | |
IL_0049 04 ldarg.2 | |
IL_004a 06 ldloc.0 | |
IL_004b 4c ldind.i8 | |
IL_004c 28 0d 00 00 0a call 0xA00000D | |
IL_0051 69 conv.i4 | |
IL_0052 59 sub | |
IL_0053 10 02 starg.s 0x2 | |
IL_0055 06 ldloc.0 | |
IL_0056 1e ldc.i4.8 | |
IL_0057 58 add | |
IL_0058 0a stloc.0 | |
IL_0059 04 ldarg.2 | |
IL_005a 16 ldc.i4.0 | |
IL_005b 30 ea bgt.s -22 (IL_0047) | |
IL_005d 06 ldloc.0 | |
IL_005e 1e ldc.i4.8 | |
IL_005f 59 sub | |
IL_0060 0a stloc.0 | |
IL_0061 17 ldc.i4.1 | |
IL_0062 6a conv.i8 | |
IL_0063 07 ldloc.1 | |
IL_0064 17 ldc.i4.1 | |
IL_0065 59 sub | |
IL_0066 1f 3f ldc.i4.s 0x3F | |
IL_0068 5f and | |
IL_0069 62 shl | |
IL_006a 06 ldloc.0 | |
IL_006b 4c ldind.i8 | |
IL_006c 28 0f 00 00 0a call 0xA00000F | |
IL_0071 28 10 00 00 0a call 0xA000010 | |
IL_0076 69 conv.i4 | |
IL_0077 0c stloc.2 | |
IL_0078 06 ldloc.0 | |
IL_0079 02 ldarg.0 | |
IL_007a 59 sub | |
IL_007b 1e ldc.i4.8 | |
IL_007c 5b div | |
IL_007d 6a conv.i8 | |
IL_007e 1f 40 ldc.i4.s 0x40 | |
IL_0080 6a conv.i8 | |
IL_0081 5a mul | |
IL_0082 69 conv.i4 | |
IL_0083 08 ldloc.2 | |
IL_0084 58 add | |
IL_0085 2a ret | |
INLINER impTokenLookupContextHandle for GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int is 0x00007F08AB887599. | |
*************** In fgFindBasicBlocks() for GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int | |
Jump targets: | |
IL_0004 | |
IL_003b | |
IL_0047 | |
IL_0059 | |
New Basic Block BB02 [0001] created. | |
BB02 [000..004) | |
New Basic Block BB03 [0002] created. | |
BB03 [004..03B) | |
New Basic Block BB04 [0003] created. | |
BB04 [03B..043) | |
New Basic Block BB05 [0004] created. | |
BB05 [043..047) | |
New Basic Block BB06 [0005] created. | |
BB06 [047..059) | |
New Basic Block BB07 [0006] created. | |
BB07 [059..05D) | |
New Basic Block BB08 [0007] created. | |
BB08 [05D..086) | |
Basic block list for 'GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int' | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB02 [0001] 1 1 [000..004)-> BB04 (always) | |
BB03 [0002] 1 1 [004..03B) bwd | |
BB04 [0003] 2 1 [03B..043)-> BB03 ( cond ) bwd | |
BB05 [0004] 1 1 [043..047)-> BB07 (always) | |
BB06 [0005] 1 1 [047..059) bwd | |
BB07 [0006] 2 1 [059..05D)-> BB06 ( cond ) bwd | |
BB08 [0007] 1 1 [05D..086) (return) | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In impImport() for GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int | |
impImportBlockPending for BB02 | |
Importing BB02 (PC=000) of 'GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int' | |
[ 0] 0 (0x000) ldarg.0 | |
lvaGrabTemp returning 2 (V02 tmp1) called for Inlining Arg. | |
[ 1] 1 (0x001) stloc.0 | |
lvaGrabTemp returning 3 (V03 tmp2) (a long lifetime temp) called for Inline stloc first use temp. | |
[000016] ------------ * STMT void | |
[000013] ------------ | /--* LCL_VAR long V02 tmp1 | |
[000015] -A---------- \--* ASG long | |
[000014] D------N---- \--* LCL_VAR long V03 tmp2 | |
[ 0] 2 (0x002) br.s | |
impImportBlockPending for BB04 | |
Importing BB04 (PC=059) of 'GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int' | |
[ 0] 59 (0x03b) ldarg.2 | |
lvaGrabTemp returning 4 (V04 tmp3) called for Inlining Arg. | |
[ 1] 60 (0x03c) ldc.i4 256 | |
[ 2] 65 (0x041) bge.s | |
[000022] ------------ * STMT void | |
[000021] ------------ \--* JTRUE void | |
[000019] ------------ | /--* CNS_INT int 256 | |
[000020] ------------ \--* GE int | |
[000018] ------------ \--* LCL_VAR int V04 tmp3 | |
impImportBlockPending for BB05 | |
impImportBlockPending for BB03 | |
Importing BB03 (PC=004) of 'GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int' | |
[ 0] 4 (0x004) ldarg.2 | |
[ 1] 5 (0x005) ldloc.0 | |
[ 2] 6 (0x006) ldind.i8 | |
[ 2] 7 (0x007) call 0A00000D | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0 | |
[ 2] 12 (0x00c) ldloc.0 | |
[ 3] 13 (0x00d) ldc.i4.8 8 | |
[ 4] 14 (0x00e) add | |
[ 3] 15 (0x00f) ldind.i8 | |
[ 3] 16 (0x010) call 0A00000D | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0 | |
[ 3] 21 (0x015) add | |
[ 2] 22 (0x016) ldloc.0 | |
[ 3] 23 (0x017) ldc.i4.2 2 | |
[ 4] 24 (0x018) conv.i | |
[ 4] 25 (0x019) ldc.i4.8 8 | |
[ 5] 26 (0x01a) mul | |
[ 4] 27 (0x01b) add | |
[ 3] 28 (0x01c) ldind.i8 | |
[ 3] 29 (0x01d) call 0A00000D | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0 | |
[ 3] 34 (0x022) add | |
[ 2] 35 (0x023) ldloc.0 | |
[ 3] 36 (0x024) ldc.i4.3 3 | |
[ 4] 37 (0x025) conv.i | |
[ 4] 38 (0x026) ldc.i4.8 8 | |
[ 5] 39 (0x027) mul | |
[ 4] 40 (0x028) add | |
[ 3] 41 (0x029) ldind.i8 | |
[ 3] 42 (0x02a) call 0A00000D | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0 | |
[ 3] 47 (0x02f) add | |
[ 2] 48 (0x030) conv.i4 | |
[ 2] 49 (0x031) sub | |
[ 1] 50 (0x032) starg.s 2 | |
[000060] ------------ * STMT void | |
[000055] ---XG------- | /--* CAST int <- long | |
[000053] ---XG------- | | | /--* HWIntrinsic long PopCount | |
[000052] *--XG------- | | | | \--* IND long | |
[000049] ------------ | | | | | /--* CAST long <- int | |
[000048] ------------ | | | | | | \--* CNS_INT int 8 | |
[000050] ------------ | | | | | /--* MUL long | |
[000047] ------------ | | | | | | \--* CAST long <- int | |
[000046] ------------ | | | | | | \--* CNS_INT int 3 | |
[000051] ------------ | | | | \--* ADD long | |
[000045] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000054] ---XG------- | | \--* ADD long | |
[000043] ---XG------- | | | /--* HWIntrinsic long PopCount | |
[000042] *--XG------- | | | | \--* IND long | |
[000039] ------------ | | | | | /--* CAST long <- int | |
[000038] ------------ | | | | | | \--* CNS_INT int 8 | |
[000040] ------------ | | | | | /--* MUL long | |
[000037] ------------ | | | | | | \--* CAST long <- int | |
[000036] ------------ | | | | | | \--* CNS_INT int 2 | |
[000041] ------------ | | | | \--* ADD long | |
[000035] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000044] ---XG------- | | \--* ADD long | |
[000033] ---XG------- | | | /--* HWIntrinsic long PopCount | |
[000032] *--XG------- | | | | \--* IND long | |
[000030] ------------ | | | | | /--* CAST long <- int | |
[000029] ------------ | | | | | | \--* CNS_INT int 8 | |
[000031] ------------ | | | | \--* ADD long | |
[000028] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000034] ---XG------- | | \--* ADD long | |
[000027] ---XG------- | | \--* HWIntrinsic long PopCount | |
[000026] *--XG------- | | \--* IND long | |
[000025] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000056] ---XG------- | /--* SUB int | |
[000024] ------------ | | \--* LCL_VAR int V04 tmp3 | |
[000059] -A-XG------- \--* ASG int | |
[000058] D------N---- \--* LCL_VAR int V04 tmp3 | |
[ 0] 52 (0x034) ldloc.0 | |
[ 1] 53 (0x035) ldc.i4.4 4 | |
[ 2] 54 (0x036) conv.i | |
[ 2] 55 (0x037) ldc.i4.8 8 | |
[ 3] 56 (0x038) mul | |
[ 2] 57 (0x039) add | |
[ 1] 58 (0x03a) stloc.0 | |
[000070] ------------ * STMT void | |
[000065] ------------ | /--* CAST long <- int | |
[000064] ------------ | | \--* CNS_INT int 8 | |
[000066] ------------ | /--* MUL long | |
[000063] ------------ | | \--* CAST long <- int | |
[000062] ------------ | | \--* CNS_INT int 4 | |
[000067] ------------ | /--* ADD long | |
[000061] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000069] -A---------- \--* ASG long | |
[000068] D------N---- \--* LCL_VAR long V03 tmp2 | |
impImportBlockPending for BB04 | |
Importing BB05 (PC=067) of 'GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int' | |
[ 0] 67 (0x043) ldarg.2 | |
[ 1] 68 (0x044) stloc.1 | |
lvaGrabTemp returning 5 (V05 tmp4) (a long lifetime temp) called for Inline stloc first use temp. | |
[000075] ------------ * STMT void | |
[000072] ------------ | /--* LCL_VAR int V04 tmp3 | |
[000074] -A---------- \--* ASG int | |
[000073] D------N---- \--* LCL_VAR int V05 tmp4 | |
[ 0] 69 (0x045) br.s | |
impImportBlockPending for BB07 | |
Importing BB07 (PC=089) of 'GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int' | |
[ 0] 89 (0x059) ldarg.2 | |
[ 1] 90 (0x05a) ldc.i4.0 0 | |
[ 2] 91 (0x05b) bgt.s | |
[000081] ------------ * STMT void | |
[000080] ------------ \--* JTRUE void | |
[000078] ------------ | /--* CNS_INT int 0 | |
[000079] ------------ \--* GT int | |
[000077] ------------ \--* LCL_VAR int V04 tmp3 | |
impImportBlockPending for BB08 | |
impImportBlockPending for BB06 | |
Importing BB06 (PC=071) of 'GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int' | |
[ 0] 71 (0x047) ldarg.2 | |
[ 1] 72 (0x048) stloc.1 | |
[000086] ------------ * STMT void | |
[000083] ------------ | /--* LCL_VAR int V04 tmp3 | |
[000085] -A---------- \--* ASG int | |
[000084] D------N---- \--* LCL_VAR int V05 tmp4 | |
[ 0] 73 (0x049) ldarg.2 | |
[ 1] 74 (0x04a) ldloc.0 | |
[ 2] 75 (0x04b) ldind.i8 | |
[ 2] 76 (0x04c) call 0A00000D | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0 | |
[ 2] 81 (0x051) conv.i4 | |
[ 2] 82 (0x052) sub | |
[ 1] 83 (0x053) starg.s 2 | |
[000096] ------------ * STMT void | |
[000091] ---XG------- | /--* CAST int <- long | |
[000090] ---XG------- | | \--* HWIntrinsic long PopCount | |
[000089] *--XG------- | | \--* IND long | |
[000088] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000092] ---XG------- | /--* SUB int | |
[000087] ------------ | | \--* LCL_VAR int V04 tmp3 | |
[000095] -A-XG------- \--* ASG int | |
[000094] D------N---- \--* LCL_VAR int V04 tmp3 | |
[ 0] 85 (0x055) ldloc.0 | |
[ 1] 86 (0x056) ldc.i4.8 8 | |
[ 2] 87 (0x057) add | |
[ 1] 88 (0x058) stloc.0 | |
[000103] ------------ * STMT void | |
[000099] ------------ | /--* CAST long <- int | |
[000098] ------------ | | \--* CNS_INT int 8 | |
[000100] ------------ | /--* ADD long | |
[000097] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000102] -A---------- \--* ASG long | |
[000101] D------N---- \--* LCL_VAR long V03 tmp2 | |
impImportBlockPending for BB07 | |
Importing BB08 (PC=093) of 'GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int' | |
[ 0] 93 (0x05d) ldloc.0 | |
[ 1] 94 (0x05e) ldc.i4.8 8 | |
[ 2] 95 (0x05f) sub | |
[ 1] 96 (0x060) stloc.0 | |
[000111] ------------ * STMT void | |
[000107] ------------ | /--* CAST long <- int | |
[000106] ------------ | | \--* CNS_INT int 8 | |
[000108] ------------ | /--* SUB long | |
[000105] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000110] -A---------- \--* ASG long | |
[000109] D------N---- \--* LCL_VAR long V03 tmp2 | |
[ 0] 97 (0x061) ldc.i4.1 1 | |
[ 1] 98 (0x062) conv.i8 | |
[ 1] 99 (0x063) ldloc.1 | |
[ 2] 100 (0x064) ldc.i4.1 1 | |
[ 3] 101 (0x065) sub | |
[ 2] 102 (0x066) ldc.i4.s 63 | |
[ 3] 104 (0x068) and | |
[ 2] 105 (0x069) shl | |
[ 1] 106 (0x06a) ldloc.0 | |
[ 2] 107 (0x06b) ldind.i8 | |
[ 2] 108 (0x06c) call 0A00000F | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0 | |
[ 1] 113 (0x071) call 0A000010 | |
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0 | |
[ 1] 118 (0x076) conv.i4 | |
[ 1] 119 (0x077) stloc.2 | |
lvaGrabTemp returning 6 (V06 tmp5) (a long lifetime temp) called for Inline stloc first use temp. | |
[000127] ------------ * STMT void | |
[000124] ---XG------- | /--* CAST int <- long | |
[000123] ---XG------- | | \--* HWIntrinsic long TrailingZeroCount | |
[000121] *--XG------- | | | /--* IND long | |
[000120] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000122] ---XG------- | | \--* HWIntrinsic long ParallelBitDeposit | |
[000117] ------------ | | | /--* CNS_INT int 63 | |
[000118] ------------ | | | /--* AND int | |
[000115] ------------ | | | | | /--* CNS_INT int 1 | |
[000116] ------------ | | | | \--* SUB int | |
[000114] ------------ | | | | \--* LCL_VAR int V05 tmp4 | |
[000119] ------------ | | \--* LSH long | |
[000113] ------------ | | \--* CAST long <- int | |
[000112] ------------ | | \--* CNS_INT int 1 | |
[000126] -A-XG------- \--* ASG int | |
[000125] D------N---- \--* LCL_VAR int V06 tmp5 | |
[ 0] 120 (0x078) ldloc.0 | |
[ 1] 121 (0x079) ldarg.0 | |
[ 2] 122 (0x07a) sub | |
[ 1] 123 (0x07b) ldc.i4.8 8 | |
[ 2] 124 (0x07c) div | |
[ 1] 125 (0x07d) conv.i8 | |
[ 1] 126 (0x07e) ldc.i4.s 64 | |
[ 2] 128 (0x080) conv.i8 | |
[ 2] 129 (0x081) mul | |
[ 1] 130 (0x082) conv.i4 | |
[ 1] 131 (0x083) ldloc.2 | |
[ 2] 132 (0x084) add | |
[ 1] 133 (0x085) ret | |
Inlinee Return expression (before normalization) => | |
[000138] ------------ /--* LCL_VAR int V06 tmp5 | |
[000139] ---X-------- * ADD int | |
[000137] ---X-------- \--* CAST int <- long | |
[000135] ------------ | /--* CAST long <- int | |
[000134] ------------ | | \--* CNS_INT int 64 | |
[000136] ---X-------- \--* MUL long | |
[000132] ------------ | /--* CAST long <- int | |
[000131] ------------ | | \--* CNS_INT int 8 | |
[000133] ---X-------- \--* DIV long | |
[000129] ------------ | /--* LCL_VAR long V02 tmp1 | |
[000130] ------------ \--* SUB long | |
[000128] ------------ \--* LCL_VAR long V03 tmp2 | |
Inlinee Return expression (after normalization) => | |
[000138] ------------ /--* LCL_VAR int V06 tmp5 | |
[000139] ---X-------- * ADD int | |
[000137] ---X-------- \--* CAST int <- long | |
[000135] ------------ | /--* CAST long <- int | |
[000134] ------------ | | \--* CNS_INT int 64 | |
[000136] ---X-------- \--* MUL long | |
[000132] ------------ | /--* CAST long <- int | |
[000131] ------------ | | \--* CNS_INT int 8 | |
[000133] ---X-------- \--* DIV long | |
[000129] ------------ | /--* LCL_VAR long V02 tmp1 | |
[000130] ------------ \--* SUB long | |
[000128] ------------ \--* LCL_VAR long V03 tmp2 | |
----------- Statements (and blocks) added due to the inlining of call [000004] ----------- | |
Arguments setup: | |
[000142] ------------ * STMT void (IL 0x000... ???) | |
[000001] ----G------- | /--* FIELD long _bits | |
[000141] -A--G------- \--* ASG long | |
[000140] D------N---- \--* LCL_VAR long V02 tmp1 | |
[000145] ------------ * STMT void (IL 0x000... ???) | |
[000003] ------------ | /--* LCL_VAR int V00 arg0 | |
[000144] -A---------- \--* ASG int | |
[000143] D------N---- \--* LCL_VAR int V04 tmp3 | |
Zero init inlinee locals: | |
[000149] ------------ * STMT void (IL 0x000... ???) | |
[000146] ------------ | /--* CNS_INT long 0 | |
[000148] -A---------- \--* ASG long | |
[000147] D------N---- \--* LCL_VAR long V03 tmp2 | |
[000153] ------------ * STMT void (IL 0x000... ???) | |
[000150] ------------ | /--* CNS_INT int 0 | |
[000152] -A---------- \--* ASG int | |
[000151] D------N---- \--* LCL_VAR int V05 tmp4 | |
[000157] ------------ * STMT void (IL 0x000... ???) | |
[000154] ------------ | /--* CNS_INT int 0 | |
[000156] -A---------- \--* ASG int | |
[000155] D------N---- \--* LCL_VAR int V06 tmp5 | |
Inlinee method body:New Basic Block BB09 [0008] created. | |
Convert bbJumpKind of BB08 to BBJ_NONE | |
fgInlineAppendStatements: no gc ref inline locals. | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB02 [0001] 1 1 [000..001)-> BB04 (always) i | |
BB03 [0002] 1 0.50 [000..001) i bwd | |
BB04 [0003] 2 0.50 [000..001)-> BB03 ( cond ) i bwd | |
BB05 [0004] 1 0.50 [000..001)-> BB07 (always) i | |
BB06 [0005] 1 0.50 [000..001) i bwd | |
BB07 [0006] 2 0.50 [000..001)-> BB06 ( cond ) i bwd | |
BB08 [0007] 1 1 [000..001) i | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB02 [000..001) -> BB04 (always), preds={} succs={BB04} | |
***** BB02, stmt 1 | |
[000016] ------------ * STMT void (IL 0x000... ???) | |
[000013] ------------ | /--* LCL_VAR long V02 tmp1 | |
[000015] -A---------- \--* ASG long | |
[000014] D------N---- \--* LCL_VAR long V03 tmp2 | |
------------ BB03 [000..001), preds={} succs={BB04} | |
***** BB03, stmt 2 | |
[000060] ------------ * STMT void (IL 0x000... ???) | |
[000055] ---XG------- | /--* CAST int <- long | |
[000053] ---XG------- | | | /--* HWIntrinsic long PopCount | |
[000052] *--XG------- | | | | \--* IND long | |
[000049] ------------ | | | | | /--* CAST long <- int | |
[000048] ------------ | | | | | | \--* CNS_INT int 8 | |
[000050] ------------ | | | | | /--* MUL long | |
[000047] ------------ | | | | | | \--* CAST long <- int | |
[000046] ------------ | | | | | | \--* CNS_INT int 3 | |
[000051] ------------ | | | | \--* ADD long | |
[000045] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000054] ---XG------- | | \--* ADD long | |
[000043] ---XG------- | | | /--* HWIntrinsic long PopCount | |
[000042] *--XG------- | | | | \--* IND long | |
[000039] ------------ | | | | | /--* CAST long <- int | |
[000038] ------------ | | | | | | \--* CNS_INT int 8 | |
[000040] ------------ | | | | | /--* MUL long | |
[000037] ------------ | | | | | | \--* CAST long <- int | |
[000036] ------------ | | | | | | \--* CNS_INT int 2 | |
[000041] ------------ | | | | \--* ADD long | |
[000035] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000044] ---XG------- | | \--* ADD long | |
[000033] ---XG------- | | | /--* HWIntrinsic long PopCount | |
[000032] *--XG------- | | | | \--* IND long | |
[000030] ------------ | | | | | /--* CAST long <- int | |
[000029] ------------ | | | | | | \--* CNS_INT int 8 | |
[000031] ------------ | | | | \--* ADD long | |
[000028] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000034] ---XG------- | | \--* ADD long | |
[000027] ---XG------- | | \--* HWIntrinsic long PopCount | |
[000026] *--XG------- | | \--* IND long | |
[000025] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000056] ---XG------- | /--* SUB int | |
[000024] ------------ | | \--* LCL_VAR int V04 tmp3 | |
[000059] -A-XG------- \--* ASG int | |
[000058] D------N---- \--* LCL_VAR int V04 tmp3 | |
***** BB03, stmt 3 | |
[000070] ------------ * STMT void (IL 0x000... ???) | |
[000065] ------------ | /--* CAST long <- int | |
[000064] ------------ | | \--* CNS_INT int 8 | |
[000066] ------------ | /--* MUL long | |
[000063] ------------ | | \--* CAST long <- int | |
[000062] ------------ | | \--* CNS_INT int 4 | |
[000067] ------------ | /--* ADD long | |
[000061] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000069] -A---------- \--* ASG long | |
[000068] D------N---- \--* LCL_VAR long V03 tmp2 | |
------------ BB04 [000..001) -> BB03 (cond), preds={} succs={BB05,BB03} | |
***** BB04, stmt 4 | |
[000022] ------------ * STMT void (IL 0x000... ???) | |
[000021] ------------ \--* JTRUE void | |
[000019] ------------ | /--* CNS_INT int 256 | |
[000020] ------------ \--* GE int | |
[000018] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB05 [000..001) -> BB07 (always), preds={} succs={BB07} | |
***** BB05, stmt 5 | |
[000075] ------------ * STMT void (IL 0x000... ???) | |
[000072] ------------ | /--* LCL_VAR int V04 tmp3 | |
[000074] -A---------- \--* ASG int | |
[000073] D------N---- \--* LCL_VAR int V05 tmp4 | |
------------ BB06 [000..001), preds={} succs={BB07} | |
***** BB06, stmt 6 | |
[000086] ------------ * STMT void (IL 0x000... ???) | |
[000083] ------------ | /--* LCL_VAR int V04 tmp3 | |
[000085] -A---------- \--* ASG int | |
[000084] D------N---- \--* LCL_VAR int V05 tmp4 | |
***** BB06, stmt 7 | |
[000096] ------------ * STMT void (IL 0x000... ???) | |
[000091] ---XG------- | /--* CAST int <- long | |
[000090] ---XG------- | | \--* HWIntrinsic long PopCount | |
[000089] *--XG------- | | \--* IND long | |
[000088] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000092] ---XG------- | /--* SUB int | |
[000087] ------------ | | \--* LCL_VAR int V04 tmp3 | |
[000095] -A-XG------- \--* ASG int | |
[000094] D------N---- \--* LCL_VAR int V04 tmp3 | |
***** BB06, stmt 8 | |
[000103] ------------ * STMT void (IL 0x000... ???) | |
[000099] ------------ | /--* CAST long <- int | |
[000098] ------------ | | \--* CNS_INT int 8 | |
[000100] ------------ | /--* ADD long | |
[000097] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000102] -A---------- \--* ASG long | |
[000101] D------N---- \--* LCL_VAR long V03 tmp2 | |
------------ BB07 [000..001) -> BB06 (cond), preds={} succs={BB08,BB06} | |
***** BB07, stmt 9 | |
[000081] ------------ * STMT void (IL 0x000... ???) | |
[000080] ------------ \--* JTRUE void | |
[000078] ------------ | /--* CNS_INT int 0 | |
[000079] ------------ \--* GT int | |
[000077] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB08 [000..001), preds={} succs={BB09} | |
***** BB08, stmt 10 | |
[000111] ------------ * STMT void (IL 0x000... ???) | |
[000107] ------------ | /--* CAST long <- int | |
[000106] ------------ | | \--* CNS_INT int 8 | |
[000108] ------------ | /--* SUB long | |
[000105] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000110] -A---------- \--* ASG long | |
[000109] D------N---- \--* LCL_VAR long V03 tmp2 | |
***** BB08, stmt 11 | |
[000127] ------------ * STMT void (IL 0x000... ???) | |
[000124] ---XG------- | /--* CAST int <- long | |
[000123] ---XG------- | | \--* HWIntrinsic long TrailingZeroCount | |
[000121] *--XG------- | | | /--* IND long | |
[000120] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000122] ---XG------- | | \--* HWIntrinsic long ParallelBitDeposit | |
[000117] ------------ | | | /--* CNS_INT int 63 | |
[000118] ------------ | | | /--* AND int | |
[000115] ------------ | | | | | /--* CNS_INT int 1 | |
[000116] ------------ | | | | \--* SUB int | |
[000114] ------------ | | | | \--* LCL_VAR int V05 tmp4 | |
[000119] ------------ | | \--* LSH long | |
[000113] ------------ | | \--* CAST long <- int | |
[000112] ------------ | | \--* CNS_INT int 1 | |
[000126] -A-XG------- \--* ASG int | |
[000125] D------N---- \--* LCL_VAR int V06 tmp5 | |
------------------------------------------------------------------------------------------------------------------- | |
Return expression for call at [000004] is | |
[000138] ------------ /--* LCL_VAR int V06 tmp5 | |
[000139] ---X-------- * ADD int | |
[000137] ---X-------- \--* CAST int <- long | |
[000135] ------------ | /--* CAST long <- int | |
[000134] ------------ | | \--* CNS_INT int 64 | |
[000136] ---X-------- \--* MUL long | |
[000132] ------------ | /--* CAST long <- int | |
[000131] ------------ | | \--* CNS_INT int 8 | |
[000133] ---X-------- \--* DIV long | |
[000129] ------------ | /--* LCL_VAR long V02 tmp1 | |
[000130] ------------ \--* SUB long | |
[000128] ------------ \--* LCL_VAR long V03 tmp2 | |
Successfully inlined GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int (134 IL bytes) (depth 1) [aggressive inline attribute] | |
-------------------------------------------------------------------------------------------- | |
INLINER: during 'fgInline' result 'success' reason 'aggressive inline attribute' for 'Program:IntrinsicsUnrolled(int):int' calling 'GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int' | |
INLINER: during 'fgInline' result 'success' reason 'aggressive inline attribute' | |
Replacing the return expression placeholder [000009] with [000139] | |
[000009] --C--------- * RET_EXPR int (inl return from call [000139]) | |
Inserting the inline return expression | |
[000138] ------------ /--* LCL_VAR int V06 tmp5 | |
[000139] ---X-------- * ADD int | |
[000137] ---X-------- \--* CAST int <- long | |
[000135] ------------ | /--* CAST long <- int | |
[000134] ------------ | | \--* CNS_INT int 64 | |
[000136] ---X-------- \--* MUL long | |
[000132] ------------ | /--* CAST long <- int | |
[000131] ------------ | | \--* CNS_INT int 8 | |
[000133] ---X-------- \--* DIV long | |
[000129] ------------ | /--* LCL_VAR long V02 tmp1 | |
[000130] ------------ \--* SUB long | |
[000128] ------------ \--* LCL_VAR long V03 tmp2 | |
*************** After fgInline() | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011) i | |
BB02 [0001] 1 1 [000..001)-> BB04 (always) i | |
BB03 [0002] 1 0.50 [000..001) i bwd | |
BB04 [0003] 2 0.50 [000..001)-> BB03 ( cond ) i bwd | |
BB05 [0004] 1 0.50 [000..001)-> BB07 (always) i | |
BB06 [0005] 1 0.50 [000..001) i bwd | |
BB07 [0006] 2 0.50 [000..001)-> BB06 ( cond ) i bwd | |
BB08 [0007] 1 1 [000..001) i | |
BB09 [0008] 1 1 [???..???) (return) internal | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011), preds={} succs={BB02} | |
***** BB01, stmt 1 | |
[000142] ------------ * STMT void (IL 0x000... ???) | |
[000001] ----G------- | /--* FIELD long _bits | |
[000141] -A--G------- \--* ASG long | |
[000140] D------N---- \--* LCL_VAR long V02 tmp1 | |
***** BB01, stmt 2 | |
[000145] ------------ * STMT void (IL 0x000... ???) | |
[000003] ------------ | /--* LCL_VAR int V00 arg0 | |
[000144] -A---------- \--* ASG int | |
[000143] D------N---- \--* LCL_VAR int V04 tmp3 | |
***** BB01, stmt 3 | |
[000149] ------------ * STMT void (IL 0x000... ???) | |
[000146] ------------ | /--* CNS_INT long 0 | |
[000148] -A---------- \--* ASG long | |
[000147] D------N---- \--* LCL_VAR long V03 tmp2 | |
***** BB01, stmt 4 | |
[000153] ------------ * STMT void (IL 0x000... ???) | |
[000150] ------------ | /--* CNS_INT int 0 | |
[000152] -A---------- \--* ASG int | |
[000151] D------N---- \--* LCL_VAR int V05 tmp4 | |
***** BB01, stmt 5 | |
[000157] ------------ * STMT void (IL 0x000... ???) | |
[000154] ------------ | /--* CNS_INT int 0 | |
[000156] -A---------- \--* ASG int | |
[000155] D------N---- \--* LCL_VAR int V06 tmp5 | |
------------ BB02 [000..001) -> BB04 (always), preds={} succs={BB04} | |
***** BB02, stmt 6 | |
[000016] ------------ * STMT void (IL 0x000... ???) | |
[000013] ------------ | /--* LCL_VAR long V02 tmp1 | |
[000015] -A---------- \--* ASG long | |
[000014] D------N---- \--* LCL_VAR long V03 tmp2 | |
------------ BB03 [000..001), preds={} succs={BB04} | |
***** BB03, stmt 7 | |
[000060] ------------ * STMT void (IL 0x000... ???) | |
[000055] ---XG------- | /--* CAST int <- long | |
[000053] ---XG------- | | | /--* HWIntrinsic long PopCount | |
[000052] *--XG------- | | | | \--* IND long | |
[000049] ------------ | | | | | /--* CAST long <- int | |
[000048] ------------ | | | | | | \--* CNS_INT int 8 | |
[000050] ------------ | | | | | /--* MUL long | |
[000047] ------------ | | | | | | \--* CAST long <- int | |
[000046] ------------ | | | | | | \--* CNS_INT int 3 | |
[000051] ------------ | | | | \--* ADD long | |
[000045] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000054] ---XG------- | | \--* ADD long | |
[000043] ---XG------- | | | /--* HWIntrinsic long PopCount | |
[000042] *--XG------- | | | | \--* IND long | |
[000039] ------------ | | | | | /--* CAST long <- int | |
[000038] ------------ | | | | | | \--* CNS_INT int 8 | |
[000040] ------------ | | | | | /--* MUL long | |
[000037] ------------ | | | | | | \--* CAST long <- int | |
[000036] ------------ | | | | | | \--* CNS_INT int 2 | |
[000041] ------------ | | | | \--* ADD long | |
[000035] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000044] ---XG------- | | \--* ADD long | |
[000033] ---XG------- | | | /--* HWIntrinsic long PopCount | |
[000032] *--XG------- | | | | \--* IND long | |
[000030] ------------ | | | | | /--* CAST long <- int | |
[000029] ------------ | | | | | | \--* CNS_INT int 8 | |
[000031] ------------ | | | | \--* ADD long | |
[000028] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000034] ---XG------- | | \--* ADD long | |
[000027] ---XG------- | | \--* HWIntrinsic long PopCount | |
[000026] *--XG------- | | \--* IND long | |
[000025] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000056] ---XG------- | /--* SUB int | |
[000024] ------------ | | \--* LCL_VAR int V04 tmp3 | |
[000059] -A-XG------- \--* ASG int | |
[000058] D------N---- \--* LCL_VAR int V04 tmp3 | |
***** BB03, stmt 8 | |
[000070] ------------ * STMT void (IL 0x000... ???) | |
[000065] ------------ | /--* CAST long <- int | |
[000064] ------------ | | \--* CNS_INT int 8 | |
[000066] ------------ | /--* MUL long | |
[000063] ------------ | | \--* CAST long <- int | |
[000062] ------------ | | \--* CNS_INT int 4 | |
[000067] ------------ | /--* ADD long | |
[000061] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000069] -A---------- \--* ASG long | |
[000068] D------N---- \--* LCL_VAR long V03 tmp2 | |
------------ BB04 [000..001) -> BB03 (cond), preds={} succs={BB05,BB03} | |
***** BB04, stmt 9 | |
[000022] ------------ * STMT void (IL 0x000... ???) | |
[000021] ------------ \--* JTRUE void | |
[000019] ------------ | /--* CNS_INT int 256 | |
[000020] ------------ \--* GE int | |
[000018] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB05 [000..001) -> BB07 (always), preds={} succs={BB07} | |
***** BB05, stmt 10 | |
[000075] ------------ * STMT void (IL 0x000... ???) | |
[000072] ------------ | /--* LCL_VAR int V04 tmp3 | |
[000074] -A---------- \--* ASG int | |
[000073] D------N---- \--* LCL_VAR int V05 tmp4 | |
------------ BB06 [000..001), preds={} succs={BB07} | |
***** BB06, stmt 11 | |
[000086] ------------ * STMT void (IL 0x000... ???) | |
[000083] ------------ | /--* LCL_VAR int V04 tmp3 | |
[000085] -A---------- \--* ASG int | |
[000084] D------N---- \--* LCL_VAR int V05 tmp4 | |
***** BB06, stmt 12 | |
[000096] ------------ * STMT void (IL 0x000... ???) | |
[000091] ---XG------- | /--* CAST int <- long | |
[000090] ---XG------- | | \--* HWIntrinsic long PopCount | |
[000089] *--XG------- | | \--* IND long | |
[000088] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000092] ---XG------- | /--* SUB int | |
[000087] ------------ | | \--* LCL_VAR int V04 tmp3 | |
[000095] -A-XG------- \--* ASG int | |
[000094] D------N---- \--* LCL_VAR int V04 tmp3 | |
***** BB06, stmt 13 | |
[000103] ------------ * STMT void (IL 0x000... ???) | |
[000099] ------------ | /--* CAST long <- int | |
[000098] ------------ | | \--* CNS_INT int 8 | |
[000100] ------------ | /--* ADD long | |
[000097] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000102] -A---------- \--* ASG long | |
[000101] D------N---- \--* LCL_VAR long V03 tmp2 | |
------------ BB07 [000..001) -> BB06 (cond), preds={} succs={BB08,BB06} | |
***** BB07, stmt 14 | |
[000081] ------------ * STMT void (IL 0x000... ???) | |
[000080] ------------ \--* JTRUE void | |
[000078] ------------ | /--* CNS_INT int 0 | |
[000079] ------------ \--* GT int | |
[000077] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB08 [000..001), preds={} succs={BB09} | |
***** BB08, stmt 15 | |
[000111] ------------ * STMT void (IL 0x000... ???) | |
[000107] ------------ | /--* CAST long <- int | |
[000106] ------------ | | \--* CNS_INT int 8 | |
[000108] ------------ | /--* SUB long | |
[000105] ------------ | | \--* LCL_VAR long V03 tmp2 | |
[000110] -A---------- \--* ASG long | |
[000109] D------N---- \--* LCL_VAR long V03 tmp2 | |
***** BB08, stmt 16 | |
[000127] ------------ * STMT void (IL 0x000... ???) | |
[000124] ---XG------- | /--* CAST int <- long | |
[000123] ---XG------- | | \--* HWIntrinsic long TrailingZeroCount | |
[000121] *--XG------- | | | /--* IND long | |
[000120] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000122] ---XG------- | | \--* HWIntrinsic long ParallelBitDeposit | |
[000117] ------------ | | | /--* CNS_INT int 63 | |
[000118] ------------ | | | /--* AND int | |
[000115] ------------ | | | | | /--* CNS_INT int 1 | |
[000116] ------------ | | | | \--* SUB int | |
[000114] ------------ | | | | \--* LCL_VAR int V05 tmp4 | |
[000119] ------------ | | \--* LSH long | |
[000113] ------------ | | \--* CAST long <- int | |
[000112] ------------ | | \--* CNS_INT int 1 | |
[000126] -A-XG------- \--* ASG int | |
[000125] D------N---- \--* LCL_VAR int V06 tmp5 | |
------------ BB09 [???..???) (return), preds={} succs={} | |
***** BB09, stmt 17 | |
[000011] ------------ * STMT void (IL ???... ???) | |
[000010] --C--------- \--* RETURN int | |
[000138] ------------ | /--* LCL_VAR int V06 tmp5 | |
[000139] ---X-------- \--* ADD int | |
[000137] ---X-------- \--* CAST int <- long | |
[000135] ------------ | /--* CAST long <- int | |
[000134] ------------ | | \--* CNS_INT int 64 | |
[000136] ---X-------- \--* MUL long | |
[000132] ------------ | /--* CAST long <- int | |
[000131] ------------ | | \--* CNS_INT int 8 | |
[000133] ---X-------- \--* DIV long | |
[000129] ------------ | /--* LCL_VAR long V02 tmp1 | |
[000130] ------------ \--* SUB long | |
[000128] ------------ \--* LCL_VAR long V03 tmp2 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
**************** Inline Tree | |
Inlines into 06000007 Program:IntrinsicsUnrolled(int):int | |
[1 IL=0011 TR=000004 06000008] [aggressive inline attribute] GetNthBitOffset:IntrinsicsUnrolled(long,int,int):int | |
Budget: initialTime=111, finalTime=365, initialBudget=1110, currentBudget=1364 | |
Budget: increased by 254 because of force inlines | |
Budget: initialSize=518, finalSize=518 | |
*************** After fgAddInternal() | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011) i | |
BB02 [0001] 1 1 [000..001)-> BB04 (always) i | |
BB03 [0002] 1 0.50 [000..001) i bwd | |
BB04 [0003] 2 0.50 [000..001)-> BB03 ( cond ) i bwd | |
BB05 [0004] 1 0.50 [000..001)-> BB07 (always) i | |
BB06 [0005] 1 0.50 [000..001) i bwd | |
BB07 [0006] 2 0.50 [000..001)-> BB06 ( cond ) i bwd | |
BB08 [0007] 1 1 [000..001) i | |
BB09 [0008] 1 1 [???..???) (return) internal | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
*************** In fgDebugCheckBBlist | |
*************** In fgRemoveEmptyTry() | |
No EH in this method, nothing to remove. | |
*************** In fgRemoveEmptyFinally() | |
No EH in this method, nothing to remove. | |
*************** In fgMergeFinallyChains() | |
No EH in this method, nothing to merge. | |
*************** In fgCloneFinally() | |
No EH in this method, no cloning. | |
*************** In fgPromoteStructs() | |
lvaTable before fgPromoteStructs | |
; Initial local variable assignments | |
; | |
; V00 arg0 int | |
; V01 OutArgs lclBlk (na) | |
; V02 tmp1 long | |
; V03 tmp2 long | |
; V04 tmp3 int | |
; V05 tmp4 int | |
; V06 tmp5 int | |
lvaTable after fgPromoteStructs | |
; Initial local variable assignments | |
; | |
; V00 arg0 int | |
; V01 OutArgs lclBlk (na) | |
; V02 tmp1 long | |
; V03 tmp2 long | |
; V04 tmp3 int | |
; V05 tmp4 int | |
; V06 tmp5 int | |
*************** In fgMarkAddressExposedLocals() | |
*************** In fgMorphBlocks() | |
Morphing BB01 of 'Program:IntrinsicsUnrolled(int):int' | |
fgMorphTree BB01, stmt 1 (before) | |
[000001] ----G------- /--* FIELD long _bits | |
[000141] -A--G------- * ASG long | |
[000140] D------N---- \--* LCL_VAR long V02 tmp1 | |
fgMorphTree BB01, stmt 1 (after) | |
[000001] x---G+------ /--* IND long | |
[000159] -----+------ | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] | |
[000141] -A--G+------ * ASG long | |
[000140] D----+-N---- \--* LCL_VAR long V02 tmp1 | |
fgMorphTree BB01, stmt 2 (before) | |
[000003] ------------ /--* LCL_VAR int V00 arg0 | |
[000144] -A---------- * ASG int | |
[000143] D------N---- \--* LCL_VAR int V04 tmp3 | |
GenTreeNode creates assertion: | |
[000144] -A---------- * ASG int | |
In BB01 New Local Copy Assertion: V04 == V00 index=#01, mask=0000000000000001 | |
fgMorphTree BB01, stmt 3 (before) | |
[000146] ------------ /--* CNS_INT long 0 | |
[000148] -A---------- * ASG long | |
[000147] D------N---- \--* LCL_VAR long V03 tmp2 | |
GenTreeNode creates assertion: | |
[000148] -A---------- * ASG long | |
In BB01 New Local Constant Assertion: V03 == 0 index=#02, mask=0000000000000002 | |
fgMorphTree BB01, stmt 4 (before) | |
[000150] ------------ /--* CNS_INT int 0 | |
[000152] -A---------- * ASG int | |
[000151] D------N---- \--* LCL_VAR int V05 tmp4 | |
GenTreeNode creates assertion: | |
[000152] -A---------- * ASG int | |
In BB01 New Local Constant Assertion: V05 == 0 index=#03, mask=0000000000000004 | |
fgMorphTree BB01, stmt 5 (before) | |
[000154] ------------ /--* CNS_INT int 0 | |
[000156] -A---------- * ASG int | |
[000155] D------N---- \--* LCL_VAR int V06 tmp5 | |
GenTreeNode creates assertion: | |
[000156] -A---------- * ASG int | |
In BB01 New Local Constant Assertion: V06 == 0 index=#04, mask=0000000000000008 | |
Morphing BB02 of 'Program:IntrinsicsUnrolled(int):int' | |
fgMorphTree BB02, stmt 6 (before) | |
[000013] ------------ /--* LCL_VAR long V02 tmp1 | |
[000015] -A---------- * ASG long | |
[000014] D------N---- \--* LCL_VAR long V03 tmp2 | |
GenTreeNode creates assertion: | |
[000015] -A---------- * ASG long | |
In BB02 New Local Copy Assertion: V03 == V02 index=#01, mask=0000000000000001 | |
Morphing BB03 of 'Program:IntrinsicsUnrolled(int):int' | |
fgMorphTree BB03, stmt 7 (before) | |
[000055] ---XG------- /--* CAST int <- long | |
[000053] ---XG------- | | /--* HWIntrinsic long PopCount | |
[000052] *--XG------- | | | \--* IND long | |
[000049] ------------ | | | | /--* CAST long <- int | |
[000048] ------------ | | | | | \--* CNS_INT int 8 | |
[000050] ------------ | | | | /--* MUL long | |
[000047] ------------ | | | | | \--* CAST long <- int | |
[000046] ------------ | | | | | \--* CNS_INT int 3 | |
[000051] ------------ | | | \--* ADD long | |
[000045] ------------ | | | \--* LCL_VAR long V03 tmp2 | |
[000054] ---XG------- | \--* ADD long | |
[000043] ---XG------- | | /--* HWIntrinsic long PopCount | |
[000042] *--XG------- | | | \--* IND long | |
[000039] ------------ | | | | /--* CAST long <- int | |
[000038] ------------ | | | | | \--* CNS_INT int 8 | |
[000040] ------------ | | | | /--* MUL long | |
[000037] ------------ | | | | | \--* CAST long <- int | |
[000036] ------------ | | | | | \--* CNS_INT int 2 | |
[000041] ------------ | | | \--* ADD long | |
[000035] ------------ | | | \--* LCL_VAR long V03 tmp2 | |
[000044] ---XG------- | \--* ADD long | |
[000033] ---XG------- | | /--* HWIntrinsic long PopCount | |
[000032] *--XG------- | | | \--* IND long | |
[000030] ------------ | | | | /--* CAST long <- int | |
[000029] ------------ | | | | | \--* CNS_INT int 8 | |
[000031] ------------ | | | \--* ADD long | |
[000028] ------------ | | | \--* LCL_VAR long V03 tmp2 | |
[000034] ---XG------- | \--* ADD long | |
[000027] ---XG------- | \--* HWIntrinsic long PopCount | |
[000026] *--XG------- | \--* IND long | |
[000025] ------------ | \--* LCL_VAR long V03 tmp2 | |
[000056] ---XG------- /--* SUB int | |
[000024] ------------ | \--* LCL_VAR int V04 tmp3 | |
[000059] -A-XG------- * ASG int | |
[000058] D------N---- \--* LCL_VAR int V04 tmp3 | |
Folding long operator with constant nodes into a constant: | |
[000030] ------------ * CAST long <- int | |
[000029] -----+------ \--* CNS_INT int 8 | |
Bashed to long constant: | |
[000030] ------------ * CNS_INT long 8 | |
Folding long operator with constant nodes into a constant: | |
[000037] ------------ * CAST long <- int | |
[000036] -----+------ \--* CNS_INT int 2 | |
Bashed to long constant: | |
[000037] ------------ * CNS_INT long 2 | |
Folding long operator with constant nodes into a constant: | |
[000039] ------------ * CAST long <- int | |
[000038] -----+------ \--* CNS_INT int 8 | |
Bashed to long constant: | |
[000039] ------------ * CNS_INT long 8 | |
Folding long operator with constant nodes into a constant: | |
[000039] -----+------ /--* CNS_INT long 8 | |
[000040] ------------ * MUL long | |
[000037] -----+------ \--* CNS_INT long 2 | |
Bashed to long constant: | |
[000040] ------------ * CNS_INT long 16 | |
Folding long operator with constant nodes into a constant: | |
[000047] ------------ * CAST long <- int | |
[000046] -----+------ \--* CNS_INT int 3 | |
Bashed to long constant: | |
[000047] ------------ * CNS_INT long 3 | |
Folding long operator with constant nodes into a constant: | |
[000049] ------------ * CAST long <- int | |
[000048] -----+------ \--* CNS_INT int 8 | |
Bashed to long constant: | |
[000049] ------------ * CNS_INT long 8 | |
Folding long operator with constant nodes into a constant: | |
[000049] -----+------ /--* CNS_INT long 8 | |
[000050] ------------ * MUL long | |
[000047] -----+------ \--* CNS_INT long 3 | |
Bashed to long constant: | |
[000050] ------------ * CNS_INT long 24 | |
fgMorphTree BB03, stmt 7 (after) | |
[000161] ---XG+------ /--* CAST int <- long | |
[000053] ---XG+------ | \--* HWIntrinsic long PopCount | |
[000052] *--XG+------ | \--* IND long | |
[000050] -----+------ | | /--* CNS_INT long 24 | |
[000051] -----+------ | \--* ADD long | |
[000045] -----+------ | \--* LCL_VAR long V03 tmp2 | |
[000054] ---XG+------ /--* ADD int | |
[000163] ---XG+------ | | /--* CAST int <- long | |
[000043] ---XG+------ | | | \--* HWIntrinsic long PopCount | |
[000042] *--XG+------ | | | \--* IND long | |
[000040] -----+------ | | | | /--* CNS_INT long 16 | |
[000041] -----+------ | | | \--* ADD long | |
[000035] -----+------ | | | \--* LCL_VAR long V03 tmp2 | |
[000044] ---XG+------ | \--* ADD int | |
[000165] ---XG+------ | | /--* CAST int <- long | |
[000033] ---XG+------ | | | \--* HWIntrinsic long PopCount | |
[000032] *--XG+------ | | | \--* IND long | |
[000030] -----+------ | | | | /--* CNS_INT long 8 | |
[000031] -----+------ | | | \--* ADD long | |
[000028] -----+------ | | | \--* LCL_VAR long V03 tmp2 | |
[000034] ---XG+------ | \--* ADD int | |
[000164] ---XG+------ | \--* CAST int <- long | |
[000027] ---XG+------ | \--* HWIntrinsic long PopCount | |
[000026] *--XG+------ | \--* IND long | |
[000025] -----+------ | \--* LCL_VAR long V03 tmp2 | |
[000056] ---XG+------ /--* SUB int | |
[000024] -----+------ | \--* LCL_VAR int V04 tmp3 | |
[000059] -A-XG+------ * ASG int | |
[000058] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
fgMorphTree BB03, stmt 8 (before) | |
[000065] ------------ /--* CAST long <- int | |
[000064] ------------ | \--* CNS_INT int 8 | |
[000066] ------------ /--* MUL long | |
[000063] ------------ | \--* CAST long <- int | |
[000062] ------------ | \--* CNS_INT int 4 | |
[000067] ------------ /--* ADD long | |
[000061] ------------ | \--* LCL_VAR long V03 tmp2 | |
[000069] -A---------- * ASG long | |
[000068] D------N---- \--* LCL_VAR long V03 tmp2 | |
Folding long operator with constant nodes into a constant: | |
[000063] ------------ * CAST long <- int | |
[000062] -----+------ \--* CNS_INT int 4 | |
Bashed to long constant: | |
[000063] ------------ * CNS_INT long 4 | |
Folding long operator with constant nodes into a constant: | |
[000065] ------------ * CAST long <- int | |
[000064] -----+------ \--* CNS_INT int 8 | |
Bashed to long constant: | |
[000065] ------------ * CNS_INT long 8 | |
Folding long operator with constant nodes into a constant: | |
[000065] -----+------ /--* CNS_INT long 8 | |
[000066] ------------ * MUL long | |
[000063] -----+------ \--* CNS_INT long 4 | |
Bashed to long constant: | |
[000066] ------------ * CNS_INT long 32 | |
fgMorphTree BB03, stmt 8 (after) | |
[000066] -----+------ /--* CNS_INT long 32 | |
[000067] -----+------ /--* ADD long | |
[000061] -----+------ | \--* LCL_VAR long V03 tmp2 | |
[000069] -A---+------ * ASG long | |
[000068] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
Morphing BB04 of 'Program:IntrinsicsUnrolled(int):int' | |
fgMorphTree BB04, stmt 9 (before) | |
[000021] ------------ * JTRUE void | |
[000019] ------------ | /--* CNS_INT int 256 | |
[000020] ------------ \--* GE int | |
[000018] ------------ \--* LCL_VAR int V04 tmp3 | |
Morphing BB05 of 'Program:IntrinsicsUnrolled(int):int' | |
fgMorphTree BB05, stmt 10 (before) | |
[000072] ------------ /--* LCL_VAR int V04 tmp3 | |
[000074] -A---------- * ASG int | |
[000073] D------N---- \--* LCL_VAR int V05 tmp4 | |
GenTreeNode creates assertion: | |
[000074] -A---------- * ASG int | |
In BB05 New Local Copy Assertion: V05 == V04 index=#01, mask=0000000000000001 | |
Morphing BB06 of 'Program:IntrinsicsUnrolled(int):int' | |
fgMorphTree BB06, stmt 11 (before) | |
[000083] ------------ /--* LCL_VAR int V04 tmp3 | |
[000085] -A---------- * ASG int | |
[000084] D------N---- \--* LCL_VAR int V05 tmp4 | |
GenTreeNode creates assertion: | |
[000085] -A---------- * ASG int | |
In BB06 New Local Copy Assertion: V05 == V04 index=#01, mask=0000000000000001 | |
fgMorphTree BB06, stmt 12 (before) | |
[000091] ---XG------- /--* CAST int <- long | |
[000090] ---XG------- | \--* HWIntrinsic long PopCount | |
[000089] *--XG------- | \--* IND long | |
[000088] ------------ | \--* LCL_VAR long V03 tmp2 | |
[000092] ---XG------- /--* SUB int | |
[000087] ------------ | \--* LCL_VAR int V04 tmp3 | |
[000095] -A-XG------- * ASG int | |
[000094] D------N---- \--* LCL_VAR int V04 tmp3 | |
The assignment [000095] using V05 removes: Copy Assertion: V05 == V04 | |
fgMorphTree BB06, stmt 13 (before) | |
[000099] ------------ /--* CAST long <- int | |
[000098] ------------ | \--* CNS_INT int 8 | |
[000100] ------------ /--* ADD long | |
[000097] ------------ | \--* LCL_VAR long V03 tmp2 | |
[000102] -A---------- * ASG long | |
[000101] D------N---- \--* LCL_VAR long V03 tmp2 | |
Folding long operator with constant nodes into a constant: | |
[000099] ------------ * CAST long <- int | |
[000098] -----+------ \--* CNS_INT int 8 | |
Bashed to long constant: | |
[000099] ------------ * CNS_INT long 8 | |
fgMorphTree BB06, stmt 13 (after) | |
[000099] -----+------ /--* CNS_INT long 8 | |
[000100] -----+------ /--* ADD long | |
[000097] -----+------ | \--* LCL_VAR long V03 tmp2 | |
[000102] -A---+------ * ASG long | |
[000101] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
Morphing BB07 of 'Program:IntrinsicsUnrolled(int):int' | |
fgMorphTree BB07, stmt 14 (before) | |
[000080] ------------ * JTRUE void | |
[000078] ------------ | /--* CNS_INT int 0 | |
[000079] ------------ \--* GT int | |
[000077] ------------ \--* LCL_VAR int V04 tmp3 | |
Morphing BB08 of 'Program:IntrinsicsUnrolled(int):int' | |
fgMorphTree BB08, stmt 15 (before) | |
[000107] ------------ /--* CAST long <- int | |
[000106] ------------ | \--* CNS_INT int 8 | |
[000108] ------------ /--* SUB long | |
[000105] ------------ | \--* LCL_VAR long V03 tmp2 | |
[000110] -A---------- * ASG long | |
[000109] D------N---- \--* LCL_VAR long V03 tmp2 | |
Folding long operator with constant nodes into a constant: | |
[000107] ------------ * CAST long <- int | |
[000106] -----+------ \--* CNS_INT int 8 | |
Bashed to long constant: | |
[000107] ------------ * CNS_INT long 8 | |
fgMorphTree BB08, stmt 15 (after) | |
[000107] -----+------ /--* CNS_INT long -8 | |
[000108] -----+------ /--* ADD long | |
[000105] -----+------ | \--* LCL_VAR long V03 tmp2 | |
[000110] -A---+------ * ASG long | |
[000109] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
fgMorphTree BB08, stmt 16 (before) | |
[000124] ---XG------- /--* CAST int <- long | |
[000123] ---XG------- | \--* HWIntrinsic long TrailingZeroCount | |
[000121] *--XG------- | | /--* IND long | |
[000120] ------------ | | | \--* LCL_VAR long V03 tmp2 | |
[000122] ---XG------- | \--* HWIntrinsic long ParallelBitDeposit | |
[000117] ------------ | | /--* CNS_INT int 63 | |
[000118] ------------ | | /--* AND int | |
[000115] ------------ | | | | /--* CNS_INT int 1 | |
[000116] ------------ | | | \--* SUB int | |
[000114] ------------ | | | \--* LCL_VAR int V05 tmp4 | |
[000119] ------------ | \--* LSH long | |
[000113] ------------ | \--* CAST long <- int | |
[000112] ------------ | \--* CNS_INT int 1 | |
[000126] -A-XG------- * ASG int | |
[000125] D------N---- \--* LCL_VAR int V06 tmp5 | |
Folding long operator with constant nodes into a constant: | |
[000113] ------------ * CAST long <- int | |
[000112] -----+------ \--* CNS_INT int 1 | |
Bashed to long constant: | |
[000113] ------------ * CNS_INT long 1 | |
GenTreeNode creates assertion: | |
[000126] -A-XG------- * ASG int | |
In BB08 New Local Subrange Assertion: V06 in [-2147483648..2147483647] index=#01, mask=0000000000000001 | |
fgMorphTree BB08, stmt 16 (after) | |
[000124] ---XG+------ /--* CAST int <- long | |
[000123] ---XG+------ | \--* HWIntrinsic long TrailingZeroCount | |
[000121] *--XG+------ | | /--* IND long | |
[000120] -----+------ | | | \--* LCL_VAR long V03 tmp2 | |
[000122] ---XG+------ | \--* HWIntrinsic long ParallelBitDeposit | |
[000117] -----+------ | | /--* CNS_INT int 63 | |
[000118] -----+------ | | /--* AND int | |
[000115] -----+------ | | | | /--* CNS_INT int -1 | |
[000116] -----+------ | | | \--* ADD int | |
[000114] -----+------ | | | \--* LCL_VAR int V05 tmp4 | |
[000119] -----+------ | \--* LSH long | |
[000113] -----+------ | \--* CNS_INT long 1 | |
[000126] -A-XG+------ * ASG int | |
[000125] D----+-N---- \--* LCL_VAR int V06 tmp5 | |
Morphing BB09 of 'Program:IntrinsicsUnrolled(int):int' | |
fgMorphTree BB09, stmt 17 (before) | |
[000010] --C--------- * RETURN int | |
[000138] ------------ | /--* LCL_VAR int V06 tmp5 | |
[000139] ---X-------- \--* ADD int | |
[000137] ---X-------- \--* CAST int <- long | |
[000135] ------------ | /--* CAST long <- int | |
[000134] ------------ | | \--* CNS_INT int 64 | |
[000136] ---X-------- \--* MUL long | |
[000132] ------------ | /--* CAST long <- int | |
[000131] ------------ | | \--* CNS_INT int 8 | |
[000133] ---X-------- \--* DIV long | |
[000129] ------------ | /--* LCL_VAR long V02 tmp1 | |
[000130] ------------ \--* SUB long | |
[000128] ------------ \--* LCL_VAR long V03 tmp2 | |
Folding long operator with constant nodes into a constant: | |
[000132] ------------ * CAST long <- int | |
[000131] ------------ \--* CNS_INT int 8 | |
Bashed to long constant: | |
[000132] ------------ * CNS_INT long 8 | |
Folding long operator with constant nodes into a constant: | |
[000135] ------------ * CAST long <- int | |
[000134] -----+------ \--* CNS_INT int 64 | |
Bashed to long constant: | |
[000135] ------------ * CNS_INT long 64 | |
fgMorphTree BB09, stmt 17 (after) | |
[000010] -----+------ * RETURN int | |
[000138] -----+------ | /--* LCL_VAR int V06 tmp5 | |
[000139] -----+------ \--* ADD int | |
[000135] -----+------ | /--* CNS_INT int 6 | |
[000136] -----+------ \--* LSH int | |
[000166] -----+------ \--* CAST int <- long | |
[000132] -----+------ | /--* CNS_INT long 8 | |
[000133] -----+------ \--* DIV long | |
[000129] -----+------ | /--* LCL_VAR long V02 tmp1 | |
[000130] -----+------ \--* SUB long | |
[000128] -----+------ \--* LCL_VAR long V03 tmp2 | |
Renumbering the basic blocks for fgComputePred | |
*************** Before renumbering the basic blocks | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011) i | |
BB02 [0001] 1 1 [000..001)-> BB04 (always) i | |
BB03 [0002] 1 0.50 [000..001) i bwd | |
BB04 [0003] 2 0.50 [000..001)-> BB03 ( cond ) i bwd | |
BB05 [0004] 1 0.50 [000..001)-> BB07 (always) i | |
BB06 [0005] 1 0.50 [000..001) i bwd | |
BB07 [0006] 2 0.50 [000..001)-> BB06 ( cond ) i bwd | |
BB08 [0007] 1 1 [000..001) i | |
BB09 [0008] 1 1 [???..???) (return) internal | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
*************** After renumbering the basic blocks | |
=============== No blocks renumbered! | |
New BlockSet epoch 2, # of blocks (including unused BB00): 10, bitset array size: 1 (short) | |
*************** In fgComputePreds() | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011) i | |
BB02 [0001] 1 1 [000..001)-> BB04 (always) i | |
BB03 [0002] 1 0.50 [000..001) i bwd | |
BB04 [0003] 2 0.50 [000..001)-> BB03 ( cond ) i bwd | |
BB05 [0004] 1 0.50 [000..001)-> BB07 (always) i | |
BB06 [0005] 1 0.50 [000..001) i bwd | |
BB07 [0006] 2 0.50 [000..001)-> BB06 ( cond ) i bwd | |
BB08 [0007] 1 1 [000..001) i | |
BB09 [0008] 1 1 [???..???) (return) internal | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** After fgComputePreds() | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011) i label target | |
BB02 [0001] 1 BB01 1 [000..001)-> BB04 (always) i | |
BB03 [0002] 1 BB04 0.50 [000..001) i label target bwd | |
BB04 [0003] 2 BB02,BB03 0.50 [000..001)-> BB03 ( cond ) i label target bwd | |
BB05 [0004] 1 BB04 0.50 [000..001)-> BB07 (always) i | |
BB06 [0005] 1 BB07 0.50 [000..001) i label target bwd | |
BB07 [0006] 2 BB05,BB06 0.50 [000..001)-> BB06 ( cond ) i label target bwd | |
BB08 [0007] 1 BB07 1 [000..001) i | |
BB09 [0008] 1 BB08 1 [???..???) (return) internal | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgComputeEdgeWeights() | |
fgComputeEdgeWeights() we do not have any profile data so we are not using the edge weights | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011) i label target | |
BB02 [0001] 1 BB01 1 [000..001)-> BB04 (always) i | |
BB03 [0002] 1 BB04 0.50 [000..001) i label target bwd | |
BB04 [0003] 2 BB02,BB03 0.50 [000..001)-> BB03 ( cond ) i label target bwd | |
BB05 [0004] 1 BB04 0.50 [000..001)-> BB07 (always) i | |
BB06 [0005] 1 BB07 0.50 [000..001) i label target bwd | |
BB07 [0006] 2 BB05,BB06 0.50 [000..001)-> BB06 ( cond ) i label target bwd | |
BB08 [0007] 1 BB07 1 [000..001) i | |
BB09 [0008] 1 BB08 1 [???..???) (return) internal | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
fgComputeEdgeWeights() found inconsistent profile data, not using the edge weights | |
*************** In fgCreateFunclets() | |
After fgCreateFunclets() | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011) i label target | |
BB02 [0001] 1 BB01 1 [000..001)-> BB04 (always) i | |
BB03 [0002] 1 BB04 0.50 [000..001) i label target bwd | |
BB04 [0003] 2 BB02,BB03 0.50 [000..001)-> BB03 ( cond ) i label target bwd | |
BB05 [0004] 1 BB04 0.50 [000..001)-> BB07 (always) i | |
BB06 [0005] 1 BB07 0.50 [000..001) i label target bwd | |
BB07 [0006] 2 BB05,BB06 0.50 [000..001)-> BB06 ( cond ) i label target bwd | |
BB08 [0007] 1 BB07 1 [000..001) i | |
BB09 [0008] 1 BB08 1 [???..???) (return) internal | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
*************** In fgDebugCheckBBlist | |
*************** In optOptimizeLayout() | |
*************** Exception Handling table is empty | |
*************** In fgDebugCheckBBlist | |
Duplication of loop condition [000020] is performed, because the cost of duplication (7) is less or equal than 32, | |
loopIterations = 8.000, countOfHelpers = 0, validProfileWeights = false | |
Duplicating loop condition in BB02 for loop (BB03 - BB04) | |
Estimated code size expansion is 7 | |
[000172] ------------ * STMT void (IL 0x000... ???) | |
[000171] ------------ \--* JTRUE void | |
( 1, 4) [000170] ------------ | /--* CNS_INT int 256 | |
( 5, 7) [000168] J------N---- \--* LT int | |
( 3, 2) [000169] ------------ \--* LCL_VAR int V04 tmp3 | |
Duplication of loop condition [000079] is performed, because the cost of duplication (4) is less or equal than 32, | |
loopIterations = 8.000, countOfHelpers = 0, validProfileWeights = false | |
Duplicating loop condition in BB05 for loop (BB06 - BB07) | |
Estimated code size expansion is 4 | |
[000177] ------------ * STMT void (IL 0x000... ???) | |
[000176] ------------ \--* JTRUE void | |
( 1, 1) [000175] ------------ | /--* CNS_INT int 0 | |
( 5, 4) [000173] J------N---- \--* LE int | |
( 3, 2) [000174] ------------ \--* LCL_VAR int V04 tmp3 | |
*************** In fgComputeEdgeWeights() | |
fgComputeEdgeWeights() we do not have any profile data so we are not using the edge weights | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011) i label target | |
BB02 [0001] 1 BB01 1 [000..001)-> BB05 ( cond ) i | |
BB03 [0002] 2 BB02,BB04 0.50 [000..001) i label target bwd | |
BB04 [0003] 1 BB03 0.50 [000..001)-> BB03 ( cond ) i label target bwd | |
BB05 [0004] 2 BB02,BB04 0.50 [000..001)-> BB08 ( cond ) i label target | |
BB06 [0005] 2 BB05,BB07 0.50 [000..001) i label target bwd | |
BB07 [0006] 1 BB06 0.50 [000..001)-> BB06 ( cond ) i label target bwd | |
BB08 [0007] 2 BB05,BB07 1 [000..001) i label target | |
BB09 [0008] 1 BB08 1 [???..???) (return) internal | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
fgComputeEdgeWeights() found inconsistent profile data, not using the edge weights | |
*************** In fgUpdateFlowGraph() | |
Before updating the flow graph: | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011) i label target | |
BB02 [0001] 1 BB01 1 [000..001)-> BB05 ( cond ) i | |
BB03 [0002] 2 BB02,BB04 0.50 [000..001) i label target bwd | |
BB04 [0003] 1 BB03 0.50 [000..001)-> BB03 ( cond ) i label target bwd | |
BB05 [0004] 2 BB02,BB04 0.50 [000..001)-> BB08 ( cond ) i label target | |
BB06 [0005] 2 BB05,BB07 0.50 [000..001) i label target bwd | |
BB07 [0006] 1 BB06 0.50 [000..001)-> BB06 ( cond ) i label target bwd | |
BB08 [0007] 2 BB05,BB07 1 [000..001) i label target | |
BB09 [0008] 1 BB08 1 [???..???) (return) internal | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
Compacting blocks BB01 and BB02: | |
*************** In fgDebugCheckBBlist | |
Compacting blocks BB03 and BB04: | |
*************** In fgDebugCheckBBlist | |
Compacting blocks BB06 and BB07: | |
*************** In fgDebugCheckBBlist | |
Compacting blocks BB08 and BB09: | |
*************** In fgDebugCheckBBlist | |
After updating the flow graph: | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB05 ( cond ) i label target | |
BB03 [0002] 2 BB01,BB03 0.50 [000..001)-> BB03 ( cond ) i label target bwd | |
BB05 [0004] 2 BB01,BB03 0.50 [000..001)-> BB08 ( cond ) i label target | |
BB06 [0005] 2 BB05,BB06 0.50 [000..001)-> BB06 ( cond ) i label target bwd | |
BB08 [0007] 2 BB05,BB06 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
*************** In fgDebugCheckBBlist | |
*************** In fgExpandRarelyRunBlocks() | |
*************** In fgReorderBlocks() | |
Initial BasicBlocks | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB05 ( cond ) i label target | |
BB03 [0002] 2 BB01,BB03 0.50 [000..001)-> BB03 ( cond ) i label target bwd | |
BB05 [0004] 2 BB01,BB03 0.50 [000..001)-> BB08 ( cond ) i label target | |
BB06 [0005] 2 BB05,BB06 0.50 [000..001)-> BB06 ( cond ) i label target bwd | |
BB08 [0007] 2 BB05,BB06 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgUpdateFlowGraph() | |
Before updating the flow graph: | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB05 ( cond ) i label target | |
BB03 [0002] 2 BB01,BB03 0.50 [000..001)-> BB03 ( cond ) i label target bwd | |
BB05 [0004] 2 BB01,BB03 0.50 [000..001)-> BB08 ( cond ) i label target | |
BB06 [0005] 2 BB05,BB06 0.50 [000..001)-> BB06 ( cond ) i label target bwd | |
BB08 [0007] 2 BB05,BB06 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgComputeReachability | |
*************** In fgDebugCheckBBlist | |
Renumbering the basic blocks for fgComputeReachability pass #1 | |
*************** Before renumbering the basic blocks | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB05 ( cond ) i label target | |
BB03 [0002] 2 BB01,BB03 0.50 [000..001)-> BB03 ( cond ) i label target bwd | |
BB05 [0004] 2 BB01,BB03 0.50 [000..001)-> BB08 ( cond ) i label target | |
BB06 [0005] 2 BB05,BB06 0.50 [000..001)-> BB06 ( cond ) i label target bwd | |
BB08 [0007] 2 BB05,BB06 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
Renumber BB03 to BB02 | |
Renumber BB05 to BB03 | |
Renumber BB06 to BB04 | |
Renumber BB08 to BB05 | |
*************** After renumbering the basic blocks | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 0.50 [000..001)-> BB02 ( cond ) i label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 0.50 [000..001)-> BB04 ( cond ) i label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
New BlockSet epoch 3, # of blocks (including unused BB00): 6, bitset array size: 1 (short) | |
Enter blocks: BB01 | |
After computing reachability sets: | |
------------------------------------------------ | |
BBnum Reachable by | |
------------------------------------------------ | |
BB01 : BB01 | |
BB02 : BB01 BB02 | |
BB03 : BB01 BB02 BB03 | |
BB04 : BB01 BB02 BB03 BB04 | |
BB05 : BB01 BB02 BB03 BB04 BB05 | |
After computing reachability: | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 0.50 [000..001)-> BB02 ( cond ) i Loop label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 0.50 [000..001)-> BB04 ( cond ) i Loop label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgComputeDoms | |
*************** In fgDebugCheckBBlist | |
Dominator computation start blocks (those blocks with no incoming edges): | |
BB01 | |
------------------------------------------------ | |
BBnum Dominated by | |
------------------------------------------------ | |
BB01: BB01 | |
BB02: BB02 BB01 | |
BB03: BB03 BB01 | |
BB04: BB04 BB03 BB01 | |
BB05: BB05 BB03 BB01 | |
Inside fgBuildDomTree | |
After computing the Dominance Tree: | |
BB01 : BB03 BB02 | |
BB03 : BB05 BB04 | |
*************** In Allocate Objects | |
Trees before Allocate Objects | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 0.50 [000..001)-> BB02 ( cond ) i Loop label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 0.50 [000..001)-> BB04 ( cond ) i Loop label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
***** BB01, stmt 1 | |
[000142] ------------ * STMT void (IL 0x000... ???) | |
[000001] x---G+------ | /--* IND long | |
[000159] -----+------ | | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] | |
[000141] -A--G+------ \--* ASG long | |
[000140] D----+-N---- \--* LCL_VAR long V02 tmp1 | |
***** BB01, stmt 2 | |
[000145] ------------ * STMT void (IL 0x000... ???) | |
[000003] -----+------ | /--* LCL_VAR int V00 arg0 | |
[000144] -A---+------ \--* ASG int | |
[000143] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
***** BB01, stmt 3 | |
[000149] ------------ * STMT void (IL 0x000... ???) | |
[000146] -----+------ | /--* CNS_INT long 0 | |
[000148] -A---+------ \--* ASG long | |
[000147] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB01, stmt 4 | |
[000153] ------------ * STMT void (IL 0x000... ???) | |
[000150] -----+------ | /--* CNS_INT int 0 | |
[000152] -A---+------ \--* ASG int | |
[000151] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
***** BB01, stmt 5 | |
[000157] ------------ * STMT void (IL 0x000... ???) | |
[000154] -----+------ | /--* CNS_INT int 0 | |
[000156] -A---+------ \--* ASG int | |
[000155] D----+-N---- \--* LCL_VAR int V06 tmp5 | |
***** BB01, stmt 6 | |
[000016] ------------ * STMT void (IL 0x000... ???) | |
[000013] -----+------ | /--* LCL_VAR long V02 tmp1 | |
[000015] -A---+------ \--* ASG long | |
[000014] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB01, stmt 7 | |
[000172] ------------ * STMT void (IL 0x000... ???) | |
[000171] ------------ \--* JTRUE void | |
( 1, 4) [000170] ------------ | /--* CNS_INT int 256 | |
( 5, 7) [000168] J------N---- \--* LT int | |
( 3, 2) [000169] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
***** BB02, stmt 8 | |
[000060] ------------ * STMT void (IL 0x000... ???) | |
[000161] ---XG+------ | /--* CAST int <- long | |
[000053] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000052] *--XG+------ | | \--* IND long | |
[000050] -----+------ | | | /--* CNS_INT long 24 | |
[000051] -----+------ | | \--* ADD long | |
[000045] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000054] ---XG+------ | /--* ADD int | |
[000163] ---XG+------ | | | /--* CAST int <- long | |
[000043] ---XG+------ | | | | \--* HWIntrinsic long PopCount | |
[000042] *--XG+------ | | | | \--* IND long | |
[000040] -----+------ | | | | | /--* CNS_INT long 16 | |
[000041] -----+------ | | | | \--* ADD long | |
[000035] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000044] ---XG+------ | | \--* ADD int | |
[000165] ---XG+------ | | | /--* CAST int <- long | |
[000033] ---XG+------ | | | | \--* HWIntrinsic long PopCount | |
[000032] *--XG+------ | | | | \--* IND long | |
[000030] -----+------ | | | | | /--* CNS_INT long 8 | |
[000031] -----+------ | | | | \--* ADD long | |
[000028] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000034] ---XG+------ | | \--* ADD int | |
[000164] ---XG+------ | | \--* CAST int <- long | |
[000027] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000026] *--XG+------ | | \--* IND long | |
[000025] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000056] ---XG+------ | /--* SUB int | |
[000024] -----+------ | | \--* LCL_VAR int V04 tmp3 | |
[000059] -A-XG+------ \--* ASG int | |
[000058] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
***** BB02, stmt 9 | |
[000070] ------------ * STMT void (IL 0x000... ???) | |
[000066] -----+------ | /--* CNS_INT long 32 | |
[000067] -----+------ | /--* ADD long | |
[000061] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000069] -A---+------ \--* ASG long | |
[000068] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB02, stmt 10 | |
[000022] ------------ * STMT void (IL 0x000... ???) | |
[000021] -----+------ \--* JTRUE void | |
( 1, 4) [000019] ------------ | /--* CNS_INT int 256 | |
( 5, 7) [000020] J------N---- \--* GE int | |
( 3, 2) [000018] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
***** BB03, stmt 11 | |
[000075] ------------ * STMT void (IL 0x000... ???) | |
[000072] -----+------ | /--* LCL_VAR int V04 tmp3 | |
[000074] -A---+------ \--* ASG int | |
[000073] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
***** BB03, stmt 12 | |
[000177] ------------ * STMT void (IL 0x000... ???) | |
[000176] ------------ \--* JTRUE void | |
( 1, 1) [000175] ------------ | /--* CNS_INT int 0 | |
( 5, 4) [000173] J------N---- \--* LE int | |
( 3, 2) [000174] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
***** BB04, stmt 13 | |
[000086] ------------ * STMT void (IL 0x000... ???) | |
[000083] -----+------ | /--* LCL_VAR int V04 tmp3 | |
[000085] -A---+------ \--* ASG int | |
[000084] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
***** BB04, stmt 14 | |
[000096] ------------ * STMT void (IL 0x000... ???) | |
[000091] ---XG+------ | /--* CAST int <- long | |
[000090] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000089] *--XG+------ | | \--* IND long | |
[000088] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000092] ---XG+------ | /--* SUB int | |
[000087] -----+------ | | \--* LCL_VAR int V04 tmp3 | |
[000095] -A-XG+------ \--* ASG int | |
[000094] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
***** BB04, stmt 15 | |
[000103] ------------ * STMT void (IL 0x000... ???) | |
[000099] -----+------ | /--* CNS_INT long 8 | |
[000100] -----+------ | /--* ADD long | |
[000097] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000102] -A---+------ \--* ASG long | |
[000101] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB04, stmt 16 | |
[000081] ------------ * STMT void (IL 0x000... ???) | |
[000080] -----+------ \--* JTRUE void | |
( 1, 1) [000078] ------------ | /--* CNS_INT int 0 | |
( 5, 4) [000079] J------N---- \--* GT int | |
( 3, 2) [000077] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
***** BB05, stmt 17 | |
[000111] ------------ * STMT void (IL 0x000... ???) | |
[000107] -----+------ | /--* CNS_INT long -8 | |
[000108] -----+------ | /--* ADD long | |
[000105] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000110] -A---+------ \--* ASG long | |
[000109] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB05, stmt 18 | |
[000127] ------------ * STMT void (IL 0x000... ???) | |
[000124] ---XG+------ | /--* CAST int <- long | |
[000123] ---XG+------ | | \--* HWIntrinsic long TrailingZeroCount | |
[000121] *--XG+------ | | | /--* IND long | |
[000120] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000122] ---XG+------ | | \--* HWIntrinsic long ParallelBitDeposit | |
[000117] -----+------ | | | /--* CNS_INT int 63 | |
[000118] -----+------ | | | /--* AND int | |
[000115] -----+------ | | | | | /--* CNS_INT int -1 | |
[000116] -----+------ | | | | \--* ADD int | |
[000114] -----+------ | | | | \--* LCL_VAR int V05 tmp4 | |
[000119] -----+------ | | \--* LSH long | |
[000113] -----+------ | | \--* CNS_INT long 1 | |
[000126] -A-XG+------ \--* ASG int | |
[000125] D----+-N---- \--* LCL_VAR int V06 tmp5 | |
***** BB05, stmt 19 | |
[000011] ------------ * STMT void (IL ???... ???) | |
[000010] -----+------ \--* RETURN int | |
[000138] -----+------ | /--* LCL_VAR int V06 tmp5 | |
[000139] -----+------ \--* ADD int | |
[000135] -----+------ | /--* CNS_INT int 6 | |
[000136] -----+------ \--* LSH int | |
[000166] -----+------ \--* CAST int <- long | |
[000132] -----+------ | /--* CNS_INT long 8 | |
[000133] -----+------ \--* DIV long | |
[000129] -----+------ | /--* LCL_VAR long V02 tmp1 | |
[000130] -----+------ \--* SUB long | |
[000128] -----+------ \--* LCL_VAR long V03 tmp2 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Exiting Allocate Objects | |
Trees after Allocate Objects | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 0.50 [000..001)-> BB02 ( cond ) i Loop label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 0.50 [000..001)-> BB04 ( cond ) i Loop label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
***** BB01, stmt 1 | |
[000142] ------------ * STMT void (IL 0x000... ???) | |
[000001] x---G+------ | /--* IND long | |
[000159] -----+------ | | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] | |
[000141] -A--G+------ \--* ASG long | |
[000140] D----+-N---- \--* LCL_VAR long V02 tmp1 | |
***** BB01, stmt 2 | |
[000145] ------------ * STMT void (IL 0x000... ???) | |
[000003] -----+------ | /--* LCL_VAR int V00 arg0 | |
[000144] -A---+------ \--* ASG int | |
[000143] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
***** BB01, stmt 3 | |
[000149] ------------ * STMT void (IL 0x000... ???) | |
[000146] -----+------ | /--* CNS_INT long 0 | |
[000148] -A---+------ \--* ASG long | |
[000147] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB01, stmt 4 | |
[000153] ------------ * STMT void (IL 0x000... ???) | |
[000150] -----+------ | /--* CNS_INT int 0 | |
[000152] -A---+------ \--* ASG int | |
[000151] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
***** BB01, stmt 5 | |
[000157] ------------ * STMT void (IL 0x000... ???) | |
[000154] -----+------ | /--* CNS_INT int 0 | |
[000156] -A---+------ \--* ASG int | |
[000155] D----+-N---- \--* LCL_VAR int V06 tmp5 | |
***** BB01, stmt 6 | |
[000016] ------------ * STMT void (IL 0x000... ???) | |
[000013] -----+------ | /--* LCL_VAR long V02 tmp1 | |
[000015] -A---+------ \--* ASG long | |
[000014] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB01, stmt 7 | |
[000172] ------------ * STMT void (IL 0x000... ???) | |
[000171] ------------ \--* JTRUE void | |
( 1, 4) [000170] ------------ | /--* CNS_INT int 256 | |
( 5, 7) [000168] J------N---- \--* LT int | |
( 3, 2) [000169] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
***** BB02, stmt 8 | |
[000060] ------------ * STMT void (IL 0x000... ???) | |
[000161] ---XG+------ | /--* CAST int <- long | |
[000053] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000052] *--XG+------ | | \--* IND long | |
[000050] -----+------ | | | /--* CNS_INT long 24 | |
[000051] -----+------ | | \--* ADD long | |
[000045] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000054] ---XG+------ | /--* ADD int | |
[000163] ---XG+------ | | | /--* CAST int <- long | |
[000043] ---XG+------ | | | | \--* HWIntrinsic long PopCount | |
[000042] *--XG+------ | | | | \--* IND long | |
[000040] -----+------ | | | | | /--* CNS_INT long 16 | |
[000041] -----+------ | | | | \--* ADD long | |
[000035] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000044] ---XG+------ | | \--* ADD int | |
[000165] ---XG+------ | | | /--* CAST int <- long | |
[000033] ---XG+------ | | | | \--* HWIntrinsic long PopCount | |
[000032] *--XG+------ | | | | \--* IND long | |
[000030] -----+------ | | | | | /--* CNS_INT long 8 | |
[000031] -----+------ | | | | \--* ADD long | |
[000028] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000034] ---XG+------ | | \--* ADD int | |
[000164] ---XG+------ | | \--* CAST int <- long | |
[000027] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000026] *--XG+------ | | \--* IND long | |
[000025] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000056] ---XG+------ | /--* SUB int | |
[000024] -----+------ | | \--* LCL_VAR int V04 tmp3 | |
[000059] -A-XG+------ \--* ASG int | |
[000058] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
***** BB02, stmt 9 | |
[000070] ------------ * STMT void (IL 0x000... ???) | |
[000066] -----+------ | /--* CNS_INT long 32 | |
[000067] -----+------ | /--* ADD long | |
[000061] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000069] -A---+------ \--* ASG long | |
[000068] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB02, stmt 10 | |
[000022] ------------ * STMT void (IL 0x000... ???) | |
[000021] -----+------ \--* JTRUE void | |
( 1, 4) [000019] ------------ | /--* CNS_INT int 256 | |
( 5, 7) [000020] J------N---- \--* GE int | |
( 3, 2) [000018] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
***** BB03, stmt 11 | |
[000075] ------------ * STMT void (IL 0x000... ???) | |
[000072] -----+------ | /--* LCL_VAR int V04 tmp3 | |
[000074] -A---+------ \--* ASG int | |
[000073] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
***** BB03, stmt 12 | |
[000177] ------------ * STMT void (IL 0x000... ???) | |
[000176] ------------ \--* JTRUE void | |
( 1, 1) [000175] ------------ | /--* CNS_INT int 0 | |
( 5, 4) [000173] J------N---- \--* LE int | |
( 3, 2) [000174] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
***** BB04, stmt 13 | |
[000086] ------------ * STMT void (IL 0x000... ???) | |
[000083] -----+------ | /--* LCL_VAR int V04 tmp3 | |
[000085] -A---+------ \--* ASG int | |
[000084] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
***** BB04, stmt 14 | |
[000096] ------------ * STMT void (IL 0x000... ???) | |
[000091] ---XG+------ | /--* CAST int <- long | |
[000090] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000089] *--XG+------ | | \--* IND long | |
[000088] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000092] ---XG+------ | /--* SUB int | |
[000087] -----+------ | | \--* LCL_VAR int V04 tmp3 | |
[000095] -A-XG+------ \--* ASG int | |
[000094] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
***** BB04, stmt 15 | |
[000103] ------------ * STMT void (IL 0x000... ???) | |
[000099] -----+------ | /--* CNS_INT long 8 | |
[000100] -----+------ | /--* ADD long | |
[000097] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000102] -A---+------ \--* ASG long | |
[000101] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB04, stmt 16 | |
[000081] ------------ * STMT void (IL 0x000... ???) | |
[000080] -----+------ \--* JTRUE void | |
( 1, 1) [000078] ------------ | /--* CNS_INT int 0 | |
( 5, 4) [000079] J------N---- \--* GT int | |
( 3, 2) [000077] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
***** BB05, stmt 17 | |
[000111] ------------ * STMT void (IL 0x000... ???) | |
[000107] -----+------ | /--* CNS_INT long -8 | |
[000108] -----+------ | /--* ADD long | |
[000105] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000110] -A---+------ \--* ASG long | |
[000109] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB05, stmt 18 | |
[000127] ------------ * STMT void (IL 0x000... ???) | |
[000124] ---XG+------ | /--* CAST int <- long | |
[000123] ---XG+------ | | \--* HWIntrinsic long TrailingZeroCount | |
[000121] *--XG+------ | | | /--* IND long | |
[000120] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000122] ---XG+------ | | \--* HWIntrinsic long ParallelBitDeposit | |
[000117] -----+------ | | | /--* CNS_INT int 63 | |
[000118] -----+------ | | | /--* AND int | |
[000115] -----+------ | | | | | /--* CNS_INT int -1 | |
[000116] -----+------ | | | | \--* ADD int | |
[000114] -----+------ | | | | \--* LCL_VAR int V05 tmp4 | |
[000119] -----+------ | | \--* LSH long | |
[000113] -----+------ | | \--* CNS_INT long 1 | |
[000126] -A-XG+------ \--* ASG int | |
[000125] D----+-N---- \--* LCL_VAR int V06 tmp5 | |
***** BB05, stmt 19 | |
[000011] ------------ * STMT void (IL ???... ???) | |
[000010] -----+------ \--* RETURN int | |
[000138] -----+------ | /--* LCL_VAR int V06 tmp5 | |
[000139] -----+------ \--* ADD int | |
[000135] -----+------ | /--* CNS_INT int 6 | |
[000136] -----+------ \--* LSH int | |
[000166] -----+------ \--* CAST int <- long | |
[000132] -----+------ | /--* CNS_INT long 8 | |
[000133] -----+------ \--* DIV long | |
[000129] -----+------ | /--* LCL_VAR long V02 tmp1 | |
[000130] -----+------ \--* SUB long | |
[000128] -----+------ \--* LCL_VAR long V03 tmp2 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In optOptimizeLoops() | |
After optSetBlockWeights: | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 0.25 [000..001)-> BB02 ( cond ) i Loop label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 0.25 [000..001)-> BB04 ( cond ) i Loop label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In optFindNaturalLoops() | |
Recorded loop L00, from BB02 to BB02 (Head=BB01, Entry=BB02, ExitCnt=1 at BB02) | |
Recorded loop L01, from BB04 to BB04 (Head=BB03, Entry=BB04, ExitCnt=1 at BB04) | |
Final natural loop table: | |
L00, from BB02 to BB02 (Head=BB01, Entry=BB02, ExitCnt=1 at BB02) | |
L01, from BB04 to BB04 (Head=BB03, Entry=BB04, ExitCnt=1 at BB04) | |
Marking loop L01 | |
BB02(wt=2 ) | |
Marking loop L02 | |
BB04(wt=2 ) | |
Found a total of 2 loops. | |
After loop weight marking: | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In optCloneLoops() | |
Blocks/Trees at start of phase | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
***** BB01, stmt 1 | |
[000142] ------------ * STMT void (IL 0x000... ???) | |
[000001] x---G+------ | /--* IND long | |
[000159] -----+------ | | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] | |
[000141] -A--G+------ \--* ASG long | |
[000140] D----+-N---- \--* LCL_VAR long V02 tmp1 | |
***** BB01, stmt 2 | |
[000145] ------------ * STMT void (IL 0x000... ???) | |
[000003] -----+------ | /--* LCL_VAR int V00 arg0 | |
[000144] -A---+------ \--* ASG int | |
[000143] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
***** BB01, stmt 3 | |
[000149] ------------ * STMT void (IL 0x000... ???) | |
[000146] -----+------ | /--* CNS_INT long 0 | |
[000148] -A---+------ \--* ASG long | |
[000147] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB01, stmt 4 | |
[000153] ------------ * STMT void (IL 0x000... ???) | |
[000150] -----+------ | /--* CNS_INT int 0 | |
[000152] -A---+------ \--* ASG int | |
[000151] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
***** BB01, stmt 5 | |
[000157] ------------ * STMT void (IL 0x000... ???) | |
[000154] -----+------ | /--* CNS_INT int 0 | |
[000156] -A---+------ \--* ASG int | |
[000155] D----+-N---- \--* LCL_VAR int V06 tmp5 | |
***** BB01, stmt 6 | |
[000016] ------------ * STMT void (IL 0x000... ???) | |
[000013] -----+------ | /--* LCL_VAR long V02 tmp1 | |
[000015] -A---+------ \--* ASG long | |
[000014] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB01, stmt 7 | |
[000172] ------------ * STMT void (IL 0x000... ???) | |
[000171] ------------ \--* JTRUE void | |
( 1, 4) [000170] ------------ | /--* CNS_INT int 256 | |
( 5, 7) [000168] J------N---- \--* LT int | |
( 3, 2) [000169] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
***** BB02, stmt 8 | |
[000060] ------------ * STMT void (IL 0x000... ???) | |
[000161] ---XG+------ | /--* CAST int <- long | |
[000053] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000052] *--XG+------ | | \--* IND long | |
[000050] -----+------ | | | /--* CNS_INT long 24 | |
[000051] -----+------ | | \--* ADD long | |
[000045] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000054] ---XG+------ | /--* ADD int | |
[000163] ---XG+------ | | | /--* CAST int <- long | |
[000043] ---XG+------ | | | | \--* HWIntrinsic long PopCount | |
[000042] *--XG+------ | | | | \--* IND long | |
[000040] -----+------ | | | | | /--* CNS_INT long 16 | |
[000041] -----+------ | | | | \--* ADD long | |
[000035] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000044] ---XG+------ | | \--* ADD int | |
[000165] ---XG+------ | | | /--* CAST int <- long | |
[000033] ---XG+------ | | | | \--* HWIntrinsic long PopCount | |
[000032] *--XG+------ | | | | \--* IND long | |
[000030] -----+------ | | | | | /--* CNS_INT long 8 | |
[000031] -----+------ | | | | \--* ADD long | |
[000028] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000034] ---XG+------ | | \--* ADD int | |
[000164] ---XG+------ | | \--* CAST int <- long | |
[000027] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000026] *--XG+------ | | \--* IND long | |
[000025] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000056] ---XG+------ | /--* SUB int | |
[000024] -----+------ | | \--* LCL_VAR int V04 tmp3 | |
[000059] -A-XG+------ \--* ASG int | |
[000058] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
***** BB02, stmt 9 | |
[000070] ------------ * STMT void (IL 0x000... ???) | |
[000066] -----+------ | /--* CNS_INT long 32 | |
[000067] -----+------ | /--* ADD long | |
[000061] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000069] -A---+------ \--* ASG long | |
[000068] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB02, stmt 10 | |
[000022] ------------ * STMT void (IL 0x000... ???) | |
[000021] -----+------ \--* JTRUE void | |
( 1, 4) [000019] ------------ | /--* CNS_INT int 256 | |
( 5, 7) [000020] J------N---- \--* GE int | |
( 3, 2) [000018] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
***** BB03, stmt 11 | |
[000075] ------------ * STMT void (IL 0x000... ???) | |
[000072] -----+------ | /--* LCL_VAR int V04 tmp3 | |
[000074] -A---+------ \--* ASG int | |
[000073] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
***** BB03, stmt 12 | |
[000177] ------------ * STMT void (IL 0x000... ???) | |
[000176] ------------ \--* JTRUE void | |
( 1, 1) [000175] ------------ | /--* CNS_INT int 0 | |
( 5, 4) [000173] J------N---- \--* LE int | |
( 3, 2) [000174] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
***** BB04, stmt 13 | |
[000086] ------------ * STMT void (IL 0x000... ???) | |
[000083] -----+------ | /--* LCL_VAR int V04 tmp3 | |
[000085] -A---+------ \--* ASG int | |
[000084] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
***** BB04, stmt 14 | |
[000096] ------------ * STMT void (IL 0x000... ???) | |
[000091] ---XG+------ | /--* CAST int <- long | |
[000090] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000089] *--XG+------ | | \--* IND long | |
[000088] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000092] ---XG+------ | /--* SUB int | |
[000087] -----+------ | | \--* LCL_VAR int V04 tmp3 | |
[000095] -A-XG+------ \--* ASG int | |
[000094] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
***** BB04, stmt 15 | |
[000103] ------------ * STMT void (IL 0x000... ???) | |
[000099] -----+------ | /--* CNS_INT long 8 | |
[000100] -----+------ | /--* ADD long | |
[000097] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000102] -A---+------ \--* ASG long | |
[000101] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB04, stmt 16 | |
[000081] ------------ * STMT void (IL 0x000... ???) | |
[000080] -----+------ \--* JTRUE void | |
( 1, 1) [000078] ------------ | /--* CNS_INT int 0 | |
( 5, 4) [000079] J------N---- \--* GT int | |
( 3, 2) [000077] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
***** BB05, stmt 17 | |
[000111] ------------ * STMT void (IL 0x000... ???) | |
[000107] -----+------ | /--* CNS_INT long -8 | |
[000108] -----+------ | /--* ADD long | |
[000105] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000110] -A---+------ \--* ASG long | |
[000109] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB05, stmt 18 | |
[000127] ------------ * STMT void (IL 0x000... ???) | |
[000124] ---XG+------ | /--* CAST int <- long | |
[000123] ---XG+------ | | \--* HWIntrinsic long TrailingZeroCount | |
[000121] *--XG+------ | | | /--* IND long | |
[000120] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000122] ---XG+------ | | \--* HWIntrinsic long ParallelBitDeposit | |
[000117] -----+------ | | | /--* CNS_INT int 63 | |
[000118] -----+------ | | | /--* AND int | |
[000115] -----+------ | | | | | /--* CNS_INT int -1 | |
[000116] -----+------ | | | | \--* ADD int | |
[000114] -----+------ | | | | \--* LCL_VAR int V05 tmp4 | |
[000119] -----+------ | | \--* LSH long | |
[000113] -----+------ | | \--* CNS_INT long 1 | |
[000126] -A-XG+------ \--* ASG int | |
[000125] D----+-N---- \--* LCL_VAR int V06 tmp5 | |
***** BB05, stmt 19 | |
[000011] ------------ * STMT void (IL ???... ???) | |
[000010] -----+------ \--* RETURN int | |
[000138] -----+------ | /--* LCL_VAR int V06 tmp5 | |
[000139] -----+------ \--* ADD int | |
[000135] -----+------ | /--* CNS_INT int 6 | |
[000136] -----+------ \--* LSH int | |
[000166] -----+------ \--* CAST int <- long | |
[000132] -----+------ | /--* CNS_INT long 8 | |
[000133] -----+------ \--* DIV long | |
[000129] -----+------ | /--* LCL_VAR long V02 tmp1 | |
[000130] -----+------ \--* SUB long | |
[000128] -----+------ \--* LCL_VAR long V03 tmp2 | |
------------------------------------------------------------------------------------------------------------------- | |
Considering loop 0 to clone for optimizations. | |
> No iter flag on loop 0. | |
------------------------------------------------------------ | |
Considering loop 1 to clone for optimizations. | |
> No iter flag on loop 1. | |
------------------------------------------------------------ | |
After loop cloning: | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
***** BB01, stmt 1 | |
[000142] ------------ * STMT void (IL 0x000... ???) | |
[000001] x---G+------ | /--* IND long | |
[000159] -----+------ | | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] | |
[000141] -A--G+------ \--* ASG long | |
[000140] D----+-N---- \--* LCL_VAR long V02 tmp1 | |
***** BB01, stmt 2 | |
[000145] ------------ * STMT void (IL 0x000... ???) | |
[000003] -----+------ | /--* LCL_VAR int V00 arg0 | |
[000144] -A---+------ \--* ASG int | |
[000143] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
***** BB01, stmt 3 | |
[000149] ------------ * STMT void (IL 0x000... ???) | |
[000146] -----+------ | /--* CNS_INT long 0 | |
[000148] -A---+------ \--* ASG long | |
[000147] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB01, stmt 4 | |
[000153] ------------ * STMT void (IL 0x000... ???) | |
[000150] -----+------ | /--* CNS_INT int 0 | |
[000152] -A---+------ \--* ASG int | |
[000151] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
***** BB01, stmt 5 | |
[000157] ------------ * STMT void (IL 0x000... ???) | |
[000154] -----+------ | /--* CNS_INT int 0 | |
[000156] -A---+------ \--* ASG int | |
[000155] D----+-N---- \--* LCL_VAR int V06 tmp5 | |
***** BB01, stmt 6 | |
[000016] ------------ * STMT void (IL 0x000... ???) | |
[000013] -----+------ | /--* LCL_VAR long V02 tmp1 | |
[000015] -A---+------ \--* ASG long | |
[000014] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB01, stmt 7 | |
[000172] ------------ * STMT void (IL 0x000... ???) | |
[000171] ------------ \--* JTRUE void | |
( 1, 4) [000170] ------------ | /--* CNS_INT int 256 | |
( 5, 7) [000168] J------N---- \--* LT int | |
( 3, 2) [000169] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
***** BB02, stmt 8 | |
[000060] ------------ * STMT void (IL 0x000... ???) | |
[000161] ---XG+------ | /--* CAST int <- long | |
[000053] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000052] *--XG+------ | | \--* IND long | |
[000050] -----+------ | | | /--* CNS_INT long 24 | |
[000051] -----+------ | | \--* ADD long | |
[000045] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000054] ---XG+------ | /--* ADD int | |
[000163] ---XG+------ | | | /--* CAST int <- long | |
[000043] ---XG+------ | | | | \--* HWIntrinsic long PopCount | |
[000042] *--XG+------ | | | | \--* IND long | |
[000040] -----+------ | | | | | /--* CNS_INT long 16 | |
[000041] -----+------ | | | | \--* ADD long | |
[000035] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000044] ---XG+------ | | \--* ADD int | |
[000165] ---XG+------ | | | /--* CAST int <- long | |
[000033] ---XG+------ | | | | \--* HWIntrinsic long PopCount | |
[000032] *--XG+------ | | | | \--* IND long | |
[000030] -----+------ | | | | | /--* CNS_INT long 8 | |
[000031] -----+------ | | | | \--* ADD long | |
[000028] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000034] ---XG+------ | | \--* ADD int | |
[000164] ---XG+------ | | \--* CAST int <- long | |
[000027] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000026] *--XG+------ | | \--* IND long | |
[000025] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000056] ---XG+------ | /--* SUB int | |
[000024] -----+------ | | \--* LCL_VAR int V04 tmp3 | |
[000059] -A-XG+------ \--* ASG int | |
[000058] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
***** BB02, stmt 9 | |
[000070] ------------ * STMT void (IL 0x000... ???) | |
[000066] -----+------ | /--* CNS_INT long 32 | |
[000067] -----+------ | /--* ADD long | |
[000061] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000069] -A---+------ \--* ASG long | |
[000068] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB02, stmt 10 | |
[000022] ------------ * STMT void (IL 0x000... ???) | |
[000021] -----+------ \--* JTRUE void | |
( 1, 4) [000019] ------------ | /--* CNS_INT int 256 | |
( 5, 7) [000020] J------N---- \--* GE int | |
( 3, 2) [000018] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
***** BB03, stmt 11 | |
[000075] ------------ * STMT void (IL 0x000... ???) | |
[000072] -----+------ | /--* LCL_VAR int V04 tmp3 | |
[000074] -A---+------ \--* ASG int | |
[000073] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
***** BB03, stmt 12 | |
[000177] ------------ * STMT void (IL 0x000... ???) | |
[000176] ------------ \--* JTRUE void | |
( 1, 1) [000175] ------------ | /--* CNS_INT int 0 | |
( 5, 4) [000173] J------N---- \--* LE int | |
( 3, 2) [000174] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
***** BB04, stmt 13 | |
[000086] ------------ * STMT void (IL 0x000... ???) | |
[000083] -----+------ | /--* LCL_VAR int V04 tmp3 | |
[000085] -A---+------ \--* ASG int | |
[000084] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
***** BB04, stmt 14 | |
[000096] ------------ * STMT void (IL 0x000... ???) | |
[000091] ---XG+------ | /--* CAST int <- long | |
[000090] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000089] *--XG+------ | | \--* IND long | |
[000088] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000092] ---XG+------ | /--* SUB int | |
[000087] -----+------ | | \--* LCL_VAR int V04 tmp3 | |
[000095] -A-XG+------ \--* ASG int | |
[000094] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
***** BB04, stmt 15 | |
[000103] ------------ * STMT void (IL 0x000... ???) | |
[000099] -----+------ | /--* CNS_INT long 8 | |
[000100] -----+------ | /--* ADD long | |
[000097] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000102] -A---+------ \--* ASG long | |
[000101] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB04, stmt 16 | |
[000081] ------------ * STMT void (IL 0x000... ???) | |
[000080] -----+------ \--* JTRUE void | |
( 1, 1) [000078] ------------ | /--* CNS_INT int 0 | |
( 5, 4) [000079] J------N---- \--* GT int | |
( 3, 2) [000077] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
***** BB05, stmt 17 | |
[000111] ------------ * STMT void (IL 0x000... ???) | |
[000107] -----+------ | /--* CNS_INT long -8 | |
[000108] -----+------ | /--* ADD long | |
[000105] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000110] -A---+------ \--* ASG long | |
[000109] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
***** BB05, stmt 18 | |
[000127] ------------ * STMT void (IL 0x000... ???) | |
[000124] ---XG+------ | /--* CAST int <- long | |
[000123] ---XG+------ | | \--* HWIntrinsic long TrailingZeroCount | |
[000121] *--XG+------ | | | /--* IND long | |
[000120] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000122] ---XG+------ | | \--* HWIntrinsic long ParallelBitDeposit | |
[000117] -----+------ | | | /--* CNS_INT int 63 | |
[000118] -----+------ | | | /--* AND int | |
[000115] -----+------ | | | | | /--* CNS_INT int -1 | |
[000116] -----+------ | | | | \--* ADD int | |
[000114] -----+------ | | | | \--* LCL_VAR int V05 tmp4 | |
[000119] -----+------ | | \--* LSH long | |
[000113] -----+------ | | \--* CNS_INT long 1 | |
[000126] -A-XG+------ \--* ASG int | |
[000125] D----+-N---- \--* LCL_VAR int V06 tmp5 | |
***** BB05, stmt 19 | |
[000011] ------------ * STMT void (IL ???... ???) | |
[000010] -----+------ \--* RETURN int | |
[000138] -----+------ | /--* LCL_VAR int V06 tmp5 | |
[000139] -----+------ \--* ADD int | |
[000135] -----+------ | /--* CNS_INT int 6 | |
[000136] -----+------ \--* LSH int | |
[000166] -----+------ \--* CAST int <- long | |
[000132] -----+------ | /--* CNS_INT long 8 | |
[000133] -----+------ \--* DIV long | |
[000129] -----+------ | /--* LCL_VAR long V02 tmp1 | |
[000130] -----+------ \--* SUB long | |
[000128] -----+------ \--* LCL_VAR long V03 tmp2 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In optUnrollLoops() | |
*************** In fgDebugCheckBBlist | |
*************** In lvaMarkLocalVars() | |
*** marking local variables in block BB01 (weight=1 ) | |
[000142] ------------ * STMT void (IL 0x000... ???) | |
[000001] x---G+------ | /--* IND long | |
[000159] -----+------ | | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] | |
[000141] -A--G+------ \--* ASG long | |
[000140] D----+-N---- \--* LCL_VAR long V02 tmp1 | |
New refCnts for V02: refCnt = 1, refCntWtd = 2 | |
[000145] ------------ * STMT void (IL 0x000... ???) | |
[000003] -----+------ | /--* LCL_VAR int V00 arg0 | |
[000144] -A---+------ \--* ASG int | |
[000143] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
New refCnts for V04: refCnt = 1, refCntWtd = 2 | |
New refCnts for V00: refCnt = 1, refCntWtd = 1 | |
[000149] ------------ * STMT void (IL 0x000... ???) | |
[000146] -----+------ | /--* CNS_INT long 0 | |
[000148] -A---+------ \--* ASG long | |
[000147] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
New refCnts for V03: refCnt = 1, refCntWtd = 1 | |
[000153] ------------ * STMT void (IL 0x000... ???) | |
[000150] -----+------ | /--* CNS_INT int 0 | |
[000152] -A---+------ \--* ASG int | |
[000151] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
New refCnts for V05: refCnt = 1, refCntWtd = 1 | |
[000157] ------------ * STMT void (IL 0x000... ???) | |
[000154] -----+------ | /--* CNS_INT int 0 | |
[000156] -A---+------ \--* ASG int | |
[000155] D----+-N---- \--* LCL_VAR int V06 tmp5 | |
New refCnts for V06: refCnt = 1, refCntWtd = 1 | |
[000016] ------------ * STMT void (IL 0x000... ???) | |
[000013] -----+------ | /--* LCL_VAR long V02 tmp1 | |
[000015] -A---+------ \--* ASG long | |
[000014] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
New refCnts for V03: refCnt = 2, refCntWtd = 2 | |
New refCnts for V02: refCnt = 2, refCntWtd = 4 | |
[000172] ------------ * STMT void (IL 0x000... ???) | |
[000171] ------------ \--* JTRUE void | |
( 1, 4) [000170] ------------ | /--* CNS_INT int 256 | |
( 5, 7) [000168] J------N---- \--* LT int | |
( 3, 2) [000169] ------------ \--* LCL_VAR int V04 tmp3 | |
New refCnts for V04: refCnt = 2, refCntWtd = 4 | |
*** marking local variables in block BB02 (weight=2 ) | |
[000060] ------------ * STMT void (IL 0x000... ???) | |
[000161] ---XG+------ | /--* CAST int <- long | |
[000053] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000052] *--XG+------ | | \--* IND long | |
[000050] -----+------ | | | /--* CNS_INT long 24 | |
[000051] -----+------ | | \--* ADD long | |
[000045] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000054] ---XG+------ | /--* ADD int | |
[000163] ---XG+------ | | | /--* CAST int <- long | |
[000043] ---XG+------ | | | | \--* HWIntrinsic long PopCount | |
[000042] *--XG+------ | | | | \--* IND long | |
[000040] -----+------ | | | | | /--* CNS_INT long 16 | |
[000041] -----+------ | | | | \--* ADD long | |
[000035] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000044] ---XG+------ | | \--* ADD int | |
[000165] ---XG+------ | | | /--* CAST int <- long | |
[000033] ---XG+------ | | | | \--* HWIntrinsic long PopCount | |
[000032] *--XG+------ | | | | \--* IND long | |
[000030] -----+------ | | | | | /--* CNS_INT long 8 | |
[000031] -----+------ | | | | \--* ADD long | |
[000028] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000034] ---XG+------ | | \--* ADD int | |
[000164] ---XG+------ | | \--* CAST int <- long | |
[000027] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000026] *--XG+------ | | \--* IND long | |
[000025] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000056] ---XG+------ | /--* SUB int | |
[000024] -----+------ | | \--* LCL_VAR int V04 tmp3 | |
[000059] -A-XG+------ \--* ASG int | |
[000058] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
New refCnts for V04: refCnt = 3, refCntWtd = 8 | |
New refCnts for V04: refCnt = 4, refCntWtd = 12 | |
New refCnts for V03: refCnt = 3, refCntWtd = 4 | |
New refCnts for V03: refCnt = 4, refCntWtd = 6 | |
New refCnts for V03: refCnt = 5, refCntWtd = 8 | |
New refCnts for V03: refCnt = 6, refCntWtd = 10 | |
[000070] ------------ * STMT void (IL 0x000... ???) | |
[000066] -----+------ | /--* CNS_INT long 32 | |
[000067] -----+------ | /--* ADD long | |
[000061] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000069] -A---+------ \--* ASG long | |
[000068] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
New refCnts for V03: refCnt = 7, refCntWtd = 12 | |
New refCnts for V03: refCnt = 8, refCntWtd = 14 | |
[000022] ------------ * STMT void (IL 0x000... ???) | |
[000021] -----+------ \--* JTRUE void | |
( 1, 4) [000019] ------------ | /--* CNS_INT int 256 | |
( 5, 7) [000020] J------N---- \--* GE int | |
( 3, 2) [000018] ------------ \--* LCL_VAR int V04 tmp3 | |
New refCnts for V04: refCnt = 5, refCntWtd = 16 | |
*** marking local variables in block BB03 (weight=0.50) | |
[000075] ------------ * STMT void (IL 0x000... ???) | |
[000072] -----+------ | /--* LCL_VAR int V04 tmp3 | |
[000074] -A---+------ \--* ASG int | |
[000073] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
New refCnts for V05: refCnt = 2, refCntWtd = 1.50 | |
New refCnts for V04: refCnt = 6, refCntWtd = 17 | |
[000177] ------------ * STMT void (IL 0x000... ???) | |
[000176] ------------ \--* JTRUE void | |
( 1, 1) [000175] ------------ | /--* CNS_INT int 0 | |
( 5, 4) [000173] J------N---- \--* LE int | |
( 3, 2) [000174] ------------ \--* LCL_VAR int V04 tmp3 | |
New refCnts for V04: refCnt = 7, refCntWtd = 18 | |
*** marking local variables in block BB04 (weight=2 ) | |
[000086] ------------ * STMT void (IL 0x000... ???) | |
[000083] -----+------ | /--* LCL_VAR int V04 tmp3 | |
[000085] -A---+------ \--* ASG int | |
[000084] D----+-N---- \--* LCL_VAR int V05 tmp4 | |
New refCnts for V05: refCnt = 3, refCntWtd = 3.50 | |
New refCnts for V04: refCnt = 8, refCntWtd = 22 | |
[000096] ------------ * STMT void (IL 0x000... ???) | |
[000091] ---XG+------ | /--* CAST int <- long | |
[000090] ---XG+------ | | \--* HWIntrinsic long PopCount | |
[000089] *--XG+------ | | \--* IND long | |
[000088] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000092] ---XG+------ | /--* SUB int | |
[000087] -----+------ | | \--* LCL_VAR int V04 tmp3 | |
[000095] -A-XG+------ \--* ASG int | |
[000094] D----+-N---- \--* LCL_VAR int V04 tmp3 | |
New refCnts for V04: refCnt = 9, refCntWtd = 26 | |
New refCnts for V04: refCnt = 10, refCntWtd = 30 | |
New refCnts for V03: refCnt = 9, refCntWtd = 16 | |
[000103] ------------ * STMT void (IL 0x000... ???) | |
[000099] -----+------ | /--* CNS_INT long 8 | |
[000100] -----+------ | /--* ADD long | |
[000097] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000102] -A---+------ \--* ASG long | |
[000101] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
New refCnts for V03: refCnt = 10, refCntWtd = 18 | |
New refCnts for V03: refCnt = 11, refCntWtd = 20 | |
[000081] ------------ * STMT void (IL 0x000... ???) | |
[000080] -----+------ \--* JTRUE void | |
( 1, 1) [000078] ------------ | /--* CNS_INT int 0 | |
( 5, 4) [000079] J------N---- \--* GT int | |
( 3, 2) [000077] ------------ \--* LCL_VAR int V04 tmp3 | |
New refCnts for V04: refCnt = 11, refCntWtd = 34 | |
*** marking local variables in block BB05 (weight=1 ) | |
[000111] ------------ * STMT void (IL 0x000... ???) | |
[000107] -----+------ | /--* CNS_INT long -8 | |
[000108] -----+------ | /--* ADD long | |
[000105] -----+------ | | \--* LCL_VAR long V03 tmp2 | |
[000110] -A---+------ \--* ASG long | |
[000109] D----+-N---- \--* LCL_VAR long V03 tmp2 | |
New refCnts for V03: refCnt = 12, refCntWtd = 21 | |
New refCnts for V03: refCnt = 13, refCntWtd = 22 | |
[000127] ------------ * STMT void (IL 0x000... ???) | |
[000124] ---XG+------ | /--* CAST int <- long | |
[000123] ---XG+------ | | \--* HWIntrinsic long TrailingZeroCount | |
[000121] *--XG+------ | | | /--* IND long | |
[000120] -----+------ | | | | \--* LCL_VAR long V03 tmp2 | |
[000122] ---XG+------ | | \--* HWIntrinsic long ParallelBitDeposit | |
[000117] -----+------ | | | /--* CNS_INT int 63 | |
[000118] -----+------ | | | /--* AND int | |
[000115] -----+------ | | | | | /--* CNS_INT int -1 | |
[000116] -----+------ | | | | \--* ADD int | |
[000114] -----+------ | | | | \--* LCL_VAR int V05 tmp4 | |
[000119] -----+------ | | \--* LSH long | |
[000113] -----+------ | | \--* CNS_INT long 1 | |
[000126] -A-XG+------ \--* ASG int | |
[000125] D----+-N---- \--* LCL_VAR int V06 tmp5 | |
New refCnts for V06: refCnt = 2, refCntWtd = 2 | |
New refCnts for V05: refCnt = 4, refCntWtd = 4.50 | |
New refCnts for V03: refCnt = 14, refCntWtd = 23 | |
[000011] ------------ * STMT void (IL ???... ???) | |
[000010] -----+------ \--* RETURN int | |
[000138] -----+------ | /--* LCL_VAR int V06 tmp5 | |
[000139] -----+------ \--* ADD int | |
[000135] -----+------ | /--* CNS_INT int 6 | |
[000136] -----+------ \--* LSH int | |
[000166] -----+------ \--* CAST int <- long | |
[000132] -----+------ | /--* CNS_INT long 8 | |
[000133] -----+------ \--* DIV long | |
[000129] -----+------ | /--* LCL_VAR long V02 tmp1 | |
[000130] -----+------ \--* SUB long | |
[000128] -----+------ \--* LCL_VAR long V03 tmp2 | |
New refCnts for V03: refCnt = 15, refCntWtd = 24 | |
New refCnts for V02: refCnt = 3, refCntWtd = 6 | |
New refCnts for V06: refCnt = 3, refCntWtd = 3 | |
New refCnts for V00: refCnt = 2, refCntWtd = 2 | |
New refCnts for V00: refCnt = 3, refCntWtd = 3 | |
*************** In optAddCopies() | |
refCnt table for 'IntrinsicsUnrolled': | |
V04 tmp3 [ int]: refCnt = 11, refCntWtd = 34 | |
V03 tmp2 [ long]: refCnt = 15, refCntWtd = 24 | |
V02 tmp1 [ long]: refCnt = 3, refCntWtd = 6 | |
V00 arg0 [ int]: refCnt = 3, refCntWtd = 3 | |
V05 tmp4 [ int]: refCnt = 4, refCntWtd = 4.50 | |
V06 tmp5 [ int]: refCnt = 3, refCntWtd = 3 | |
V01 OutArgs [lclBlk]: refCnt = 1, refCntWtd = 1 | |
*************** In optOptimizeBools() | |
*************** In fgDebugCheckBBlist | |
*************** In fgFindOperOrder() | |
*************** In fgSetBlockOrder() | |
fgMarkLoopHead: Checking loop head block BB02: no guaranteed callsite exits, marking method as fully interruptible | |
fgMarkLoopHead: Checking loop head block BB04: method is already fully interruptible | |
The biggest BB has 29 tree nodes | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
***** BB01, stmt 1 | |
( 5, 12) [000142] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 5, 12) [000001] x---G------- | /--* IND long | |
N001 ( 3, 10) [000159] ------------ | | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] | |
N004 ( 5, 12) [000141] -A--G---R--- \--* ASG long | |
N003 ( 1, 1) [000140] D------N---- \--* LCL_VAR long V02 tmp1 | |
***** BB01, stmt 2 | |
( 1, 3) [000145] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000003] ------------ | /--* LCL_VAR int V00 arg0 | |
N003 ( 1, 3) [000144] -A------R--- \--* ASG int | |
N002 ( 1, 1) [000143] D------N---- \--* LCL_VAR int V04 tmp3 | |
***** BB01, stmt 3 | |
( 1, 3) [000149] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000146] ------------ | /--* CNS_INT long 0 | |
N003 ( 1, 3) [000148] -A------R--- \--* ASG long | |
N002 ( 1, 1) [000147] D------N---- \--* LCL_VAR long V03 tmp2 | |
***** BB01, stmt 4 | |
( 1, 3) [000153] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000150] ------------ | /--* CNS_INT int 0 | |
N003 ( 1, 3) [000152] -A------R--- \--* ASG int | |
N002 ( 1, 1) [000151] D------N---- \--* LCL_VAR int V05 tmp4 | |
***** BB01, stmt 5 | |
( 1, 3) [000157] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000154] ------------ | /--* CNS_INT int 0 | |
N003 ( 1, 3) [000156] -A------R--- \--* ASG int | |
N002 ( 1, 1) [000155] D------N---- \--* LCL_VAR int V06 tmp5 | |
***** BB01, stmt 6 | |
( 1, 3) [000016] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000013] ------------ | /--* LCL_VAR long V02 tmp1 | |
N003 ( 1, 3) [000015] -A------R--- \--* ASG long | |
N002 ( 1, 1) [000014] D------N---- \--* LCL_VAR long V03 tmp2 | |
***** BB01, stmt 7 | |
( 5, 8) [000172] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000171] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000170] ------------ | /--* CNS_INT int 256 | |
N003 ( 3, 6) [000168] J------N---- \--* LT int | |
N001 ( 1, 1) [000169] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
***** BB02, stmt 8 | |
( 28, 31) [000060] ------------ * STMT void (IL 0x000... ???) | |
N024 ( 6, 7) [000161] ---XG------- | /--* CAST int <- long | |
N023 ( 5, 5) [000053] ---XG------- | | \--* HWIntrinsic long PopCount | |
N022 ( 4, 4) [000052] *--XG------- | | \--* IND long | |
N020 ( 1, 1) [000050] ------------ | | | /--* CNS_INT long 24 | |
N021 ( 2, 2) [000051] -------N---- | | \--* ADD long | |
N019 ( 1, 1) [000045] ------------ | | \--* LCL_VAR long V03 tmp2 | |
N025 ( 26, 29) [000054] ---XG------- | /--* ADD int | |
N017 ( 6, 7) [000163] ---XG------- | | | /--* CAST int <- long | |
N016 ( 5, 5) [000043] ---XG------- | | | | \--* HWIntrinsic long PopCount | |
N015 ( 4, 4) [000042] *--XG------- | | | | \--* IND long | |
N013 ( 1, 1) [000040] ------------ | | | | | /--* CNS_INT long 16 | |
N014 ( 2, 2) [000041] -------N---- | | | | \--* ADD long | |
N012 ( 1, 1) [000035] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
N018 ( 19, 21) [000044] ---XG------- | | \--* ADD int | |
N010 ( 6, 7) [000165] ---XG------- | | | /--* CAST int <- long | |
N009 ( 5, 5) [000033] ---XG------- | | | | \--* HWIntrinsic long PopCount | |
N008 ( 4, 4) [000032] *--XG------- | | | | \--* IND long | |
N006 ( 1, 1) [000030] ------------ | | | | | /--* CNS_INT long 8 | |
N007 ( 2, 2) [000031] -------N---- | | | | \--* ADD long | |
N005 ( 1, 1) [000028] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
N011 ( 12, 13) [000034] ---XG------- | | \--* ADD int | |
N004 ( 5, 5) [000164] ---XG------- | | \--* CAST int <- long | |
N003 ( 4, 3) [000027] ---XG------- | | \--* HWIntrinsic long PopCount | |
N002 ( 3, 2) [000026] *--XG------- | | \--* IND long | |
N001 ( 1, 1) [000025] ------------ | | \--* LCL_VAR long V03 tmp2 | |
N027 ( 28, 31) [000056] ---XG---R--- | /--* SUB int | |
N026 ( 1, 1) [000024] ------------ | | \--* LCL_VAR int V04 tmp3 | |
N029 ( 28, 31) [000059] -A-XG---R--- \--* ASG int | |
N028 ( 1, 1) [000058] D------N---- \--* LCL_VAR int V04 tmp3 | |
***** BB02, stmt 9 | |
( 3, 3) [000070] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000066] ------------ | /--* CNS_INT long 32 | |
N003 ( 3, 3) [000067] ------------ | /--* ADD long | |
N001 ( 1, 1) [000061] ------------ | | \--* LCL_VAR long V03 tmp2 | |
N005 ( 3, 3) [000069] -A------R--- \--* ASG long | |
N004 ( 1, 1) [000068] D------N---- \--* LCL_VAR long V03 tmp2 | |
***** BB02, stmt 10 | |
( 5, 8) [000022] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000021] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000019] ------------ | /--* CNS_INT int 256 | |
N003 ( 3, 6) [000020] J------N---- \--* GE int | |
N001 ( 1, 1) [000018] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
***** BB03, stmt 11 | |
( 1, 3) [000075] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000072] ------------ | /--* LCL_VAR int V04 tmp3 | |
N003 ( 1, 3) [000074] -A------R--- \--* ASG int | |
N002 ( 1, 1) [000073] D------N---- \--* LCL_VAR int V05 tmp4 | |
***** BB03, stmt 12 | |
( 5, 5) [000177] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000176] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000175] ------------ | /--* CNS_INT int 0 | |
N003 ( 3, 3) [000173] J------N---- \--* LE int | |
N001 ( 1, 1) [000174] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
***** BB04, stmt 13 | |
( 1, 3) [000086] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000083] ------------ | /--* LCL_VAR int V04 tmp3 | |
N003 ( 1, 3) [000085] -A------R--- \--* ASG int | |
N002 ( 1, 1) [000084] D------N---- \--* LCL_VAR int V05 tmp4 | |
***** BB04, stmt 14 | |
( 7, 7) [000096] ------------ * STMT void (IL 0x000... ???) | |
N005 ( 5, 5) [000091] ---XG------- | /--* CAST int <- long | |
N004 ( 4, 3) [000090] ---XG------- | | \--* HWIntrinsic long PopCount | |
N003 ( 3, 2) [000089] *--XG------- | | \--* IND long | |
N002 ( 1, 1) [000088] ------------ | | \--* LCL_VAR long V03 tmp2 | |
N006 ( 7, 7) [000092] ---XG------- | /--* SUB int | |
N001 ( 1, 1) [000087] ------------ | | \--* LCL_VAR int V04 tmp3 | |
N008 ( 7, 7) [000095] -A-XG---R--- \--* ASG int | |
N007 ( 1, 1) [000094] D------N---- \--* LCL_VAR int V04 tmp3 | |
***** BB04, stmt 15 | |
( 3, 3) [000103] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000099] ------------ | /--* CNS_INT long 8 | |
N003 ( 3, 3) [000100] ------------ | /--* ADD long | |
N001 ( 1, 1) [000097] ------------ | | \--* LCL_VAR long V03 tmp2 | |
N005 ( 3, 3) [000102] -A------R--- \--* ASG long | |
N004 ( 1, 1) [000101] D------N---- \--* LCL_VAR long V03 tmp2 | |
***** BB04, stmt 16 | |
( 5, 5) [000081] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000080] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000078] ------------ | /--* CNS_INT int 0 | |
N003 ( 3, 3) [000079] J------N---- \--* GT int | |
N001 ( 1, 1) [000077] ------------ \--* LCL_VAR int V04 tmp3 | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
***** BB05, stmt 17 | |
( 3, 3) [000111] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000107] ------------ | /--* CNS_INT long -8 | |
N003 ( 3, 3) [000108] ------------ | /--* ADD long | |
N001 ( 1, 1) [000105] ------------ | | \--* LCL_VAR long V03 tmp2 | |
N005 ( 3, 3) [000110] -A------R--- \--* ASG long | |
N004 ( 1, 1) [000109] D------N---- \--* LCL_VAR long V03 tmp2 | |
***** BB05, stmt 18 | |
( 16, 13) [000127] ------------ * STMT void (IL 0x000... ???) | |
N012 ( 16, 13) [000124] ---XG------- | /--* CAST int <- long | |
N011 ( 15, 11) [000123] ---XG------- | | \--* HWIntrinsic long TrailingZeroCount | |
N009 ( 3, 2) [000121] *--XG------- | | | /--* IND long | |
N008 ( 1, 1) [000120] ------------ | | | | \--* LCL_VAR long V03 tmp2 | |
N010 ( 14, 10) [000122] ---XG------- | | \--* HWIntrinsic long ParallelBitDeposit | |
N004 ( 1, 1) [000117] ------------ | | | /--* CNS_INT int 63 | |
N005 ( 5, 5) [000118] ------------ | | | /--* AND int | |
N002 ( 1, 1) [000115] ------------ | | | | | /--* CNS_INT int -1 | |
N003 ( 3, 3) [000116] ------------ | | | | \--* ADD int | |
N001 ( 1, 1) [000114] ------------ | | | | \--* LCL_VAR int V05 tmp4 | |
N007 ( 10, 7) [000119] --------R--- | | \--* LSH long | |
N006 ( 1, 1) [000113] ------------ | | \--* CNS_INT long 1 | |
N014 ( 16, 13) [000126] -A-XG---R--- \--* ASG int | |
N013 ( 1, 1) [000125] D------N---- \--* LCL_VAR int V06 tmp5 | |
***** BB05, stmt 19 | |
( 30, 14) [000011] ------------ * STMT void (IL ???... ???) | |
N011 ( 30, 14) [000010] ------------ \--* RETURN int | |
N009 ( 1, 1) [000138] ------------ | /--* LCL_VAR int V06 tmp5 | |
N010 ( 29, 13) [000139] ------------ \--* ADD int | |
N007 ( 1, 1) [000135] ------------ | /--* CNS_INT int 6 | |
N008 ( 27, 11) [000136] ------------ \--* LSH int | |
N006 ( 25, 9) [000166] ------------ \--* CAST int <- long | |
N004 ( 1, 1) [000132] ------------ | /--* CNS_INT long 8 | |
N005 ( 24, 7) [000133] ------------ \--* DIV long | |
N002 ( 1, 1) [000129] ------------ | /--* LCL_VAR long V02 tmp1 | |
N003 ( 3, 3) [000130] ------------ \--* SUB long | |
N001 ( 1, 1) [000128] ------------ \--* LCL_VAR long V03 tmp2 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In SsaBuilder::Build() | |
[SsaBuilder] Max block count is 6. | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** Exception Handling table is empty | |
[SsaBuilder] Topologically sorted the graph. | |
[SsaBuilder::ComputeImmediateDom] | |
*************** In SsaBuilder::ComputeDominators(BasicBlock** postOrder, int count, ...) | |
*************** In SsaBuilder::InsertPhiFunctions() | |
*************** In fgLocalVarLiveness() | |
*************** In fgPerBlockLocalVarLiveness() | |
BB01 USE(1)={ V00 } + ByrefExposed + GcHeap | |
DEF(5)={V04 V03 V02 V05 V06} | |
BB02 USE(2)={V04 V03} + ByrefExposed + GcHeap | |
DEF(2)={V04 V03} | |
BB03 USE(1)={V04 } | |
DEF(1)={ V05} | |
BB04 USE(2)={V04 V03 } + ByrefExposed + GcHeap | |
DEF(3)={V04 V03 V05} | |
BB05 USE(3)={V03 V02 V05 } + ByrefExposed + GcHeap | |
DEF(2)={V03 V06} | |
** Memory liveness computed, GcHeap states and ByrefExposed states match | |
*************** In fgInterBlockLocalVarLiveness() | |
BB liveness after fgLiveVarAnalysis(): | |
BB01 IN (1)={ V00} + ByrefExposed + GcHeap | |
OUT(3)={V04 V03 V02 } + ByrefExposed + GcHeap | |
BB02 IN (3)={V04 V03 V02} + ByrefExposed + GcHeap | |
OUT(3)={V04 V03 V02} + ByrefExposed + GcHeap | |
BB03 IN (3)={V04 V03 V02 } + ByrefExposed + GcHeap | |
OUT(4)={V04 V03 V02 V05} + ByrefExposed + GcHeap | |
BB04 IN (3)={V04 V03 V02 } + ByrefExposed + GcHeap | |
OUT(4)={V04 V03 V02 V05} + ByrefExposed + GcHeap | |
BB05 IN (3)={V03 V02 V05} + ByrefExposed + GcHeap | |
OUT(0)={ } | |
top level assign | |
removing stmt with no side effects | |
Removing statement [000157] in BB01 as useless: | |
( 1, 3) [000157] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000154] ------------ | /--* CNS_INT int 0 | |
N003 ( 1, 3) [000156] -A------R--- \--* ASG int | |
N002 ( 1, 1) [000155] D------N---- \--* LCL_VAR int V06 tmp5 | |
New refCnts for V06: refCnt = 2, refCntWtd = 2 | |
top level assign | |
removing stmt with no side effects | |
Removing statement [000153] in BB01 as useless: | |
( 1, 3) [000153] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000150] ------------ | /--* CNS_INT int 0 | |
N003 ( 1, 3) [000152] -A------R--- \--* ASG int | |
N002 ( 1, 1) [000151] D------N---- \--* LCL_VAR int V05 tmp4 | |
New refCnts for V05: refCnt = 3, refCntWtd = 3.50 | |
top level assign | |
removing stmt with no side effects | |
Removing statement [000149] in BB01 as useless: | |
( 1, 3) [000149] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000146] ------------ | /--* CNS_INT long 0 | |
N003 ( 1, 3) [000148] -A------R--- \--* ASG long | |
N002 ( 1, 1) [000147] D------N---- \--* LCL_VAR long V03 tmp2 | |
New refCnts for V03: refCnt = 14, refCntWtd = 23 | |
In fgLocalVarLiveness, setting lvaSortAgain back to false (set during dead-code removal) | |
Inserting phi functions: | |
Inserting phi definition for V04 at start of BB04. | |
Inserting phi definition for V03 at start of BB05. | |
Inserting phi definition for V03 at start of BB04. | |
Inserting phi definition for V05 at start of BB05. | |
Inserting phi definition for V04 at start of BB03. | |
Inserting phi definition for V04 at start of BB02. | |
Inserting phi definition for V03 at start of BB03. | |
Inserting phi definition for V03 at start of BB02. | |
*************** In SsaBuilder::RenameVariables() | |
After fgSsaBuild: | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
***** BB01, stmt 1 | |
( 5, 12) [000142] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 5, 12) [000001] x---G------- | /--* IND long | |
N001 ( 3, 10) [000159] ------------ | | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] | |
N004 ( 5, 12) [000141] -A--G---R--- \--* ASG long | |
N003 ( 1, 1) [000140] D------N---- \--* LCL_VAR long V02 tmp1 d:2 | |
***** BB01, stmt 2 | |
( 1, 3) [000145] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000003] ------------ | /--* LCL_VAR int V00 arg0 u:2 (last use) | |
N003 ( 1, 3) [000144] -A------R--- \--* ASG int | |
N002 ( 1, 1) [000143] D------N---- \--* LCL_VAR int V04 tmp3 d:2 | |
***** BB01, stmt 3 | |
( 1, 3) [000016] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000013] ------------ | /--* LCL_VAR long V02 tmp1 u:2 | |
N003 ( 1, 3) [000015] -A------R--- \--* ASG long | |
N002 ( 1, 1) [000014] D------N---- \--* LCL_VAR long V03 tmp2 d:2 | |
***** BB01, stmt 4 | |
( 5, 8) [000172] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000171] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000170] ------------ | /--* CNS_INT int 256 | |
N003 ( 3, 6) [000168] J------N---- \--* LT int | |
N001 ( 1, 1) [000169] ------------ \--* LCL_VAR int V04 tmp3 u:2 | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
***** BB02, stmt 5 | |
( 2, 3) [000209] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000207] ------------ | * PHI long | |
N001 ( 0, 0) [000222] ------------ | /--* PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000210] ------------ | \--* PHI_ARG long V03 tmp2 u:2 | |
N007 ( 2, 3) [000208] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000206] D------N---- \--* LCL_VAR long V03 tmp2 d:3 | |
***** BB02, stmt 6 | |
( 2, 3) [000201] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000199] ------------ | * PHI int | |
N001 ( 0, 0) [000224] ------------ | /--* PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000212] ------------ | \--* PHI_ARG int V04 tmp3 u:2 | |
N007 ( 2, 3) [000200] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000198] D------N---- \--* LCL_VAR int V04 tmp3 d:3 | |
***** BB02, stmt 7 | |
( 28, 31) [000060] ------------ * STMT void (IL 0x000... ???) | |
N024 ( 6, 7) [000161] ---XG------- | /--* CAST int <- long | |
N023 ( 5, 5) [000053] ---XG------- | | \--* HWIntrinsic long PopCount | |
N022 ( 4, 4) [000052] *--XG------- | | \--* IND long | |
N020 ( 1, 1) [000050] ------------ | | | /--* CNS_INT long 24 | |
N021 ( 2, 2) [000051] -------N---- | | \--* ADD long | |
N019 ( 1, 1) [000045] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 | |
N025 ( 26, 29) [000054] ---XG------- | /--* ADD int | |
N017 ( 6, 7) [000163] ---XG------- | | | /--* CAST int <- long | |
N016 ( 5, 5) [000043] ---XG------- | | | | \--* HWIntrinsic long PopCount | |
N015 ( 4, 4) [000042] *--XG------- | | | | \--* IND long | |
N013 ( 1, 1) [000040] ------------ | | | | | /--* CNS_INT long 16 | |
N014 ( 2, 2) [000041] -------N---- | | | | \--* ADD long | |
N012 ( 1, 1) [000035] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:3 | |
N018 ( 19, 21) [000044] ---XG------- | | \--* ADD int | |
N010 ( 6, 7) [000165] ---XG------- | | | /--* CAST int <- long | |
N009 ( 5, 5) [000033] ---XG------- | | | | \--* HWIntrinsic long PopCount | |
N008 ( 4, 4) [000032] *--XG------- | | | | \--* IND long | |
N006 ( 1, 1) [000030] ------------ | | | | | /--* CNS_INT long 8 | |
N007 ( 2, 2) [000031] -------N---- | | | | \--* ADD long | |
N005 ( 1, 1) [000028] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:3 | |
N011 ( 12, 13) [000034] ---XG------- | | \--* ADD int | |
N004 ( 5, 5) [000164] ---XG------- | | \--* CAST int <- long | |
N003 ( 4, 3) [000027] ---XG------- | | \--* HWIntrinsic long PopCount | |
N002 ( 3, 2) [000026] *--XG------- | | \--* IND long | |
N001 ( 1, 1) [000025] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 | |
N027 ( 28, 31) [000056] ---XG---R--- | /--* SUB int | |
N026 ( 1, 1) [000024] ------------ | | \--* LCL_VAR int V04 tmp3 u:3 (last use) | |
N029 ( 28, 31) [000059] -A-XG---R--- \--* ASG int | |
N028 ( 1, 1) [000058] D------N---- \--* LCL_VAR int V04 tmp3 d:4 | |
***** BB02, stmt 8 | |
( 3, 3) [000070] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000066] ------------ | /--* CNS_INT long 32 | |
N003 ( 3, 3) [000067] ------------ | /--* ADD long | |
N001 ( 1, 1) [000061] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 (last use) | |
N005 ( 3, 3) [000069] -A------R--- \--* ASG long | |
N004 ( 1, 1) [000068] D------N---- \--* LCL_VAR long V03 tmp2 d:4 | |
***** BB02, stmt 9 | |
( 5, 8) [000022] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000021] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000019] ------------ | /--* CNS_INT int 256 | |
N003 ( 3, 6) [000020] J------N---- \--* GE int | |
N001 ( 1, 1) [000018] ------------ \--* LCL_VAR int V04 tmp3 u:4 | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
***** BB03, stmt 10 | |
( 2, 3) [000205] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000203] ------------ | * PHI long | |
N001 ( 0, 0) [000218] ------------ | /--* PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000214] ------------ | \--* PHI_ARG long V03 tmp2 u:2 | |
N007 ( 2, 3) [000204] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000202] D------N---- \--* LCL_VAR long V03 tmp2 d:5 | |
***** BB03, stmt 11 | |
( 2, 3) [000197] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000195] ------------ | * PHI int | |
N001 ( 0, 0) [000220] ------------ | /--* PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000216] ------------ | \--* PHI_ARG int V04 tmp3 u:2 | |
N007 ( 2, 3) [000196] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000194] D------N---- \--* LCL_VAR int V04 tmp3 d:5 | |
***** BB03, stmt 12 | |
( 1, 3) [000075] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000072] ------------ | /--* LCL_VAR int V04 tmp3 u:5 | |
N003 ( 1, 3) [000074] -A------R--- \--* ASG int | |
N002 ( 1, 1) [000073] D------N---- \--* LCL_VAR int V05 tmp4 d:2 | |
***** BB03, stmt 13 | |
( 5, 5) [000177] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000176] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000175] ------------ | /--* CNS_INT int 0 | |
N003 ( 3, 3) [000173] J------N---- \--* LE int | |
N001 ( 1, 1) [000174] ------------ \--* LCL_VAR int V04 tmp3 u:5 | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
***** BB04, stmt 14 | |
( 2, 3) [000189] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000187] ------------ | * PHI long | |
N001 ( 0, 0) [000238] ------------ | /--* PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000226] ------------ | \--* PHI_ARG long V03 tmp2 u:5 | |
N007 ( 2, 3) [000188] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000186] D------N---- \--* LCL_VAR long V03 tmp2 d:6 | |
***** BB04, stmt 15 | |
( 2, 3) [000181] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000179] ------------ | * PHI int | |
N001 ( 0, 0) [000240] ------------ | /--* PHI_ARG int V04 tmp3 u:7 | |
N002 ( 0, 0) [000228] ------------ | \--* PHI_ARG int V04 tmp3 u:5 | |
N007 ( 2, 3) [000180] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000178] D------N---- \--* LCL_VAR int V04 tmp3 d:6 | |
***** BB04, stmt 16 | |
( 1, 3) [000086] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000083] ------------ | /--* LCL_VAR int V04 tmp3 u:6 | |
N003 ( 1, 3) [000085] -A------R--- \--* ASG int | |
N002 ( 1, 1) [000084] D------N---- \--* LCL_VAR int V05 tmp4 d:3 | |
***** BB04, stmt 17 | |
( 7, 7) [000096] ------------ * STMT void (IL 0x000... ???) | |
N005 ( 5, 5) [000091] ---XG------- | /--* CAST int <- long | |
N004 ( 4, 3) [000090] ---XG------- | | \--* HWIntrinsic long PopCount | |
N003 ( 3, 2) [000089] *--XG------- | | \--* IND long | |
N002 ( 1, 1) [000088] ------------ | | \--* LCL_VAR long V03 tmp2 u:6 | |
N006 ( 7, 7) [000092] ---XG------- | /--* SUB int | |
N001 ( 1, 1) [000087] ------------ | | \--* LCL_VAR int V04 tmp3 u:6 (last use) | |
N008 ( 7, 7) [000095] -A-XG---R--- \--* ASG int | |
N007 ( 1, 1) [000094] D------N---- \--* LCL_VAR int V04 tmp3 d:7 | |
***** BB04, stmt 18 | |
( 3, 3) [000103] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000099] ------------ | /--* CNS_INT long 8 | |
N003 ( 3, 3) [000100] ------------ | /--* ADD long | |
N001 ( 1, 1) [000097] ------------ | | \--* LCL_VAR long V03 tmp2 u:6 (last use) | |
N005 ( 3, 3) [000102] -A------R--- \--* ASG long | |
N004 ( 1, 1) [000101] D------N---- \--* LCL_VAR long V03 tmp2 d:7 | |
***** BB04, stmt 19 | |
( 5, 5) [000081] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000080] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000078] ------------ | /--* CNS_INT int 0 | |
N003 ( 3, 3) [000079] J------N---- \--* GT int | |
N001 ( 1, 1) [000077] ------------ \--* LCL_VAR int V04 tmp3 u:7 | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
***** BB05, stmt 20 | |
( 2, 3) [000193] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000191] ------------ | * PHI int | |
N001 ( 0, 0) [000234] ------------ | /--* PHI_ARG int V05 tmp4 u:3 | |
N002 ( 0, 0) [000230] ------------ | \--* PHI_ARG int V05 tmp4 u:2 | |
N007 ( 2, 3) [000192] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000190] D------N---- \--* LCL_VAR int V05 tmp4 d:4 | |
***** BB05, stmt 21 | |
( 2, 3) [000185] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000183] ------------ | * PHI long | |
N001 ( 0, 0) [000236] ------------ | /--* PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000232] ------------ | \--* PHI_ARG long V03 tmp2 u:5 | |
N007 ( 2, 3) [000184] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000182] D------N---- \--* LCL_VAR long V03 tmp2 d:8 | |
***** BB05, stmt 22 | |
( 3, 3) [000111] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000107] ------------ | /--* CNS_INT long -8 | |
N003 ( 3, 3) [000108] ------------ | /--* ADD long | |
N001 ( 1, 1) [000105] ------------ | | \--* LCL_VAR long V03 tmp2 u:8 (last use) | |
N005 ( 3, 3) [000110] -A------R--- \--* ASG long | |
N004 ( 1, 1) [000109] D------N---- \--* LCL_VAR long V03 tmp2 d:9 | |
***** BB05, stmt 23 | |
( 16, 13) [000127] ------------ * STMT void (IL 0x000... ???) | |
N012 ( 16, 13) [000124] ---XG------- | /--* CAST int <- long | |
N011 ( 15, 11) [000123] ---XG------- | | \--* HWIntrinsic long TrailingZeroCount | |
N009 ( 3, 2) [000121] *--XG------- | | | /--* IND long | |
N008 ( 1, 1) [000120] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:9 | |
N010 ( 14, 10) [000122] ---XG------- | | \--* HWIntrinsic long ParallelBitDeposit | |
N004 ( 1, 1) [000117] ------------ | | | /--* CNS_INT int 63 | |
N005 ( 5, 5) [000118] ------------ | | | /--* AND int | |
N002 ( 1, 1) [000115] ------------ | | | | | /--* CNS_INT int -1 | |
N003 ( 3, 3) [000116] ------------ | | | | \--* ADD int | |
N001 ( 1, 1) [000114] ------------ | | | | \--* LCL_VAR int V05 tmp4 u:4 (last use) | |
N007 ( 10, 7) [000119] --------R--- | | \--* LSH long | |
N006 ( 1, 1) [000113] ------------ | | \--* CNS_INT long 1 | |
N014 ( 16, 13) [000126] -A-XG---R--- \--* ASG int | |
N013 ( 1, 1) [000125] D------N---- \--* LCL_VAR int V06 tmp5 d:2 | |
***** BB05, stmt 24 | |
( 30, 14) [000011] ------------ * STMT void (IL ???... ???) | |
N011 ( 30, 14) [000010] ------------ \--* RETURN int | |
N009 ( 1, 1) [000138] ------------ | /--* LCL_VAR int V06 tmp5 u:2 (last use) | |
N010 ( 29, 13) [000139] ------------ \--* ADD int | |
N007 ( 1, 1) [000135] ------------ | /--* CNS_INT int 6 | |
N008 ( 27, 11) [000136] ------------ \--* LSH int | |
N006 ( 25, 9) [000166] ------------ \--* CAST int <- long | |
N004 ( 1, 1) [000132] ------------ | /--* CNS_INT long 8 | |
N005 ( 24, 7) [000133] ------------ \--* DIV long | |
N002 ( 1, 1) [000129] ------------ | /--* LCL_VAR long V02 tmp1 u:2 (last use) | |
N003 ( 3, 3) [000130] ------------ \--* SUB long | |
N001 ( 1, 1) [000128] ------------ \--* LCL_VAR long V03 tmp2 u:9 (last use) | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In optEarlyProp() | |
*************** In fgValueNumber() | |
Memory Initial Value in BB01 is: $c0 | |
The SSA definition for ByrefExposed (#2) at start of BB01 is $c0 {InitVal($41)} | |
The SSA definition for GcHeap (#2) at start of BB01 is $c0 {InitVal($41)} | |
***** BB01, stmt 1 (before) | |
N002 ( 5, 12) [000001] x---G------- /--* IND long | |
N001 ( 3, 10) [000159] ------------ | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] | |
N004 ( 5, 12) [000141] -A--G---R--- * ASG long | |
N003 ( 1, 1) [000140] D------N---- \--* LCL_VAR long V02 tmp1 d:2 | |
N001 [000159] CNS_INT(h) 0x7f08ab884498 static Fseq[_bits] => $100 {Hnd const: 0x00007F08AB884498} | |
N002 [000001] IND => <l:$140 {ByrefExposedLoad($42, $100, $c0)}, c:$180 {180}> | |
N003 [000140] LCL_VAR V02 tmp1 d:2 => <l:$140 {ByrefExposedLoad($42, $100, $c0)}, c:$180 {180}> | |
N004 [000141] ASG => <l:$140 {ByrefExposedLoad($42, $100, $c0)}, c:$180 {180}> | |
***** BB01, stmt 1 (after) | |
N002 ( 5, 12) [000001] x---G------- /--* IND long <l:$140, c:$180> | |
N001 ( 3, 10) [000159] ------------ | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
N004 ( 5, 12) [000141] -A--G---R--- * ASG long <l:$140, c:$180> | |
N003 ( 1, 1) [000140] D------N---- \--* LCL_VAR long V02 tmp1 d:2 <l:$140, c:$180> | |
--------- | |
***** BB01, stmt 2 (before) | |
N001 ( 1, 1) [000003] ------------ /--* LCL_VAR int V00 arg0 u:2 (last use) | |
N003 ( 1, 3) [000144] -A------R--- * ASG int | |
N002 ( 1, 1) [000143] D------N---- \--* LCL_VAR int V04 tmp3 d:2 | |
N001 [000003] LCL_VAR V00 arg0 u:2 (last use) => $80 {InitVal($40)} | |
N002 [000143] LCL_VAR V04 tmp3 d:2 => $80 {InitVal($40)} | |
N003 [000144] ASG => $80 {InitVal($40)} | |
***** BB01, stmt 2 (after) | |
N001 ( 1, 1) [000003] ------------ /--* LCL_VAR int V00 arg0 u:2 (last use) $80 | |
N003 ( 1, 3) [000144] -A------R--- * ASG int $80 | |
N002 ( 1, 1) [000143] D------N---- \--* LCL_VAR int V04 tmp3 d:2 $80 | |
--------- | |
***** BB01, stmt 3 (before) | |
N001 ( 1, 1) [000013] ------------ /--* LCL_VAR long V02 tmp1 u:2 | |
N003 ( 1, 3) [000015] -A------R--- * ASG long | |
N002 ( 1, 1) [000014] D------N---- \--* LCL_VAR long V03 tmp2 d:2 | |
N001 [000013] LCL_VAR V02 tmp1 u:2 => <l:$140 {ByrefExposedLoad($42, $100, $c0)}, c:$180 {180}> | |
N002 [000014] LCL_VAR V03 tmp2 d:2 => <l:$140 {ByrefExposedLoad($42, $100, $c0)}, c:$180 {180}> | |
N003 [000015] ASG => <l:$140 {ByrefExposedLoad($42, $100, $c0)}, c:$180 {180}> | |
***** BB01, stmt 3 (after) | |
N001 ( 1, 1) [000013] ------------ /--* LCL_VAR long V02 tmp1 u:2 <l:$140, c:$180> | |
N003 ( 1, 3) [000015] -A------R--- * ASG long <l:$140, c:$180> | |
N002 ( 1, 1) [000014] D------N---- \--* LCL_VAR long V03 tmp2 d:2 <l:$140, c:$180> | |
--------- | |
***** BB01, stmt 4 (before) | |
N004 ( 5, 8) [000171] ------------ * JTRUE void | |
N002 ( 1, 4) [000170] ------------ | /--* CNS_INT int 256 | |
N003 ( 3, 6) [000168] J------N---- \--* LT int | |
N001 ( 1, 1) [000169] ------------ \--* LCL_VAR int V04 tmp3 u:2 | |
N001 [000169] LCL_VAR V04 tmp3 u:2 => $80 {InitVal($40)} | |
N002 [000170] CNS_INT 256 => $43 {IntCns 256} | |
N003 [000168] LT => $200 {LT($80, $43)} | |
***** BB01, stmt 4 (after) | |
N004 ( 5, 8) [000171] ------------ * JTRUE void | |
N002 ( 1, 4) [000170] ------------ | /--* CNS_INT int 256 $43 | |
N003 ( 3, 6) [000168] J------N---- \--* LT int $200 | |
N001 ( 1, 1) [000169] ------------ \--* LCL_VAR int V04 tmp3 u:2 $80 | |
finish(BB01). | |
Succ(BB02). | |
Not yet completed. | |
Not all preds complete Adding to notallDone, if necessary... | |
Was necessary. | |
Succ(BB03). | |
Not yet completed. | |
Not all preds complete Adding to notallDone, if necessary... | |
Was necessary. | |
SSA definition: set VN of local 3/3 to $141 {PhiDef($3, $3, $240)}. | |
SSA definition: set VN of local 4/3 to $280 {PhiDef($4, $3, $240)}. | |
The SSA definition for ByrefExposed (#2) at start of BB02 is $c0 {InitVal($41)} | |
The SSA definition for GcHeap (#2) at start of BB02 is $c0 {InitVal($41)} | |
***** BB02, stmt 5 (before) | |
N024 ( 6, 7) [000161] ---XG------- /--* CAST int <- long | |
N023 ( 5, 5) [000053] ---XG------- | \--* HWIntrinsic long PopCount | |
N022 ( 4, 4) [000052] *--XG------- | \--* IND long | |
N020 ( 1, 1) [000050] ------------ | | /--* CNS_INT long 24 | |
N021 ( 2, 2) [000051] -------N---- | \--* ADD long | |
N019 ( 1, 1) [000045] ------------ | \--* LCL_VAR long V03 tmp2 u:3 | |
N025 ( 26, 29) [000054] ---XG------- /--* ADD int | |
N017 ( 6, 7) [000163] ---XG------- | | /--* CAST int <- long | |
N016 ( 5, 5) [000043] ---XG------- | | | \--* HWIntrinsic long PopCount | |
N015 ( 4, 4) [000042] *--XG------- | | | \--* IND long | |
N013 ( 1, 1) [000040] ------------ | | | | /--* CNS_INT long 16 | |
N014 ( 2, 2) [000041] -------N---- | | | \--* ADD long | |
N012 ( 1, 1) [000035] ------------ | | | \--* LCL_VAR long V03 tmp2 u:3 | |
N018 ( 19, 21) [000044] ---XG------- | \--* ADD int | |
N010 ( 6, 7) [000165] ---XG------- | | /--* CAST int <- long | |
N009 ( 5, 5) [000033] ---XG------- | | | \--* HWIntrinsic long PopCount | |
N008 ( 4, 4) [000032] *--XG------- | | | \--* IND long | |
N006 ( 1, 1) [000030] ------------ | | | | /--* CNS_INT long 8 | |
N007 ( 2, 2) [000031] -------N---- | | | \--* ADD long | |
N005 ( 1, 1) [000028] ------------ | | | \--* LCL_VAR long V03 tmp2 u:3 | |
N011 ( 12, 13) [000034] ---XG------- | \--* ADD int | |
N004 ( 5, 5) [000164] ---XG------- | \--* CAST int <- long | |
N003 ( 4, 3) [000027] ---XG------- | \--* HWIntrinsic long PopCount | |
N002 ( 3, 2) [000026] *--XG------- | \--* IND long | |
N001 ( 1, 1) [000025] ------------ | \--* LCL_VAR long V03 tmp2 u:3 | |
N027 ( 28, 31) [000056] ---XG---R--- /--* SUB int | |
N026 ( 1, 1) [000024] ------------ | \--* LCL_VAR int V04 tmp3 u:3 (last use) | |
N029 ( 28, 31) [000059] -A-XG---R--- * ASG int | |
N028 ( 1, 1) [000058] D------N---- \--* LCL_VAR int V04 tmp3 d:4 | |
N001 [000025] LCL_VAR V03 tmp2 u:3 => $141 {PhiDef($3, $3, $240)} | |
N002 [000026] IND => <l:$142 {ByrefExposedLoad($42, $141, $c0)}, c:$2c0 {2c0}> | |
VNForCastOper(int) is $46 | |
N004 [000164] CAST => $201 {Cast($300, $46)} | |
N005 [000028] LCL_VAR V03 tmp2 u:3 => $141 {PhiDef($3, $3, $240)} | |
N006 [000030] CNS_INT 8 => $340 {LngCns: 8} | |
N007 [000031] ADD => $241 {ADD($141, $340)} | |
N008 [000032] IND => <l:$143 {ByrefExposedLoad($42, $241, $c0)}, c:$2c1 {2c1}> | |
VNForCastOper(int) is $46 | |
N010 [000165] CAST => $202 {Cast($301, $46)} | |
N011 [000034] ADD => $203 {ADD($201, $202)} | |
N012 [000035] LCL_VAR V03 tmp2 u:3 => $141 {PhiDef($3, $3, $240)} | |
N013 [000040] CNS_INT 16 => $342 {LngCns: 16} | |
N014 [000041] ADD => $242 {ADD($141, $342)} | |
N015 [000042] IND => <l:$144 {ByrefExposedLoad($42, $242, $c0)}, c:$2c2 {2c2}> | |
VNForCastOper(int) is $46 | |
N017 [000163] CAST => $204 {Cast($302, $46)} | |
N018 [000044] ADD => $205 {ADD($203, $204)} | |
N019 [000045] LCL_VAR V03 tmp2 u:3 => $141 {PhiDef($3, $3, $240)} | |
N020 [000050] CNS_INT 24 => $343 {LngCns: 24} | |
N021 [000051] ADD => $243 {ADD($141, $343)} | |
N022 [000052] IND => <l:$145 {ByrefExposedLoad($42, $243, $c0)}, c:$2c3 {2c3}> | |
VNForCastOper(int) is $46 | |
N024 [000161] CAST => $206 {Cast($303, $46)} | |
N025 [000054] ADD => $207 {ADD($205, $206)} | |
N026 [000024] LCL_VAR V04 tmp3 u:3 (last use) => $280 {PhiDef($4, $3, $240)} | |
N027 [000056] SUB => $208 {SUB($280, $207)} | |
N028 [000058] LCL_VAR V04 tmp3 d:4 => $208 {SUB($280, $207)} | |
N029 [000059] ASG => $208 {SUB($280, $207)} | |
***** BB02, stmt 5 (after) | |
N024 ( 6, 7) [000161] ---XG------- /--* CAST int <- long $206 | |
N023 ( 5, 5) [000053] ---XG------- | \--* HWIntrinsic long PopCount $303 | |
N022 ( 4, 4) [000052] *--XG------- | \--* IND long <l:$145, c:$2c3> | |
N020 ( 1, 1) [000050] ------------ | | /--* CNS_INT long 24 $343 | |
N021 ( 2, 2) [000051] -------N---- | \--* ADD long $243 | |
N019 ( 1, 1) [000045] ------------ | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N025 ( 26, 29) [000054] ---XG------- /--* ADD int $207 | |
N017 ( 6, 7) [000163] ---XG------- | | /--* CAST int <- long $204 | |
N016 ( 5, 5) [000043] ---XG------- | | | \--* HWIntrinsic long PopCount $302 | |
N015 ( 4, 4) [000042] *--XG------- | | | \--* IND long <l:$144, c:$2c2> | |
N013 ( 1, 1) [000040] ------------ | | | | /--* CNS_INT long 16 $342 | |
N014 ( 2, 2) [000041] -------N---- | | | \--* ADD long $242 | |
N012 ( 1, 1) [000035] ------------ | | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N018 ( 19, 21) [000044] ---XG------- | \--* ADD int $205 | |
N010 ( 6, 7) [000165] ---XG------- | | /--* CAST int <- long $202 | |
N009 ( 5, 5) [000033] ---XG------- | | | \--* HWIntrinsic long PopCount $301 | |
N008 ( 4, 4) [000032] *--XG------- | | | \--* IND long <l:$143, c:$2c1> | |
N006 ( 1, 1) [000030] ------------ | | | | /--* CNS_INT long 8 $340 | |
N007 ( 2, 2) [000031] -------N---- | | | \--* ADD long $241 | |
N005 ( 1, 1) [000028] ------------ | | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N011 ( 12, 13) [000034] ---XG------- | \--* ADD int $203 | |
N004 ( 5, 5) [000164] ---XG------- | \--* CAST int <- long $201 | |
N003 ( 4, 3) [000027] ---XG------- | \--* HWIntrinsic long PopCount $300 | |
N002 ( 3, 2) [000026] *--XG------- | \--* IND long <l:$142, c:$2c0> | |
N001 ( 1, 1) [000025] ------------ | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N027 ( 28, 31) [000056] ---XG---R--- /--* SUB int $208 | |
N026 ( 1, 1) [000024] ------------ | \--* LCL_VAR int V04 tmp3 u:3 (last use) $280 | |
N029 ( 28, 31) [000059] -A-XG---R--- * ASG int $208 | |
N028 ( 1, 1) [000058] D------N---- \--* LCL_VAR int V04 tmp3 d:4 $208 | |
--------- | |
***** BB02, stmt 6 (before) | |
N002 ( 1, 1) [000066] ------------ /--* CNS_INT long 32 | |
N003 ( 3, 3) [000067] ------------ /--* ADD long | |
N001 ( 1, 1) [000061] ------------ | \--* LCL_VAR long V03 tmp2 u:3 (last use) | |
N005 ( 3, 3) [000069] -A------R--- * ASG long | |
N004 ( 1, 1) [000068] D------N---- \--* LCL_VAR long V03 tmp2 d:4 | |
N001 [000061] LCL_VAR V03 tmp2 u:3 (last use) => $141 {PhiDef($3, $3, $240)} | |
N002 [000066] CNS_INT 32 => $344 {LngCns: 32} | |
N003 [000067] ADD => $244 {ADD($141, $344)} | |
N004 [000068] LCL_VAR V03 tmp2 d:4 => $244 {ADD($141, $344)} | |
N005 [000069] ASG => $244 {ADD($141, $344)} | |
***** BB02, stmt 6 (after) | |
N002 ( 1, 1) [000066] ------------ /--* CNS_INT long 32 $344 | |
N003 ( 3, 3) [000067] ------------ /--* ADD long $244 | |
N001 ( 1, 1) [000061] ------------ | \--* LCL_VAR long V03 tmp2 u:3 (last use) $141 | |
N005 ( 3, 3) [000069] -A------R--- * ASG long $244 | |
N004 ( 1, 1) [000068] D------N---- \--* LCL_VAR long V03 tmp2 d:4 $244 | |
--------- | |
***** BB02, stmt 7 (before) | |
N004 ( 5, 8) [000021] ------------ * JTRUE void | |
N002 ( 1, 4) [000019] ------------ | /--* CNS_INT int 256 | |
N003 ( 3, 6) [000020] J------N---- \--* GE int | |
N001 ( 1, 1) [000018] ------------ \--* LCL_VAR int V04 tmp3 u:4 | |
N001 [000018] LCL_VAR V04 tmp3 u:4 => $208 {SUB($280, $207)} | |
N002 [000019] CNS_INT 256 => $43 {IntCns 256} | |
N003 [000020] GE => $209 {GE($208, $43)} | |
***** BB02, stmt 7 (after) | |
N004 ( 5, 8) [000021] ------------ * JTRUE void | |
N002 ( 1, 4) [000019] ------------ | /--* CNS_INT int 256 $43 | |
N003 ( 3, 6) [000020] J------N---- \--* GE int $209 | |
N001 ( 1, 1) [000018] ------------ \--* LCL_VAR int V04 tmp3 u:4 $208 | |
finish(BB02). | |
Succ(BB03). | |
Not yet completed. | |
All preds complete, adding to allDone. | |
Succ(BB02). | |
SSA definition: set VN of local 3/5 to $146 {PhiDef($3, $5, $240)}. | |
SSA definition: set VN of local 4/5 to $281 {PhiDef($4, $5, $240)}. | |
The SSA definition for ByrefExposed (#2) at start of BB03 is $c0 {InitVal($41)} | |
The SSA definition for GcHeap (#2) at start of BB03 is $c0 {InitVal($41)} | |
***** BB03, stmt 10 (before) | |
N001 ( 1, 1) [000072] ------------ /--* LCL_VAR int V04 tmp3 u:5 | |
N003 ( 1, 3) [000074] -A------R--- * ASG int | |
N002 ( 1, 1) [000073] D------N---- \--* LCL_VAR int V05 tmp4 d:2 | |
N001 [000072] LCL_VAR V04 tmp3 u:5 => $281 {PhiDef($4, $5, $240)} | |
N002 [000073] LCL_VAR V05 tmp4 d:2 => $281 {PhiDef($4, $5, $240)} | |
N003 [000074] ASG => $281 {PhiDef($4, $5, $240)} | |
***** BB03, stmt 10 (after) | |
N001 ( 1, 1) [000072] ------------ /--* LCL_VAR int V04 tmp3 u:5 $281 | |
N003 ( 1, 3) [000074] -A------R--- * ASG int $281 | |
N002 ( 1, 1) [000073] D------N---- \--* LCL_VAR int V05 tmp4 d:2 $281 | |
--------- | |
***** BB03, stmt 11 (before) | |
N004 ( 5, 5) [000176] ------------ * JTRUE void | |
N002 ( 1, 1) [000175] ------------ | /--* CNS_INT int 0 | |
N003 ( 3, 3) [000173] J------N---- \--* LE int | |
N001 ( 1, 1) [000174] ------------ \--* LCL_VAR int V04 tmp3 u:5 | |
N001 [000174] LCL_VAR V04 tmp3 u:5 => $281 {PhiDef($4, $5, $240)} | |
N002 [000175] CNS_INT 0 => $40 {IntCns 0} | |
N003 [000173] LE => $20a {LE($281, $40)} | |
***** BB03, stmt 11 (after) | |
N004 ( 5, 5) [000176] ------------ * JTRUE void | |
N002 ( 1, 1) [000175] ------------ | /--* CNS_INT int 0 $40 | |
N003 ( 3, 3) [000173] J------N---- \--* LE int $20a | |
N001 ( 1, 1) [000174] ------------ \--* LCL_VAR int V04 tmp3 u:5 $281 | |
finish(BB03). | |
Succ(BB04). | |
Not yet completed. | |
Not all preds complete Adding to notallDone, if necessary... | |
Was necessary. | |
Succ(BB05). | |
Not yet completed. | |
Not all preds complete Adding to notallDone, if necessary... | |
Was necessary. | |
SSA definition: set VN of local 3/6 to $147 {PhiDef($3, $6, $245)}. | |
SSA definition: set VN of local 4/6 to $282 {PhiDef($4, $6, $245)}. | |
The SSA definition for ByrefExposed (#2) at start of BB04 is $c0 {InitVal($41)} | |
The SSA definition for GcHeap (#2) at start of BB04 is $c0 {InitVal($41)} | |
***** BB04, stmt 14 (before) | |
N001 ( 1, 1) [000083] ------------ /--* LCL_VAR int V04 tmp3 u:6 | |
N003 ( 1, 3) [000085] -A------R--- * ASG int | |
N002 ( 1, 1) [000084] D------N---- \--* LCL_VAR int V05 tmp4 d:3 | |
N001 [000083] LCL_VAR V04 tmp3 u:6 => $282 {PhiDef($4, $6, $245)} | |
N002 [000084] LCL_VAR V05 tmp4 d:3 => $282 {PhiDef($4, $6, $245)} | |
N003 [000085] ASG => $282 {PhiDef($4, $6, $245)} | |
***** BB04, stmt 14 (after) | |
N001 ( 1, 1) [000083] ------------ /--* LCL_VAR int V04 tmp3 u:6 $282 | |
N003 ( 1, 3) [000085] -A------R--- * ASG int $282 | |
N002 ( 1, 1) [000084] D------N---- \--* LCL_VAR int V05 tmp4 d:3 $282 | |
--------- | |
***** BB04, stmt 15 (before) | |
N005 ( 5, 5) [000091] ---XG------- /--* CAST int <- long | |
N004 ( 4, 3) [000090] ---XG------- | \--* HWIntrinsic long PopCount | |
N003 ( 3, 2) [000089] *--XG------- | \--* IND long | |
N002 ( 1, 1) [000088] ------------ | \--* LCL_VAR long V03 tmp2 u:6 | |
N006 ( 7, 7) [000092] ---XG------- /--* SUB int | |
N001 ( 1, 1) [000087] ------------ | \--* LCL_VAR int V04 tmp3 u:6 (last use) | |
N008 ( 7, 7) [000095] -A-XG---R--- * ASG int | |
N007 ( 1, 1) [000094] D------N---- \--* LCL_VAR int V04 tmp3 d:7 | |
N001 [000087] LCL_VAR V04 tmp3 u:6 (last use) => $282 {PhiDef($4, $6, $245)} | |
N002 [000088] LCL_VAR V03 tmp2 u:6 => $147 {PhiDef($3, $6, $245)} | |
N003 [000089] IND => <l:$148 {ByrefExposedLoad($42, $147, $c0)}, c:$400 {400}> | |
VNForCastOper(int) is $46 | |
N005 [000091] CAST => $20b {Cast($440, $46)} | |
N006 [000092] SUB => $20c {SUB($282, $20b)} | |
N007 [000094] LCL_VAR V04 tmp3 d:7 => $20c {SUB($282, $20b)} | |
N008 [000095] ASG => $20c {SUB($282, $20b)} | |
***** BB04, stmt 15 (after) | |
N005 ( 5, 5) [000091] ---XG------- /--* CAST int <- long $20b | |
N004 ( 4, 3) [000090] ---XG------- | \--* HWIntrinsic long PopCount $440 | |
N003 ( 3, 2) [000089] *--XG------- | \--* IND long <l:$148, c:$400> | |
N002 ( 1, 1) [000088] ------------ | \--* LCL_VAR long V03 tmp2 u:6 $147 | |
N006 ( 7, 7) [000092] ---XG------- /--* SUB int $20c | |
N001 ( 1, 1) [000087] ------------ | \--* LCL_VAR int V04 tmp3 u:6 (last use) $282 | |
N008 ( 7, 7) [000095] -A-XG---R--- * ASG int $20c | |
N007 ( 1, 1) [000094] D------N---- \--* LCL_VAR int V04 tmp3 d:7 $20c | |
--------- | |
***** BB04, stmt 16 (before) | |
N002 ( 1, 1) [000099] ------------ /--* CNS_INT long 8 | |
N003 ( 3, 3) [000100] ------------ /--* ADD long | |
N001 ( 1, 1) [000097] ------------ | \--* LCL_VAR long V03 tmp2 u:6 (last use) | |
N005 ( 3, 3) [000102] -A------R--- * ASG long | |
N004 ( 1, 1) [000101] D------N---- \--* LCL_VAR long V03 tmp2 d:7 | |
N001 [000097] LCL_VAR V03 tmp2 u:6 (last use) => $147 {PhiDef($3, $6, $245)} | |
N002 [000099] CNS_INT 8 => $340 {LngCns: 8} | |
N003 [000100] ADD => $246 {ADD($147, $340)} | |
N004 [000101] LCL_VAR V03 tmp2 d:7 => $246 {ADD($147, $340)} | |
N005 [000102] ASG => $246 {ADD($147, $340)} | |
***** BB04, stmt 16 (after) | |
N002 ( 1, 1) [000099] ------------ /--* CNS_INT long 8 $340 | |
N003 ( 3, 3) [000100] ------------ /--* ADD long $246 | |
N001 ( 1, 1) [000097] ------------ | \--* LCL_VAR long V03 tmp2 u:6 (last use) $147 | |
N005 ( 3, 3) [000102] -A------R--- * ASG long $246 | |
N004 ( 1, 1) [000101] D------N---- \--* LCL_VAR long V03 tmp2 d:7 $246 | |
--------- | |
***** BB04, stmt 17 (before) | |
N004 ( 5, 5) [000080] ------------ * JTRUE void | |
N002 ( 1, 1) [000078] ------------ | /--* CNS_INT int 0 | |
N003 ( 3, 3) [000079] J------N---- \--* GT int | |
N001 ( 1, 1) [000077] ------------ \--* LCL_VAR int V04 tmp3 u:7 | |
N001 [000077] LCL_VAR V04 tmp3 u:7 => $20c {SUB($282, $20b)} | |
N002 [000078] CNS_INT 0 => $40 {IntCns 0} | |
N003 [000079] GT => $20d {GT($20c, $40)} | |
***** BB04, stmt 17 (after) | |
N004 ( 5, 5) [000080] ------------ * JTRUE void | |
N002 ( 1, 1) [000078] ------------ | /--* CNS_INT int 0 $40 | |
N003 ( 3, 3) [000079] J------N---- \--* GT int $20d | |
N001 ( 1, 1) [000077] ------------ \--* LCL_VAR int V04 tmp3 u:7 $20c | |
finish(BB04). | |
Succ(BB05). | |
Not yet completed. | |
All preds complete, adding to allDone. | |
Succ(BB04). | |
SSA definition: set VN of local 5/4 to $283 {PhiDef($5, $4, $20e)}. | |
SSA definition: set VN of local 3/8 to $149 {PhiDef($3, $8, $245)}. | |
The SSA definition for ByrefExposed (#2) at start of BB05 is $c0 {InitVal($41)} | |
The SSA definition for GcHeap (#2) at start of BB05 is $c0 {InitVal($41)} | |
***** BB05, stmt 20 (before) | |
N002 ( 1, 1) [000107] ------------ /--* CNS_INT long -8 | |
N003 ( 3, 3) [000108] ------------ /--* ADD long | |
N001 ( 1, 1) [000105] ------------ | \--* LCL_VAR long V03 tmp2 u:8 (last use) | |
N005 ( 3, 3) [000110] -A------R--- * ASG long | |
N004 ( 1, 1) [000109] D------N---- \--* LCL_VAR long V03 tmp2 d:9 | |
N001 [000105] LCL_VAR V03 tmp2 u:8 (last use) => $149 {PhiDef($3, $8, $245)} | |
N002 [000107] CNS_INT -8 => $345 {LngCns: -8} | |
N003 [000108] ADD => $247 {ADD($149, $345)} | |
N004 [000109] LCL_VAR V03 tmp2 d:9 => $247 {ADD($149, $345)} | |
N005 [000110] ASG => $247 {ADD($149, $345)} | |
***** BB05, stmt 20 (after) | |
N002 ( 1, 1) [000107] ------------ /--* CNS_INT long -8 $345 | |
N003 ( 3, 3) [000108] ------------ /--* ADD long $247 | |
N001 ( 1, 1) [000105] ------------ | \--* LCL_VAR long V03 tmp2 u:8 (last use) $149 | |
N005 ( 3, 3) [000110] -A------R--- * ASG long $247 | |
N004 ( 1, 1) [000109] D------N---- \--* LCL_VAR long V03 tmp2 d:9 $247 | |
--------- | |
***** BB05, stmt 21 (before) | |
N012 ( 16, 13) [000124] ---XG------- /--* CAST int <- long | |
N011 ( 15, 11) [000123] ---XG------- | \--* HWIntrinsic long TrailingZeroCount | |
N009 ( 3, 2) [000121] *--XG------- | | /--* IND long | |
N008 ( 1, 1) [000120] ------------ | | | \--* LCL_VAR long V03 tmp2 u:9 | |
N010 ( 14, 10) [000122] ---XG------- | \--* HWIntrinsic long ParallelBitDeposit | |
N004 ( 1, 1) [000117] ------------ | | /--* CNS_INT int 63 | |
N005 ( 5, 5) [000118] ------------ | | /--* AND int | |
N002 ( 1, 1) [000115] ------------ | | | | /--* CNS_INT int -1 | |
N003 ( 3, 3) [000116] ------------ | | | \--* ADD int | |
N001 ( 1, 1) [000114] ------------ | | | \--* LCL_VAR int V05 tmp4 u:4 (last use) | |
N007 ( 10, 7) [000119] --------R--- | \--* LSH long | |
N006 ( 1, 1) [000113] ------------ | \--* CNS_INT long 1 | |
N014 ( 16, 13) [000126] -A-XG---R--- * ASG int | |
N013 ( 1, 1) [000125] D------N---- \--* LCL_VAR int V06 tmp5 d:2 | |
N001 [000114] LCL_VAR V05 tmp4 u:4 (last use) => $283 {PhiDef($5, $4, $20e)} | |
N002 [000115] CNS_INT -1 => $41 {IntCns -1} | |
N003 [000116] ADD => $20f {ADD($41, $283)} | |
N004 [000117] CNS_INT 63 => $4a {IntCns 63} | |
N005 [000118] AND => $210 {AND($4a, $20f)} | |
N006 [000113] CNS_INT 1 => $346 {LngCns: 1} | |
N007 [000119] LSH => $248 {LSH($346, $210)} | |
N008 [000120] LCL_VAR V03 tmp2 u:9 => $247 {ADD($149, $345)} | |
N009 [000121] IND => <l:$14a {ByrefExposedLoad($42, $247, $c0)}, c:$184 {184}> | |
VNForCastOper(int) is $46 | |
N012 [000124] CAST => $211 {Cast($481, $46)} | |
N013 [000125] LCL_VAR V06 tmp5 d:2 => $211 {Cast($481, $46)} | |
N014 [000126] ASG => $211 {Cast($481, $46)} | |
***** BB05, stmt 21 (after) | |
N012 ( 16, 13) [000124] ---XG------- /--* CAST int <- long $211 | |
N011 ( 15, 11) [000123] ---XG------- | \--* HWIntrinsic long TrailingZeroCount $481 | |
N009 ( 3, 2) [000121] *--XG------- | | /--* IND long <l:$14a, c:$184> | |
N008 ( 1, 1) [000120] ------------ | | | \--* LCL_VAR long V03 tmp2 u:9 $247 | |
N010 ( 14, 10) [000122] ---XG------- | \--* HWIntrinsic long ParallelBitDeposit $480 | |
N004 ( 1, 1) [000117] ------------ | | /--* CNS_INT int 63 $4a | |
N005 ( 5, 5) [000118] ------------ | | /--* AND int $210 | |
N002 ( 1, 1) [000115] ------------ | | | | /--* CNS_INT int -1 $41 | |
N003 ( 3, 3) [000116] ------------ | | | \--* ADD int $20f | |
N001 ( 1, 1) [000114] ------------ | | | \--* LCL_VAR int V05 tmp4 u:4 (last use) $283 | |
N007 ( 10, 7) [000119] --------R--- | \--* LSH long $248 | |
N006 ( 1, 1) [000113] ------------ | \--* CNS_INT long 1 $346 | |
N014 ( 16, 13) [000126] -A-XG---R--- * ASG int $211 | |
N013 ( 1, 1) [000125] D------N---- \--* LCL_VAR int V06 tmp5 d:2 $211 | |
--------- | |
***** BB05, stmt 22 (before) | |
N011 ( 30, 14) [000010] ------------ * RETURN int | |
N009 ( 1, 1) [000138] ------------ | /--* LCL_VAR int V06 tmp5 u:2 (last use) | |
N010 ( 29, 13) [000139] ------------ \--* ADD int | |
N007 ( 1, 1) [000135] ------------ | /--* CNS_INT int 6 | |
N008 ( 27, 11) [000136] ------------ \--* LSH int | |
N006 ( 25, 9) [000166] ------------ \--* CAST int <- long | |
N004 ( 1, 1) [000132] ------------ | /--* CNS_INT long 8 | |
N005 ( 24, 7) [000133] ------------ \--* DIV long | |
N002 ( 1, 1) [000129] ------------ | /--* LCL_VAR long V02 tmp1 u:2 (last use) | |
N003 ( 3, 3) [000130] ------------ \--* SUB long | |
N001 ( 1, 1) [000128] ------------ \--* LCL_VAR long V03 tmp2 u:9 (last use) | |
N001 [000128] LCL_VAR V03 tmp2 u:9 (last use) => $247 {ADD($149, $345)} | |
N002 [000129] LCL_VAR V02 tmp1 u:2 (last use) => <l:$140 {ByrefExposedLoad($42, $100, $c0)}, c:$180 {180}> | |
N003 [000130] SUB => <l:$249 {SUB($247, $140)}, c:$24a {SUB($247, $180)}> | |
N004 [000132] CNS_INT 8 => $340 {LngCns: 8} | |
N005 [000133] DIV => <l:$24b {DIV($249, $340)}, c:$24c {DIV($24a, $340)}> | |
VNForCastOper(int) is $46 | |
N006 [000166] CAST => <l:$212 {Cast($24b, $46)}, c:$213 {Cast($24c, $46)}> | |
N007 [000135] CNS_INT 6 => $4b {IntCns 6} | |
N008 [000136] LSH => <l:$214 {LSH($212, $4b)}, c:$215 {LSH($213, $4b)}> | |
N009 [000138] LCL_VAR V06 tmp5 u:2 (last use) => $211 {Cast($481, $46)} | |
N010 [000139] ADD => <l:$216 {ADD($211, $214)}, c:$217 {ADD($211, $215)}> | |
N011 [000010] RETURN => $1c3 {1c3} | |
***** BB05, stmt 22 (after) | |
N011 ( 30, 14) [000010] ------------ * RETURN int $1c3 | |
N009 ( 1, 1) [000138] ------------ | /--* LCL_VAR int V06 tmp5 u:2 (last use) $211 | |
N010 ( 29, 13) [000139] ------------ \--* ADD int <l:$216, c:$217> | |
N007 ( 1, 1) [000135] ------------ | /--* CNS_INT int 6 $4b | |
N008 ( 27, 11) [000136] ------------ \--* LSH int <l:$214, c:$215> | |
N006 ( 25, 9) [000166] ------------ \--* CAST int <- long <l:$212, c:$213> | |
N004 ( 1, 1) [000132] ------------ | /--* CNS_INT long 8 $340 | |
N005 ( 24, 7) [000133] ------------ \--* DIV long <l:$24b, c:$24c> | |
N002 ( 1, 1) [000129] ------------ | /--* LCL_VAR long V02 tmp1 u:2 (last use) <l:$140, c:$180> | |
N003 ( 3, 3) [000130] ------------ \--* SUB long <l:$249, c:$24a> | |
N001 ( 1, 1) [000128] ------------ \--* LCL_VAR long V03 tmp2 u:9 (last use) $247 | |
finish(BB05). | |
*************** In optHoistLoopCode() | |
Blocks/Trees before phase | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
***** BB01, stmt 1 | |
( 5, 12) [000142] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 5, 12) [000001] x---G------- | /--* IND long <l:$140, c:$180> | |
N001 ( 3, 10) [000159] ------------ | | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
N004 ( 5, 12) [000141] -A--G---R--- \--* ASG long <l:$140, c:$180> | |
N003 ( 1, 1) [000140] D------N---- \--* LCL_VAR long V02 tmp1 d:2 <l:$140, c:$180> | |
***** BB01, stmt 2 | |
( 1, 3) [000145] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000003] ------------ | /--* LCL_VAR int V00 arg0 u:2 (last use) $80 | |
N003 ( 1, 3) [000144] -A------R--- \--* ASG int $80 | |
N002 ( 1, 1) [000143] D------N---- \--* LCL_VAR int V04 tmp3 d:2 $80 | |
***** BB01, stmt 3 | |
( 1, 3) [000016] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000013] ------------ | /--* LCL_VAR long V02 tmp1 u:2 <l:$140, c:$180> | |
N003 ( 1, 3) [000015] -A------R--- \--* ASG long <l:$140, c:$180> | |
N002 ( 1, 1) [000014] D------N---- \--* LCL_VAR long V03 tmp2 d:2 <l:$140, c:$180> | |
***** BB01, stmt 4 | |
( 5, 8) [000172] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000171] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000170] ------------ | /--* CNS_INT int 256 $43 | |
N003 ( 3, 6) [000168] J------N---- \--* LT int $200 | |
N001 ( 1, 1) [000169] ------------ \--* LCL_VAR int V04 tmp3 u:2 $80 | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
***** BB02, stmt 5 | |
( 2, 3) [000209] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000207] ------------ | * PHI long | |
N001 ( 0, 0) [000222] ------------ | /--* PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000210] ------------ | \--* PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
N007 ( 2, 3) [000208] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000206] D------N---- \--* LCL_VAR long V03 tmp2 d:3 | |
***** BB02, stmt 6 | |
( 2, 3) [000201] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000199] ------------ | * PHI int | |
N001 ( 0, 0) [000224] ------------ | /--* PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000212] ------------ | \--* PHI_ARG int V04 tmp3 u:2 $80 | |
N007 ( 2, 3) [000200] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000198] D------N---- \--* LCL_VAR int V04 tmp3 d:3 | |
***** BB02, stmt 7 | |
( 28, 31) [000060] ------------ * STMT void (IL 0x000... ???) | |
N024 ( 6, 7) [000161] ---XG------- | /--* CAST int <- long $206 | |
N023 ( 5, 5) [000053] ---XG------- | | \--* HWIntrinsic long PopCount $303 | |
N022 ( 4, 4) [000052] *--XG------- | | \--* IND long <l:$145, c:$2c3> | |
N020 ( 1, 1) [000050] ------------ | | | /--* CNS_INT long 24 $343 | |
N021 ( 2, 2) [000051] -------N---- | | \--* ADD long $243 | |
N019 ( 1, 1) [000045] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N025 ( 26, 29) [000054] ---XG------- | /--* ADD int $207 | |
N017 ( 6, 7) [000163] ---XG------- | | | /--* CAST int <- long $204 | |
N016 ( 5, 5) [000043] ---XG------- | | | | \--* HWIntrinsic long PopCount $302 | |
N015 ( 4, 4) [000042] *--XG------- | | | | \--* IND long <l:$144, c:$2c2> | |
N013 ( 1, 1) [000040] ------------ | | | | | /--* CNS_INT long 16 $342 | |
N014 ( 2, 2) [000041] -------N---- | | | | \--* ADD long $242 | |
N012 ( 1, 1) [000035] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N018 ( 19, 21) [000044] ---XG------- | | \--* ADD int $205 | |
N010 ( 6, 7) [000165] ---XG------- | | | /--* CAST int <- long $202 | |
N009 ( 5, 5) [000033] ---XG------- | | | | \--* HWIntrinsic long PopCount $301 | |
N008 ( 4, 4) [000032] *--XG------- | | | | \--* IND long <l:$143, c:$2c1> | |
N006 ( 1, 1) [000030] ------------ | | | | | /--* CNS_INT long 8 $340 | |
N007 ( 2, 2) [000031] -------N---- | | | | \--* ADD long $241 | |
N005 ( 1, 1) [000028] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N011 ( 12, 13) [000034] ---XG------- | | \--* ADD int $203 | |
N004 ( 5, 5) [000164] ---XG------- | | \--* CAST int <- long $201 | |
N003 ( 4, 3) [000027] ---XG------- | | \--* HWIntrinsic long PopCount $300 | |
N002 ( 3, 2) [000026] *--XG------- | | \--* IND long <l:$142, c:$2c0> | |
N001 ( 1, 1) [000025] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N027 ( 28, 31) [000056] ---XG---R--- | /--* SUB int $208 | |
N026 ( 1, 1) [000024] ------------ | | \--* LCL_VAR int V04 tmp3 u:3 (last use) $280 | |
N029 ( 28, 31) [000059] -A-XG---R--- \--* ASG int $208 | |
N028 ( 1, 1) [000058] D------N---- \--* LCL_VAR int V04 tmp3 d:4 $208 | |
***** BB02, stmt 8 | |
( 3, 3) [000070] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000066] ------------ | /--* CNS_INT long 32 $344 | |
N003 ( 3, 3) [000067] ------------ | /--* ADD long $244 | |
N001 ( 1, 1) [000061] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 (last use) $141 | |
N005 ( 3, 3) [000069] -A------R--- \--* ASG long $244 | |
N004 ( 1, 1) [000068] D------N---- \--* LCL_VAR long V03 tmp2 d:4 $244 | |
***** BB02, stmt 9 | |
( 5, 8) [000022] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000021] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000019] ------------ | /--* CNS_INT int 256 $43 | |
N003 ( 3, 6) [000020] J------N---- \--* GE int $209 | |
N001 ( 1, 1) [000018] ------------ \--* LCL_VAR int V04 tmp3 u:4 $208 | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
***** BB03, stmt 10 | |
( 2, 3) [000205] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000203] ------------ | * PHI long | |
N001 ( 0, 0) [000218] ------------ | /--* PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000214] ------------ | \--* PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
N007 ( 2, 3) [000204] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000202] D------N---- \--* LCL_VAR long V03 tmp2 d:5 | |
***** BB03, stmt 11 | |
( 2, 3) [000197] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000195] ------------ | * PHI int | |
N001 ( 0, 0) [000220] ------------ | /--* PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000216] ------------ | \--* PHI_ARG int V04 tmp3 u:2 $80 | |
N007 ( 2, 3) [000196] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000194] D------N---- \--* LCL_VAR int V04 tmp3 d:5 | |
***** BB03, stmt 12 | |
( 1, 3) [000075] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000072] ------------ | /--* LCL_VAR int V04 tmp3 u:5 $281 | |
N003 ( 1, 3) [000074] -A------R--- \--* ASG int $281 | |
N002 ( 1, 1) [000073] D------N---- \--* LCL_VAR int V05 tmp4 d:2 $281 | |
***** BB03, stmt 13 | |
( 5, 5) [000177] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000176] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000175] ------------ | /--* CNS_INT int 0 $40 | |
N003 ( 3, 3) [000173] J------N---- \--* LE int $20a | |
N001 ( 1, 1) [000174] ------------ \--* LCL_VAR int V04 tmp3 u:5 $281 | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
***** BB04, stmt 14 | |
( 2, 3) [000189] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000187] ------------ | * PHI long | |
N001 ( 0, 0) [000238] ------------ | /--* PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000226] ------------ | \--* PHI_ARG long V03 tmp2 u:5 $146 | |
N007 ( 2, 3) [000188] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000186] D------N---- \--* LCL_VAR long V03 tmp2 d:6 | |
***** BB04, stmt 15 | |
( 2, 3) [000181] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000179] ------------ | * PHI int | |
N001 ( 0, 0) [000240] ------------ | /--* PHI_ARG int V04 tmp3 u:7 | |
N002 ( 0, 0) [000228] ------------ | \--* PHI_ARG int V04 tmp3 u:5 $281 | |
N007 ( 2, 3) [000180] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000178] D------N---- \--* LCL_VAR int V04 tmp3 d:6 | |
***** BB04, stmt 16 | |
( 1, 3) [000086] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000083] ------------ | /--* LCL_VAR int V04 tmp3 u:6 $282 | |
N003 ( 1, 3) [000085] -A------R--- \--* ASG int $282 | |
N002 ( 1, 1) [000084] D------N---- \--* LCL_VAR int V05 tmp4 d:3 $282 | |
***** BB04, stmt 17 | |
( 7, 7) [000096] ------------ * STMT void (IL 0x000... ???) | |
N005 ( 5, 5) [000091] ---XG------- | /--* CAST int <- long $20b | |
N004 ( 4, 3) [000090] ---XG------- | | \--* HWIntrinsic long PopCount $440 | |
N003 ( 3, 2) [000089] *--XG------- | | \--* IND long <l:$148, c:$400> | |
N002 ( 1, 1) [000088] ------------ | | \--* LCL_VAR long V03 tmp2 u:6 $147 | |
N006 ( 7, 7) [000092] ---XG------- | /--* SUB int $20c | |
N001 ( 1, 1) [000087] ------------ | | \--* LCL_VAR int V04 tmp3 u:6 (last use) $282 | |
N008 ( 7, 7) [000095] -A-XG---R--- \--* ASG int $20c | |
N007 ( 1, 1) [000094] D------N---- \--* LCL_VAR int V04 tmp3 d:7 $20c | |
***** BB04, stmt 18 | |
( 3, 3) [000103] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000099] ------------ | /--* CNS_INT long 8 $340 | |
N003 ( 3, 3) [000100] ------------ | /--* ADD long $246 | |
N001 ( 1, 1) [000097] ------------ | | \--* LCL_VAR long V03 tmp2 u:6 (last use) $147 | |
N005 ( 3, 3) [000102] -A------R--- \--* ASG long $246 | |
N004 ( 1, 1) [000101] D------N---- \--* LCL_VAR long V03 tmp2 d:7 $246 | |
***** BB04, stmt 19 | |
( 5, 5) [000081] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000080] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000078] ------------ | /--* CNS_INT int 0 $40 | |
N003 ( 3, 3) [000079] J------N---- \--* GT int $20d | |
N001 ( 1, 1) [000077] ------------ \--* LCL_VAR int V04 tmp3 u:7 $20c | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
***** BB05, stmt 20 | |
( 2, 3) [000193] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000191] ------------ | * PHI int | |
N001 ( 0, 0) [000234] ------------ | /--* PHI_ARG int V05 tmp4 u:3 | |
N002 ( 0, 0) [000230] ------------ | \--* PHI_ARG int V05 tmp4 u:2 $281 | |
N007 ( 2, 3) [000192] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000190] D------N---- \--* LCL_VAR int V05 tmp4 d:4 | |
***** BB05, stmt 21 | |
( 2, 3) [000185] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000183] ------------ | * PHI long | |
N001 ( 0, 0) [000236] ------------ | /--* PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000232] ------------ | \--* PHI_ARG long V03 tmp2 u:5 $146 | |
N007 ( 2, 3) [000184] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000182] D------N---- \--* LCL_VAR long V03 tmp2 d:8 | |
***** BB05, stmt 22 | |
( 3, 3) [000111] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000107] ------------ | /--* CNS_INT long -8 $345 | |
N003 ( 3, 3) [000108] ------------ | /--* ADD long $247 | |
N001 ( 1, 1) [000105] ------------ | | \--* LCL_VAR long V03 tmp2 u:8 (last use) $149 | |
N005 ( 3, 3) [000110] -A------R--- \--* ASG long $247 | |
N004 ( 1, 1) [000109] D------N---- \--* LCL_VAR long V03 tmp2 d:9 $247 | |
***** BB05, stmt 23 | |
( 16, 13) [000127] ------------ * STMT void (IL 0x000... ???) | |
N012 ( 16, 13) [000124] ---XG------- | /--* CAST int <- long $211 | |
N011 ( 15, 11) [000123] ---XG------- | | \--* HWIntrinsic long TrailingZeroCount $481 | |
N009 ( 3, 2) [000121] *--XG------- | | | /--* IND long <l:$14a, c:$184> | |
N008 ( 1, 1) [000120] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:9 $247 | |
N010 ( 14, 10) [000122] ---XG------- | | \--* HWIntrinsic long ParallelBitDeposit $480 | |
N004 ( 1, 1) [000117] ------------ | | | /--* CNS_INT int 63 $4a | |
N005 ( 5, 5) [000118] ------------ | | | /--* AND int $210 | |
N002 ( 1, 1) [000115] ------------ | | | | | /--* CNS_INT int -1 $41 | |
N003 ( 3, 3) [000116] ------------ | | | | \--* ADD int $20f | |
N001 ( 1, 1) [000114] ------------ | | | | \--* LCL_VAR int V05 tmp4 u:4 (last use) $283 | |
N007 ( 10, 7) [000119] --------R--- | | \--* LSH long $248 | |
N006 ( 1, 1) [000113] ------------ | | \--* CNS_INT long 1 $346 | |
N014 ( 16, 13) [000126] -A-XG---R--- \--* ASG int $211 | |
N013 ( 1, 1) [000125] D------N---- \--* LCL_VAR int V06 tmp5 d:2 $211 | |
***** BB05, stmt 24 | |
( 30, 14) [000011] ------------ * STMT void (IL ???... ???) | |
N011 ( 30, 14) [000010] ------------ \--* RETURN int $1c3 | |
N009 ( 1, 1) [000138] ------------ | /--* LCL_VAR int V06 tmp5 u:2 (last use) $211 | |
N010 ( 29, 13) [000139] ------------ \--* ADD int <l:$216, c:$217> | |
N007 ( 1, 1) [000135] ------------ | /--* CNS_INT int 6 $4b | |
N008 ( 27, 11) [000136] ------------ \--* LSH int <l:$214, c:$215> | |
N006 ( 25, 9) [000166] ------------ \--* CAST int <- long <l:$212, c:$213> | |
N004 ( 1, 1) [000132] ------------ | /--* CNS_INT long 8 $340 | |
N005 ( 24, 7) [000133] ------------ \--* DIV long <l:$24b, c:$24c> | |
N002 ( 1, 1) [000129] ------------ | /--* LCL_VAR long V02 tmp1 u:2 (last use) <l:$140, c:$180> | |
N003 ( 3, 3) [000130] ------------ \--* SUB long <l:$249, c:$24a> | |
N001 ( 1, 1) [000128] ------------ \--* LCL_VAR long V03 tmp2 u:9 (last use) $247 | |
------------------------------------------------------------------------------------------------------------------- | |
optHoistLoopCode for loop L00 <BB02..BB02>: | |
Loop body does not contain a call | |
USEDEF (2)={V04 V03} | |
INOUT (3)={V04 V03 V02} | |
LOOPVARS(2)={V04 V03} | |
optHoistLoopExprsForBlock BB02 (weight= 2 ) of loop L00 <BB02..BB02>, firstBlock is true | |
optHoistLoopCode for loop L01 <BB04..BB04>: | |
Loop body does not contain a call | |
USEDEF (3)={V04 V03 V05} | |
INOUT (4)={V04 V03 V02 V05} | |
LOOPVARS(3)={V04 V03 V05} | |
optHoistLoopExprsForBlock BB04 (weight= 2 ) of loop L01 <BB04..BB04>, firstBlock is true | |
*************** In optVnCopyProp() | |
*************** In SsaBuilder::ComputeDominators(Compiler*, ...) | |
Copy Assertion for BB01 | |
curSsaName stack: { } | |
Live vars: {V00} => {V00 V02} | |
Live vars: {V00 V02} => {V02} | |
Live vars: {V02} => {V02 V04} | |
Live vars: {V02 V04} => {V02 V03 V04} | |
Copy Assertion for BB03 | |
curSsaName stack: { 0-[000003]:V00 2-[000140]:V02 3-[000014]:V03 4-[000143]:V04 } | |
Live vars: {V02 V03 V04} => {V02 V03 V04 V05} | |
VN based copy assertion for [000174] V04 @00000281 by [000073] V05 @00000281. | |
N001 ( 1, 1) [000174] ------------ * LCL_VAR int V04 tmp3 u:5 $281 | |
New refCnts for V04: refCnt = 10, refCntWtd = 33 | |
New refCnts for V05: refCnt = 4, refCntWtd = 4 | |
copy propagated to: | |
N001 ( 1, 1) [000174] ------------ * LCL_VAR int V05 tmp4 u:2 $281 | |
Copy Assertion for BB05 | |
curSsaName stack: { 0-[000003]:V00 2-[000140]:V02 3-[000202]:V03 4-[000194]:V04 5-[000073]:V05 } | |
Live vars: {V02 V03 V05} => {V02 V05} | |
Live vars: {V02 V05} => {V02 V03 V05} | |
Live vars: {V02 V03 V05} => {V02 V03} | |
Live vars: {V02 V03} => {V02 V03 V06} | |
Live vars: {V02 V03 V06} => {V02 V06} | |
Live vars: {V02 V06} => {V06} | |
Live vars: {V06} => {} | |
Copy Assertion for BB04 | |
curSsaName stack: { 0-[000003]:V00 2-[000140]:V02 3-[000202]:V03 4-[000194]:V04 5-[000073]:V05 } | |
Live vars: {V02 V03 V04} => {V02 V03 V04 V05} | |
Live vars: {V02 V03 V04 V05} => {V02 V03 V05} | |
VN based copy assertion for [000087] V04 @00000282 by [000084] V05 @00000282. | |
N001 ( 1, 1) [000087] ------------ * LCL_VAR int V04 tmp3 u:6 (last use) $282 | |
New refCnts for V04: refCnt = 9, refCntWtd = 29 | |
New refCnts for V05: refCnt = 5, refCntWtd = 6 | |
copy propagated to: | |
N001 ( 1, 1) [000087] ------------ * LCL_VAR int V05 tmp4 u:3 (last use) $282 | |
Live vars: {V02 V03 V05} => {V02 V03 V04 V05} | |
Live vars: {V02 V03 V04 V05} => {V02 V04 V05} | |
Live vars: {V02 V04 V05} => {V02 V03 V04 V05} | |
Copy Assertion for BB02 | |
curSsaName stack: { 0-[000003]:V00 2-[000140]:V02 3-[000014]:V03 4-[000143]:V04 } | |
Live vars: {V02 V03 V04} => {V02 V03} | |
Live vars: {V02 V03} => {V02 V03 V04} | |
Live vars: {V02 V03 V04} => {V02 V04} | |
Live vars: {V02 V04} => {V02 V03 V04} | |
*************** In optOptimizeCSEs() | |
Blocks/Trees at start of optOptimizeCSE phase | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
***** BB01, stmt 1 | |
( 5, 12) [000142] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 5, 12) [000001] x---G------- | /--* IND long <l:$140, c:$180> | |
N001 ( 3, 10) [000159] ------------ | | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
N004 ( 5, 12) [000141] -A--G---R--- \--* ASG long <l:$140, c:$180> | |
N003 ( 1, 1) [000140] D------N---- \--* LCL_VAR long V02 tmp1 d:2 <l:$140, c:$180> | |
***** BB01, stmt 2 | |
( 1, 3) [000145] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000003] ------------ | /--* LCL_VAR int V00 arg0 u:2 (last use) $80 | |
N003 ( 1, 3) [000144] -A------R--- \--* ASG int $80 | |
N002 ( 1, 1) [000143] D------N---- \--* LCL_VAR int V04 tmp3 d:2 $80 | |
***** BB01, stmt 3 | |
( 1, 3) [000016] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000013] ------------ | /--* LCL_VAR long V02 tmp1 u:2 <l:$140, c:$180> | |
N003 ( 1, 3) [000015] -A------R--- \--* ASG long <l:$140, c:$180> | |
N002 ( 1, 1) [000014] D------N---- \--* LCL_VAR long V03 tmp2 d:2 <l:$140, c:$180> | |
***** BB01, stmt 4 | |
( 5, 8) [000172] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000171] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000170] ------------ | /--* CNS_INT int 256 $43 | |
N003 ( 3, 6) [000168] J------N---- \--* LT int $200 | |
N001 ( 1, 1) [000169] ------------ \--* LCL_VAR int V04 tmp3 u:2 $80 | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
***** BB02, stmt 5 | |
( 2, 3) [000209] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000207] ------------ | * PHI long | |
N001 ( 0, 0) [000222] ------------ | /--* PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000210] ------------ | \--* PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
N007 ( 2, 3) [000208] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000206] D------N---- \--* LCL_VAR long V03 tmp2 d:3 | |
***** BB02, stmt 6 | |
( 2, 3) [000201] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000199] ------------ | * PHI int | |
N001 ( 0, 0) [000224] ------------ | /--* PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000212] ------------ | \--* PHI_ARG int V04 tmp3 u:2 $80 | |
N007 ( 2, 3) [000200] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000198] D------N---- \--* LCL_VAR int V04 tmp3 d:3 | |
***** BB02, stmt 7 | |
( 28, 31) [000060] ------------ * STMT void (IL 0x000... ???) | |
N024 ( 6, 7) [000161] ---XG------- | /--* CAST int <- long $206 | |
N023 ( 5, 5) [000053] ---XG------- | | \--* HWIntrinsic long PopCount $303 | |
N022 ( 4, 4) [000052] *--XG------- | | \--* IND long <l:$145, c:$2c3> | |
N020 ( 1, 1) [000050] ------------ | | | /--* CNS_INT long 24 $343 | |
N021 ( 2, 2) [000051] -------N---- | | \--* ADD long $243 | |
N019 ( 1, 1) [000045] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N025 ( 26, 29) [000054] ---XG------- | /--* ADD int $207 | |
N017 ( 6, 7) [000163] ---XG------- | | | /--* CAST int <- long $204 | |
N016 ( 5, 5) [000043] ---XG------- | | | | \--* HWIntrinsic long PopCount $302 | |
N015 ( 4, 4) [000042] *--XG------- | | | | \--* IND long <l:$144, c:$2c2> | |
N013 ( 1, 1) [000040] ------------ | | | | | /--* CNS_INT long 16 $342 | |
N014 ( 2, 2) [000041] -------N---- | | | | \--* ADD long $242 | |
N012 ( 1, 1) [000035] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N018 ( 19, 21) [000044] ---XG------- | | \--* ADD int $205 | |
N010 ( 6, 7) [000165] ---XG------- | | | /--* CAST int <- long $202 | |
N009 ( 5, 5) [000033] ---XG------- | | | | \--* HWIntrinsic long PopCount $301 | |
N008 ( 4, 4) [000032] *--XG------- | | | | \--* IND long <l:$143, c:$2c1> | |
N006 ( 1, 1) [000030] ------------ | | | | | /--* CNS_INT long 8 $340 | |
N007 ( 2, 2) [000031] -------N---- | | | | \--* ADD long $241 | |
N005 ( 1, 1) [000028] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N011 ( 12, 13) [000034] ---XG------- | | \--* ADD int $203 | |
N004 ( 5, 5) [000164] ---XG------- | | \--* CAST int <- long $201 | |
N003 ( 4, 3) [000027] ---XG------- | | \--* HWIntrinsic long PopCount $300 | |
N002 ( 3, 2) [000026] *--XG------- | | \--* IND long <l:$142, c:$2c0> | |
N001 ( 1, 1) [000025] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N027 ( 28, 31) [000056] ---XG---R--- | /--* SUB int $208 | |
N026 ( 1, 1) [000024] ------------ | | \--* LCL_VAR int V04 tmp3 u:3 (last use) $280 | |
N029 ( 28, 31) [000059] -A-XG---R--- \--* ASG int $208 | |
N028 ( 1, 1) [000058] D------N---- \--* LCL_VAR int V04 tmp3 d:4 $208 | |
***** BB02, stmt 8 | |
( 3, 3) [000070] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000066] ------------ | /--* CNS_INT long 32 $344 | |
N003 ( 3, 3) [000067] ------------ | /--* ADD long $244 | |
N001 ( 1, 1) [000061] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 (last use) $141 | |
N005 ( 3, 3) [000069] -A------R--- \--* ASG long $244 | |
N004 ( 1, 1) [000068] D------N---- \--* LCL_VAR long V03 tmp2 d:4 $244 | |
***** BB02, stmt 9 | |
( 5, 8) [000022] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000021] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000019] ------------ | /--* CNS_INT int 256 $43 | |
N003 ( 3, 6) [000020] J------N---- \--* GE int $209 | |
N001 ( 1, 1) [000018] ------------ \--* LCL_VAR int V04 tmp3 u:4 $208 | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
***** BB03, stmt 10 | |
( 2, 3) [000205] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000203] ------------ | * PHI long | |
N001 ( 0, 0) [000218] ------------ | /--* PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000214] ------------ | \--* PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
N007 ( 2, 3) [000204] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000202] D------N---- \--* LCL_VAR long V03 tmp2 d:5 | |
***** BB03, stmt 11 | |
( 2, 3) [000197] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000195] ------------ | * PHI int | |
N001 ( 0, 0) [000220] ------------ | /--* PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000216] ------------ | \--* PHI_ARG int V04 tmp3 u:2 $80 | |
N007 ( 2, 3) [000196] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000194] D------N---- \--* LCL_VAR int V04 tmp3 d:5 | |
***** BB03, stmt 12 | |
( 1, 3) [000075] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000072] ------------ | /--* LCL_VAR int V04 tmp3 u:5 $281 | |
N003 ( 1, 3) [000074] -A------R--- \--* ASG int $281 | |
N002 ( 1, 1) [000073] D------N---- \--* LCL_VAR int V05 tmp4 d:2 $281 | |
***** BB03, stmt 13 | |
( 5, 5) [000177] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000176] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000175] ------------ | /--* CNS_INT int 0 $40 | |
N003 ( 3, 3) [000173] J------N---- \--* LE int $20a | |
N001 ( 1, 1) [000174] ------------ \--* LCL_VAR int V05 tmp4 u:2 $281 | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
***** BB04, stmt 14 | |
( 2, 3) [000189] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000187] ------------ | * PHI long | |
N001 ( 0, 0) [000238] ------------ | /--* PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000226] ------------ | \--* PHI_ARG long V03 tmp2 u:5 $146 | |
N007 ( 2, 3) [000188] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000186] D------N---- \--* LCL_VAR long V03 tmp2 d:6 | |
***** BB04, stmt 15 | |
( 2, 3) [000181] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000179] ------------ | * PHI int | |
N001 ( 0, 0) [000240] ------------ | /--* PHI_ARG int V04 tmp3 u:7 | |
N002 ( 0, 0) [000228] ------------ | \--* PHI_ARG int V04 tmp3 u:5 $281 | |
N007 ( 2, 3) [000180] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000178] D------N---- \--* LCL_VAR int V04 tmp3 d:6 | |
***** BB04, stmt 16 | |
( 1, 3) [000086] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000083] ------------ | /--* LCL_VAR int V04 tmp3 u:6 $282 | |
N003 ( 1, 3) [000085] -A------R--- \--* ASG int $282 | |
N002 ( 1, 1) [000084] D------N---- \--* LCL_VAR int V05 tmp4 d:3 $282 | |
***** BB04, stmt 17 | |
( 7, 7) [000096] ------------ * STMT void (IL 0x000... ???) | |
N005 ( 5, 5) [000091] ---XG------- | /--* CAST int <- long $20b | |
N004 ( 4, 3) [000090] ---XG------- | | \--* HWIntrinsic long PopCount $440 | |
N003 ( 3, 2) [000089] *--XG------- | | \--* IND long <l:$148, c:$400> | |
N002 ( 1, 1) [000088] ------------ | | \--* LCL_VAR long V03 tmp2 u:6 $147 | |
N006 ( 7, 7) [000092] ---XG------- | /--* SUB int $20c | |
N001 ( 1, 1) [000087] ------------ | | \--* LCL_VAR int V05 tmp4 u:3 (last use) $282 | |
N008 ( 7, 7) [000095] -A-XG---R--- \--* ASG int $20c | |
N007 ( 1, 1) [000094] D------N---- \--* LCL_VAR int V04 tmp3 d:7 $20c | |
***** BB04, stmt 18 | |
( 3, 3) [000103] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000099] ------------ | /--* CNS_INT long 8 $340 | |
N003 ( 3, 3) [000100] ------------ | /--* ADD long $246 | |
N001 ( 1, 1) [000097] ------------ | | \--* LCL_VAR long V03 tmp2 u:6 (last use) $147 | |
N005 ( 3, 3) [000102] -A------R--- \--* ASG long $246 | |
N004 ( 1, 1) [000101] D------N---- \--* LCL_VAR long V03 tmp2 d:7 $246 | |
***** BB04, stmt 19 | |
( 5, 5) [000081] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000080] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000078] ------------ | /--* CNS_INT int 0 $40 | |
N003 ( 3, 3) [000079] J------N---- \--* GT int $20d | |
N001 ( 1, 1) [000077] ------------ \--* LCL_VAR int V04 tmp3 u:7 $20c | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
***** BB05, stmt 20 | |
( 2, 3) [000193] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000191] ------------ | * PHI int | |
N001 ( 0, 0) [000234] ------------ | /--* PHI_ARG int V05 tmp4 u:3 | |
N002 ( 0, 0) [000230] ------------ | \--* PHI_ARG int V05 tmp4 u:2 $281 | |
N007 ( 2, 3) [000192] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000190] D------N---- \--* LCL_VAR int V05 tmp4 d:4 | |
***** BB05, stmt 21 | |
( 2, 3) [000185] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000183] ------------ | * PHI long | |
N001 ( 0, 0) [000236] ------------ | /--* PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000232] ------------ | \--* PHI_ARG long V03 tmp2 u:5 $146 | |
N007 ( 2, 3) [000184] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000182] D------N---- \--* LCL_VAR long V03 tmp2 d:8 | |
***** BB05, stmt 22 | |
( 3, 3) [000111] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000107] ------------ | /--* CNS_INT long -8 $345 | |
N003 ( 3, 3) [000108] ------------ | /--* ADD long $247 | |
N001 ( 1, 1) [000105] ------------ | | \--* LCL_VAR long V03 tmp2 u:8 (last use) $149 | |
N005 ( 3, 3) [000110] -A------R--- \--* ASG long $247 | |
N004 ( 1, 1) [000109] D------N---- \--* LCL_VAR long V03 tmp2 d:9 $247 | |
***** BB05, stmt 23 | |
( 16, 13) [000127] ------------ * STMT void (IL 0x000... ???) | |
N012 ( 16, 13) [000124] ---XG------- | /--* CAST int <- long $211 | |
N011 ( 15, 11) [000123] ---XG------- | | \--* HWIntrinsic long TrailingZeroCount $481 | |
N009 ( 3, 2) [000121] *--XG------- | | | /--* IND long <l:$14a, c:$184> | |
N008 ( 1, 1) [000120] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:9 $247 | |
N010 ( 14, 10) [000122] ---XG------- | | \--* HWIntrinsic long ParallelBitDeposit $480 | |
N004 ( 1, 1) [000117] ------------ | | | /--* CNS_INT int 63 $4a | |
N005 ( 5, 5) [000118] ------------ | | | /--* AND int $210 | |
N002 ( 1, 1) [000115] ------------ | | | | | /--* CNS_INT int -1 $41 | |
N003 ( 3, 3) [000116] ------------ | | | | \--* ADD int $20f | |
N001 ( 1, 1) [000114] ------------ | | | | \--* LCL_VAR int V05 tmp4 u:4 (last use) $283 | |
N007 ( 10, 7) [000119] --------R--- | | \--* LSH long $248 | |
N006 ( 1, 1) [000113] ------------ | | \--* CNS_INT long 1 $346 | |
N014 ( 16, 13) [000126] -A-XG---R--- \--* ASG int $211 | |
N013 ( 1, 1) [000125] D------N---- \--* LCL_VAR int V06 tmp5 d:2 $211 | |
***** BB05, stmt 24 | |
( 30, 14) [000011] ------------ * STMT void (IL ???... ???) | |
N011 ( 30, 14) [000010] ------------ \--* RETURN int $1c3 | |
N009 ( 1, 1) [000138] ------------ | /--* LCL_VAR int V06 tmp5 u:2 (last use) $211 | |
N010 ( 29, 13) [000139] ------------ \--* ADD int <l:$216, c:$217> | |
N007 ( 1, 1) [000135] ------------ | /--* CNS_INT int 6 $4b | |
N008 ( 27, 11) [000136] ------------ \--* LSH int <l:$214, c:$215> | |
N006 ( 25, 9) [000166] ------------ \--* CAST int <- long <l:$212, c:$213> | |
N004 ( 1, 1) [000132] ------------ | /--* CNS_INT long 8 $340 | |
N005 ( 24, 7) [000133] ------------ \--* DIV long <l:$24b, c:$24c> | |
N002 ( 1, 1) [000129] ------------ | /--* LCL_VAR long V02 tmp1 u:2 (last use) <l:$140, c:$180> | |
N003 ( 3, 3) [000130] ------------ \--* SUB long <l:$249, c:$24a> | |
N001 ( 1, 1) [000128] ------------ \--* LCL_VAR long V03 tmp2 u:9 (last use) $247 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In optOptimizeValnumCSEs() | |
*************** In optAssertionPropMain() | |
Blocks/Trees at start of phase | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
***** BB01, stmt 1 | |
( 5, 12) [000142] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 5, 12) [000001] x---G------- | /--* IND long <l:$140, c:$180> | |
N001 ( 3, 10) [000159] ------------ | | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
N004 ( 5, 12) [000141] -A--G---R--- \--* ASG long <l:$140, c:$180> | |
N003 ( 1, 1) [000140] D------N---- \--* LCL_VAR long V02 tmp1 d:2 <l:$140, c:$180> | |
***** BB01, stmt 2 | |
( 1, 3) [000145] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000003] ------------ | /--* LCL_VAR int V00 arg0 u:2 (last use) $80 | |
N003 ( 1, 3) [000144] -A------R--- \--* ASG int $80 | |
N002 ( 1, 1) [000143] D------N---- \--* LCL_VAR int V04 tmp3 d:2 $80 | |
***** BB01, stmt 3 | |
( 1, 3) [000016] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000013] ------------ | /--* LCL_VAR long V02 tmp1 u:2 <l:$140, c:$180> | |
N003 ( 1, 3) [000015] -A------R--- \--* ASG long <l:$140, c:$180> | |
N002 ( 1, 1) [000014] D------N---- \--* LCL_VAR long V03 tmp2 d:2 <l:$140, c:$180> | |
***** BB01, stmt 4 | |
( 5, 8) [000172] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000171] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000170] ------------ | /--* CNS_INT int 256 $43 | |
N003 ( 3, 6) [000168] J------N---- \--* LT int $200 | |
N001 ( 1, 1) [000169] ------------ \--* LCL_VAR int V04 tmp3 u:2 $80 | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
***** BB02, stmt 5 | |
( 2, 3) [000209] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000207] ------------ | * PHI long | |
N001 ( 0, 0) [000222] ------------ | /--* PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000210] ------------ | \--* PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
N007 ( 2, 3) [000208] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000206] D------N---- \--* LCL_VAR long V03 tmp2 d:3 | |
***** BB02, stmt 6 | |
( 2, 3) [000201] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000199] ------------ | * PHI int | |
N001 ( 0, 0) [000224] ------------ | /--* PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000212] ------------ | \--* PHI_ARG int V04 tmp3 u:2 $80 | |
N007 ( 2, 3) [000200] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000198] D------N---- \--* LCL_VAR int V04 tmp3 d:3 | |
***** BB02, stmt 7 | |
( 28, 31) [000060] ------------ * STMT void (IL 0x000... ???) | |
N024 ( 6, 7) [000161] ---XG------- | /--* CAST int <- long $206 | |
N023 ( 5, 5) [000053] ---XG------- | | \--* HWIntrinsic long PopCount $303 | |
N022 ( 4, 4) [000052] *--XG------- | | \--* IND long <l:$145, c:$2c3> | |
N020 ( 1, 1) [000050] ------------ | | | /--* CNS_INT long 24 $343 | |
N021 ( 2, 2) [000051] -------N---- | | \--* ADD long $243 | |
N019 ( 1, 1) [000045] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N025 ( 26, 29) [000054] ---XG------- | /--* ADD int $207 | |
N017 ( 6, 7) [000163] ---XG------- | | | /--* CAST int <- long $204 | |
N016 ( 5, 5) [000043] ---XG------- | | | | \--* HWIntrinsic long PopCount $302 | |
N015 ( 4, 4) [000042] *--XG------- | | | | \--* IND long <l:$144, c:$2c2> | |
N013 ( 1, 1) [000040] ------------ | | | | | /--* CNS_INT long 16 $342 | |
N014 ( 2, 2) [000041] -------N---- | | | | \--* ADD long $242 | |
N012 ( 1, 1) [000035] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N018 ( 19, 21) [000044] ---XG------- | | \--* ADD int $205 | |
N010 ( 6, 7) [000165] ---XG------- | | | /--* CAST int <- long $202 | |
N009 ( 5, 5) [000033] ---XG------- | | | | \--* HWIntrinsic long PopCount $301 | |
N008 ( 4, 4) [000032] *--XG------- | | | | \--* IND long <l:$143, c:$2c1> | |
N006 ( 1, 1) [000030] ------------ | | | | | /--* CNS_INT long 8 $340 | |
N007 ( 2, 2) [000031] -------N---- | | | | \--* ADD long $241 | |
N005 ( 1, 1) [000028] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N011 ( 12, 13) [000034] ---XG------- | | \--* ADD int $203 | |
N004 ( 5, 5) [000164] ---XG------- | | \--* CAST int <- long $201 | |
N003 ( 4, 3) [000027] ---XG------- | | \--* HWIntrinsic long PopCount $300 | |
N002 ( 3, 2) [000026] *--XG------- | | \--* IND long <l:$142, c:$2c0> | |
N001 ( 1, 1) [000025] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N027 ( 28, 31) [000056] ---XG---R--- | /--* SUB int $208 | |
N026 ( 1, 1) [000024] ------------ | | \--* LCL_VAR int V04 tmp3 u:3 (last use) $280 | |
N029 ( 28, 31) [000059] -A-XG---R--- \--* ASG int $208 | |
N028 ( 1, 1) [000058] D------N---- \--* LCL_VAR int V04 tmp3 d:4 $208 | |
***** BB02, stmt 8 | |
( 3, 3) [000070] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000066] ------------ | /--* CNS_INT long 32 $344 | |
N003 ( 3, 3) [000067] ------------ | /--* ADD long $244 | |
N001 ( 1, 1) [000061] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 (last use) $141 | |
N005 ( 3, 3) [000069] -A------R--- \--* ASG long $244 | |
N004 ( 1, 1) [000068] D------N---- \--* LCL_VAR long V03 tmp2 d:4 $244 | |
***** BB02, stmt 9 | |
( 5, 8) [000022] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000021] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000019] ------------ | /--* CNS_INT int 256 $43 | |
N003 ( 3, 6) [000020] J------N---- \--* GE int $209 | |
N001 ( 1, 1) [000018] ------------ \--* LCL_VAR int V04 tmp3 u:4 $208 | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
***** BB03, stmt 10 | |
( 2, 3) [000205] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000203] ------------ | * PHI long | |
N001 ( 0, 0) [000218] ------------ | /--* PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000214] ------------ | \--* PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
N007 ( 2, 3) [000204] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000202] D------N---- \--* LCL_VAR long V03 tmp2 d:5 | |
***** BB03, stmt 11 | |
( 2, 3) [000197] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000195] ------------ | * PHI int | |
N001 ( 0, 0) [000220] ------------ | /--* PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000216] ------------ | \--* PHI_ARG int V04 tmp3 u:2 $80 | |
N007 ( 2, 3) [000196] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000194] D------N---- \--* LCL_VAR int V04 tmp3 d:5 | |
***** BB03, stmt 12 | |
( 1, 3) [000075] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000072] ------------ | /--* LCL_VAR int V04 tmp3 u:5 $281 | |
N003 ( 1, 3) [000074] -A------R--- \--* ASG int $281 | |
N002 ( 1, 1) [000073] D------N---- \--* LCL_VAR int V05 tmp4 d:2 $281 | |
***** BB03, stmt 13 | |
( 5, 5) [000177] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000176] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000175] ------------ | /--* CNS_INT int 0 $40 | |
N003 ( 3, 3) [000173] J------N---- \--* LE int $20a | |
N001 ( 1, 1) [000174] ------------ \--* LCL_VAR int V05 tmp4 u:2 $281 | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
***** BB04, stmt 14 | |
( 2, 3) [000189] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000187] ------------ | * PHI long | |
N001 ( 0, 0) [000238] ------------ | /--* PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000226] ------------ | \--* PHI_ARG long V03 tmp2 u:5 $146 | |
N007 ( 2, 3) [000188] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000186] D------N---- \--* LCL_VAR long V03 tmp2 d:6 | |
***** BB04, stmt 15 | |
( 2, 3) [000181] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000179] ------------ | * PHI int | |
N001 ( 0, 0) [000240] ------------ | /--* PHI_ARG int V04 tmp3 u:7 | |
N002 ( 0, 0) [000228] ------------ | \--* PHI_ARG int V04 tmp3 u:5 $281 | |
N007 ( 2, 3) [000180] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000178] D------N---- \--* LCL_VAR int V04 tmp3 d:6 | |
***** BB04, stmt 16 | |
( 1, 3) [000086] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000083] ------------ | /--* LCL_VAR int V04 tmp3 u:6 $282 | |
N003 ( 1, 3) [000085] -A------R--- \--* ASG int $282 | |
N002 ( 1, 1) [000084] D------N---- \--* LCL_VAR int V05 tmp4 d:3 $282 | |
***** BB04, stmt 17 | |
( 7, 7) [000096] ------------ * STMT void (IL 0x000... ???) | |
N005 ( 5, 5) [000091] ---XG------- | /--* CAST int <- long $20b | |
N004 ( 4, 3) [000090] ---XG------- | | \--* HWIntrinsic long PopCount $440 | |
N003 ( 3, 2) [000089] *--XG------- | | \--* IND long <l:$148, c:$400> | |
N002 ( 1, 1) [000088] ------------ | | \--* LCL_VAR long V03 tmp2 u:6 $147 | |
N006 ( 7, 7) [000092] ---XG------- | /--* SUB int $20c | |
N001 ( 1, 1) [000087] ------------ | | \--* LCL_VAR int V05 tmp4 u:3 (last use) $282 | |
N008 ( 7, 7) [000095] -A-XG---R--- \--* ASG int $20c | |
N007 ( 1, 1) [000094] D------N---- \--* LCL_VAR int V04 tmp3 d:7 $20c | |
***** BB04, stmt 18 | |
( 3, 3) [000103] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000099] ------------ | /--* CNS_INT long 8 $340 | |
N003 ( 3, 3) [000100] ------------ | /--* ADD long $246 | |
N001 ( 1, 1) [000097] ------------ | | \--* LCL_VAR long V03 tmp2 u:6 (last use) $147 | |
N005 ( 3, 3) [000102] -A------R--- \--* ASG long $246 | |
N004 ( 1, 1) [000101] D------N---- \--* LCL_VAR long V03 tmp2 d:7 $246 | |
***** BB04, stmt 19 | |
( 5, 5) [000081] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000080] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000078] ------------ | /--* CNS_INT int 0 $40 | |
N003 ( 3, 3) [000079] J------N---- \--* GT int $20d | |
N001 ( 1, 1) [000077] ------------ \--* LCL_VAR int V04 tmp3 u:7 $20c | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
***** BB05, stmt 20 | |
( 2, 3) [000193] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000191] ------------ | * PHI int | |
N001 ( 0, 0) [000234] ------------ | /--* PHI_ARG int V05 tmp4 u:3 | |
N002 ( 0, 0) [000230] ------------ | \--* PHI_ARG int V05 tmp4 u:2 $281 | |
N007 ( 2, 3) [000192] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000190] D------N---- \--* LCL_VAR int V05 tmp4 d:4 | |
***** BB05, stmt 21 | |
( 2, 3) [000185] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000183] ------------ | * PHI long | |
N001 ( 0, 0) [000236] ------------ | /--* PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000232] ------------ | \--* PHI_ARG long V03 tmp2 u:5 $146 | |
N007 ( 2, 3) [000184] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000182] D------N---- \--* LCL_VAR long V03 tmp2 d:8 | |
***** BB05, stmt 22 | |
( 3, 3) [000111] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000107] ------------ | /--* CNS_INT long -8 $345 | |
N003 ( 3, 3) [000108] ------------ | /--* ADD long $247 | |
N001 ( 1, 1) [000105] ------------ | | \--* LCL_VAR long V03 tmp2 u:8 (last use) $149 | |
N005 ( 3, 3) [000110] -A------R--- \--* ASG long $247 | |
N004 ( 1, 1) [000109] D------N---- \--* LCL_VAR long V03 tmp2 d:9 $247 | |
***** BB05, stmt 23 | |
( 16, 13) [000127] ------------ * STMT void (IL 0x000... ???) | |
N012 ( 16, 13) [000124] ---XG------- | /--* CAST int <- long $211 | |
N011 ( 15, 11) [000123] ---XG------- | | \--* HWIntrinsic long TrailingZeroCount $481 | |
N009 ( 3, 2) [000121] *--XG------- | | | /--* IND long <l:$14a, c:$184> | |
N008 ( 1, 1) [000120] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:9 $247 | |
N010 ( 14, 10) [000122] ---XG------- | | \--* HWIntrinsic long ParallelBitDeposit $480 | |
N004 ( 1, 1) [000117] ------------ | | | /--* CNS_INT int 63 $4a | |
N005 ( 5, 5) [000118] ------------ | | | /--* AND int $210 | |
N002 ( 1, 1) [000115] ------------ | | | | | /--* CNS_INT int -1 $41 | |
N003 ( 3, 3) [000116] ------------ | | | | \--* ADD int $20f | |
N001 ( 1, 1) [000114] ------------ | | | | \--* LCL_VAR int V05 tmp4 u:4 (last use) $283 | |
N007 ( 10, 7) [000119] --------R--- | | \--* LSH long $248 | |
N006 ( 1, 1) [000113] ------------ | | \--* CNS_INT long 1 $346 | |
N014 ( 16, 13) [000126] -A-XG---R--- \--* ASG int $211 | |
N013 ( 1, 1) [000125] D------N---- \--* LCL_VAR int V06 tmp5 d:2 $211 | |
***** BB05, stmt 24 | |
( 30, 14) [000011] ------------ * STMT void (IL ???... ???) | |
N011 ( 30, 14) [000010] ------------ \--* RETURN int $1c3 | |
N009 ( 1, 1) [000138] ------------ | /--* LCL_VAR int V06 tmp5 u:2 (last use) $211 | |
N010 ( 29, 13) [000139] ------------ \--* ADD int <l:$216, c:$217> | |
N007 ( 1, 1) [000135] ------------ | /--* CNS_INT int 6 $4b | |
N008 ( 27, 11) [000136] ------------ \--* LSH int <l:$214, c:$215> | |
N006 ( 25, 9) [000166] ------------ \--* CAST int <- long <l:$212, c:$213> | |
N004 ( 1, 1) [000132] ------------ | /--* CNS_INT long 8 $340 | |
N005 ( 24, 7) [000133] ------------ \--* DIV long <l:$24b, c:$24c> | |
N002 ( 1, 1) [000129] ------------ | /--* LCL_VAR long V02 tmp1 u:2 (last use) <l:$140, c:$180> | |
N003 ( 3, 3) [000130] ------------ \--* SUB long <l:$249, c:$24a> | |
N001 ( 1, 1) [000128] ------------ \--* LCL_VAR long V03 tmp2 u:9 (last use) $247 | |
------------------------------------------------------------------------------------------------------------------- | |
GenTreeNode creates assertion: | |
N004 ( 5, 8) [000171] ------------ * JTRUE void | |
In BB01 New Global Constant Assertion: (512, 64) ($200,$40) Loop_Bnd {LT($80, $43)} is not {IntCns 0} index=#01, mask=0000000000000001 | |
GenTreeNode creates assertion: | |
N004 ( 5, 8) [000171] ------------ * JTRUE void | |
In BB01 New Global Constant Assertion: (512, 64) ($200,$40) Loop_Bnd {LT($80, $43)} is {IntCns 0} index=#02, mask=0000000000000002 | |
GenTreeNode creates assertion: | |
N004 ( 5, 8) [000021] ------------ * JTRUE void | |
In BB02 New Global Constant Assertion: (521, 64) ($209,$40) Loop_Bnd {GE($208, $43)} is not {IntCns 0} index=#03, mask=0000000000000004 | |
GenTreeNode creates assertion: | |
N004 ( 5, 8) [000021] ------------ * JTRUE void | |
In BB02 New Global Constant Assertion: (521, 64) ($209,$40) Loop_Bnd {GE($208, $43)} is {IntCns 0} index=#04, mask=0000000000000008 | |
GenTreeNode creates assertion: | |
N004 ( 5, 5) [000176] ------------ * JTRUE void | |
In BB03 New Global Constant Assertion: (522, 64) ($20a,$40) Loop_Bnd {LE($281, $40)} is not {IntCns 0} index=#05, mask=0000000000000010 | |
GenTreeNode creates assertion: | |
N004 ( 5, 5) [000176] ------------ * JTRUE void | |
In BB03 New Global Constant Assertion: (522, 64) ($20a,$40) Loop_Bnd {LE($281, $40)} is {IntCns 0} index=#06, mask=0000000000000020 | |
GenTreeNode creates assertion: | |
N004 ( 5, 5) [000080] ------------ * JTRUE void | |
In BB04 New Global Constant Assertion: (525, 64) ($20d,$40) Loop_Bnd {GT($20c, $40)} is not {IntCns 0} index=#07, mask=0000000000000040 | |
GenTreeNode creates assertion: | |
N004 ( 5, 5) [000080] ------------ * JTRUE void | |
In BB04 New Global Constant Assertion: (525, 64) ($20d,$40) Loop_Bnd {GT($20c, $40)} is {IntCns 0} index=#08, mask=0000000000000080 | |
BB01 valueGen = 0000000000000002 => BB03 valueGen = 0000000000000001, | |
BB02 valueGen = 0000000000000008 => BB02 valueGen = 0000000000000004, | |
BB03 valueGen = 0000000000000020 => BB05 valueGen = 0000000000000010, | |
BB04 valueGen = 0000000000000080 => BB04 valueGen = 0000000000000040, | |
BB05 valueGen = 0000000000000000AssertionPropCallback::StartMerge: BB01 in -> 0000000000000000 | |
AssertionPropCallback::EndMerge : BB01 in -> 0000000000000000 | |
AssertionPropCallback::Changed : BB01 before out -> 00000000000000FF; after out -> 0000000000000002; | |
jumpDest before out -> 00000000000000FF; jumpDest after out -> 0000000000000001; | |
AssertionPropCallback::StartMerge: BB02 in -> 00000000000000FF | |
AssertionPropCallback::Merge : BB02 in -> 00000000000000FF, predBlock BB01 out -> 0000000000000002 | |
AssertionPropCallback::Merge : BB02 in -> 0000000000000002, predBlock BB02 out -> 00000000000000FF | |
AssertionPropCallback::EndMerge : BB02 in -> 0000000000000002 | |
AssertionPropCallback::Changed : BB02 before out -> 00000000000000FF; after out -> 000000000000000A; | |
jumpDest before out -> 00000000000000FF; jumpDest after out -> 0000000000000006; | |
AssertionPropCallback::StartMerge: BB03 in -> 00000000000000FF | |
AssertionPropCallback::Merge : BB03 in -> 00000000000000FF, predBlock BB01 out -> 0000000000000002 | |
AssertionPropCallback::Merge : BB03 in -> 0000000000000001, predBlock BB02 out -> 000000000000000A | |
AssertionPropCallback::EndMerge : BB03 in -> 0000000000000000 | |
AssertionPropCallback::Changed : BB03 before out -> 00000000000000FF; after out -> 0000000000000020; | |
jumpDest before out -> 00000000000000FF; jumpDest after out -> 0000000000000010; | |
AssertionPropCallback::StartMerge: BB03 in -> 0000000000000000 | |
AssertionPropCallback::Merge : BB03 in -> 0000000000000000, predBlock BB01 out -> 0000000000000002 | |
AssertionPropCallback::Merge : BB03 in -> 0000000000000000, predBlock BB02 out -> 000000000000000A | |
AssertionPropCallback::EndMerge : BB03 in -> 0000000000000000 | |
AssertionPropCallback::Unchanged : BB03 out -> 0000000000000020; jumpDest out -> 0000000000000010 | |
AssertionPropCallback::StartMerge: BB02 in -> 0000000000000002 | |
AssertionPropCallback::Merge : BB02 in -> 0000000000000002, predBlock BB01 out -> 0000000000000002 | |
AssertionPropCallback::Merge : BB02 in -> 0000000000000002, predBlock BB02 out -> 000000000000000A | |
AssertionPropCallback::EndMerge : BB02 in -> 0000000000000002 | |
AssertionPropCallback::Unchanged : BB02 out -> 000000000000000A; jumpDest out -> 0000000000000006 | |
AssertionPropCallback::StartMerge: BB04 in -> 00000000000000FF | |
AssertionPropCallback::Merge : BB04 in -> 00000000000000FF, predBlock BB03 out -> 0000000000000020 | |
AssertionPropCallback::Merge : BB04 in -> 0000000000000020, predBlock BB04 out -> 00000000000000FF | |
AssertionPropCallback::EndMerge : BB04 in -> 0000000000000020 | |
AssertionPropCallback::Changed : BB04 before out -> 00000000000000FF; after out -> 00000000000000A0; | |
jumpDest before out -> 00000000000000FF; jumpDest after out -> 0000000000000060; | |
AssertionPropCallback::StartMerge: BB05 in -> 00000000000000FF | |
AssertionPropCallback::Merge : BB05 in -> 00000000000000FF, predBlock BB03 out -> 0000000000000020 | |
AssertionPropCallback::Merge : BB05 in -> 0000000000000010, predBlock BB04 out -> 00000000000000A0 | |
AssertionPropCallback::EndMerge : BB05 in -> 0000000000000000 | |
AssertionPropCallback::Changed : BB05 before out -> 00000000000000FF; after out -> 0000000000000000; | |
jumpDest before out -> 00000000000000FF; jumpDest after out -> 0000000000000000; | |
AssertionPropCallback::StartMerge: BB05 in -> 0000000000000000 | |
AssertionPropCallback::Merge : BB05 in -> 0000000000000000, predBlock BB03 out -> 0000000000000020 | |
AssertionPropCallback::Merge : BB05 in -> 0000000000000000, predBlock BB04 out -> 00000000000000A0 | |
AssertionPropCallback::EndMerge : BB05 in -> 0000000000000000 | |
AssertionPropCallback::Unchanged : BB05 out -> 0000000000000000; jumpDest out -> 0000000000000000 | |
AssertionPropCallback::StartMerge: BB04 in -> 0000000000000020 | |
AssertionPropCallback::Merge : BB04 in -> 0000000000000020, predBlock BB03 out -> 0000000000000020 | |
AssertionPropCallback::Merge : BB04 in -> 0000000000000020, predBlock BB04 out -> 00000000000000A0 | |
AssertionPropCallback::EndMerge : BB04 in -> 0000000000000020 | |
AssertionPropCallback::Unchanged : BB04 out -> 00000000000000A0; jumpDest out -> 0000000000000060 | |
BB01 valueIn = 0000000000000000 valueOut = 0000000000000002 => BB03 valueOut= 0000000000000001 | |
BB02 valueIn = 0000000000000002 valueOut = 000000000000000A => BB02 valueOut= 0000000000000006 | |
BB03 valueIn = 0000000000000000 valueOut = 0000000000000020 => BB05 valueOut= 0000000000000010 | |
BB04 valueIn = 0000000000000020 valueOut = 00000000000000A0 => BB04 valueOut= 0000000000000060 | |
BB05 valueIn = 0000000000000000 valueOut = 0000000000000000 | |
Propagating 0000000000000000 assertions for BB01, stmt [000142], tree [000159], tree -> 0 | |
Propagating 0000000000000000 assertions for BB01, stmt [000142], tree [000001], tree -> 0 | |
Propagating 0000000000000000 assertions for BB01, stmt [000142], tree [000140], tree -> 0 | |
Propagating 0000000000000000 assertions for BB01, stmt [000142], tree [000141], tree -> 0 | |
Propagating 0000000000000000 assertions for BB01, stmt [000145], tree [000003], tree -> 0 | |
Propagating 0000000000000000 assertions for BB01, stmt [000145], tree [000143], tree -> 0 | |
Propagating 0000000000000000 assertions for BB01, stmt [000145], tree [000144], tree -> 0 | |
Propagating 0000000000000000 assertions for BB01, stmt [000016], tree [000013], tree -> 0 | |
Propagating 0000000000000000 assertions for BB01, stmt [000016], tree [000014], tree -> 0 | |
Propagating 0000000000000000 assertions for BB01, stmt [000016], tree [000015], tree -> 0 | |
Propagating 0000000000000000 assertions for BB01, stmt [000172], tree [000169], tree -> 0 | |
Propagating 0000000000000000 assertions for BB01, stmt [000172], tree [000170], tree -> 0 | |
Propagating 0000000000000000 assertions for BB01, stmt [000172], tree [000168], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000025], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000026], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000027], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000164], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000028], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000030], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000031], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000032], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000033], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000165], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000034], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000035], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000040], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000041], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000042], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000043], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000163], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000044], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000045], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000050], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000051], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000052], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000053], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000161], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000054], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000024], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000056], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000058], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000060], tree [000059], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000070], tree [000061], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000070], tree [000066], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000070], tree [000067], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000070], tree [000068], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000070], tree [000069], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000022], tree [000018], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000022], tree [000019], tree -> 0 | |
Propagating 0000000000000002 assertions for BB02, stmt [000022], tree [000020], tree -> 0 | |
Propagating 0000000000000000 assertions for BB03, stmt [000075], tree [000072], tree -> 0 | |
Propagating 0000000000000000 assertions for BB03, stmt [000075], tree [000073], tree -> 0 | |
Propagating 0000000000000000 assertions for BB03, stmt [000075], tree [000074], tree -> 0 | |
Propagating 0000000000000000 assertions for BB03, stmt [000177], tree [000174], tree -> 0 | |
Propagating 0000000000000000 assertions for BB03, stmt [000177], tree [000175], tree -> 0 | |
Propagating 0000000000000000 assertions for BB03, stmt [000177], tree [000173], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000086], tree [000083], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000086], tree [000084], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000086], tree [000085], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000096], tree [000087], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000096], tree [000088], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000096], tree [000089], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000096], tree [000090], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000096], tree [000091], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000096], tree [000092], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000096], tree [000094], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000096], tree [000095], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000103], tree [000097], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000103], tree [000099], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000103], tree [000100], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000103], tree [000101], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000103], tree [000102], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000081], tree [000077], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000081], tree [000078], tree -> 0 | |
Propagating 0000000000000020 assertions for BB04, stmt [000081], tree [000079], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000111], tree [000105], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000111], tree [000107], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000111], tree [000108], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000111], tree [000109], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000111], tree [000110], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000114], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000115], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000116], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000117], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000118], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000113], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000119], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000120], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000121], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000122], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000123], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000124], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000125], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000127], tree [000126], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000011], tree [000128], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000011], tree [000129], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000011], tree [000130], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000011], tree [000132], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000011], tree [000133], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000011], tree [000166], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000011], tree [000135], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000011], tree [000136], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000011], tree [000138], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000011], tree [000139], tree -> 0 | |
Propagating 0000000000000000 assertions for BB05, stmt [000011], tree [000010], tree -> 0 | |
*************** In fgDebugCheckBBlist | |
*************** In OptimizeRangeChecks() | |
Blocks/trees before phase | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
***** BB01, stmt 1 | |
( 5, 12) [000142] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 5, 12) [000001] x---G------- | /--* IND long <l:$140, c:$180> | |
N001 ( 3, 10) [000159] ------------ | | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
N004 ( 5, 12) [000141] -A--G---R--- \--* ASG long <l:$140, c:$180> | |
N003 ( 1, 1) [000140] D------N---- \--* LCL_VAR long V02 tmp1 d:2 <l:$140, c:$180> | |
***** BB01, stmt 2 | |
( 1, 3) [000145] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000003] ------------ | /--* LCL_VAR int V00 arg0 u:2 (last use) $80 | |
N003 ( 1, 3) [000144] -A------R--- \--* ASG int $80 | |
N002 ( 1, 1) [000143] D------N---- \--* LCL_VAR int V04 tmp3 d:2 $80 | |
***** BB01, stmt 3 | |
( 1, 3) [000016] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000013] ------------ | /--* LCL_VAR long V02 tmp1 u:2 <l:$140, c:$180> | |
N003 ( 1, 3) [000015] -A------R--- \--* ASG long <l:$140, c:$180> | |
N002 ( 1, 1) [000014] D------N---- \--* LCL_VAR long V03 tmp2 d:2 <l:$140, c:$180> | |
***** BB01, stmt 4 | |
( 5, 8) [000172] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000171] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000170] ------------ | /--* CNS_INT int 256 $43 | |
N003 ( 3, 6) [000168] J------N---- \--* LT int $200 | |
N001 ( 1, 1) [000169] ------------ \--* LCL_VAR int V04 tmp3 u:2 $80 | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
***** BB02, stmt 5 | |
( 2, 3) [000209] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000207] ------------ | * PHI long | |
N001 ( 0, 0) [000222] ------------ | /--* PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000210] ------------ | \--* PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
N007 ( 2, 3) [000208] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000206] D------N---- \--* LCL_VAR long V03 tmp2 d:3 | |
***** BB02, stmt 6 | |
( 2, 3) [000201] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000199] ------------ | * PHI int | |
N001 ( 0, 0) [000224] ------------ | /--* PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000212] ------------ | \--* PHI_ARG int V04 tmp3 u:2 $80 | |
N007 ( 2, 3) [000200] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000198] D------N---- \--* LCL_VAR int V04 tmp3 d:3 | |
***** BB02, stmt 7 | |
( 28, 31) [000060] ------------ * STMT void (IL 0x000... ???) | |
N024 ( 6, 7) [000161] ---XG------- | /--* CAST int <- long $206 | |
N023 ( 5, 5) [000053] ---XG------- | | \--* HWIntrinsic long PopCount $303 | |
N022 ( 4, 4) [000052] *--XG------- | | \--* IND long <l:$145, c:$2c3> | |
N020 ( 1, 1) [000050] ------------ | | | /--* CNS_INT long 24 $343 | |
N021 ( 2, 2) [000051] -------N---- | | \--* ADD long $243 | |
N019 ( 1, 1) [000045] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N025 ( 26, 29) [000054] ---XG------- | /--* ADD int $207 | |
N017 ( 6, 7) [000163] ---XG------- | | | /--* CAST int <- long $204 | |
N016 ( 5, 5) [000043] ---XG------- | | | | \--* HWIntrinsic long PopCount $302 | |
N015 ( 4, 4) [000042] *--XG------- | | | | \--* IND long <l:$144, c:$2c2> | |
N013 ( 1, 1) [000040] ------------ | | | | | /--* CNS_INT long 16 $342 | |
N014 ( 2, 2) [000041] -------N---- | | | | \--* ADD long $242 | |
N012 ( 1, 1) [000035] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N018 ( 19, 21) [000044] ---XG------- | | \--* ADD int $205 | |
N010 ( 6, 7) [000165] ---XG------- | | | /--* CAST int <- long $202 | |
N009 ( 5, 5) [000033] ---XG------- | | | | \--* HWIntrinsic long PopCount $301 | |
N008 ( 4, 4) [000032] *--XG------- | | | | \--* IND long <l:$143, c:$2c1> | |
N006 ( 1, 1) [000030] ------------ | | | | | /--* CNS_INT long 8 $340 | |
N007 ( 2, 2) [000031] -------N---- | | | | \--* ADD long $241 | |
N005 ( 1, 1) [000028] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N011 ( 12, 13) [000034] ---XG------- | | \--* ADD int $203 | |
N004 ( 5, 5) [000164] ---XG------- | | \--* CAST int <- long $201 | |
N003 ( 4, 3) [000027] ---XG------- | | \--* HWIntrinsic long PopCount $300 | |
N002 ( 3, 2) [000026] *--XG------- | | \--* IND long <l:$142, c:$2c0> | |
N001 ( 1, 1) [000025] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N027 ( 28, 31) [000056] ---XG---R--- | /--* SUB int $208 | |
N026 ( 1, 1) [000024] ------------ | | \--* LCL_VAR int V04 tmp3 u:3 (last use) $280 | |
N029 ( 28, 31) [000059] -A-XG---R--- \--* ASG int $208 | |
N028 ( 1, 1) [000058] D------N---- \--* LCL_VAR int V04 tmp3 d:4 $208 | |
***** BB02, stmt 8 | |
( 3, 3) [000070] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000066] ------------ | /--* CNS_INT long 32 $344 | |
N003 ( 3, 3) [000067] ------------ | /--* ADD long $244 | |
N001 ( 1, 1) [000061] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 (last use) $141 | |
N005 ( 3, 3) [000069] -A------R--- \--* ASG long $244 | |
N004 ( 1, 1) [000068] D------N---- \--* LCL_VAR long V03 tmp2 d:4 $244 | |
***** BB02, stmt 9 | |
( 5, 8) [000022] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000021] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000019] ------------ | /--* CNS_INT int 256 $43 | |
N003 ( 3, 6) [000020] J------N---- \--* GE int $209 | |
N001 ( 1, 1) [000018] ------------ \--* LCL_VAR int V04 tmp3 u:4 $208 | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
***** BB03, stmt 10 | |
( 2, 3) [000205] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000203] ------------ | * PHI long | |
N001 ( 0, 0) [000218] ------------ | /--* PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000214] ------------ | \--* PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
N007 ( 2, 3) [000204] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000202] D------N---- \--* LCL_VAR long V03 tmp2 d:5 | |
***** BB03, stmt 11 | |
( 2, 3) [000197] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000195] ------------ | * PHI int | |
N001 ( 0, 0) [000220] ------------ | /--* PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000216] ------------ | \--* PHI_ARG int V04 tmp3 u:2 $80 | |
N007 ( 2, 3) [000196] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000194] D------N---- \--* LCL_VAR int V04 tmp3 d:5 | |
***** BB03, stmt 12 | |
( 1, 3) [000075] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000072] ------------ | /--* LCL_VAR int V04 tmp3 u:5 $281 | |
N003 ( 1, 3) [000074] -A------R--- \--* ASG int $281 | |
N002 ( 1, 1) [000073] D------N---- \--* LCL_VAR int V05 tmp4 d:2 $281 | |
***** BB03, stmt 13 | |
( 5, 5) [000177] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000176] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000175] ------------ | /--* CNS_INT int 0 $40 | |
N003 ( 3, 3) [000173] J------N---- \--* LE int $20a | |
N001 ( 1, 1) [000174] ------------ \--* LCL_VAR int V05 tmp4 u:2 $281 | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
***** BB04, stmt 14 | |
( 2, 3) [000189] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000187] ------------ | * PHI long | |
N001 ( 0, 0) [000238] ------------ | /--* PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000226] ------------ | \--* PHI_ARG long V03 tmp2 u:5 $146 | |
N007 ( 2, 3) [000188] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000186] D------N---- \--* LCL_VAR long V03 tmp2 d:6 | |
***** BB04, stmt 15 | |
( 2, 3) [000181] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000179] ------------ | * PHI int | |
N001 ( 0, 0) [000240] ------------ | /--* PHI_ARG int V04 tmp3 u:7 | |
N002 ( 0, 0) [000228] ------------ | \--* PHI_ARG int V04 tmp3 u:5 $281 | |
N007 ( 2, 3) [000180] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000178] D------N---- \--* LCL_VAR int V04 tmp3 d:6 | |
***** BB04, stmt 16 | |
( 1, 3) [000086] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000083] ------------ | /--* LCL_VAR int V04 tmp3 u:6 $282 | |
N003 ( 1, 3) [000085] -A------R--- \--* ASG int $282 | |
N002 ( 1, 1) [000084] D------N---- \--* LCL_VAR int V05 tmp4 d:3 $282 | |
***** BB04, stmt 17 | |
( 7, 7) [000096] ------------ * STMT void (IL 0x000... ???) | |
N005 ( 5, 5) [000091] ---XG------- | /--* CAST int <- long $20b | |
N004 ( 4, 3) [000090] ---XG------- | | \--* HWIntrinsic long PopCount $440 | |
N003 ( 3, 2) [000089] *--XG------- | | \--* IND long <l:$148, c:$400> | |
N002 ( 1, 1) [000088] ------------ | | \--* LCL_VAR long V03 tmp2 u:6 $147 | |
N006 ( 7, 7) [000092] ---XG------- | /--* SUB int $20c | |
N001 ( 1, 1) [000087] ------------ | | \--* LCL_VAR int V05 tmp4 u:3 (last use) $282 | |
N008 ( 7, 7) [000095] -A-XG---R--- \--* ASG int $20c | |
N007 ( 1, 1) [000094] D------N---- \--* LCL_VAR int V04 tmp3 d:7 $20c | |
***** BB04, stmt 18 | |
( 3, 3) [000103] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000099] ------------ | /--* CNS_INT long 8 $340 | |
N003 ( 3, 3) [000100] ------------ | /--* ADD long $246 | |
N001 ( 1, 1) [000097] ------------ | | \--* LCL_VAR long V03 tmp2 u:6 (last use) $147 | |
N005 ( 3, 3) [000102] -A------R--- \--* ASG long $246 | |
N004 ( 1, 1) [000101] D------N---- \--* LCL_VAR long V03 tmp2 d:7 $246 | |
***** BB04, stmt 19 | |
( 5, 5) [000081] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000080] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000078] ------------ | /--* CNS_INT int 0 $40 | |
N003 ( 3, 3) [000079] J------N---- \--* GT int $20d | |
N001 ( 1, 1) [000077] ------------ \--* LCL_VAR int V04 tmp3 u:7 $20c | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
***** BB05, stmt 20 | |
( 2, 3) [000193] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000191] ------------ | * PHI int | |
N001 ( 0, 0) [000234] ------------ | /--* PHI_ARG int V05 tmp4 u:3 | |
N002 ( 0, 0) [000230] ------------ | \--* PHI_ARG int V05 tmp4 u:2 $281 | |
N007 ( 2, 3) [000192] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000190] D------N---- \--* LCL_VAR int V05 tmp4 d:4 | |
***** BB05, stmt 21 | |
( 2, 3) [000185] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000183] ------------ | * PHI long | |
N001 ( 0, 0) [000236] ------------ | /--* PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000232] ------------ | \--* PHI_ARG long V03 tmp2 u:5 $146 | |
N007 ( 2, 3) [000184] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000182] D------N---- \--* LCL_VAR long V03 tmp2 d:8 | |
***** BB05, stmt 22 | |
( 3, 3) [000111] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000107] ------------ | /--* CNS_INT long -8 $345 | |
N003 ( 3, 3) [000108] ------------ | /--* ADD long $247 | |
N001 ( 1, 1) [000105] ------------ | | \--* LCL_VAR long V03 tmp2 u:8 (last use) $149 | |
N005 ( 3, 3) [000110] -A------R--- \--* ASG long $247 | |
N004 ( 1, 1) [000109] D------N---- \--* LCL_VAR long V03 tmp2 d:9 $247 | |
***** BB05, stmt 23 | |
( 16, 13) [000127] ------------ * STMT void (IL 0x000... ???) | |
N012 ( 16, 13) [000124] ---XG------- | /--* CAST int <- long $211 | |
N011 ( 15, 11) [000123] ---XG------- | | \--* HWIntrinsic long TrailingZeroCount $481 | |
N009 ( 3, 2) [000121] *--XG------- | | | /--* IND long <l:$14a, c:$184> | |
N008 ( 1, 1) [000120] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:9 $247 | |
N010 ( 14, 10) [000122] ---XG------- | | \--* HWIntrinsic long ParallelBitDeposit $480 | |
N004 ( 1, 1) [000117] ------------ | | | /--* CNS_INT int 63 $4a | |
N005 ( 5, 5) [000118] ------------ | | | /--* AND int $210 | |
N002 ( 1, 1) [000115] ------------ | | | | | /--* CNS_INT int -1 $41 | |
N003 ( 3, 3) [000116] ------------ | | | | \--* ADD int $20f | |
N001 ( 1, 1) [000114] ------------ | | | | \--* LCL_VAR int V05 tmp4 u:4 (last use) $283 | |
N007 ( 10, 7) [000119] --------R--- | | \--* LSH long $248 | |
N006 ( 1, 1) [000113] ------------ | | \--* CNS_INT long 1 $346 | |
N014 ( 16, 13) [000126] -A-XG---R--- \--* ASG int $211 | |
N013 ( 1, 1) [000125] D------N---- \--* LCL_VAR int V06 tmp5 d:2 $211 | |
***** BB05, stmt 24 | |
( 30, 14) [000011] ------------ * STMT void (IL ???... ???) | |
N011 ( 30, 14) [000010] ------------ \--* RETURN int $1c3 | |
N009 ( 1, 1) [000138] ------------ | /--* LCL_VAR int V06 tmp5 u:2 (last use) $211 | |
N010 ( 29, 13) [000139] ------------ \--* ADD int <l:$216, c:$217> | |
N007 ( 1, 1) [000135] ------------ | /--* CNS_INT int 6 $4b | |
N008 ( 27, 11) [000136] ------------ \--* LSH int <l:$214, c:$215> | |
N006 ( 25, 9) [000166] ------------ \--* CAST int <- long <l:$212, c:$213> | |
N004 ( 1, 1) [000132] ------------ | /--* CNS_INT long 8 $340 | |
N005 ( 24, 7) [000133] ------------ \--* DIV long <l:$24b, c:$24c> | |
N002 ( 1, 1) [000129] ------------ | /--* LCL_VAR long V02 tmp1 u:2 (last use) <l:$140, c:$180> | |
N003 ( 3, 3) [000130] ------------ \--* SUB long <l:$249, c:$24a> | |
N001 ( 1, 1) [000128] ------------ \--* LCL_VAR long V03 tmp2 u:9 (last use) $247 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDetermineFirstColdBlock() | |
No procedure splitting will be done for this method | |
*************** In IR Rationalize | |
Trees before IR Rationalize | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
***** BB01, stmt 1 | |
( 5, 12) [000142] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 5, 12) [000001] x---G------- | /--* IND long <l:$140, c:$180> | |
N001 ( 3, 10) [000159] ------------ | | \--* CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
N004 ( 5, 12) [000141] -A--G---R--- \--* ASG long <l:$140, c:$180> | |
N003 ( 1, 1) [000140] D------N---- \--* LCL_VAR long V02 tmp1 d:2 <l:$140, c:$180> | |
***** BB01, stmt 2 | |
( 1, 3) [000145] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000003] ------------ | /--* LCL_VAR int V00 arg0 u:2 (last use) $80 | |
N003 ( 1, 3) [000144] -A------R--- \--* ASG int $80 | |
N002 ( 1, 1) [000143] D------N---- \--* LCL_VAR int V04 tmp3 d:2 $80 | |
***** BB01, stmt 3 | |
( 1, 3) [000016] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000013] ------------ | /--* LCL_VAR long V02 tmp1 u:2 <l:$140, c:$180> | |
N003 ( 1, 3) [000015] -A------R--- \--* ASG long <l:$140, c:$180> | |
N002 ( 1, 1) [000014] D------N---- \--* LCL_VAR long V03 tmp2 d:2 <l:$140, c:$180> | |
***** BB01, stmt 4 | |
( 5, 8) [000172] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000171] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000170] ------------ | /--* CNS_INT int 256 $43 | |
N003 ( 3, 6) [000168] J------N---- \--* LT int $200 | |
N001 ( 1, 1) [000169] ------------ \--* LCL_VAR int V04 tmp3 u:2 $80 | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
***** BB02, stmt 5 | |
( 2, 3) [000209] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000207] ------------ | * PHI long | |
N001 ( 0, 0) [000222] ------------ | /--* PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000210] ------------ | \--* PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
N007 ( 2, 3) [000208] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000206] D------N---- \--* LCL_VAR long V03 tmp2 d:3 | |
***** BB02, stmt 6 | |
( 2, 3) [000201] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000199] ------------ | * PHI int | |
N001 ( 0, 0) [000224] ------------ | /--* PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000212] ------------ | \--* PHI_ARG int V04 tmp3 u:2 $80 | |
N007 ( 2, 3) [000200] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000198] D------N---- \--* LCL_VAR int V04 tmp3 d:3 | |
***** BB02, stmt 7 | |
( 28, 31) [000060] ------------ * STMT void (IL 0x000... ???) | |
N024 ( 6, 7) [000161] ---XG------- | /--* CAST int <- long $206 | |
N023 ( 5, 5) [000053] ---XG------- | | \--* HWIntrinsic long PopCount $303 | |
N022 ( 4, 4) [000052] *--XG------- | | \--* IND long <l:$145, c:$2c3> | |
N020 ( 1, 1) [000050] ------------ | | | /--* CNS_INT long 24 $343 | |
N021 ( 2, 2) [000051] -------N---- | | \--* ADD long $243 | |
N019 ( 1, 1) [000045] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N025 ( 26, 29) [000054] ---XG------- | /--* ADD int $207 | |
N017 ( 6, 7) [000163] ---XG------- | | | /--* CAST int <- long $204 | |
N016 ( 5, 5) [000043] ---XG------- | | | | \--* HWIntrinsic long PopCount $302 | |
N015 ( 4, 4) [000042] *--XG------- | | | | \--* IND long <l:$144, c:$2c2> | |
N013 ( 1, 1) [000040] ------------ | | | | | /--* CNS_INT long 16 $342 | |
N014 ( 2, 2) [000041] -------N---- | | | | \--* ADD long $242 | |
N012 ( 1, 1) [000035] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N018 ( 19, 21) [000044] ---XG------- | | \--* ADD int $205 | |
N010 ( 6, 7) [000165] ---XG------- | | | /--* CAST int <- long $202 | |
N009 ( 5, 5) [000033] ---XG------- | | | | \--* HWIntrinsic long PopCount $301 | |
N008 ( 4, 4) [000032] *--XG------- | | | | \--* IND long <l:$143, c:$2c1> | |
N006 ( 1, 1) [000030] ------------ | | | | | /--* CNS_INT long 8 $340 | |
N007 ( 2, 2) [000031] -------N---- | | | | \--* ADD long $241 | |
N005 ( 1, 1) [000028] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N011 ( 12, 13) [000034] ---XG------- | | \--* ADD int $203 | |
N004 ( 5, 5) [000164] ---XG------- | | \--* CAST int <- long $201 | |
N003 ( 4, 3) [000027] ---XG------- | | \--* HWIntrinsic long PopCount $300 | |
N002 ( 3, 2) [000026] *--XG------- | | \--* IND long <l:$142, c:$2c0> | |
N001 ( 1, 1) [000025] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 $141 | |
N027 ( 28, 31) [000056] ---XG---R--- | /--* SUB int $208 | |
N026 ( 1, 1) [000024] ------------ | | \--* LCL_VAR int V04 tmp3 u:3 (last use) $280 | |
N029 ( 28, 31) [000059] -A-XG---R--- \--* ASG int $208 | |
N028 ( 1, 1) [000058] D------N---- \--* LCL_VAR int V04 tmp3 d:4 $208 | |
***** BB02, stmt 8 | |
( 3, 3) [000070] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000066] ------------ | /--* CNS_INT long 32 $344 | |
N003 ( 3, 3) [000067] ------------ | /--* ADD long $244 | |
N001 ( 1, 1) [000061] ------------ | | \--* LCL_VAR long V03 tmp2 u:3 (last use) $141 | |
N005 ( 3, 3) [000069] -A------R--- \--* ASG long $244 | |
N004 ( 1, 1) [000068] D------N---- \--* LCL_VAR long V03 tmp2 d:4 $244 | |
***** BB02, stmt 9 | |
( 5, 8) [000022] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 8) [000021] ------------ \--* JTRUE void | |
N002 ( 1, 4) [000019] ------------ | /--* CNS_INT int 256 $43 | |
N003 ( 3, 6) [000020] J------N---- \--* GE int $209 | |
N001 ( 1, 1) [000018] ------------ \--* LCL_VAR int V04 tmp3 u:4 $208 | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
***** BB03, stmt 10 | |
( 2, 3) [000205] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000203] ------------ | * PHI long | |
N001 ( 0, 0) [000218] ------------ | /--* PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000214] ------------ | \--* PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
N007 ( 2, 3) [000204] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000202] D------N---- \--* LCL_VAR long V03 tmp2 d:5 | |
***** BB03, stmt 11 | |
( 2, 3) [000197] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000195] ------------ | * PHI int | |
N001 ( 0, 0) [000220] ------------ | /--* PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000216] ------------ | \--* PHI_ARG int V04 tmp3 u:2 $80 | |
N007 ( 2, 3) [000196] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000194] D------N---- \--* LCL_VAR int V04 tmp3 d:5 | |
***** BB03, stmt 12 | |
( 1, 3) [000075] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000072] ------------ | /--* LCL_VAR int V04 tmp3 u:5 $281 | |
N003 ( 1, 3) [000074] -A------R--- \--* ASG int $281 | |
N002 ( 1, 1) [000073] D------N---- \--* LCL_VAR int V05 tmp4 d:2 $281 | |
***** BB03, stmt 13 | |
( 5, 5) [000177] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000176] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000175] ------------ | /--* CNS_INT int 0 $40 | |
N003 ( 3, 3) [000173] J------N---- \--* LE int $20a | |
N001 ( 1, 1) [000174] ------------ \--* LCL_VAR int V05 tmp4 u:2 $281 | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
***** BB04, stmt 14 | |
( 2, 3) [000189] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000187] ------------ | * PHI long | |
N001 ( 0, 0) [000238] ------------ | /--* PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000226] ------------ | \--* PHI_ARG long V03 tmp2 u:5 $146 | |
N007 ( 2, 3) [000188] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000186] D------N---- \--* LCL_VAR long V03 tmp2 d:6 | |
***** BB04, stmt 15 | |
( 2, 3) [000181] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000179] ------------ | * PHI int | |
N001 ( 0, 0) [000240] ------------ | /--* PHI_ARG int V04 tmp3 u:7 | |
N002 ( 0, 0) [000228] ------------ | \--* PHI_ARG int V04 tmp3 u:5 $281 | |
N007 ( 2, 3) [000180] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000178] D------N---- \--* LCL_VAR int V04 tmp3 d:6 | |
***** BB04, stmt 16 | |
( 1, 3) [000086] ------------ * STMT void (IL 0x000... ???) | |
N001 ( 1, 1) [000083] ------------ | /--* LCL_VAR int V04 tmp3 u:6 $282 | |
N003 ( 1, 3) [000085] -A------R--- \--* ASG int $282 | |
N002 ( 1, 1) [000084] D------N---- \--* LCL_VAR int V05 tmp4 d:3 $282 | |
***** BB04, stmt 17 | |
( 7, 7) [000096] ------------ * STMT void (IL 0x000... ???) | |
N005 ( 5, 5) [000091] ---XG------- | /--* CAST int <- long $20b | |
N004 ( 4, 3) [000090] ---XG------- | | \--* HWIntrinsic long PopCount $440 | |
N003 ( 3, 2) [000089] *--XG------- | | \--* IND long <l:$148, c:$400> | |
N002 ( 1, 1) [000088] ------------ | | \--* LCL_VAR long V03 tmp2 u:6 $147 | |
N006 ( 7, 7) [000092] ---XG------- | /--* SUB int $20c | |
N001 ( 1, 1) [000087] ------------ | | \--* LCL_VAR int V05 tmp4 u:3 (last use) $282 | |
N008 ( 7, 7) [000095] -A-XG---R--- \--* ASG int $20c | |
N007 ( 1, 1) [000094] D------N---- \--* LCL_VAR int V04 tmp3 d:7 $20c | |
***** BB04, stmt 18 | |
( 3, 3) [000103] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000099] ------------ | /--* CNS_INT long 8 $340 | |
N003 ( 3, 3) [000100] ------------ | /--* ADD long $246 | |
N001 ( 1, 1) [000097] ------------ | | \--* LCL_VAR long V03 tmp2 u:6 (last use) $147 | |
N005 ( 3, 3) [000102] -A------R--- \--* ASG long $246 | |
N004 ( 1, 1) [000101] D------N---- \--* LCL_VAR long V03 tmp2 d:7 $246 | |
***** BB04, stmt 19 | |
( 5, 5) [000081] ------------ * STMT void (IL 0x000... ???) | |
N004 ( 5, 5) [000080] ------------ \--* JTRUE void | |
N002 ( 1, 1) [000078] ------------ | /--* CNS_INT int 0 $40 | |
N003 ( 3, 3) [000079] J------N---- \--* GT int $20d | |
N001 ( 1, 1) [000077] ------------ \--* LCL_VAR int V04 tmp3 u:7 $20c | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
***** BB05, stmt 20 | |
( 2, 3) [000193] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000191] ------------ | * PHI int | |
N001 ( 0, 0) [000234] ------------ | /--* PHI_ARG int V05 tmp4 u:3 | |
N002 ( 0, 0) [000230] ------------ | \--* PHI_ARG int V05 tmp4 u:2 $281 | |
N007 ( 2, 3) [000192] -A------R--- \--* ASG int | |
N006 ( 1, 1) [000190] D------N---- \--* LCL_VAR int V05 tmp4 d:4 | |
***** BB05, stmt 21 | |
( 2, 3) [000185] ------------ * STMT void (IL ???... ???) | |
N005 ( 2, 2) [000183] ------------ | * PHI long | |
N001 ( 0, 0) [000236] ------------ | /--* PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000232] ------------ | \--* PHI_ARG long V03 tmp2 u:5 $146 | |
N007 ( 2, 3) [000184] -A------R--- \--* ASG long | |
N006 ( 1, 1) [000182] D------N---- \--* LCL_VAR long V03 tmp2 d:8 | |
***** BB05, stmt 22 | |
( 3, 3) [000111] ------------ * STMT void (IL 0x000... ???) | |
N002 ( 1, 1) [000107] ------------ | /--* CNS_INT long -8 $345 | |
N003 ( 3, 3) [000108] ------------ | /--* ADD long $247 | |
N001 ( 1, 1) [000105] ------------ | | \--* LCL_VAR long V03 tmp2 u:8 (last use) $149 | |
N005 ( 3, 3) [000110] -A------R--- \--* ASG long $247 | |
N004 ( 1, 1) [000109] D------N---- \--* LCL_VAR long V03 tmp2 d:9 $247 | |
***** BB05, stmt 23 | |
( 16, 13) [000127] ------------ * STMT void (IL 0x000... ???) | |
N012 ( 16, 13) [000124] ---XG------- | /--* CAST int <- long $211 | |
N011 ( 15, 11) [000123] ---XG------- | | \--* HWIntrinsic long TrailingZeroCount $481 | |
N009 ( 3, 2) [000121] *--XG------- | | | /--* IND long <l:$14a, c:$184> | |
N008 ( 1, 1) [000120] ------------ | | | | \--* LCL_VAR long V03 tmp2 u:9 $247 | |
N010 ( 14, 10) [000122] ---XG------- | | \--* HWIntrinsic long ParallelBitDeposit $480 | |
N004 ( 1, 1) [000117] ------------ | | | /--* CNS_INT int 63 $4a | |
N005 ( 5, 5) [000118] ------------ | | | /--* AND int $210 | |
N002 ( 1, 1) [000115] ------------ | | | | | /--* CNS_INT int -1 $41 | |
N003 ( 3, 3) [000116] ------------ | | | | \--* ADD int $20f | |
N001 ( 1, 1) [000114] ------------ | | | | \--* LCL_VAR int V05 tmp4 u:4 (last use) $283 | |
N007 ( 10, 7) [000119] --------R--- | | \--* LSH long $248 | |
N006 ( 1, 1) [000113] ------------ | | \--* CNS_INT long 1 $346 | |
N014 ( 16, 13) [000126] -A-XG---R--- \--* ASG int $211 | |
N013 ( 1, 1) [000125] D------N---- \--* LCL_VAR int V06 tmp5 d:2 $211 | |
***** BB05, stmt 24 | |
( 30, 14) [000011] ------------ * STMT void (IL ???... ???) | |
N011 ( 30, 14) [000010] ------------ \--* RETURN int $1c3 | |
N009 ( 1, 1) [000138] ------------ | /--* LCL_VAR int V06 tmp5 u:2 (last use) $211 | |
N010 ( 29, 13) [000139] ------------ \--* ADD int <l:$216, c:$217> | |
N007 ( 1, 1) [000135] ------------ | /--* CNS_INT int 6 $4b | |
N008 ( 27, 11) [000136] ------------ \--* LSH int <l:$214, c:$215> | |
N006 ( 25, 9) [000166] ------------ \--* CAST int <- long <l:$212, c:$213> | |
N004 ( 1, 1) [000132] ------------ | /--* CNS_INT long 8 $340 | |
N005 ( 24, 7) [000133] ------------ \--* DIV long <l:$24b, c:$24c> | |
N002 ( 1, 1) [000129] ------------ | /--* LCL_VAR long V02 tmp1 u:2 (last use) <l:$140, c:$180> | |
N003 ( 3, 3) [000130] ------------ \--* SUB long <l:$249, c:$24a> | |
N001 ( 1, 1) [000128] ------------ \--* LCL_VAR long V03 tmp2 u:9 (last use) $247 | |
------------------------------------------------------------------------------------------------------------------- | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N004 ( 5, 12) [000141] DA--G------- * STORE_LCL_VAR long V02 tmp1 d:2 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N003 ( 1, 3) [000144] DA---------- * STORE_LCL_VAR int V04 tmp3 d:2 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N003 ( 1, 3) [000015] DA---------- * STORE_LCL_VAR long V03 tmp2 d:2 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N007 ( 2, 3) [000208] DA---------- * STORE_LCL_VAR long V03 tmp2 d:3 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N007 ( 2, 3) [000200] DA---------- * STORE_LCL_VAR int V04 tmp3 d:3 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N029 ( 28, 31) [000059] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:4 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N005 ( 3, 3) [000069] DA---------- * STORE_LCL_VAR long V03 tmp2 d:4 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N007 ( 2, 3) [000204] DA---------- * STORE_LCL_VAR long V03 tmp2 d:5 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N007 ( 2, 3) [000196] DA---------- * STORE_LCL_VAR int V04 tmp3 d:5 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N003 ( 1, 3) [000074] DA---------- * STORE_LCL_VAR int V05 tmp4 d:2 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N007 ( 2, 3) [000188] DA---------- * STORE_LCL_VAR long V03 tmp2 d:6 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N007 ( 2, 3) [000180] DA---------- * STORE_LCL_VAR int V04 tmp3 d:6 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N003 ( 1, 3) [000085] DA---------- * STORE_LCL_VAR int V05 tmp4 d:3 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N008 ( 7, 7) [000095] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:7 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N005 ( 3, 3) [000102] DA---------- * STORE_LCL_VAR long V03 tmp2 d:7 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N007 ( 2, 3) [000192] DA---------- * STORE_LCL_VAR int V05 tmp4 d:4 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N007 ( 2, 3) [000184] DA---------- * STORE_LCL_VAR long V03 tmp2 d:8 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N005 ( 3, 3) [000110] DA---------- * STORE_LCL_VAR long V03 tmp2 d:9 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
N014 ( 16, 13) [000126] DA-XG------- * STORE_LCL_VAR int V06 tmp5 d:2 | |
*************** Exiting IR Rationalize | |
Trees after IR Rationalize | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target LIR | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd LIR | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target LIR | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd LIR | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target LIR | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
( 5, 12) [000142] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 3, 10) [000159] ------------ t159 = CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
/--* t159 long | |
N002 ( 5, 12) [000001] x---G------- t1 = * IND long <l:$140, c:$180> | |
/--* t1 long | |
N004 ( 5, 12) [000141] DA--G------- * STORE_LCL_VAR long V02 tmp1 d:2 | |
( 1, 3) [000145] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000003] ------------ t3 = LCL_VAR int V00 arg0 u:2 (last use) $80 | |
/--* t3 int | |
N003 ( 1, 3) [000144] DA---------- * STORE_LCL_VAR int V04 tmp3 d:2 | |
( 1, 3) [000016] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000013] ------------ t13 = LCL_VAR long V02 tmp1 u:2 <l:$140, c:$180> | |
/--* t13 long | |
N003 ( 1, 3) [000015] DA---------- * STORE_LCL_VAR long V03 tmp2 d:2 | |
( 5, 8) [000172] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000169] ------------ t169 = LCL_VAR int V04 tmp3 u:2 $80 | |
N002 ( 1, 4) [000170] ------------ t170 = CNS_INT int 256 $43 | |
/--* t169 int | |
+--* t170 int | |
N003 ( 3, 6) [000168] J------N---- t168 = * LT int $200 | |
/--* t168 int | |
N004 ( 5, 8) [000171] ------------ * JTRUE void | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
N001 ( 0, 0) [000222] ------------ t222 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000210] ------------ t210 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t222 long | |
+--* t210 long | |
N005 ( 2, 2) [000207] ------------ t207 = * PHI long | |
/--* t207 long | |
N007 ( 2, 3) [000208] DA---------- * STORE_LCL_VAR long V03 tmp2 d:3 | |
N001 ( 0, 0) [000224] ------------ t224 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000212] ------------ t212 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t224 int | |
+--* t212 int | |
N005 ( 2, 2) [000199] ------------ t199 = * PHI int | |
/--* t199 int | |
N007 ( 2, 3) [000200] DA---------- * STORE_LCL_VAR int V04 tmp3 d:3 | |
( 28, 31) [000060] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000025] ------------ t25 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t25 long | |
N002 ( 3, 2) [000026] *--XG------- t26 = * IND long <l:$142, c:$2c0> | |
/--* t26 long | |
N003 ( 4, 3) [000027] ---XG------- t27 = * HWIntrinsic long PopCount $300 | |
/--* t27 long | |
N004 ( 5, 5) [000164] ---XG------- t164 = * CAST int <- long $201 | |
N005 ( 1, 1) [000028] ------------ t28 = LCL_VAR long V03 tmp2 u:3 $141 | |
N006 ( 1, 1) [000030] ------------ t30 = CNS_INT long 8 $340 | |
/--* t28 long | |
+--* t30 long | |
N007 ( 2, 2) [000031] -------N---- t31 = * ADD long $241 | |
/--* t31 long | |
N008 ( 4, 4) [000032] *--XG------- t32 = * IND long <l:$143, c:$2c1> | |
/--* t32 long | |
N009 ( 5, 5) [000033] ---XG------- t33 = * HWIntrinsic long PopCount $301 | |
/--* t33 long | |
N010 ( 6, 7) [000165] ---XG------- t165 = * CAST int <- long $202 | |
/--* t164 int | |
+--* t165 int | |
N011 ( 12, 13) [000034] ---XG------- t34 = * ADD int $203 | |
N012 ( 1, 1) [000035] ------------ t35 = LCL_VAR long V03 tmp2 u:3 $141 | |
N013 ( 1, 1) [000040] ------------ t40 = CNS_INT long 16 $342 | |
/--* t35 long | |
+--* t40 long | |
N014 ( 2, 2) [000041] -------N---- t41 = * ADD long $242 | |
/--* t41 long | |
N015 ( 4, 4) [000042] *--XG------- t42 = * IND long <l:$144, c:$2c2> | |
/--* t42 long | |
N016 ( 5, 5) [000043] ---XG------- t43 = * HWIntrinsic long PopCount $302 | |
/--* t43 long | |
N017 ( 6, 7) [000163] ---XG------- t163 = * CAST int <- long $204 | |
/--* t34 int | |
+--* t163 int | |
N018 ( 19, 21) [000044] ---XG------- t44 = * ADD int $205 | |
N019 ( 1, 1) [000045] ------------ t45 = LCL_VAR long V03 tmp2 u:3 $141 | |
N020 ( 1, 1) [000050] ------------ t50 = CNS_INT long 24 $343 | |
/--* t45 long | |
+--* t50 long | |
N021 ( 2, 2) [000051] -------N---- t51 = * ADD long $243 | |
/--* t51 long | |
N022 ( 4, 4) [000052] *--XG------- t52 = * IND long <l:$145, c:$2c3> | |
/--* t52 long | |
N023 ( 5, 5) [000053] ---XG------- t53 = * HWIntrinsic long PopCount $303 | |
/--* t53 long | |
N024 ( 6, 7) [000161] ---XG------- t161 = * CAST int <- long $206 | |
/--* t44 int | |
+--* t161 int | |
N025 ( 26, 29) [000054] ---XG------- t54 = * ADD int $207 | |
N026 ( 1, 1) [000024] ------------ t24 = LCL_VAR int V04 tmp3 u:3 (last use) $280 | |
/--* t24 int | |
+--* t54 int | |
N027 ( 28, 31) [000056] ---XG------- t56 = * SUB int $208 | |
/--* t56 int | |
N029 ( 28, 31) [000059] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:4 | |
( 3, 3) [000070] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000061] ------------ t61 = LCL_VAR long V03 tmp2 u:3 (last use) $141 | |
N002 ( 1, 1) [000066] ------------ t66 = CNS_INT long 32 $344 | |
/--* t61 long | |
+--* t66 long | |
N003 ( 3, 3) [000067] ------------ t67 = * ADD long $244 | |
/--* t67 long | |
N005 ( 3, 3) [000069] DA---------- * STORE_LCL_VAR long V03 tmp2 d:4 | |
( 5, 8) [000022] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000018] ------------ t18 = LCL_VAR int V04 tmp3 u:4 $208 | |
N002 ( 1, 4) [000019] ------------ t19 = CNS_INT int 256 $43 | |
/--* t18 int | |
+--* t19 int | |
N003 ( 3, 6) [000020] J------N---- t20 = * GE int $209 | |
/--* t20 int | |
N004 ( 5, 8) [000021] ------------ * JTRUE void | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
N001 ( 0, 0) [000218] ------------ t218 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000214] ------------ t214 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t218 long | |
+--* t214 long | |
N005 ( 2, 2) [000203] ------------ t203 = * PHI long | |
/--* t203 long | |
N007 ( 2, 3) [000204] DA---------- * STORE_LCL_VAR long V03 tmp2 d:5 | |
N001 ( 0, 0) [000220] ------------ t220 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000216] ------------ t216 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t220 int | |
+--* t216 int | |
N005 ( 2, 2) [000195] ------------ t195 = * PHI int | |
/--* t195 int | |
N007 ( 2, 3) [000196] DA---------- * STORE_LCL_VAR int V04 tmp3 d:5 | |
( 1, 3) [000075] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000072] ------------ t72 = LCL_VAR int V04 tmp3 u:5 $281 | |
/--* t72 int | |
N003 ( 1, 3) [000074] DA---------- * STORE_LCL_VAR int V05 tmp4 d:2 | |
( 5, 5) [000177] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000174] ------------ t174 = LCL_VAR int V05 tmp4 u:2 $281 | |
N002 ( 1, 1) [000175] ------------ t175 = CNS_INT int 0 $40 | |
/--* t174 int | |
+--* t175 int | |
N003 ( 3, 3) [000173] J------N---- t173 = * LE int $20a | |
/--* t173 int | |
N004 ( 5, 5) [000176] ------------ * JTRUE void | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
N001 ( 0, 0) [000238] ------------ t238 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000226] ------------ t226 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t238 long | |
+--* t226 long | |
N005 ( 2, 2) [000187] ------------ t187 = * PHI long | |
/--* t187 long | |
N007 ( 2, 3) [000188] DA---------- * STORE_LCL_VAR long V03 tmp2 d:6 | |
N001 ( 0, 0) [000240] ------------ t240 = PHI_ARG int V04 tmp3 u:7 | |
N002 ( 0, 0) [000228] ------------ t228 = PHI_ARG int V04 tmp3 u:5 $281 | |
/--* t240 int | |
+--* t228 int | |
N005 ( 2, 2) [000179] ------------ t179 = * PHI int | |
/--* t179 int | |
N007 ( 2, 3) [000180] DA---------- * STORE_LCL_VAR int V04 tmp3 d:6 | |
( 1, 3) [000086] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000083] ------------ t83 = LCL_VAR int V04 tmp3 u:6 $282 | |
/--* t83 int | |
N003 ( 1, 3) [000085] DA---------- * STORE_LCL_VAR int V05 tmp4 d:3 | |
( 7, 7) [000096] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000087] ------------ t87 = LCL_VAR int V05 tmp4 u:3 (last use) $282 | |
N002 ( 1, 1) [000088] ------------ t88 = LCL_VAR long V03 tmp2 u:6 $147 | |
/--* t88 long | |
N003 ( 3, 2) [000089] *--XG------- t89 = * IND long <l:$148, c:$400> | |
/--* t89 long | |
N004 ( 4, 3) [000090] ---XG------- t90 = * HWIntrinsic long PopCount $440 | |
/--* t90 long | |
N005 ( 5, 5) [000091] ---XG------- t91 = * CAST int <- long $20b | |
/--* t87 int | |
+--* t91 int | |
N006 ( 7, 7) [000092] ---XG------- t92 = * SUB int $20c | |
/--* t92 int | |
N008 ( 7, 7) [000095] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:7 | |
( 3, 3) [000103] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000097] ------------ t97 = LCL_VAR long V03 tmp2 u:6 (last use) $147 | |
N002 ( 1, 1) [000099] ------------ t99 = CNS_INT long 8 $340 | |
/--* t97 long | |
+--* t99 long | |
N003 ( 3, 3) [000100] ------------ t100 = * ADD long $246 | |
/--* t100 long | |
N005 ( 3, 3) [000102] DA---------- * STORE_LCL_VAR long V03 tmp2 d:7 | |
( 5, 5) [000081] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000077] ------------ t77 = LCL_VAR int V04 tmp3 u:7 $20c | |
N002 ( 1, 1) [000078] ------------ t78 = CNS_INT int 0 $40 | |
/--* t77 int | |
+--* t78 int | |
N003 ( 3, 3) [000079] J------N---- t79 = * GT int $20d | |
/--* t79 int | |
N004 ( 5, 5) [000080] ------------ * JTRUE void | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
N001 ( 0, 0) [000234] ------------ t234 = PHI_ARG int V05 tmp4 u:3 | |
N002 ( 0, 0) [000230] ------------ t230 = PHI_ARG int V05 tmp4 u:2 $281 | |
/--* t234 int | |
+--* t230 int | |
N005 ( 2, 2) [000191] ------------ t191 = * PHI int | |
/--* t191 int | |
N007 ( 2, 3) [000192] DA---------- * STORE_LCL_VAR int V05 tmp4 d:4 | |
N001 ( 0, 0) [000236] ------------ t236 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000232] ------------ t232 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t236 long | |
+--* t232 long | |
N005 ( 2, 2) [000183] ------------ t183 = * PHI long | |
/--* t183 long | |
N007 ( 2, 3) [000184] DA---------- * STORE_LCL_VAR long V03 tmp2 d:8 | |
( 3, 3) [000111] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000105] ------------ t105 = LCL_VAR long V03 tmp2 u:8 (last use) $149 | |
N002 ( 1, 1) [000107] ------------ t107 = CNS_INT long -8 $345 | |
/--* t105 long | |
+--* t107 long | |
N003 ( 3, 3) [000108] ------------ t108 = * ADD long $247 | |
/--* t108 long | |
N005 ( 3, 3) [000110] DA---------- * STORE_LCL_VAR long V03 tmp2 d:9 | |
( 16, 13) [000127] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000114] ------------ t114 = LCL_VAR int V05 tmp4 u:4 (last use) $283 | |
N002 ( 1, 1) [000115] ------------ t115 = CNS_INT int -1 $41 | |
/--* t114 int | |
+--* t115 int | |
N003 ( 3, 3) [000116] ------------ t116 = * ADD int $20f | |
N004 ( 1, 1) [000117] ------------ t117 = CNS_INT int 63 $4a | |
/--* t116 int | |
+--* t117 int | |
N005 ( 5, 5) [000118] ------------ t118 = * AND int $210 | |
N006 ( 1, 1) [000113] ------------ t113 = CNS_INT long 1 $346 | |
/--* t113 long | |
+--* t118 int | |
N007 ( 10, 7) [000119] ------------ t119 = * LSH long $248 | |
N008 ( 1, 1) [000120] ------------ t120 = LCL_VAR long V03 tmp2 u:9 $247 | |
/--* t120 long | |
N009 ( 3, 2) [000121] *--XG------- t121 = * IND long <l:$14a, c:$184> | |
/--* t119 long | |
+--* t121 long | |
N010 ( 14, 10) [000122] ---XG------- t122 = * HWIntrinsic long ParallelBitDeposit $480 | |
/--* t122 long | |
N011 ( 15, 11) [000123] ---XG------- t123 = * HWIntrinsic long TrailingZeroCount $481 | |
/--* t123 long | |
N012 ( 16, 13) [000124] ---XG------- t124 = * CAST int <- long $211 | |
/--* t124 int | |
N014 ( 16, 13) [000126] DA-XG------- * STORE_LCL_VAR int V06 tmp5 d:2 | |
N001 ( 1, 1) [000128] ------------ t128 = LCL_VAR long V03 tmp2 u:9 (last use) $247 | |
N002 ( 1, 1) [000129] ------------ t129 = LCL_VAR long V02 tmp1 u:2 (last use) <l:$140, c:$180> | |
/--* t128 long | |
+--* t129 long | |
N003 ( 3, 3) [000130] ------------ t130 = * SUB long <l:$249, c:$24a> | |
N004 ( 1, 1) [000132] ------------ t132 = CNS_INT long 8 $340 | |
/--* t130 long | |
+--* t132 long | |
N005 ( 24, 7) [000133] ------------ t133 = * DIV long <l:$24b, c:$24c> | |
/--* t133 long | |
N006 ( 25, 9) [000166] ------------ t166 = * CAST int <- long <l:$212, c:$213> | |
N007 ( 1, 1) [000135] ------------ t135 = CNS_INT int 6 $4b | |
/--* t166 int | |
+--* t135 int | |
N008 ( 27, 11) [000136] ------------ t136 = * LSH int <l:$214, c:$215> | |
N009 ( 1, 1) [000138] ------------ t138 = LCL_VAR int V06 tmp5 u:2 (last use) $211 | |
/--* t136 int | |
+--* t138 int | |
N010 ( 29, 13) [000139] ------------ t139 = * ADD int <l:$216, c:$217> | |
/--* t139 int | |
N011 ( 30, 14) [000010] ------------ * RETURN int $1c3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In fgDebugCheckBBlist | |
*************** In Lowering | |
Trees before Lowering | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target LIR | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd LIR | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target LIR | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd LIR | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target LIR | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
( 5, 12) [000142] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 3, 10) [000159] ------------ t159 = CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
/--* t159 long | |
N002 ( 5, 12) [000001] x---G------- t1 = * IND long <l:$140, c:$180> | |
/--* t1 long | |
N004 ( 5, 12) [000141] DA--G------- * STORE_LCL_VAR long V02 tmp1 d:2 | |
( 1, 3) [000145] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000003] ------------ t3 = LCL_VAR int V00 arg0 u:2 (last use) $80 | |
/--* t3 int | |
N003 ( 1, 3) [000144] DA---------- * STORE_LCL_VAR int V04 tmp3 d:2 | |
( 1, 3) [000016] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000013] ------------ t13 = LCL_VAR long V02 tmp1 u:2 <l:$140, c:$180> | |
/--* t13 long | |
N003 ( 1, 3) [000015] DA---------- * STORE_LCL_VAR long V03 tmp2 d:2 | |
( 5, 8) [000172] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000169] ------------ t169 = LCL_VAR int V04 tmp3 u:2 $80 | |
N002 ( 1, 4) [000170] ------------ t170 = CNS_INT int 256 $43 | |
/--* t169 int | |
+--* t170 int | |
N003 ( 3, 6) [000168] J------N---- t168 = * LT int $200 | |
/--* t168 int | |
N004 ( 5, 8) [000171] ------------ * JTRUE void | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
N001 ( 0, 0) [000222] ------------ t222 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000210] ------------ t210 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t222 long | |
+--* t210 long | |
N005 ( 2, 2) [000207] ------------ t207 = * PHI long | |
/--* t207 long | |
N007 ( 2, 3) [000208] DA---------- * STORE_LCL_VAR long V03 tmp2 d:3 | |
N001 ( 0, 0) [000224] ------------ t224 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000212] ------------ t212 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t224 int | |
+--* t212 int | |
N005 ( 2, 2) [000199] ------------ t199 = * PHI int | |
/--* t199 int | |
N007 ( 2, 3) [000200] DA---------- * STORE_LCL_VAR int V04 tmp3 d:3 | |
( 28, 31) [000060] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000025] ------------ t25 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t25 long | |
N002 ( 3, 2) [000026] *--XG------- t26 = * IND long <l:$142, c:$2c0> | |
/--* t26 long | |
N003 ( 4, 3) [000027] ---XG------- t27 = * HWIntrinsic long PopCount $300 | |
/--* t27 long | |
N004 ( 5, 5) [000164] ---XG------- t164 = * CAST int <- long $201 | |
N005 ( 1, 1) [000028] ------------ t28 = LCL_VAR long V03 tmp2 u:3 $141 | |
N006 ( 1, 1) [000030] ------------ t30 = CNS_INT long 8 $340 | |
/--* t28 long | |
+--* t30 long | |
N007 ( 2, 2) [000031] -------N---- t31 = * ADD long $241 | |
/--* t31 long | |
N008 ( 4, 4) [000032] *--XG------- t32 = * IND long <l:$143, c:$2c1> | |
/--* t32 long | |
N009 ( 5, 5) [000033] ---XG------- t33 = * HWIntrinsic long PopCount $301 | |
/--* t33 long | |
N010 ( 6, 7) [000165] ---XG------- t165 = * CAST int <- long $202 | |
/--* t164 int | |
+--* t165 int | |
N011 ( 12, 13) [000034] ---XG------- t34 = * ADD int $203 | |
N012 ( 1, 1) [000035] ------------ t35 = LCL_VAR long V03 tmp2 u:3 $141 | |
N013 ( 1, 1) [000040] ------------ t40 = CNS_INT long 16 $342 | |
/--* t35 long | |
+--* t40 long | |
N014 ( 2, 2) [000041] -------N---- t41 = * ADD long $242 | |
/--* t41 long | |
N015 ( 4, 4) [000042] *--XG------- t42 = * IND long <l:$144, c:$2c2> | |
/--* t42 long | |
N016 ( 5, 5) [000043] ---XG------- t43 = * HWIntrinsic long PopCount $302 | |
/--* t43 long | |
N017 ( 6, 7) [000163] ---XG------- t163 = * CAST int <- long $204 | |
/--* t34 int | |
+--* t163 int | |
N018 ( 19, 21) [000044] ---XG------- t44 = * ADD int $205 | |
N019 ( 1, 1) [000045] ------------ t45 = LCL_VAR long V03 tmp2 u:3 $141 | |
N020 ( 1, 1) [000050] ------------ t50 = CNS_INT long 24 $343 | |
/--* t45 long | |
+--* t50 long | |
N021 ( 2, 2) [000051] -------N---- t51 = * ADD long $243 | |
/--* t51 long | |
N022 ( 4, 4) [000052] *--XG------- t52 = * IND long <l:$145, c:$2c3> | |
/--* t52 long | |
N023 ( 5, 5) [000053] ---XG------- t53 = * HWIntrinsic long PopCount $303 | |
/--* t53 long | |
N024 ( 6, 7) [000161] ---XG------- t161 = * CAST int <- long $206 | |
/--* t44 int | |
+--* t161 int | |
N025 ( 26, 29) [000054] ---XG------- t54 = * ADD int $207 | |
N026 ( 1, 1) [000024] ------------ t24 = LCL_VAR int V04 tmp3 u:3 (last use) $280 | |
/--* t24 int | |
+--* t54 int | |
N027 ( 28, 31) [000056] ---XG------- t56 = * SUB int $208 | |
/--* t56 int | |
N029 ( 28, 31) [000059] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:4 | |
( 3, 3) [000070] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000061] ------------ t61 = LCL_VAR long V03 tmp2 u:3 (last use) $141 | |
N002 ( 1, 1) [000066] ------------ t66 = CNS_INT long 32 $344 | |
/--* t61 long | |
+--* t66 long | |
N003 ( 3, 3) [000067] ------------ t67 = * ADD long $244 | |
/--* t67 long | |
N005 ( 3, 3) [000069] DA---------- * STORE_LCL_VAR long V03 tmp2 d:4 | |
( 5, 8) [000022] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000018] ------------ t18 = LCL_VAR int V04 tmp3 u:4 $208 | |
N002 ( 1, 4) [000019] ------------ t19 = CNS_INT int 256 $43 | |
/--* t18 int | |
+--* t19 int | |
N003 ( 3, 6) [000020] J------N---- t20 = * GE int $209 | |
/--* t20 int | |
N004 ( 5, 8) [000021] ------------ * JTRUE void | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
N001 ( 0, 0) [000218] ------------ t218 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000214] ------------ t214 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t218 long | |
+--* t214 long | |
N005 ( 2, 2) [000203] ------------ t203 = * PHI long | |
/--* t203 long | |
N007 ( 2, 3) [000204] DA---------- * STORE_LCL_VAR long V03 tmp2 d:5 | |
N001 ( 0, 0) [000220] ------------ t220 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000216] ------------ t216 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t220 int | |
+--* t216 int | |
N005 ( 2, 2) [000195] ------------ t195 = * PHI int | |
/--* t195 int | |
N007 ( 2, 3) [000196] DA---------- * STORE_LCL_VAR int V04 tmp3 d:5 | |
( 1, 3) [000075] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000072] ------------ t72 = LCL_VAR int V04 tmp3 u:5 $281 | |
/--* t72 int | |
N003 ( 1, 3) [000074] DA---------- * STORE_LCL_VAR int V05 tmp4 d:2 | |
( 5, 5) [000177] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000174] ------------ t174 = LCL_VAR int V05 tmp4 u:2 $281 | |
N002 ( 1, 1) [000175] ------------ t175 = CNS_INT int 0 $40 | |
/--* t174 int | |
+--* t175 int | |
N003 ( 3, 3) [000173] J------N---- t173 = * LE int $20a | |
/--* t173 int | |
N004 ( 5, 5) [000176] ------------ * JTRUE void | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
N001 ( 0, 0) [000238] ------------ t238 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000226] ------------ t226 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t238 long | |
+--* t226 long | |
N005 ( 2, 2) [000187] ------------ t187 = * PHI long | |
/--* t187 long | |
N007 ( 2, 3) [000188] DA---------- * STORE_LCL_VAR long V03 tmp2 d:6 | |
N001 ( 0, 0) [000240] ------------ t240 = PHI_ARG int V04 tmp3 u:7 | |
N002 ( 0, 0) [000228] ------------ t228 = PHI_ARG int V04 tmp3 u:5 $281 | |
/--* t240 int | |
+--* t228 int | |
N005 ( 2, 2) [000179] ------------ t179 = * PHI int | |
/--* t179 int | |
N007 ( 2, 3) [000180] DA---------- * STORE_LCL_VAR int V04 tmp3 d:6 | |
( 1, 3) [000086] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000083] ------------ t83 = LCL_VAR int V04 tmp3 u:6 $282 | |
/--* t83 int | |
N003 ( 1, 3) [000085] DA---------- * STORE_LCL_VAR int V05 tmp4 d:3 | |
( 7, 7) [000096] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000087] ------------ t87 = LCL_VAR int V05 tmp4 u:3 (last use) $282 | |
N002 ( 1, 1) [000088] ------------ t88 = LCL_VAR long V03 tmp2 u:6 $147 | |
/--* t88 long | |
N003 ( 3, 2) [000089] *--XG------- t89 = * IND long <l:$148, c:$400> | |
/--* t89 long | |
N004 ( 4, 3) [000090] ---XG------- t90 = * HWIntrinsic long PopCount $440 | |
/--* t90 long | |
N005 ( 5, 5) [000091] ---XG------- t91 = * CAST int <- long $20b | |
/--* t87 int | |
+--* t91 int | |
N006 ( 7, 7) [000092] ---XG------- t92 = * SUB int $20c | |
/--* t92 int | |
N008 ( 7, 7) [000095] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:7 | |
( 3, 3) [000103] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000097] ------------ t97 = LCL_VAR long V03 tmp2 u:6 (last use) $147 | |
N002 ( 1, 1) [000099] ------------ t99 = CNS_INT long 8 $340 | |
/--* t97 long | |
+--* t99 long | |
N003 ( 3, 3) [000100] ------------ t100 = * ADD long $246 | |
/--* t100 long | |
N005 ( 3, 3) [000102] DA---------- * STORE_LCL_VAR long V03 tmp2 d:7 | |
( 5, 5) [000081] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000077] ------------ t77 = LCL_VAR int V04 tmp3 u:7 $20c | |
N002 ( 1, 1) [000078] ------------ t78 = CNS_INT int 0 $40 | |
/--* t77 int | |
+--* t78 int | |
N003 ( 3, 3) [000079] J------N---- t79 = * GT int $20d | |
/--* t79 int | |
N004 ( 5, 5) [000080] ------------ * JTRUE void | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
N001 ( 0, 0) [000234] ------------ t234 = PHI_ARG int V05 tmp4 u:3 | |
N002 ( 0, 0) [000230] ------------ t230 = PHI_ARG int V05 tmp4 u:2 $281 | |
/--* t234 int | |
+--* t230 int | |
N005 ( 2, 2) [000191] ------------ t191 = * PHI int | |
/--* t191 int | |
N007 ( 2, 3) [000192] DA---------- * STORE_LCL_VAR int V05 tmp4 d:4 | |
N001 ( 0, 0) [000236] ------------ t236 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000232] ------------ t232 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t236 long | |
+--* t232 long | |
N005 ( 2, 2) [000183] ------------ t183 = * PHI long | |
/--* t183 long | |
N007 ( 2, 3) [000184] DA---------- * STORE_LCL_VAR long V03 tmp2 d:8 | |
( 3, 3) [000111] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000105] ------------ t105 = LCL_VAR long V03 tmp2 u:8 (last use) $149 | |
N002 ( 1, 1) [000107] ------------ t107 = CNS_INT long -8 $345 | |
/--* t105 long | |
+--* t107 long | |
N003 ( 3, 3) [000108] ------------ t108 = * ADD long $247 | |
/--* t108 long | |
N005 ( 3, 3) [000110] DA---------- * STORE_LCL_VAR long V03 tmp2 d:9 | |
( 16, 13) [000127] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000114] ------------ t114 = LCL_VAR int V05 tmp4 u:4 (last use) $283 | |
N002 ( 1, 1) [000115] ------------ t115 = CNS_INT int -1 $41 | |
/--* t114 int | |
+--* t115 int | |
N003 ( 3, 3) [000116] ------------ t116 = * ADD int $20f | |
N004 ( 1, 1) [000117] ------------ t117 = CNS_INT int 63 $4a | |
/--* t116 int | |
+--* t117 int | |
N005 ( 5, 5) [000118] ------------ t118 = * AND int $210 | |
N006 ( 1, 1) [000113] ------------ t113 = CNS_INT long 1 $346 | |
/--* t113 long | |
+--* t118 int | |
N007 ( 10, 7) [000119] ------------ t119 = * LSH long $248 | |
N008 ( 1, 1) [000120] ------------ t120 = LCL_VAR long V03 tmp2 u:9 $247 | |
/--* t120 long | |
N009 ( 3, 2) [000121] *--XG------- t121 = * IND long <l:$14a, c:$184> | |
/--* t119 long | |
+--* t121 long | |
N010 ( 14, 10) [000122] ---XG------- t122 = * HWIntrinsic long ParallelBitDeposit $480 | |
/--* t122 long | |
N011 ( 15, 11) [000123] ---XG------- t123 = * HWIntrinsic long TrailingZeroCount $481 | |
/--* t123 long | |
N012 ( 16, 13) [000124] ---XG------- t124 = * CAST int <- long $211 | |
/--* t124 int | |
N014 ( 16, 13) [000126] DA-XG------- * STORE_LCL_VAR int V06 tmp5 d:2 | |
N001 ( 1, 1) [000128] ------------ t128 = LCL_VAR long V03 tmp2 u:9 (last use) $247 | |
N002 ( 1, 1) [000129] ------------ t129 = LCL_VAR long V02 tmp1 u:2 (last use) <l:$140, c:$180> | |
/--* t128 long | |
+--* t129 long | |
N003 ( 3, 3) [000130] ------------ t130 = * SUB long <l:$249, c:$24a> | |
N004 ( 1, 1) [000132] ------------ t132 = CNS_INT long 8 $340 | |
/--* t130 long | |
+--* t132 long | |
N005 ( 24, 7) [000133] ------------ t133 = * DIV long <l:$24b, c:$24c> | |
/--* t133 long | |
N006 ( 25, 9) [000166] ------------ t166 = * CAST int <- long <l:$212, c:$213> | |
N007 ( 1, 1) [000135] ------------ t135 = CNS_INT int 6 $4b | |
/--* t166 int | |
+--* t135 int | |
N008 ( 27, 11) [000136] ------------ t136 = * LSH int <l:$214, c:$215> | |
N009 ( 1, 1) [000138] ------------ t138 = LCL_VAR int V06 tmp5 u:2 (last use) $211 | |
/--* t136 int | |
+--* t138 int | |
N010 ( 29, 13) [000139] ------------ t139 = * ADD int <l:$216, c:$217> | |
/--* t139 int | |
N011 ( 30, 14) [000010] ------------ * RETURN int $1c3 | |
------------------------------------------------------------------------------------------------------------------- | |
No addressing mode: | |
N001 ( 3, 10) [000159] ------------ * CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
No addressing mode: | |
N001 ( 1, 1) [000025] ------------ * LCL_VAR long V03 tmp2 u:3 $141 | |
Addressing mode: | |
Base | |
N005 ( 1, 1) [000028] ------------ * LCL_VAR long V03 tmp2 u:3 $141 | |
+ 8 | |
New addressing mode node: | |
[000242] ------------ * LEA(b+8) long | |
Addressing mode: | |
Base | |
N012 ( 1, 1) [000035] ------------ * LCL_VAR long V03 tmp2 u:3 $141 | |
+ 16 | |
New addressing mode node: | |
[000243] ------------ * LEA(b+16) long | |
Addressing mode: | |
Base | |
N019 ( 1, 1) [000045] ------------ * LCL_VAR long V03 tmp2 u:3 $141 | |
+ 24 | |
New addressing mode node: | |
[000244] ------------ * LEA(b+24) long | |
No addressing mode: | |
N002 ( 1, 1) [000088] ------------ * LCL_VAR long V03 tmp2 u:6 $147 | |
No addressing mode: | |
N008 ( 1, 1) [000120] ------------ * LCL_VAR long V03 tmp2 u:9 $247 | |
lvaGrabTemp returning 7 (V07 rat0) called for ReplaceWithLclVar is creating a new local variable. | |
New refCnts for V07: refCnt = 1, refCntWtd = 2 | |
New refCnts for V07: refCnt = 2, refCntWtd = 4 | |
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X) | |
[000246] DA---------- * STORE_LCL_VAR long V07 rat0 | |
ReplaceWithLclVar created store : | |
[000246] DA---------- * STORE_LCL_VAR long V07 rat0 | |
New refCnts for V07: refCnt = 3, refCntWtd = 6 | |
lowering GT_RETURN | |
N011 ( 30, 14) [000010] ------------ * RETURN int $1c3 | |
============Lower has completed modifying nodes. | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target LIR | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd LIR | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target LIR | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd LIR | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target LIR | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
( 5, 12) [000142] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 3, 10) [000159] ------------ t159 = CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
/--* t159 long | |
N002 ( 5, 12) [000001] x---G------- t1 = * IND long <l:$140, c:$180> | |
/--* t1 long | |
N004 ( 5, 12) [000141] DA--G------- * STORE_LCL_VAR long V02 tmp1 d:2 | |
( 1, 3) [000145] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000003] ------------ t3 = LCL_VAR int V00 arg0 u:2 (last use) $80 | |
/--* t3 int | |
N003 ( 1, 3) [000144] DA---------- * STORE_LCL_VAR int V04 tmp3 d:2 | |
( 1, 3) [000016] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000013] ------------ t13 = LCL_VAR long V02 tmp1 u:2 <l:$140, c:$180> | |
/--* t13 long | |
N003 ( 1, 3) [000015] DA---------- * STORE_LCL_VAR long V03 tmp2 d:2 | |
( 5, 8) [000172] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000169] ------------ t169 = LCL_VAR int V04 tmp3 u:2 $80 | |
N002 ( 1, 4) [000170] -c---------- t170 = CNS_INT int 256 $43 | |
/--* t169 int | |
+--* t170 int | |
N003 ( 3, 6) [000168] J------N---- * LT void $200 | |
N004 ( 5, 8) [000171] ------------ * JTRUE void | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
N001 ( 0, 0) [000222] ------------ t222 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000210] ------------ t210 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t222 long | |
+--* t210 long | |
N005 ( 2, 2) [000207] ------------ t207 = * PHI long | |
/--* t207 long | |
N007 ( 2, 3) [000208] DA---------- * STORE_LCL_VAR long V03 tmp2 d:3 | |
N001 ( 0, 0) [000224] ------------ t224 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000212] ------------ t212 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t224 int | |
+--* t212 int | |
N005 ( 2, 2) [000199] ------------ t199 = * PHI int | |
/--* t199 int | |
N007 ( 2, 3) [000200] DA---------- * STORE_LCL_VAR int V04 tmp3 d:3 | |
( 28, 31) [000060] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000025] ------------ t25 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t25 long | |
N002 ( 3, 2) [000026] *c-XG------- t26 = * IND long <l:$142, c:$2c0> | |
/--* t26 long | |
N003 ( 4, 3) [000027] ---XG------- t27 = * HWIntrinsic long PopCount $300 | |
/--* t27 long | |
N004 ( 5, 5) [000164] ---XG------- t164 = * CAST int <- long $201 | |
N005 ( 1, 1) [000028] ------------ t28 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t28 long | |
[000242] -c---------- t242 = * LEA(b+8) long | |
/--* t242 long | |
N008 ( 4, 4) [000032] *c-XG------- t32 = * IND long <l:$143, c:$2c1> | |
/--* t32 long | |
N009 ( 5, 5) [000033] ---XG------- t33 = * HWIntrinsic long PopCount $301 | |
/--* t33 long | |
N010 ( 6, 7) [000165] ---XG------- t165 = * CAST int <- long $202 | |
/--* t164 int | |
+--* t165 int | |
N011 ( 12, 13) [000034] ---XG------- t34 = * ADD int $203 | |
N012 ( 1, 1) [000035] ------------ t35 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t35 long | |
[000243] -c---------- t243 = * LEA(b+16) long | |
/--* t243 long | |
N015 ( 4, 4) [000042] *c-XG------- t42 = * IND long <l:$144, c:$2c2> | |
/--* t42 long | |
N016 ( 5, 5) [000043] ---XG------- t43 = * HWIntrinsic long PopCount $302 | |
/--* t43 long | |
N017 ( 6, 7) [000163] ---XG------- t163 = * CAST int <- long $204 | |
/--* t34 int | |
+--* t163 int | |
N018 ( 19, 21) [000044] ---XG------- t44 = * ADD int $205 | |
N019 ( 1, 1) [000045] ------------ t45 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t45 long | |
[000244] -c---------- t244 = * LEA(b+24) long | |
/--* t244 long | |
N022 ( 4, 4) [000052] *c-XG------- t52 = * IND long <l:$145, c:$2c3> | |
/--* t52 long | |
N023 ( 5, 5) [000053] ---XG------- t53 = * HWIntrinsic long PopCount $303 | |
/--* t53 long | |
N024 ( 6, 7) [000161] ---XG------- t161 = * CAST int <- long $206 | |
/--* t44 int | |
+--* t161 int | |
N025 ( 26, 29) [000054] ---XG------- t54 = * ADD int $207 | |
N026 ( 1, 1) [000024] ------------ t24 = LCL_VAR int V04 tmp3 u:3 (last use) $280 | |
/--* t24 int | |
+--* t54 int | |
N027 ( 28, 31) [000056] ---XG------- t56 = * SUB int $208 | |
/--* t56 int | |
N029 ( 28, 31) [000059] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:4 | |
( 3, 3) [000070] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000061] ------------ t61 = LCL_VAR long V03 tmp2 u:3 (last use) $141 | |
N002 ( 1, 1) [000066] -c---------- t66 = CNS_INT long 32 $344 | |
/--* t61 long | |
+--* t66 long | |
N003 ( 3, 3) [000067] ------------ t67 = * ADD long $244 | |
/--* t67 long | |
N005 ( 3, 3) [000069] DA---------- * STORE_LCL_VAR long V03 tmp2 d:4 | |
( 5, 8) [000022] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000018] ------------ t18 = LCL_VAR int V04 tmp3 u:4 $208 | |
N002 ( 1, 4) [000019] -c---------- t19 = CNS_INT int 256 $43 | |
/--* t18 int | |
+--* t19 int | |
N003 ( 3, 6) [000020] J------N---- * GE void $209 | |
N004 ( 5, 8) [000021] ------------ * JTRUE void | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
N001 ( 0, 0) [000218] ------------ t218 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000214] ------------ t214 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t218 long | |
+--* t214 long | |
N005 ( 2, 2) [000203] ------------ t203 = * PHI long | |
/--* t203 long | |
N007 ( 2, 3) [000204] DA---------- * STORE_LCL_VAR long V03 tmp2 d:5 | |
N001 ( 0, 0) [000220] ------------ t220 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000216] ------------ t216 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t220 int | |
+--* t216 int | |
N005 ( 2, 2) [000195] ------------ t195 = * PHI int | |
/--* t195 int | |
N007 ( 2, 3) [000196] DA---------- * STORE_LCL_VAR int V04 tmp3 d:5 | |
( 1, 3) [000075] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000072] ------------ t72 = LCL_VAR int V04 tmp3 u:5 $281 | |
/--* t72 int | |
N003 ( 1, 3) [000074] DA---------- * STORE_LCL_VAR int V05 tmp4 d:2 | |
( 5, 5) [000177] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000174] ------------ t174 = LCL_VAR int V05 tmp4 u:2 $281 | |
N002 ( 1, 1) [000175] -c---------- t175 = CNS_INT int 0 $40 | |
/--* t174 int | |
+--* t175 int | |
N003 ( 3, 3) [000173] J------N---- * LE void $20a | |
N004 ( 5, 5) [000176] ------------ * JTRUE void | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
N001 ( 0, 0) [000238] ------------ t238 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000226] ------------ t226 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t238 long | |
+--* t226 long | |
N005 ( 2, 2) [000187] ------------ t187 = * PHI long | |
/--* t187 long | |
N007 ( 2, 3) [000188] DA---------- * STORE_LCL_VAR long V03 tmp2 d:6 | |
N001 ( 0, 0) [000240] ------------ t240 = PHI_ARG int V04 tmp3 u:7 | |
N002 ( 0, 0) [000228] ------------ t228 = PHI_ARG int V04 tmp3 u:5 $281 | |
/--* t240 int | |
+--* t228 int | |
N005 ( 2, 2) [000179] ------------ t179 = * PHI int | |
/--* t179 int | |
N007 ( 2, 3) [000180] DA---------- * STORE_LCL_VAR int V04 tmp3 d:6 | |
( 1, 3) [000086] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000083] ------------ t83 = LCL_VAR int V04 tmp3 u:6 $282 | |
/--* t83 int | |
N003 ( 1, 3) [000085] DA---------- * STORE_LCL_VAR int V05 tmp4 d:3 | |
( 7, 7) [000096] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000087] ------------ t87 = LCL_VAR int V05 tmp4 u:3 (last use) $282 | |
N002 ( 1, 1) [000088] ------------ t88 = LCL_VAR long V03 tmp2 u:6 $147 | |
/--* t88 long | |
N003 ( 3, 2) [000089] *c-XG------- t89 = * IND long <l:$148, c:$400> | |
/--* t89 long | |
N004 ( 4, 3) [000090] ---XG------- t90 = * HWIntrinsic long PopCount $440 | |
/--* t90 long | |
N005 ( 5, 5) [000091] ---XG------- t91 = * CAST int <- long $20b | |
/--* t87 int | |
+--* t91 int | |
N006 ( 7, 7) [000092] ---XG------- t92 = * SUB int $20c | |
/--* t92 int | |
N008 ( 7, 7) [000095] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:7 | |
( 3, 3) [000103] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000097] ------------ t97 = LCL_VAR long V03 tmp2 u:6 (last use) $147 | |
N002 ( 1, 1) [000099] -c---------- t99 = CNS_INT long 8 $340 | |
/--* t97 long | |
+--* t99 long | |
N003 ( 3, 3) [000100] ------------ t100 = * ADD long $246 | |
/--* t100 long | |
N005 ( 3, 3) [000102] DA---------- * STORE_LCL_VAR long V03 tmp2 d:7 | |
( 5, 5) [000081] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000077] ------------ t77 = LCL_VAR int V04 tmp3 u:7 $20c | |
N002 ( 1, 1) [000078] -c---------- t78 = CNS_INT int 0 $40 | |
/--* t77 int | |
+--* t78 int | |
N003 ( 3, 3) [000079] J------N---- * GT void $20d | |
N004 ( 5, 5) [000080] ------------ * JTRUE void | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
N001 ( 0, 0) [000234] ------------ t234 = PHI_ARG int V05 tmp4 u:3 | |
N002 ( 0, 0) [000230] ------------ t230 = PHI_ARG int V05 tmp4 u:2 $281 | |
/--* t234 int | |
+--* t230 int | |
N005 ( 2, 2) [000191] ------------ t191 = * PHI int | |
/--* t191 int | |
N007 ( 2, 3) [000192] DA---------- * STORE_LCL_VAR int V05 tmp4 d:4 | |
N001 ( 0, 0) [000236] ------------ t236 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000232] ------------ t232 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t236 long | |
+--* t232 long | |
N005 ( 2, 2) [000183] ------------ t183 = * PHI long | |
/--* t183 long | |
N007 ( 2, 3) [000184] DA---------- * STORE_LCL_VAR long V03 tmp2 d:8 | |
( 3, 3) [000111] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000105] ------------ t105 = LCL_VAR long V03 tmp2 u:8 (last use) $149 | |
N002 ( 1, 1) [000107] -c---------- t107 = CNS_INT long -8 $345 | |
/--* t105 long | |
+--* t107 long | |
N003 ( 3, 3) [000108] ------------ t108 = * ADD long $247 | |
/--* t108 long | |
N005 ( 3, 3) [000110] DA---------- * STORE_LCL_VAR long V03 tmp2 d:9 | |
( 16, 13) [000127] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000114] ------------ t114 = LCL_VAR int V05 tmp4 u:4 (last use) $283 | |
N002 ( 1, 1) [000115] -c---------- t115 = CNS_INT int -1 $41 | |
/--* t114 int | |
+--* t115 int | |
N003 ( 3, 3) [000116] ------------ t116 = * ADD int $20f | |
N006 ( 1, 1) [000113] ------------ t113 = CNS_INT long 1 $346 | |
/--* t113 long | |
+--* t116 int | |
N007 ( 10, 7) [000119] ------------ t119 = * LSH long $248 | |
N008 ( 1, 1) [000120] ------------ t120 = LCL_VAR long V03 tmp2 u:9 $247 | |
/--* t120 long | |
N009 ( 3, 2) [000121] *c-XG------- t121 = * IND long <l:$14a, c:$184> | |
/--* t119 long | |
+--* t121 long | |
N010 ( 14, 10) [000122] ---XG------- t122 = * HWIntrinsic long ParallelBitDeposit $480 | |
/--* t122 long | |
N011 ( 15, 11) [000123] ---XG------- t123 = * HWIntrinsic long TrailingZeroCount $481 | |
/--* t123 long | |
N012 ( 16, 13) [000124] ---XG------- t124 = * CAST int <- long $211 | |
/--* t124 int | |
N014 ( 16, 13) [000126] DA-XG------- * STORE_LCL_VAR int V06 tmp5 d:2 | |
N001 ( 1, 1) [000128] ------------ t128 = LCL_VAR long V03 tmp2 u:9 (last use) $247 | |
N002 ( 1, 1) [000129] ------------ t129 = LCL_VAR long V02 tmp1 u:2 (last use) <l:$140, c:$180> | |
/--* t128 long | |
+--* t129 long | |
N003 ( 3, 3) [000130] ------------ t130 = * SUB long <l:$249, c:$24a> | |
/--* t130 long | |
[000246] DA---------- * STORE_LCL_VAR long V07 rat0 | |
N001 ( 1, 1) [000247] ------------ t247 = LCL_VAR long V07 rat0 | |
N002 ( 1, 1) [000248] -c---------- t248 = CNS_INT int 63 | |
/--* t247 long | |
+--* t248 int | |
N003 ( 3, 3) [000249] ------------ t249 = * RSH long | |
N004 ( 1, 1) [000250] -c---------- t250 = CNS_INT long 7 | |
/--* t249 long | |
+--* t250 long | |
N005 ( 5, 5) [000251] ------------ t251 = * AND long | |
N006 ( 1, 1) [000252] ------------ t252 = LCL_VAR long V07 rat0 | |
/--* t251 long | |
+--* t252 long | |
N007 ( 7, 7) [000253] ------------ t253 = * ADD long | |
N008 ( 1, 1) [000132] -c---------- t132 = CNS_INT long 3 $340 | |
/--* t253 long | |
+--* t132 long | |
N009 ( 9, 9) [000254] ------------ t254 = * RSH long | |
/--* t254 long | |
N006 ( 25, 9) [000166] ------------ t166 = * CAST int <- long <l:$212, c:$213> | |
N007 ( 1, 1) [000135] -c---------- t135 = CNS_INT int 6 $4b | |
/--* t166 int | |
+--* t135 int | |
N008 ( 27, 11) [000136] ------------ t136 = * LSH int <l:$214, c:$215> | |
N009 ( 1, 1) [000138] ------------ t138 = LCL_VAR int V06 tmp5 u:2 (last use) $211 | |
/--* t136 int | |
+--* t138 int | |
N010 ( 29, 13) [000139] ------------ t139 = * ADD int <l:$216, c:$217> | |
/--* t139 int | |
N011 ( 30, 14) [000010] ------------ * RETURN int $1c3 | |
------------------------------------------------------------------------------------------------------------------- | |
New refCnts for V02: refCnt = 1, refCntWtd = 2 | |
New refCnts for V00: refCnt = 1, refCntWtd = 1 | |
New refCnts for V04: refCnt = 1, refCntWtd = 2 | |
New refCnts for V02: refCnt = 2, refCntWtd = 4 | |
New refCnts for V03: refCnt = 1, refCntWtd = 1 | |
New refCnts for V04: refCnt = 2, refCntWtd = 4 | |
New refCnts for V03: refCnt = 2, refCntWtd = 3 | |
New refCnts for V03: refCnt = 3, refCntWtd = 5 | |
New refCnts for V03: refCnt = 4, refCntWtd = 7 | |
New refCnts for V03: refCnt = 5, refCntWtd = 9 | |
New refCnts for V04: refCnt = 3, refCntWtd = 8 | |
New refCnts for V04: refCnt = 4, refCntWtd = 12 | |
New refCnts for V03: refCnt = 6, refCntWtd = 11 | |
New refCnts for V03: refCnt = 7, refCntWtd = 13 | |
New refCnts for V04: refCnt = 5, refCntWtd = 16 | |
New refCnts for V04: refCnt = 6, refCntWtd = 17 | |
New refCnts for V05: refCnt = 1, refCntWtd = 0.50 | |
New refCnts for V05: refCnt = 2, refCntWtd = 1 | |
New refCnts for V04: refCnt = 7, refCntWtd = 21 | |
New refCnts for V05: refCnt = 3, refCntWtd = 3 | |
New refCnts for V05: refCnt = 4, refCntWtd = 5 | |
New refCnts for V03: refCnt = 8, refCntWtd = 15 | |
New refCnts for V04: refCnt = 8, refCntWtd = 25 | |
New refCnts for V03: refCnt = 9, refCntWtd = 17 | |
New refCnts for V03: refCnt = 10, refCntWtd = 19 | |
New refCnts for V04: refCnt = 9, refCntWtd = 29 | |
New refCnts for V03: refCnt = 11, refCntWtd = 20 | |
New refCnts for V03: refCnt = 12, refCntWtd = 21 | |
New refCnts for V05: refCnt = 5, refCntWtd = 6 | |
New refCnts for V03: refCnt = 13, refCntWtd = 22 | |
New refCnts for V06: refCnt = 1, refCntWtd = 1 | |
New refCnts for V03: refCnt = 14, refCntWtd = 23 | |
New refCnts for V02: refCnt = 3, refCntWtd = 6 | |
New refCnts for V07: refCnt = 1, refCntWtd = 2 | |
New refCnts for V07: refCnt = 2, refCntWtd = 4 | |
New refCnts for V07: refCnt = 3, refCntWtd = 6 | |
New refCnts for V06: refCnt = 2, refCntWtd = 2 | |
New refCnts for V00: refCnt = 2, refCntWtd = 2 | |
New refCnts for V00: refCnt = 3, refCntWtd = 3 | |
*************** In fgLocalVarLiveness() | |
; Initial local variable assignments | |
; | |
; V00 arg0 int | |
; V01 OutArgs lclBlk ( 0) | |
; V02 tmp1 long | |
; V03 tmp2 long | |
; V04 tmp3 int | |
; V05 tmp4 int | |
; V06 tmp5 int | |
; V07 rat0 long | |
In fgLocalVarLivenessInit, sorting locals | |
refCnt table for 'IntrinsicsUnrolled': | |
V04 tmp3 [ int]: refCnt = 9, refCntWtd = 29 | |
V03 tmp2 [ long]: refCnt = 14, refCntWtd = 23 | |
V05 tmp4 [ int]: refCnt = 5, refCntWtd = 6 | |
V02 tmp1 [ long]: refCnt = 3, refCntWtd = 6 | |
V07 rat0 [ long]: refCnt = 3, refCntWtd = 6 | |
V00 arg0 [ int]: refCnt = 3, refCntWtd = 3 | |
V06 tmp5 [ int]: refCnt = 2, refCntWtd = 2 | |
V01 OutArgs [lclBlk]: refCnt = 1, refCntWtd = 1 | |
*************** In fgPerBlockLocalVarLiveness() | |
BB01 USE(1)={ V00} + ByrefExposed + GcHeap | |
DEF(3)={V04 V03 V02 } | |
BB02 USE(2)={V04 V03} + ByrefExposed + GcHeap | |
DEF(2)={V04 V03} | |
BB03 USE(1)={V04 } | |
DEF(1)={ V05} | |
BB04 USE(2)={V04 V03 } + ByrefExposed + GcHeap | |
DEF(3)={V04 V03 V05} | |
BB05 USE(3)={V03 V05 V02 } + ByrefExposed + GcHeap | |
DEF(3)={V03 V07 V06} | |
** Memory liveness computed, GcHeap states and ByrefExposed states match | |
*************** In fgInterBlockLocalVarLiveness() | |
BB liveness after fgLiveVarAnalysis(): | |
BB01 IN (1)={ V00} + ByrefExposed + GcHeap | |
OUT(3)={V04 V03 V02 } + ByrefExposed + GcHeap | |
BB02 IN (3)={V04 V03 V02} + ByrefExposed + GcHeap | |
OUT(3)={V04 V03 V02} + ByrefExposed + GcHeap | |
BB03 IN (3)={V04 V03 V02} + ByrefExposed + GcHeap | |
OUT(4)={V04 V03 V05 V02} + ByrefExposed + GcHeap | |
BB04 IN (3)={V04 V03 V02} + ByrefExposed + GcHeap | |
OUT(4)={V04 V03 V05 V02} + ByrefExposed + GcHeap | |
BB05 IN (3)={V03 V05 V02} + ByrefExposed + GcHeap | |
OUT(0)={ } | |
*************** In fgUpdateFlowGraph() | |
Before updating the flow graph: | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target LIR | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd LIR | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target LIR | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd LIR | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target LIR | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Liveness pass finished after lowering, IR: | |
lvasortagain = 0 | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target LIR | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd LIR | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target LIR | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd LIR | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target LIR | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
( 5, 12) [000142] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 3, 10) [000159] ------------ t159 = CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
/--* t159 long | |
N002 ( 5, 12) [000001] x---G------- t1 = * IND long <l:$140, c:$180> | |
/--* t1 long | |
N004 ( 5, 12) [000141] DA--G------- * STORE_LCL_VAR long V02 tmp1 d:2 | |
( 1, 3) [000145] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000003] ------------ t3 = LCL_VAR int V00 arg0 u:2 (last use) $80 | |
/--* t3 int | |
N003 ( 1, 3) [000144] DA---------- * STORE_LCL_VAR int V04 tmp3 d:2 | |
( 1, 3) [000016] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000013] ------------ t13 = LCL_VAR long V02 tmp1 u:2 <l:$140, c:$180> | |
/--* t13 long | |
N003 ( 1, 3) [000015] DA---------- * STORE_LCL_VAR long V03 tmp2 d:2 | |
( 5, 8) [000172] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000169] ------------ t169 = LCL_VAR int V04 tmp3 u:2 $80 | |
N002 ( 1, 4) [000170] -c---------- t170 = CNS_INT int 256 $43 | |
/--* t169 int | |
+--* t170 int | |
N003 ( 3, 6) [000168] J------N---- * LT void $200 | |
N004 ( 5, 8) [000171] ------------ * JTRUE void | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
N001 ( 0, 0) [000222] ------------ t222 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000210] ------------ t210 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t222 long | |
+--* t210 long | |
N005 ( 2, 2) [000207] ------------ t207 = * PHI long | |
/--* t207 long | |
N007 ( 2, 3) [000208] DA---------- * STORE_LCL_VAR long V03 tmp2 d:3 | |
N001 ( 0, 0) [000224] ------------ t224 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000212] ------------ t212 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t224 int | |
+--* t212 int | |
N005 ( 2, 2) [000199] ------------ t199 = * PHI int | |
/--* t199 int | |
N007 ( 2, 3) [000200] DA---------- * STORE_LCL_VAR int V04 tmp3 d:3 | |
( 28, 31) [000060] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000025] ------------ t25 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t25 long | |
N002 ( 3, 2) [000026] *c-XG------- t26 = * IND long <l:$142, c:$2c0> | |
/--* t26 long | |
N003 ( 4, 3) [000027] ---XG------- t27 = * HWIntrinsic long PopCount $300 | |
/--* t27 long | |
N004 ( 5, 5) [000164] ---XG------- t164 = * CAST int <- long $201 | |
N005 ( 1, 1) [000028] ------------ t28 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t28 long | |
[000242] -c---------- t242 = * LEA(b+8) long | |
/--* t242 long | |
N008 ( 4, 4) [000032] *c-XG------- t32 = * IND long <l:$143, c:$2c1> | |
/--* t32 long | |
N009 ( 5, 5) [000033] ---XG------- t33 = * HWIntrinsic long PopCount $301 | |
/--* t33 long | |
N010 ( 6, 7) [000165] ---XG------- t165 = * CAST int <- long $202 | |
/--* t164 int | |
+--* t165 int | |
N011 ( 12, 13) [000034] ---XG------- t34 = * ADD int $203 | |
N012 ( 1, 1) [000035] ------------ t35 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t35 long | |
[000243] -c---------- t243 = * LEA(b+16) long | |
/--* t243 long | |
N015 ( 4, 4) [000042] *c-XG------- t42 = * IND long <l:$144, c:$2c2> | |
/--* t42 long | |
N016 ( 5, 5) [000043] ---XG------- t43 = * HWIntrinsic long PopCount $302 | |
/--* t43 long | |
N017 ( 6, 7) [000163] ---XG------- t163 = * CAST int <- long $204 | |
/--* t34 int | |
+--* t163 int | |
N018 ( 19, 21) [000044] ---XG------- t44 = * ADD int $205 | |
N019 ( 1, 1) [000045] ------------ t45 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t45 long | |
[000244] -c---------- t244 = * LEA(b+24) long | |
/--* t244 long | |
N022 ( 4, 4) [000052] *c-XG------- t52 = * IND long <l:$145, c:$2c3> | |
/--* t52 long | |
N023 ( 5, 5) [000053] ---XG------- t53 = * HWIntrinsic long PopCount $303 | |
/--* t53 long | |
N024 ( 6, 7) [000161] ---XG------- t161 = * CAST int <- long $206 | |
/--* t44 int | |
+--* t161 int | |
N025 ( 26, 29) [000054] ---XG------- t54 = * ADD int $207 | |
N026 ( 1, 1) [000024] ------------ t24 = LCL_VAR int V04 tmp3 u:3 (last use) $280 | |
/--* t24 int | |
+--* t54 int | |
N027 ( 28, 31) [000056] ---XG------- t56 = * SUB int $208 | |
/--* t56 int | |
N029 ( 28, 31) [000059] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:4 | |
( 3, 3) [000070] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000061] ------------ t61 = LCL_VAR long V03 tmp2 u:3 (last use) $141 | |
N002 ( 1, 1) [000066] -c---------- t66 = CNS_INT long 32 $344 | |
/--* t61 long | |
+--* t66 long | |
N003 ( 3, 3) [000067] ------------ t67 = * ADD long $244 | |
/--* t67 long | |
N005 ( 3, 3) [000069] DA---------- * STORE_LCL_VAR long V03 tmp2 d:4 | |
( 5, 8) [000022] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000018] ------------ t18 = LCL_VAR int V04 tmp3 u:4 $208 | |
N002 ( 1, 4) [000019] -c---------- t19 = CNS_INT int 256 $43 | |
/--* t18 int | |
+--* t19 int | |
N003 ( 3, 6) [000020] J------N---- * GE void $209 | |
N004 ( 5, 8) [000021] ------------ * JTRUE void | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
N001 ( 0, 0) [000218] ------------ t218 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000214] ------------ t214 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t218 long | |
+--* t214 long | |
N005 ( 2, 2) [000203] ------------ t203 = * PHI long | |
/--* t203 long | |
N007 ( 2, 3) [000204] DA---------- * STORE_LCL_VAR long V03 tmp2 d:5 | |
N001 ( 0, 0) [000220] ------------ t220 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000216] ------------ t216 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t220 int | |
+--* t216 int | |
N005 ( 2, 2) [000195] ------------ t195 = * PHI int | |
/--* t195 int | |
N007 ( 2, 3) [000196] DA---------- * STORE_LCL_VAR int V04 tmp3 d:5 | |
( 1, 3) [000075] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000072] ------------ t72 = LCL_VAR int V04 tmp3 u:5 $281 | |
/--* t72 int | |
N003 ( 1, 3) [000074] DA---------- * STORE_LCL_VAR int V05 tmp4 d:2 | |
( 5, 5) [000177] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000174] ------------ t174 = LCL_VAR int V05 tmp4 u:2 $281 | |
N002 ( 1, 1) [000175] -c---------- t175 = CNS_INT int 0 $40 | |
/--* t174 int | |
+--* t175 int | |
N003 ( 3, 3) [000173] J------N---- * LE void $20a | |
N004 ( 5, 5) [000176] ------------ * JTRUE void | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
N001 ( 0, 0) [000238] ------------ t238 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000226] ------------ t226 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t238 long | |
+--* t226 long | |
N005 ( 2, 2) [000187] ------------ t187 = * PHI long | |
/--* t187 long | |
N007 ( 2, 3) [000188] DA---------- * STORE_LCL_VAR long V03 tmp2 d:6 | |
N001 ( 0, 0) [000240] ------------ t240 = PHI_ARG int V04 tmp3 u:7 | |
N002 ( 0, 0) [000228] ------------ t228 = PHI_ARG int V04 tmp3 u:5 $281 | |
/--* t240 int | |
+--* t228 int | |
N005 ( 2, 2) [000179] ------------ t179 = * PHI int | |
/--* t179 int | |
N007 ( 2, 3) [000180] DA---------- * STORE_LCL_VAR int V04 tmp3 d:6 | |
( 1, 3) [000086] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000083] ------------ t83 = LCL_VAR int V04 tmp3 u:6 (last use) $282 | |
/--* t83 int | |
N003 ( 1, 3) [000085] DA---------- * STORE_LCL_VAR int V05 tmp4 d:3 | |
( 7, 7) [000096] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000087] ------------ t87 = LCL_VAR int V05 tmp4 u:3 $282 | |
N002 ( 1, 1) [000088] ------------ t88 = LCL_VAR long V03 tmp2 u:6 $147 | |
/--* t88 long | |
N003 ( 3, 2) [000089] *c-XG------- t89 = * IND long <l:$148, c:$400> | |
/--* t89 long | |
N004 ( 4, 3) [000090] ---XG------- t90 = * HWIntrinsic long PopCount $440 | |
/--* t90 long | |
N005 ( 5, 5) [000091] ---XG------- t91 = * CAST int <- long $20b | |
/--* t87 int | |
+--* t91 int | |
N006 ( 7, 7) [000092] ---XG------- t92 = * SUB int $20c | |
/--* t92 int | |
N008 ( 7, 7) [000095] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:7 | |
( 3, 3) [000103] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000097] ------------ t97 = LCL_VAR long V03 tmp2 u:6 (last use) $147 | |
N002 ( 1, 1) [000099] -c---------- t99 = CNS_INT long 8 $340 | |
/--* t97 long | |
+--* t99 long | |
N003 ( 3, 3) [000100] ------------ t100 = * ADD long $246 | |
/--* t100 long | |
N005 ( 3, 3) [000102] DA---------- * STORE_LCL_VAR long V03 tmp2 d:7 | |
( 5, 5) [000081] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000077] ------------ t77 = LCL_VAR int V04 tmp3 u:7 $20c | |
N002 ( 1, 1) [000078] -c---------- t78 = CNS_INT int 0 $40 | |
/--* t77 int | |
+--* t78 int | |
N003 ( 3, 3) [000079] J------N---- * GT void $20d | |
N004 ( 5, 5) [000080] ------------ * JTRUE void | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
N001 ( 0, 0) [000234] ------------ t234 = PHI_ARG int V05 tmp4 u:3 | |
N002 ( 0, 0) [000230] ------------ t230 = PHI_ARG int V05 tmp4 u:2 $281 | |
/--* t234 int | |
+--* t230 int | |
N005 ( 2, 2) [000191] ------------ t191 = * PHI int | |
/--* t191 int | |
N007 ( 2, 3) [000192] DA---------- * STORE_LCL_VAR int V05 tmp4 d:4 | |
N001 ( 0, 0) [000236] ------------ t236 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000232] ------------ t232 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t236 long | |
+--* t232 long | |
N005 ( 2, 2) [000183] ------------ t183 = * PHI long | |
/--* t183 long | |
N007 ( 2, 3) [000184] DA---------- * STORE_LCL_VAR long V03 tmp2 d:8 | |
( 3, 3) [000111] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000105] ------------ t105 = LCL_VAR long V03 tmp2 u:8 (last use) $149 | |
N002 ( 1, 1) [000107] -c---------- t107 = CNS_INT long -8 $345 | |
/--* t105 long | |
+--* t107 long | |
N003 ( 3, 3) [000108] ------------ t108 = * ADD long $247 | |
/--* t108 long | |
N005 ( 3, 3) [000110] DA---------- * STORE_LCL_VAR long V03 tmp2 d:9 | |
( 16, 13) [000127] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000114] ------------ t114 = LCL_VAR int V05 tmp4 u:4 (last use) $283 | |
N002 ( 1, 1) [000115] -c---------- t115 = CNS_INT int -1 $41 | |
/--* t114 int | |
+--* t115 int | |
N003 ( 3, 3) [000116] ------------ t116 = * ADD int $20f | |
N006 ( 1, 1) [000113] ------------ t113 = CNS_INT long 1 $346 | |
/--* t113 long | |
+--* t116 int | |
N007 ( 10, 7) [000119] ------------ t119 = * LSH long $248 | |
N008 ( 1, 1) [000120] ------------ t120 = LCL_VAR long V03 tmp2 u:9 $247 | |
/--* t120 long | |
N009 ( 3, 2) [000121] *c-XG------- t121 = * IND long <l:$14a, c:$184> | |
/--* t119 long | |
+--* t121 long | |
N010 ( 14, 10) [000122] ---XG------- t122 = * HWIntrinsic long ParallelBitDeposit $480 | |
/--* t122 long | |
N011 ( 15, 11) [000123] ---XG------- t123 = * HWIntrinsic long TrailingZeroCount $481 | |
/--* t123 long | |
N012 ( 16, 13) [000124] ---XG------- t124 = * CAST int <- long $211 | |
/--* t124 int | |
N014 ( 16, 13) [000126] DA-XG------- * STORE_LCL_VAR int V06 tmp5 d:2 | |
N001 ( 1, 1) [000128] ------------ t128 = LCL_VAR long V03 tmp2 u:9 (last use) $247 | |
N002 ( 1, 1) [000129] ------------ t129 = LCL_VAR long V02 tmp1 u:2 (last use) <l:$140, c:$180> | |
/--* t128 long | |
+--* t129 long | |
N003 ( 3, 3) [000130] ------------ t130 = * SUB long <l:$249, c:$24a> | |
/--* t130 long | |
[000246] DA---------- * STORE_LCL_VAR long V07 rat0 | |
N001 ( 1, 1) [000247] ------------ t247 = LCL_VAR long V07 rat0 | |
N002 ( 1, 1) [000248] -c---------- t248 = CNS_INT int 63 | |
/--* t247 long | |
+--* t248 int | |
N003 ( 3, 3) [000249] ------------ t249 = * RSH long | |
N004 ( 1, 1) [000250] -c---------- t250 = CNS_INT long 7 | |
/--* t249 long | |
+--* t250 long | |
N005 ( 5, 5) [000251] ------------ t251 = * AND long | |
N006 ( 1, 1) [000252] ------------ t252 = LCL_VAR long V07 rat0 (last use) | |
/--* t251 long | |
+--* t252 long | |
N007 ( 7, 7) [000253] ------------ t253 = * ADD long | |
N008 ( 1, 1) [000132] -c---------- t132 = CNS_INT long 3 $340 | |
/--* t253 long | |
+--* t132 long | |
N009 ( 9, 9) [000254] ------------ t254 = * RSH long | |
/--* t254 long | |
N006 ( 25, 9) [000166] ------------ t166 = * CAST int <- long <l:$212, c:$213> | |
N007 ( 1, 1) [000135] -c---------- t135 = CNS_INT int 6 $4b | |
/--* t166 int | |
+--* t135 int | |
N008 ( 27, 11) [000136] ------------ t136 = * LSH int <l:$214, c:$215> | |
N009 ( 1, 1) [000138] ------------ t138 = LCL_VAR int V06 tmp5 u:2 (last use) $211 | |
/--* t136 int | |
+--* t138 int | |
N010 ( 29, 13) [000139] ------------ t139 = * ADD int <l:$216, c:$217> | |
/--* t139 int | |
N011 ( 30, 14) [000010] ------------ * RETURN int $1c3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Exiting Lowering | |
Trees after Lowering | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target LIR | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd LIR | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target LIR | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd LIR | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target LIR | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
( 5, 12) [000142] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 3, 10) [000159] ------------ t159 = CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
/--* t159 long | |
N002 ( 5, 12) [000001] x---G------- t1 = * IND long <l:$140, c:$180> | |
/--* t1 long | |
N004 ( 5, 12) [000141] DA--G------- * STORE_LCL_VAR long V02 tmp1 d:2 | |
( 1, 3) [000145] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000003] ------------ t3 = LCL_VAR int V00 arg0 u:2 (last use) $80 | |
/--* t3 int | |
N003 ( 1, 3) [000144] DA---------- * STORE_LCL_VAR int V04 tmp3 d:2 | |
( 1, 3) [000016] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000013] ------------ t13 = LCL_VAR long V02 tmp1 u:2 <l:$140, c:$180> | |
/--* t13 long | |
N003 ( 1, 3) [000015] DA---------- * STORE_LCL_VAR long V03 tmp2 d:2 | |
( 5, 8) [000172] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000169] ------------ t169 = LCL_VAR int V04 tmp3 u:2 $80 | |
N002 ( 1, 4) [000170] -c---------- t170 = CNS_INT int 256 $43 | |
/--* t169 int | |
+--* t170 int | |
N003 ( 3, 6) [000168] J------N---- * LT void $200 | |
N004 ( 5, 8) [000171] ------------ * JTRUE void | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
N001 ( 0, 0) [000222] ------------ t222 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000210] ------------ t210 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t222 long | |
+--* t210 long | |
N005 ( 2, 2) [000207] ------------ t207 = * PHI long | |
/--* t207 long | |
N007 ( 2, 3) [000208] DA---------- * STORE_LCL_VAR long V03 tmp2 d:3 | |
N001 ( 0, 0) [000224] ------------ t224 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000212] ------------ t212 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t224 int | |
+--* t212 int | |
N005 ( 2, 2) [000199] ------------ t199 = * PHI int | |
/--* t199 int | |
N007 ( 2, 3) [000200] DA---------- * STORE_LCL_VAR int V04 tmp3 d:3 | |
( 28, 31) [000060] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000025] ------------ t25 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t25 long | |
N002 ( 3, 2) [000026] *c-XG------- t26 = * IND long <l:$142, c:$2c0> | |
/--* t26 long | |
N003 ( 4, 3) [000027] ---XG------- t27 = * HWIntrinsic long PopCount $300 | |
/--* t27 long | |
N004 ( 5, 5) [000164] ---XG------- t164 = * CAST int <- long $201 | |
N005 ( 1, 1) [000028] ------------ t28 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t28 long | |
[000242] -c---------- t242 = * LEA(b+8) long | |
/--* t242 long | |
N008 ( 4, 4) [000032] *c-XG------- t32 = * IND long <l:$143, c:$2c1> | |
/--* t32 long | |
N009 ( 5, 5) [000033] ---XG------- t33 = * HWIntrinsic long PopCount $301 | |
/--* t33 long | |
N010 ( 6, 7) [000165] ---XG------- t165 = * CAST int <- long $202 | |
/--* t164 int | |
+--* t165 int | |
N011 ( 12, 13) [000034] ---XG------- t34 = * ADD int $203 | |
N012 ( 1, 1) [000035] ------------ t35 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t35 long | |
[000243] -c---------- t243 = * LEA(b+16) long | |
/--* t243 long | |
N015 ( 4, 4) [000042] *c-XG------- t42 = * IND long <l:$144, c:$2c2> | |
/--* t42 long | |
N016 ( 5, 5) [000043] ---XG------- t43 = * HWIntrinsic long PopCount $302 | |
/--* t43 long | |
N017 ( 6, 7) [000163] ---XG------- t163 = * CAST int <- long $204 | |
/--* t34 int | |
+--* t163 int | |
N018 ( 19, 21) [000044] ---XG------- t44 = * ADD int $205 | |
N019 ( 1, 1) [000045] ------------ t45 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t45 long | |
[000244] -c---------- t244 = * LEA(b+24) long | |
/--* t244 long | |
N022 ( 4, 4) [000052] *c-XG------- t52 = * IND long <l:$145, c:$2c3> | |
/--* t52 long | |
N023 ( 5, 5) [000053] ---XG------- t53 = * HWIntrinsic long PopCount $303 | |
/--* t53 long | |
N024 ( 6, 7) [000161] ---XG------- t161 = * CAST int <- long $206 | |
/--* t44 int | |
+--* t161 int | |
N025 ( 26, 29) [000054] ---XG------- t54 = * ADD int $207 | |
N026 ( 1, 1) [000024] ------------ t24 = LCL_VAR int V04 tmp3 u:3 (last use) $280 | |
/--* t24 int | |
+--* t54 int | |
N027 ( 28, 31) [000056] ---XG------- t56 = * SUB int $208 | |
/--* t56 int | |
N029 ( 28, 31) [000059] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:4 | |
( 3, 3) [000070] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000061] ------------ t61 = LCL_VAR long V03 tmp2 u:3 (last use) $141 | |
N002 ( 1, 1) [000066] -c---------- t66 = CNS_INT long 32 $344 | |
/--* t61 long | |
+--* t66 long | |
N003 ( 3, 3) [000067] ------------ t67 = * ADD long $244 | |
/--* t67 long | |
N005 ( 3, 3) [000069] DA---------- * STORE_LCL_VAR long V03 tmp2 d:4 | |
( 5, 8) [000022] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000018] ------------ t18 = LCL_VAR int V04 tmp3 u:4 $208 | |
N002 ( 1, 4) [000019] -c---------- t19 = CNS_INT int 256 $43 | |
/--* t18 int | |
+--* t19 int | |
N003 ( 3, 6) [000020] J------N---- * GE void $209 | |
N004 ( 5, 8) [000021] ------------ * JTRUE void | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
N001 ( 0, 0) [000218] ------------ t218 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000214] ------------ t214 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t218 long | |
+--* t214 long | |
N005 ( 2, 2) [000203] ------------ t203 = * PHI long | |
/--* t203 long | |
N007 ( 2, 3) [000204] DA---------- * STORE_LCL_VAR long V03 tmp2 d:5 | |
N001 ( 0, 0) [000220] ------------ t220 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000216] ------------ t216 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t220 int | |
+--* t216 int | |
N005 ( 2, 2) [000195] ------------ t195 = * PHI int | |
/--* t195 int | |
N007 ( 2, 3) [000196] DA---------- * STORE_LCL_VAR int V04 tmp3 d:5 | |
( 1, 3) [000075] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000072] ------------ t72 = LCL_VAR int V04 tmp3 u:5 $281 | |
/--* t72 int | |
N003 ( 1, 3) [000074] DA---------- * STORE_LCL_VAR int V05 tmp4 d:2 | |
( 5, 5) [000177] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000174] ------------ t174 = LCL_VAR int V05 tmp4 u:2 $281 | |
N002 ( 1, 1) [000175] -c---------- t175 = CNS_INT int 0 $40 | |
/--* t174 int | |
+--* t175 int | |
N003 ( 3, 3) [000173] J------N---- * LE void $20a | |
N004 ( 5, 5) [000176] ------------ * JTRUE void | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
N001 ( 0, 0) [000238] ------------ t238 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000226] ------------ t226 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t238 long | |
+--* t226 long | |
N005 ( 2, 2) [000187] ------------ t187 = * PHI long | |
/--* t187 long | |
N007 ( 2, 3) [000188] DA---------- * STORE_LCL_VAR long V03 tmp2 d:6 | |
N001 ( 0, 0) [000240] ------------ t240 = PHI_ARG int V04 tmp3 u:7 | |
N002 ( 0, 0) [000228] ------------ t228 = PHI_ARG int V04 tmp3 u:5 $281 | |
/--* t240 int | |
+--* t228 int | |
N005 ( 2, 2) [000179] ------------ t179 = * PHI int | |
/--* t179 int | |
N007 ( 2, 3) [000180] DA---------- * STORE_LCL_VAR int V04 tmp3 d:6 | |
( 1, 3) [000086] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000083] ------------ t83 = LCL_VAR int V04 tmp3 u:6 (last use) $282 | |
/--* t83 int | |
N003 ( 1, 3) [000085] DA---------- * STORE_LCL_VAR int V05 tmp4 d:3 | |
( 7, 7) [000096] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000087] ------------ t87 = LCL_VAR int V05 tmp4 u:3 $282 | |
N002 ( 1, 1) [000088] ------------ t88 = LCL_VAR long V03 tmp2 u:6 $147 | |
/--* t88 long | |
N003 ( 3, 2) [000089] *c-XG------- t89 = * IND long <l:$148, c:$400> | |
/--* t89 long | |
N004 ( 4, 3) [000090] ---XG------- t90 = * HWIntrinsic long PopCount $440 | |
/--* t90 long | |
N005 ( 5, 5) [000091] ---XG------- t91 = * CAST int <- long $20b | |
/--* t87 int | |
+--* t91 int | |
N006 ( 7, 7) [000092] ---XG------- t92 = * SUB int $20c | |
/--* t92 int | |
N008 ( 7, 7) [000095] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:7 | |
( 3, 3) [000103] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000097] ------------ t97 = LCL_VAR long V03 tmp2 u:6 (last use) $147 | |
N002 ( 1, 1) [000099] -c---------- t99 = CNS_INT long 8 $340 | |
/--* t97 long | |
+--* t99 long | |
N003 ( 3, 3) [000100] ------------ t100 = * ADD long $246 | |
/--* t100 long | |
N005 ( 3, 3) [000102] DA---------- * STORE_LCL_VAR long V03 tmp2 d:7 | |
( 5, 5) [000081] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000077] ------------ t77 = LCL_VAR int V04 tmp3 u:7 $20c | |
N002 ( 1, 1) [000078] -c---------- t78 = CNS_INT int 0 $40 | |
/--* t77 int | |
+--* t78 int | |
N003 ( 3, 3) [000079] J------N---- * GT void $20d | |
N004 ( 5, 5) [000080] ------------ * JTRUE void | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
N001 ( 0, 0) [000234] ------------ t234 = PHI_ARG int V05 tmp4 u:3 | |
N002 ( 0, 0) [000230] ------------ t230 = PHI_ARG int V05 tmp4 u:2 $281 | |
/--* t234 int | |
+--* t230 int | |
N005 ( 2, 2) [000191] ------------ t191 = * PHI int | |
/--* t191 int | |
N007 ( 2, 3) [000192] DA---------- * STORE_LCL_VAR int V05 tmp4 d:4 | |
N001 ( 0, 0) [000236] ------------ t236 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000232] ------------ t232 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t236 long | |
+--* t232 long | |
N005 ( 2, 2) [000183] ------------ t183 = * PHI long | |
/--* t183 long | |
N007 ( 2, 3) [000184] DA---------- * STORE_LCL_VAR long V03 tmp2 d:8 | |
( 3, 3) [000111] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000105] ------------ t105 = LCL_VAR long V03 tmp2 u:8 (last use) $149 | |
N002 ( 1, 1) [000107] -c---------- t107 = CNS_INT long -8 $345 | |
/--* t105 long | |
+--* t107 long | |
N003 ( 3, 3) [000108] ------------ t108 = * ADD long $247 | |
/--* t108 long | |
N005 ( 3, 3) [000110] DA---------- * STORE_LCL_VAR long V03 tmp2 d:9 | |
( 16, 13) [000127] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000114] ------------ t114 = LCL_VAR int V05 tmp4 u:4 (last use) $283 | |
N002 ( 1, 1) [000115] -c---------- t115 = CNS_INT int -1 $41 | |
/--* t114 int | |
+--* t115 int | |
N003 ( 3, 3) [000116] ------------ t116 = * ADD int $20f | |
N006 ( 1, 1) [000113] ------------ t113 = CNS_INT long 1 $346 | |
/--* t113 long | |
+--* t116 int | |
N007 ( 10, 7) [000119] ------------ t119 = * LSH long $248 | |
N008 ( 1, 1) [000120] ------------ t120 = LCL_VAR long V03 tmp2 u:9 $247 | |
/--* t120 long | |
N009 ( 3, 2) [000121] *c-XG------- t121 = * IND long <l:$14a, c:$184> | |
/--* t119 long | |
+--* t121 long | |
N010 ( 14, 10) [000122] ---XG------- t122 = * HWIntrinsic long ParallelBitDeposit $480 | |
/--* t122 long | |
N011 ( 15, 11) [000123] ---XG------- t123 = * HWIntrinsic long TrailingZeroCount $481 | |
/--* t123 long | |
N012 ( 16, 13) [000124] ---XG------- t124 = * CAST int <- long $211 | |
/--* t124 int | |
N014 ( 16, 13) [000126] DA-XG------- * STORE_LCL_VAR int V06 tmp5 d:2 | |
N001 ( 1, 1) [000128] ------------ t128 = LCL_VAR long V03 tmp2 u:9 (last use) $247 | |
N002 ( 1, 1) [000129] ------------ t129 = LCL_VAR long V02 tmp1 u:2 (last use) <l:$140, c:$180> | |
/--* t128 long | |
+--* t129 long | |
N003 ( 3, 3) [000130] ------------ t130 = * SUB long <l:$249, c:$24a> | |
/--* t130 long | |
[000246] DA---------- * STORE_LCL_VAR long V07 rat0 | |
N001 ( 1, 1) [000247] ------------ t247 = LCL_VAR long V07 rat0 | |
N002 ( 1, 1) [000248] -c---------- t248 = CNS_INT int 63 | |
/--* t247 long | |
+--* t248 int | |
N003 ( 3, 3) [000249] ------------ t249 = * RSH long | |
N004 ( 1, 1) [000250] -c---------- t250 = CNS_INT long 7 | |
/--* t249 long | |
+--* t250 long | |
N005 ( 5, 5) [000251] ------------ t251 = * AND long | |
N006 ( 1, 1) [000252] ------------ t252 = LCL_VAR long V07 rat0 (last use) | |
/--* t251 long | |
+--* t252 long | |
N007 ( 7, 7) [000253] ------------ t253 = * ADD long | |
N008 ( 1, 1) [000132] -c---------- t132 = CNS_INT long 3 $340 | |
/--* t253 long | |
+--* t132 long | |
N009 ( 9, 9) [000254] ------------ t254 = * RSH long | |
/--* t254 long | |
N006 ( 25, 9) [000166] ------------ t166 = * CAST int <- long <l:$212, c:$213> | |
N007 ( 1, 1) [000135] -c---------- t135 = CNS_INT int 6 $4b | |
/--* t166 int | |
+--* t135 int | |
N008 ( 27, 11) [000136] ------------ t136 = * LSH int <l:$214, c:$215> | |
N009 ( 1, 1) [000138] ------------ t138 = LCL_VAR int V06 tmp5 u:2 (last use) $211 | |
/--* t136 int | |
+--* t138 int | |
N010 ( 29, 13) [000139] ------------ t139 = * ADD int <l:$216, c:$217> | |
/--* t139 int | |
N011 ( 30, 14) [000010] ------------ * RETURN int $1c3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
*************** In StackLevelSetter | |
Trees before StackLevelSetter | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target LIR | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd LIR | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target LIR | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd LIR | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target LIR | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
( 5, 12) [000142] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 3, 10) [000159] ------------ t159 = CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
/--* t159 long | |
N002 ( 5, 12) [000001] x---G------- t1 = * IND long <l:$140, c:$180> | |
/--* t1 long | |
N004 ( 5, 12) [000141] DA--G------- * STORE_LCL_VAR long V02 tmp1 d:2 | |
( 1, 3) [000145] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000003] ------------ t3 = LCL_VAR int V00 arg0 u:2 (last use) $80 | |
/--* t3 int | |
N003 ( 1, 3) [000144] DA---------- * STORE_LCL_VAR int V04 tmp3 d:2 | |
( 1, 3) [000016] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000013] ------------ t13 = LCL_VAR long V02 tmp1 u:2 <l:$140, c:$180> | |
/--* t13 long | |
N003 ( 1, 3) [000015] DA---------- * STORE_LCL_VAR long V03 tmp2 d:2 | |
( 5, 8) [000172] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000169] ------------ t169 = LCL_VAR int V04 tmp3 u:2 $80 | |
N002 ( 1, 4) [000170] -c---------- t170 = CNS_INT int 256 $43 | |
/--* t169 int | |
+--* t170 int | |
N003 ( 3, 6) [000168] J------N---- * LT void $200 | |
N004 ( 5, 8) [000171] ------------ * JTRUE void | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
N001 ( 0, 0) [000222] ------------ t222 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000210] ------------ t210 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t222 long | |
+--* t210 long | |
N005 ( 2, 2) [000207] ------------ t207 = * PHI long | |
/--* t207 long | |
N007 ( 2, 3) [000208] DA---------- * STORE_LCL_VAR long V03 tmp2 d:3 | |
N001 ( 0, 0) [000224] ------------ t224 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000212] ------------ t212 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t224 int | |
+--* t212 int | |
N005 ( 2, 2) [000199] ------------ t199 = * PHI int | |
/--* t199 int | |
N007 ( 2, 3) [000200] DA---------- * STORE_LCL_VAR int V04 tmp3 d:3 | |
( 28, 31) [000060] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000025] ------------ t25 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t25 long | |
N002 ( 3, 2) [000026] *c-XG------- t26 = * IND long <l:$142, c:$2c0> | |
/--* t26 long | |
N003 ( 4, 3) [000027] ---XG------- t27 = * HWIntrinsic long PopCount $300 | |
/--* t27 long | |
N004 ( 5, 5) [000164] ---XG------- t164 = * CAST int <- long $201 | |
N005 ( 1, 1) [000028] ------------ t28 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t28 long | |
[000242] -c---------- t242 = * LEA(b+8) long | |
/--* t242 long | |
N008 ( 4, 4) [000032] *c-XG------- t32 = * IND long <l:$143, c:$2c1> | |
/--* t32 long | |
N009 ( 5, 5) [000033] ---XG------- t33 = * HWIntrinsic long PopCount $301 | |
/--* t33 long | |
N010 ( 6, 7) [000165] ---XG------- t165 = * CAST int <- long $202 | |
/--* t164 int | |
+--* t165 int | |
N011 ( 12, 13) [000034] ---XG------- t34 = * ADD int $203 | |
N012 ( 1, 1) [000035] ------------ t35 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t35 long | |
[000243] -c---------- t243 = * LEA(b+16) long | |
/--* t243 long | |
N015 ( 4, 4) [000042] *c-XG------- t42 = * IND long <l:$144, c:$2c2> | |
/--* t42 long | |
N016 ( 5, 5) [000043] ---XG------- t43 = * HWIntrinsic long PopCount $302 | |
/--* t43 long | |
N017 ( 6, 7) [000163] ---XG------- t163 = * CAST int <- long $204 | |
/--* t34 int | |
+--* t163 int | |
N018 ( 19, 21) [000044] ---XG------- t44 = * ADD int $205 | |
N019 ( 1, 1) [000045] ------------ t45 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t45 long | |
[000244] -c---------- t244 = * LEA(b+24) long | |
/--* t244 long | |
N022 ( 4, 4) [000052] *c-XG------- t52 = * IND long <l:$145, c:$2c3> | |
/--* t52 long | |
N023 ( 5, 5) [000053] ---XG------- t53 = * HWIntrinsic long PopCount $303 | |
/--* t53 long | |
N024 ( 6, 7) [000161] ---XG------- t161 = * CAST int <- long $206 | |
/--* t44 int | |
+--* t161 int | |
N025 ( 26, 29) [000054] ---XG------- t54 = * ADD int $207 | |
N026 ( 1, 1) [000024] ------------ t24 = LCL_VAR int V04 tmp3 u:3 (last use) $280 | |
/--* t24 int | |
+--* t54 int | |
N027 ( 28, 31) [000056] ---XG------- t56 = * SUB int $208 | |
/--* t56 int | |
N029 ( 28, 31) [000059] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:4 | |
( 3, 3) [000070] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000061] ------------ t61 = LCL_VAR long V03 tmp2 u:3 (last use) $141 | |
N002 ( 1, 1) [000066] -c---------- t66 = CNS_INT long 32 $344 | |
/--* t61 long | |
+--* t66 long | |
N003 ( 3, 3) [000067] ------------ t67 = * ADD long $244 | |
/--* t67 long | |
N005 ( 3, 3) [000069] DA---------- * STORE_LCL_VAR long V03 tmp2 d:4 | |
( 5, 8) [000022] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000018] ------------ t18 = LCL_VAR int V04 tmp3 u:4 $208 | |
N002 ( 1, 4) [000019] -c---------- t19 = CNS_INT int 256 $43 | |
/--* t18 int | |
+--* t19 int | |
N003 ( 3, 6) [000020] J------N---- * GE void $209 | |
N004 ( 5, 8) [000021] ------------ * JTRUE void | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
N001 ( 0, 0) [000218] ------------ t218 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000214] ------------ t214 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t218 long | |
+--* t214 long | |
N005 ( 2, 2) [000203] ------------ t203 = * PHI long | |
/--* t203 long | |
N007 ( 2, 3) [000204] DA---------- * STORE_LCL_VAR long V03 tmp2 d:5 | |
N001 ( 0, 0) [000220] ------------ t220 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000216] ------------ t216 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t220 int | |
+--* t216 int | |
N005 ( 2, 2) [000195] ------------ t195 = * PHI int | |
/--* t195 int | |
N007 ( 2, 3) [000196] DA---------- * STORE_LCL_VAR int V04 tmp3 d:5 | |
( 1, 3) [000075] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000072] ------------ t72 = LCL_VAR int V04 tmp3 u:5 $281 | |
/--* t72 int | |
N003 ( 1, 3) [000074] DA---------- * STORE_LCL_VAR int V05 tmp4 d:2 | |
( 5, 5) [000177] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000174] ------------ t174 = LCL_VAR int V05 tmp4 u:2 $281 | |
N002 ( 1, 1) [000175] -c---------- t175 = CNS_INT int 0 $40 | |
/--* t174 int | |
+--* t175 int | |
N003 ( 3, 3) [000173] J------N---- * LE void $20a | |
N004 ( 5, 5) [000176] ------------ * JTRUE void | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
N001 ( 0, 0) [000238] ------------ t238 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000226] ------------ t226 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t238 long | |
+--* t226 long | |
N005 ( 2, 2) [000187] ------------ t187 = * PHI long | |
/--* t187 long | |
N007 ( 2, 3) [000188] DA---------- * STORE_LCL_VAR long V03 tmp2 d:6 | |
N001 ( 0, 0) [000240] ------------ t240 = PHI_ARG int V04 tmp3 u:7 | |
N002 ( 0, 0) [000228] ------------ t228 = PHI_ARG int V04 tmp3 u:5 $281 | |
/--* t240 int | |
+--* t228 int | |
N005 ( 2, 2) [000179] ------------ t179 = * PHI int | |
/--* t179 int | |
N007 ( 2, 3) [000180] DA---------- * STORE_LCL_VAR int V04 tmp3 d:6 | |
( 1, 3) [000086] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000083] ------------ t83 = LCL_VAR int V04 tmp3 u:6 (last use) $282 | |
/--* t83 int | |
N003 ( 1, 3) [000085] DA---------- * STORE_LCL_VAR int V05 tmp4 d:3 | |
( 7, 7) [000096] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000087] ------------ t87 = LCL_VAR int V05 tmp4 u:3 $282 | |
N002 ( 1, 1) [000088] ------------ t88 = LCL_VAR long V03 tmp2 u:6 $147 | |
/--* t88 long | |
N003 ( 3, 2) [000089] *c-XG------- t89 = * IND long <l:$148, c:$400> | |
/--* t89 long | |
N004 ( 4, 3) [000090] ---XG------- t90 = * HWIntrinsic long PopCount $440 | |
/--* t90 long | |
N005 ( 5, 5) [000091] ---XG------- t91 = * CAST int <- long $20b | |
/--* t87 int | |
+--* t91 int | |
N006 ( 7, 7) [000092] ---XG------- t92 = * SUB int $20c | |
/--* t92 int | |
N008 ( 7, 7) [000095] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:7 | |
( 3, 3) [000103] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000097] ------------ t97 = LCL_VAR long V03 tmp2 u:6 (last use) $147 | |
N002 ( 1, 1) [000099] -c---------- t99 = CNS_INT long 8 $340 | |
/--* t97 long | |
+--* t99 long | |
N003 ( 3, 3) [000100] ------------ t100 = * ADD long $246 | |
/--* t100 long | |
N005 ( 3, 3) [000102] DA---------- * STORE_LCL_VAR long V03 tmp2 d:7 | |
( 5, 5) [000081] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000077] ------------ t77 = LCL_VAR int V04 tmp3 u:7 $20c | |
N002 ( 1, 1) [000078] -c---------- t78 = CNS_INT int 0 $40 | |
/--* t77 int | |
+--* t78 int | |
N003 ( 3, 3) [000079] J------N---- * GT void $20d | |
N004 ( 5, 5) [000080] ------------ * JTRUE void | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
N001 ( 0, 0) [000234] ------------ t234 = PHI_ARG int V05 tmp4 u:3 | |
N002 ( 0, 0) [000230] ------------ t230 = PHI_ARG int V05 tmp4 u:2 $281 | |
/--* t234 int | |
+--* t230 int | |
N005 ( 2, 2) [000191] ------------ t191 = * PHI int | |
/--* t191 int | |
N007 ( 2, 3) [000192] DA---------- * STORE_LCL_VAR int V05 tmp4 d:4 | |
N001 ( 0, 0) [000236] ------------ t236 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000232] ------------ t232 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t236 long | |
+--* t232 long | |
N005 ( 2, 2) [000183] ------------ t183 = * PHI long | |
/--* t183 long | |
N007 ( 2, 3) [000184] DA---------- * STORE_LCL_VAR long V03 tmp2 d:8 | |
( 3, 3) [000111] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000105] ------------ t105 = LCL_VAR long V03 tmp2 u:8 (last use) $149 | |
N002 ( 1, 1) [000107] -c---------- t107 = CNS_INT long -8 $345 | |
/--* t105 long | |
+--* t107 long | |
N003 ( 3, 3) [000108] ------------ t108 = * ADD long $247 | |
/--* t108 long | |
N005 ( 3, 3) [000110] DA---------- * STORE_LCL_VAR long V03 tmp2 d:9 | |
( 16, 13) [000127] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000114] ------------ t114 = LCL_VAR int V05 tmp4 u:4 (last use) $283 | |
N002 ( 1, 1) [000115] -c---------- t115 = CNS_INT int -1 $41 | |
/--* t114 int | |
+--* t115 int | |
N003 ( 3, 3) [000116] ------------ t116 = * ADD int $20f | |
N006 ( 1, 1) [000113] ------------ t113 = CNS_INT long 1 $346 | |
/--* t113 long | |
+--* t116 int | |
N007 ( 10, 7) [000119] ------------ t119 = * LSH long $248 | |
N008 ( 1, 1) [000120] ------------ t120 = LCL_VAR long V03 tmp2 u:9 $247 | |
/--* t120 long | |
N009 ( 3, 2) [000121] *c-XG------- t121 = * IND long <l:$14a, c:$184> | |
/--* t119 long | |
+--* t121 long | |
N010 ( 14, 10) [000122] ---XG------- t122 = * HWIntrinsic long ParallelBitDeposit $480 | |
/--* t122 long | |
N011 ( 15, 11) [000123] ---XG------- t123 = * HWIntrinsic long TrailingZeroCount $481 | |
/--* t123 long | |
N012 ( 16, 13) [000124] ---XG------- t124 = * CAST int <- long $211 | |
/--* t124 int | |
N014 ( 16, 13) [000126] DA-XG------- * STORE_LCL_VAR int V06 tmp5 d:2 | |
N001 ( 1, 1) [000128] ------------ t128 = LCL_VAR long V03 tmp2 u:9 (last use) $247 | |
N002 ( 1, 1) [000129] ------------ t129 = LCL_VAR long V02 tmp1 u:2 (last use) <l:$140, c:$180> | |
/--* t128 long | |
+--* t129 long | |
N003 ( 3, 3) [000130] ------------ t130 = * SUB long <l:$249, c:$24a> | |
/--* t130 long | |
[000246] DA---------- * STORE_LCL_VAR long V07 rat0 | |
N001 ( 1, 1) [000247] ------------ t247 = LCL_VAR long V07 rat0 | |
N002 ( 1, 1) [000248] -c---------- t248 = CNS_INT int 63 | |
/--* t247 long | |
+--* t248 int | |
N003 ( 3, 3) [000249] ------------ t249 = * RSH long | |
N004 ( 1, 1) [000250] -c---------- t250 = CNS_INT long 7 | |
/--* t249 long | |
+--* t250 long | |
N005 ( 5, 5) [000251] ------------ t251 = * AND long | |
N006 ( 1, 1) [000252] ------------ t252 = LCL_VAR long V07 rat0 (last use) | |
/--* t251 long | |
+--* t252 long | |
N007 ( 7, 7) [000253] ------------ t253 = * ADD long | |
N008 ( 1, 1) [000132] -c---------- t132 = CNS_INT long 3 $340 | |
/--* t253 long | |
+--* t132 long | |
N009 ( 9, 9) [000254] ------------ t254 = * RSH long | |
/--* t254 long | |
N006 ( 25, 9) [000166] ------------ t166 = * CAST int <- long <l:$212, c:$213> | |
N007 ( 1, 1) [000135] -c---------- t135 = CNS_INT int 6 $4b | |
/--* t166 int | |
+--* t135 int | |
N008 ( 27, 11) [000136] ------------ t136 = * LSH int <l:$214, c:$215> | |
N009 ( 1, 1) [000138] ------------ t138 = LCL_VAR int V06 tmp5 u:2 (last use) $211 | |
/--* t136 int | |
+--* t138 int | |
N010 ( 29, 13) [000139] ------------ t139 = * ADD int <l:$216, c:$217> | |
/--* t139 int | |
N011 ( 30, 14) [000010] ------------ * RETURN int $1c3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** Exiting StackLevelSetter | |
Trees after StackLevelSetter | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target LIR | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd LIR | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target LIR | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd LIR | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target LIR | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
( 5, 12) [000142] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 3, 10) [000159] ------------ t159 = CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] $100 | |
/--* t159 long | |
N002 ( 5, 12) [000001] x---G------- t1 = * IND long <l:$140, c:$180> | |
/--* t1 long | |
N004 ( 5, 12) [000141] DA--G------- * STORE_LCL_VAR long V02 tmp1 d:2 | |
( 1, 3) [000145] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000003] ------------ t3 = LCL_VAR int V00 arg0 u:2 (last use) $80 | |
/--* t3 int | |
N003 ( 1, 3) [000144] DA---------- * STORE_LCL_VAR int V04 tmp3 d:2 | |
( 1, 3) [000016] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000013] ------------ t13 = LCL_VAR long V02 tmp1 u:2 <l:$140, c:$180> | |
/--* t13 long | |
N003 ( 1, 3) [000015] DA---------- * STORE_LCL_VAR long V03 tmp2 d:2 | |
( 5, 8) [000172] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000169] ------------ t169 = LCL_VAR int V04 tmp3 u:2 $80 | |
N002 ( 1, 4) [000170] -c---------- t170 = CNS_INT int 256 $43 | |
/--* t169 int | |
+--* t170 int | |
N003 ( 3, 6) [000168] J------N---- * LT void $200 | |
N004 ( 5, 8) [000171] ------------ * JTRUE void | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
N001 ( 0, 0) [000222] ------------ t222 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000210] ------------ t210 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t222 long | |
+--* t210 long | |
N005 ( 2, 2) [000207] ------------ t207 = * PHI long | |
/--* t207 long | |
N007 ( 2, 3) [000208] DA---------- * STORE_LCL_VAR long V03 tmp2 d:3 | |
N001 ( 0, 0) [000224] ------------ t224 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000212] ------------ t212 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t224 int | |
+--* t212 int | |
N005 ( 2, 2) [000199] ------------ t199 = * PHI int | |
/--* t199 int | |
N007 ( 2, 3) [000200] DA---------- * STORE_LCL_VAR int V04 tmp3 d:3 | |
( 28, 31) [000060] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000025] ------------ t25 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t25 long | |
N002 ( 3, 2) [000026] *c-XG------- t26 = * IND long <l:$142, c:$2c0> | |
/--* t26 long | |
N003 ( 4, 3) [000027] ---XG------- t27 = * HWIntrinsic long PopCount $300 | |
/--* t27 long | |
N004 ( 5, 5) [000164] ---XG------- t164 = * CAST int <- long $201 | |
N005 ( 1, 1) [000028] ------------ t28 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t28 long | |
[000242] -c---------- t242 = * LEA(b+8) long | |
/--* t242 long | |
N008 ( 4, 4) [000032] *c-XG------- t32 = * IND long <l:$143, c:$2c1> | |
/--* t32 long | |
N009 ( 5, 5) [000033] ---XG------- t33 = * HWIntrinsic long PopCount $301 | |
/--* t33 long | |
N010 ( 6, 7) [000165] ---XG------- t165 = * CAST int <- long $202 | |
/--* t164 int | |
+--* t165 int | |
N011 ( 12, 13) [000034] ---XG------- t34 = * ADD int $203 | |
N012 ( 1, 1) [000035] ------------ t35 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t35 long | |
[000243] -c---------- t243 = * LEA(b+16) long | |
/--* t243 long | |
N015 ( 4, 4) [000042] *c-XG------- t42 = * IND long <l:$144, c:$2c2> | |
/--* t42 long | |
N016 ( 5, 5) [000043] ---XG------- t43 = * HWIntrinsic long PopCount $302 | |
/--* t43 long | |
N017 ( 6, 7) [000163] ---XG------- t163 = * CAST int <- long $204 | |
/--* t34 int | |
+--* t163 int | |
N018 ( 19, 21) [000044] ---XG------- t44 = * ADD int $205 | |
N019 ( 1, 1) [000045] ------------ t45 = LCL_VAR long V03 tmp2 u:3 $141 | |
/--* t45 long | |
[000244] -c---------- t244 = * LEA(b+24) long | |
/--* t244 long | |
N022 ( 4, 4) [000052] *c-XG------- t52 = * IND long <l:$145, c:$2c3> | |
/--* t52 long | |
N023 ( 5, 5) [000053] ---XG------- t53 = * HWIntrinsic long PopCount $303 | |
/--* t53 long | |
N024 ( 6, 7) [000161] ---XG------- t161 = * CAST int <- long $206 | |
/--* t44 int | |
+--* t161 int | |
N025 ( 26, 29) [000054] ---XG------- t54 = * ADD int $207 | |
N026 ( 1, 1) [000024] ------------ t24 = LCL_VAR int V04 tmp3 u:3 (last use) $280 | |
/--* t24 int | |
+--* t54 int | |
N027 ( 28, 31) [000056] ---XG------- t56 = * SUB int $208 | |
/--* t56 int | |
N029 ( 28, 31) [000059] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:4 | |
( 3, 3) [000070] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000061] ------------ t61 = LCL_VAR long V03 tmp2 u:3 (last use) $141 | |
N002 ( 1, 1) [000066] -c---------- t66 = CNS_INT long 32 $344 | |
/--* t61 long | |
+--* t66 long | |
N003 ( 3, 3) [000067] ------------ t67 = * ADD long $244 | |
/--* t67 long | |
N005 ( 3, 3) [000069] DA---------- * STORE_LCL_VAR long V03 tmp2 d:4 | |
( 5, 8) [000022] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000018] ------------ t18 = LCL_VAR int V04 tmp3 u:4 $208 | |
N002 ( 1, 4) [000019] -c---------- t19 = CNS_INT int 256 $43 | |
/--* t18 int | |
+--* t19 int | |
N003 ( 3, 6) [000020] J------N---- * GE void $209 | |
N004 ( 5, 8) [000021] ------------ * JTRUE void | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
N001 ( 0, 0) [000218] ------------ t218 = PHI_ARG long V03 tmp2 u:4 | |
N002 ( 0, 0) [000214] ------------ t214 = PHI_ARG long V03 tmp2 u:2 <l:$140, c:$180> | |
/--* t218 long | |
+--* t214 long | |
N005 ( 2, 2) [000203] ------------ t203 = * PHI long | |
/--* t203 long | |
N007 ( 2, 3) [000204] DA---------- * STORE_LCL_VAR long V03 tmp2 d:5 | |
N001 ( 0, 0) [000220] ------------ t220 = PHI_ARG int V04 tmp3 u:4 | |
N002 ( 0, 0) [000216] ------------ t216 = PHI_ARG int V04 tmp3 u:2 $80 | |
/--* t220 int | |
+--* t216 int | |
N005 ( 2, 2) [000195] ------------ t195 = * PHI int | |
/--* t195 int | |
N007 ( 2, 3) [000196] DA---------- * STORE_LCL_VAR int V04 tmp3 d:5 | |
( 1, 3) [000075] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000072] ------------ t72 = LCL_VAR int V04 tmp3 u:5 $281 | |
/--* t72 int | |
N003 ( 1, 3) [000074] DA---------- * STORE_LCL_VAR int V05 tmp4 d:2 | |
( 5, 5) [000177] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000174] ------------ t174 = LCL_VAR int V05 tmp4 u:2 $281 | |
N002 ( 1, 1) [000175] -c---------- t175 = CNS_INT int 0 $40 | |
/--* t174 int | |
+--* t175 int | |
N003 ( 3, 3) [000173] J------N---- * LE void $20a | |
N004 ( 5, 5) [000176] ------------ * JTRUE void | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
N001 ( 0, 0) [000238] ------------ t238 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000226] ------------ t226 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t238 long | |
+--* t226 long | |
N005 ( 2, 2) [000187] ------------ t187 = * PHI long | |
/--* t187 long | |
N007 ( 2, 3) [000188] DA---------- * STORE_LCL_VAR long V03 tmp2 d:6 | |
N001 ( 0, 0) [000240] ------------ t240 = PHI_ARG int V04 tmp3 u:7 | |
N002 ( 0, 0) [000228] ------------ t228 = PHI_ARG int V04 tmp3 u:5 $281 | |
/--* t240 int | |
+--* t228 int | |
N005 ( 2, 2) [000179] ------------ t179 = * PHI int | |
/--* t179 int | |
N007 ( 2, 3) [000180] DA---------- * STORE_LCL_VAR int V04 tmp3 d:6 | |
( 1, 3) [000086] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000083] ------------ t83 = LCL_VAR int V04 tmp3 u:6 (last use) $282 | |
/--* t83 int | |
N003 ( 1, 3) [000085] DA---------- * STORE_LCL_VAR int V05 tmp4 d:3 | |
( 7, 7) [000096] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000087] ------------ t87 = LCL_VAR int V05 tmp4 u:3 $282 | |
N002 ( 1, 1) [000088] ------------ t88 = LCL_VAR long V03 tmp2 u:6 $147 | |
/--* t88 long | |
N003 ( 3, 2) [000089] *c-XG------- t89 = * IND long <l:$148, c:$400> | |
/--* t89 long | |
N004 ( 4, 3) [000090] ---XG------- t90 = * HWIntrinsic long PopCount $440 | |
/--* t90 long | |
N005 ( 5, 5) [000091] ---XG------- t91 = * CAST int <- long $20b | |
/--* t87 int | |
+--* t91 int | |
N006 ( 7, 7) [000092] ---XG------- t92 = * SUB int $20c | |
/--* t92 int | |
N008 ( 7, 7) [000095] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:7 | |
( 3, 3) [000103] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000097] ------------ t97 = LCL_VAR long V03 tmp2 u:6 (last use) $147 | |
N002 ( 1, 1) [000099] -c---------- t99 = CNS_INT long 8 $340 | |
/--* t97 long | |
+--* t99 long | |
N003 ( 3, 3) [000100] ------------ t100 = * ADD long $246 | |
/--* t100 long | |
N005 ( 3, 3) [000102] DA---------- * STORE_LCL_VAR long V03 tmp2 d:7 | |
( 5, 5) [000081] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000077] ------------ t77 = LCL_VAR int V04 tmp3 u:7 $20c | |
N002 ( 1, 1) [000078] -c---------- t78 = CNS_INT int 0 $40 | |
/--* t77 int | |
+--* t78 int | |
N003 ( 3, 3) [000079] J------N---- * GT void $20d | |
N004 ( 5, 5) [000080] ------------ * JTRUE void | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
N001 ( 0, 0) [000234] ------------ t234 = PHI_ARG int V05 tmp4 u:3 | |
N002 ( 0, 0) [000230] ------------ t230 = PHI_ARG int V05 tmp4 u:2 $281 | |
/--* t234 int | |
+--* t230 int | |
N005 ( 2, 2) [000191] ------------ t191 = * PHI int | |
/--* t191 int | |
N007 ( 2, 3) [000192] DA---------- * STORE_LCL_VAR int V05 tmp4 d:4 | |
N001 ( 0, 0) [000236] ------------ t236 = PHI_ARG long V03 tmp2 u:7 | |
N002 ( 0, 0) [000232] ------------ t232 = PHI_ARG long V03 tmp2 u:5 $146 | |
/--* t236 long | |
+--* t232 long | |
N005 ( 2, 2) [000183] ------------ t183 = * PHI long | |
/--* t183 long | |
N007 ( 2, 3) [000184] DA---------- * STORE_LCL_VAR long V03 tmp2 d:8 | |
( 3, 3) [000111] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000105] ------------ t105 = LCL_VAR long V03 tmp2 u:8 (last use) $149 | |
N002 ( 1, 1) [000107] -c---------- t107 = CNS_INT long -8 $345 | |
/--* t105 long | |
+--* t107 long | |
N003 ( 3, 3) [000108] ------------ t108 = * ADD long $247 | |
/--* t108 long | |
N005 ( 3, 3) [000110] DA---------- * STORE_LCL_VAR long V03 tmp2 d:9 | |
( 16, 13) [000127] ------------ IL_OFFSET void IL offset: 0x0 | |
N001 ( 1, 1) [000114] ------------ t114 = LCL_VAR int V05 tmp4 u:4 (last use) $283 | |
N002 ( 1, 1) [000115] -c---------- t115 = CNS_INT int -1 $41 | |
/--* t114 int | |
+--* t115 int | |
N003 ( 3, 3) [000116] ------------ t116 = * ADD int $20f | |
N006 ( 1, 1) [000113] ------------ t113 = CNS_INT long 1 $346 | |
/--* t113 long | |
+--* t116 int | |
N007 ( 10, 7) [000119] ------------ t119 = * LSH long $248 | |
N008 ( 1, 1) [000120] ------------ t120 = LCL_VAR long V03 tmp2 u:9 $247 | |
/--* t120 long | |
N009 ( 3, 2) [000121] *c-XG------- t121 = * IND long <l:$14a, c:$184> | |
/--* t119 long | |
+--* t121 long | |
N010 ( 14, 10) [000122] ---XG------- t122 = * HWIntrinsic long ParallelBitDeposit $480 | |
/--* t122 long | |
N011 ( 15, 11) [000123] ---XG------- t123 = * HWIntrinsic long TrailingZeroCount $481 | |
/--* t123 long | |
N012 ( 16, 13) [000124] ---XG------- t124 = * CAST int <- long $211 | |
/--* t124 int | |
N014 ( 16, 13) [000126] DA-XG------- * STORE_LCL_VAR int V06 tmp5 d:2 | |
N001 ( 1, 1) [000128] ------------ t128 = LCL_VAR long V03 tmp2 u:9 (last use) $247 | |
N002 ( 1, 1) [000129] ------------ t129 = LCL_VAR long V02 tmp1 u:2 (last use) <l:$140, c:$180> | |
/--* t128 long | |
+--* t129 long | |
N003 ( 3, 3) [000130] ------------ t130 = * SUB long <l:$249, c:$24a> | |
/--* t130 long | |
[000246] DA---------- * STORE_LCL_VAR long V07 rat0 | |
N001 ( 1, 1) [000247] ------------ t247 = LCL_VAR long V07 rat0 | |
N002 ( 1, 1) [000248] -c---------- t248 = CNS_INT int 63 | |
/--* t247 long | |
+--* t248 int | |
N003 ( 3, 3) [000249] ------------ t249 = * RSH long | |
N004 ( 1, 1) [000250] -c---------- t250 = CNS_INT long 7 | |
/--* t249 long | |
+--* t250 long | |
N005 ( 5, 5) [000251] ------------ t251 = * AND long | |
N006 ( 1, 1) [000252] ------------ t252 = LCL_VAR long V07 rat0 (last use) | |
/--* t251 long | |
+--* t252 long | |
N007 ( 7, 7) [000253] ------------ t253 = * ADD long | |
N008 ( 1, 1) [000132] -c---------- t132 = CNS_INT long 3 $340 | |
/--* t253 long | |
+--* t132 long | |
N009 ( 9, 9) [000254] ------------ t254 = * RSH long | |
/--* t254 long | |
N006 ( 25, 9) [000166] ------------ t166 = * CAST int <- long <l:$212, c:$213> | |
N007 ( 1, 1) [000135] -c---------- t135 = CNS_INT int 6 $4b | |
/--* t166 int | |
+--* t135 int | |
N008 ( 27, 11) [000136] ------------ t136 = * LSH int <l:$214, c:$215> | |
N009 ( 1, 1) [000138] ------------ t138 = LCL_VAR int V06 tmp5 u:2 (last use) $211 | |
/--* t136 int | |
+--* t138 int | |
N010 ( 29, 13) [000139] ------------ t139 = * ADD int <l:$216, c:$217> | |
/--* t139 int | |
N011 ( 30, 14) [000010] ------------ * RETURN int $1c3 | |
------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Clearing modified regs. | |
buildIntervals ======== | |
----------------- | |
LIVENESS: | |
----------------- | |
BB01 use def in out | |
{V00} | |
{V02 V03 V04} | |
{V00} | |
{V02 V03 V04} | |
BB02 use def in out | |
{V03 V04} | |
{V03 V04} | |
{V02 V03 V04} | |
{V02 V03 V04} | |
BB03 use def in out | |
{V04} | |
{V05} | |
{V02 V03 V04} | |
{V02 V03 V04 V05} | |
BB04 use def in out | |
{V03 V04} | |
{V03 V04 V05} | |
{V02 V03 V04} | |
{V02 V03 V04 V05} | |
BB05 use def in out | |
{V02 V03 V05} | |
{V03 V06 V07} | |
{V02 V03 V05} | |
{} | |
Interval 0: RefPositions {} physReg:NA Preferences=[allInt] | |
Interval 1: RefPositions {} physReg:NA Preferences=[allInt] | |
Interval 2: RefPositions {} physReg:NA Preferences=[allInt] | |
Interval 3: RefPositions {} physReg:NA Preferences=[allInt] | |
Interval 4: RefPositions {} physReg:NA Preferences=[allInt] | |
Interval 5: RefPositions {} physReg:NA Preferences=[allInt] | |
Interval 6: RefPositions {} physReg:NA Preferences=[allInt] | |
FP callee save candidate vars: None | |
floatVarCount = 0; hasLoops = 1, singleExit = 1 | |
; Decided to create an EBP based frame for ETW stackwalking (BasicBlock Count) | |
TUPLE STYLE DUMP BEFORE LSRA | |
LSRA Block Sequence: BB01( 1 ) BB02( 2 ) BB03( 0.50) BB04( 2 ) BB05( 1 ) | |
BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
===== | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. t159* = CNS_INT(h) 0x7f08ab884498 static Fseq[_bits] | |
N002. t1 = IND ; t159* | |
N004. V02(t141); t1 | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V00(t3*) | |
N003. V04(t144); t3* | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V02(t13) | |
N003. V03(t15); t13 | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V04(t169) | |
N002. CNS_INT 256 | |
N003. LT ; t169 | |
N004. JTRUE | |
BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
===== | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V03(t25) | |
N002. t26 = IND ; t25 | |
N003. t27 = HWIntrinsic; t26 | |
N004. t164 = CAST ; t27 | |
N005. V03(t28) | |
N000. t242 = LEA(b+8) ; t28 | |
N008. t32 = IND ; t242 | |
N009. t33 = HWIntrinsic; t32 | |
N010. t165 = CAST ; t33 | |
N011. t34 = ADD ; t164,t165 | |
N012. V03(t35) | |
N000. t243 = LEA(b+16); t35 | |
N015. t42 = IND ; t243 | |
N016. t43 = HWIntrinsic; t42 | |
N017. t163 = CAST ; t43 | |
N018. t44 = ADD ; t34,t163 | |
N019. V03(t45) | |
N000. t244 = LEA(b+24); t45 | |
N022. t52 = IND ; t244 | |
N023. t53 = HWIntrinsic; t52 | |
N024. t161 = CAST ; t53 | |
N025. t54 = ADD ; t44,t161 | |
N026. V04(t24*) | |
N027. t56 = SUB ; t24*,t54 | |
N029. V04(t59); t56 | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V03(t61*) | |
N002. CNS_INT 32 | |
N003. t67 = ADD ; t61* | |
N005. V03(t69); t67 | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V04(t18) | |
N002. CNS_INT 256 | |
N003. GE ; t18 | |
N004. JTRUE | |
BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
===== | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V04(t72) | |
N003. V05(t74); t72 | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V05(t174) | |
N002. CNS_INT 0 | |
N003. LE ; t174 | |
N004. JTRUE | |
BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
===== | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V04(t83*) | |
N003. V05(t85); t83* | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V05(t87) | |
N002. V03(t88) | |
N003. t89 = IND ; t88 | |
N004. t90 = HWIntrinsic; t89 | |
N005. t91 = CAST ; t90 | |
N006. t92 = SUB ; t87,t91 | |
N008. V04(t95); t92 | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V03(t97*) | |
N002. CNS_INT 8 | |
N003. t100 = ADD ; t97* | |
N005. V03(t102); t100 | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V04(t77) | |
N002. CNS_INT 0 | |
N003. GT ; t77 | |
N004. JTRUE | |
BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
===== | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V03(t105*) | |
N002. CNS_INT -8 | |
N003. t108 = ADD ; t105* | |
N005. V03(t110); t108 | |
N000. IL_OFFSET IL offset: 0x0 | |
N001. V05(t114*) | |
N002. CNS_INT -1 | |
N003. t116 = ADD ; t114* | |
N006. t113 = CNS_INT 1 | |
N007. t119 = LSH ; t113,t116 | |
N008. V03(t120) | |
N009. t121 = IND ; t120 | |
N010. t122 = HWIntrinsic; t119,t121 | |
N011. t123 = HWIntrinsic; t122 | |
N012. t124 = CAST ; t123 | |
N014. V06(t126); t124 | |
N001. V03(t128*) | |
N002. V02(t129*) | |
N003. t130 = SUB ; t128*,t129* | |
N000. V07(t246); t130 | |
N001. V07(t247) | |
N002. CNS_INT 63 | |
N003. t249 = RSH ; t247 | |
N004. CNS_INT 7 | |
N005. t251 = AND ; t249 | |
N006. V07(t252*) | |
N007. t253 = ADD ; t251,t252* | |
N008. CNS_INT 3 | |
N009. t254 = RSH ; t253 | |
N006. t166 = CAST ; t254 | |
N007. CNS_INT 6 | |
N008. t136 = LSH ; t166 | |
N009. V06(t138*) | |
N010. t139 = ADD ; t136,t138* | |
N011. RETURN ; t139 | |
buildIntervals second part ======== | |
Int arg V00 in reg rdi | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[rdi] minReg=1 fixed> | |
NEW BLOCK BB01 | |
<RefPosition #1 @1 RefTypeBB BB01 regmask=[] minReg=1> | |
DefList: { } | |
N003 ( 5, 12) [000142] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N005 ( 3, 10) [000159] ------------ * CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] REG NA $100 | |
Interval 7: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #2 @6 RefTypeDef <Ivl:7> CNS_INT BB01 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { N005.t159. CNS_INT } | |
N007 ( 5, 12) [000001] x---G------- * IND long REG NA <l:$140, c:$180> | |
<RefPosition #3 @7 RefTypeUse <Ivl:7> BB01 regmask=[allInt] minReg=1 last> | |
Interval 8: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #4 @8 RefTypeDef <Ivl:8> IND BB01 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N007.t1. IND } | |
N009 ( 5, 12) [000141] DA--G------- * STORE_LCL_VAR long V02 tmp1 d:2 NA REG NA | |
<RefPosition #5 @9 RefTypeUse <Ivl:8> BB01 regmask=[allInt] minReg=1 last> | |
Assigning related <L1> to <I8> | |
<RefPosition #6 @10 RefTypeDef <Ivl:1 V02> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N011 ( 1, 3) [000145] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N013 ( 1, 1) [000003] ------------ * LCL_VAR int V00 arg0 u:2 NA (last use) REG NA $80 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { } | |
N015 ( 1, 3) [000144] DA---------- * STORE_LCL_VAR int V04 tmp3 d:2 NA REG NA | |
<RefPosition #7 @15 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allInt] minReg=1 last> | |
Assigning related <L3> to <L0> | |
<RefPosition #8 @16 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N017 ( 1, 3) [000016] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N019 ( 1, 1) [000013] ------------ * LCL_VAR long V02 tmp1 u:2 NA REG NA <l:$140, c:$180> | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { } | |
N021 ( 1, 3) [000015] DA---------- * STORE_LCL_VAR long V03 tmp2 d:2 NA REG NA | |
<RefPosition #9 @21 RefTypeUse <Ivl:1 V02> LCL_VAR BB01 regmask=[allInt] minReg=1 last> | |
<RefPosition #10 @22 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N023 ( 5, 8) [000172] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N025 ( 1, 1) [000169] ------------ * LCL_VAR int V04 tmp3 u:2 NA REG NA $80 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[-O] | |
consume= 0 produce=1 | |
DefList: { } | |
N027 ( 1, 4) [000170] -c---------- * CNS_INT int 256 REG NA $43 | |
Contained | |
DefList: { } | |
N029 ( 3, 6) [000168] J------N---- * LT void REG NA $200 | |
<RefPosition #11 @29 RefTypeUse <Ivl:3 V04> LCL_VAR BB01 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N031 ( 5, 8) [000171] ------------ * JTRUE void REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
CHECKING LAST USES for block 1, liveout={V02 V03 V04} | |
============================== | |
use: {V00} | |
def: {V02 V03 V04} | |
NEW BLOCK BB02 | |
Setting BB02 as the predecessor for determining incoming variable registers of BB01 | |
<RefPosition #12 @33 RefTypeBB BB02 regmask=[] minReg=1> | |
DefList: { } | |
N035 ( 28, 31) [000060] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N037 ( 1, 1) [000025] ------------ * LCL_VAR long V03 tmp2 u:3 NA REG NA $141 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { } | |
N039 ( 3, 2) [000026] *c-XG------- * IND long REG NA <l:$142, c:$2c0> | |
Contained | |
DefList: { } | |
N041 ( 4, 3) [000027] ---XG------- * HWIntrinsic long PopCount REG NA $300 | |
<RefPosition #13 @41 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
Interval 9: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #14 @42 RefTypeDef <Ivl:9> HWIntrinsic BB02 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N041.t27. HWIntrinsic } | |
N043 ( 5, 5) [000164] ---XG------- * CAST int <- long REG NA $201 | |
<RefPosition #15 @43 RefTypeUse <Ivl:9> BB02 regmask=[allInt] minReg=1 last> | |
Interval 10: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #16 @44 RefTypeDef <Ivl:10> CAST BB02 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[-O] | |
consume= 1 produce=1 | |
DefList: { N043.t164. CAST } | |
N045 ( 1, 1) [000028] ------------ * LCL_VAR long V03 tmp2 u:3 NA REG NA $141 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { N043.t164. CAST } | |
N047 (???,???) [000242] -c---------- * LEA(b+8) long REG NA | |
Contained | |
DefList: { N043.t164. CAST } | |
N049 ( 4, 4) [000032] *c-XG------- * IND long REG NA <l:$143, c:$2c1> | |
Contained | |
DefList: { N043.t164. CAST } | |
N051 ( 5, 5) [000033] ---XG------- * HWIntrinsic long PopCount REG NA $301 | |
<RefPosition #17 @51 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
Interval 11: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #18 @52 RefTypeDef <Ivl:11> HWIntrinsic BB02 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N043.t164. CAST; N051.t33. HWIntrinsic } | |
N053 ( 6, 7) [000165] ---XG------- * CAST int <- long REG NA $202 | |
<RefPosition #19 @53 RefTypeUse <Ivl:11> BB02 regmask=[allInt] minReg=1 last> | |
Interval 12: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #20 @54 RefTypeDef <Ivl:12> CAST BB02 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N043.t164. CAST; N053.t165. CAST } | |
N055 ( 12, 13) [000034] ---XG------- * ADD int REG NA $203 | |
<RefPosition #21 @55 RefTypeUse <Ivl:10> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #22 @55 RefTypeUse <Ivl:12> BB02 regmask=[allInt] minReg=1 last> | |
Interval 13: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #23 @56 RefTypeDef <Ivl:13> ADD BB02 regmask=[allInt] minReg=1> | |
Assigning related <I10> to <I13> | |
+<TreeNodeInfo 1=2 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[-O] | |
consume= 2 produce=1 | |
DefList: { N055.t34. ADD } | |
N057 ( 1, 1) [000035] ------------ * LCL_VAR long V03 tmp2 u:3 NA REG NA $141 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { N055.t34. ADD } | |
N059 (???,???) [000243] -c---------- * LEA(b+16) long REG NA | |
Contained | |
DefList: { N055.t34. ADD } | |
N061 ( 4, 4) [000042] *c-XG------- * IND long REG NA <l:$144, c:$2c2> | |
Contained | |
DefList: { N055.t34. ADD } | |
N063 ( 5, 5) [000043] ---XG------- * HWIntrinsic long PopCount REG NA $302 | |
<RefPosition #24 @63 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
Interval 14: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #25 @64 RefTypeDef <Ivl:14> HWIntrinsic BB02 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N055.t34. ADD; N063.t43. HWIntrinsic } | |
N065 ( 6, 7) [000163] ---XG------- * CAST int <- long REG NA $204 | |
<RefPosition #26 @65 RefTypeUse <Ivl:14> BB02 regmask=[allInt] minReg=1 last> | |
Interval 15: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #27 @66 RefTypeDef <Ivl:15> CAST BB02 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N055.t34. ADD; N065.t163. CAST } | |
N067 ( 19, 21) [000044] ---XG------- * ADD int REG NA $205 | |
<RefPosition #28 @67 RefTypeUse <Ivl:13> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #29 @67 RefTypeUse <Ivl:15> BB02 regmask=[allInt] minReg=1 last> | |
Interval 16: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #30 @68 RefTypeDef <Ivl:16> ADD BB02 regmask=[allInt] minReg=1> | |
Assigning related <I13> to <I16> | |
+<TreeNodeInfo 1=2 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[-O] | |
consume= 2 produce=1 | |
DefList: { N067.t44. ADD } | |
N069 ( 1, 1) [000045] ------------ * LCL_VAR long V03 tmp2 u:3 NA REG NA $141 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { N067.t44. ADD } | |
N071 (???,???) [000244] -c---------- * LEA(b+24) long REG NA | |
Contained | |
DefList: { N067.t44. ADD } | |
N073 ( 4, 4) [000052] *c-XG------- * IND long REG NA <l:$145, c:$2c3> | |
Contained | |
DefList: { N067.t44. ADD } | |
N075 ( 5, 5) [000053] ---XG------- * HWIntrinsic long PopCount REG NA $303 | |
<RefPosition #31 @75 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
Interval 17: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #32 @76 RefTypeDef <Ivl:17> HWIntrinsic BB02 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N067.t44. ADD; N075.t53. HWIntrinsic } | |
N077 ( 6, 7) [000161] ---XG------- * CAST int <- long REG NA $206 | |
<RefPosition #33 @77 RefTypeUse <Ivl:17> BB02 regmask=[allInt] minReg=1 last> | |
Interval 18: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #34 @78 RefTypeDef <Ivl:18> CAST BB02 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N067.t44. ADD; N077.t161. CAST } | |
N079 ( 26, 29) [000054] ---XG------- * ADD int REG NA $207 | |
<RefPosition #35 @79 RefTypeUse <Ivl:16> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #36 @79 RefTypeUse <Ivl:18> BB02 regmask=[allInt] minReg=1 last> | |
Interval 19: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #37 @80 RefTypeDef <Ivl:19> ADD BB02 regmask=[allInt] minReg=1> | |
Assigning related <I16> to <I19> | |
+<TreeNodeInfo 1=2 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[-O] | |
consume= 2 produce=1 | |
DefList: { N079.t54. ADD } | |
N081 ( 1, 1) [000024] ------------ * LCL_VAR int V04 tmp3 u:3 NA (last use) REG NA $280 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { N079.t54. ADD } | |
N083 ( 28, 31) [000056] ---XG------- * SUB int REG NA $208 | |
<RefPosition #38 @83 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #39 @83 RefTypeUse <Ivl:19> BB02 regmask=[allInt] minReg=1 last> | |
Interval 20: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #40 @84 RefTypeDef <Ivl:20> SUB BB02 regmask=[allInt] minReg=1> | |
Assigning related <L3> to <I20> | |
+<TreeNodeInfo 1=2 0i 0f src=[allInt] int=[allInt] dst=[allInt] I D>[--] | |
consume= 2 produce=1 | |
DefList: { N083.t56. SUB } | |
N085 ( 28, 31) [000059] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:4 NA REG NA | |
<RefPosition #41 @85 RefTypeUse <Ivl:20> BB02 regmask=[allInt] minReg=1 last> | |
Assigning related <L3> to <I20> | |
<RefPosition #42 @86 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N087 ( 3, 3) [000070] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N089 ( 1, 1) [000061] ------------ * LCL_VAR long V03 tmp2 u:3 NA (last use) REG NA $141 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { } | |
N091 ( 1, 1) [000066] -c---------- * CNS_INT long 32 REG NA $344 | |
Contained | |
DefList: { } | |
N093 ( 3, 3) [000067] ------------ * ADD long REG NA $244 | |
<RefPosition #43 @93 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
Interval 21: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #44 @94 RefTypeDef <Ivl:21> ADD BB02 regmask=[allInt] minReg=1> | |
Assigning related <L2> to <I21> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N093.t67. ADD } | |
N095 ( 3, 3) [000069] DA---------- * STORE_LCL_VAR long V03 tmp2 d:4 NA REG NA | |
<RefPosition #45 @95 RefTypeUse <Ivl:21> BB02 regmask=[allInt] minReg=1 last> | |
Assigning related <L2> to <I21> | |
<RefPosition #46 @96 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N097 ( 5, 8) [000022] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N099 ( 1, 1) [000018] ------------ * LCL_VAR int V04 tmp3 u:4 NA REG NA $208 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[-O] | |
consume= 0 produce=1 | |
DefList: { } | |
N101 ( 1, 4) [000019] -c---------- * CNS_INT int 256 REG NA $43 | |
Contained | |
DefList: { } | |
N103 ( 3, 6) [000020] J------N---- * GE void REG NA $209 | |
<RefPosition #47 @103 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N105 ( 5, 8) [000021] ------------ * JTRUE void REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
CHECKING LAST USES for block 2, liveout={V02 V03 V04} | |
============================== | |
use: {V03 V04} | |
def: {V03 V04} | |
NEW BLOCK BB03 | |
Setting BB03 as the predecessor for determining incoming variable registers of BB02 | |
<RefPosition #48 @107 RefTypeBB BB03 regmask=[] minReg=1> | |
DefList: { } | |
N109 ( 1, 3) [000075] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N111 ( 1, 1) [000072] ------------ * LCL_VAR int V04 tmp3 u:5 NA REG NA $281 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { } | |
N113 ( 1, 3) [000074] DA---------- * STORE_LCL_VAR int V05 tmp4 d:2 NA REG NA | |
<RefPosition #49 @113 RefTypeUse <Ivl:3 V04> LCL_VAR BB03 regmask=[allInt] minReg=1 last> | |
<RefPosition #50 @114 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB03 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N115 ( 5, 5) [000177] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N117 ( 1, 1) [000174] ------------ * LCL_VAR int V05 tmp4 u:2 NA REG NA $281 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[-O] | |
consume= 0 produce=1 | |
DefList: { } | |
N119 ( 1, 1) [000175] -c---------- * CNS_INT int 0 REG NA $40 | |
Contained | |
DefList: { } | |
N121 ( 3, 3) [000173] J------N---- * LE void REG NA $20a | |
<RefPosition #51 @121 RefTypeUse <Ivl:4 V05> LCL_VAR BB03 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N123 ( 5, 5) [000176] ------------ * JTRUE void REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
CHECKING LAST USES for block 3, liveout={V02 V03 V04 V05} | |
============================== | |
use: {V04} | |
def: {V05} | |
NEW BLOCK BB04 | |
Setting BB04 as the predecessor for determining incoming variable registers of BB03 | |
<RefPosition #52 @125 RefTypeBB BB04 regmask=[] minReg=1> | |
DefList: { } | |
N127 ( 1, 3) [000086] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N129 ( 1, 1) [000083] ------------ * LCL_VAR int V04 tmp3 u:6 NA (last use) REG NA $282 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { } | |
N131 ( 1, 3) [000085] DA---------- * STORE_LCL_VAR int V05 tmp4 d:3 NA REG NA | |
<RefPosition #53 @131 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
Assigning related <L4> to <L3> | |
<RefPosition #54 @132 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N133 ( 7, 7) [000096] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N135 ( 1, 1) [000087] ------------ * LCL_VAR int V05 tmp4 u:3 NA REG NA $282 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { } | |
N137 ( 1, 1) [000088] ------------ * LCL_VAR long V03 tmp2 u:6 NA REG NA $147 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { } | |
N139 ( 3, 2) [000089] *c-XG------- * IND long REG NA <l:$148, c:$400> | |
Contained | |
DefList: { } | |
N141 ( 4, 3) [000090] ---XG------- * HWIntrinsic long PopCount REG NA $440 | |
<RefPosition #55 @141 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
Interval 22: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #56 @142 RefTypeDef <Ivl:22> HWIntrinsic BB04 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N141.t90. HWIntrinsic } | |
N143 ( 5, 5) [000091] ---XG------- * CAST int <- long REG NA $20b | |
<RefPosition #57 @143 RefTypeUse <Ivl:22> BB04 regmask=[allInt] minReg=1 last> | |
Interval 23: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #58 @144 RefTypeDef <Ivl:23> CAST BB04 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[-O] | |
consume= 1 produce=1 | |
DefList: { N143.t91. CAST } | |
N145 ( 7, 7) [000092] ---XG------- * SUB int REG NA $20c | |
<RefPosition #59 @145 RefTypeUse <Ivl:4 V05> LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #60 @145 RefTypeUse <Ivl:23> BB04 regmask=[allInt] minReg=1 last> | |
Interval 24: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #61 @146 RefTypeDef <Ivl:24> SUB BB04 regmask=[allInt] minReg=1> | |
Assigning related <L4> to <I24> | |
+<TreeNodeInfo 1=2 0i 0f src=[allInt] int=[allInt] dst=[allInt] I D>[--] | |
consume= 2 produce=1 | |
DefList: { N145.t92. SUB } | |
N147 ( 7, 7) [000095] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:7 NA REG NA | |
<RefPosition #62 @147 RefTypeUse <Ivl:24> BB04 regmask=[allInt] minReg=1 last> | |
Assigning related <L3> to <I24> | |
<RefPosition #63 @148 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N149 ( 3, 3) [000103] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N151 ( 1, 1) [000097] ------------ * LCL_VAR long V03 tmp2 u:6 NA (last use) REG NA $147 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { } | |
N153 ( 1, 1) [000099] -c---------- * CNS_INT long 8 REG NA $340 | |
Contained | |
DefList: { } | |
N155 ( 3, 3) [000100] ------------ * ADD long REG NA $246 | |
<RefPosition #64 @155 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
Interval 25: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #65 @156 RefTypeDef <Ivl:25> ADD BB04 regmask=[allInt] minReg=1> | |
Assigning related <L2> to <I25> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N155.t100. ADD } | |
N157 ( 3, 3) [000102] DA---------- * STORE_LCL_VAR long V03 tmp2 d:7 NA REG NA | |
<RefPosition #66 @157 RefTypeUse <Ivl:25> BB04 regmask=[allInt] minReg=1 last> | |
Assigning related <L2> to <I25> | |
<RefPosition #67 @158 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N159 ( 5, 5) [000081] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N161 ( 1, 1) [000077] ------------ * LCL_VAR int V04 tmp3 u:7 NA REG NA $20c | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[-O] | |
consume= 0 produce=1 | |
DefList: { } | |
N163 ( 1, 1) [000078] -c---------- * CNS_INT int 0 REG NA $40 | |
Contained | |
DefList: { } | |
N165 ( 3, 3) [000079] J------N---- * GT void REG NA $20d | |
<RefPosition #68 @165 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N167 ( 5, 5) [000080] ------------ * JTRUE void REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
Exposed uses:<RefPosition #69 @169 RefTypeExpUse <Ivl:3 V04> BB04 regmask=[allInt] minReg=1> | |
V04 | |
CHECKING LAST USES for block 4, liveout={V02 V03 V04 V05} | |
============================== | |
use: {V03 V04} | |
def: {V03 V04 V05} | |
NEW BLOCK BB05 | |
Setting BB05 as the predecessor for determining incoming variable registers of BB04 | |
<RefPosition #70 @169 RefTypeBB BB05 regmask=[] minReg=1> | |
DefList: { } | |
N171 ( 3, 3) [000111] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N173 ( 1, 1) [000105] ------------ * LCL_VAR long V03 tmp2 u:8 NA (last use) REG NA $149 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { } | |
N175 ( 1, 1) [000107] -c---------- * CNS_INT long -8 REG NA $345 | |
Contained | |
DefList: { } | |
N177 ( 3, 3) [000108] ------------ * ADD long REG NA $247 | |
<RefPosition #71 @177 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
Interval 26: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #72 @178 RefTypeDef <Ivl:26> ADD BB05 regmask=[allInt] minReg=1> | |
Assigning related <L2> to <I26> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N177.t108. ADD } | |
N179 ( 3, 3) [000110] DA---------- * STORE_LCL_VAR long V03 tmp2 d:9 NA REG NA | |
<RefPosition #73 @179 RefTypeUse <Ivl:26> BB05 regmask=[allInt] minReg=1 last> | |
Assigning related <L2> to <I26> | |
<RefPosition #74 @180 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N181 ( 16, 13) [000127] ------------ * IL_OFFSET void IL offset: 0x0 REG NA | |
+<TreeNodeInfo 0=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=0 | |
DefList: { } | |
N183 ( 1, 1) [000114] ------------ * LCL_VAR int V05 tmp4 u:4 NA (last use) REG NA $283 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { } | |
N185 ( 1, 1) [000115] -c---------- * CNS_INT int -1 REG NA $41 | |
Contained | |
DefList: { } | |
N187 ( 3, 3) [000116] ------------ * ADD int REG NA $20f | |
<RefPosition #75 @187 RefTypeUse <Ivl:4 V05> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
Interval 27: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #76 @188 RefTypeDef <Ivl:27> ADD BB05 regmask=[allInt] minReg=1> | |
Assigning related <L4> to <I27> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N187.t116. ADD } | |
N189 ( 1, 1) [000113] ------------ * CNS_INT long 1 REG NA $346 | |
Interval 28: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #77 @190 RefTypeDef <Ivl:28> CNS_INT BB05 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { N187.t116. ADD; N189.t113. CNS_INT } | |
N191 ( 10, 7) [000119] ------------ * LSH long REG NA $248 | |
<RefPosition #78 @191 RefTypeUse <Ivl:28> BB05 regmask=[rax rdx rbx rsi rdi r8-r15] minReg=1 last> | |
<RefPosition #79 @191 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1> | |
<RefPosition #80 @191 RefTypeUse <Ivl:27> BB05 regmask=[rcx] minReg=1 last fixed> | |
<RefPosition #81 @192 RefTypeKill <Reg:rcx> BB05 regmask=[rcx] minReg=1> | |
Interval 29: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #82 @192 RefTypeDef <Ivl:29> LSH BB05 regmask=[rax rdx rbx rsi rdi r8-r15] minReg=1> | |
Assigning related <I28> to <I29> | |
+<TreeNodeInfo 1=2 0i 0f src=[allInt] int=[allInt] dst=[allInt] I D>[--] | |
consume= 2 produce=1 | |
DefList: { N191.t119. LSH } | |
N193 ( 1, 1) [000120] ------------ * LCL_VAR long V03 tmp2 u:9 NA REG NA $247 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { N191.t119. LSH } | |
N195 ( 3, 2) [000121] *c-XG------- * IND long REG NA <l:$14a, c:$184> | |
Contained | |
DefList: { N191.t119. LSH } | |
N197 ( 14, 10) [000122] ---XG------- * HWIntrinsic long ParallelBitDeposit REG NA $480 | |
<RefPosition #83 @197 RefTypeUse <Ivl:29> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #84 @197 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
Interval 30: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #85 @198 RefTypeDef <Ivl:30> HWIntrinsic BB05 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=2 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[-O] | |
consume= 2 produce=1 | |
DefList: { N197.t122. HWIntrinsic } | |
N199 ( 15, 11) [000123] ---XG------- * HWIntrinsic long TrailingZeroCount REG NA $481 | |
<RefPosition #86 @199 RefTypeUse <Ivl:30> BB05 regmask=[allInt] minReg=1 last> | |
Interval 31: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #87 @200 RefTypeDef <Ivl:31> HWIntrinsic BB05 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N199.t123. HWIntrinsic } | |
N201 ( 16, 13) [000124] ---XG------- * CAST int <- long REG NA $211 | |
<RefPosition #88 @201 RefTypeUse <Ivl:31> BB05 regmask=[allInt] minReg=1 last> | |
Interval 32: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #89 @202 RefTypeDef <Ivl:32> CAST BB05 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N201.t124. CAST } | |
N203 ( 16, 13) [000126] DA-XG------- * STORE_LCL_VAR int V06 tmp5 d:2 NA REG NA | |
<RefPosition #90 @203 RefTypeUse <Ivl:32> BB05 regmask=[allInt] minReg=1 last> | |
Assigning related <L5> to <I32> | |
<RefPosition #91 @204 RefTypeDef <Ivl:5 V06> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N205 ( 1, 1) [000128] ------------ * LCL_VAR long V03 tmp2 u:9 NA (last use) REG NA $247 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { } | |
N207 ( 1, 1) [000129] ------------ * LCL_VAR long V02 tmp1 u:2 NA (last use) REG NA <l:$140, c:$180> | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[-O] | |
consume= 0 produce=1 | |
DefList: { } | |
N209 ( 3, 3) [000130] ------------ * SUB long REG NA <l:$249, c:$24a> | |
<RefPosition #92 @209 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #93 @209 RefTypeUse <Ivl:1 V02> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
Interval 33: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #94 @210 RefTypeDef <Ivl:33> SUB BB05 regmask=[allInt] minReg=1> | |
Assigning related <L2> to <I33> | |
+<TreeNodeInfo 1=2 0i 0f src=[allInt] int=[allInt] dst=[allInt] I D>[--] | |
consume= 2 produce=1 | |
DefList: { N209.t130. SUB } | |
N211 (???,???) [000246] DA---------- * STORE_LCL_VAR long V07 rat0 NA REG NA | |
<RefPosition #95 @211 RefTypeUse <Ivl:33> BB05 regmask=[allInt] minReg=1 last> | |
Assigning related <L6> to <I33> | |
<RefPosition #96 @212 RefTypeDef <Ivl:6 V07> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
DefList: { } | |
N213 ( 1, 1) [000247] ------------ * LCL_VAR long V07 rat0 NA REG NA | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 0 produce=1 | |
DefList: { } | |
N215 ( 1, 1) [000248] -c---------- * CNS_INT int 63 REG NA | |
Contained | |
DefList: { } | |
N217 ( 3, 3) [000249] ------------ * RSH long REG NA | |
<RefPosition #97 @217 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
Interval 34: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #98 @218 RefTypeDef <Ivl:34> RSH BB05 regmask=[allInt] minReg=1> | |
Assigning related <L6> to <I34> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N217.t249. RSH } | |
N219 ( 1, 1) [000250] -c---------- * CNS_INT long 7 REG NA | |
Contained | |
DefList: { N217.t249. RSH } | |
N221 ( 5, 5) [000251] ------------ * AND long REG NA | |
<RefPosition #99 @221 RefTypeUse <Ivl:34> BB05 regmask=[allInt] minReg=1 last> | |
Interval 35: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #100 @222 RefTypeDef <Ivl:35> AND BB05 regmask=[allInt] minReg=1> | |
Assigning related <I34> to <I35> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N221.t251. AND } | |
N223 ( 1, 1) [000252] ------------ * LCL_VAR long V07 rat0 NA (last use) REG NA | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[-O] | |
consume= 0 produce=1 | |
DefList: { N221.t251. AND } | |
N225 ( 7, 7) [000253] ------------ * ADD long REG NA | |
<RefPosition #101 @225 RefTypeUse <Ivl:35> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #102 @225 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
Interval 36: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #103 @226 RefTypeDef <Ivl:36> ADD BB05 regmask=[allInt] minReg=1> | |
Assigning related <I35> to <I36> | |
+<TreeNodeInfo 1=2 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 2 produce=1 | |
DefList: { N225.t253. ADD } | |
N227 ( 1, 1) [000132] -c---------- * CNS_INT long 3 REG NA $340 | |
Contained | |
DefList: { N225.t253. ADD } | |
N229 ( 9, 9) [000254] ------------ * RSH long REG NA | |
<RefPosition #104 @229 RefTypeUse <Ivl:36> BB05 regmask=[allInt] minReg=1 last> | |
Interval 37: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #105 @230 RefTypeDef <Ivl:37> RSH BB05 regmask=[allInt] minReg=1> | |
Assigning related <I36> to <I37> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N229.t254. RSH } | |
N231 ( 25, 9) [000166] ------------ * CAST int <- long REG NA <l:$212, c:$213> | |
<RefPosition #106 @231 RefTypeUse <Ivl:37> BB05 regmask=[allInt] minReg=1 last> | |
Interval 38: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #107 @232 RefTypeDef <Ivl:38> CAST BB05 regmask=[allInt] minReg=1> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N231.t166. CAST } | |
N233 ( 1, 1) [000135] -c---------- * CNS_INT int 6 REG NA $4b | |
Contained | |
DefList: { N231.t166. CAST } | |
N235 ( 27, 11) [000136] ------------ * LSH int REG NA <l:$214, c:$215> | |
<RefPosition #108 @235 RefTypeUse <Ivl:38> BB05 regmask=[allInt] minReg=1 last> | |
Interval 39: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #109 @236 RefTypeDef <Ivl:39> LSH BB05 regmask=[allInt] minReg=1> | |
Assigning related <I38> to <I39> | |
+<TreeNodeInfo 1=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=1 | |
DefList: { N235.t136. LSH } | |
N237 ( 1, 1) [000138] ------------ * LCL_VAR int V06 tmp5 u:2 NA (last use) REG NA $211 | |
+<TreeNodeInfo 1=0 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[-O] | |
consume= 0 produce=1 | |
DefList: { N235.t136. LSH } | |
N239 ( 29, 13) [000139] ------------ * ADD int REG NA <l:$216, c:$217> | |
<RefPosition #110 @239 RefTypeUse <Ivl:39> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #111 @239 RefTypeUse <Ivl:5 V06> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
Interval 40: RefPositions {} physReg:NA Preferences=[allInt] | |
<RefPosition #112 @240 RefTypeDef <Ivl:40> ADD BB05 regmask=[allInt] minReg=1> | |
Assigning related <I39> to <I40> | |
+<TreeNodeInfo 1=2 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 2 produce=1 | |
DefList: { N239.t139. ADD } | |
N241 ( 30, 14) [000010] ------------ * RETURN int REG NA $1c3 | |
<RefPosition #113 @241 RefTypeFixedReg <Reg:rax> BB05 regmask=[rax] minReg=1> | |
<RefPosition #114 @241 RefTypeUse <Ivl:40> BB05 regmask=[rax] minReg=1 last fixed> | |
+<TreeNodeInfo 0=1 0i 0f src=[allInt] int=[allInt] dst=[allInt] I>[--] | |
consume= 1 produce=0 | |
CHECKING LAST USES for block 5, liveout={} | |
============================== | |
use: {V02 V03 V05} | |
def: {V03 V06 V07} | |
Linear scan intervals BEFORE VALIDATING INTERVALS: | |
Interval 0: (V00) RefPositions {#0@0 #7@15} physReg:rdi Preferences=[rdi] RelatedInterval <L3>[00000000024ECF58] | |
Interval 1: (V02) RefPositions {#6@10 #9@21 #93@209} physReg:NA Preferences=[rax rdx rbx rsi rdi r8-r15] | |
Interval 2: (V03) RefPositions {#10@22 #13@41 #17@51 #24@63 #31@75 #43@93 #46@96 #55@141 #64@155 #67@158 #71@177 #74@180 #84@197 #92@209} physReg:NA Preferences=[rax rdx rbx rsi rdi r8-r15] | |
Interval 3: (V04) RefPositions {#8@16 #11@29 #38@83 #42@86 #47@103 #49@113 #53@131 #63@148 #68@165 #69@169} physReg:NA Preferences=[allInt] RelatedInterval <L4>[00000000024ECFA8] | |
Interval 4: (V05) RefPositions {#50@114 #51@121 #54@132 #59@145 #75@187} physReg:NA Preferences=[allInt] | |
Interval 5: (V06) RefPositions {#91@204 #111@239} physReg:NA Preferences=[allInt] | |
Interval 6: (V07) RefPositions {#96@212 #97@217 #102@225} physReg:NA Preferences=[allInt] | |
Interval 7: (constant) RefPositions {#2@6 #3@7} physReg:NA Preferences=[allInt] | |
Interval 8: RefPositions {#4@8 #5@9} physReg:NA Preferences=[allInt] RelatedInterval <L1>[00000000024ECEB8] | |
Interval 9: RefPositions {#14@42 #15@43} physReg:NA Preferences=[allInt] | |
Interval 10: RefPositions {#16@44 #21@55} physReg:NA Preferences=[allInt] | |
Interval 11: RefPositions {#18@52 #19@53} physReg:NA Preferences=[allInt] | |
Interval 12: RefPositions {#20@54 #22@55} physReg:NA Preferences=[allInt] | |
Interval 13: RefPositions {#23@56 #28@67} physReg:NA Preferences=[allInt] RelatedInterval <I10>[00000000024EDB98] | |
Interval 14: RefPositions {#25@64 #26@65} physReg:NA Preferences=[allInt] | |
Interval 15: RefPositions {#27@66 #29@67} physReg:NA Preferences=[allInt] | |
Interval 16: RefPositions {#30@68 #35@79} physReg:NA Preferences=[allInt] RelatedInterval <I13>[00000000024EDFC8] | |
Interval 17: RefPositions {#32@76 #33@77} physReg:NA Preferences=[allInt] | |
Interval 18: RefPositions {#34@78 #36@79} physReg:NA Preferences=[allInt] | |
Interval 19: RefPositions {#37@80 #39@83} physReg:NA Preferences=[allInt] RelatedInterval <I16>[00000000024EE3F8] | |
Interval 20: (interfering uses) RefPositions {#40@84 #41@85} physReg:NA Preferences=[allInt] RelatedInterval <L3>[00000000024ECF58] | |
Interval 21: RefPositions {#44@94 #45@95} physReg:NA Preferences=[allInt] RelatedInterval <L2>[00000000024ECF08] | |
Interval 22: RefPositions {#56@142 #57@143} physReg:NA Preferences=[allInt] | |
Interval 23: RefPositions {#58@144 #60@145} physReg:NA Preferences=[allInt] | |
Interval 24: (interfering uses) RefPositions {#61@146 #62@147} physReg:NA Preferences=[allInt] RelatedInterval <L3>[00000000024ECF58] | |
Interval 25: RefPositions {#65@156 #66@157} physReg:NA Preferences=[allInt] RelatedInterval <L2>[00000000024ECF08] | |
Interval 26: RefPositions {#72@178 #73@179} physReg:NA Preferences=[allInt] RelatedInterval <L2>[00000000024ECF08] | |
Interval 27: RefPositions {#76@188 #80@191} physReg:NA Preferences=[rcx] RelatedInterval <L4>[00000000024ECFA8] | |
Interval 28: (constant) RefPositions {#77@190 #78@191} physReg:NA Preferences=[rax rdx rbx rsi rdi r8-r15] | |
Interval 29: (interfering uses) RefPositions {#82@192 #83@197} physReg:NA Preferences=[rax rdx rbx rsi rdi r8-r15] RelatedInterval <I28>[00000000024F6198] | |
Interval 30: RefPositions {#85@198 #86@199} physReg:NA Preferences=[allInt] | |
Interval 31: RefPositions {#87@200 #88@201} physReg:NA Preferences=[allInt] | |
Interval 32: RefPositions {#89@202 #90@203} physReg:NA Preferences=[allInt] RelatedInterval <L5>[00000000024ECFF8] | |
Interval 33: (interfering uses) RefPositions {#94@210 #95@211} physReg:NA Preferences=[allInt] RelatedInterval <L6>[00000000024ED048] | |
Interval 34: RefPositions {#98@218 #99@221} physReg:NA Preferences=[allInt] RelatedInterval <L6>[00000000024ED048] | |
Interval 35: RefPositions {#100@222 #101@225} physReg:NA Preferences=[allInt] RelatedInterval <I34>[00000000024F6C38] | |
Interval 36: RefPositions {#103@226 #104@229} physReg:NA Preferences=[allInt] RelatedInterval <I35>[00000000024F6D88] | |
Interval 37: RefPositions {#105@230 #106@231} physReg:NA Preferences=[allInt] RelatedInterval <I36>[00000000024F6F18] | |
Interval 38: RefPositions {#107@232 #108@235} physReg:NA Preferences=[allInt] | |
Interval 39: RefPositions {#109@236 #110@239} physReg:NA Preferences=[allInt] RelatedInterval <I38>[00000000024F7178] | |
Interval 40: RefPositions {#112@240 #114@241} physReg:NA Preferences=[rax] RelatedInterval <I39>[00000000024F72C8] | |
------------ | |
REFPOSITIONS BEFORE VALIDATING INTERVALS: | |
------------ | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[rdi] minReg=1 fixed> | |
<RefPosition #1 @1 RefTypeBB BB01 regmask=[] minReg=1> | |
<RefPosition #2 @6 RefTypeDef <Ivl:7> CNS_INT BB01 regmask=[allInt] minReg=1> | |
<RefPosition #3 @7 RefTypeUse <Ivl:7> BB01 regmask=[allInt] minReg=1 last> | |
<RefPosition #4 @8 RefTypeDef <Ivl:8> IND BB01 regmask=[allInt] minReg=1> | |
<RefPosition #5 @9 RefTypeUse <Ivl:8> BB01 regmask=[allInt] minReg=1 last> | |
<RefPosition #6 @10 RefTypeDef <Ivl:1 V02> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #7 @15 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allInt] minReg=1 last> | |
<RefPosition #8 @16 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #9 @21 RefTypeUse <Ivl:1 V02> LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #10 @22 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #11 @29 RefTypeUse <Ivl:3 V04> LCL_VAR BB01 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #12 @33 RefTypeBB BB02 regmask=[] minReg=1> | |
<RefPosition #13 @41 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #14 @42 RefTypeDef <Ivl:9> HWIntrinsic BB02 regmask=[allInt] minReg=1> | |
<RefPosition #15 @43 RefTypeUse <Ivl:9> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #16 @44 RefTypeDef <Ivl:10> CAST BB02 regmask=[allInt] minReg=1> | |
<RefPosition #17 @51 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #18 @52 RefTypeDef <Ivl:11> HWIntrinsic BB02 regmask=[allInt] minReg=1> | |
<RefPosition #19 @53 RefTypeUse <Ivl:11> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #20 @54 RefTypeDef <Ivl:12> CAST BB02 regmask=[allInt] minReg=1> | |
<RefPosition #21 @55 RefTypeUse <Ivl:10> BB02 regmask=[allInt] minReg=1 last regOptional> | |
<RefPosition #22 @55 RefTypeUse <Ivl:12> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #23 @56 RefTypeDef <Ivl:13> ADD BB02 regmask=[allInt] minReg=1> | |
<RefPosition #24 @63 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #25 @64 RefTypeDef <Ivl:14> HWIntrinsic BB02 regmask=[allInt] minReg=1> | |
<RefPosition #26 @65 RefTypeUse <Ivl:14> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #27 @66 RefTypeDef <Ivl:15> CAST BB02 regmask=[allInt] minReg=1> | |
<RefPosition #28 @67 RefTypeUse <Ivl:13> BB02 regmask=[allInt] minReg=1 last regOptional> | |
<RefPosition #29 @67 RefTypeUse <Ivl:15> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #30 @68 RefTypeDef <Ivl:16> ADD BB02 regmask=[allInt] minReg=1> | |
<RefPosition #31 @75 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #32 @76 RefTypeDef <Ivl:17> HWIntrinsic BB02 regmask=[allInt] minReg=1> | |
<RefPosition #33 @77 RefTypeUse <Ivl:17> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #34 @78 RefTypeDef <Ivl:18> CAST BB02 regmask=[allInt] minReg=1> | |
<RefPosition #35 @79 RefTypeUse <Ivl:16> BB02 regmask=[allInt] minReg=1 last regOptional> | |
<RefPosition #36 @79 RefTypeUse <Ivl:18> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #37 @80 RefTypeDef <Ivl:19> ADD BB02 regmask=[allInt] minReg=1> | |
<RefPosition #38 @83 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #39 @83 RefTypeUse <Ivl:19> BB02 regmask=[allInt] minReg=1 last delay regOptional> | |
<RefPosition #40 @84 RefTypeDef <Ivl:20> SUB BB02 regmask=[allInt] minReg=1> | |
<RefPosition #41 @85 RefTypeUse <Ivl:20> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #42 @86 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #43 @93 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #44 @94 RefTypeDef <Ivl:21> ADD BB02 regmask=[allInt] minReg=1> | |
<RefPosition #45 @95 RefTypeUse <Ivl:21> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #46 @96 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #47 @103 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #48 @107 RefTypeBB BB03 regmask=[] minReg=1> | |
<RefPosition #49 @113 RefTypeUse <Ivl:3 V04> LCL_VAR BB03 regmask=[allInt] minReg=1> | |
<RefPosition #50 @114 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB03 regmask=[allInt] minReg=1> | |
<RefPosition #51 @121 RefTypeUse <Ivl:4 V05> LCL_VAR BB03 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #52 @125 RefTypeBB BB04 regmask=[] minReg=1> | |
<RefPosition #53 @131 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #54 @132 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #55 @141 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #56 @142 RefTypeDef <Ivl:22> HWIntrinsic BB04 regmask=[allInt] minReg=1> | |
<RefPosition #57 @143 RefTypeUse <Ivl:22> BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #58 @144 RefTypeDef <Ivl:23> CAST BB04 regmask=[allInt] minReg=1> | |
<RefPosition #59 @145 RefTypeUse <Ivl:4 V05> LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #60 @145 RefTypeUse <Ivl:23> BB04 regmask=[allInt] minReg=1 last delay regOptional> | |
<RefPosition #61 @146 RefTypeDef <Ivl:24> SUB BB04 regmask=[allInt] minReg=1> | |
<RefPosition #62 @147 RefTypeUse <Ivl:24> BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #63 @148 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #64 @155 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #65 @156 RefTypeDef <Ivl:25> ADD BB04 regmask=[allInt] minReg=1> | |
<RefPosition #66 @157 RefTypeUse <Ivl:25> BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #67 @158 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #68 @165 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #69 @169 RefTypeExpUse <Ivl:3 V04> BB04 regmask=[allInt] minReg=1> | |
<RefPosition #70 @169 RefTypeBB BB05 regmask=[] minReg=1> | |
<RefPosition #71 @177 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #72 @178 RefTypeDef <Ivl:26> ADD BB05 regmask=[allInt] minReg=1> | |
<RefPosition #73 @179 RefTypeUse <Ivl:26> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #74 @180 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #75 @187 RefTypeUse <Ivl:4 V05> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #76 @188 RefTypeDef <Ivl:27> ADD BB05 regmask=[rcx] minReg=1> | |
<RefPosition #77 @190 RefTypeDef <Ivl:28> CNS_INT BB05 regmask=[rax rdx rbx rsi rdi r8-r15] minReg=1> | |
<RefPosition #78 @191 RefTypeUse <Ivl:28> BB05 regmask=[rax rdx rbx rsi rdi r8-r15] minReg=1 last> | |
<RefPosition #79 @191 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1> | |
<RefPosition #80 @191 RefTypeUse <Ivl:27> BB05 regmask=[rcx] minReg=1 last fixed delay> | |
<RefPosition #81 @192 RefTypeKill <Reg:rcx> BB05 regmask=[rcx] minReg=1 last> | |
<RefPosition #82 @192 RefTypeDef <Ivl:29> LSH BB05 regmask=[rax rdx rbx rsi rdi r8-r15] minReg=1> | |
<RefPosition #83 @197 RefTypeUse <Ivl:29> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #84 @197 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #85 @198 RefTypeDef <Ivl:30> HWIntrinsic BB05 regmask=[allInt] minReg=1> | |
<RefPosition #86 @199 RefTypeUse <Ivl:30> BB05 regmask=[allInt] minReg=1 last regOptional> | |
<RefPosition #87 @200 RefTypeDef <Ivl:31> HWIntrinsic BB05 regmask=[allInt] minReg=1> | |
<RefPosition #88 @201 RefTypeUse <Ivl:31> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #89 @202 RefTypeDef <Ivl:32> CAST BB05 regmask=[allInt] minReg=1> | |
<RefPosition #90 @203 RefTypeUse <Ivl:32> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #91 @204 RefTypeDef <Ivl:5 V06> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #92 @209 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #93 @209 RefTypeUse <Ivl:1 V02> LCL_VAR BB05 regmask=[allInt] minReg=1 last delay regOptional> | |
<RefPosition #94 @210 RefTypeDef <Ivl:33> SUB BB05 regmask=[allInt] minReg=1> | |
<RefPosition #95 @211 RefTypeUse <Ivl:33> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #96 @212 RefTypeDef <Ivl:6 V07> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #97 @217 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #98 @218 RefTypeDef <Ivl:34> RSH BB05 regmask=[allInt] minReg=1> | |
<RefPosition #99 @221 RefTypeUse <Ivl:34> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #100 @222 RefTypeDef <Ivl:35> AND BB05 regmask=[allInt] minReg=1> | |
<RefPosition #101 @225 RefTypeUse <Ivl:35> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #102 @225 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[allInt] minReg=1 last regOptional> | |
<RefPosition #103 @226 RefTypeDef <Ivl:36> ADD BB05 regmask=[allInt] minReg=1> | |
<RefPosition #104 @229 RefTypeUse <Ivl:36> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #105 @230 RefTypeDef <Ivl:37> RSH BB05 regmask=[allInt] minReg=1> | |
<RefPosition #106 @231 RefTypeUse <Ivl:37> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #107 @232 RefTypeDef <Ivl:38> CAST BB05 regmask=[allInt] minReg=1> | |
<RefPosition #108 @235 RefTypeUse <Ivl:38> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #109 @236 RefTypeDef <Ivl:39> LSH BB05 regmask=[allInt] minReg=1> | |
<RefPosition #110 @239 RefTypeUse <Ivl:39> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #111 @239 RefTypeUse <Ivl:5 V06> LCL_VAR BB05 regmask=[allInt] minReg=1 last regOptional> | |
<RefPosition #112 @240 RefTypeDef <Ivl:40> ADD BB05 regmask=[rax] minReg=1> | |
<RefPosition #113 @241 RefTypeFixedReg <Reg:rax> BB05 regmask=[rax] minReg=1> | |
<RefPosition #114 @241 RefTypeUse <Ivl:40> BB05 regmask=[rax] minReg=1 last fixed> | |
----------------- | |
<RefPosition #8 @16 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #11 @29 RefTypeUse <Ivl:3 V04> LCL_VAR BB01 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #38 @83 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #42 @86 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #47 @103 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #49 @113 RefTypeUse <Ivl:3 V04> LCL_VAR BB03 regmask=[allInt] minReg=1> | |
<RefPosition #53 @131 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #63 @148 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #68 @165 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #69 @169 RefTypeExpUse <Ivl:3 V04> BB04 regmask=[allInt] minReg=1> | |
----------------- | |
<RefPosition #10 @22 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #13 @41 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #17 @51 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #24 @63 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #31 @75 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #43 @93 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #46 @96 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #55 @141 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #64 @155 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #67 @158 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #71 @177 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #74 @180 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #84 @197 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #92 @209 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
----------------- | |
<RefPosition #50 @114 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB03 regmask=[allInt] minReg=1> | |
<RefPosition #51 @121 RefTypeUse <Ivl:4 V05> LCL_VAR BB03 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #54 @132 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #59 @145 RefTypeUse <Ivl:4 V05> LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #75 @187 RefTypeUse <Ivl:4 V05> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
----------------- | |
<RefPosition #6 @10 RefTypeDef <Ivl:1 V02> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #9 @21 RefTypeUse <Ivl:1 V02> LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #93 @209 RefTypeUse <Ivl:1 V02> LCL_VAR BB05 regmask=[allInt] minReg=1 last delay regOptional> | |
----------------- | |
<RefPosition #96 @212 RefTypeDef <Ivl:6 V07> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #97 @217 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #102 @225 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[allInt] minReg=1 last regOptional> | |
----------------- | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[rdi] minReg=1 fixed> | |
<RefPosition #7 @15 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allInt] minReg=1 last> | |
----------------- | |
<RefPosition #91 @204 RefTypeDef <Ivl:5 V06> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #111 @239 RefTypeUse <Ivl:5 V06> LCL_VAR BB05 regmask=[allInt] minReg=1 last regOptional> | |
TUPLE STYLE DUMP WITH REF POSITIONS | |
Incoming Parameters: V00 | |
BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
===== | |
N003. IL_OFFSET IL offset: 0x0 REG NA | |
N005. CNS_INT(h) 0x7f08ab884498 static Fseq[_bits] REG NA | |
Def:<I7>(#2) | |
N007. IND | |
Use:<I7>(#3) * | |
Def:<I8>(#4) Pref:<L1> | |
N009. V02(L1) | |
Use:<I8>(#5) * | |
Def:<L1>(#6) | |
N011. IL_OFFSET IL offset: 0x0 REG NA | |
N013. V00(L0) | |
N015. V04(L3) | |
Use:<L0>(#7) * | |
Def:<L3>(#8) Pref:<L4> | |
N017. IL_OFFSET IL offset: 0x0 REG NA | |
N019. V02(L1) | |
N021. V03(L2) | |
Use:<L1>(#9) | |
Def:<L2>(#10) | |
N023. IL_OFFSET IL offset: 0x0 REG NA | |
N025. V04(L3) | |
N027. CNS_INT 256 REG NA | |
N029. LT | |
Use:<L3>(#11) | |
N031. JTRUE | |
BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
===== | |
N035. IL_OFFSET IL offset: 0x0 REG NA | |
N037. V03(L2) | |
N039. IND | |
N041. HWIntrinsic | |
Use:<L2>(#13) | |
Def:<I9>(#14) | |
N043. CAST | |
Use:<I9>(#15) * | |
Def:<I10>(#16) | |
N045. V03(L2) | |
N047. LEA(b+8) | |
N049. IND | |
N051. HWIntrinsic | |
Use:<L2>(#17) | |
Def:<I11>(#18) | |
N053. CAST | |
Use:<I11>(#19) * | |
Def:<I12>(#20) | |
N055. ADD | |
Use:<I10>(#21) * | |
Use:<I12>(#22) * | |
Def:<I13>(#23) Pref:<I10> | |
N057. V03(L2) | |
N059. LEA(b+16) | |
N061. IND | |
N063. HWIntrinsic | |
Use:<L2>(#24) | |
Def:<I14>(#25) | |
N065. CAST | |
Use:<I14>(#26) * | |
Def:<I15>(#27) | |
N067. ADD | |
Use:<I13>(#28) * | |
Use:<I15>(#29) * | |
Def:<I16>(#30) Pref:<I13> | |
N069. V03(L2) | |
N071. LEA(b+24) | |
N073. IND | |
N075. HWIntrinsic | |
Use:<L2>(#31) | |
Def:<I17>(#32) | |
N077. CAST | |
Use:<I17>(#33) * | |
Def:<I18>(#34) | |
N079. ADD | |
Use:<I16>(#35) * | |
Use:<I18>(#36) * | |
Def:<I19>(#37) Pref:<I16> | |
N081. V04(L3) | |
N083. SUB | |
Use:<L3>(#38) * | |
Use:<I19>(#39) * | |
Def:<I20>(#40) Pref:<L3> | |
N085. V04(L3) | |
Use:<I20>(#41) * | |
Def:<L3>(#42) Pref:<L4> | |
N087. IL_OFFSET IL offset: 0x0 REG NA | |
N089. V03(L2) | |
N091. CNS_INT 32 REG NA | |
N093. ADD | |
Use:<L2>(#43) * | |
Def:<I21>(#44) Pref:<L2> | |
N095. V03(L2) | |
Use:<I21>(#45) * | |
Def:<L2>(#46) | |
N097. IL_OFFSET IL offset: 0x0 REG NA | |
N099. V04(L3) | |
N101. CNS_INT 256 REG NA | |
N103. GE | |
Use:<L3>(#47) | |
N105. JTRUE | |
BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
===== | |
N109. IL_OFFSET IL offset: 0x0 REG NA | |
N111. V04(L3) | |
N113. V05(L4) | |
Use:<L3>(#49) | |
Def:<L4>(#50) | |
N115. IL_OFFSET IL offset: 0x0 REG NA | |
N117. V05(L4) | |
N119. CNS_INT 0 REG NA | |
N121. LE | |
Use:<L4>(#51) | |
N123. JTRUE | |
BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
===== | |
N127. IL_OFFSET IL offset: 0x0 REG NA | |
N129. V04(L3) | |
N131. V05(L4) | |
Use:<L3>(#53) * | |
Def:<L4>(#54) | |
N133. IL_OFFSET IL offset: 0x0 REG NA | |
N135. V05(L4) | |
N137. V03(L2) | |
N139. IND | |
N141. HWIntrinsic | |
Use:<L2>(#55) | |
Def:<I22>(#56) | |
N143. CAST | |
Use:<I22>(#57) * | |
Def:<I23>(#58) | |
N145. SUB | |
Use:<L4>(#59) | |
Use:<I23>(#60) * | |
Def:<I24>(#61) Pref:<L3> | |
N147. V04(L3) | |
Use:<I24>(#62) * | |
Def:<L3>(#63) Pref:<L4> | |
N149. IL_OFFSET IL offset: 0x0 REG NA | |
N151. V03(L2) | |
N153. CNS_INT 8 REG NA | |
N155. ADD | |
Use:<L2>(#64) * | |
Def:<I25>(#65) Pref:<L2> | |
N157. V03(L2) | |
Use:<I25>(#66) * | |
Def:<L2>(#67) | |
N159. IL_OFFSET IL offset: 0x0 REG NA | |
N161. V04(L3) | |
N163. CNS_INT 0 REG NA | |
N165. GT | |
Use:<L3>(#68) | |
N167. JTRUE | |
Exposed use of V04 at #69 | |
BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
===== | |
N171. IL_OFFSET IL offset: 0x0 REG NA | |
N173. V03(L2) | |
N175. CNS_INT -8 REG NA | |
N177. ADD | |
Use:<L2>(#71) * | |
Def:<I26>(#72) Pref:<L2> | |
N179. V03(L2) | |
Use:<I26>(#73) * | |
Def:<L2>(#74) | |
N181. IL_OFFSET IL offset: 0x0 REG NA | |
N183. V05(L4) | |
N185. CNS_INT -1 REG NA | |
N187. ADD | |
Use:<L4>(#75) * | |
Def:<I27>(#76) Pref:<L4> | |
N189. CNS_INT 1 REG NA | |
Def:<I28>(#77) | |
N191. LSH | |
Use:<I28>(#78) * | |
Use:<I27>(#80) Fixed:rcx(#79) * | |
Kill: rcx | |
Def:<I29>(#82) Pref:<I28> | |
N193. V03(L2) | |
N195. IND | |
N197. HWIntrinsic | |
Use:<I29>(#83) * | |
Use:<L2>(#84) | |
Def:<I30>(#85) | |
N199. HWIntrinsic | |
Use:<I30>(#86) * | |
Def:<I31>(#87) | |
N201. CAST | |
Use:<I31>(#88) * | |
Def:<I32>(#89) Pref:<L5> | |
N203. V06(L5) | |
Use:<I32>(#90) * | |
Def:<L5>(#91) | |
N205. V03(L2) | |
N207. V02(L1) | |
N209. SUB | |
Use:<L2>(#92) * | |
Use:<L1>(#93) * | |
Def:<I33>(#94) Pref:<L6> | |
N211. V07(L6) | |
Use:<I33>(#95) * | |
Def:<L6>(#96) | |
N213. V07(L6) | |
N215. CNS_INT 63 REG NA | |
N217. RSH | |
Use:<L6>(#97) | |
Def:<I34>(#98) Pref:<L6> | |
N219. CNS_INT 7 REG NA | |
N221. AND | |
Use:<I34>(#99) * | |
Def:<I35>(#100) Pref:<I34> | |
N223. V07(L6) | |
N225. ADD | |
Use:<I35>(#101) * | |
Use:<L6>(#102) * | |
Def:<I36>(#103) Pref:<I35> | |
N227. CNS_INT 3 REG NA | |
N229. RSH | |
Use:<I36>(#104) * | |
Def:<I37>(#105) Pref:<I36> | |
N231. CAST | |
Use:<I37>(#106) * | |
Def:<I38>(#107) | |
N233. CNS_INT 6 REG NA | |
N235. LSH | |
Use:<I38>(#108) * | |
Def:<I39>(#109) Pref:<I38> | |
N237. V06(L5) | |
N239. ADD | |
Use:<I39>(#110) * | |
Use:<L5>(#111) * | |
Def:<I40>(#112) Pref:<I39> | |
N241. RETURN | |
Use:<I40>(#114) Fixed:rax(#113) * | |
Linear scan intervals after buildIntervals: | |
Interval 0: (V00) RefPositions {#0@0 #7@15} physReg:rdi Preferences=[rdi] RelatedInterval <L3>[00000000024ECF58] | |
Interval 1: (V02) RefPositions {#6@10 #9@21 #93@209} physReg:NA Preferences=[rax rdx rbx rsi rdi r8-r15] | |
Interval 2: (V03) RefPositions {#10@22 #13@41 #17@51 #24@63 #31@75 #43@93 #46@96 #55@141 #64@155 #67@158 #71@177 #74@180 #84@197 #92@209} physReg:NA Preferences=[rax rdx rbx rsi rdi r8-r15] | |
Interval 3: (V04) RefPositions {#8@16 #11@29 #38@83 #42@86 #47@103 #49@113 #53@131 #63@148 #68@165 #69@169} physReg:NA Preferences=[allInt] RelatedInterval <L4>[00000000024ECFA8] | |
Interval 4: (V05) RefPositions {#50@114 #51@121 #54@132 #59@145 #75@187} physReg:NA Preferences=[allInt] | |
Interval 5: (V06) RefPositions {#91@204 #111@239} physReg:NA Preferences=[allInt] | |
Interval 6: (V07) RefPositions {#96@212 #97@217 #102@225} physReg:NA Preferences=[allInt] | |
Interval 7: (constant) RefPositions {#2@6 #3@7} physReg:NA Preferences=[allInt] | |
Interval 8: RefPositions {#4@8 #5@9} physReg:NA Preferences=[allInt] RelatedInterval <L1>[00000000024ECEB8] | |
Interval 9: RefPositions {#14@42 #15@43} physReg:NA Preferences=[allInt] | |
Interval 10: RefPositions {#16@44 #21@55} physReg:NA Preferences=[allInt] | |
Interval 11: RefPositions {#18@52 #19@53} physReg:NA Preferences=[allInt] | |
Interval 12: RefPositions {#20@54 #22@55} physReg:NA Preferences=[allInt] | |
Interval 13: RefPositions {#23@56 #28@67} physReg:NA Preferences=[allInt] RelatedInterval <I10>[00000000024EDB98] | |
Interval 14: RefPositions {#25@64 #26@65} physReg:NA Preferences=[allInt] | |
Interval 15: RefPositions {#27@66 #29@67} physReg:NA Preferences=[allInt] | |
Interval 16: RefPositions {#30@68 #35@79} physReg:NA Preferences=[allInt] RelatedInterval <I13>[00000000024EDFC8] | |
Interval 17: RefPositions {#32@76 #33@77} physReg:NA Preferences=[allInt] | |
Interval 18: RefPositions {#34@78 #36@79} physReg:NA Preferences=[allInt] | |
Interval 19: RefPositions {#37@80 #39@83} physReg:NA Preferences=[allInt] RelatedInterval <I16>[00000000024EE3F8] | |
Interval 20: (interfering uses) RefPositions {#40@84 #41@85} physReg:NA Preferences=[allInt] RelatedInterval <L3>[00000000024ECF58] | |
Interval 21: RefPositions {#44@94 #45@95} physReg:NA Preferences=[allInt] RelatedInterval <L2>[00000000024ECF08] | |
Interval 22: RefPositions {#56@142 #57@143} physReg:NA Preferences=[allInt] | |
Interval 23: RefPositions {#58@144 #60@145} physReg:NA Preferences=[allInt] | |
Interval 24: (interfering uses) RefPositions {#61@146 #62@147} physReg:NA Preferences=[allInt] RelatedInterval <L3>[00000000024ECF58] | |
Interval 25: RefPositions {#65@156 #66@157} physReg:NA Preferences=[allInt] RelatedInterval <L2>[00000000024ECF08] | |
Interval 26: RefPositions {#72@178 #73@179} physReg:NA Preferences=[allInt] RelatedInterval <L2>[00000000024ECF08] | |
Interval 27: RefPositions {#76@188 #80@191} physReg:NA Preferences=[rcx] RelatedInterval <L4>[00000000024ECFA8] | |
Interval 28: (constant) RefPositions {#77@190 #78@191} physReg:NA Preferences=[rax rdx rbx rsi rdi r8-r15] | |
Interval 29: (interfering uses) RefPositions {#82@192 #83@197} physReg:NA Preferences=[rax rdx rbx rsi rdi r8-r15] RelatedInterval <I28>[00000000024F6198] | |
Interval 30: RefPositions {#85@198 #86@199} physReg:NA Preferences=[allInt] | |
Interval 31: RefPositions {#87@200 #88@201} physReg:NA Preferences=[allInt] | |
Interval 32: RefPositions {#89@202 #90@203} physReg:NA Preferences=[allInt] RelatedInterval <L5>[00000000024ECFF8] | |
Interval 33: (interfering uses) RefPositions {#94@210 #95@211} physReg:NA Preferences=[allInt] RelatedInterval <L6>[00000000024ED048] | |
Interval 34: RefPositions {#98@218 #99@221} physReg:NA Preferences=[allInt] RelatedInterval <L6>[00000000024ED048] | |
Interval 35: RefPositions {#100@222 #101@225} physReg:NA Preferences=[allInt] RelatedInterval <I34>[00000000024F6C38] | |
Interval 36: RefPositions {#103@226 #104@229} physReg:NA Preferences=[allInt] RelatedInterval <I35>[00000000024F6D88] | |
Interval 37: RefPositions {#105@230 #106@231} physReg:NA Preferences=[allInt] RelatedInterval <I36>[00000000024F6F18] | |
Interval 38: RefPositions {#107@232 #108@235} physReg:NA Preferences=[allInt] | |
Interval 39: RefPositions {#109@236 #110@239} physReg:NA Preferences=[allInt] RelatedInterval <I38>[00000000024F7178] | |
Interval 40: RefPositions {#112@240 #114@241} physReg:NA Preferences=[rax] RelatedInterval <I39>[00000000024F72C8] | |
*************** In LinearScan::allocateRegisters() | |
Linear scan intervals before allocateRegisters: | |
Interval 0: (V00) RefPositions {#0@0 #7@15} physReg:rdi Preferences=[rdi] RelatedInterval <L3>[00000000024ECF58] | |
Interval 1: (V02) RefPositions {#6@10 #9@21 #93@209} physReg:NA Preferences=[rax rdx rbx rsi rdi r8-r15] | |
Interval 2: (V03) RefPositions {#10@22 #13@41 #17@51 #24@63 #31@75 #43@93 #46@96 #55@141 #64@155 #67@158 #71@177 #74@180 #84@197 #92@209} physReg:NA Preferences=[rax rdx rbx rsi rdi r8-r15] | |
Interval 3: (V04) RefPositions {#8@16 #11@29 #38@83 #42@86 #47@103 #49@113 #53@131 #63@148 #68@165 #69@169} physReg:NA Preferences=[allInt] RelatedInterval <L4>[00000000024ECFA8] | |
Interval 4: (V05) RefPositions {#50@114 #51@121 #54@132 #59@145 #75@187} physReg:NA Preferences=[allInt] | |
Interval 5: (V06) RefPositions {#91@204 #111@239} physReg:NA Preferences=[allInt] | |
Interval 6: (V07) RefPositions {#96@212 #97@217 #102@225} physReg:NA Preferences=[allInt] | |
Interval 7: (constant) RefPositions {#2@6 #3@7} physReg:NA Preferences=[allInt] | |
Interval 8: RefPositions {#4@8 #5@9} physReg:NA Preferences=[allInt] RelatedInterval <L1>[00000000024ECEB8] | |
Interval 9: RefPositions {#14@42 #15@43} physReg:NA Preferences=[allInt] | |
Interval 10: RefPositions {#16@44 #21@55} physReg:NA Preferences=[allInt] | |
Interval 11: RefPositions {#18@52 #19@53} physReg:NA Preferences=[allInt] | |
Interval 12: RefPositions {#20@54 #22@55} physReg:NA Preferences=[allInt] | |
Interval 13: RefPositions {#23@56 #28@67} physReg:NA Preferences=[allInt] RelatedInterval <I10>[00000000024EDB98] | |
Interval 14: RefPositions {#25@64 #26@65} physReg:NA Preferences=[allInt] | |
Interval 15: RefPositions {#27@66 #29@67} physReg:NA Preferences=[allInt] | |
Interval 16: RefPositions {#30@68 #35@79} physReg:NA Preferences=[allInt] RelatedInterval <I13>[00000000024EDFC8] | |
Interval 17: RefPositions {#32@76 #33@77} physReg:NA Preferences=[allInt] | |
Interval 18: RefPositions {#34@78 #36@79} physReg:NA Preferences=[allInt] | |
Interval 19: RefPositions {#37@80 #39@83} physReg:NA Preferences=[allInt] RelatedInterval <I16>[00000000024EE3F8] | |
Interval 20: (interfering uses) RefPositions {#40@84 #41@85} physReg:NA Preferences=[allInt] RelatedInterval <L3>[00000000024ECF58] | |
Interval 21: RefPositions {#44@94 #45@95} physReg:NA Preferences=[allInt] RelatedInterval <L2>[00000000024ECF08] | |
Interval 22: RefPositions {#56@142 #57@143} physReg:NA Preferences=[allInt] | |
Interval 23: RefPositions {#58@144 #60@145} physReg:NA Preferences=[allInt] | |
Interval 24: (interfering uses) RefPositions {#61@146 #62@147} physReg:NA Preferences=[allInt] RelatedInterval <L3>[00000000024ECF58] | |
Interval 25: RefPositions {#65@156 #66@157} physReg:NA Preferences=[allInt] RelatedInterval <L2>[00000000024ECF08] | |
Interval 26: RefPositions {#72@178 #73@179} physReg:NA Preferences=[allInt] RelatedInterval <L2>[00000000024ECF08] | |
Interval 27: RefPositions {#76@188 #80@191} physReg:NA Preferences=[rcx] RelatedInterval <L4>[00000000024ECFA8] | |
Interval 28: (constant) RefPositions {#77@190 #78@191} physReg:NA Preferences=[rax rdx rbx rsi rdi r8-r15] | |
Interval 29: (interfering uses) RefPositions {#82@192 #83@197} physReg:NA Preferences=[rax rdx rbx rsi rdi r8-r15] RelatedInterval <I28>[00000000024F6198] | |
Interval 30: RefPositions {#85@198 #86@199} physReg:NA Preferences=[allInt] | |
Interval 31: RefPositions {#87@200 #88@201} physReg:NA Preferences=[allInt] | |
Interval 32: RefPositions {#89@202 #90@203} physReg:NA Preferences=[allInt] RelatedInterval <L5>[00000000024ECFF8] | |
Interval 33: (interfering uses) RefPositions {#94@210 #95@211} physReg:NA Preferences=[allInt] RelatedInterval <L6>[00000000024ED048] | |
Interval 34: RefPositions {#98@218 #99@221} physReg:NA Preferences=[allInt] RelatedInterval <L6>[00000000024ED048] | |
Interval 35: RefPositions {#100@222 #101@225} physReg:NA Preferences=[allInt] RelatedInterval <I34>[00000000024F6C38] | |
Interval 36: RefPositions {#103@226 #104@229} physReg:NA Preferences=[allInt] RelatedInterval <I35>[00000000024F6D88] | |
Interval 37: RefPositions {#105@230 #106@231} physReg:NA Preferences=[allInt] RelatedInterval <I36>[00000000024F6F18] | |
Interval 38: RefPositions {#107@232 #108@235} physReg:NA Preferences=[allInt] | |
Interval 39: RefPositions {#109@236 #110@239} physReg:NA Preferences=[allInt] RelatedInterval <I38>[00000000024F7178] | |
Interval 40: RefPositions {#112@240 #114@241} physReg:NA Preferences=[rax] RelatedInterval <I39>[00000000024F72C8] | |
------------ | |
REFPOSITIONS BEFORE ALLOCATION: | |
------------ | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[rdi] minReg=1 fixed> | |
<RefPosition #1 @1 RefTypeBB BB01 regmask=[] minReg=1> | |
<RefPosition #2 @6 RefTypeDef <Ivl:7> CNS_INT BB01 regmask=[allInt] minReg=1> | |
<RefPosition #3 @7 RefTypeUse <Ivl:7> BB01 regmask=[allInt] minReg=1 last> | |
<RefPosition #4 @8 RefTypeDef <Ivl:8> IND BB01 regmask=[allInt] minReg=1> | |
<RefPosition #5 @9 RefTypeUse <Ivl:8> BB01 regmask=[allInt] minReg=1 last> | |
<RefPosition #6 @10 RefTypeDef <Ivl:1 V02> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #7 @15 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allInt] minReg=1 last> | |
<RefPosition #8 @16 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #9 @21 RefTypeUse <Ivl:1 V02> LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #10 @22 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #11 @29 RefTypeUse <Ivl:3 V04> LCL_VAR BB01 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #12 @33 RefTypeBB BB02 regmask=[] minReg=1> | |
<RefPosition #13 @41 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #14 @42 RefTypeDef <Ivl:9> HWIntrinsic BB02 regmask=[allInt] minReg=1> | |
<RefPosition #15 @43 RefTypeUse <Ivl:9> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #16 @44 RefTypeDef <Ivl:10> CAST BB02 regmask=[allInt] minReg=1> | |
<RefPosition #17 @51 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #18 @52 RefTypeDef <Ivl:11> HWIntrinsic BB02 regmask=[allInt] minReg=1> | |
<RefPosition #19 @53 RefTypeUse <Ivl:11> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #20 @54 RefTypeDef <Ivl:12> CAST BB02 regmask=[allInt] minReg=1> | |
<RefPosition #21 @55 RefTypeUse <Ivl:10> BB02 regmask=[allInt] minReg=1 last regOptional> | |
<RefPosition #22 @55 RefTypeUse <Ivl:12> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #23 @56 RefTypeDef <Ivl:13> ADD BB02 regmask=[allInt] minReg=1> | |
<RefPosition #24 @63 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #25 @64 RefTypeDef <Ivl:14> HWIntrinsic BB02 regmask=[allInt] minReg=1> | |
<RefPosition #26 @65 RefTypeUse <Ivl:14> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #27 @66 RefTypeDef <Ivl:15> CAST BB02 regmask=[allInt] minReg=1> | |
<RefPosition #28 @67 RefTypeUse <Ivl:13> BB02 regmask=[allInt] minReg=1 last regOptional> | |
<RefPosition #29 @67 RefTypeUse <Ivl:15> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #30 @68 RefTypeDef <Ivl:16> ADD BB02 regmask=[allInt] minReg=1> | |
<RefPosition #31 @75 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #32 @76 RefTypeDef <Ivl:17> HWIntrinsic BB02 regmask=[allInt] minReg=1> | |
<RefPosition #33 @77 RefTypeUse <Ivl:17> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #34 @78 RefTypeDef <Ivl:18> CAST BB02 regmask=[allInt] minReg=1> | |
<RefPosition #35 @79 RefTypeUse <Ivl:16> BB02 regmask=[allInt] minReg=1 last regOptional> | |
<RefPosition #36 @79 RefTypeUse <Ivl:18> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #37 @80 RefTypeDef <Ivl:19> ADD BB02 regmask=[allInt] minReg=1> | |
<RefPosition #38 @83 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #39 @83 RefTypeUse <Ivl:19> BB02 regmask=[allInt] minReg=1 last delay regOptional> | |
<RefPosition #40 @84 RefTypeDef <Ivl:20> SUB BB02 regmask=[allInt] minReg=1> | |
<RefPosition #41 @85 RefTypeUse <Ivl:20> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #42 @86 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #43 @93 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #44 @94 RefTypeDef <Ivl:21> ADD BB02 regmask=[allInt] minReg=1> | |
<RefPosition #45 @95 RefTypeUse <Ivl:21> BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #46 @96 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #47 @103 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #48 @107 RefTypeBB BB03 regmask=[] minReg=1> | |
<RefPosition #49 @113 RefTypeUse <Ivl:3 V04> LCL_VAR BB03 regmask=[allInt] minReg=1> | |
<RefPosition #50 @114 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB03 regmask=[allInt] minReg=1> | |
<RefPosition #51 @121 RefTypeUse <Ivl:4 V05> LCL_VAR BB03 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #52 @125 RefTypeBB BB04 regmask=[] minReg=1> | |
<RefPosition #53 @131 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #54 @132 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #55 @141 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #56 @142 RefTypeDef <Ivl:22> HWIntrinsic BB04 regmask=[allInt] minReg=1> | |
<RefPosition #57 @143 RefTypeUse <Ivl:22> BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #58 @144 RefTypeDef <Ivl:23> CAST BB04 regmask=[allInt] minReg=1> | |
<RefPosition #59 @145 RefTypeUse <Ivl:4 V05> LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #60 @145 RefTypeUse <Ivl:23> BB04 regmask=[allInt] minReg=1 last delay regOptional> | |
<RefPosition #61 @146 RefTypeDef <Ivl:24> SUB BB04 regmask=[allInt] minReg=1> | |
<RefPosition #62 @147 RefTypeUse <Ivl:24> BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #63 @148 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #64 @155 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #65 @156 RefTypeDef <Ivl:25> ADD BB04 regmask=[allInt] minReg=1> | |
<RefPosition #66 @157 RefTypeUse <Ivl:25> BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #67 @158 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #68 @165 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #69 @169 RefTypeExpUse <Ivl:3 V04> BB04 regmask=[allInt] minReg=1> | |
<RefPosition #70 @169 RefTypeBB BB05 regmask=[] minReg=1> | |
<RefPosition #71 @177 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #72 @178 RefTypeDef <Ivl:26> ADD BB05 regmask=[allInt] minReg=1> | |
<RefPosition #73 @179 RefTypeUse <Ivl:26> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #74 @180 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #75 @187 RefTypeUse <Ivl:4 V05> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #76 @188 RefTypeDef <Ivl:27> ADD BB05 regmask=[rcx] minReg=1> | |
<RefPosition #77 @190 RefTypeDef <Ivl:28> CNS_INT BB05 regmask=[rax rdx rbx rsi rdi r8-r15] minReg=1> | |
<RefPosition #78 @191 RefTypeUse <Ivl:28> BB05 regmask=[rax rdx rbx rsi rdi r8-r15] minReg=1 last> | |
<RefPosition #79 @191 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1> | |
<RefPosition #80 @191 RefTypeUse <Ivl:27> BB05 regmask=[rcx] minReg=1 last fixed delay> | |
<RefPosition #81 @192 RefTypeKill <Reg:rcx> BB05 regmask=[rcx] minReg=1 last> | |
<RefPosition #82 @192 RefTypeDef <Ivl:29> LSH BB05 regmask=[rax rdx rbx rsi rdi r8-r15] minReg=1> | |
<RefPosition #83 @197 RefTypeUse <Ivl:29> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #84 @197 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #85 @198 RefTypeDef <Ivl:30> HWIntrinsic BB05 regmask=[allInt] minReg=1> | |
<RefPosition #86 @199 RefTypeUse <Ivl:30> BB05 regmask=[allInt] minReg=1 last regOptional> | |
<RefPosition #87 @200 RefTypeDef <Ivl:31> HWIntrinsic BB05 regmask=[allInt] minReg=1> | |
<RefPosition #88 @201 RefTypeUse <Ivl:31> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #89 @202 RefTypeDef <Ivl:32> CAST BB05 regmask=[allInt] minReg=1> | |
<RefPosition #90 @203 RefTypeUse <Ivl:32> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #91 @204 RefTypeDef <Ivl:5 V06> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #92 @209 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #93 @209 RefTypeUse <Ivl:1 V02> LCL_VAR BB05 regmask=[allInt] minReg=1 last delay regOptional> | |
<RefPosition #94 @210 RefTypeDef <Ivl:33> SUB BB05 regmask=[allInt] minReg=1> | |
<RefPosition #95 @211 RefTypeUse <Ivl:33> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #96 @212 RefTypeDef <Ivl:6 V07> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #97 @217 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #98 @218 RefTypeDef <Ivl:34> RSH BB05 regmask=[allInt] minReg=1> | |
<RefPosition #99 @221 RefTypeUse <Ivl:34> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #100 @222 RefTypeDef <Ivl:35> AND BB05 regmask=[allInt] minReg=1> | |
<RefPosition #101 @225 RefTypeUse <Ivl:35> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #102 @225 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[allInt] minReg=1 last regOptional> | |
<RefPosition #103 @226 RefTypeDef <Ivl:36> ADD BB05 regmask=[allInt] minReg=1> | |
<RefPosition #104 @229 RefTypeUse <Ivl:36> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #105 @230 RefTypeDef <Ivl:37> RSH BB05 regmask=[allInt] minReg=1> | |
<RefPosition #106 @231 RefTypeUse <Ivl:37> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #107 @232 RefTypeDef <Ivl:38> CAST BB05 regmask=[allInt] minReg=1> | |
<RefPosition #108 @235 RefTypeUse <Ivl:38> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #109 @236 RefTypeDef <Ivl:39> LSH BB05 regmask=[allInt] minReg=1> | |
<RefPosition #110 @239 RefTypeUse <Ivl:39> BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #111 @239 RefTypeUse <Ivl:5 V06> LCL_VAR BB05 regmask=[allInt] minReg=1 last regOptional> | |
<RefPosition #112 @240 RefTypeDef <Ivl:40> ADD BB05 regmask=[rax] minReg=1> | |
<RefPosition #113 @241 RefTypeFixedReg <Reg:rax> BB05 regmask=[rax] minReg=1> | |
<RefPosition #114 @241 RefTypeUse <Ivl:40> BB05 regmask=[rax] minReg=1 last fixed> | |
VAR REFPOSITIONS BEFORE ALLOCATION | |
--- V00 | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[rdi] minReg=1 fixed> | |
<RefPosition #7 @15 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[allInt] minReg=1 last> | |
--- V01 | |
--- V02 | |
<RefPosition #6 @10 RefTypeDef <Ivl:1 V02> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #9 @21 RefTypeUse <Ivl:1 V02> LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #93 @209 RefTypeUse <Ivl:1 V02> LCL_VAR BB05 regmask=[allInt] minReg=1 last delay regOptional> | |
--- V03 | |
<RefPosition #10 @22 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #13 @41 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #17 @51 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #24 @63 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #31 @75 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #43 @93 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #46 @96 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #55 @141 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #64 @155 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #67 @158 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #71 @177 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
<RefPosition #74 @180 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #84 @197 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #92 @209 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
--- V04 | |
<RefPosition #8 @16 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB01 regmask=[allInt] minReg=1> | |
<RefPosition #11 @29 RefTypeUse <Ivl:3 V04> LCL_VAR BB01 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #38 @83 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[allInt] minReg=1 last> | |
<RefPosition #42 @86 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB02 regmask=[allInt] minReg=1> | |
<RefPosition #47 @103 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #49 @113 RefTypeUse <Ivl:3 V04> LCL_VAR BB03 regmask=[allInt] minReg=1> | |
<RefPosition #53 @131 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[allInt] minReg=1 last> | |
<RefPosition #63 @148 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #68 @165 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #69 @169 RefTypeExpUse <Ivl:3 V04> BB04 regmask=[allInt] minReg=1> | |
--- V05 | |
<RefPosition #50 @114 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB03 regmask=[allInt] minReg=1> | |
<RefPosition #51 @121 RefTypeUse <Ivl:4 V05> LCL_VAR BB03 regmask=[allInt] minReg=1 regOptional> | |
<RefPosition #54 @132 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #59 @145 RefTypeUse <Ivl:4 V05> LCL_VAR BB04 regmask=[allInt] minReg=1> | |
<RefPosition #75 @187 RefTypeUse <Ivl:4 V05> LCL_VAR BB05 regmask=[allInt] minReg=1 last> | |
--- V06 | |
<RefPosition #91 @204 RefTypeDef <Ivl:5 V06> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #111 @239 RefTypeUse <Ivl:5 V06> LCL_VAR BB05 regmask=[allInt] minReg=1 last regOptional> | |
--- V07 | |
<RefPosition #96 @212 RefTypeDef <Ivl:6 V07> STORE_LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #97 @217 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[allInt] minReg=1> | |
<RefPosition #102 @225 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[allInt] minReg=1 last regOptional> | |
Allocating Registers | |
-------------------- | |
The following table has one or more rows for each RefPosition that is handled during allocation. | |
The first column provides the basic information about the RefPosition, with its type (e.g. Def, | |
Use, Fixd) followed by a '*' if it is a last use, and a 'D' if it is delayRegFree, and then the | |
action taken during allocation (e.g. Alloc a new register, or Keep an existing one). | |
The subsequent columns show the Interval occupying each register, if any, followed by 'a' if it is | |
active, and 'i'if it is inactive. Columns are only printed up to the last modifed register, which | |
may increase during allocation, in which case additional columns will appear. Registers which are | |
not marked modified have ---- in their column. | |
--------------------------------+----+----+----+----+----+ | |
Loc RP# Name Type Action Reg |rax |rcx |rbx |r12 |r13 | | |
--------------------------------+----+----+----+----+----+ | |
| | | | | | | |
--------------------------------+----+----+----+----+----+----+ | |
Loc RP# Name Type Action Reg |rax |rcx |rbx |rdi |r12 |r13 | | |
--------------------------------+----+----+----+----+----+----+ | |
0.#0 V0 Parm Keep rdi | | | |V0 a| | | | |
1.#1 BB1 PredBB0 | | | |V0 a| | | | |
6.#2 C7 Def Alloc rcx | |C7 a| |V0 a| | | | |
7.#3 C7 Use * Keep rcx | |C7 a| |V0 a| | | | |
8.#4 I8 Def Alloc rax |I8 a|C7 i| |V0 a| | | | |
9.#5 I8 Use * Keep rax |I8 a|C7 i| |V0 a| | | | |
10.#6 V2 Def Alloc rax |V2 a|C7 i| |V0 a| | | | |
15.#7 V0 Use * Keep rdi |V2 a|C7 i| |V0 a| | | | |
16.#8 V4 Def Alloc rcx |V2 a|V4 a| | | | | | |
21.#9 V2 Use Keep rax |V2 a|V4 a| | | | | | |
22.#10 V3 Def Alloc rdi |V2 a|V4 a| |V3 a| | | | |
29.#11 V4 Use Keep rcx |V2 a|V4 a| |V3 a| | | | |
--------------------------------+----+----+----+----+----+----+ | |
Loc RP# Name Type Action Reg |rax |rcx |rbx |rdi |r12 |r13 | | |
--------------------------------+----+----+----+----+----+----+ | |
33.#12 BB2 PredBB1 |V2 a|V4 a| |V3 a| | | | |
41.#13 V3 Use Keep rdi |V2 a|V4 a| |V3 a| | | | |
--------------------------------+----+----+----+----+----+----+----+ | |
Loc RP# Name Type Action Reg |rax |rcx |rbx |rsi |rdi |r12 |r13 | | |
--------------------------------+----+----+----+----+----+----+----+ | |
42.#14 I9 Def Alloc rsi |V2 a|V4 a| |I9 a|V3 a| | | | |
43.#15 I9 Use * Keep rsi |V2 a|V4 a| |I9 a|V3 a| | | | |
44.#16 I10 Def Alloc rsi |V2 a|V4 a| |I10a|V3 a| | | | |
51.#17 V3 Use Keep rdi |V2 a|V4 a| |I10a|V3 a| | | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rsi |rdi |r12 |r13 | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
52.#18 I11 Def Alloc rdx |V2 a|V4 a|I11a| |I10a|V3 a| | | | |
53.#19 I11 Use * Keep rdx |V2 a|V4 a|I11a| |I10a|V3 a| | | | |
54.#20 I12 Def Alloc rdx |V2 a|V4 a|I12a| |I10a|V3 a| | | | |
55.#21 I10 Use * Keep rsi |V2 a|V4 a|I12a| |I10a|V3 a| | | | |
55.#22 I12 Use * Keep rdx |V2 a|V4 a|I12a| |I10a|V3 a| | | | |
56.#23 I13 Def Alloc rsi |V2 a|V4 a| | |I13a|V3 a| | | | |
63.#24 V3 Use Keep rdi |V2 a|V4 a| | |I13a|V3 a| | | | |
64.#25 I14 Def Alloc rdx |V2 a|V4 a|I14a| |I13a|V3 a| | | | |
65.#26 I14 Use * Keep rdx |V2 a|V4 a|I14a| |I13a|V3 a| | | | |
66.#27 I15 Def Alloc rdx |V2 a|V4 a|I15a| |I13a|V3 a| | | | |
67.#28 I13 Use * Keep rsi |V2 a|V4 a|I15a| |I13a|V3 a| | | | |
67.#29 I15 Use * Keep rdx |V2 a|V4 a|I15a| |I13a|V3 a| | | | |
68.#30 I16 Def Alloc rsi |V2 a|V4 a| | |I16a|V3 a| | | | |
75.#31 V3 Use Keep rdi |V2 a|V4 a| | |I16a|V3 a| | | | |
76.#32 I17 Def Alloc rdx |V2 a|V4 a|I17a| |I16a|V3 a| | | | |
77.#33 I17 Use * Keep rdx |V2 a|V4 a|I17a| |I16a|V3 a| | | | |
78.#34 I18 Def Alloc rdx |V2 a|V4 a|I18a| |I16a|V3 a| | | | |
79.#35 I16 Use * Keep rsi |V2 a|V4 a|I18a| |I16a|V3 a| | | | |
79.#36 I18 Use * Keep rdx |V2 a|V4 a|I18a| |I16a|V3 a| | | | |
80.#37 I19 Def Alloc rsi |V2 a|V4 a| | |I19a|V3 a| | | | |
83.#38 V4 Use * Keep rcx |V2 a|V4 i| | |I19a|V3 a| | | | |
83.#39 I19 Use *D Keep rsi |V2 a|V4 i| | |I19a|V3 a| | | | |
84.#40 I20 Def Alloc rcx |V2 a|I20a| | |I19a|V3 a| | | | |
85.#41 I20 Use * Keep rcx |V2 a|I20a| | | |V3 a| | | | |
Restr rcx |V2 a|V4 i| | | |V3 a| | | | |
86.#42 V4 Def Alloc rcx |V2 a|V4 a| | | |V3 a| | | | |
93.#43 V3 Use * Keep rdi |V2 a|V4 a| | | |V3 i| | | | |
94.#44 I21 Def Alloc rdi |V2 a|V4 a| | | |I21a| | | | |
95.#45 I21 Use * Keep rdi |V2 a|V4 a| | | |I21a| | | | |
Restr rdi |V2 a|V4 a| | | |V3 i| | | | |
96.#46 V3 Def Alloc rdi |V2 a|V4 a| | | |V3 a| | | | |
103.#47 V4 Use Keep rcx |V2 a|V4 a| | | |V3 a| | | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rsi |rdi |r12 |r13 | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
107.#48 BB3 PredBB2 |V2 a|V4 a| | | |V3 a| | | | |
113.#49 V4 Use Keep rcx |V2 a|V4 a| | | |V3 a| | | | |
114.#50 V5 Def Alloc rsi |V2 a|V4 a| | |V5 a|V3 a| | | | |
121.#51 V5 Use Keep rsi |V2 a|V4 a| | |V5 a|V3 a| | | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rsi |rdi |r12 |r13 | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
125.#52 BB4 PredBB3 |V2 a|V4 a| | |V5 i|V3 a| | | | |
131.#53 V4 Use * Keep rcx |V2 a|V4 i| | |V5 i|V3 a| | | | |
132.#54 V5 Def Keep rsi |V2 a|V4 i| | |V5 a|V3 a| | | | |
141.#55 V3 Use Keep rdi |V2 a|V4 i| | |V5 a|V3 a| | | | |
142.#56 I22 Def Alloc rcx |V2 a|I22a| | |V5 a|V3 a| | | | |
143.#57 I22 Use * Keep rcx |V2 a|I22a| | |V5 a|V3 a| | | | |
Restr rcx |V2 a|V4 i| | |V5 a|V3 a| | | | |
144.#58 I23 Def Alloc rcx |V2 a|I23a| | |V5 a|V3 a| | | | |
145.#59 V5 Use Keep rsi |V2 a|I23a| | |V5 a|V3 a| | | | |
145.#60 I23 Use *D Keep rcx |V2 a|I23a| | |V5 a|V3 a| | | | |
146.#61 I24 Def Alloc rdx |V2 a|I23a|I24a| |V5 a|V3 a| | | | |
Restr rcx |V2 a|V4 i|I24a| |V5 a|V3 a| | | | |
147.#62 I24 Use * Keep rdx |V2 a|V4 i|I24a| |V5 a|V3 a| | | | |
148.#63 V4 Def Alloc rcx |V2 a|V4 a| | |V5 a|V3 a| | | | |
155.#64 V3 Use * Keep rdi |V2 a|V4 a| | |V5 a|V3 i| | | | |
156.#65 I25 Def Alloc rdi |V2 a|V4 a| | |V5 a|I25a| | | | |
157.#66 I25 Use * Keep rdi |V2 a|V4 a| | |V5 a|I25a| | | | |
Restr rdi |V2 a|V4 a| | |V5 a|V3 i| | | | |
158.#67 V3 Def Alloc rdi |V2 a|V4 a| | |V5 a|V3 a| | | | |
165.#68 V4 Use Keep rcx |V2 a|V4 a| | |V5 a|V3 a| | | | |
169.#69 V4 ExpU Keep NA |V2 a|V4 a| | |V5 a|V3 a| | | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rsi |rdi |r12 |r13 | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
169.#70 BB5 PredBB4 |V2 a| | | |V5 a|V3 a| | | | |
177.#71 V3 Use * Keep rdi |V2 a| | | |V5 a|V3 i| | | | |
178.#72 I26 Def Alloc rdi |V2 a| | | |V5 a|I26a| | | | |
179.#73 I26 Use * Keep rdi |V2 a| | | |V5 a|I26a| | | | |
Restr rdi |V2 a| | | |V5 a|V3 i| | | | |
180.#74 V3 Def Alloc rdi |V2 a| | | |V5 a|V3 a| | | | |
187.#75 V5 Use * Keep rsi |V2 a| | | |V5 a|V3 a| | | | |
188.#76 I27 Def Alloc rcx |V2 a|I27a| | | |V3 a| | | | |
190.#77 C28 Def Alloc rsi |V2 a|I27a| | |C28a|V3 a| | | | |
191.#78 C28 Use * Keep rsi |V2 a|I27a| | |C28a|V3 a| | | | |
191.#79 rcx Fixd Keep rcx |V2 a|I27a| | |C28a|V3 a| | | | |
191.#80 I27 Use *D Keep rcx |V2 a|I27a| | |C28a|V3 a| | | | |
192.#81 rcx Kill Keep rcx |V2 a| | | |C28i|V3 a| | | | |
192.#82 I29 Def Alloc rsi |V2 a| | | |I29a|V3 a| | | | |
197.#83 I29 Use * Keep rsi |V2 a| | | |I29a|V3 a| | | | |
197.#84 V3 Use Keep rdi |V2 a| | | |I29a|V3 a| | | | |
198.#85 I30 Def Alloc rsi |V2 a| | | |I30a|V3 a| | | | |
199.#86 I30 Use * Keep rsi |V2 a| | | |I30a|V3 a| | | | |
200.#87 I31 Def Alloc rsi |V2 a| | | |I31a|V3 a| | | | |
201.#88 I31 Use * Keep rsi |V2 a| | | |I31a|V3 a| | | | |
202.#89 I32 Def Alloc rsi |V2 a| | | |I32a|V3 a| | | | |
203.#90 I32 Use * Keep rsi |V2 a| | | |I32a|V3 a| | | | |
204.#91 V6 Def Alloc rsi |V2 a| | | |V6 a|V3 a| | | | |
209.#92 V3 Use * Keep rdi |V2 a| | | |V6 a|V3 a| | | | |
209.#93 V2 Use *D Keep rax |V2 a| | | |V6 a|V3 a| | | | |
210.#94 I33 Def Alloc rdi |V2 a| | | |V6 a|I33a| | | | |
211.#95 I33 Use * Keep rdi | | | | |V6 a|I33a| | | | |
212.#96 V7 Def Alloc rdi | | | | |V6 a|V7 a| | | | |
217.#97 V7 Use Keep rdi | | | | |V6 a|V7 a| | | | |
218.#98 I34 Def Alloc rax |I34a| | | |V6 a|V7 a| | | | |
221.#99 I34 Use * Keep rax |I34a| | | |V6 a|V7 a| | | | |
222.#100 I35 Def Alloc rax |I35a| | | |V6 a|V7 a| | | | |
225.#101 I35 Use * Keep rax |I35a| | | |V6 a|V7 a| | | | |
225.#102 V7 Use * Keep rdi |I35a| | | |V6 a|V7 a| | | | |
226.#103 I36 Def Alloc rax |I36a| | | |V6 a| | | | | |
229.#104 I36 Use * Keep rax |I36a| | | |V6 a| | | | | |
230.#105 I37 Def Alloc rax |I37a| | | |V6 a| | | | | |
231.#106 I37 Use * Keep rax |I37a| | | |V6 a| | | | | |
232.#107 I38 Def Alloc rax |I38a| | | |V6 a| | | | | |
235.#108 I38 Use * Keep rax |I38a| | | |V6 a| | | | | |
236.#109 I39 Def Alloc rax |I39a| | | |V6 a| | | | | |
239.#110 I39 Use * Keep rax |I39a| | | |V6 a| | | | | |
239.#111 V6 Use * Keep rsi |I39a| | | |V6 a| | | | | |
240.#112 I40 Def Alloc rax |I40a| | | | | | | | | |
241.#113 rax Fixd Keep rax |I40a| | | | | | | | | |
241.#114 I40 Use * Keep rax | | | | | | | | | | |
------------ | |
REFPOSITIONS AFTER ALLOCATION: | |
------------ | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[rdi] minReg=1 fixed> | |
<RefPosition #1 @1 RefTypeBB BB01 regmask=[] minReg=1> | |
<RefPosition #2 @6 RefTypeDef <Ivl:7> CNS_INT BB01 regmask=[rcx] minReg=1> | |
<RefPosition #3 @7 RefTypeUse <Ivl:7> BB01 regmask=[rcx] minReg=1 last> | |
<RefPosition #4 @8 RefTypeDef <Ivl:8> IND BB01 regmask=[rax] minReg=1> | |
<RefPosition #5 @9 RefTypeUse <Ivl:8> BB01 regmask=[rax] minReg=1 last> | |
<RefPosition #6 @10 RefTypeDef <Ivl:1 V02> STORE_LCL_VAR BB01 regmask=[rax] minReg=1> | |
<RefPosition #7 @15 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[rdi] minReg=1 last> | |
<RefPosition #8 @16 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB01 regmask=[rcx] minReg=1> | |
<RefPosition #9 @21 RefTypeUse <Ivl:1 V02> LCL_VAR BB01 regmask=[rax] minReg=1> | |
<RefPosition #10 @22 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB01 regmask=[rdi] minReg=1> | |
<RefPosition #11 @29 RefTypeUse <Ivl:3 V04> LCL_VAR BB01 regmask=[rcx] minReg=1 regOptional> | |
<RefPosition #12 @33 RefTypeBB BB02 regmask=[] minReg=1> | |
<RefPosition #13 @41 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[rdi] minReg=1> | |
<RefPosition #14 @42 RefTypeDef <Ivl:9> HWIntrinsic BB02 regmask=[rsi] minReg=1> | |
<RefPosition #15 @43 RefTypeUse <Ivl:9> BB02 regmask=[rsi] minReg=1 last> | |
<RefPosition #16 @44 RefTypeDef <Ivl:10> CAST BB02 regmask=[rsi] minReg=1> | |
<RefPosition #17 @51 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[rdi] minReg=1> | |
<RefPosition #18 @52 RefTypeDef <Ivl:11> HWIntrinsic BB02 regmask=[rdx] minReg=1> | |
<RefPosition #19 @53 RefTypeUse <Ivl:11> BB02 regmask=[rdx] minReg=1 last> | |
<RefPosition #20 @54 RefTypeDef <Ivl:12> CAST BB02 regmask=[rdx] minReg=1> | |
<RefPosition #21 @55 RefTypeUse <Ivl:10> BB02 regmask=[rsi] minReg=1 last regOptional> | |
<RefPosition #22 @55 RefTypeUse <Ivl:12> BB02 regmask=[rdx] minReg=1 last> | |
<RefPosition #23 @56 RefTypeDef <Ivl:13> ADD BB02 regmask=[rsi] minReg=1> | |
<RefPosition #24 @63 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[rdi] minReg=1> | |
<RefPosition #25 @64 RefTypeDef <Ivl:14> HWIntrinsic BB02 regmask=[rdx] minReg=1> | |
<RefPosition #26 @65 RefTypeUse <Ivl:14> BB02 regmask=[rdx] minReg=1 last> | |
<RefPosition #27 @66 RefTypeDef <Ivl:15> CAST BB02 regmask=[rdx] minReg=1> | |
<RefPosition #28 @67 RefTypeUse <Ivl:13> BB02 regmask=[rsi] minReg=1 last regOptional> | |
<RefPosition #29 @67 RefTypeUse <Ivl:15> BB02 regmask=[rdx] minReg=1 last> | |
<RefPosition #30 @68 RefTypeDef <Ivl:16> ADD BB02 regmask=[rsi] minReg=1> | |
<RefPosition #31 @75 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[rdi] minReg=1> | |
<RefPosition #32 @76 RefTypeDef <Ivl:17> HWIntrinsic BB02 regmask=[rdx] minReg=1> | |
<RefPosition #33 @77 RefTypeUse <Ivl:17> BB02 regmask=[rdx] minReg=1 last> | |
<RefPosition #34 @78 RefTypeDef <Ivl:18> CAST BB02 regmask=[rdx] minReg=1> | |
<RefPosition #35 @79 RefTypeUse <Ivl:16> BB02 regmask=[rsi] minReg=1 last regOptional> | |
<RefPosition #36 @79 RefTypeUse <Ivl:18> BB02 regmask=[rdx] minReg=1 last> | |
<RefPosition #37 @80 RefTypeDef <Ivl:19> ADD BB02 regmask=[rsi] minReg=1> | |
<RefPosition #38 @83 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[rcx] minReg=1 last> | |
<RefPosition #39 @83 RefTypeUse <Ivl:19> BB02 regmask=[rsi] minReg=1 last delay regOptional> | |
<RefPosition #40 @84 RefTypeDef <Ivl:20> SUB BB02 regmask=[rcx] minReg=1> | |
<RefPosition #41 @85 RefTypeUse <Ivl:20> BB02 regmask=[rcx] minReg=1 last> | |
<RefPosition #42 @86 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB02 regmask=[rcx] minReg=1> | |
<RefPosition #43 @93 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[rdi] minReg=1 last> | |
<RefPosition #44 @94 RefTypeDef <Ivl:21> ADD BB02 regmask=[rdi] minReg=1> | |
<RefPosition #45 @95 RefTypeUse <Ivl:21> BB02 regmask=[rdi] minReg=1 last> | |
<RefPosition #46 @96 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB02 regmask=[rdi] minReg=1> | |
<RefPosition #47 @103 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[rcx] minReg=1 regOptional> | |
<RefPosition #48 @107 RefTypeBB BB03 regmask=[] minReg=1> | |
<RefPosition #49 @113 RefTypeUse <Ivl:3 V04> LCL_VAR BB03 regmask=[rcx] minReg=1> | |
<RefPosition #50 @114 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB03 regmask=[rsi] minReg=1> | |
<RefPosition #51 @121 RefTypeUse <Ivl:4 V05> LCL_VAR BB03 regmask=[rsi] minReg=1 regOptional> | |
<RefPosition #52 @125 RefTypeBB BB04 regmask=[] minReg=1> | |
<RefPosition #53 @131 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[rcx] minReg=1 last> | |
<RefPosition #54 @132 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB04 regmask=[rsi] minReg=1> | |
<RefPosition #55 @141 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[rdi] minReg=1> | |
<RefPosition #56 @142 RefTypeDef <Ivl:22> HWIntrinsic BB04 regmask=[rcx] minReg=1> | |
<RefPosition #57 @143 RefTypeUse <Ivl:22> BB04 regmask=[rcx] minReg=1 last> | |
<RefPosition #58 @144 RefTypeDef <Ivl:23> CAST BB04 regmask=[rcx] minReg=1> | |
<RefPosition #59 @145 RefTypeUse <Ivl:4 V05> LCL_VAR BB04 regmask=[rsi] minReg=1> | |
<RefPosition #60 @145 RefTypeUse <Ivl:23> BB04 regmask=[rcx] minReg=1 last delay regOptional> | |
<RefPosition #61 @146 RefTypeDef <Ivl:24> SUB BB04 regmask=[rdx] minReg=1> | |
<RefPosition #62 @147 RefTypeUse <Ivl:24> BB04 regmask=[rdx] minReg=1 last> | |
<RefPosition #63 @148 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB04 regmask=[rcx] minReg=1> | |
<RefPosition #64 @155 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[rdi] minReg=1 last> | |
<RefPosition #65 @156 RefTypeDef <Ivl:25> ADD BB04 regmask=[rdi] minReg=1> | |
<RefPosition #66 @157 RefTypeUse <Ivl:25> BB04 regmask=[rdi] minReg=1 last> | |
<RefPosition #67 @158 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB04 regmask=[rdi] minReg=1> | |
<RefPosition #68 @165 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[rcx] minReg=1 regOptional> | |
<RefPosition #69 @169 RefTypeExpUse <Ivl:3 V04> BB04 regmask=[allInt] minReg=1> | |
<RefPosition #70 @169 RefTypeBB BB05 regmask=[] minReg=1> | |
<RefPosition #71 @177 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[rdi] minReg=1 last> | |
<RefPosition #72 @178 RefTypeDef <Ivl:26> ADD BB05 regmask=[rdi] minReg=1> | |
<RefPosition #73 @179 RefTypeUse <Ivl:26> BB05 regmask=[rdi] minReg=1 last> | |
<RefPosition #74 @180 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB05 regmask=[rdi] minReg=1> | |
<RefPosition #75 @187 RefTypeUse <Ivl:4 V05> LCL_VAR BB05 regmask=[rsi] minReg=1 last> | |
<RefPosition #76 @188 RefTypeDef <Ivl:27> ADD BB05 regmask=[rcx] minReg=1> | |
<RefPosition #77 @190 RefTypeDef <Ivl:28> CNS_INT BB05 regmask=[rsi] minReg=1> | |
<RefPosition #78 @191 RefTypeUse <Ivl:28> BB05 regmask=[rsi] minReg=1 last> | |
<RefPosition #79 @191 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1> | |
<RefPosition #80 @191 RefTypeUse <Ivl:27> BB05 regmask=[rcx] minReg=1 last fixed delay> | |
<RefPosition #81 @192 RefTypeKill <Reg:rcx> BB05 regmask=[rcx] minReg=1 last> | |
<RefPosition #82 @192 RefTypeDef <Ivl:29> LSH BB05 regmask=[rsi] minReg=1> | |
<RefPosition #83 @197 RefTypeUse <Ivl:29> BB05 regmask=[rsi] minReg=1 last> | |
<RefPosition #84 @197 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[rdi] minReg=1> | |
<RefPosition #85 @198 RefTypeDef <Ivl:30> HWIntrinsic BB05 regmask=[rsi] minReg=1> | |
<RefPosition #86 @199 RefTypeUse <Ivl:30> BB05 regmask=[rsi] minReg=1 last regOptional> | |
<RefPosition #87 @200 RefTypeDef <Ivl:31> HWIntrinsic BB05 regmask=[rsi] minReg=1> | |
<RefPosition #88 @201 RefTypeUse <Ivl:31> BB05 regmask=[rsi] minReg=1 last> | |
<RefPosition #89 @202 RefTypeDef <Ivl:32> CAST BB05 regmask=[rsi] minReg=1> | |
<RefPosition #90 @203 RefTypeUse <Ivl:32> BB05 regmask=[rsi] minReg=1 last> | |
<RefPosition #91 @204 RefTypeDef <Ivl:5 V06> STORE_LCL_VAR BB05 regmask=[rsi] minReg=1> | |
<RefPosition #92 @209 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[rdi] minReg=1 last> | |
<RefPosition #93 @209 RefTypeUse <Ivl:1 V02> LCL_VAR BB05 regmask=[rax] minReg=1 last delay regOptional> | |
<RefPosition #94 @210 RefTypeDef <Ivl:33> SUB BB05 regmask=[rdi] minReg=1> | |
<RefPosition #95 @211 RefTypeUse <Ivl:33> BB05 regmask=[rdi] minReg=1 last> | |
<RefPosition #96 @212 RefTypeDef <Ivl:6 V07> STORE_LCL_VAR BB05 regmask=[rdi] minReg=1> | |
<RefPosition #97 @217 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[rdi] minReg=1> | |
<RefPosition #98 @218 RefTypeDef <Ivl:34> RSH BB05 regmask=[rax] minReg=1> | |
<RefPosition #99 @221 RefTypeUse <Ivl:34> BB05 regmask=[rax] minReg=1 last> | |
<RefPosition #100 @222 RefTypeDef <Ivl:35> AND BB05 regmask=[rax] minReg=1> | |
<RefPosition #101 @225 RefTypeUse <Ivl:35> BB05 regmask=[rax] minReg=1 last> | |
<RefPosition #102 @225 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[rdi] minReg=1 last regOptional> | |
<RefPosition #103 @226 RefTypeDef <Ivl:36> ADD BB05 regmask=[rax] minReg=1> | |
<RefPosition #104 @229 RefTypeUse <Ivl:36> BB05 regmask=[rax] minReg=1 last> | |
<RefPosition #105 @230 RefTypeDef <Ivl:37> RSH BB05 regmask=[rax] minReg=1> | |
<RefPosition #106 @231 RefTypeUse <Ivl:37> BB05 regmask=[rax] minReg=1 last> | |
<RefPosition #107 @232 RefTypeDef <Ivl:38> CAST BB05 regmask=[rax] minReg=1> | |
<RefPosition #108 @235 RefTypeUse <Ivl:38> BB05 regmask=[rax] minReg=1 last> | |
<RefPosition #109 @236 RefTypeDef <Ivl:39> LSH BB05 regmask=[rax] minReg=1> | |
<RefPosition #110 @239 RefTypeUse <Ivl:39> BB05 regmask=[rax] minReg=1 last> | |
<RefPosition #111 @239 RefTypeUse <Ivl:5 V06> LCL_VAR BB05 regmask=[rsi] minReg=1 last regOptional> | |
<RefPosition #112 @240 RefTypeDef <Ivl:40> ADD BB05 regmask=[rax] minReg=1> | |
<RefPosition #113 @241 RefTypeFixedReg <Reg:rax> BB05 regmask=[rax] minReg=1> | |
<RefPosition #114 @241 RefTypeUse <Ivl:40> BB05 regmask=[rax] minReg=1 last fixed> | |
VAR REFPOSITIONS AFTER ALLOCATION | |
--- V00 | |
<RefPosition #0 @0 RefTypeParamDef <Ivl:0 V00> BB00 regmask=[rdi] minReg=1 fixed> | |
<RefPosition #7 @15 RefTypeUse <Ivl:0 V00> LCL_VAR BB01 regmask=[rdi] minReg=1 last> | |
--- V01 | |
--- V02 | |
<RefPosition #6 @10 RefTypeDef <Ivl:1 V02> STORE_LCL_VAR BB01 regmask=[rax] minReg=1> | |
<RefPosition #9 @21 RefTypeUse <Ivl:1 V02> LCL_VAR BB01 regmask=[rax] minReg=1> | |
<RefPosition #93 @209 RefTypeUse <Ivl:1 V02> LCL_VAR BB05 regmask=[rax] minReg=1 last delay regOptional> | |
--- V03 | |
<RefPosition #10 @22 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB01 regmask=[rdi] minReg=1> | |
<RefPosition #13 @41 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[rdi] minReg=1> | |
<RefPosition #17 @51 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[rdi] minReg=1> | |
<RefPosition #24 @63 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[rdi] minReg=1> | |
<RefPosition #31 @75 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[rdi] minReg=1> | |
<RefPosition #43 @93 RefTypeUse <Ivl:2 V03> LCL_VAR BB02 regmask=[rdi] minReg=1 last> | |
<RefPosition #46 @96 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB02 regmask=[rdi] minReg=1> | |
<RefPosition #55 @141 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[rdi] minReg=1> | |
<RefPosition #64 @155 RefTypeUse <Ivl:2 V03> LCL_VAR BB04 regmask=[rdi] minReg=1 last> | |
<RefPosition #67 @158 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB04 regmask=[rdi] minReg=1> | |
<RefPosition #71 @177 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[rdi] minReg=1 last> | |
<RefPosition #74 @180 RefTypeDef <Ivl:2 V03> STORE_LCL_VAR BB05 regmask=[rdi] minReg=1> | |
<RefPosition #84 @197 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[rdi] minReg=1> | |
<RefPosition #92 @209 RefTypeUse <Ivl:2 V03> LCL_VAR BB05 regmask=[rdi] minReg=1 last> | |
--- V04 | |
<RefPosition #8 @16 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB01 regmask=[rcx] minReg=1> | |
<RefPosition #11 @29 RefTypeUse <Ivl:3 V04> LCL_VAR BB01 regmask=[rcx] minReg=1 regOptional> | |
<RefPosition #38 @83 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[rcx] minReg=1 last> | |
<RefPosition #42 @86 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB02 regmask=[rcx] minReg=1> | |
<RefPosition #47 @103 RefTypeUse <Ivl:3 V04> LCL_VAR BB02 regmask=[rcx] minReg=1 regOptional> | |
<RefPosition #49 @113 RefTypeUse <Ivl:3 V04> LCL_VAR BB03 regmask=[rcx] minReg=1> | |
<RefPosition #53 @131 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[rcx] minReg=1 last> | |
<RefPosition #63 @148 RefTypeDef <Ivl:3 V04> STORE_LCL_VAR BB04 regmask=[rcx] minReg=1> | |
<RefPosition #68 @165 RefTypeUse <Ivl:3 V04> LCL_VAR BB04 regmask=[rcx] minReg=1 regOptional> | |
<RefPosition #69 @169 RefTypeExpUse <Ivl:3 V04> BB04 regmask=[allInt] minReg=1> | |
--- V05 | |
<RefPosition #50 @114 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB03 regmask=[rsi] minReg=1> | |
<RefPosition #51 @121 RefTypeUse <Ivl:4 V05> LCL_VAR BB03 regmask=[rsi] minReg=1 regOptional> | |
<RefPosition #54 @132 RefTypeDef <Ivl:4 V05> STORE_LCL_VAR BB04 regmask=[rsi] minReg=1> | |
<RefPosition #59 @145 RefTypeUse <Ivl:4 V05> LCL_VAR BB04 regmask=[rsi] minReg=1> | |
<RefPosition #75 @187 RefTypeUse <Ivl:4 V05> LCL_VAR BB05 regmask=[rsi] minReg=1 last> | |
--- V06 | |
<RefPosition #91 @204 RefTypeDef <Ivl:5 V06> STORE_LCL_VAR BB05 regmask=[rsi] minReg=1> | |
<RefPosition #111 @239 RefTypeUse <Ivl:5 V06> LCL_VAR BB05 regmask=[rsi] minReg=1 last regOptional> | |
--- V07 | |
<RefPosition #96 @212 RefTypeDef <Ivl:6 V07> STORE_LCL_VAR BB05 regmask=[rdi] minReg=1> | |
<RefPosition #97 @217 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[rdi] minReg=1> | |
<RefPosition #102 @225 RefTypeUse <Ivl:6 V07> LCL_VAR BB05 regmask=[rdi] minReg=1 last regOptional> | |
Active intervals at end of allocation: | |
Active Interval 27: RefPositions {#76@188 #80@191} physReg:NA Preferences=[rcx] RelatedInterval <L4>[00000000024ECFA8] | |
----------------------- | |
RESOLVING BB BOUNDARIES | |
----------------------- | |
Resolution Candidates: {V00 V02 V03 V04 V05} | |
Has Critical Edges | |
Prior to Resolution | |
BB01 use def in out | |
{V00} | |
{V02 V03 V04} | |
{V00} | |
{V02 V03 V04} | |
Var=Reg beg of BB01: V00=rdi | |
Var=Reg end of BB01: V04=rcx V03=rdi V02=rax | |
BB02 use def in out | |
{V03 V04} | |
{V03 V04} | |
{V02 V03 V04} | |
{V02 V03 V04} | |
Var=Reg beg of BB02: V04=rcx V03=rdi V02=rax | |
Var=Reg end of BB02: V04=rcx V03=rdi V02=rax | |
BB03 use def in out | |
{V04} | |
{V05} | |
{V02 V03 V04} | |
{V02 V03 V04 V05} | |
Var=Reg beg of BB03: V04=rcx V03=rdi V02=rax | |
Var=Reg end of BB03: V04=rcx V03=rdi V05=rsi V02=rax | |
BB04 use def in out | |
{V03 V04} | |
{V03 V04 V05} | |
{V02 V03 V04} | |
{V02 V03 V04 V05} | |
Var=Reg beg of BB04: V04=rcx V03=rdi V02=rax | |
Var=Reg end of BB04: V04=rcx V03=rdi V05=rsi V02=rax | |
BB05 use def in out | |
{V02 V03 V05} | |
{V03 V06 V07} | |
{V02 V03 V05} | |
{} | |
Var=Reg beg of BB05: V03=rdi V05=rsi V02=rax | |
Var=Reg end of BB05: none | |
RESOLVING EDGES | |
Set V00 argument initial register to rdi | |
Trees after linear scan register allocator (LSRA) | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target LIR | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd LIR | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target LIR | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd LIR | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target LIR | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
------------ BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
N003 ( 5, 12) [000142] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N005 ( 3, 10) [000159] ------------ t159 = CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] REG rcx $100 | |
/--* t159 long | |
N007 ( 5, 12) [000001] x---G------- t1 = * IND long REG rax <l:$140, c:$180> | |
/--* t1 long | |
N009 ( 5, 12) [000141] DA--G------- * STORE_LCL_VAR long V02 tmp1 d:2 rax REG rax | |
N011 ( 1, 3) [000145] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N013 ( 1, 1) [000003] ------------ t3 = LCL_VAR int V00 arg0 u:2 rdi (last use) REG rdi $80 | |
/--* t3 int | |
N015 ( 1, 3) [000144] DA---------- * STORE_LCL_VAR int V04 tmp3 d:2 rcx REG rcx | |
N017 ( 1, 3) [000016] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N019 ( 1, 1) [000013] ------------ t13 = LCL_VAR long V02 tmp1 u:2 rax REG rax <l:$140, c:$180> | |
/--* t13 long | |
N021 ( 1, 3) [000015] DA---------- * STORE_LCL_VAR long V03 tmp2 d:2 rdi REG rdi | |
N023 ( 5, 8) [000172] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N025 ( 1, 1) [000169] ------------ t169 = LCL_VAR int V04 tmp3 u:2 rcx REG rcx $80 | |
N027 ( 1, 4) [000170] -c---------- t170 = CNS_INT int 256 REG NA $43 | |
/--* t169 int | |
+--* t170 int | |
N029 ( 3, 6) [000168] J------N---- * LT void REG NA $200 | |
N031 ( 5, 8) [000171] ------------ * JTRUE void REG NA | |
------------ BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
N001 ( 0, 0) [000222] ------------ t222 = PHI_ARG long V03 tmp2 u:4 rdi | |
N002 ( 0, 0) [000210] ------------ t210 = PHI_ARG long V03 tmp2 u:2 rdi <l:$140, c:$180> | |
/--* t222 long | |
+--* t210 long | |
N005 ( 2, 2) [000207] ------------ t207 = * PHI long | |
/--* t207 long | |
N007 ( 2, 3) [000208] DA---------- * STORE_LCL_VAR long V03 tmp2 d:3 rdi | |
N001 ( 0, 0) [000224] ------------ t224 = PHI_ARG int V04 tmp3 u:4 rcx | |
N002 ( 0, 0) [000212] ------------ t212 = PHI_ARG int V04 tmp3 u:2 rcx $80 | |
/--* t224 int | |
+--* t212 int | |
N005 ( 2, 2) [000199] ------------ t199 = * PHI int | |
/--* t199 int | |
N007 ( 2, 3) [000200] DA---------- * STORE_LCL_VAR int V04 tmp3 d:3 rcx | |
N035 ( 28, 31) [000060] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N037 ( 1, 1) [000025] ------------ t25 = LCL_VAR long V03 tmp2 u:3 rdi REG rdi $141 | |
/--* t25 long | |
N039 ( 3, 2) [000026] *c-XG------- t26 = * IND long REG NA <l:$142, c:$2c0> | |
/--* t26 long | |
N041 ( 4, 3) [000027] ---XG------- t27 = * HWIntrinsic long PopCount REG rsi $300 | |
/--* t27 long | |
N043 ( 5, 5) [000164] ---XG------- t164 = * CAST int <- long REG rsi $201 | |
N045 ( 1, 1) [000028] ------------ t28 = LCL_VAR long V03 tmp2 u:3 rdi REG rdi $141 | |
/--* t28 long | |
N047 (???,???) [000242] -c---------- t242 = * LEA(b+8) long REG NA | |
/--* t242 long | |
N049 ( 4, 4) [000032] *c-XG------- t32 = * IND long REG NA <l:$143, c:$2c1> | |
/--* t32 long | |
N051 ( 5, 5) [000033] ---XG------- t33 = * HWIntrinsic long PopCount REG rdx $301 | |
/--* t33 long | |
N053 ( 6, 7) [000165] ---XG------- t165 = * CAST int <- long REG rdx $202 | |
/--* t164 int | |
+--* t165 int | |
N055 ( 12, 13) [000034] ---XG------- t34 = * ADD int REG rsi $203 | |
N057 ( 1, 1) [000035] ------------ t35 = LCL_VAR long V03 tmp2 u:3 rdi REG rdi $141 | |
/--* t35 long | |
N059 (???,???) [000243] -c---------- t243 = * LEA(b+16) long REG NA | |
/--* t243 long | |
N061 ( 4, 4) [000042] *c-XG------- t42 = * IND long REG NA <l:$144, c:$2c2> | |
/--* t42 long | |
N063 ( 5, 5) [000043] ---XG------- t43 = * HWIntrinsic long PopCount REG rdx $302 | |
/--* t43 long | |
N065 ( 6, 7) [000163] ---XG------- t163 = * CAST int <- long REG rdx $204 | |
/--* t34 int | |
+--* t163 int | |
N067 ( 19, 21) [000044] ---XG------- t44 = * ADD int REG rsi $205 | |
N069 ( 1, 1) [000045] ------------ t45 = LCL_VAR long V03 tmp2 u:3 rdi REG rdi $141 | |
/--* t45 long | |
N071 (???,???) [000244] -c---------- t244 = * LEA(b+24) long REG NA | |
/--* t244 long | |
N073 ( 4, 4) [000052] *c-XG------- t52 = * IND long REG NA <l:$145, c:$2c3> | |
/--* t52 long | |
N075 ( 5, 5) [000053] ---XG------- t53 = * HWIntrinsic long PopCount REG rdx $303 | |
/--* t53 long | |
N077 ( 6, 7) [000161] ---XG------- t161 = * CAST int <- long REG rdx $206 | |
/--* t44 int | |
+--* t161 int | |
N079 ( 26, 29) [000054] ---XG------- t54 = * ADD int REG rsi $207 | |
N081 ( 1, 1) [000024] ------------ t24 = LCL_VAR int V04 tmp3 u:3 rcx (last use) REG rcx $280 | |
/--* t24 int | |
+--* t54 int | |
N083 ( 28, 31) [000056] ---XG------- t56 = * SUB int REG rcx $208 | |
/--* t56 int | |
N085 ( 28, 31) [000059] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:4 rcx REG rcx | |
N087 ( 3, 3) [000070] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N089 ( 1, 1) [000061] ------------ t61 = LCL_VAR long V03 tmp2 u:3 rdi (last use) REG rdi $141 | |
N091 ( 1, 1) [000066] -c---------- t66 = CNS_INT long 32 REG NA $344 | |
/--* t61 long | |
+--* t66 long | |
N093 ( 3, 3) [000067] ------------ t67 = * ADD long REG rdi $244 | |
/--* t67 long | |
N095 ( 3, 3) [000069] DA---------- * STORE_LCL_VAR long V03 tmp2 d:4 rdi REG rdi | |
N097 ( 5, 8) [000022] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N099 ( 1, 1) [000018] ------------ t18 = LCL_VAR int V04 tmp3 u:4 rcx REG rcx $208 | |
N101 ( 1, 4) [000019] -c---------- t19 = CNS_INT int 256 REG NA $43 | |
/--* t18 int | |
+--* t19 int | |
N103 ( 3, 6) [000020] J------N---- * GE void REG NA $209 | |
N105 ( 5, 8) [000021] ------------ * JTRUE void REG NA | |
------------ BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
N001 ( 0, 0) [000218] ------------ t218 = PHI_ARG long V03 tmp2 u:4 rdi | |
N002 ( 0, 0) [000214] ------------ t214 = PHI_ARG long V03 tmp2 u:2 rdi <l:$140, c:$180> | |
/--* t218 long | |
+--* t214 long | |
N005 ( 2, 2) [000203] ------------ t203 = * PHI long | |
/--* t203 long | |
N007 ( 2, 3) [000204] DA---------- * STORE_LCL_VAR long V03 tmp2 d:5 rdi | |
N001 ( 0, 0) [000220] ------------ t220 = PHI_ARG int V04 tmp3 u:4 rcx | |
N002 ( 0, 0) [000216] ------------ t216 = PHI_ARG int V04 tmp3 u:2 rcx $80 | |
/--* t220 int | |
+--* t216 int | |
N005 ( 2, 2) [000195] ------------ t195 = * PHI int | |
/--* t195 int | |
N007 ( 2, 3) [000196] DA---------- * STORE_LCL_VAR int V04 tmp3 d:5 rcx | |
N109 ( 1, 3) [000075] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N111 ( 1, 1) [000072] ------------ t72 = LCL_VAR int V04 tmp3 u:5 rcx REG rcx $281 | |
/--* t72 int | |
N113 ( 1, 3) [000074] DA---------- * STORE_LCL_VAR int V05 tmp4 d:2 rsi REG rsi | |
N115 ( 5, 5) [000177] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N117 ( 1, 1) [000174] ------------ t174 = LCL_VAR int V05 tmp4 u:2 rsi REG rsi $281 | |
N119 ( 1, 1) [000175] -c---------- t175 = CNS_INT int 0 REG NA $40 | |
/--* t174 int | |
+--* t175 int | |
N121 ( 3, 3) [000173] J------N---- * LE void REG NA $20a | |
N123 ( 5, 5) [000176] ------------ * JTRUE void REG NA | |
------------ BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
N001 ( 0, 0) [000238] ------------ t238 = PHI_ARG long V03 tmp2 u:7 rdi | |
N002 ( 0, 0) [000226] ------------ t226 = PHI_ARG long V03 tmp2 u:5 rdi $146 | |
/--* t238 long | |
+--* t226 long | |
N005 ( 2, 2) [000187] ------------ t187 = * PHI long | |
/--* t187 long | |
N007 ( 2, 3) [000188] DA---------- * STORE_LCL_VAR long V03 tmp2 d:6 rdi | |
N001 ( 0, 0) [000240] ------------ t240 = PHI_ARG int V04 tmp3 u:7 rcx | |
N002 ( 0, 0) [000228] ------------ t228 = PHI_ARG int V04 tmp3 u:5 rcx $281 | |
/--* t240 int | |
+--* t228 int | |
N005 ( 2, 2) [000179] ------------ t179 = * PHI int | |
/--* t179 int | |
N007 ( 2, 3) [000180] DA---------- * STORE_LCL_VAR int V04 tmp3 d:6 rcx | |
N127 ( 1, 3) [000086] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N129 ( 1, 1) [000083] ------------ t83 = LCL_VAR int V04 tmp3 u:6 rcx (last use) REG rcx $282 | |
/--* t83 int | |
N131 ( 1, 3) [000085] DA---------- * STORE_LCL_VAR int V05 tmp4 d:3 rsi REG rsi | |
N133 ( 7, 7) [000096] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N135 ( 1, 1) [000087] ------------ t87 = LCL_VAR int V05 tmp4 u:3 rsi REG rsi $282 | |
N137 ( 1, 1) [000088] ------------ t88 = LCL_VAR long V03 tmp2 u:6 rdi REG rdi $147 | |
/--* t88 long | |
N139 ( 3, 2) [000089] *c-XG------- t89 = * IND long REG NA <l:$148, c:$400> | |
/--* t89 long | |
N141 ( 4, 3) [000090] ---XG------- t90 = * HWIntrinsic long PopCount REG rcx $440 | |
/--* t90 long | |
N143 ( 5, 5) [000091] ---XG------- t91 = * CAST int <- long REG rcx $20b | |
/--* t87 int | |
+--* t91 int | |
N145 ( 7, 7) [000092] ---XG------- t92 = * SUB int REG rdx $20c | |
/--* t92 int | |
N147 ( 7, 7) [000095] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:7 rcx REG rcx | |
N149 ( 3, 3) [000103] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N151 ( 1, 1) [000097] ------------ t97 = LCL_VAR long V03 tmp2 u:6 rdi (last use) REG rdi $147 | |
N153 ( 1, 1) [000099] -c---------- t99 = CNS_INT long 8 REG NA $340 | |
/--* t97 long | |
+--* t99 long | |
N155 ( 3, 3) [000100] ------------ t100 = * ADD long REG rdi $246 | |
/--* t100 long | |
N157 ( 3, 3) [000102] DA---------- * STORE_LCL_VAR long V03 tmp2 d:7 rdi REG rdi | |
N159 ( 5, 5) [000081] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N161 ( 1, 1) [000077] ------------ t77 = LCL_VAR int V04 tmp3 u:7 rcx REG rcx $20c | |
N163 ( 1, 1) [000078] -c---------- t78 = CNS_INT int 0 REG NA $40 | |
/--* t77 int | |
+--* t78 int | |
N165 ( 3, 3) [000079] J------N---- * GT void REG NA $20d | |
N167 ( 5, 5) [000080] ------------ * JTRUE void REG NA | |
------------ BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
N001 ( 0, 0) [000234] ------------ t234 = PHI_ARG int V05 tmp4 u:3 rsi | |
N002 ( 0, 0) [000230] ------------ t230 = PHI_ARG int V05 tmp4 u:2 rsi $281 | |
/--* t234 int | |
+--* t230 int | |
N005 ( 2, 2) [000191] ------------ t191 = * PHI int | |
/--* t191 int | |
N007 ( 2, 3) [000192] DA---------- * STORE_LCL_VAR int V05 tmp4 d:4 rsi | |
N001 ( 0, 0) [000236] ------------ t236 = PHI_ARG long V03 tmp2 u:7 rdi | |
N002 ( 0, 0) [000232] ------------ t232 = PHI_ARG long V03 tmp2 u:5 rdi $146 | |
/--* t236 long | |
+--* t232 long | |
N005 ( 2, 2) [000183] ------------ t183 = * PHI long | |
/--* t183 long | |
N007 ( 2, 3) [000184] DA---------- * STORE_LCL_VAR long V03 tmp2 d:8 rdi | |
N171 ( 3, 3) [000111] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N173 ( 1, 1) [000105] ------------ t105 = LCL_VAR long V03 tmp2 u:8 rdi (last use) REG rdi $149 | |
N175 ( 1, 1) [000107] -c---------- t107 = CNS_INT long -8 REG NA $345 | |
/--* t105 long | |
+--* t107 long | |
N177 ( 3, 3) [000108] ------------ t108 = * ADD long REG rdi $247 | |
/--* t108 long | |
N179 ( 3, 3) [000110] DA---------- * STORE_LCL_VAR long V03 tmp2 d:9 rdi REG rdi | |
N181 ( 16, 13) [000127] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
N183 ( 1, 1) [000114] ------------ t114 = LCL_VAR int V05 tmp4 u:4 rsi (last use) REG rsi $283 | |
N185 ( 1, 1) [000115] -c---------- t115 = CNS_INT int -1 REG NA $41 | |
/--* t114 int | |
+--* t115 int | |
N187 ( 3, 3) [000116] ------------ t116 = * ADD int REG rcx $20f | |
N189 ( 1, 1) [000113] ------------ t113 = CNS_INT long 1 REG rsi $346 | |
/--* t113 long | |
+--* t116 int | |
N191 ( 10, 7) [000119] ------------ t119 = * LSH long REG rsi $248 | |
N193 ( 1, 1) [000120] ------------ t120 = LCL_VAR long V03 tmp2 u:9 rdi REG rdi $247 | |
/--* t120 long | |
N195 ( 3, 2) [000121] *c-XG------- t121 = * IND long REG NA <l:$14a, c:$184> | |
/--* t119 long | |
+--* t121 long | |
N197 ( 14, 10) [000122] ---XG------- t122 = * HWIntrinsic long ParallelBitDeposit REG rsi $480 | |
/--* t122 long | |
N199 ( 15, 11) [000123] ---XG------- t123 = * HWIntrinsic long TrailingZeroCount REG rsi $481 | |
/--* t123 long | |
N201 ( 16, 13) [000124] ---XG------- t124 = * CAST int <- long REG rsi $211 | |
/--* t124 int | |
N203 ( 16, 13) [000126] DA-XG------- * STORE_LCL_VAR int V06 tmp5 d:2 rsi REG rsi | |
N205 ( 1, 1) [000128] ------------ t128 = LCL_VAR long V03 tmp2 u:9 rdi (last use) REG rdi $247 | |
N207 ( 1, 1) [000129] ------------ t129 = LCL_VAR long V02 tmp1 u:2 rax (last use) REG rax <l:$140, c:$180> | |
/--* t128 long | |
+--* t129 long | |
N209 ( 3, 3) [000130] ------------ t130 = * SUB long REG rdi <l:$249, c:$24a> | |
/--* t130 long | |
N211 (???,???) [000246] DA---------- * STORE_LCL_VAR long V07 rat0 rdi REG rdi | |
N213 ( 1, 1) [000247] ------------ t247 = LCL_VAR long V07 rat0 rdi REG rdi | |
N215 ( 1, 1) [000248] -c---------- t248 = CNS_INT int 63 REG NA | |
/--* t247 long | |
+--* t248 int | |
N217 ( 3, 3) [000249] ------------ t249 = * RSH long REG rax | |
N219 ( 1, 1) [000250] -c---------- t250 = CNS_INT long 7 REG NA | |
/--* t249 long | |
+--* t250 long | |
N221 ( 5, 5) [000251] ------------ t251 = * AND long REG rax | |
N223 ( 1, 1) [000252] ------------ t252 = LCL_VAR long V07 rat0 rdi (last use) REG rdi | |
/--* t251 long | |
+--* t252 long | |
N225 ( 7, 7) [000253] ------------ t253 = * ADD long REG rax | |
N227 ( 1, 1) [000132] -c---------- t132 = CNS_INT long 3 REG NA $340 | |
/--* t253 long | |
+--* t132 long | |
N229 ( 9, 9) [000254] ------------ t254 = * RSH long REG rax | |
/--* t254 long | |
N231 ( 25, 9) [000166] ------------ t166 = * CAST int <- long REG rax <l:$212, c:$213> | |
N233 ( 1, 1) [000135] -c---------- t135 = CNS_INT int 6 REG NA $4b | |
/--* t166 int | |
+--* t135 int | |
N235 ( 27, 11) [000136] ------------ t136 = * LSH int REG rax <l:$214, c:$215> | |
N237 ( 1, 1) [000138] ------------ t138 = LCL_VAR int V06 tmp5 u:2 rsi (last use) REG rsi $211 | |
/--* t136 int | |
+--* t138 int | |
N239 ( 29, 13) [000139] ------------ t139 = * ADD int REG rax <l:$216, c:$217> | |
/--* t139 int | |
N241 ( 30, 14) [000010] ------------ * RETURN int REG NA $1c3 | |
------------------------------------------------------------------------------------------------------------------- | |
Final allocation | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rsi |rdi |r12 |r13 | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
0.#0 V0 Parm Alloc rdi | | | | | |V0 a| | | | |
1.#1 BB1 PredBB0 | | | | | |V0 a| | | | |
6.#2 C7 Def Alloc rcx | |C7 a| | | |V0 a| | | | |
7.#3 C7 Use * Keep rcx | |C7 i| | | |V0 a| | | | |
8.#4 I8 Def Alloc rax |I8 a| | | | |V0 a| | | | |
9.#5 I8 Use * Keep rax |I8 i| | | | |V0 a| | | | |
10.#6 V2 Def Alloc rax |V2 a| | | | |V0 a| | | | |
15.#7 V0 Use * Keep rdi |V2 a| | | | |V0 i| | | | |
16.#8 V4 Def Alloc rcx |V2 a|V4 a| | | | | | | | |
21.#9 V2 Use Keep rax |V2 a|V4 a| | | | | | | | |
22.#10 V3 Def Alloc rdi |V2 a|V4 a| | | |V3 a| | | | |
29.#11 V4 Use Keep rcx |V2 a|V4 a| | | |V3 a| | | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rsi |rdi |r12 |r13 | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
33.#12 BB2 PredBB1 |V2 a|V4 a| | | |V3 a| | | | |
41.#13 V3 Use Keep rdi |V2 a|V4 a| | | |V3 a| | | | |
42.#14 I9 Def Alloc rsi |V2 a|V4 a| | |I9 a|V3 a| | | | |
43.#15 I9 Use * Keep rsi |V2 a|V4 a| | |I9 i|V3 a| | | | |
44.#16 I10 Def Alloc rsi |V2 a|V4 a| | |I10a|V3 a| | | | |
51.#17 V3 Use Keep rdi |V2 a|V4 a| | |I10a|V3 a| | | | |
52.#18 I11 Def Alloc rdx |V2 a|V4 a|I11a| |I10a|V3 a| | | | |
53.#19 I11 Use * Keep rdx |V2 a|V4 a|I11i| |I10a|V3 a| | | | |
54.#20 I12 Def Alloc rdx |V2 a|V4 a|I12a| |I10a|V3 a| | | | |
55.#21 I10 Use * Keep rsi |V2 a|V4 a|I12a| |I10i|V3 a| | | | |
55.#22 I12 Use * Keep rdx |V2 a|V4 a|I12i| | |V3 a| | | | |
56.#23 I13 Def Alloc rsi |V2 a|V4 a| | |I13a|V3 a| | | | |
63.#24 V3 Use Keep rdi |V2 a|V4 a| | |I13a|V3 a| | | | |
64.#25 I14 Def Alloc rdx |V2 a|V4 a|I14a| |I13a|V3 a| | | | |
65.#26 I14 Use * Keep rdx |V2 a|V4 a|I14i| |I13a|V3 a| | | | |
66.#27 I15 Def Alloc rdx |V2 a|V4 a|I15a| |I13a|V3 a| | | | |
67.#28 I13 Use * Keep rsi |V2 a|V4 a|I15a| |I13i|V3 a| | | | |
67.#29 I15 Use * Keep rdx |V2 a|V4 a|I15i| | |V3 a| | | | |
68.#30 I16 Def Alloc rsi |V2 a|V4 a| | |I16a|V3 a| | | | |
75.#31 V3 Use Keep rdi |V2 a|V4 a| | |I16a|V3 a| | | | |
76.#32 I17 Def Alloc rdx |V2 a|V4 a|I17a| |I16a|V3 a| | | | |
77.#33 I17 Use * Keep rdx |V2 a|V4 a|I17i| |I16a|V3 a| | | | |
78.#34 I18 Def Alloc rdx |V2 a|V4 a|I18a| |I16a|V3 a| | | | |
79.#35 I16 Use * Keep rsi |V2 a|V4 a|I18a| |I16i|V3 a| | | | |
79.#36 I18 Use * Keep rdx |V2 a|V4 a|I18i| | |V3 a| | | | |
80.#37 I19 Def Alloc rsi |V2 a|V4 a| | |I19a|V3 a| | | | |
83.#38 V4 Use * Keep rcx |V2 a|V4 i| | |I19a|V3 a| | | | |
83.#39 I19 Use *D Keep rsi |V2 a| | | |I19i|V3 a| | | | |
84.#40 I20 Def Alloc rcx |V2 a|I20a| | | |V3 a| | | | |
85.#41 I20 Use * Keep rcx |V2 a|I20i| | | |V3 a| | | | |
86.#42 V4 Def Alloc rcx |V2 a|V4 a| | | |V3 a| | | | |
93.#43 V3 Use * Keep rdi |V2 a|V4 a| | | |V3 i| | | | |
94.#44 I21 Def Alloc rdi |V2 a|V4 a| | | |I21a| | | | |
95.#45 I21 Use * Keep rdi |V2 a|V4 a| | | |I21i| | | | |
96.#46 V3 Def Alloc rdi |V2 a|V4 a| | | |V3 a| | | | |
103.#47 V4 Use Keep rcx |V2 a|V4 a| | | |V3 a| | | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rsi |rdi |r12 |r13 | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
107.#48 BB3 PredBB2 |V2 a|V4 a| | | |V3 a| | | | |
113.#49 V4 Use Keep rcx |V2 a|V4 a| | | |V3 a| | | | |
114.#50 V5 Def Alloc rsi |V2 a|V4 a| | |V5 a|V3 a| | | | |
121.#51 V5 Use Keep rsi |V2 a|V4 a| | |V5 a|V3 a| | | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rsi |rdi |r12 |r13 | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
125.#52 BB4 PredBB3 |V2 a|V4 a| | | |V3 a| | | | |
131.#53 V4 Use * Keep rcx |V2 a|V4 i| | | |V3 a| | | | |
132.#54 V5 Def Alloc rsi |V2 a| | | |V5 a|V3 a| | | | |
141.#55 V3 Use Keep rdi |V2 a| | | |V5 a|V3 a| | | | |
142.#56 I22 Def Alloc rcx |V2 a|I22a| | |V5 a|V3 a| | | | |
143.#57 I22 Use * Keep rcx |V2 a|I22i| | |V5 a|V3 a| | | | |
144.#58 I23 Def Alloc rcx |V2 a|I23a| | |V5 a|V3 a| | | | |
145.#59 V5 Use Keep rsi |V2 a|I23a| | |V5 a|V3 a| | | | |
145.#60 I23 Use *D Keep rcx |V2 a|I23i| | |V5 a|V3 a| | | | |
146.#61 I24 Def Alloc rdx |V2 a| |I24a| |V5 a|V3 a| | | | |
147.#62 I24 Use * Keep rdx |V2 a| |I24i| |V5 a|V3 a| | | | |
148.#63 V4 Def Alloc rcx |V2 a|V4 a| | |V5 a|V3 a| | | | |
155.#64 V3 Use * Keep rdi |V2 a|V4 a| | |V5 a|V3 i| | | | |
156.#65 I25 Def Alloc rdi |V2 a|V4 a| | |V5 a|I25a| | | | |
157.#66 I25 Use * Keep rdi |V2 a|V4 a| | |V5 a|I25i| | | | |
158.#67 V3 Def Alloc rdi |V2 a|V4 a| | |V5 a|V3 a| | | | |
165.#68 V4 Use Keep rcx |V2 a|V4 a| | |V5 a|V3 a| | | | |
|V2 a|V4 a| | |V5 a|V3 a| | | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rsi |rdi |r12 |r13 | | |
--------------------------------+----+----+----+----+----+----+----+----+ | |
169.#70 BB5 PredBB4 |V2 a| | | |V5 a|V3 a| | | | |
177.#71 V3 Use * Keep rdi |V2 a| | | |V5 a|V3 i| | | | |
178.#72 I26 Def Alloc rdi |V2 a| | | |V5 a|I26a| | | | |
179.#73 I26 Use * Keep rdi |V2 a| | | |V5 a|I26i| | | | |
180.#74 V3 Def Alloc rdi |V2 a| | | |V5 a|V3 a| | | | |
187.#75 V5 Use * Keep rsi |V2 a| | | |V5 i|V3 a| | | | |
188.#76 I27 Def Alloc rcx |V2 a|I27a| | | |V3 a| | | | |
190.#77 C28 Def Alloc rsi |V2 a|I27a| | |C28a|V3 a| | | | |
191.#78 C28 Use * Keep rsi |V2 a|I27a| | |C28i|V3 a| | | | |
191.#79 rcx Fixd Keep rcx |V2 a|I27a| | | |V3 a| | | | |
191.#80 I27 Use *D Keep rcx |V2 a|I27i| | | |V3 a| | | | |
192.#81 rcx Kill Keep rcx |V2 a| | | | |V3 a| | | | |
192.#82 I29 Def Alloc rsi |V2 a| | | |I29a|V3 a| | | | |
197.#83 I29 Use * Keep rsi |V2 a| | | |I29i|V3 a| | | | |
197.#84 V3 Use Keep rdi |V2 a| | | | |V3 a| | | | |
198.#85 I30 Def Alloc rsi |V2 a| | | |I30a|V3 a| | | | |
199.#86 I30 Use * Keep rsi |V2 a| | | |I30i|V3 a| | | | |
200.#87 I31 Def Alloc rsi |V2 a| | | |I31a|V3 a| | | | |
201.#88 I31 Use * Keep rsi |V2 a| | | |I31i|V3 a| | | | |
202.#89 I32 Def Alloc rsi |V2 a| | | |I32a|V3 a| | | | |
203.#90 I32 Use * Keep rsi |V2 a| | | |I32i|V3 a| | | | |
204.#91 V6 Def Alloc rsi |V2 a| | | |V6 a|V3 a| | | | |
209.#92 V3 Use * Keep rdi |V2 a| | | |V6 a|V3 i| | | | |
209.#93 V2 Use *D Keep rax |V2 i| | | |V6 a| | | | | |
210.#94 I33 Def Alloc rdi | | | | |V6 a|I33a| | | | |
211.#95 I33 Use * Keep rdi | | | | |V6 a|I33i| | | | |
212.#96 V7 Def Alloc rdi | | | | |V6 a|V7 a| | | | |
217.#97 V7 Use Keep rdi | | | | |V6 a|V7 a| | | | |
218.#98 I34 Def Alloc rax |I34a| | | |V6 a|V7 a| | | | |
221.#99 I34 Use * Keep rax |I34i| | | |V6 a|V7 a| | | | |
222.#100 I35 Def Alloc rax |I35a| | | |V6 a|V7 a| | | | |
225.#101 I35 Use * Keep rax |I35i| | | |V6 a|V7 a| | | | |
225.#102 V7 Use * Keep rdi | | | | |V6 a|V7 i| | | | |
226.#103 I36 Def Alloc rax |I36a| | | |V6 a| | | | | |
229.#104 I36 Use * Keep rax |I36i| | | |V6 a| | | | | |
230.#105 I37 Def Alloc rax |I37a| | | |V6 a| | | | | |
231.#106 I37 Use * Keep rax |I37i| | | |V6 a| | | | | |
232.#107 I38 Def Alloc rax |I38a| | | |V6 a| | | | | |
235.#108 I38 Use * Keep rax |I38i| | | |V6 a| | | | | |
236.#109 I39 Def Alloc rax |I39a| | | |V6 a| | | | | |
239.#110 I39 Use * Keep rax |I39i| | | |V6 a| | | | | |
239.#111 V6 Use * Keep rsi | | | | |V6 i| | | | | |
240.#112 I40 Def Alloc rax |I40a| | | | | | | | | |
241.#113 rax Fixd Keep rax |I40a| | | | | | | | | |
241.#114 I40 Use * Keep rax |I40i| | | | | | | | | |
Recording the maximum number of concurrent spills: | |
---------- | |
LSRA Stats | |
---------- | |
Total Tracked Vars: 7 | |
Total Reg Cand Vars: 7 | |
Total number of Intervals: 40 | |
Total number of RefPositions: 114 | |
Total Spill Count: 0 Weighted: 0 | |
Total CopyReg Count: 0 Weighted: 0 | |
Total ResolutionMov Count: 0 Weighted: 0 | |
Total number of split edges: 0 | |
Total Number of spill temps created: 0 | |
TUPLE STYLE DUMP WITH REGISTER ASSIGNMENTS | |
Incoming Parameters: V00(rdi) | |
BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} | |
===== | |
N003. IL_OFFSET IL offset: 0x0 REG NA | |
N005. rcx* = CNS_INT(h) 0x7f08ab884498 static Fseq[_bits] REG rcx | |
N007. rax = IND ; rcx* | |
* N009. V02(rax); rax | |
N011. IL_OFFSET IL offset: 0x0 REG NA | |
N013. V00(rdi*) | |
* N015. V04(rcx); rdi* | |
N017. IL_OFFSET IL offset: 0x0 REG NA | |
N019. V02(rax) | |
* N021. V03(rdi); rax | |
N023. IL_OFFSET IL offset: 0x0 REG NA | |
N025. V04(rcx) | |
N027. CNS_INT 256 REG NA | |
N029. LT ; rcx | |
N031. JTRUE | |
Var=Reg end of BB01: V04=rcx V03=rdi V02=rax | |
BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} | |
===== | |
Predecessor for variable locations: BB01 | |
Var=Reg beg of BB02: V04=rcx V03=rdi V02=rax | |
N035. IL_OFFSET IL offset: 0x0 REG NA | |
N037. V03(rdi) | |
N039. STK = IND ; rdi | |
N041. rsi = HWIntrinsic; STK | |
N043. rsi = CAST ; rsi | |
N045. V03(rdi) | |
N047. STK = LEA(b+8) ; rdi | |
N049. STK = IND ; STK | |
N051. rdx = HWIntrinsic; STK | |
N053. rdx = CAST ; rdx | |
N055. rsi = ADD ; rsi,rdx | |
N057. V03(rdi) | |
N059. STK = LEA(b+16); rdi | |
N061. STK = IND ; STK | |
N063. rdx = HWIntrinsic; STK | |
N065. rdx = CAST ; rdx | |
N067. rsi = ADD ; rsi,rdx | |
N069. V03(rdi) | |
N071. STK = LEA(b+24); rdi | |
N073. STK = IND ; STK | |
N075. rdx = HWIntrinsic; STK | |
N077. rdx = CAST ; rdx | |
N079. rsi = ADD ; rsi,rdx | |
N081. V04(rcx*) | |
N083. rcx = SUB ; rcx*,rsi | |
* N085. V04(rcx); rcx | |
N087. IL_OFFSET IL offset: 0x0 REG NA | |
N089. V03(rdi*) | |
N091. CNS_INT 32 REG NA | |
N093. rdi = ADD ; rdi* | |
* N095. V03(rdi); rdi | |
N097. IL_OFFSET IL offset: 0x0 REG NA | |
N099. V04(rcx) | |
N101. CNS_INT 256 REG NA | |
N103. GE ; rcx | |
N105. JTRUE | |
Var=Reg end of BB02: V04=rcx V03=rdi V02=rax | |
BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} | |
===== | |
Predecessor for variable locations: BB02 | |
Var=Reg beg of BB03: V04=rcx V03=rdi V02=rax | |
N109. IL_OFFSET IL offset: 0x0 REG NA | |
N111. V04(rcx) | |
* N113. V05(rsi); rcx | |
N115. IL_OFFSET IL offset: 0x0 REG NA | |
N117. V05(rsi) | |
N119. CNS_INT 0 REG NA | |
N121. LE ; rsi | |
N123. JTRUE | |
Var=Reg end of BB03: V04=rcx V03=rdi V05=rsi V02=rax | |
BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} | |
===== | |
Predecessor for variable locations: BB03 | |
Var=Reg beg of BB04: V04=rcx V03=rdi V02=rax | |
N127. IL_OFFSET IL offset: 0x0 REG NA | |
N129. V04(rcx*) | |
* N131. V05(rsi); rcx* | |
N133. IL_OFFSET IL offset: 0x0 REG NA | |
N135. V05(rsi) | |
N137. V03(rdi) | |
N139. STK = IND ; rdi | |
N141. rcx = HWIntrinsic; STK | |
N143. rcx = CAST ; rcx | |
N145. rdx = SUB ; rsi,rcx | |
* N147. V04(rcx); rdx | |
N149. IL_OFFSET IL offset: 0x0 REG NA | |
N151. V03(rdi*) | |
N153. CNS_INT 8 REG NA | |
N155. rdi = ADD ; rdi* | |
* N157. V03(rdi); rdi | |
N159. IL_OFFSET IL offset: 0x0 REG NA | |
N161. V04(rcx) | |
N163. CNS_INT 0 REG NA | |
N165. GT ; rcx | |
N167. JTRUE | |
Var=Reg end of BB04: V04=rcx V03=rdi V05=rsi V02=rax | |
BB05 [000..001) (return), preds={BB03,BB04} succs={} | |
===== | |
Predecessor for variable locations: BB04 | |
Var=Reg beg of BB05: V03=rdi V05=rsi V02=rax | |
N171. IL_OFFSET IL offset: 0x0 REG NA | |
N173. V03(rdi*) | |
N175. CNS_INT -8 REG NA | |
N177. rdi = ADD ; rdi* | |
* N179. V03(rdi); rdi | |
N181. IL_OFFSET IL offset: 0x0 REG NA | |
N183. V05(rsi*) | |
N185. CNS_INT -1 REG NA | |
N187. rcx = ADD ; rsi* | |
N189. rsi = CNS_INT 1 REG rsi | |
N191. rsi = LSH ; rsi,rcx | |
N193. V03(rdi) | |
N195. STK = IND ; rdi | |
N197. rsi = HWIntrinsic; rsi,STK | |
N199. rsi = HWIntrinsic; rsi | |
N201. rsi = CAST ; rsi | |
* N203. V06(rsi); rsi | |
N205. V03(rdi*) | |
N207. V02(rax*) | |
N209. rdi = SUB ; rdi*,rax* | |
* N211. V07(rdi); rdi | |
N213. V07(rdi) | |
N215. CNS_INT 63 REG NA | |
N217. rax = RSH ; rdi | |
N219. CNS_INT 7 REG NA | |
N221. rax = AND ; rax | |
N223. V07(rdi*) | |
N225. rax = ADD ; rax,rdi* | |
N227. CNS_INT 3 REG NA | |
N229. rax = RSH ; rax | |
N231. rax = CAST ; rax | |
N233. CNS_INT 6 REG NA | |
N235. rax = LSH ; rax | |
N237. V06(rsi*) | |
N239. rax = ADD ; rax,rsi* | |
N241. RETURN ; rax | |
Var=Reg end of BB05: none | |
*************** In genGenerateCode() | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BBnum BBid ref try hnd preds weight [IL range] [jump] [EH region] [flags] | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
BB01 [0000] 1 1 [000..011)-> BB03 ( cond ) i label target LIR | |
BB02 [0002] 2 BB01,BB02 2 [000..001)-> BB02 ( cond ) i Loop Loop0 label target bwd LIR | |
BB03 [0004] 2 BB01,BB02 0.50 [000..001)-> BB05 ( cond ) i label target LIR | |
BB04 [0005] 2 BB03,BB04 2 [000..001)-> BB04 ( cond ) i Loop Loop0 label target bwd LIR | |
BB05 [0007] 2 BB03,BB04 1 [000..001) (return) i label target LIR | |
-------------------------------------------------------------------------------------------------------------------------------------- | |
*************** In fgDebugCheckBBlist | |
Finalizing stack frame | |
Recording Var Locations at start of BB01 | |
V00(rdi) | |
Modified regs: [rax rcx rdx rsi rdi] | |
Callee-saved registers pushed: 0 [] | |
*************** In lvaAssignFrameOffsets(FINAL_FRAME_LAYOUT) | |
; Final local variable assignments | |
; | |
; V00 arg0 [V00,T05] ( 3, 3 ) int -> rdi | |
;# V01 OutArgs [V01 ] ( 1, 1 ) lclBlk ( 0) [rsp+0x00] | |
; V02 tmp1 [V02,T03] ( 3, 6 ) long -> rax | |
; V03 tmp2 [V03,T01] ( 14, 23 ) long -> rdi | |
; V04 tmp3 [V04,T00] ( 9, 29 ) int -> rcx | |
; V05 tmp4 [V05,T02] ( 5, 6 ) int -> rsi | |
; V06 tmp5 [V06,T06] ( 2, 2 ) int -> rsi | |
; V07 rat0 [V07,T04] ( 3, 6 ) long -> rdi | |
; | |
; Lcl frame size = 0 | |
=============== Generating BB01 [000..011) -> BB03 (cond), preds={} succs={BB02,BB03} flags=0x00000000.40030020: i label target LIR | |
BB01 IN (1)={ V00} + ByrefExposed + GcHeap | |
OUT(3)={V04 V03 V02 } + ByrefExposed + GcHeap | |
Recording Var Locations at start of BB01 | |
V00(rdi) | |
Change life 0000000000000000 {} -> 0000000000000020 {V00} | |
V00 in reg rdi is becoming live [------] | |
Live regs: 00000000 {} => 00000080 {rdi} | |
Live regs: (unchanged) 00000080 {rdi} | |
GC regs: (unchanged) 00000000 {} | |
Byref regs: (unchanged) 00000000 {} | |
L_M8319_BB01: | |
Label: IG02, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {} | |
Setting stack level from -572662307 to 0 | |
Scope info: begin block BB01, IL range [000..011) | |
Scope info: open scopes = | |
0 (V00 arg0) [000..011) | |
Added IP mapping: 0x0000 STACK_EMPTY (G_M8319_IG02,ins#0,ofs#0) label | |
Generating: N003 ( 5, 12) [000142] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N005 ( 3, 10) [000159] ------------ t159 = CNS_INT(h) long 0x7f08ab884498 static Fseq[_bits] REG rcx $100 | |
IN0001: mov rcx, 0x7F08AB884498 | |
/--* t159 long | |
Generating: N007 ( 5, 12) [000001] x---G------- t1 = * IND long REG rax <l:$140, c:$180> | |
IN0002: mov rax, qword ptr [rcx] | |
/--* t1 long | |
Generating: N009 ( 5, 12) [000141] DA--G------- * STORE_LCL_VAR long V02 tmp1 d:2 rax REG rax | |
V02 in reg rax is becoming live [000141] | |
Live regs: 00000080 {rdi} => 00000081 {rax rdi} | |
Live vars: {V00} => {V00 V02} | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N011 ( 1, 3) [000145] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N013 ( 1, 1) [000003] ------------ t3 = LCL_VAR int V00 arg0 u:2 rdi (last use) REG rdi $80 | |
/--* t3 int | |
Generating: N015 ( 1, 3) [000144] DA---------- * STORE_LCL_VAR int V04 tmp3 d:2 rcx REG rcx | |
V00 in reg rdi is becoming dead [000003] | |
Live regs: 00000081 {rax rdi} => 00000001 {rax} | |
Live vars: {V00 V02} => {V02} | |
IN0003: mov ecx, edi | |
V04 in reg rcx is becoming live [000144] | |
Live regs: 00000001 {rax} => 00000003 {rax rcx} | |
Live vars: {V02} => {V02 V04} | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N017 ( 1, 3) [000016] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N019 ( 1, 1) [000013] ------------ t13 = LCL_VAR long V02 tmp1 u:2 rax REG rax <l:$140, c:$180> | |
/--* t13 long | |
Generating: N021 ( 1, 3) [000015] DA---------- * STORE_LCL_VAR long V03 tmp2 d:2 rdi REG rdi | |
IN0004: mov rdi, rax | |
V03 in reg rdi is becoming live [000015] | |
Live regs: 00000003 {rax rcx} => 00000083 {rax rcx rdi} | |
Live vars: {V02 V04} => {V02 V03 V04} | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N023 ( 5, 8) [000172] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N025 ( 1, 1) [000169] ------------ t169 = LCL_VAR int V04 tmp3 u:2 rcx REG rcx $80 | |
Generating: N027 ( 1, 4) [000170] -c---------- t170 = CNS_INT int 256 REG NA $43 | |
/--* t169 int | |
+--* t170 int | |
Generating: N029 ( 3, 6) [000168] J------N---- * LT void REG NA $200 | |
IN0005: cmp ecx, 256 | |
Generating: N031 ( 5, 8) [000171] ------------ * JTRUE void REG NA | |
IN0006: jl L_M8319_BB03 | |
Scope info: end block BB01, IL range [000..011) | |
Scope info: ending scope, LVnum=0 [000..011) | |
Scope info: open scopes = | |
<none> | |
=============== Generating BB02 [000..001) -> BB02 (cond), preds={BB01,BB02} succs={BB03,BB02} flags=0x00000000.42036020: i Loop Loop0 label target bwd LIR | |
BB02 IN (3)={V04 V03 V02} + ByrefExposed + GcHeap | |
OUT(3)={V04 V03 V02} + ByrefExposed + GcHeap | |
Recording Var Locations at start of BB02 | |
V04(rcx) V03(rdi) V02(rax) | |
Liveness not changing: 000000000000000B {V02 V03 V04} | |
Live regs: 00000000 {} => 00000083 {rax rcx rdi} | |
GC regs: (unchanged) 00000000 {} | |
Byref regs: (unchanged) 00000000 {} | |
L_M8319_BB02: | |
G_M8319_IG02: ; offs=000000H, funclet=00 | |
Label: IG03, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {} | |
Scope info: begin block BB02, IL range [000..001) | |
Scope info: open scopes = | |
<none> | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N035 ( 28, 31) [000060] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N037 ( 1, 1) [000025] ------------ t25 = LCL_VAR long V03 tmp2 u:3 rdi REG rdi $141 | |
/--* t25 long | |
Generating: N039 ( 3, 2) [000026] *c-XG------- t26 = * IND long REG NA <l:$142, c:$2c0> | |
/--* t26 long | |
Generating: N041 ( 4, 3) [000027] ---XG------- t27 = * HWIntrinsic long PopCount REG rsi $300 | |
IN0007: popcnt rsi, qword ptr [rdi] | |
/--* t27 long | |
Generating: N043 ( 5, 5) [000164] ---XG------- t164 = * CAST int <- long REG rsi $201 | |
Generating: N045 ( 1, 1) [000028] ------------ t28 = LCL_VAR long V03 tmp2 u:3 rdi REG rdi $141 | |
/--* t28 long | |
Generating: N047 (???,???) [000242] -c---------- t242 = * LEA(b+8) long REG NA | |
/--* t242 long | |
Generating: N049 ( 4, 4) [000032] *c-XG------- t32 = * IND long REG NA <l:$143, c:$2c1> | |
/--* t32 long | |
Generating: N051 ( 5, 5) [000033] ---XG------- t33 = * HWIntrinsic long PopCount REG rdx $301 | |
IN0008: popcnt rdx, qword ptr [rdi+8] | |
/--* t33 long | |
Generating: N053 ( 6, 7) [000165] ---XG------- t165 = * CAST int <- long REG rdx $202 | |
/--* t164 int | |
+--* t165 int | |
Generating: N055 ( 12, 13) [000034] ---XG------- t34 = * ADD int REG rsi $203 | |
IN0009: add esi, edx | |
Generating: N057 ( 1, 1) [000035] ------------ t35 = LCL_VAR long V03 tmp2 u:3 rdi REG rdi $141 | |
/--* t35 long | |
Generating: N059 (???,???) [000243] -c---------- t243 = * LEA(b+16) long REG NA | |
/--* t243 long | |
Generating: N061 ( 4, 4) [000042] *c-XG------- t42 = * IND long REG NA <l:$144, c:$2c2> | |
/--* t42 long | |
Generating: N063 ( 5, 5) [000043] ---XG------- t43 = * HWIntrinsic long PopCount REG rdx $302 | |
IN000a: popcnt rdx, qword ptr [rdi+16] | |
/--* t43 long | |
Generating: N065 ( 6, 7) [000163] ---XG------- t163 = * CAST int <- long REG rdx $204 | |
/--* t34 int | |
+--* t163 int | |
Generating: N067 ( 19, 21) [000044] ---XG------- t44 = * ADD int REG rsi $205 | |
IN000b: add esi, edx | |
Generating: N069 ( 1, 1) [000045] ------------ t45 = LCL_VAR long V03 tmp2 u:3 rdi REG rdi $141 | |
/--* t45 long | |
Generating: N071 (???,???) [000244] -c---------- t244 = * LEA(b+24) long REG NA | |
/--* t244 long | |
Generating: N073 ( 4, 4) [000052] *c-XG------- t52 = * IND long REG NA <l:$145, c:$2c3> | |
/--* t52 long | |
Generating: N075 ( 5, 5) [000053] ---XG------- t53 = * HWIntrinsic long PopCount REG rdx $303 | |
IN000c: popcnt rdx, qword ptr [rdi+24] | |
/--* t53 long | |
Generating: N077 ( 6, 7) [000161] ---XG------- t161 = * CAST int <- long REG rdx $206 | |
/--* t44 int | |
+--* t161 int | |
Generating: N079 ( 26, 29) [000054] ---XG------- t54 = * ADD int REG rsi $207 | |
IN000d: add esi, edx | |
Generating: N081 ( 1, 1) [000024] ------------ t24 = LCL_VAR int V04 tmp3 u:3 rcx (last use) REG rcx $280 | |
/--* t24 int | |
+--* t54 int | |
Generating: N083 ( 28, 31) [000056] ---XG------- t56 = * SUB int REG rcx $208 | |
V04 in reg rcx is becoming dead [000024] | |
Live regs: 00000083 {rax rcx rdi} => 00000081 {rax rdi} | |
Live vars: {V02 V03 V04} => {V02 V03} | |
IN000e: sub ecx, esi | |
/--* t56 int | |
Generating: N085 ( 28, 31) [000059] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:4 rcx REG rcx | |
V04 in reg rcx is becoming live [000059] | |
Live regs: 00000081 {rax rdi} => 00000083 {rax rcx rdi} | |
Live vars: {V02 V03} => {V02 V03 V04} | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N087 ( 3, 3) [000070] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N089 ( 1, 1) [000061] ------------ t61 = LCL_VAR long V03 tmp2 u:3 rdi (last use) REG rdi $141 | |
Generating: N091 ( 1, 1) [000066] -c---------- t66 = CNS_INT long 32 REG NA $344 | |
/--* t61 long | |
+--* t66 long | |
Generating: N093 ( 3, 3) [000067] ------------ t67 = * ADD long REG rdi $244 | |
V03 in reg rdi is becoming dead [000061] | |
Live regs: 00000083 {rax rcx rdi} => 00000003 {rax rcx} | |
Live vars: {V02 V03 V04} => {V02 V04} | |
IN000f: add rdi, 32 | |
/--* t67 long | |
Generating: N095 ( 3, 3) [000069] DA---------- * STORE_LCL_VAR long V03 tmp2 d:4 rdi REG rdi | |
V03 in reg rdi is becoming live [000069] | |
Live regs: 00000003 {rax rcx} => 00000083 {rax rcx rdi} | |
Live vars: {V02 V04} => {V02 V03 V04} | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N097 ( 5, 8) [000022] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N099 ( 1, 1) [000018] ------------ t18 = LCL_VAR int V04 tmp3 u:4 rcx REG rcx $208 | |
Generating: N101 ( 1, 4) [000019] -c---------- t19 = CNS_INT int 256 REG NA $43 | |
/--* t18 int | |
+--* t19 int | |
Generating: N103 ( 3, 6) [000020] J------N---- * GE void REG NA $209 | |
IN0010: cmp ecx, 256 | |
Generating: N105 ( 5, 8) [000021] ------------ * JTRUE void REG NA | |
IN0011: jge SHORT L_M8319_BB02 | |
Scope info: end block BB02, IL range [000..001) | |
Scope info: open scopes = | |
<none> | |
=============== Generating BB03 [000..001) -> BB05 (cond), preds={BB01,BB02} succs={BB04,BB05} flags=0x00000000.40030020: i label target LIR | |
BB03 IN (3)={V04 V03 V02} + ByrefExposed + GcHeap | |
OUT(4)={V04 V03 V05 V02} + ByrefExposed + GcHeap | |
Recording Var Locations at start of BB03 | |
V04(rcx) V03(rdi) V02(rax) | |
Liveness not changing: 000000000000000B {V02 V03 V04} | |
Live regs: 00000000 {} => 00000083 {rax rcx rdi} | |
GC regs: (unchanged) 00000000 {} | |
Byref regs: (unchanged) 00000000 {} | |
L_M8319_BB03: | |
G_M8319_IG03: ; offs=00001EH, funclet=00 | |
Label: IG04, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {} | |
Scope info: begin block BB03, IL range [000..001) | |
Scope info: open scopes = | |
<none> | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N109 ( 1, 3) [000075] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N111 ( 1, 1) [000072] ------------ t72 = LCL_VAR int V04 tmp3 u:5 rcx REG rcx $281 | |
/--* t72 int | |
Generating: N113 ( 1, 3) [000074] DA---------- * STORE_LCL_VAR int V05 tmp4 d:2 rsi REG rsi | |
IN0012: mov esi, ecx | |
V05 in reg rsi is becoming live [000074] | |
Live regs: 00000083 {rax rcx rdi} => 000000C3 {rax rcx rsi rdi} | |
Live vars: {V02 V03 V04} => {V02 V03 V04 V05} | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N115 ( 5, 5) [000177] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N117 ( 1, 1) [000174] ------------ t174 = LCL_VAR int V05 tmp4 u:2 rsi REG rsi $281 | |
Generating: N119 ( 1, 1) [000175] -c---------- t175 = CNS_INT int 0 REG NA $40 | |
/--* t174 int | |
+--* t175 int | |
Generating: N121 ( 3, 3) [000173] J------N---- * LE void REG NA $20a | |
IN0013: test esi, esi | |
Generating: N123 ( 5, 5) [000176] ------------ * JTRUE void REG NA | |
IN0014: jle L_M8319_BB05 | |
Scope info: end block BB03, IL range [000..001) | |
Scope info: open scopes = | |
<none> | |
=============== Generating BB04 [000..001) -> BB04 (cond), preds={BB03,BB04} succs={BB05,BB04} flags=0x00000000.42036020: i Loop Loop0 label target bwd LIR | |
BB04 IN (3)={V04 V03 V02} + ByrefExposed + GcHeap | |
OUT(4)={V04 V03 V05 V02} + ByrefExposed + GcHeap | |
Recording Var Locations at start of BB04 | |
V04(rcx) V03(rdi) V02(rax) | |
Change life 000000000000000F {V02 V03 V04 V05} -> 000000000000000B {V02 V03 V04} | |
V05 in reg rsi is becoming dead [------] | |
Live regs: (unchanged) 00000000 {} | |
Live regs: 00000000 {} => 00000083 {rax rcx rdi} | |
GC regs: (unchanged) 00000000 {} | |
Byref regs: (unchanged) 00000000 {} | |
L_M8319_BB04: | |
G_M8319_IG04: ; offs=000049H, funclet=00 | |
Label: IG05, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {} | |
Scope info: begin block BB04, IL range [000..001) | |
Scope info: open scopes = | |
<none> | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N127 ( 1, 3) [000086] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N129 ( 1, 1) [000083] ------------ t83 = LCL_VAR int V04 tmp3 u:6 rcx (last use) REG rcx $282 | |
/--* t83 int | |
Generating: N131 ( 1, 3) [000085] DA---------- * STORE_LCL_VAR int V05 tmp4 d:3 rsi REG rsi | |
V04 in reg rcx is becoming dead [000083] | |
Live regs: 00000083 {rax rcx rdi} => 00000081 {rax rdi} | |
Live vars: {V02 V03 V04} => {V02 V03} | |
IN0015: mov esi, ecx | |
V05 in reg rsi is becoming live [000085] | |
Live regs: 00000081 {rax rdi} => 000000C1 {rax rsi rdi} | |
Live vars: {V02 V03} => {V02 V03 V05} | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N133 ( 7, 7) [000096] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N135 ( 1, 1) [000087] ------------ t87 = LCL_VAR int V05 tmp4 u:3 rsi REG rsi $282 | |
Generating: N137 ( 1, 1) [000088] ------------ t88 = LCL_VAR long V03 tmp2 u:6 rdi REG rdi $147 | |
/--* t88 long | |
Generating: N139 ( 3, 2) [000089] *c-XG------- t89 = * IND long REG NA <l:$148, c:$400> | |
/--* t89 long | |
Generating: N141 ( 4, 3) [000090] ---XG------- t90 = * HWIntrinsic long PopCount REG rcx $440 | |
IN0016: popcnt rcx, qword ptr [rdi] | |
/--* t90 long | |
Generating: N143 ( 5, 5) [000091] ---XG------- t91 = * CAST int <- long REG rcx $20b | |
/--* t87 int | |
+--* t91 int | |
Generating: N145 ( 7, 7) [000092] ---XG------- t92 = * SUB int REG rdx $20c | |
IN0017: mov edx, esi | |
IN0018: sub edx, ecx | |
/--* t92 int | |
Generating: N147 ( 7, 7) [000095] DA-XG------- * STORE_LCL_VAR int V04 tmp3 d:7 rcx REG rcx | |
IN0019: mov ecx, edx | |
V04 in reg rcx is becoming live [000095] | |
Live regs: 000000C1 {rax rsi rdi} => 000000C3 {rax rcx rsi rdi} | |
Live vars: {V02 V03 V05} => {V02 V03 V04 V05} | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N149 ( 3, 3) [000103] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N151 ( 1, 1) [000097] ------------ t97 = LCL_VAR long V03 tmp2 u:6 rdi (last use) REG rdi $147 | |
Generating: N153 ( 1, 1) [000099] -c---------- t99 = CNS_INT long 8 REG NA $340 | |
/--* t97 long | |
+--* t99 long | |
Generating: N155 ( 3, 3) [000100] ------------ t100 = * ADD long REG rdi $246 | |
V03 in reg rdi is becoming dead [000097] | |
Live regs: 000000C3 {rax rcx rsi rdi} => 00000043 {rax rcx rsi} | |
Live vars: {V02 V03 V04 V05} => {V02 V04 V05} | |
IN001a: add rdi, 8 | |
/--* t100 long | |
Generating: N157 ( 3, 3) [000102] DA---------- * STORE_LCL_VAR long V03 tmp2 d:7 rdi REG rdi | |
V03 in reg rdi is becoming live [000102] | |
Live regs: 00000043 {rax rcx rsi} => 000000C3 {rax rcx rsi rdi} | |
Live vars: {V02 V04 V05} => {V02 V03 V04 V05} | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N159 ( 5, 5) [000081] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N161 ( 1, 1) [000077] ------------ t77 = LCL_VAR int V04 tmp3 u:7 rcx REG rcx $20c | |
Generating: N163 ( 1, 1) [000078] -c---------- t78 = CNS_INT int 0 REG NA $40 | |
/--* t77 int | |
+--* t78 int | |
Generating: N165 ( 3, 3) [000079] J------N---- * GT void REG NA $20d | |
IN001b: test ecx, ecx | |
Generating: N167 ( 5, 5) [000080] ------------ * JTRUE void REG NA | |
IN001c: jg SHORT L_M8319_BB04 | |
Scope info: end block BB04, IL range [000..001) | |
Scope info: open scopes = | |
<none> | |
=============== Generating BB05 [000..001) (return), preds={BB03,BB04} succs={} flags=0x00000000.40030020: i label target LIR | |
BB05 IN (3)={V03 V05 V02} + ByrefExposed + GcHeap | |
OUT(0)={ } | |
Recording Var Locations at start of BB05 | |
V03(rdi) V05(rsi) V02(rax) | |
Change life 000000000000000F {V02 V03 V04 V05} -> 000000000000000E {V02 V03 V05} | |
V04 in reg rcx is becoming dead [------] | |
Live regs: (unchanged) 00000000 {} | |
Live regs: 00000000 {} => 000000C1 {rax rsi rdi} | |
GC regs: (unchanged) 00000000 {} | |
Byref regs: (unchanged) 00000000 {} | |
L_M8319_BB05: | |
G_M8319_IG05: ; offs=000053H, funclet=00 | |
Label: IG06, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {} | |
Scope info: begin block BB05, IL range [000..001) | |
Scope info: open scopes = | |
<none> | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N171 ( 3, 3) [000111] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N173 ( 1, 1) [000105] ------------ t105 = LCL_VAR long V03 tmp2 u:8 rdi (last use) REG rdi $149 | |
Generating: N175 ( 1, 1) [000107] -c---------- t107 = CNS_INT long -8 REG NA $345 | |
/--* t105 long | |
+--* t107 long | |
Generating: N177 ( 3, 3) [000108] ------------ t108 = * ADD long REG rdi $247 | |
V03 in reg rdi is becoming dead [000105] | |
Live regs: 000000C1 {rax rsi rdi} => 00000041 {rax rsi} | |
Live vars: {V02 V03 V05} => {V02 V05} | |
IN001d: add rdi, -8 | |
/--* t108 long | |
Generating: N179 ( 3, 3) [000110] DA---------- * STORE_LCL_VAR long V03 tmp2 d:9 rdi REG rdi | |
V03 in reg rdi is becoming live [000110] | |
Live regs: 00000041 {rax rsi} => 000000C1 {rax rsi rdi} | |
Live vars: {V02 V05} => {V02 V03 V05} | |
genIPmappingAdd: ignoring duplicate IL offset 0x0 | |
Generating: N181 ( 16, 13) [000127] ------------ IL_OFFSET void IL offset: 0x0 REG NA | |
Generating: N183 ( 1, 1) [000114] ------------ t114 = LCL_VAR int V05 tmp4 u:4 rsi (last use) REG rsi $283 | |
Generating: N185 ( 1, 1) [000115] -c---------- t115 = CNS_INT int -1 REG NA $41 | |
/--* t114 int | |
+--* t115 int | |
Generating: N187 ( 3, 3) [000116] ------------ t116 = * ADD int REG rcx $20f | |
V05 in reg rsi is becoming dead [000114] | |
Live regs: 000000C1 {rax rsi rdi} => 00000081 {rax rdi} | |
Live vars: {V02 V03 V05} => {V02 V03} | |
IN001e: lea ecx, [rsi-1] | |
Generating: N189 ( 1, 1) [000113] ------------ t113 = CNS_INT long 1 REG rsi $346 | |
IN001f: mov esi, 1 | |
/--* t113 long | |
+--* t116 int | |
Generating: N191 ( 10, 7) [000119] ------------ t119 = * LSH long REG rsi $248 | |
IN0020: shl rsi, cl | |
Generating: N193 ( 1, 1) [000120] ------------ t120 = LCL_VAR long V03 tmp2 u:9 rdi REG rdi $247 | |
/--* t120 long | |
Generating: N195 ( 3, 2) [000121] *c-XG------- t121 = * IND long REG NA <l:$14a, c:$184> | |
/--* t119 long | |
+--* t121 long | |
Generating: N197 ( 14, 10) [000122] ---XG------- t122 = * HWIntrinsic long ParallelBitDeposit REG rsi $480 | |
IN0021: vpdep rsi, rsi, qword ptr [rdi] | |
/--* t122 long | |
Generating: N199 ( 15, 11) [000123] ---XG------- t123 = * HWIntrinsic long TrailingZeroCount REG rsi $481 | |
IN0022: tzcnt rsi, rsi | |
/--* t123 long | |
Generating: N201 ( 16, 13) [000124] ---XG------- t124 = * CAST int <- long REG rsi $211 | |
/--* t124 int | |
Generating: N203 ( 16, 13) [000126] DA-XG------- * STORE_LCL_VAR int V06 tmp5 d:2 rsi REG rsi | |
V06 in reg rsi is becoming live [000126] | |
Live regs: 00000081 {rax rdi} => 000000C1 {rax rsi rdi} | |
Live vars: {V02 V03} => {V02 V03 V06} | |
Generating: N205 ( 1, 1) [000128] ------------ t128 = LCL_VAR long V03 tmp2 u:9 rdi (last use) REG rdi $247 | |
Generating: N207 ( 1, 1) [000129] ------------ t129 = LCL_VAR long V02 tmp1 u:2 rax (last use) REG rax <l:$140, c:$180> | |
/--* t128 long | |
+--* t129 long | |
Generating: N209 ( 3, 3) [000130] ------------ t130 = * SUB long REG rdi <l:$249, c:$24a> | |
V03 in reg rdi is becoming dead [000128] | |
Live regs: 000000C1 {rax rsi rdi} => 00000041 {rax rsi} | |
Live vars: {V02 V03 V06} => {V02 V06} | |
V02 in reg rax is becoming dead [000129] | |
Live regs: 00000041 {rax rsi} => 00000040 {rsi} | |
Live vars: {V02 V06} => {V06} | |
IN0023: sub rdi, rax | |
/--* t130 long | |
Generating: N211 (???,???) [000246] DA---------- * STORE_LCL_VAR long V07 rat0 rdi REG rdi | |
V07 in reg rdi is becoming live [000246] | |
Live regs: 00000040 {rsi} => 000000C0 {rsi rdi} | |
Live vars: {V06} => {V06 V07} | |
Generating: N213 ( 1, 1) [000247] ------------ t247 = LCL_VAR long V07 rat0 rdi REG rdi | |
Generating: N215 ( 1, 1) [000248] -c---------- t248 = CNS_INT int 63 REG NA | |
/--* t247 long | |
+--* t248 int | |
Generating: N217 ( 3, 3) [000249] ------------ t249 = * RSH long REG rax | |
IN0024: mov rax, rdi | |
IN0025: sar rax, 63 | |
Generating: N219 ( 1, 1) [000250] -c---------- t250 = CNS_INT long 7 REG NA | |
/--* t249 long | |
+--* t250 long | |
Generating: N221 ( 5, 5) [000251] ------------ t251 = * AND long REG rax | |
IN0026: and rax, 7 | |
Generating: N223 ( 1, 1) [000252] ------------ t252 = LCL_VAR long V07 rat0 rdi (last use) REG rdi | |
/--* t251 long | |
+--* t252 long | |
Generating: N225 ( 7, 7) [000253] ------------ t253 = * ADD long REG rax | |
V07 in reg rdi is becoming dead [000252] | |
Live regs: 000000C0 {rsi rdi} => 00000040 {rsi} | |
Live vars: {V06 V07} => {V06} | |
IN0027: add rax, rdi | |
Generating: N227 ( 1, 1) [000132] -c---------- t132 = CNS_INT long 3 REG NA $340 | |
/--* t253 long | |
+--* t132 long | |
Generating: N229 ( 9, 9) [000254] ------------ t254 = * RSH long REG rax | |
IN0028: sar rax, 3 | |
/--* t254 long | |
Generating: N231 ( 25, 9) [000166] ------------ t166 = * CAST int <- long REG rax <l:$212, c:$213> | |
Generating: N233 ( 1, 1) [000135] -c---------- t135 = CNS_INT int 6 REG NA $4b | |
/--* t166 int | |
+--* t135 int | |
Generating: N235 ( 27, 11) [000136] ------------ t136 = * LSH int REG rax <l:$214, c:$215> | |
IN0029: shl eax, 6 | |
Generating: N237 ( 1, 1) [000138] ------------ t138 = LCL_VAR int V06 tmp5 u:2 rsi (last use) REG rsi $211 | |
/--* t136 int | |
+--* t138 int | |
Generating: N239 ( 29, 13) [000139] ------------ t139 = * ADD int REG rax <l:$216, c:$217> | |
V06 in reg rsi is becoming dead [000138] | |
Live regs: 00000040 {rsi} => 00000000 {} | |
Live vars: {V06} => {} | |
IN002a: add eax, esi | |
/--* t139 int | |
Generating: N241 ( 30, 14) [000010] ------------ * RETURN int REG NA $1c3 | |
Scope info: end block BB05, IL range [000..001) | |
Scope info: open scopes = | |
<none> | |
Added IP mapping: EPILOG STACK_EMPTY (G_M8319_IG06,ins#14,ofs#51) label | |
Reserving epilog IG for block BB05 | |
G_M8319_IG06: ; offs=000068H, funclet=00 | |
*************** After placeholder IG creation | |
G_M8319_IG01: ; func=00, offs=000000H, size=0000H, gcrefRegs=00000000 {} <-- Prolog IG | |
G_M8319_IG02: ; offs=000000H, size=001EH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG03: ; offs=00001EH, size=002BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG04: ; offs=000049H, size=000AH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG05: ; offs=000053H, size=0015H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG06: ; offs=000068H, size=0033H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG07: ; epilog placeholder, next placeholder=<END>, BB05 [0007], epilog, emitadd <-- First placeholder <-- Last placeholder | |
; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {} | |
; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {} | |
Liveness not changing: 0000000000000000 {} | |
# compCycleEstimate = 135, compSizeEstimate = 148 Program:IntrinsicsUnrolled(int):int | |
; Final local variable assignments | |
; | |
; V00 arg0 [V00,T05] ( 3, 3 ) int -> rdi | |
;# V01 OutArgs [V01 ] ( 1, 1 ) lclBlk ( 0) [rsp+0x00] | |
; V02 tmp1 [V02,T03] ( 3, 6 ) long -> rax | |
; V03 tmp2 [V03,T01] ( 14, 23 ) long -> rdi | |
; V04 tmp3 [V04,T00] ( 9, 29 ) int -> rcx | |
; V05 tmp4 [V05,T02] ( 5, 6 ) int -> rsi | |
; V06 tmp5 [V06,T06] ( 2, 2 ) int -> rsi | |
; V07 rat0 [V07,T04] ( 3, 6 ) long -> rdi | |
; | |
; Lcl frame size = 0 | |
*************** Before prolog / epilog generation | |
G_M8319_IG01: ; func=00, offs=000000H, size=0000H, gcrefRegs=00000000 {} <-- Prolog IG | |
G_M8319_IG02: ; offs=000000H, size=001EH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG03: ; offs=00001EH, size=002BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG04: ; offs=000049H, size=000AH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG05: ; offs=000053H, size=0015H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG06: ; offs=000068H, size=0033H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG07: ; epilog placeholder, next placeholder=<END>, BB05 [0007], epilog, emitadd <-- First placeholder <-- Last placeholder | |
; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {} | |
; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {} | |
Recording Var Locations at start of BB01 | |
V00(rdi) | |
*************** In genFnProlog() | |
Added IP mapping to front: PROLOG STACK_EMPTY (G_M8319_IG01,ins#0,ofs#0) label | |
__prolog: | |
IN002b: push rbp | |
IN002c: mov rbp, rsp | |
*************** In genClearStackVec3ArgUpperBits() | |
*************** In genFnPrologCalleeRegArgs() for int regs | |
*************** In genEnregisterIncomingStackArgs() | |
IN002d: nop | |
G_M8319_IG01: ; offs=000000H, funclet=00 | |
*************** In genFnEpilog() | |
__epilog: | |
gcVarPtrSetCur=0000000000000000 {}, gcRegGCrefSetCur=00000000 {}, gcRegByrefSetCur=00000000 {} | |
IN002e: pop rbp | |
IN002f: ret | |
G_M8319_IG07: ; offs=00009BH, funclet=00 | |
0 prologs, 1 epilogs, 0 funclet prologs, 0 funclet epilogs | |
*************** After prolog / epilog generation | |
G_M8319_IG01: ; func=00, offs=000000H, size=0005H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG | |
G_M8319_IG02: ; offs=000005H, size=001EH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG03: ; offs=000023H, size=002BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG04: ; offs=00004EH, size=000AH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG05: ; offs=000058H, size=0015H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG06: ; offs=00006DH, size=0033H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
G_M8319_IG07: ; offs=0000A0H, size=0002H, epilog, nogc, emitadd | |
*************** In emitJumpDistBind() | |
Binding: IN0006: 000000 jl L_M8319_BB03 | |
Binding L_M8319_BB03 to G_M8319_IG04 | |
Estimate of fwd jump [024F7F54/006]: 001D -> 004E = 002F | |
Shrinking jump [024F7F54/006] | |
Adjusted offset of block 03 from 0023 to 001F | |
Binding: IN0011: 000000 jge SHORT L_M8319_BB02 | |
Binding L_M8319_BB02 to G_M8319_IG03 | |
Estimate of bwd jump [024F82CC/017]: 0048 -> 001F = 002B | |
Shrinking jump [024F82CC/017] | |
Adjusted offset of block 04 from 004E to 004A | |
Binding: IN0014: 000000 jle L_M8319_BB05 | |
Binding L_M8319_BB05 to G_M8319_IG06 | |
Estimate of fwd jump [024F843C/020]: 004E -> 0069 = 0019 | |
Shrinking jump [024F843C/020] | |
Adjusted offset of block 05 from 0058 to 0050 | |
Binding: IN001c: 000000 jg SHORT L_M8319_BB04 | |
Binding L_M8319_BB04 to G_M8319_IG05 | |
Estimate of bwd jump [024F86F4/028]: 0063 -> 0050 = 0015 | |
Shrinking jump [024F86F4/028] | |
Adjusted offset of block 06 from 006D to 0065 | |
Adjusted offset of block 07 from 00A0 to 0098 | |
Total shrinkage = 8, min extra jump size = 4294967295 | |
Hot code size = 0x9A bytes | |
Cold code size = 0x0 bytes | |
reserveUnwindInfo(isFunclet=FALSE, isColdCode=FALSE, unwindSize=0x6) | |
*************** In emitEndCodeGen() | |
Converting emitMaxStackDepth from bytes (0) to elements (0) | |
*************************************************************************** | |
Instructions as they come out of the scheduler | |
G_M8319_IG01: ; func=00, offs=000000H, size=0005H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG | |
IN002b: 000000 55 push rbp | |
IN002c: 000001 488BEC mov rbp, rsp | |
IN002d: 000004 90 nop | |
G_M8319_IG02: ; func=00, offs=000005H, size=001AH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz | |
IN0001: 000005 48B9984488AB087F0000 mov rcx, 0x7F08AB884498 | |
IN0002: 00000F 488B01 mov rax, qword ptr [rcx] | |
IN0003: 000012 8BCF mov ecx, edi | |
IN0004: 000014 488BF8 mov rdi, rax | |
IN0005: 000017 81F900010000 cmp ecx, 256 | |
IN0006: 00001D 7C2B jl SHORT G_M8319_IG04 | |
G_M8319_IG03: ; func=00, offs=00001FH, size=002BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz | |
IN0007: 00001F F3480FB837 popcnt rsi, qword ptr [rdi] | |
IN0008: 000024 F3480FB85708 popcnt rdx, qword ptr [rdi+8] | |
IN0009: 00002A 03F2 add esi, edx | |
IN000a: 00002C F3480FB85710 popcnt rdx, qword ptr [rdi+16] | |
IN000b: 000032 03F2 add esi, edx | |
IN000c: 000034 F3480FB85718 popcnt rdx, qword ptr [rdi+24] | |
IN000d: 00003A 03F2 add esi, edx | |
IN000e: 00003C 2BCE sub ecx, esi | |
IN000f: 00003E 4883C720 add rdi, 32 | |
IN0010: 000042 81F900010000 cmp ecx, 256 | |
IN0011: 000048 7DD5 jge SHORT G_M8319_IG03 | |
G_M8319_IG04: ; func=00, offs=00004AH, size=0006H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz | |
IN0012: 00004A 8BF1 mov esi, ecx | |
IN0013: 00004C 85F6 test esi, esi | |
IN0014: 00004E 7E15 jle SHORT G_M8319_IG06 | |
G_M8319_IG05: ; func=00, offs=000050H, size=0015H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz | |
IN0015: 000050 8BF1 mov esi, ecx | |
IN0016: 000052 F3480FB80F popcnt rcx, qword ptr [rdi] | |
IN0017: 000057 8BD6 mov edx, esi | |
IN0018: 000059 2BD1 sub edx, ecx | |
IN0019: 00005B 8BCA mov ecx, edx | |
IN001a: 00005D 4883C708 add rdi, 8 | |
IN001b: 000061 85C9 test ecx, ecx | |
IN001c: 000063 7FEB jg SHORT G_M8319_IG05 | |
G_M8319_IG06: ; func=00, offs=000065H, size=0033H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
IN001d: 000065 4883C7F8 add rdi, -8 | |
IN001e: 000069 8D4EFF lea ecx, [rsi-1] | |
IN001f: 00006C BE01000000 mov esi, 1 | |
IN0020: 000071 48D3E6 shl rsi, cl | |
IN0021: 000074 C4E2CBF537 vpdep rsi, rsi, qword ptr [rdi] | |
IN0022: 000079 F3480FBCF6 tzcnt rsi, rsi | |
IN0023: 00007E 482BF8 sub rdi, rax | |
IN0024: 000081 488BC7 mov rax, rdi | |
IN0025: 000084 48C1F83F sar rax, 63 | |
IN0026: 000088 4883E007 and rax, 7 | |
IN0027: 00008C 4803C7 add rax, rdi | |
IN0028: 00008F 48C1F803 sar rax, 3 | |
IN0029: 000093 C1E006 shl eax, 6 | |
IN002a: 000096 03C6 add eax, esi | |
G_M8319_IG07: ; func=00, offs=000098H, size=0002H, epilog, nogc, emitadd | |
IN002e: 000098 5D pop rbp | |
IN002f: 000099 C3 ret | |
Allocated method code size = 154 , actual size = 154 | |
*************** After end code gen, before unwindEmit() | |
G_M8319_IG01: ; func=00, offs=000000H, size=0005H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG | |
IN002b: 000000 push rbp | |
IN002c: 000001 mov rbp, rsp | |
IN002d: 000004 nop | |
G_M8319_IG02: ; offs=000005H, size=001AH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz | |
IN0001: 000005 mov rcx, 0x7F08AB884498 | |
IN0002: 00000F mov rax, qword ptr [rcx] | |
IN0003: 000012 mov ecx, edi | |
IN0004: 000014 mov rdi, rax | |
IN0005: 000017 cmp ecx, 256 | |
IN0006: 00001D jl SHORT G_M8319_IG04 | |
G_M8319_IG03: ; offs=00001FH, size=002BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz | |
IN0007: 00001F popcnt rsi, qword ptr [rdi] | |
IN0008: 000024 popcnt rdx, qword ptr [rdi+8] | |
IN0009: 00002A add esi, edx | |
IN000a: 00002C popcnt rdx, qword ptr [rdi+16] | |
IN000b: 000032 add esi, edx | |
IN000c: 000034 popcnt rdx, qword ptr [rdi+24] | |
IN000d: 00003A add esi, edx | |
IN000e: 00003C sub ecx, esi | |
IN000f: 00003E add rdi, 32 | |
IN0010: 000042 cmp ecx, 256 | |
IN0011: 000048 jge SHORT G_M8319_IG03 | |
G_M8319_IG04: ; offs=00004AH, size=0006H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz | |
IN0012: 00004A mov esi, ecx | |
IN0013: 00004C test esi, esi | |
IN0014: 00004E jle SHORT G_M8319_IG06 | |
G_M8319_IG05: ; offs=000050H, size=0015H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz | |
IN0015: 000050 mov esi, ecx | |
IN0016: 000052 popcnt rcx, qword ptr [rdi] | |
IN0017: 000057 mov edx, esi | |
IN0018: 000059 sub edx, ecx | |
IN0019: 00005B mov ecx, edx | |
IN001a: 00005D add rdi, 8 | |
IN001b: 000061 test ecx, ecx | |
IN001c: 000063 jg SHORT G_M8319_IG05 | |
G_M8319_IG06: ; offs=000065H, size=0033H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref | |
IN001d: 000065 add rdi, -8 | |
IN001e: 000069 lea ecx, [rsi-1] | |
IN001f: 00006C mov esi, 1 | |
IN0020: 000071 shl rsi, cl | |
IN0021: 000074 vpdep rsi, rsi, qword ptr [rdi] | |
IN0022: 000079 tzcnt rsi, rsi | |
IN0023: 00007E sub rdi, rax | |
IN0024: 000081 mov rax, rdi | |
IN0025: 000084 sar rax, 63 | |
IN0026: 000088 and rax, 7 | |
IN0027: 00008C add rax, rdi | |
IN0028: 00008F sar rax, 3 | |
IN0029: 000093 shl eax, 6 | |
IN002a: 000096 add eax, esi | |
G_M8319_IG07: ; offs=000098H, size=0002H, epilog, nogc, emitadd | |
IN002e: 000098 pop rbp | |
IN002f: 000099 ret | |
Unwind Info: | |
>> Start offset : 0x000000 (not in unwind data) | |
>> End offset : 0x00009a (not in unwind data) | |
Version : 1 | |
Flags : 0x00 | |
SizeOfProlog : 0x01 | |
CountOfUnwindCodes: 1 | |
FrameRegister : none (0) | |
FrameOffset : N/A (no FrameRegister) (Value=0) | |
UnwindCodes : | |
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5) | |
allocUnwindInfo(pHotCode=0x00007F08AC9FFEA0, pColdCode=0x0000000000000000, startOffset=0x0, endOffset=0x9a, unwindSize=0x6, pUnwindBlock=0x00000000024DACA2, funKind=0 (main function)) | |
*************** In genIPmappingGen() | |
IP mapping count : 3 | |
IL offs PROLOG : 0x00000000 ( STACK_EMPTY ) | |
IL offs 0x0000 : 0x00000005 ( STACK_EMPTY ) | |
IL offs EPILOG : 0x00000098 ( STACK_EMPTY ) | |
*************** In genSetScopeInfo() | |
VarLocInfo count is 2 | |
*************** Variable debug info | |
2 vars | |
0( UNKNOWN) : From 00000000h to 00000005h, in rdi | |
0( UNKNOWN) : From 00000005h to 00000012h, in rdi | |
*************** In gcInfoBlockHdrSave() | |
Set code length to 154. | |
Set ReturnKind to Scalar. | |
Set stack base register to rbp. | |
Set Outgoing stack arg area size to 0. | |
Defining interruptible range: [0x5, 0x98). | |
Method code size: 154 | |
Allocations for Program:IntrinsicsUnrolled(int):int (MethodHash=6b9d3a1b) | |
count: 1770, size: 144830, max = 3072 | |
allocateMemory: 196608, nraUsed: 150504 | |
Alloc'd bytes by kind: | |
kind | size | pct | |
---------------------+------------+-------- | |
AssertionProp | 6460 | 4.46% | |
ASTNode | 35600 | 24.58% | |
InstDesc | 5176 | 3.57% | |
ImpStack | 384 | 0.27% | |
BasicBlock | 3160 | 2.18% | |
fgArgInfo | 0 | 0.00% | |
fgArgInfoPtrArr | 0 | 0.00% | |
FlowList | 512 | 0.35% | |
TreeStatementList | 0 | 0.00% | |
SiScope | 192 | 0.13% | |
FlatFPStateX87 | 0 | 0.00% | |
DominatorMemory | 208 | 0.14% | |
LSRA | 3424 | 2.36% | |
LSRA_Interval | 3280 | 2.26% | |
LSRA_RefPosition | 7360 | 5.08% | |
Reachability | 16 | 0.01% | |
SSA | 2108 | 1.46% | |
ValueNumber | 13846 | 9.56% | |
LvaTable | 4216 | 2.91% | |
UnwindInfo | 0 | 0.00% | |
hashBv | 360 | 0.25% | |
bitset | 408 | 0.28% | |
FixedBitVect | 0 | 0.00% | |
Generic | 2794 | 1.93% | |
IndirAssignMap | 0 | 0.00% | |
FieldSeqStore | 176 | 0.12% | |
ZeroOffsetFieldMap | 40 | 0.03% | |
ArrayInfoMap | 40 | 0.03% | |
MemoryPhiArg | 0 | 0.00% | |
CSE | 3344 | 2.31% | |
GC | 1328 | 0.92% | |
CorSig | 104 | 0.07% | |
Inlining | 808 | 0.56% | |
ArrayStack | 384 | 0.27% | |
DebugInfo | 168 | 0.12% | |
DebugOnly | 43284 | 29.89% | |
Codegen | 1144 | 0.79% | |
LoopOpt | 2560 | 1.77% | |
LoopHoist | 288 | 0.20% | |
Unknown | 386 | 0.27% | |
RangeCheck | 0 | 0.00% | |
CopyProp | 1272 | 0.88% | |
SideEffects | 0 | 0.00% | |
****** DONE compiling Program:IntrinsicsUnrolled(int):int |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment