Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ****** START compiling CoreLab.Program:Caller() (MethodHash=4dbcbd65)
- Generating code for Windows x64
- OPTIONS: compCodeOpt = BLENDED_CODE
- OPTIONS: compDbgCode = true
- OPTIONS: compDbgInfo = true
- OPTIONS: compDbgEnC = false
- OPTIONS: compProcedureSplitting = false
- OPTIONS: compProcedureSplittingEH = false
- IL to import:
- IL_0000 00 nop
- IL_0001 28 03 00 00 06 call 0x6000003
- IL_0006 26 pop
- IL_0007 2a ret
- lvaGrabTemp returning 0 (V00 tmp0) (a long lifetime temp) called for OutgoingArgSpace.
- ; Initial local variable assignments
- ;
- ; V00 OutArgs lclBlk (na) "OutgoingArgSpace"
- *************** In compInitDebuggingInfo() for CoreLab.Program:Caller()
- getVars() returned cVars = 0, extendOthers = true
- info.compStmtOffsetsCount = 0
- info.compStmtOffsetsImplicit = 0007h ( STACK_EMPTY NOP CALL_SITE )
- *************** In fgFindBasicBlocks() for CoreLab.Program:Caller()
- Jump targets:
- none
- New Basic Block BB01 [0000] created.
- BB01 [000..008)
- CLFLG_MINOPT set for method CoreLab.Program:Caller()
- IL Code Size,Instr 8, 4, Basic Block count 1, Local Variable Num,Ref count 1, 0 for method CoreLab.Program:Caller()
- IL Code Size,Instr 8, 4, Basic Block count 1, Local Variable Num,Ref count 1, 0 for method CoreLab.Program:Caller()
- OPTIONS: opts.MinOpts() == true
- Basic block list for 'CoreLab.Program:Caller()'
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [000..008) (return)
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** In impImport() for CoreLab.Program:Caller()
- impImportBlockPending for BB01
- Importing BB01 (PC=000) of 'CoreLab.Program:Caller()'
- [ 0] 0 (0x000) nop
- STMT00000 (IL 0x000... ???)
- [000000] ------------ * NO_OP void
- [ 0] 1 (0x001) call 06000003
- In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16
- HW Intrinsic SIMD Candidate Type Vector128`1 with Base Type Double
- Found type Hardware Intrinsic SIMD Vector128<double>
- lvaGrabTemp returning 1 (V01 tmp1) called for impSpillStackEnsure.
- Known type Vector128<double>
- STMT00001 (IL 0x001... ???)
- [000001] S-C-G------- * CALL void CoreLab.Program.Callee
- [000003] ------------ arg0 \--* ADDR byref
- [000002] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 tmp1
- [ 1] 6 (0x006) pop
- ... CEE_POP struct ...
- [000004] ------------ * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 tmp1
- ... optimized to ...
- [000005] ------------ * ADDR byref
- [000004] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 tmp1
- STMT00002 (IL 0x006... ???)
- [000007] ------------ * COMMA void
- [000005] ------------ +--* ADDR byref
- [000004] ------------ | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 tmp1
- [000006] ------------ \--* NOP void
- [ 0] 7 (0x007) ret
- STMT00003 (IL 0x007... ???)
- [000008] ------------ * RETURN void
- *************** in fgTransformIndirectCalls(root)
- -- no candidates to transform
- New BlockSet epoch 1, # of blocks (including unused BB00): 2, bitset array size: 1 (short)
- *************** In fgMorph()
- *************** In fgDebugCheckBBlist
- *************** In Allocate Objects
- Trees before Allocate Objects
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [000..008) (return) i
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [000..008) (return), preds={} succs={}
- ***** BB01
- STMT00000 (IL 0x000...0x000)
- [000000] ------------ * NO_OP void
- ***** BB01
- STMT00001 (IL 0x001...0x006)
- [000001] S-C-G------- * CALL void CoreLab.Program.Callee
- [000003] ------------ arg0 \--* ADDR byref
- [000002] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 tmp1
- ***** BB01
- STMT00002 (IL 0x006... ???)
- [000007] ------------ * COMMA void
- [000005] ------------ +--* ADDR byref
- [000004] ------------ | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 tmp1
- [000006] ------------ \--* NOP void
- ***** BB01
- STMT00003 (IL 0x007...0x007)
- [000008] ------------ * RETURN void
- -------------------------------------------------------------------------------------------------------------------
- *** ObjectAllocationPhase: no newobjs in this method; punting
- *************** Exiting Allocate Objects
- Trees after Allocate Objects
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [000..008) (return) i
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [000..008) (return), preds={} succs={}
- ***** BB01
- STMT00000 (IL 0x000...0x000)
- [000000] ------------ * NO_OP void
- ***** BB01
- STMT00001 (IL 0x001...0x006)
- [000001] S-C-G------- * CALL void CoreLab.Program.Callee
- [000003] ------------ arg0 \--* ADDR byref
- [000002] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 tmp1
- ***** BB01
- STMT00002 (IL 0x006... ???)
- [000007] ------------ * COMMA void
- [000005] ------------ +--* ADDR byref
- [000004] ------------ | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 tmp1
- [000006] ------------ \--* NOP void
- ***** BB01
- STMT00003 (IL 0x007...0x007)
- [000008] ------------ * RETURN void
- -------------------------------------------------------------------------------------------------------------------
- New Basic Block BB02 [0001] created.
- New scratch BB02
- *************** After fgAddInternal()
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB02 [0001] 1 1 [???..???) i internal
- BB01 [0000] 1 1 [000..008) (return) i
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** 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 fgResetImplicitByRefRefCount()
- *************** In fgPromoteStructs()
- promotion opt flag not enabled
- *************** In fgMarkAddressExposedLocals()
- LocalAddressVisitor visiting statement:
- STMT00004 (IL ???... ???)
- [000016] --C-G------- * QMARK void
- [000012] Q----------- if +--* EQ int
- [000010] ------------ | +--* IND int
- [000009] ------------ | | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- [000011] ------------ | \--* CNS_INT int 0
- [000015] --C-G------- if \--* COLON void
- [000013] --C-G------- else +--* CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- [000014] ------------ then \--* NOP void
- LocalAddressVisitor visiting statement:
- STMT00000 (IL 0x000...0x000)
- [000000] ------------ * NO_OP void
- LocalAddressVisitor visiting statement:
- STMT00001 (IL 0x001...0x006)
- [000001] S-C-G------- * CALL void CoreLab.Program.Callee
- [000003] ------------ arg0 \--* ADDR byref
- [000002] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 tmp1
- Local V01 should not be enregistered because: it is address exposed
- LocalAddressVisitor modified statement:
- STMT00001 (IL 0x001...0x006)
- [000001] S-C-G------- * CALL void CoreLab.Program.Callee
- [000003] ------------ arg0 \--* LCL_VAR_ADDR byref V01 tmp1
- LocalAddressVisitor visiting statement:
- STMT00002 (IL 0x006... ???)
- [000007] ------------ * COMMA void
- [000005] ------------ +--* ADDR byref
- [000004] ------------ | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]>(AX) V01 tmp1
- [000006] ------------ \--* NOP void
- Local V01 should not be enregistered because: it is address exposed
- LocalAddressVisitor visiting statement:
- STMT00003 (IL 0x007...0x007)
- [000008] ------------ * RETURN void
- *************** In fgRetypeImplicitByRefArgs()
- *************** In fgMorphBlocks()
- Morphing BB02 of 'CoreLab.Program:Caller()'
- fgMorphTree BB02, STMT00004 (before)
- [000016] --C-G------- * QMARK void
- [000012] Q----------- if +--* EQ int
- [000010] ------------ | +--* IND int
- [000009] ------------ | | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- [000011] ------------ | \--* CNS_INT int 0
- [000015] --C-G------- if \--* COLON void
- [000013] --C-G------- else +--* CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- [000014] ------------ then \--* NOP void
- Initializing arg info for 13.CALL:
- ArgTable for 13.CALL after fgInitArgInfo:
- Morphing args for 13.CALL:
- argSlots=0, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
- ArgTable for 13.CALL after fgMorphArgs:
- Morphing BB01 of 'CoreLab.Program:Caller()'
- fgMorphTree BB01, STMT00000 (before)
- [000000] ------------ * NO_OP void
- fgMorphTree BB01, STMT00001 (before)
- [000001] S-C-G------- * CALL void CoreLab.Program.Callee
- [000003] ------------ arg0 \--* LCL_VAR_ADDR byref V01 tmp1
- Initializing arg info for 1.CALL:
- ArgTable for 1.CALL after fgInitArgInfo:
- fgArgTabEntry[arg 0 3.LCL_VAR_ADDR long, 1 reg: rcx, align=1]
- Morphing args for 1.CALL:
- argSlots=1, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
- Sorting the arguments:
- Deferred argument ('rcx'):
- [000003] -----+------ * LCL_VAR_ADDR long V01 tmp1
- Replaced with placeholder node:
- [000017] ----------L- * ARGPLACE long
- Shuffled argument table: rcx
- ArgTable for 1.CALL after fgMorphArgs:
- fgArgTabEntry[arg 0 3.LCL_VAR_ADDR long, 1 reg: rcx, align=1, lateArgInx=0, processed]
- fgMorphTree BB01, STMT00001 (after)
- [000001] S-CXG+------ * CALL void CoreLab.Program.Callee
- [000003] -----+------ arg0 in rcx \--* LCL_VAR_ADDR long V01 tmp1
- fgMorphTree BB01, STMT00002 (before)
- [000007] ------------ * COMMA void
- [000005] ------------ +--* ADDR byref
- [000004] ------------ | \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]>(AX) V01 tmp1
- [000006] ------------ \--* NOP void
- fgMorphTree BB01, STMT00002 (after)
- [000006] -----+------ * NOP void
- fgMorphTree BB01, STMT00003 (before)
- [000008] ------------ * RETURN void
- Expanding top-level qmark in BB02 (before)
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB02 [0001] 1 1 [???..???) i internal
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB02 [???..???), preds={} succs={BB01}
- ***** BB02
- STMT00004 (IL ???... ???)
- [000016] --C-G+------ * QMARK void
- [000012] J----+-N---- if +--* EQ int
- [000010] n----+------ | +--* IND int
- [000009] -----+------ | | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- [000011] -----+------ | \--* CNS_INT int 0
- [000015] --C-G+?----- if \--* COLON void
- [000013] --C-G+?----- else +--* CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- [000014] -----+?----- then \--* NOP void
- -------------------------------------------------------------------------------------------------------------------
- New Basic Block BB03 [0002] created.
- BB01 previous predecessor was BB02, now is BB03
- New Basic Block BB04 [0003] created.
- New Basic Block BB05 [0004] created.
- Removing statement STMT00004 (IL ???... ???)
- [000016] --C-G+------ * QMARK void
- [000012] J----+-N---- if +--* EQ int
- [000010] n----+------ | +--* IND int
- [000009] -----+------ | | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- [000011] -----+------ | \--* CNS_INT int 0
- [000015] --C-G+?----- if \--* COLON void
- [000013] --C-G+?----- else +--* CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- [000014] -----+?----- then \--* NOP void
- in BB02 as useless:
- BB02 becomes empty
- Expanding top-level qmark in BB02 (after)
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB02 [0001] 1 1 [???..???) i internal
- BB04 [0003] 1 1 [???..???)-> BB03 ( cond ) internal
- BB05 [0004] 1 0.50 [???..???) internal
- BB03 [0002] 2 1 [???..???) i internal label target
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB02 [???..???), preds={} succs={BB04}
- ------------ BB04 [???..???) -> BB03 (cond), preds={} succs={BB05,BB03}
- ***** BB04
- STMT00005 (IL ???... ???)
- [000018] ------------ * JTRUE void
- [000012] J----+-N---- \--* EQ int
- [000010] n----+------ +--* IND int
- [000009] -----+------ | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- [000011] -----+------ \--* CNS_INT int 0
- ------------ BB05 [???..???), preds={} succs={BB03}
- ***** BB05
- STMT00006 (IL ???... ???)
- [000013] --C-G+?----- * CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB03 [???..???), preds={} succs={BB01}
- -------------------------------------------------------------------------------------------------------------------
- Renumbering the basic blocks for fgComputePred
- *************** Before renumbering the basic blocks
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB02 [0001] 1 1 [???..???) i internal
- BB04 [0003] 1 1 [???..???)-> BB03 ( cond ) internal
- BB05 [0004] 1 0.50 [???..???) internal
- BB03 [0002] 2 1 [???..???) i internal label target
- BB01 [0000] 1 1 [000..008) (return) i gcsafe
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** Exception Handling table is empty
- Renumber BB02 to BB01
- Renumber BB04 to BB02
- Renumber BB05 to BB03
- Renumber BB03 to BB04
- Renumber BB01 to BB05
- *************** After renumbering the basic blocks
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal
- BB02 [0003] 1 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0004] 1 0.50 [???..???) internal
- BB04 [0002] 2 1 [???..???) i internal label target
- BB05 [0000] 1 1 [000..008) (return) i gcsafe
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** Exception Handling table is empty
- New BlockSet epoch 2, # of blocks (including unused BB00): 6, bitset array size: 1 (short)
- *************** In fgComputePreds()
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal
- BB02 [0003] 1 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0004] 1 0.50 [???..???) internal
- BB04 [0002] 2 1 [???..???) i internal label target
- BB05 [0000] 1 1 [000..008) (return) i gcsafe
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** After fgComputePreds()
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0004] 1 BB02 0.50 [???..???) internal
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** In fgComputeBlockAndEdgeWeights()
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0004] 1 BB02 0.50 [???..???) internal
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe
- -----------------------------------------------------------------------------------------------------------------------------------------
- -- no profile data, so using default called count
- -- not optimizing, so not computing edge weights
- *************** In fgCreateFunclets()
- After fgCreateFunclets()
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0004] 1 BB02 0.50 [???..???) internal
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** Exception Handling table is empty
- *************** In fgDebugCheckBBlist
- *************** In lvaMarkLocalVars()
- *** lvaComputeRefCounts ***
- *************** In fgFindOperOrder()
- *************** In fgSetBlockOrder()
- The biggest BB has 5 tree nodes
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0004] 1 BB02 0.50 [???..???) internal
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- ***** BB02
- STMT00005 (IL ???... ???)
- N005 ( 9, 16) [000018] ------------ * JTRUE void
- N004 ( 7, 14) [000012] J------N---- \--* EQ int
- N002 ( 5, 12) [000010] n----------- +--* IND int
- N001 ( 3, 10) [000009] ------------ | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- N003 ( 1, 1) [000011] ------------ \--* CNS_INT int 0
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- ***** BB03
- STMT00006 (IL ???... ???)
- N001 ( 14, 5) [000013] --C-G-?----- * CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..008) (return), preds={BB04} succs={}
- ***** BB05
- STMT00000 (IL 0x000...0x000)
- N001 ( 1, 1) [000000] ------------ * NO_OP void
- ***** BB05
- STMT00001 (IL 0x001...0x006)
- N003 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee
- N002 ( 3, 3) [000003] ------------ arg0 in rcx \--* LCL_VAR_ADDR long V01 tmp1
- ***** BB05
- STMT00002 (IL 0x006... ???)
- N001 ( 0, 0) [000006] ------------ * NOP void
- ***** BB05
- STMT00003 (IL 0x007...0x007)
- N001 ( 0, 0) [000008] ------------ * RETURN void
- -------------------------------------------------------------------------------------------------------------------
- *************** 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 lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0004] 1 BB02 0.50 [???..???) internal
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- ***** BB02
- STMT00005 (IL ???... ???)
- N005 ( 9, 16) [000018] ------------ * JTRUE void
- N004 ( 7, 14) [000012] J------N---- \--* EQ int
- N002 ( 5, 12) [000010] n----------- +--* IND int
- N001 ( 3, 10) [000009] ------------ | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- N003 ( 1, 1) [000011] ------------ \--* CNS_INT int 0
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- ***** BB03
- STMT00006 (IL ???... ???)
- N001 ( 14, 5) [000013] --C-G-?----- * CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..008) (return), preds={BB04} succs={}
- ***** BB05
- STMT00000 (IL 0x000...0x000)
- N001 ( 1, 1) [000000] ------------ * NO_OP void
- ***** BB05
- STMT00001 (IL 0x001...0x006)
- N003 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee
- N002 ( 3, 3) [000003] ------------ arg0 in rcx \--* LCL_VAR_ADDR long V01 tmp1
- ***** BB05
- STMT00002 (IL 0x006... ???)
- N001 ( 0, 0) [000006] ------------ * NOP void
- ***** BB05
- STMT00003 (IL 0x007...0x007)
- N001 ( 0, 0) [000008] ------------ * RETURN void
- -------------------------------------------------------------------------------------------------------------------
- *************** Exiting IR Rationalize
- Trees after IR Rationalize
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target LIR
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0004] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000009] ------------ t9 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t9 long
- N002 ( 5, 12) [000010] n----------- t10 = * IND int
- N003 ( 1, 1) [000011] ------------ t11 = CNS_INT int 0
- /--* t10 int
- +--* t11 int
- N004 ( 7, 14) [000012] J------N---- t12 = * EQ int
- /--* t12 int
- N005 ( 9, 16) [000018] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000013] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..008) (return), preds={BB04} succs={}
- [000019] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000000] ------------ NO_OP void
- [000020] ------------ IL_OFFSET void IL offset: 0x1
- N002 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V01 tmp1
- /--* t3 long arg0 in rcx
- N003 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee
- [000021] ------------ IL_OFFSET void IL offset: 0x6
- N001 ( 0, 0) [000006] ------------ NOP void
- [000022] ------------ IL_OFFSET void IL offset: 0x7
- N001 ( 0, 0) [000008] ------------ RETURN void
- -------------------------------------------------------------------------------------------------------------------
- *************** In fgDebugCheckBBlist
- Bumping outgoingArgSpaceSize to 32 for call [000013]
- outgoingArgSpaceSize 32 sufficient for call [000001], which needs 32
- *************** In fgDebugCheckBBlist
- *************** In Lowering
- Trees before Lowering
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target LIR
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0004] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000009] ------------ t9 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t9 long
- N002 ( 5, 12) [000010] n----------- t10 = * IND int
- N003 ( 1, 1) [000011] ------------ t11 = CNS_INT int 0
- /--* t10 int
- +--* t11 int
- N004 ( 7, 14) [000012] J------N---- t12 = * EQ int
- /--* t12 int
- N005 ( 9, 16) [000018] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000013] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..008) (return), preds={BB04} succs={}
- [000019] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000000] ------------ NO_OP void
- [000020] ------------ IL_OFFSET void IL offset: 0x1
- N002 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V01 tmp1
- /--* t3 long arg0 in rcx
- N003 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee
- [000021] ------------ IL_OFFSET void IL offset: 0x6
- N001 ( 0, 0) [000006] ------------ NOP void
- [000022] ------------ IL_OFFSET void IL offset: 0x7
- N001 ( 0, 0) [000008] ------------ RETURN void
- -------------------------------------------------------------------------------------------------------------------
- lowering call (before):
- N001 ( 14, 5) [000013] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- objp:
- ======
- args:
- ======
- late:
- ======
- lowering call (after):
- N001 ( 14, 5) [000013] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- lowering call (before):
- N002 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V01 tmp1
- /--* t3 long arg0 in rcx
- N003 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee
- objp:
- ======
- args:
- ======
- lowering arg : N001 ( 0, 0) [000017] ----------L- * ARGPLACE long
- late:
- ======
- lowering arg : N002 ( 3, 3) [000003] ------------ * LCL_VAR_ADDR long V01 tmp1
- new node is : [000023] ------------ * PUTARG_REG long REG rcx
- lowering call (after):
- N002 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V01 tmp1
- /--* t3 long
- [000023] ------------ t23 = * PUTARG_REG long REG rcx
- /--* t23 long arg0 in rcx
- N003 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee
- lowering GT_RETURN
- N001 ( 0, 0) [000008] ------------ * RETURN void
- ============Lower has completed modifying nodes.
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target LIR
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0004] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000009] -c---------- t9 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t9 long
- N002 ( 5, 12) [000010] nc---------- t10 = * IND int
- N003 ( 1, 1) [000011] -c---------- t11 = CNS_INT int 0
- /--* t10 int
- +--* t11 int
- N004 ( 7, 14) [000012] J------N---- * EQ void
- N005 ( 9, 16) [000018] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000013] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..008) (return), preds={BB04} succs={}
- [000019] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000000] ------------ NO_OP void
- [000020] ------------ IL_OFFSET void IL offset: 0x1
- N002 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V01 tmp1
- /--* t3 long
- [000023] ------------ t23 = * PUTARG_REG long REG rcx
- /--* t23 long arg0 in rcx
- N003 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee
- [000021] ------------ IL_OFFSET void IL offset: 0x6
- N001 ( 0, 0) [000006] ------------ NOP void
- [000022] ------------ IL_OFFSET void IL offset: 0x7
- N001 ( 0, 0) [000008] ------------ RETURN void
- -------------------------------------------------------------------------------------------------------------------
- *** lvaComputeRefCounts ***
- *************** In fgLocalVarLiveness()
- ; Initial local variable assignments
- ;
- ; V00 OutArgs lclBlk (32) "OutgoingArgSpace"
- ; V01 tmp1 simd16 do-not-enreg[XS] addr-exposed "impSpillStackEnsure"
- In fgLocalVarLivenessInit
- *************** In fgPerBlockLocalVarLiveness()
- *************** In fgInterBlockLocalVarLiveness()
- *** lvaComputeRefCounts ***
- Liveness pass finished after lowering, IR:
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target LIR
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0004] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000009] -c---------- t9 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t9 long
- N002 ( 5, 12) [000010] nc---------- t10 = * IND int
- N003 ( 1, 1) [000011] -c---------- t11 = CNS_INT int 0
- /--* t10 int
- +--* t11 int
- N004 ( 7, 14) [000012] J------N---- * EQ void
- N005 ( 9, 16) [000018] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000013] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..008) (return), preds={BB04} succs={}
- [000019] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000000] ------------ NO_OP void
- [000020] ------------ IL_OFFSET void IL offset: 0x1
- N002 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V01 tmp1
- /--* t3 long
- [000023] ------------ t23 = * PUTARG_REG long REG rcx
- /--* t23 long arg0 in rcx
- N003 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee
- [000021] ------------ IL_OFFSET void IL offset: 0x6
- N001 ( 0, 0) [000006] ------------ NOP void
- [000022] ------------ IL_OFFSET void IL offset: 0x7
- N001 ( 0, 0) [000008] ------------ RETURN void
- -------------------------------------------------------------------------------------------------------------------
- *************** Exiting Lowering
- Trees after Lowering
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target LIR
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0004] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000009] -c---------- t9 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t9 long
- N002 ( 5, 12) [000010] nc---------- t10 = * IND int
- N003 ( 1, 1) [000011] -c---------- t11 = CNS_INT int 0
- /--* t10 int
- +--* t11 int
- N004 ( 7, 14) [000012] J------N---- * EQ void
- N005 ( 9, 16) [000018] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000013] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..008) (return), preds={BB04} succs={}
- [000019] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000000] ------------ NO_OP void
- [000020] ------------ IL_OFFSET void IL offset: 0x1
- N002 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V01 tmp1
- /--* t3 long
- [000023] ------------ t23 = * PUTARG_REG long REG rcx
- /--* t23 long arg0 in rcx
- N003 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee
- [000021] ------------ IL_OFFSET void IL offset: 0x6
- N001 ( 0, 0) [000006] ------------ NOP void
- [000022] ------------ IL_OFFSET void IL offset: 0x7
- N001 ( 0, 0) [000008] ------------ RETURN void
- -------------------------------------------------------------------------------------------------------------------
- *************** In fgDebugCheckBBlist
- *************** In StackLevelSetter
- Trees before StackLevelSetter
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target LIR
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0004] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000009] -c---------- t9 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t9 long
- N002 ( 5, 12) [000010] nc---------- t10 = * IND int
- N003 ( 1, 1) [000011] -c---------- t11 = CNS_INT int 0
- /--* t10 int
- +--* t11 int
- N004 ( 7, 14) [000012] J------N---- * EQ void
- N005 ( 9, 16) [000018] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000013] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..008) (return), preds={BB04} succs={}
- [000019] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000000] ------------ NO_OP void
- [000020] ------------ IL_OFFSET void IL offset: 0x1
- N002 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V01 tmp1
- /--* t3 long
- [000023] ------------ t23 = * PUTARG_REG long REG rcx
- /--* t23 long arg0 in rcx
- N003 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee
- [000021] ------------ IL_OFFSET void IL offset: 0x6
- N001 ( 0, 0) [000006] ------------ NOP void
- [000022] ------------ IL_OFFSET void IL offset: 0x7
- N001 ( 0, 0) [000008] ------------ RETURN void
- -------------------------------------------------------------------------------------------------------------------
- *************** Exiting StackLevelSetter
- Trees after StackLevelSetter
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target LIR
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0004] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000009] -c---------- t9 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t9 long
- N002 ( 5, 12) [000010] nc---------- t10 = * IND int
- N003 ( 1, 1) [000011] -c---------- t11 = CNS_INT int 0
- /--* t10 int
- +--* t11 int
- N004 ( 7, 14) [000012] J------N---- * EQ void
- N005 ( 9, 16) [000018] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000013] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..008) (return), preds={BB04} succs={}
- [000019] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000000] ------------ NO_OP void
- [000020] ------------ IL_OFFSET void IL offset: 0x1
- N002 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V01 tmp1
- /--* t3 long
- [000023] ------------ t23 = * PUTARG_REG long REG rcx
- /--* t23 long arg0 in rcx
- N003 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee
- [000021] ------------ IL_OFFSET void IL offset: 0x6
- N001 ( 0, 0) [000006] ------------ NOP void
- [000022] ------------ IL_OFFSET void IL offset: 0x7
- N001 ( 0, 0) [000008] ------------ RETURN void
- -------------------------------------------------------------------------------------------------------------------
- *************** In fgDebugCheckBBlist
- Clearing modified regs.
- buildIntervals ========
- -----------------
- LIVENESS:
- -----------------
- BB01 use def in out
- {}
- {}
- {}
- {}
- BB02 use def in out
- {}
- {}
- {}
- {}
- BB03 use def in out
- {}
- {}
- {}
- {}
- BB04 use def in out
- {}
- {}
- {}
- {}
- BB05 use def in out
- {}
- {}
- {}
- {}
- FP callee save candidate vars: None
- floatVarCount = 0; hasLoops = 0, singleExit = 1
- TUPLE STYLE DUMP BEFORE LSRA
- LSRA Block Sequence: BB01( 1 )
- BB02( 1 )
- BB03( 0.50)
- BB04( 1 )
- BB05( 1 )
- BB01 [???..???), preds={} succs={BB02}
- =====
- BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- =====
- N001. CNS_INT(h) 0x7fff50fbeaf0 token
- N002. IND
- N003. CNS_INT 0
- N004. EQ
- N005. JTRUE
- BB03 [???..???), preds={BB02} succs={BB04}
- =====
- N001. CALL help
- BB04 [???..???), preds={BB02,BB03} succs={BB05}
- =====
- BB05 [000..008) (return), preds={BB04} succs={}
- =====
- N000. IL_OFFSET IL offset: 0x0
- N001. NO_OP
- N000. IL_OFFSET IL offset: 0x1
- N002. t3 = LCL_VAR_ADDR V01 tmp1
- N000. t23 = PUTARG_REG; t3
- N003. CALL ; t23
- N000. IL_OFFSET IL offset: 0x6
- N001. NOP
- N000. IL_OFFSET IL offset: 0x7
- N001. RETURN
- buildIntervals second part ========
- NEW BLOCK BB01
- <RefPosition #0 @0 RefTypeBB BB01 regmask=[] minReg=1>
- NEW BLOCK BB02
- Setting BB01 as the predecessor for determining incoming variable registers of BB02
- <RefPosition #1 @2 RefTypeBB BB02 regmask=[] minReg=1>
- DefList: { }
- N004 ( 3, 10) [000009] -c---------- * CNS_INT(h) long 0x7fff50fbeaf0 token REG NA
- Contained
- DefList: { }
- N006 ( 5, 12) [000010] nc---------- * IND int REG NA
- Contained
- DefList: { }
- N008 ( 1, 1) [000011] -c---------- * CNS_INT int 0 REG NA
- Contained
- DefList: { }
- N010 ( 7, 14) [000012] J------N---- * EQ void REG NA
- DefList: { }
- N012 ( 9, 16) [000018] ------------ * JTRUE void REG NA
- NEW BLOCK BB03
- Setting BB02 as the predecessor for determining incoming variable registers of BB03
- <RefPosition #2 @14 RefTypeBB BB03 regmask=[] minReg=1>
- DefList: { }
- N016 ( 14, 5) [000013] --C-G-?----- * CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE REG NA
- <RefPosition #3 @17 RefTypeKill <Reg:rax> BB03 regmask=[rax] minReg=1>
- <RefPosition #4 @17 RefTypeKill <Reg:rcx> BB03 regmask=[rcx] minReg=1>
- <RefPosition #5 @17 RefTypeKill <Reg:rdx> BB03 regmask=[rdx] minReg=1>
- <RefPosition #6 @17 RefTypeKill <Reg:r8 > BB03 regmask=[r8] minReg=1>
- <RefPosition #7 @17 RefTypeKill <Reg:r9 > BB03 regmask=[r9] minReg=1>
- <RefPosition #8 @17 RefTypeKill <Reg:r10> BB03 regmask=[r10] minReg=1>
- <RefPosition #9 @17 RefTypeKill <Reg:r11> BB03 regmask=[r11] minReg=1>
- <RefPosition #10 @17 RefTypeKill <Reg:mm0> BB03 regmask=[mm0] minReg=1>
- <RefPosition #11 @17 RefTypeKill <Reg:mm1> BB03 regmask=[mm1] minReg=1>
- <RefPosition #12 @17 RefTypeKill <Reg:mm2> BB03 regmask=[mm2] minReg=1>
- <RefPosition #13 @17 RefTypeKill <Reg:mm3> BB03 regmask=[mm3] minReg=1>
- <RefPosition #14 @17 RefTypeKill <Reg:mm4> BB03 regmask=[mm4] minReg=1>
- <RefPosition #15 @17 RefTypeKill <Reg:mm5> BB03 regmask=[mm5] minReg=1>
- NEW BLOCK BB04
- Setting BB02 as the predecessor for determining incoming variable registers of BB04
- <RefPosition #16 @18 RefTypeBB BB04 regmask=[] minReg=1>
- NEW BLOCK BB05
- Setting BB04 as the predecessor for determining incoming variable registers of BB05
- <RefPosition #17 @20 RefTypeBB BB05 regmask=[] minReg=1>
- DefList: { }
- N022 (???,???) [000019] ------------ * IL_OFFSET void IL offset: 0x0 REG NA
- DefList: { }
- N024 ( 1, 1) [000000] ------------ * NO_OP void REG NA
- DefList: { }
- N026 (???,???) [000020] ------------ * IL_OFFSET void IL offset: 0x1 REG NA
- DefList: { }
- N028 ( 3, 3) [000003] ------------ * LCL_VAR_ADDR long V01 tmp1 NA REG NA
- Interval 0: long RefPositions {} physReg:NA Preferences=[allIntButFP]
- <RefPosition #18 @29 RefTypeDef <Ivl:0> LCL_VAR_ADDR BB05 regmask=[allIntButFP] minReg=1>
- DefList: { N028.t3. LCL_VAR_ADDR }
- N030 (???,???) [000023] ------------ * PUTARG_REG long REG rcx
- <RefPosition #19 @30 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1>
- <RefPosition #20 @30 RefTypeUse <Ivl:0> BB05 regmask=[rcx] minReg=1 last fixed>
- Interval 1: long RefPositions {} physReg:NA Preferences=[allIntButFP]
- <RefPosition #21 @31 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1>
- <RefPosition #22 @31 RefTypeDef <Ivl:1> PUTARG_REG BB05 regmask=[rcx] minReg=1 fixed>
- DefList: { N030.t23. PUTARG_REG }
- N032 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee REG NA
- <RefPosition #23 @32 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1>
- <RefPosition #24 @32 RefTypeUse <Ivl:1> BB05 regmask=[rcx] minReg=1 last fixed>
- <RefPosition #25 @33 RefTypeKill <Reg:rax> BB05 regmask=[rax] minReg=1>
- <RefPosition #26 @33 RefTypeKill <Reg:rcx> BB05 regmask=[rcx] minReg=1>
- <RefPosition #27 @33 RefTypeKill <Reg:rdx> BB05 regmask=[rdx] minReg=1>
- <RefPosition #28 @33 RefTypeKill <Reg:r8 > BB05 regmask=[r8] minReg=1>
- <RefPosition #29 @33 RefTypeKill <Reg:r9 > BB05 regmask=[r9] minReg=1>
- <RefPosition #30 @33 RefTypeKill <Reg:r10> BB05 regmask=[r10] minReg=1>
- <RefPosition #31 @33 RefTypeKill <Reg:r11> BB05 regmask=[r11] minReg=1>
- <RefPosition #32 @33 RefTypeKill <Reg:mm0> BB05 regmask=[mm0] minReg=1>
- <RefPosition #33 @33 RefTypeKill <Reg:mm1> BB05 regmask=[mm1] minReg=1>
- <RefPosition #34 @33 RefTypeKill <Reg:mm2> BB05 regmask=[mm2] minReg=1>
- <RefPosition #35 @33 RefTypeKill <Reg:mm3> BB05 regmask=[mm3] minReg=1>
- <RefPosition #36 @33 RefTypeKill <Reg:mm4> BB05 regmask=[mm4] minReg=1>
- <RefPosition #37 @33 RefTypeKill <Reg:mm5> BB05 regmask=[mm5] minReg=1>
- DefList: { }
- N034 (???,???) [000021] ------------ * IL_OFFSET void IL offset: 0x6 REG NA
- DefList: { }
- N036 ( 0, 0) [000006] ------------ * NOP void REG NA
- DefList: { }
- N038 (???,???) [000022] ------------ * IL_OFFSET void IL offset: 0x7 REG NA
- DefList: { }
- N040 ( 0, 0) [000008] ------------ * RETURN void REG NA
- Linear scan intervals BEFORE VALIDATING INTERVALS:
- Interval 0: long RefPositions {#18@29 #20@30} physReg:NA Preferences=[rcx]
- Interval 1: long RefPositions {#22@31 #24@32} physReg:NA Preferences=[rcx]
- ------------
- REFPOSITIONS BEFORE VALIDATING INTERVALS:
- ------------
- <RefPosition #0 @0 RefTypeBB BB01 regmask=[] minReg=1>
- <RefPosition #1 @2 RefTypeBB BB02 regmask=[] minReg=1>
- <RefPosition #2 @14 RefTypeBB BB03 regmask=[] minReg=1>
- <RefPosition #3 @17 RefTypeKill <Reg:rax> BB03 regmask=[rax] minReg=1 last>
- <RefPosition #4 @17 RefTypeKill <Reg:rcx> BB03 regmask=[rcx] minReg=1 last>
- <RefPosition #5 @17 RefTypeKill <Reg:rdx> BB03 regmask=[rdx] minReg=1 last>
- <RefPosition #6 @17 RefTypeKill <Reg:r8 > BB03 regmask=[r8] minReg=1 last>
- <RefPosition #7 @17 RefTypeKill <Reg:r9 > BB03 regmask=[r9] minReg=1 last>
- <RefPosition #8 @17 RefTypeKill <Reg:r10> BB03 regmask=[r10] minReg=1 last>
- <RefPosition #9 @17 RefTypeKill <Reg:r11> BB03 regmask=[r11] minReg=1 last>
- <RefPosition #10 @17 RefTypeKill <Reg:mm0> BB03 regmask=[mm0] minReg=1 last>
- <RefPosition #11 @17 RefTypeKill <Reg:mm1> BB03 regmask=[mm1] minReg=1 last>
- <RefPosition #12 @17 RefTypeKill <Reg:mm2> BB03 regmask=[mm2] minReg=1 last>
- <RefPosition #13 @17 RefTypeKill <Reg:mm3> BB03 regmask=[mm3] minReg=1 last>
- <RefPosition #14 @17 RefTypeKill <Reg:mm4> BB03 regmask=[mm4] minReg=1 last>
- <RefPosition #15 @17 RefTypeKill <Reg:mm5> BB03 regmask=[mm5] minReg=1 last>
- <RefPosition #16 @18 RefTypeBB BB04 regmask=[] minReg=1>
- <RefPosition #17 @20 RefTypeBB BB05 regmask=[] minReg=1>
- <RefPosition #18 @29 RefTypeDef <Ivl:0> LCL_VAR_ADDR BB05 regmask=[rcx] minReg=1>
- <RefPosition #19 @30 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1>
- <RefPosition #20 @30 RefTypeUse <Ivl:0> BB05 regmask=[rcx] minReg=1 last fixed>
- <RefPosition #21 @31 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1>
- <RefPosition #22 @31 RefTypeDef <Ivl:1> PUTARG_REG BB05 regmask=[rcx] minReg=1 fixed>
- <RefPosition #23 @32 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1>
- <RefPosition #24 @32 RefTypeUse <Ivl:1> BB05 regmask=[rcx] minReg=1 last fixed>
- <RefPosition #25 @33 RefTypeKill <Reg:rax> BB05 regmask=[rax] minReg=1 last>
- <RefPosition #26 @33 RefTypeKill <Reg:rcx> BB05 regmask=[rcx] minReg=1 last>
- <RefPosition #27 @33 RefTypeKill <Reg:rdx> BB05 regmask=[rdx] minReg=1 last>
- <RefPosition #28 @33 RefTypeKill <Reg:r8 > BB05 regmask=[r8] minReg=1 last>
- <RefPosition #29 @33 RefTypeKill <Reg:r9 > BB05 regmask=[r9] minReg=1 last>
- <RefPosition #30 @33 RefTypeKill <Reg:r10> BB05 regmask=[r10] minReg=1 last>
- <RefPosition #31 @33 RefTypeKill <Reg:r11> BB05 regmask=[r11] minReg=1 last>
- <RefPosition #32 @33 RefTypeKill <Reg:mm0> BB05 regmask=[mm0] minReg=1 last>
- <RefPosition #33 @33 RefTypeKill <Reg:mm1> BB05 regmask=[mm1] minReg=1 last>
- <RefPosition #34 @33 RefTypeKill <Reg:mm2> BB05 regmask=[mm2] minReg=1 last>
- <RefPosition #35 @33 RefTypeKill <Reg:mm3> BB05 regmask=[mm3] minReg=1 last>
- <RefPosition #36 @33 RefTypeKill <Reg:mm4> BB05 regmask=[mm4] minReg=1 last>
- <RefPosition #37 @33 RefTypeKill <Reg:mm5> BB05 regmask=[mm5] minReg=1 last>
- TUPLE STYLE DUMP WITH REF POSITIONS
- Incoming Parameters:
- BB01 [???..???), preds={} succs={BB02}
- =====
- BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- =====
- N004. CNS_INT(h) 0x7fff50fbeaf0 token
- N006. IND
- N008. CNS_INT 0
- N010. EQ
- N012. JTRUE
- BB03 [???..???), preds={BB02} succs={BB04}
- =====
- N016. CALL help
- Kill: rax rcx rdx r8 r9 r10 r11 mm0 mm1 mm2 mm3 mm4 mm5
- BB04 [???..???), preds={BB02,BB03} succs={BB05}
- =====
- BB05 [000..008) (return), preds={BB04} succs={}
- =====
- N022. IL_OFFSET IL offset: 0x0
- N024. NO_OP
- N026. IL_OFFSET IL offset: 0x1
- N028. LCL_VAR_ADDR V01 tmp1 NA
- Def:<I0>(#18)
- N030. PUTARG_REG
- Use:<I0>(#20) Fixed:rcx(#19) *
- Def:<I1>(#22) rcx
- N032. CALL
- Use:<I1>(#24) Fixed:rcx(#23) *
- Kill: rax rcx rdx r8 r9 r10 r11 mm0 mm1 mm2 mm3 mm4 mm5
- N034. IL_OFFSET IL offset: 0x6
- N036. NOP
- N038. IL_OFFSET IL offset: 0x7
- N040. RETURN
- Linear scan intervals after buildIntervals:
- Interval 0: long RefPositions {#18@29 #20@30} physReg:NA Preferences=[rcx]
- Interval 1: long RefPositions {#22@31 #24@32} physReg:NA Preferences=[rcx]
- *************** In LinearScan::allocateRegisters()
- Linear scan intervals before allocateRegisters:
- Interval 0: long RefPositions {#18@29 #20@30} physReg:NA Preferences=[rcx]
- Interval 1: long RefPositions {#22@31 #24@32} physReg:NA Preferences=[rcx]
- ------------
- REFPOSITIONS BEFORE ALLOCATION:
- ------------
- <RefPosition #0 @0 RefTypeBB BB01 regmask=[] minReg=1>
- <RefPosition #1 @2 RefTypeBB BB02 regmask=[] minReg=1>
- <RefPosition #2 @14 RefTypeBB BB03 regmask=[] minReg=1>
- <RefPosition #3 @17 RefTypeKill <Reg:rax> BB03 regmask=[rax] minReg=1 last>
- <RefPosition #4 @17 RefTypeKill <Reg:rcx> BB03 regmask=[rcx] minReg=1 last>
- <RefPosition #5 @17 RefTypeKill <Reg:rdx> BB03 regmask=[rdx] minReg=1 last>
- <RefPosition #6 @17 RefTypeKill <Reg:r8 > BB03 regmask=[r8] minReg=1 last>
- <RefPosition #7 @17 RefTypeKill <Reg:r9 > BB03 regmask=[r9] minReg=1 last>
- <RefPosition #8 @17 RefTypeKill <Reg:r10> BB03 regmask=[r10] minReg=1 last>
- <RefPosition #9 @17 RefTypeKill <Reg:r11> BB03 regmask=[r11] minReg=1 last>
- <RefPosition #10 @17 RefTypeKill <Reg:mm0> BB03 regmask=[mm0] minReg=1 last>
- <RefPosition #11 @17 RefTypeKill <Reg:mm1> BB03 regmask=[mm1] minReg=1 last>
- <RefPosition #12 @17 RefTypeKill <Reg:mm2> BB03 regmask=[mm2] minReg=1 last>
- <RefPosition #13 @17 RefTypeKill <Reg:mm3> BB03 regmask=[mm3] minReg=1 last>
- <RefPosition #14 @17 RefTypeKill <Reg:mm4> BB03 regmask=[mm4] minReg=1 last>
- <RefPosition #15 @17 RefTypeKill <Reg:mm5> BB03 regmask=[mm5] minReg=1 last>
- <RefPosition #16 @18 RefTypeBB BB04 regmask=[] minReg=1>
- <RefPosition #17 @20 RefTypeBB BB05 regmask=[] minReg=1>
- <RefPosition #18 @29 RefTypeDef <Ivl:0> LCL_VAR_ADDR BB05 regmask=[rcx] minReg=1>
- <RefPosition #19 @30 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1>
- <RefPosition #20 @30 RefTypeUse <Ivl:0> BB05 regmask=[rcx] minReg=1 last fixed>
- <RefPosition #21 @31 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1>
- <RefPosition #22 @31 RefTypeDef <Ivl:1> PUTARG_REG BB05 regmask=[rcx] minReg=1 fixed>
- <RefPosition #23 @32 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1>
- <RefPosition #24 @32 RefTypeUse <Ivl:1> BB05 regmask=[rcx] minReg=1 last fixed>
- <RefPosition #25 @33 RefTypeKill <Reg:rax> BB05 regmask=[rax] minReg=1 last>
- <RefPosition #26 @33 RefTypeKill <Reg:rcx> BB05 regmask=[rcx] minReg=1 last>
- <RefPosition #27 @33 RefTypeKill <Reg:rdx> BB05 regmask=[rdx] minReg=1 last>
- <RefPosition #28 @33 RefTypeKill <Reg:r8 > BB05 regmask=[r8] minReg=1 last>
- <RefPosition #29 @33 RefTypeKill <Reg:r9 > BB05 regmask=[r9] minReg=1 last>
- <RefPosition #30 @33 RefTypeKill <Reg:r10> BB05 regmask=[r10] minReg=1 last>
- <RefPosition #31 @33 RefTypeKill <Reg:r11> BB05 regmask=[r11] minReg=1 last>
- <RefPosition #32 @33 RefTypeKill <Reg:mm0> BB05 regmask=[mm0] minReg=1 last>
- <RefPosition #33 @33 RefTypeKill <Reg:mm1> BB05 regmask=[mm1] minReg=1 last>
- <RefPosition #34 @33 RefTypeKill <Reg:mm2> BB05 regmask=[mm2] minReg=1 last>
- <RefPosition #35 @33 RefTypeKill <Reg:mm3> BB05 regmask=[mm3] minReg=1 last>
- <RefPosition #36 @33 RefTypeKill <Reg:mm4> BB05 regmask=[mm4] minReg=1 last>
- <RefPosition #37 @33 RefTypeKill <Reg:mm5> BB05 regmask=[mm5] minReg=1 last>
- 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, a 'p' if it is a large vector that has been partially spilled, and 'i'if it is inactive.
- Columns are only printed up to the last modifed register, which may increase during allocation,
- in which case additional columns will appear.
- Registers which are not marked modified have ---- in their column.
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- | | | | | | | | | | | | | | |
- 0.#0 BB1 PredBB0 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 2.#1 BB2 PredBB1 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 14.#2 BB3 PredBB2 | | | | | | | | | | | | | | |
- 17.#3 rax Kill Keep rax | | | | | | | | | | | | | | |
- 17.#4 rcx Kill Keep rcx | | | | | | | | | | | | | | |
- 17.#5 rdx Kill Keep rdx | | | | | | | | | | | | | | |
- 17.#6 r8 Kill Keep r8 | | | | | | | | | | | | | | |
- 17.#7 r9 Kill Keep r9 | | | | | | | | | | | | | | |
- 17.#8 r10 Kill Keep r10 | | | | | | | | | | | | | | |
- 17.#9 r11 Kill Keep r11 | | | | | | | | | | | | | | |
- 17.#10 mm0 Kill Keep mm0 | | | | | | | | | | | | | | |
- 17.#11 mm1 Kill Keep mm1 | | | | | | | | | | | | | | |
- 17.#12 mm2 Kill Keep mm2 | | | | | | | | | | | | | | |
- 17.#13 mm3 Kill Keep mm3 | | | | | | | | | | | | | | |
- 17.#14 mm4 Kill Keep mm4 | | | | | | | | | | | | | | |
- 17.#15 mm5 Kill Keep mm5 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 18.#16 BB4 PredBB2 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 20.#17 BB5 PredBB4 | | | | | | | | | | | | | | |
- 29.#18 I0 Def Alloc rcx | |I0 a| | | | | | | | | | | | |
- 30.#19 rcx Fixd Keep rcx | |I0 a| | | | | | | | | | | | |
- 30.#20 I0 Use * Keep rcx | |I0 a| | | | | | | | | | | | |
- 31.#21 rcx Fixd Keep rcx | | | | | | | | | | | | | | |
- 31.#22 I1 Def Alloc rcx | |I1 a| | | | | | | | | | | | |
- 32.#23 rcx Fixd Keep rcx | |I1 a| | | | | | | | | | | | |
- 32.#24 I1 Use * Keep rcx | |I1 a| | | | | | | | | | | | |
- 33.#25 rax Kill Keep rax | | | | | | | | | | | | | | |
- 33.#26 rcx Kill Keep rcx | | | | | | | | | | | | | | |
- 33.#27 rdx Kill Keep rdx | | | | | | | | | | | | | | |
- 33.#28 r8 Kill Keep r8 | | | | | | | | | | | | | | |
- 33.#29 r9 Kill Keep r9 | | | | | | | | | | | | | | |
- 33.#30 r10 Kill Keep r10 | | | | | | | | | | | | | | |
- 33.#31 r11 Kill Keep r11 | | | | | | | | | | | | | | |
- 33.#32 mm0 Kill Keep mm0 | | | | | | | | | | | | | | |
- 33.#33 mm1 Kill Keep mm1 | | | | | | | | | | | | | | |
- 33.#34 mm2 Kill Keep mm2 | | | | | | | | | | | | | | |
- 33.#35 mm3 Kill Keep mm3 | | | | | | | | | | | | | | |
- 33.#36 mm4 Kill Keep mm4 | | | | | | | | | | | | | | |
- 33.#37 mm5 Kill Keep mm5 | | | | | | | | | | | | | | |
- ------------
- REFPOSITIONS AFTER ALLOCATION:
- ------------
- <RefPosition #0 @0 RefTypeBB BB01 regmask=[] minReg=1>
- <RefPosition #1 @2 RefTypeBB BB02 regmask=[] minReg=1>
- <RefPosition #2 @14 RefTypeBB BB03 regmask=[] minReg=1>
- <RefPosition #3 @17 RefTypeKill <Reg:rax> BB03 regmask=[rax] minReg=1 last>
- <RefPosition #4 @17 RefTypeKill <Reg:rcx> BB03 regmask=[rcx] minReg=1 last>
- <RefPosition #5 @17 RefTypeKill <Reg:rdx> BB03 regmask=[rdx] minReg=1 last>
- <RefPosition #6 @17 RefTypeKill <Reg:r8 > BB03 regmask=[r8] minReg=1 last>
- <RefPosition #7 @17 RefTypeKill <Reg:r9 > BB03 regmask=[r9] minReg=1 last>
- <RefPosition #8 @17 RefTypeKill <Reg:r10> BB03 regmask=[r10] minReg=1 last>
- <RefPosition #9 @17 RefTypeKill <Reg:r11> BB03 regmask=[r11] minReg=1 last>
- <RefPosition #10 @17 RefTypeKill <Reg:mm0> BB03 regmask=[mm0] minReg=1 last>
- <RefPosition #11 @17 RefTypeKill <Reg:mm1> BB03 regmask=[mm1] minReg=1 last>
- <RefPosition #12 @17 RefTypeKill <Reg:mm2> BB03 regmask=[mm2] minReg=1 last>
- <RefPosition #13 @17 RefTypeKill <Reg:mm3> BB03 regmask=[mm3] minReg=1 last>
- <RefPosition #14 @17 RefTypeKill <Reg:mm4> BB03 regmask=[mm4] minReg=1 last>
- <RefPosition #15 @17 RefTypeKill <Reg:mm5> BB03 regmask=[mm5] minReg=1 last>
- <RefPosition #16 @18 RefTypeBB BB04 regmask=[] minReg=1>
- <RefPosition #17 @20 RefTypeBB BB05 regmask=[] minReg=1>
- <RefPosition #18 @29 RefTypeDef <Ivl:0> LCL_VAR_ADDR BB05 regmask=[rcx] minReg=1>
- <RefPosition #19 @30 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1>
- <RefPosition #20 @30 RefTypeUse <Ivl:0> BB05 regmask=[rcx] minReg=1 last fixed>
- <RefPosition #21 @31 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1>
- <RefPosition #22 @31 RefTypeDef <Ivl:1> PUTARG_REG BB05 regmask=[rcx] minReg=1 fixed>
- <RefPosition #23 @32 RefTypeFixedReg <Reg:rcx> BB05 regmask=[rcx] minReg=1>
- <RefPosition #24 @32 RefTypeUse <Ivl:1> BB05 regmask=[rcx] minReg=1 last fixed>
- <RefPosition #25 @33 RefTypeKill <Reg:rax> BB05 regmask=[rax] minReg=1 last>
- <RefPosition #26 @33 RefTypeKill <Reg:rcx> BB05 regmask=[rcx] minReg=1 last>
- <RefPosition #27 @33 RefTypeKill <Reg:rdx> BB05 regmask=[rdx] minReg=1 last>
- <RefPosition #28 @33 RefTypeKill <Reg:r8 > BB05 regmask=[r8] minReg=1 last>
- <RefPosition #29 @33 RefTypeKill <Reg:r9 > BB05 regmask=[r9] minReg=1 last>
- <RefPosition #30 @33 RefTypeKill <Reg:r10> BB05 regmask=[r10] minReg=1 last>
- <RefPosition #31 @33 RefTypeKill <Reg:r11> BB05 regmask=[r11] minReg=1 last>
- <RefPosition #32 @33 RefTypeKill <Reg:mm0> BB05 regmask=[mm0] minReg=1 last>
- <RefPosition #33 @33 RefTypeKill <Reg:mm1> BB05 regmask=[mm1] minReg=1 last>
- <RefPosition #34 @33 RefTypeKill <Reg:mm2> BB05 regmask=[mm2] minReg=1 last>
- <RefPosition #35 @33 RefTypeKill <Reg:mm3> BB05 regmask=[mm3] minReg=1 last>
- <RefPosition #36 @33 RefTypeKill <Reg:mm4> BB05 regmask=[mm4] minReg=1 last>
- <RefPosition #37 @33 RefTypeKill <Reg:mm5> BB05 regmask=[mm5] minReg=1 last>
- Active intervals at end of allocation:
- Trees after linear scan register allocator (LSRA)
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target LIR
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0004] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N004 ( 3, 10) [000009] -c---------- t9 = CNS_INT(h) long 0x7fff50fbeaf0 token REG NA
- /--* t9 long
- N006 ( 5, 12) [000010] nc---------- t10 = * IND int REG NA
- N008 ( 1, 1) [000011] -c---------- t11 = CNS_INT int 0 REG NA
- /--* t10 int
- +--* t11 int
- N010 ( 7, 14) [000012] J------N---- * EQ void REG NA
- N012 ( 9, 16) [000018] ------------ * JTRUE void REG NA
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N016 ( 14, 5) [000013] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE REG NA
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..008) (return), preds={BB04} succs={}
- N022 (???,???) [000019] ------------ IL_OFFSET void IL offset: 0x0 REG NA
- N024 ( 1, 1) [000000] ------------ NO_OP void REG NA
- N026 (???,???) [000020] ------------ IL_OFFSET void IL offset: 0x1 REG NA
- N028 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V01 tmp1 rcx REG rcx
- /--* t3 long
- N030 (???,???) [000023] ------------ t23 = * PUTARG_REG long REG rcx
- /--* t23 long arg0 in rcx
- N032 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee REG NA
- N034 (???,???) [000021] ------------ IL_OFFSET void IL offset: 0x6 REG NA
- N036 ( 0, 0) [000006] ------------ NOP void REG NA
- N038 (???,???) [000022] ------------ IL_OFFSET void IL offset: 0x7 REG NA
- N040 ( 0, 0) [000008] ------------ RETURN void REG NA
- -------------------------------------------------------------------------------------------------------------------
- Final allocation
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 0.#0 BB1 PredBB0 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 2.#1 BB2 PredBB1 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 14.#2 BB3 PredBB2 | | | | | | | | | | | | | | |
- 17.#3 rax Kill Keep rax | | | | | | | | | | | | | | |
- 17.#4 rcx Kill Keep rcx | | | | | | | | | | | | | | |
- 17.#5 rdx Kill Keep rdx | | | | | | | | | | | | | | |
- 17.#6 r8 Kill Keep r8 | | | | | | | | | | | | | | |
- 17.#7 r9 Kill Keep r9 | | | | | | | | | | | | | | |
- 17.#8 r10 Kill Keep r10 | | | | | | | | | | | | | | |
- 17.#9 r11 Kill Keep r11 | | | | | | | | | | | | | | |
- 17.#10 mm0 Kill Keep mm0 | | | | | | | | | | | | | | |
- 17.#11 mm1 Kill Keep mm1 | | | | | | | | | | | | | | |
- 17.#12 mm2 Kill Keep mm2 | | | | | | | | | | | | | | |
- 17.#13 mm3 Kill Keep mm3 | | | | | | | | | | | | | | |
- 17.#14 mm4 Kill Keep mm4 | | | | | | | | | | | | | | |
- 17.#15 mm5 Kill Keep mm5 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 18.#16 BB4 PredBB2 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 20.#17 BB5 PredBB4 | | | | | | | | | | | | | | |
- 29.#18 I0 Def Alloc rcx | |I0 a| | | | | | | | | | | | |
- 30.#19 rcx Fixd Keep rcx | |I0 a| | | | | | | | | | | | |
- 30.#20 I0 Use * Keep rcx | |I0 i| | | | | | | | | | | | |
- 31.#21 rcx Fixd Keep rcx | | | | | | | | | | | | | | |
- 31.#22 I1 Def Alloc rcx | |I1 a| | | | | | | | | | | | |
- 32.#23 rcx Fixd Keep rcx | |I1 a| | | | | | | | | | | | |
- 32.#24 I1 Use * Keep rcx | |I1 i| | | | | | | | | | | | |
- 33.#25 rax Kill Keep rax | | | | | | | | | | | | | | |
- 33.#26 rcx Kill Keep rcx | | | | | | | | | | | | | | |
- 33.#27 rdx Kill Keep rdx | | | | | | | | | | | | | | |
- 33.#28 r8 Kill Keep r8 | | | | | | | | | | | | | | |
- 33.#29 r9 Kill Keep r9 | | | | | | | | | | | | | | |
- 33.#30 r10 Kill Keep r10 | | | | | | | | | | | | | | |
- 33.#31 r11 Kill Keep r11 | | | | | | | | | | | | | | |
- 33.#32 mm0 Kill Keep mm0 | | | | | | | | | | | | | | |
- 33.#33 mm1 Kill Keep mm1 | | | | | | | | | | | | | | |
- 33.#34 mm2 Kill Keep mm2 | | | | | | | | | | | | | | |
- 33.#35 mm3 Kill Keep mm3 | | | | | | | | | | | | | | |
- 33.#36 mm4 Kill Keep mm4 | | | | | | | | | | | | | | |
- 33.#37 mm5 Kill Keep mm5 | | | | | | | | | | | | | | |
- Recording the maximum number of concurrent spills:
- ----------
- LSRA Stats
- ----------
- Total Tracked Vars: 0
- Total Reg Cand Vars: 0
- Total number of Intervals: 1
- Total number of RefPositions: 37
- 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:
- BB01 [???..???), preds={} succs={BB02}
- =====
- BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- =====
- N004. CNS_INT(h) 0x7fff50fbeaf0 token
- N006. IND
- N008. CNS_INT 0
- N010. EQ
- N012. JTRUE
- BB03 [???..???), preds={BB02} succs={BB04}
- =====
- N016. CALL help
- BB04 [???..???), preds={BB02,BB03} succs={BB05}
- =====
- BB05 [000..008) (return), preds={BB04} succs={}
- =====
- N022. IL_OFFSET IL offset: 0x0
- N024. NO_OP
- N026. IL_OFFSET IL offset: 0x1
- N028. rcx = LCL_VAR_ADDR V01 tmp1 rcx
- N030. rcx = PUTARG_REG; rcx
- N032. CALL ; rcx
- N034. IL_OFFSET IL offset: 0x6
- N036. NOP
- N038. IL_OFFSET IL offset: 0x7
- N040. RETURN
- *************** In genGenerateCode()
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0001] 1 1 [???..???) i internal label target LIR
- BB02 [0003] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0004] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0002] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0000] 1 BB04 1 [000..008) (return) i gcsafe LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** In fgDebugCheckBBlist
- Finalizing stack frame
- Modified regs: [rax rcx rdx r8-r11 mm0-mm5]
- Callee-saved registers pushed: 0 []
- *************** In lvaAssignFrameOffsets(FINAL_FRAME_LAYOUT)
- Pad V01 tmp1, size=16, stkOffs=-0x10, pad=0
- Assign V01 tmp1, size=16, stkOffs=-0x20
- Assign V00 OutArgs, size=32, stkOffs=-0x40
- ; Final local variable assignments
- ;
- ; V00 OutArgs [V00 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace"
- ; V01 tmp1 [V01 ] ( 1, 1 ) simd16 -> [rbp-0x10] do-not-enreg[XS] addr-exposed "impSpillStackEnsure"
- ;
- ; Lcl frame size = 48
- Setting stack level from -572662307 to 0
- =============== Generating BB01 [???..???), preds={} succs={BB02} flags=0x00000004.40030060: i internal label target LIR
- BB01 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- Liveness not changing: 0000000000000000 {}
- Live regs: (unchanged) 00000000 {}
- GC regs: (unchanged) 00000000 {}
- Byref regs: (unchanged) 00000000 {}
- L_M17050_BB01:
- Label: IG02, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
- =============== Generating BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04} flags=0x00000000.40000040: internal LIR
- BB02 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- Liveness not changing: 0000000000000000 {}
- Live regs: (unchanged) 00000000 {}
- GC regs: (unchanged) 00000000 {}
- Byref regs: (unchanged) 00000000 {}
- L_M17050_BB02:
- Added IP mapping: NO_MAP STACK_EMPTY (G_M17050_IG02,ins#0,ofs#0) label
- Generating: N004 ( 3, 10) [000009] -c---------- t9 = CNS_INT(h) long 0x7fff50fbeaf0 token REG NA
- /--* t9 long
- Generating: N006 ( 5, 12) [000010] nc---------- t10 = * IND int REG NA
- Generating: N008 ( 1, 1) [000011] -c---------- t11 = CNS_INT int 0 REG NA
- /--* t10 int
- +--* t11 int
- Generating: N010 ( 7, 14) [000012] J------N---- * EQ void REG NA
- IN0001: cmp dword ptr [(reloc 0x7fff50fbeaf0)], 0
- Generating: N012 ( 9, 16) [000018] ------------ * JTRUE void REG NA
- IN0002: je L_M17050_BB04
- =============== Generating BB03 [???..???), preds={BB02} succs={BB04} flags=0x00000000.40000040: internal LIR
- BB03 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- Liveness not changing: 0000000000000000 {}
- Live regs: (unchanged) 00000000 {}
- GC regs: (unchanged) 00000000 {}
- Byref regs: (unchanged) 00000000 {}
- L_M17050_BB03:
- G_M17050_IG02: ; offs=000000H, funclet=00, bbWeight=1
- Label: IG03, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
- genIPmappingAdd: ignoring duplicate IL offset 0xffffffff
- Generating: N016 ( 14, 5) [000013] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE REG NA
- Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
- IN0003: call CORINFO_HELP_DBG_IS_JUST_MY_CODE
- =============== Generating BB04 [???..???), preds={BB02,BB03} succs={BB05} flags=0x00000000.40030060: i internal label target LIR
- BB04 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- Liveness not changing: 0000000000000000 {}
- Live regs: (unchanged) 00000000 {}
- GC regs: (unchanged) 00000000 {}
- Byref regs: (unchanged) 00000000 {}
- L_M17050_BB04:
- G_M17050_IG03: ; offs=00000DH, funclet=00, bbWeight=0.50
- Label: IG04, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
- genIPmappingAdd: ignoring duplicate IL offset 0xffffffff
- =============== Generating BB05 [000..008) (return), preds={BB04} succs={} flags=0x00000004.40080020: i gcsafe LIR
- BB05 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- Liveness not changing: 0000000000000000 {}
- Live regs: (unchanged) 00000000 {}
- GC regs: (unchanged) 00000000 {}
- Byref regs: (unchanged) 00000000 {}
- L_M17050_BB05:
- Added IP mapping: 0x0000 STACK_EMPTY (G_M17050_IG04,ins#0,ofs#0) label
- Generating: N022 (???,???) [000019] ------------ IL_OFFSET void IL offset: 0x0 REG NA
- Generating: N024 ( 1, 1) [000000] ------------ NO_OP void REG NA
- IN0004: nop
- Added IP mapping: 0x0001 STACK_EMPTY (G_M17050_IG04,ins#1,ofs#1)
- Generating: N026 (???,???) [000020] ------------ IL_OFFSET void IL offset: 0x1 REG NA
- Generating: N028 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V01 tmp1 rcx REG rcx
- IN0005: lea rcx, [V01 rbp-10H]
- /--* t3 long
- Generating: N030 (???,???) [000023] ------------ t23 = * PUTARG_REG long REG rcx
- /--* t23 long arg0 in rcx
- Generating: N032 ( 17, 9) [000001] S-CXG------- * CALL void CoreLab.Program.Callee REG NA
- Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
- Added IP mapping: 0x0001 STACK_EMPTY CALL_INSTRUCTION (G_M17050_IG04,ins#2,ofs#5)
- IN0006: call CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]
- Added IP mapping: 0x0006 (G_M17050_IG04,ins#3,ofs#10)
- Generating: N034 (???,???) [000021] ------------ IL_OFFSET void IL offset: 0x6 REG NA
- Generating: N036 ( 0, 0) [000006] ------------ NOP void REG NA
- IN0007: nop
- Added IP mapping: 0x0007 STACK_EMPTY (G_M17050_IG04,ins#4,ofs#11)
- Generating: N038 (???,???) [000022] ------------ IL_OFFSET void IL offset: 0x7 REG NA
- Generating: N040 ( 0, 0) [000008] ------------ RETURN void REG NA
- IN0008: nop
- Added IP mapping: EPILOG STACK_EMPTY (G_M17050_IG04,ins#5,ofs#12) label
- Reserving epilog IG for block BB05
- G_M17050_IG04: ; offs=000012H, funclet=00, bbWeight=1
- *************** After placeholder IG creation
- G_M17050_IG01: ; func=00, offs=000000H, size=0000H, gcrefRegs=00000000 {} <-- Prolog IG
- G_M17050_IG02: ; offs=000000H, size=000DH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M17050_IG03: ; offs=00000DH, size=0005H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M17050_IG04: ; offs=000012H, size=000CH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M17050_IG05: ; epilog placeholder, next placeholder=<END>, BB05 [0000], epilog, extend <-- First placeholder <-- Last placeholder
- ; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
- ; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
- Liveness not changing: 0000000000000000 {}
- # compCycleEstimate = 41, compSizeEstimate = 31 CoreLab.Program:Caller()
- ; Final local variable assignments
- ;
- ; V00 OutArgs [V00 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace"
- ; V01 tmp1 [V01 ] ( 1, 1 ) simd16 -> [rbp-0x10] do-not-enreg[XS] addr-exposed "impSpillStackEnsure"
- ;
- ; Lcl frame size = 48
- *************** Before prolog / epilog generation
- G_M17050_IG01: ; func=00, offs=000000H, size=0000H, gcrefRegs=00000000 {} <-- Prolog IG
- G_M17050_IG02: ; offs=000000H, size=000DH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M17050_IG03: ; offs=00000DH, size=0005H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M17050_IG04: ; offs=000012H, size=000CH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M17050_IG05: ; epilog placeholder, next placeholder=<END>, BB05 [0000], epilog, extend <-- First placeholder <-- Last placeholder
- ; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
- ; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
- *************** In genFnProlog()
- Added IP mapping to front: PROLOG STACK_EMPTY (G_M17050_IG01,ins#0,ofs#0) label
- __prolog:
- IN0009: push rbp
- IN000a: sub rsp, 48
- IN000b: lea rbp, [rsp+30H]
- *************** In genEnregisterIncomingStackArgs()
- G_M17050_IG01: ; offs=000000H, funclet=00, bbWeight=1
- *************** In genFnEpilog()
- __epilog:
- gcVarPtrSetCur=0000000000000000 {}, gcRegGCrefSetCur=00000000 {}, gcRegByrefSetCur=00000000 {}
- IN000c: lea rsp, [rbp]
- IN000d: pop rbp
- IN000e: ret
- G_M17050_IG05: ; offs=00001EH, funclet=00, bbWeight=1
- 0 prologs, 1 epilogs, 0 funclet prologs, 0 funclet epilogs
- *************** After prolog / epilog generation
- G_M17050_IG01: ; func=00, offs=000000H, size=000AH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
- G_M17050_IG02: ; offs=00000AH, size=000DH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M17050_IG03: ; offs=000017H, size=0005H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M17050_IG04: ; offs=00001CH, size=000CH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M17050_IG05: ; offs=000028H, size=0006H, epilog, nogc, extend
- *************** In emitJumpDistBind()
- Binding: IN0002: 000000 je L_M17050_BB04
- Binding L_M17050_BB04to G_M17050_IG04
- Estimate of fwd jump [9AC8CFCC/002]: 0011 -> 001C = 0009
- Shrinking jump [9AC8CFCC/002]
- Adjusted offset of BB03 from 0017 to 0013
- Adjusted offset of BB04 from 001C to 0018
- Adjusted offset of BB05 from 0028 to 0024
- Total shrinkage = 4, min extra jump size = 4294967295
- Hot code size = 0x2A bytes
- Cold code size = 0x0 bytes
- reserveUnwindInfo(isFunclet=FALSE, isColdCode=FALSE, unwindSize=0x8)
- *************** In emitEndCodeGen()
- Converting emitMaxStackDepth from bytes (0) to elements (0)
- ***************************************************************************
- Instructions as they come out of the scheduler
- G_M17050_IG01: ; func=00, offs=000000H, size=000AH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
- IN0009: 000000 55 push rbp
- IN000a: 000001 4883EC30 sub rsp, 48
- IN000b: 000005 488D6C2430 lea rbp, [rsp+30H]
- ;; bbWeight=1 PerfScore 1.75
- G_M17050_IG02: ; func=00, offs=00000AH, size=0009H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- IN0001: 00000A 833D9F6D1F0000 cmp dword ptr [(reloc 0x7fff50fbeaf0)], 0
- IN0002: 000011 7405 je SHORT G_M17050_IG04
- ;; bbWeight=1 PerfScore 3.00
- G_M17050_IG03: ; func=00, offs=000013H, size=0005H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- [9AC8D6C0] ptr arg pop 0
- IN0003: 000013 E8E8B2A15E call CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ;; bbWeight=0.50 PerfScore 0.50
- G_M17050_IG04: ; func=00, offs=000018H, size=000CH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- IN0004: 000018 90 nop
- IN0005: 000019 488D4DF0 lea rcx, [rbp-10H]
- [9AC8D6E0] ptr arg pop 0
- IN0006: 00001D E87694FFFF call CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]
- IN0007: 000022 90 nop
- IN0008: 000023 90 nop
- ;; bbWeight=1 PerfScore 2.25
- G_M17050_IG05: ; func=00, offs=000024H, size=0006H, epilog, nogc, extend
- IN000c: 000024 488D6500 lea rsp, [rbp]
- IN000d: 000028 5D pop rbp
- IN000e: 000029 C3 ret
- ;; bbWeight=1 PerfScore 2.00Allocated method code size = 42 , actual size = 42
- ; Total bytes of code 42, prolog size 10, PerfScore 13.70, (MethodHash=4dbcbd65) for method CoreLab.Program:Caller()
- ; ============================================================
- *************** After end code gen, before unwindEmit()
- G_M17050_IG01: ; func=00, offs=000000H, size=000AH, bbWeight=1 PerfScore 1.75, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
- IN0009: 000000 push rbp
- IN000a: 000001 sub rsp, 48
- IN000b: 000005 lea rbp, [rsp+30H]
- G_M17050_IG02: ; offs=00000AH, size=0009H, bbWeight=1 PerfScore 3.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- IN0001: 00000A cmp dword ptr [(reloc 0x7fff50fbeaf0)], 0
- IN0002: 000011 je SHORT G_M17050_IG04
- G_M17050_IG03: ; offs=000013H, size=0005H, bbWeight=0.50 PerfScore 0.50, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- IN0003: 000013 call CORINFO_HELP_DBG_IS_JUST_MY_CODE
- G_M17050_IG04: ; offs=000018H, size=000CH, bbWeight=1 PerfScore 2.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- IN0004: 000018 nop
- IN0005: 000019 lea rcx, [V01 rbp-10H]
- IN0006: 00001D call CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]
- IN0007: 000022 nop
- IN0008: 000023 nop
- G_M17050_IG05: ; offs=000024H, size=0006H, bbWeight=1 PerfScore 2.00, epilog, nogc, extend
- IN000c: 000024 lea rsp, [rbp]
- IN000d: 000028 pop rbp
- IN000e: 000029 ret
- Unwind Info:
- >> Start offset : 0x000000 (not in unwind data)
- >> End offset : 0x00002a (not in unwind data)
- Version : 1
- Flags : 0x00
- SizeOfProlog : 0x05
- CountOfUnwindCodes: 2
- FrameRegister : none (0)
- FrameOffset : N/A (no FrameRegister) (Value=0)
- UnwindCodes :
- CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 5 * 8 + 8 = 48 = 0x30
- CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
- allocUnwindInfo(pHotCode=0x00007FFF50DC7D40, pColdCode=0x0000000000000000, startOffset=0x0, endOffset=0x2a, unwindSize=0x8, pUnwindBlock=0x000002279AC8A778, funKind=0 (main function))
- *************** In genIPmappingGen()
- IP mapping count : 8
- IL offs PROLOG : 0x00000000 ( STACK_EMPTY )
- IL offs NO_MAP : 0x0000000A ( STACK_EMPTY )
- IL offs 0x0000 : 0x00000018 ( STACK_EMPTY )
- IL offs 0x0001 : 0x00000019 ( STACK_EMPTY )
- IL offs 0x0001 : 0x0000001D ( STACK_EMPTY CALL_INSTRUCTION )
- IL offs 0x0006 : 0x00000022
- IL offs 0x0007 : 0x00000023 ( STACK_EMPTY )
- IL offs EPILOG : 0x00000024 ( STACK_EMPTY )
- *************** In genSetScopeInfo()
- VarLocInfo count is 0
- *************** Variable debug info
- 0 live ranges
- *************** In gcInfoBlockHdrSave()
- Set code length to 42.
- Set ReturnKind to Scalar.
- Set stack base register to rbp.
- Set Outgoing stack arg area size to 32.
- Defining interruptible range: [0xa, 0x24).
- Method code size: 42
- Allocations for CoreLab.Program:Caller() (MethodHash=4dbcbd65)
- count: 254, size: 25868, max = 2640
- allocateMemory: 65536, nraUsed: 28280
- Alloc'd bytes by kind:
- kind | size | pct
- ---------------------+------------+--------
- AssertionProp | 0 | 0.00%
- ASTNode | 3328 | 12.87%
- InstDesc | 2880 | 11.13%
- ImpStack | 384 | 1.48%
- BasicBlock | 1936 | 7.48%
- fgArgInfo | 56 | 0.22%
- fgArgInfoPtrArr | 8 | 0.03%
- FlowList | 160 | 0.62%
- TreeStatementList | 0 | 0.00%
- SiScope | 0 | 0.00%
- DominatorMemory | 0 | 0.00%
- LSRA | 3208 | 12.40%
- LSRA_Interval | 176 | 0.68%
- LSRA_RefPosition | 2432 | 9.40%
- Reachability | 0 | 0.00%
- SSA | 0 | 0.00%
- ValueNumber | 0 | 0.00%
- LvaTable | 1920 | 7.42%
- UnwindInfo | 0 | 0.00%
- hashBv | 80 | 0.31%
- bitset | 56 | 0.22%
- FixedBitVect | 8 | 0.03%
- Generic | 1230 | 4.75%
- LocalAddressVisitor | 0 | 0.00%
- FieldSeqStore | 0 | 0.00%
- ZeroOffsetFieldMap | 40 | 0.15%
- ArrayInfoMap | 0 | 0.00%
- MemoryPhiArg | 0 | 0.00%
- CSE | 0 | 0.00%
- GC | 1392 | 5.38%
- CorSig | 104 | 0.40%
- Inlining | 120 | 0.46%
- ArrayStack | 0 | 0.00%
- DebugInfo | 256 | 0.99%
- DebugOnly | 4734 | 18.30%
- Codegen | 1128 | 4.36%
- LoopOpt | 0 | 0.00%
- LoopHoist | 0 | 0.00%
- Unknown | 160 | 0.62%
- RangeCheck | 0 | 0.00%
- CopyProp | 0 | 0.00%
- SideEffects | 0 | 0.00%
- ObjectAllocator | 0 | 0.00%
- VariableLiveRanges | 0 | 0.00%
- ClassLayout | 72 | 0.28%
- TailMergeThrows | 0 | 0.00%
- ****** DONE compiling CoreLab.Program:Caller()
- ****** START compiling CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double] (MethodHash=f5b01313)
- Generating code for Windows x64
- OPTIONS: compCodeOpt = BLENDED_CODE
- OPTIONS: compDbgCode = true
- OPTIONS: compDbgInfo = true
- OPTIONS: compDbgEnC = false
- OPTIONS: compProcedureSplitting = false
- OPTIONS: compProcedureSplittingEH = false
- IL to import:
- IL_0000 00 nop
- IL_0001 12 00 ldloca.s 0x0
- IL_0003 fe 15 01 00 00 1b initobj 0x1B000001
- IL_0009 06 ldloc.0
- IL_000a 0b stloc.1
- IL_000b 2b 00 br.s 0 (IL_000d)
- IL_000d 07 ldloc.1
- IL_000e 2a ret
- HW Intrinsic SIMD Candidate Type Vector128`1 with Base Type Double
- Found type Hardware Intrinsic SIMD Vector128<double>
- Known type Vector128<double>
- '__retBuf' passed in register rcx
- Known type Vector128<double>
- Known type Vector128<double>
- lvaGrabTemp returning 3 (V03 loc2) (a long lifetime temp) called for OutgoingArgSpace.
- ; Initial local variable assignments
- ;
- ; V00 RetBuf byref
- ; V01 loc0 simd16
- ; V02 loc1 simd16
- ; V03 OutArgs lclBlk (na) "OutgoingArgSpace"
- *************** In compInitDebuggingInfo() for CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]
- getVars() returned cVars = 0, extendOthers = true
- info.compVarScopesCount = 3
- VarNum LVNum Name Beg End
- 0: 00h 00h V00 RetBuf 000h 00Fh
- 1: 01h 01h V01 loc0 000h 00Fh
- 2: 02h 02h V02 loc1 000h 00Fh
- New Basic Block BB01 [0000] created.
- New scratch BB01
- Debuggable code - Add new BB01 [0000] to perform initialization of variables
- info.compStmtOffsetsCount = 0
- info.compStmtOffsetsImplicit = 0007h ( STACK_EMPTY NOP CALL_SITE )
- *************** In fgFindBasicBlocks() for CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]
- Marked V02 as a single def local
- Jump targets:
- IL_000d
- New Basic Block BB02 [0001] created.
- BB02 [000..00D)
- New Basic Block BB03 [0002] created.
- BB03 [00D..00F)
- CLFLG_MINOPT set for method CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]
- IL Code Size,Instr 15, 8, Basic Block count 3, Local Variable Num,Ref count 4, 4 for method CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]
- IL Code Size,Instr 15, 8, Basic Block count 3, Local Variable Num,Ref count 4, 4 for method CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]
- OPTIONS: opts.MinOpts() == true
- Basic block list for 'CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]'
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal
- BB02 [0001] 1 1 [000..00D)-> BB03 (always)
- BB03 [0002] 1 1 [00D..00F) (return)
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** In impImport() for CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]
- Marking leading BBF_INTERNAL block BB01 as BBF_IMPORTED
- impImportBlockPending for BB02
- Importing BB02 (PC=000) of 'CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]'
- [ 0] 0 (0x000) nop
- STMT00001 (IL 0x000... ???)
- [000001] ------------ * NO_OP void
- [ 0] 1 (0x001) ldloca.s 0
- [ 1] 3 (0x003) initobj 1B000001
- STMT00002 (IL 0x001... ???)
- [000005] IA---------- * ASG simd16 (init)
- [000002] D------N---- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000004] ------------ \--* CNS_INT int 0
- [ 0] 9 (0x009) ldloc.0
- [ 1] 10 (0x00a) stloc.1
- STMT00003 (IL 0x009... ???)
- [000009] -A---------- * ASG simd16 (copy)
- [000007] D----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000006] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [ 0] 11 (0x00b) br.s
- STMT00004 (IL 0x00B... ???)
- [000010] ------------ * NOP void
- impImportBlockPending for BB03
- Importing BB03 (PC=013) of 'CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]'
- [ 0] 13 (0x00d) ldloc.1
- [ 1] 14 (0x00e) ret
- STMT00005 (IL 0x00D... ???)
- [000014] -A---------- * ASG simd16 (copy)
- [000013] ------------ +--* IND simd16
- [000012] ------------ | \--* LCL_VAR byref V00 RetBuf
- [000011] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- STMT00006 (IL ???... ???)
- [000016] ------------ * RETURN byref
- [000015] ------------ \--* LCL_VAR byref V00 RetBuf
- *************** in fgTransformIndirectCalls(root)
- -- no candidates to transform
- New BlockSet epoch 1, # of blocks (including unused BB00): 4, bitset array size: 1 (short)
- *************** In fgMorph()
- *************** In fgDebugCheckBBlist
- *************** In Allocate Objects
- Trees before Allocate Objects
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal
- BB02 [0001] 1 1 [000..00D)-> BB03 (always) i
- BB03 [0002] 1 1 [00D..00F) (return) i
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ***** BB01
- STMT00000 (IL ???... ???)
- [000000] ------------ * NOP void
- ------------ BB02 [000..00D) -> BB03 (always), preds={} succs={BB03}
- ***** BB02
- STMT00001 (IL 0x000...0x000)
- [000001] ------------ * NO_OP void
- ***** BB02
- STMT00002 (IL 0x001...0x004)
- [000005] IA---------- * ASG simd16 (init)
- [000002] D------N---- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000004] ------------ \--* CNS_INT int 0
- ***** BB02
- STMT00003 (IL 0x009...0x00A)
- [000009] -A---------- * ASG simd16 (copy)
- [000007] D----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000006] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- ***** BB02
- STMT00004 (IL 0x00B...0x00B)
- [000010] ------------ * NOP void
- ------------ BB03 [00D..00F) (return), preds={} succs={}
- ***** BB03
- STMT00005 (IL 0x00D...0x00E)
- [000014] -A---------- * ASG simd16 (copy)
- [000013] ------------ +--* IND simd16
- [000012] ------------ | \--* LCL_VAR byref V00 RetBuf
- [000011] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- ***** BB03
- STMT00006 (IL ???... ???)
- [000016] ------------ * RETURN byref
- [000015] ------------ \--* LCL_VAR byref V00 RetBuf
- -------------------------------------------------------------------------------------------------------------------
- *** ObjectAllocationPhase: no newobjs in this method; punting
- *************** Exiting Allocate Objects
- Trees after Allocate Objects
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal
- BB02 [0001] 1 1 [000..00D)-> BB03 (always) i
- BB03 [0002] 1 1 [00D..00F) (return) i
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ***** BB01
- STMT00000 (IL ???... ???)
- [000000] ------------ * NOP void
- ------------ BB02 [000..00D) -> BB03 (always), preds={} succs={BB03}
- ***** BB02
- STMT00001 (IL 0x000...0x000)
- [000001] ------------ * NO_OP void
- ***** BB02
- STMT00002 (IL 0x001...0x004)
- [000005] IA---------- * ASG simd16 (init)
- [000002] D------N---- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000004] ------------ \--* CNS_INT int 0
- ***** BB02
- STMT00003 (IL 0x009...0x00A)
- [000009] -A---------- * ASG simd16 (copy)
- [000007] D----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000006] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- ***** BB02
- STMT00004 (IL 0x00B...0x00B)
- [000010] ------------ * NOP void
- ------------ BB03 [00D..00F) (return), preds={} succs={}
- ***** BB03
- STMT00005 (IL 0x00D...0x00E)
- [000014] -A---------- * ASG simd16 (copy)
- [000013] ------------ +--* IND simd16
- [000012] ------------ | \--* LCL_VAR byref V00 RetBuf
- [000011] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- ***** BB03
- STMT00006 (IL ???... ???)
- [000016] ------------ * RETURN byref
- [000015] ------------ \--* LCL_VAR byref V00 RetBuf
- -------------------------------------------------------------------------------------------------------------------
- *************** After fgAddInternal()
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal
- BB02 [0001] 1 1 [000..00D)-> BB03 (always) i
- BB03 [0002] 1 1 [00D..00F) (return) i
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** 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 fgResetImplicitByRefRefCount()
- *************** In fgPromoteStructs()
- promotion opt flag not enabled
- *************** In fgMarkAddressExposedLocals()
- LocalAddressVisitor visiting statement:
- STMT00000 (IL ???... ???)
- [000000] ------------ * NOP void
- LocalAddressVisitor visiting statement:
- STMT00007 (IL ???... ???)
- [000024] --C-G------- * QMARK void
- [000020] Q----------- if +--* EQ int
- [000018] ------------ | +--* IND int
- [000017] ------------ | | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- [000019] ------------ | \--* CNS_INT int 0
- [000023] --C-G------- if \--* COLON void
- [000021] --C-G------- else +--* CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- [000022] ------------ then \--* NOP void
- LocalAddressVisitor visiting statement:
- STMT00001 (IL 0x000...0x000)
- [000001] ------------ * NO_OP void
- LocalAddressVisitor visiting statement:
- STMT00002 (IL 0x001...0x004)
- [000005] IA---------- * ASG simd16 (init)
- [000002] D------N---- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000004] ------------ \--* CNS_INT int 0
- LocalAddressVisitor visiting statement:
- STMT00003 (IL 0x009...0x00A)
- [000009] -A---------- * ASG simd16 (copy)
- [000007] D----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000006] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- LocalAddressVisitor visiting statement:
- STMT00004 (IL 0x00B...0x00B)
- [000010] ------------ * NOP void
- LocalAddressVisitor visiting statement:
- STMT00005 (IL 0x00D...0x00E)
- [000014] -A---------- * ASG simd16 (copy)
- [000013] ------------ +--* IND simd16
- [000012] ------------ | \--* LCL_VAR byref V00 RetBuf
- [000011] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- LocalAddressVisitor visiting statement:
- STMT00006 (IL ???... ???)
- [000016] ------------ * RETURN byref
- [000015] ------------ \--* LCL_VAR byref V00 RetBuf
- *************** In fgRetypeImplicitByRefArgs()
- *************** In fgMorphBlocks()
- Morphing BB01 of 'CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]'
- fgMorphTree BB01, STMT00000 (before)
- [000000] ------------ * NOP void
- fgMorphTree BB01, STMT00007 (before)
- [000024] --C-G------- * QMARK void
- [000020] Q----------- if +--* EQ int
- [000018] ------------ | +--* IND int
- [000017] ------------ | | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- [000019] ------------ | \--* CNS_INT int 0
- [000023] --C-G------- if \--* COLON void
- [000021] --C-G------- else +--* CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- [000022] ------------ then \--* NOP void
- Initializing arg info for 21.CALL:
- ArgTable for 21.CALL after fgInitArgInfo:
- Morphing args for 21.CALL:
- argSlots=0, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
- ArgTable for 21.CALL after fgMorphArgs:
- Morphing BB02 of 'CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]'
- fgMorphTree BB02, STMT00001 (before)
- [000001] ------------ * NO_OP void
- fgMorphTree BB02, STMT00002 (before)
- [000005] IA---------- * ASG simd16 (init)
- [000002] D------N---- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000004] ------------ \--* CNS_INT int 0
- fgMorphInitBlock:fgMorphOneAsgBlock (after):
- [000005] -A---------- * ASG simd16 (copy)
- [000002] D----+-N---- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000025] ------------ \--* SIMD simd16 double init
- [000004] -----+------ \--* CNS_INT int 0
- using oneAsgTree.
- fgMorphTree BB02, STMT00002 (after)
- [000005] -A---+------ * ASG simd16 (copy)
- [000002] D----+-N---- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000025] ------------ \--* SIMD simd16 double init
- [000004] -----+------ \--* CNS_INT int 0
- fgMorphTree BB02, STMT00003 (before)
- [000009] -A---------- * ASG simd16 (copy)
- [000007] D----------- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000006] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- fgMorphCopyBlock:fgMorphOneAsgBlock (after):
- [000009] -A---------- * ASG simd16 (copy)
- [000007] D----+-N---- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000006] -----+------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- using oneAsgTree.
- fgMorphCopyBlock (after):
- [000009] -A---------- * ASG simd16 (copy)
- [000007] D----+-N---- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000006] -----+------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- fgMorphTree BB02, STMT00004 (before)
- [000010] ------------ * NOP void
- Morphing BB03 of 'CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]'
- fgMorphTree BB03, STMT00005 (before)
- [000014] -A---------- * ASG simd16 (copy)
- [000013] ------------ +--* IND simd16
- [000012] ------------ | \--* LCL_VAR byref V00 RetBuf
- [000011] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- fgMorphCopyBlock:fgMorphOneAsgBlock (after):
- [000014] -A-XG------- * ASG simd16 (copy)
- [000013] *--XG+-N---- +--* IND simd16
- [000012] -----+------ | \--* LCL_VAR byref V00 RetBuf
- [000011] -----+------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- using oneAsgTree.
- fgMorphCopyBlock (after):
- [000014] -A-XG------- * ASG simd16 (copy)
- [000013] *--XG+-N---- +--* IND simd16
- [000012] -----+------ | \--* LCL_VAR byref V00 RetBuf
- [000011] -----+------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- fgMorphTree BB03, STMT00006 (before)
- [000016] ------------ * RETURN byref
- [000015] ------------ \--* LCL_VAR byref V00 RetBuf
- Expanding top-level qmark in BB01 (before)
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ***** BB01
- STMT00000 (IL ???... ???)
- [000000] -----+------ * NOP void
- ***** BB01
- STMT00007 (IL ???... ???)
- [000024] --C-G+------ * QMARK void
- [000020] J----+-N---- if +--* EQ int
- [000018] n----+------ | +--* IND int
- [000017] -----+------ | | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- [000019] -----+------ | \--* CNS_INT int 0
- [000023] --C-G+?----- if \--* COLON void
- [000021] --C-G+?----- else +--* CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- [000022] -----+?----- then \--* NOP void
- -------------------------------------------------------------------------------------------------------------------
- New Basic Block BB04 [0003] created.
- BB02 previous predecessor was BB01, now is BB04
- New Basic Block BB05 [0004] created.
- New Basic Block BB06 [0005] created.
- Removing statement STMT00007 (IL ???... ???)
- [000024] --C-G+------ * QMARK void
- [000020] J----+-N---- if +--* EQ int
- [000018] n----+------ | +--* IND int
- [000017] -----+------ | | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- [000019] -----+------ | \--* CNS_INT int 0
- [000023] --C-G+?----- if \--* COLON void
- [000021] --C-G+?----- else +--* CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- [000022] -----+?----- then \--* NOP void
- in BB01 as useless:
- Expanding top-level qmark in BB01 (after)
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal
- BB05 [0004] 1 1 [???..???)-> BB04 ( cond ) internal
- BB06 [0005] 1 0.50 [???..???) internal
- BB04 [0003] 2 1 [???..???) i internal label target
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB05}
- ***** BB01
- STMT00000 (IL ???... ???)
- [000000] -----+------ * NOP void
- ------------ BB05 [???..???) -> BB04 (cond), preds={} succs={BB06,BB04}
- ***** BB05
- STMT00008 (IL ???... ???)
- [000026] ------------ * JTRUE void
- [000020] J----+-N---- \--* EQ int
- [000018] n----+------ +--* IND int
- [000017] -----+------ | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- [000019] -----+------ \--* CNS_INT int 0
- ------------ BB06 [???..???), preds={} succs={BB04}
- ***** BB06
- STMT00009 (IL ???... ???)
- [000021] --C-G+?----- * CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={} succs={BB02}
- -------------------------------------------------------------------------------------------------------------------
- Renumbering the basic blocks for fgComputePred
- *************** Before renumbering the basic blocks
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal
- BB05 [0004] 1 1 [???..???)-> BB04 ( cond ) internal
- BB06 [0005] 1 0.50 [???..???) internal
- BB04 [0003] 2 1 [???..???) i internal label target
- BB02 [0001] 1 1 [000..00D)-> BB03 (always) i
- BB03 [0002] 1 1 [00D..00F) (return) i
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** Exception Handling table is empty
- Renumber BB05 to BB02
- Renumber BB06 to BB03
- Renumber BB02 to BB05
- Renumber BB03 to BB06
- *************** After renumbering the basic blocks
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal
- BB02 [0004] 1 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0005] 1 0.50 [???..???) internal
- BB04 [0003] 2 1 [???..???) i internal label target
- BB05 [0001] 1 1 [000..00D)-> BB06 (always) i
- BB06 [0002] 1 1 [00D..00F) (return) i
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** Exception Handling table is empty
- New BlockSet epoch 2, # of blocks (including unused BB00): 7, bitset array size: 1 (short)
- *************** In fgComputePreds()
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal
- BB02 [0004] 1 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0005] 1 0.50 [???..???) internal
- BB04 [0003] 2 1 [???..???) i internal label target
- BB05 [0001] 1 1 [000..00D)-> BB06 (always) i
- BB06 [0002] 1 1 [00D..00F) (return) i
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** After fgComputePreds()
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0005] 1 BB02 0.50 [???..???) internal
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** In fgComputeBlockAndEdgeWeights()
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0005] 1 BB02 0.50 [???..???) internal
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target
- -----------------------------------------------------------------------------------------------------------------------------------------
- -- no profile data, so using default called count
- -- not optimizing, so not computing edge weights
- *************** In fgCreateFunclets()
- After fgCreateFunclets()
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0005] 1 BB02 0.50 [???..???) internal
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** Exception Handling table is empty
- *************** In fgDebugCheckBBlist
- *************** In lvaMarkLocalVars()
- *** lvaComputeRefCounts ***
- *************** In fgFindOperOrder()
- *************** In fgSetBlockOrder()
- The biggest BB has 5 tree nodes
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0005] 1 BB02 0.50 [???..???) internal
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ***** BB01
- STMT00000 (IL ???... ???)
- N001 ( 0, 0) [000000] ------------ * NOP void
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- ***** BB02
- STMT00008 (IL ???... ???)
- N005 ( 9, 16) [000026] ------------ * JTRUE void
- N004 ( 7, 14) [000020] J------N---- \--* EQ int
- N002 ( 5, 12) [000018] n----------- +--* IND int
- N001 ( 3, 10) [000017] ------------ | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- N003 ( 1, 1) [000019] ------------ \--* CNS_INT int 0
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- ***** BB03
- STMT00009 (IL ???... ???)
- N001 ( 14, 5) [000021] --C-G-?----- * CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06}
- ***** BB05
- STMT00001 (IL 0x000...0x000)
- N001 ( 1, 1) [000001] ------------ * NO_OP void
- ***** BB05
- STMT00002 (IL 0x001...0x004)
- N004 ( 6, 5) [000005] -A------R--- * ASG simd16 (copy)
- N003 ( 3, 2) [000002] D------N---- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- N002 ( 2, 2) [000025] ------------ \--* SIMD simd16 double init
- N001 ( 1, 1) [000004] ------------ \--* CNS_INT int 0
- ***** BB05
- STMT00003 (IL 0x009...0x00A)
- N003 ( 7, 5) [000009] -A------R--- * ASG simd16 (copy)
- N002 ( 3, 2) [000007] D------N---- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- N001 ( 3, 2) [000006] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- ***** BB05
- STMT00004 (IL 0x00B...0x00B)
- N001 ( 0, 0) [000010] ------------ * NOP void
- ------------ BB06 [00D..00F) (return), preds={BB05} succs={}
- ***** BB06
- STMT00005 (IL 0x00D...0x00E)
- N004 ( 10, 7) [000014] -A-XG------- * ASG simd16 (copy)
- N002 ( 6, 4) [000013] *--XG--N---- +--* IND simd16
- N001 ( 3, 2) [000012] ------------ | \--* LCL_VAR byref V00 RetBuf
- N003 ( 3, 2) [000011] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- ***** BB06
- STMT00006 (IL ???... ???)
- N002 ( 4, 3) [000016] ------------ * RETURN byref
- N001 ( 3, 2) [000015] ------------ \--* LCL_VAR byref V00 RetBuf
- -------------------------------------------------------------------------------------------------------------------
- *************** 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 lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
- BB03 [0005] 1 BB02 0.50 [???..???) internal
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- ***** BB01
- STMT00000 (IL ???... ???)
- N001 ( 0, 0) [000000] ------------ * NOP void
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- ***** BB02
- STMT00008 (IL ???... ???)
- N005 ( 9, 16) [000026] ------------ * JTRUE void
- N004 ( 7, 14) [000020] J------N---- \--* EQ int
- N002 ( 5, 12) [000018] n----------- +--* IND int
- N001 ( 3, 10) [000017] ------------ | \--* CNS_INT(h) long 0x7fff50fbeaf0 token
- N003 ( 1, 1) [000019] ------------ \--* CNS_INT int 0
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- ***** BB03
- STMT00009 (IL ???... ???)
- N001 ( 14, 5) [000021] --C-G-?----- * CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06}
- ***** BB05
- STMT00001 (IL 0x000...0x000)
- N001 ( 1, 1) [000001] ------------ * NO_OP void
- ***** BB05
- STMT00002 (IL 0x001...0x004)
- N004 ( 6, 5) [000005] -A------R--- * ASG simd16 (copy)
- N003 ( 3, 2) [000002] D------N---- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- N002 ( 2, 2) [000025] ------------ \--* SIMD simd16 double init
- N001 ( 1, 1) [000004] ------------ \--* CNS_INT int 0
- ***** BB05
- STMT00003 (IL 0x009...0x00A)
- N003 ( 7, 5) [000009] -A------R--- * ASG simd16 (copy)
- N002 ( 3, 2) [000007] D------N---- +--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- N001 ( 3, 2) [000006] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- ***** BB05
- STMT00004 (IL 0x00B...0x00B)
- N001 ( 0, 0) [000010] ------------ * NOP void
- ------------ BB06 [00D..00F) (return), preds={BB05} succs={}
- ***** BB06
- STMT00005 (IL 0x00D...0x00E)
- N004 ( 10, 7) [000014] -A-XG------- * ASG simd16 (copy)
- N002 ( 6, 4) [000013] *--XG--N---- +--* IND simd16
- N001 ( 3, 2) [000012] ------------ | \--* LCL_VAR byref V00 RetBuf
- N003 ( 3, 2) [000011] ------------ \--* LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- ***** BB06
- STMT00006 (IL ???... ???)
- N002 ( 4, 3) [000016] ------------ * RETURN byref
- N001 ( 3, 2) [000015] ------------ \--* LCL_VAR byref V00 RetBuf
- -------------------------------------------------------------------------------------------------------------------
- rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X)
- N004 ( 6, 5) [000005] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X)
- N003 ( 7, 5) [000009] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- *************** Exiting IR Rationalize
- Trees after IR Rationalize
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target LIR
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0005] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i LIR
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- N001 ( 0, 0) [000000] ------------ NOP void
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000017] ------------ t17 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t17 long
- N002 ( 5, 12) [000018] n----------- t18 = * IND int
- N003 ( 1, 1) [000019] ------------ t19 = CNS_INT int 0
- /--* t18 int
- +--* t19 int
- N004 ( 7, 14) [000020] J------N---- t20 = * EQ int
- /--* t20 int
- N005 ( 9, 16) [000026] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000021] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06}
- [000027] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000001] ------------ NO_OP void
- [000028] ------------ IL_OFFSET void IL offset: 0x1
- N001 ( 1, 1) [000004] ------------ t4 = CNS_INT int 0
- /--* t4 int
- N002 ( 2, 2) [000025] ------------ t25 = * SIMD simd16 double init
- /--* t25 simd16
- N004 ( 6, 5) [000005] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000029] ------------ IL_OFFSET void IL offset: 0x9
- N001 ( 3, 2) [000006] ------------ t6 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- /--* t6 simd16
- N003 ( 7, 5) [000009] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000030] ------------ IL_OFFSET void IL offset: 0xb
- N001 ( 0, 0) [000010] ------------ NOP void
- ------------ BB06 [00D..00F) (return), preds={BB05} succs={}
- [000031] ------------ IL_OFFSET void IL offset: 0xd
- N001 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V00 RetBuf
- N003 ( 3, 2) [000011] ------------ t11 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- /--* t12 byref
- +--* t11 simd16
- [000032] -A-XG------- * STOREIND simd16
- N001 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V00 RetBuf
- /--* t15 byref
- N002 ( 4, 3) [000016] ------------ * RETURN byref
- -------------------------------------------------------------------------------------------------------------------
- *************** In fgDebugCheckBBlist
- Bumping outgoingArgSpaceSize to 32 for call [000021]
- *************** In fgDebugCheckBBlist
- *************** In Lowering
- Trees before Lowering
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target LIR
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0005] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i LIR
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- N001 ( 0, 0) [000000] ------------ NOP void
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000017] ------------ t17 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t17 long
- N002 ( 5, 12) [000018] n----------- t18 = * IND int
- N003 ( 1, 1) [000019] ------------ t19 = CNS_INT int 0
- /--* t18 int
- +--* t19 int
- N004 ( 7, 14) [000020] J------N---- t20 = * EQ int
- /--* t20 int
- N005 ( 9, 16) [000026] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000021] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06}
- [000027] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000001] ------------ NO_OP void
- [000028] ------------ IL_OFFSET void IL offset: 0x1
- N001 ( 1, 1) [000004] ------------ t4 = CNS_INT int 0
- /--* t4 int
- N002 ( 2, 2) [000025] ------------ t25 = * SIMD simd16 double init
- /--* t25 simd16
- N004 ( 6, 5) [000005] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000029] ------------ IL_OFFSET void IL offset: 0x9
- N001 ( 3, 2) [000006] ------------ t6 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- /--* t6 simd16
- N003 ( 7, 5) [000009] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000030] ------------ IL_OFFSET void IL offset: 0xb
- N001 ( 0, 0) [000010] ------------ NOP void
- ------------ BB06 [00D..00F) (return), preds={BB05} succs={}
- [000031] ------------ IL_OFFSET void IL offset: 0xd
- N001 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V00 RetBuf
- N003 ( 3, 2) [000011] ------------ t11 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- /--* t12 byref
- +--* t11 simd16
- [000032] -A-XG------- * STOREIND simd16
- N001 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V00 RetBuf
- /--* t15 byref
- N002 ( 4, 3) [000016] ------------ * RETURN byref
- -------------------------------------------------------------------------------------------------------------------
- lowering call (before):
- N001 ( 14, 5) [000021] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- objp:
- ======
- args:
- ======
- late:
- ======
- lowering call (after):
- N001 ( 14, 5) [000021] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- Lower of StoreInd didn't mark the node as self contained for reason: 4
- N001 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V00 RetBuf
- N003 ( 3, 2) [000011] ------------ t11 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- /--* t12 byref
- +--* t11 simd16
- [000032] -A-XG------- * STOREIND simd16
- lowering GT_RETURN
- N002 ( 4, 3) [000016] ------------ * RETURN byref
- ============Lower has completed modifying nodes.
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target LIR
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0005] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i LIR
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- N001 ( 0, 0) [000000] ------------ NOP void
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000017] -c---------- t17 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t17 long
- N002 ( 5, 12) [000018] nc---------- t18 = * IND int
- N003 ( 1, 1) [000019] -c---------- t19 = CNS_INT int 0
- /--* t18 int
- +--* t19 int
- N004 ( 7, 14) [000020] J------N---- * EQ void
- N005 ( 9, 16) [000026] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000021] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06}
- [000027] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000001] ------------ NO_OP void
- [000028] ------------ IL_OFFSET void IL offset: 0x1
- N001 ( 1, 1) [000004] -c---------- t4 = CNS_INT int 0
- /--* t4 int
- N002 ( 2, 2) [000025] ------------ t25 = * SIMD simd16 double init
- /--* t25 simd16
- N004 ( 6, 5) [000005] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000029] ------------ IL_OFFSET void IL offset: 0x9
- N001 ( 3, 2) [000006] ------------ t6 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- /--* t6 simd16
- N003 ( 7, 5) [000009] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000030] ------------ IL_OFFSET void IL offset: 0xb
- N001 ( 0, 0) [000010] ------------ NOP void
- ------------ BB06 [00D..00F) (return), preds={BB05} succs={}
- [000031] ------------ IL_OFFSET void IL offset: 0xd
- N001 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V00 RetBuf
- N003 ( 3, 2) [000011] ------------ t11 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- /--* t12 byref
- +--* t11 simd16
- [000032] -A-XG------- * STOREIND simd16
- N001 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V00 RetBuf
- /--* t15 byref
- N002 ( 4, 3) [000016] ------------ * RETURN byref
- -------------------------------------------------------------------------------------------------------------------
- *** lvaComputeRefCounts ***
- *************** In fgLocalVarLiveness()
- ; Initial local variable assignments
- ;
- ; V00 RetBuf byref
- ; V01 loc0 simd16 ld-addr-op
- ; V02 loc1 simd16
- ; V03 OutArgs lclBlk (32) "OutgoingArgSpace"
- In fgLocalVarLivenessInit
- *************** In fgPerBlockLocalVarLiveness()
- *************** In fgInterBlockLocalVarLiveness()
- *************** In fgExtendDbgLifetimes()
- Marking vars alive over their entire scope :
- Local variable scopes = 3
- VarNum LVNum Name Beg End
- Sorted by enter scope:
- 0: 01h 01h V01 loc0 000h 00Fh <-- next enter scope
- 1: 02h 02h V02 loc1 000h 00Fh
- 2: 00h 00h V00 RetBuf 000h 00Fh
- Sorted by exit scope:
- 0: 01h 01h V01 loc0 000h 00Fh <-- next exit scope
- 1: 02h 02h V02 loc1 000h 00Fh
- 2: 00h 00h V00 RetBuf 000h 00Fh
- Scope info: block BB01 marking in scope: {}
- Scope info: block BB02 marking in scope: {}
- Scope info: block BB03 marking in scope: {}
- Scope info: block BB04 marking in scope: {}
- Scope info: block BB05 marking in scope: {}
- Scope info: block BB06 marking in scope: {}
- Debug scopes:
- BB01: {}
- BB02: {}
- BB03: {}
- BB04: {}
- BB05: {}
- BB06: {}
- Scope info: block BB01 UNmarking in scope: {}
- BB liveness after fgExtendDbgLifetimes():
- BB01 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- BB02 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- BB03 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- BB04 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- BB05 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- BB06 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- *** lvaComputeRefCounts ***
- Liveness pass finished after lowering, IR:
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target LIR
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0005] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i LIR
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- N001 ( 0, 0) [000000] ------------ NOP void
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000017] -c---------- t17 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t17 long
- N002 ( 5, 12) [000018] nc---------- t18 = * IND int
- N003 ( 1, 1) [000019] -c---------- t19 = CNS_INT int 0
- /--* t18 int
- +--* t19 int
- N004 ( 7, 14) [000020] J------N---- * EQ void
- N005 ( 9, 16) [000026] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000021] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06}
- [000027] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000001] ------------ NO_OP void
- [000028] ------------ IL_OFFSET void IL offset: 0x1
- N001 ( 1, 1) [000004] -c---------- t4 = CNS_INT int 0
- /--* t4 int
- N002 ( 2, 2) [000025] ------------ t25 = * SIMD simd16 double init
- /--* t25 simd16
- N004 ( 6, 5) [000005] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000029] ------------ IL_OFFSET void IL offset: 0x9
- N001 ( 3, 2) [000006] ------------ t6 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- /--* t6 simd16
- N003 ( 7, 5) [000009] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000030] ------------ IL_OFFSET void IL offset: 0xb
- N001 ( 0, 0) [000010] ------------ NOP void
- ------------ BB06 [00D..00F) (return), preds={BB05} succs={}
- [000031] ------------ IL_OFFSET void IL offset: 0xd
- N001 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V00 RetBuf
- N003 ( 3, 2) [000011] ------------ t11 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- /--* t12 byref
- +--* t11 simd16
- [000032] -A-XG------- * STOREIND simd16
- N001 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V00 RetBuf
- /--* t15 byref
- N002 ( 4, 3) [000016] ------------ * RETURN byref
- -------------------------------------------------------------------------------------------------------------------
- *************** Exiting Lowering
- Trees after Lowering
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target LIR
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0005] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i LIR
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- N001 ( 0, 0) [000000] ------------ NOP void
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000017] -c---------- t17 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t17 long
- N002 ( 5, 12) [000018] nc---------- t18 = * IND int
- N003 ( 1, 1) [000019] -c---------- t19 = CNS_INT int 0
- /--* t18 int
- +--* t19 int
- N004 ( 7, 14) [000020] J------N---- * EQ void
- N005 ( 9, 16) [000026] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000021] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06}
- [000027] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000001] ------------ NO_OP void
- [000028] ------------ IL_OFFSET void IL offset: 0x1
- N001 ( 1, 1) [000004] -c---------- t4 = CNS_INT int 0
- /--* t4 int
- N002 ( 2, 2) [000025] ------------ t25 = * SIMD simd16 double init
- /--* t25 simd16
- N004 ( 6, 5) [000005] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000029] ------------ IL_OFFSET void IL offset: 0x9
- N001 ( 3, 2) [000006] ------------ t6 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- /--* t6 simd16
- N003 ( 7, 5) [000009] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000030] ------------ IL_OFFSET void IL offset: 0xb
- N001 ( 0, 0) [000010] ------------ NOP void
- ------------ BB06 [00D..00F) (return), preds={BB05} succs={}
- [000031] ------------ IL_OFFSET void IL offset: 0xd
- N001 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V00 RetBuf
- N003 ( 3, 2) [000011] ------------ t11 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- /--* t12 byref
- +--* t11 simd16
- [000032] -A-XG------- * STOREIND simd16
- N001 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V00 RetBuf
- /--* t15 byref
- N002 ( 4, 3) [000016] ------------ * RETURN byref
- -------------------------------------------------------------------------------------------------------------------
- *************** In fgDebugCheckBBlist
- *************** In StackLevelSetter
- Trees before StackLevelSetter
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target LIR
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0005] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i LIR
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- N001 ( 0, 0) [000000] ------------ NOP void
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000017] -c---------- t17 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t17 long
- N002 ( 5, 12) [000018] nc---------- t18 = * IND int
- N003 ( 1, 1) [000019] -c---------- t19 = CNS_INT int 0
- /--* t18 int
- +--* t19 int
- N004 ( 7, 14) [000020] J------N---- * EQ void
- N005 ( 9, 16) [000026] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000021] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06}
- [000027] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000001] ------------ NO_OP void
- [000028] ------------ IL_OFFSET void IL offset: 0x1
- N001 ( 1, 1) [000004] -c---------- t4 = CNS_INT int 0
- /--* t4 int
- N002 ( 2, 2) [000025] ------------ t25 = * SIMD simd16 double init
- /--* t25 simd16
- N004 ( 6, 5) [000005] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000029] ------------ IL_OFFSET void IL offset: 0x9
- N001 ( 3, 2) [000006] ------------ t6 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- /--* t6 simd16
- N003 ( 7, 5) [000009] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000030] ------------ IL_OFFSET void IL offset: 0xb
- N001 ( 0, 0) [000010] ------------ NOP void
- ------------ BB06 [00D..00F) (return), preds={BB05} succs={}
- [000031] ------------ IL_OFFSET void IL offset: 0xd
- N001 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V00 RetBuf
- N003 ( 3, 2) [000011] ------------ t11 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- /--* t12 byref
- +--* t11 simd16
- [000032] -A-XG------- * STOREIND simd16
- N001 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V00 RetBuf
- /--* t15 byref
- N002 ( 4, 3) [000016] ------------ * RETURN byref
- -------------------------------------------------------------------------------------------------------------------
- *************** Exiting StackLevelSetter
- Trees after StackLevelSetter
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target LIR
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0005] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i LIR
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- N001 ( 0, 0) [000000] ------------ NOP void
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N001 ( 3, 10) [000017] -c---------- t17 = CNS_INT(h) long 0x7fff50fbeaf0 token
- /--* t17 long
- N002 ( 5, 12) [000018] nc---------- t18 = * IND int
- N003 ( 1, 1) [000019] -c---------- t19 = CNS_INT int 0
- /--* t18 int
- +--* t19 int
- N004 ( 7, 14) [000020] J------N---- * EQ void
- N005 ( 9, 16) [000026] ------------ * JTRUE void
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N001 ( 14, 5) [000021] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06}
- [000027] ------------ IL_OFFSET void IL offset: 0x0
- N001 ( 1, 1) [000001] ------------ NO_OP void
- [000028] ------------ IL_OFFSET void IL offset: 0x1
- N001 ( 1, 1) [000004] -c---------- t4 = CNS_INT int 0
- /--* t4 int
- N002 ( 2, 2) [000025] ------------ t25 = * SIMD simd16 double init
- /--* t25 simd16
- N004 ( 6, 5) [000005] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- [000029] ------------ IL_OFFSET void IL offset: 0x9
- N001 ( 3, 2) [000006] ------------ t6 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0
- /--* t6 simd16
- N003 ( 7, 5) [000009] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- [000030] ------------ IL_OFFSET void IL offset: 0xb
- N001 ( 0, 0) [000010] ------------ NOP void
- ------------ BB06 [00D..00F) (return), preds={BB05} succs={}
- [000031] ------------ IL_OFFSET void IL offset: 0xd
- N001 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V00 RetBuf
- N003 ( 3, 2) [000011] ------------ t11 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1
- /--* t12 byref
- +--* t11 simd16
- [000032] -A-XG------- * STOREIND simd16
- N001 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V00 RetBuf
- /--* t15 byref
- N002 ( 4, 3) [000016] ------------ * RETURN byref
- -------------------------------------------------------------------------------------------------------------------
- *************** In fgDebugCheckBBlist
- Clearing modified regs.
- buildIntervals ========
- -----------------
- LIVENESS:
- -----------------
- BB01 use def in out
- {}
- {}
- {}
- {}
- BB02 use def in out
- {}
- {}
- {}
- {}
- BB03 use def in out
- {}
- {}
- {}
- {}
- BB04 use def in out
- {}
- {}
- {}
- {}
- BB05 use def in out
- {}
- {}
- {}
- {}
- BB06 use def in out
- {}
- {}
- {}
- {}
- FP callee save candidate vars: None
- floatVarCount = 0; hasLoops = 0, singleExit = 1
- TUPLE STYLE DUMP BEFORE LSRA
- LSRA Block Sequence: BB01( 1 )
- BB02( 1 )
- BB03( 0.50)
- BB04( 1 )
- BB05( 1 )
- BB06( 1 )
- BB01 [???..???), preds={} succs={BB02}
- =====
- N001. NOP
- BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- =====
- N001. CNS_INT(h) 0x7fff50fbeaf0 token
- N002. IND
- N003. CNS_INT 0
- N004. EQ
- N005. JTRUE
- BB03 [???..???), preds={BB02} succs={BB04}
- =====
- N001. CALL help
- BB04 [???..???), preds={BB02,BB03} succs={BB05}
- =====
- BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06}
- =====
- N000. IL_OFFSET IL offset: 0x0
- N001. NO_OP
- N000. IL_OFFSET IL offset: 0x1
- N001. CNS_INT 0
- N002. t25 = SIMD
- N004. V01 MEM; t25
- N000. IL_OFFSET IL offset: 0x9
- N001. t6 = V01 MEM
- N003. V02 MEM; t6
- N000. IL_OFFSET IL offset: 0xb
- N001. NOP
- BB06 [00D..00F) (return), preds={BB05} succs={}
- =====
- N000. IL_OFFSET IL offset: 0xd
- N001. t12 = V00 MEM
- N003. t11 = V02 MEM
- N000. STOREIND ; t12,t11
- N001. t15 = V00 MEM
- N002. RETURN ; t15
- buildIntervals second part ========
- Int arg V00 in reg rcx
- NEW BLOCK BB01
- <RefPosition #0 @0 RefTypeBB BB01 regmask=[] minReg=1>
- DefList: { }
- N002 ( 0, 0) [000000] ------------ * NOP void REG NA
- NEW BLOCK BB02
- Setting BB01 as the predecessor for determining incoming variable registers of BB02
- <RefPosition #1 @4 RefTypeBB BB02 regmask=[] minReg=1>
- DefList: { }
- N006 ( 3, 10) [000017] -c---------- * CNS_INT(h) long 0x7fff50fbeaf0 token REG NA
- Contained
- DefList: { }
- N008 ( 5, 12) [000018] nc---------- * IND int REG NA
- Contained
- DefList: { }
- N010 ( 1, 1) [000019] -c---------- * CNS_INT int 0 REG NA
- Contained
- DefList: { }
- N012 ( 7, 14) [000020] J------N---- * EQ void REG NA
- DefList: { }
- N014 ( 9, 16) [000026] ------------ * JTRUE void REG NA
- NEW BLOCK BB03
- Setting BB02 as the predecessor for determining incoming variable registers of BB03
- <RefPosition #2 @16 RefTypeBB BB03 regmask=[] minReg=1>
- DefList: { }
- N018 ( 14, 5) [000021] --C-G-?----- * CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE REG NA
- <RefPosition #3 @19 RefTypeKill <Reg:rax> BB03 regmask=[rax] minReg=1>
- <RefPosition #4 @19 RefTypeKill <Reg:rcx> BB03 regmask=[rcx] minReg=1>
- <RefPosition #5 @19 RefTypeKill <Reg:rdx> BB03 regmask=[rdx] minReg=1>
- <RefPosition #6 @19 RefTypeKill <Reg:r8 > BB03 regmask=[r8] minReg=1>
- <RefPosition #7 @19 RefTypeKill <Reg:r9 > BB03 regmask=[r9] minReg=1>
- <RefPosition #8 @19 RefTypeKill <Reg:r10> BB03 regmask=[r10] minReg=1>
- <RefPosition #9 @19 RefTypeKill <Reg:r11> BB03 regmask=[r11] minReg=1>
- <RefPosition #10 @19 RefTypeKill <Reg:mm0> BB03 regmask=[mm0] minReg=1>
- <RefPosition #11 @19 RefTypeKill <Reg:mm1> BB03 regmask=[mm1] minReg=1>
- <RefPosition #12 @19 RefTypeKill <Reg:mm2> BB03 regmask=[mm2] minReg=1>
- <RefPosition #13 @19 RefTypeKill <Reg:mm3> BB03 regmask=[mm3] minReg=1>
- <RefPosition #14 @19 RefTypeKill <Reg:mm4> BB03 regmask=[mm4] minReg=1>
- <RefPosition #15 @19 RefTypeKill <Reg:mm5> BB03 regmask=[mm5] minReg=1>
- NEW BLOCK BB04
- Setting BB02 as the predecessor for determining incoming variable registers of BB04
- <RefPosition #16 @20 RefTypeBB BB04 regmask=[] minReg=1>
- NEW BLOCK BB05
- Setting BB04 as the predecessor for determining incoming variable registers of BB05
- <RefPosition #17 @22 RefTypeBB BB05 regmask=[] minReg=1>
- DefList: { }
- N024 (???,???) [000027] ------------ * IL_OFFSET void IL offset: 0x0 REG NA
- DefList: { }
- N026 ( 1, 1) [000001] ------------ * NO_OP void REG NA
- DefList: { }
- N028 (???,???) [000028] ------------ * IL_OFFSET void IL offset: 0x1 REG NA
- DefList: { }
- N030 ( 1, 1) [000004] -c---------- * CNS_INT int 0 REG NA
- Contained
- DefList: { }
- N032 ( 2, 2) [000025] ------------ * SIMD simd16 double init REG NA
- Interval 0: simd16 RefPositions {} physReg:NA Preferences=[allFloat]
- <RefPosition #18 @33 RefTypeDef <Ivl:0> SIMD BB05 regmask=[allFloat] minReg=1>
- DefList: { N032.t25. SIMD }
- N034 ( 6, 5) [000005] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0 NA REG NA
- <RefPosition #19 @34 RefTypeUse <Ivl:0> BB05 regmask=[allFloat] minReg=1 last>
- DefList: { }
- N036 (???,???) [000029] ------------ * IL_OFFSET void IL offset: 0x9 REG NA
- DefList: { }
- N038 ( 3, 2) [000006] ------------ * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0 NA REG NA
- Interval 1: simd16 RefPositions {} physReg:NA Preferences=[allFloat]
- <RefPosition #20 @39 RefTypeDef <Ivl:1> LCL_VAR BB05 regmask=[allFloat] minReg=1>
- DefList: { N038.t6. LCL_VAR }
- N040 ( 7, 5) [000009] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1 NA REG NA
- <RefPosition #21 @40 RefTypeUse <Ivl:1> BB05 regmask=[allFloat] minReg=1 last>
- DefList: { }
- N042 (???,???) [000030] ------------ * IL_OFFSET void IL offset: 0xb REG NA
- DefList: { }
- N044 ( 0, 0) [000010] ------------ * NOP void REG NA
- NEW BLOCK BB06
- Setting BB05 as the predecessor for determining incoming variable registers of BB06
- <RefPosition #22 @46 RefTypeBB BB06 regmask=[] minReg=1>
- DefList: { }
- N048 (???,???) [000031] ------------ * IL_OFFSET void IL offset: 0xd REG NA
- DefList: { }
- N050 ( 3, 2) [000012] ------------ * LCL_VAR byref V00 RetBuf NA REG NA
- Interval 2: byref RefPositions {} physReg:NA Preferences=[allIntButFP]
- <RefPosition #23 @51 RefTypeDef <Ivl:2> LCL_VAR BB06 regmask=[allIntButFP] minReg=1>
- DefList: { N050.t12. LCL_VAR }
- N052 ( 3, 2) [000011] ------------ * LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1 NA REG NA
- Interval 3: simd16 RefPositions {} physReg:NA Preferences=[allFloat]
- <RefPosition #24 @53 RefTypeDef <Ivl:3> LCL_VAR BB06 regmask=[allFloat] minReg=1>
- DefList: { N050.t12. LCL_VAR; N052.t11. LCL_VAR }
- N054 (???,???) [000032] -A-XG------- * STOREIND simd16 REG NA
- <RefPosition #25 @54 RefTypeUse <Ivl:2> BB06 regmask=[allIntButFP] minReg=1 last>
- <RefPosition #26 @54 RefTypeUse <Ivl:3> BB06 regmask=[allFloat] minReg=1 last>
- DefList: { }
- N056 ( 3, 2) [000015] ------------ * LCL_VAR byref V00 RetBuf NA REG NA
- Interval 4: byref RefPositions {} physReg:NA Preferences=[allIntButFP]
- <RefPosition #27 @57 RefTypeDef <Ivl:4> LCL_VAR BB06 regmask=[allIntButFP] minReg=1>
- DefList: { N056.t15. LCL_VAR }
- N058 ( 4, 3) [000016] ------------ * RETURN byref REG NA
- <RefPosition #28 @58 RefTypeFixedReg <Reg:rax> BB06 regmask=[rax] minReg=1>
- <RefPosition #29 @58 RefTypeUse <Ivl:4> BB06 regmask=[rax] minReg=1 last fixed>
- Linear scan intervals BEFORE VALIDATING INTERVALS:
- Interval 0: simd16 RefPositions {#18@33 #19@34} physReg:NA Preferences=[allFloat]
- Interval 1: simd16 RefPositions {#20@39 #21@40} physReg:NA Preferences=[allFloat]
- Interval 2: byref RefPositions {#23@51 #25@54} physReg:NA Preferences=[allIntButFP]
- Interval 3: simd16 RefPositions {#24@53 #26@54} physReg:NA Preferences=[allFloat]
- Interval 4: byref RefPositions {#27@57 #29@58} physReg:NA Preferences=[rax]
- ------------
- REFPOSITIONS BEFORE VALIDATING INTERVALS:
- ------------
- <RefPosition #0 @0 RefTypeBB BB01 regmask=[] minReg=1>
- <RefPosition #1 @4 RefTypeBB BB02 regmask=[] minReg=1>
- <RefPosition #2 @16 RefTypeBB BB03 regmask=[] minReg=1>
- <RefPosition #3 @19 RefTypeKill <Reg:rax> BB03 regmask=[rax] minReg=1 last>
- <RefPosition #4 @19 RefTypeKill <Reg:rcx> BB03 regmask=[rcx] minReg=1 last>
- <RefPosition #5 @19 RefTypeKill <Reg:rdx> BB03 regmask=[rdx] minReg=1 last>
- <RefPosition #6 @19 RefTypeKill <Reg:r8 > BB03 regmask=[r8] minReg=1 last>
- <RefPosition #7 @19 RefTypeKill <Reg:r9 > BB03 regmask=[r9] minReg=1 last>
- <RefPosition #8 @19 RefTypeKill <Reg:r10> BB03 regmask=[r10] minReg=1 last>
- <RefPosition #9 @19 RefTypeKill <Reg:r11> BB03 regmask=[r11] minReg=1 last>
- <RefPosition #10 @19 RefTypeKill <Reg:mm0> BB03 regmask=[mm0] minReg=1 last>
- <RefPosition #11 @19 RefTypeKill <Reg:mm1> BB03 regmask=[mm1] minReg=1 last>
- <RefPosition #12 @19 RefTypeKill <Reg:mm2> BB03 regmask=[mm2] minReg=1 last>
- <RefPosition #13 @19 RefTypeKill <Reg:mm3> BB03 regmask=[mm3] minReg=1 last>
- <RefPosition #14 @19 RefTypeKill <Reg:mm4> BB03 regmask=[mm4] minReg=1 last>
- <RefPosition #15 @19 RefTypeKill <Reg:mm5> BB03 regmask=[mm5] minReg=1 last>
- <RefPosition #16 @20 RefTypeBB BB04 regmask=[] minReg=1>
- <RefPosition #17 @22 RefTypeBB BB05 regmask=[] minReg=1>
- <RefPosition #18 @33 RefTypeDef <Ivl:0> SIMD BB05 regmask=[allFloat] minReg=1>
- <RefPosition #19 @34 RefTypeUse <Ivl:0> BB05 regmask=[allFloat] minReg=1 last>
- <RefPosition #20 @39 RefTypeDef <Ivl:1> LCL_VAR BB05 regmask=[allFloat] minReg=1>
- <RefPosition #21 @40 RefTypeUse <Ivl:1> BB05 regmask=[allFloat] minReg=1 last>
- <RefPosition #22 @46 RefTypeBB BB06 regmask=[] minReg=1>
- <RefPosition #23 @51 RefTypeDef <Ivl:2> LCL_VAR BB06 regmask=[allIntButFP] minReg=1>
- <RefPosition #24 @53 RefTypeDef <Ivl:3> LCL_VAR BB06 regmask=[allFloat] minReg=1>
- <RefPosition #25 @54 RefTypeUse <Ivl:2> BB06 regmask=[allIntButFP] minReg=1 last>
- <RefPosition #26 @54 RefTypeUse <Ivl:3> BB06 regmask=[allFloat] minReg=1 last>
- <RefPosition #27 @57 RefTypeDef <Ivl:4> LCL_VAR BB06 regmask=[rax] minReg=1>
- <RefPosition #28 @58 RefTypeFixedReg <Reg:rax> BB06 regmask=[rax] minReg=1>
- <RefPosition #29 @58 RefTypeUse <Ivl:4> BB06 regmask=[rax] minReg=1 last fixed>
- TUPLE STYLE DUMP WITH REF POSITIONS
- Incoming Parameters:
- BB01 [???..???), preds={} succs={BB02}
- =====
- N002. NOP
- BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- =====
- N006. CNS_INT(h) 0x7fff50fbeaf0 token
- N008. IND
- N010. CNS_INT 0
- N012. EQ
- N014. JTRUE
- BB03 [???..???), preds={BB02} succs={BB04}
- =====
- N018. CALL help
- Kill: rax rcx rdx r8 r9 r10 r11 mm0 mm1 mm2 mm3 mm4 mm5
- BB04 [???..???), preds={BB02,BB03} succs={BB05}
- =====
- BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06}
- =====
- N024. IL_OFFSET IL offset: 0x0
- N026. NO_OP
- N028. IL_OFFSET IL offset: 0x1
- N030. CNS_INT 0
- N032. SIMD
- Def:<I0>(#18)
- N034. V01 MEM
- Use:<I0>(#19) *
- N036. IL_OFFSET IL offset: 0x9
- N038. V01 MEM
- Def:<I1>(#20)
- N040. V02 MEM
- Use:<I1>(#21) *
- N042. IL_OFFSET IL offset: 0xb
- N044. NOP
- BB06 [00D..00F) (return), preds={BB05} succs={}
- =====
- N048. IL_OFFSET IL offset: 0xd
- N050. V00 MEM
- Def:<I2>(#23)
- N052. V02 MEM
- Def:<I3>(#24)
- N054. STOREIND
- Use:<I2>(#25) *
- Use:<I3>(#26) *
- N056. V00 MEM
- Def:<I4>(#27)
- N058. RETURN
- Use:<I4>(#29) Fixed:rax(#28) *
- Linear scan intervals after buildIntervals:
- Interval 0: simd16 RefPositions {#18@33 #19@34} physReg:NA Preferences=[allFloat]
- Interval 1: simd16 RefPositions {#20@39 #21@40} physReg:NA Preferences=[allFloat]
- Interval 2: byref RefPositions {#23@51 #25@54} physReg:NA Preferences=[allIntButFP]
- Interval 3: simd16 RefPositions {#24@53 #26@54} physReg:NA Preferences=[allFloat]
- Interval 4: byref RefPositions {#27@57 #29@58} physReg:NA Preferences=[rax]
- *************** In LinearScan::allocateRegisters()
- Linear scan intervals before allocateRegisters:
- Interval 0: simd16 RefPositions {#18@33 #19@34} physReg:NA Preferences=[allFloat]
- Interval 1: simd16 RefPositions {#20@39 #21@40} physReg:NA Preferences=[allFloat]
- Interval 2: byref RefPositions {#23@51 #25@54} physReg:NA Preferences=[allIntButFP]
- Interval 3: simd16 RefPositions {#24@53 #26@54} physReg:NA Preferences=[allFloat]
- Interval 4: byref RefPositions {#27@57 #29@58} physReg:NA Preferences=[rax]
- ------------
- REFPOSITIONS BEFORE ALLOCATION:
- ------------
- <RefPosition #0 @0 RefTypeBB BB01 regmask=[] minReg=1>
- <RefPosition #1 @4 RefTypeBB BB02 regmask=[] minReg=1>
- <RefPosition #2 @16 RefTypeBB BB03 regmask=[] minReg=1>
- <RefPosition #3 @19 RefTypeKill <Reg:rax> BB03 regmask=[rax] minReg=1 last>
- <RefPosition #4 @19 RefTypeKill <Reg:rcx> BB03 regmask=[rcx] minReg=1 last>
- <RefPosition #5 @19 RefTypeKill <Reg:rdx> BB03 regmask=[rdx] minReg=1 last>
- <RefPosition #6 @19 RefTypeKill <Reg:r8 > BB03 regmask=[r8] minReg=1 last>
- <RefPosition #7 @19 RefTypeKill <Reg:r9 > BB03 regmask=[r9] minReg=1 last>
- <RefPosition #8 @19 RefTypeKill <Reg:r10> BB03 regmask=[r10] minReg=1 last>
- <RefPosition #9 @19 RefTypeKill <Reg:r11> BB03 regmask=[r11] minReg=1 last>
- <RefPosition #10 @19 RefTypeKill <Reg:mm0> BB03 regmask=[mm0] minReg=1 last>
- <RefPosition #11 @19 RefTypeKill <Reg:mm1> BB03 regmask=[mm1] minReg=1 last>
- <RefPosition #12 @19 RefTypeKill <Reg:mm2> BB03 regmask=[mm2] minReg=1 last>
- <RefPosition #13 @19 RefTypeKill <Reg:mm3> BB03 regmask=[mm3] minReg=1 last>
- <RefPosition #14 @19 RefTypeKill <Reg:mm4> BB03 regmask=[mm4] minReg=1 last>
- <RefPosition #15 @19 RefTypeKill <Reg:mm5> BB03 regmask=[mm5] minReg=1 last>
- <RefPosition #16 @20 RefTypeBB BB04 regmask=[] minReg=1>
- <RefPosition #17 @22 RefTypeBB BB05 regmask=[] minReg=1>
- <RefPosition #18 @33 RefTypeDef <Ivl:0> SIMD BB05 regmask=[allFloat] minReg=1>
- <RefPosition #19 @34 RefTypeUse <Ivl:0> BB05 regmask=[allFloat] minReg=1 last>
- <RefPosition #20 @39 RefTypeDef <Ivl:1> LCL_VAR BB05 regmask=[allFloat] minReg=1>
- <RefPosition #21 @40 RefTypeUse <Ivl:1> BB05 regmask=[allFloat] minReg=1 last>
- <RefPosition #22 @46 RefTypeBB BB06 regmask=[] minReg=1>
- <RefPosition #23 @51 RefTypeDef <Ivl:2> LCL_VAR BB06 regmask=[allIntButFP] minReg=1>
- <RefPosition #24 @53 RefTypeDef <Ivl:3> LCL_VAR BB06 regmask=[allFloat] minReg=1>
- <RefPosition #25 @54 RefTypeUse <Ivl:2> BB06 regmask=[allIntButFP] minReg=1 last>
- <RefPosition #26 @54 RefTypeUse <Ivl:3> BB06 regmask=[allFloat] minReg=1 last>
- <RefPosition #27 @57 RefTypeDef <Ivl:4> LCL_VAR BB06 regmask=[rax] minReg=1>
- <RefPosition #28 @58 RefTypeFixedReg <Reg:rax> BB06 regmask=[rax] minReg=1>
- <RefPosition #29 @58 RefTypeUse <Ivl:4> BB06 regmask=[rax] minReg=1 last fixed>
- 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, a 'p' if it is a large vector that has been partially spilled, and 'i'if it is inactive.
- Columns are only printed up to the last modifed register, which may increase during allocation,
- in which case additional columns will appear.
- Registers which are not marked modified have ---- in their column.
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- | | | | | | | | | | | | | | |
- 0.#0 BB1 PredBB0 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 4.#1 BB2 PredBB1 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 16.#2 BB3 PredBB2 | | | | | | | | | | | | | | |
- 19.#3 rax Kill Keep rax | | | | | | | | | | | | | | |
- 19.#4 rcx Kill Keep rcx | | | | | | | | | | | | | | |
- 19.#5 rdx Kill Keep rdx | | | | | | | | | | | | | | |
- 19.#6 r8 Kill Keep r8 | | | | | | | | | | | | | | |
- 19.#7 r9 Kill Keep r9 | | | | | | | | | | | | | | |
- 19.#8 r10 Kill Keep r10 | | | | | | | | | | | | | | |
- 19.#9 r11 Kill Keep r11 | | | | | | | | | | | | | | |
- 19.#10 mm0 Kill Keep mm0 | | | | | | | | | | | | | | |
- 19.#11 mm1 Kill Keep mm1 | | | | | | | | | | | | | | |
- 19.#12 mm2 Kill Keep mm2 | | | | | | | | | | | | | | |
- 19.#13 mm3 Kill Keep mm3 | | | | | | | | | | | | | | |
- 19.#14 mm4 Kill Keep mm4 | | | | | | | | | | | | | | |
- 19.#15 mm5 Kill Keep mm5 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 20.#16 BB4 PredBB2 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 22.#17 BB5 PredBB4 | | | | | | | | | | | | | | |
- 33.#18 I0 Def Alloc mm0 | | | | | | | | | |I0 a| | | | |
- 34.#19 I0 Use * Keep mm0 | | | | | | | | | |I0 a| | | | |
- 39.#20 I1 Def Alloc mm0 | | | | | | | | | |I1 a| | | | |
- 40.#21 I1 Use * Keep mm0 | | | | | | | | | |I1 a| | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 46.#22 BB6 PredBB5 | | | | | | | | | | | | | | |
- 51.#23 I2 Def Alloc rax |I2 a| | | | | | | | | | | | | |
- 53.#24 I3 Def Alloc mm0 |I2 a| | | | | | | | |I3 a| | | | |
- 54.#25 I2 Use * Keep rax |I2 a| | | | | | | | |I3 a| | | | |
- 54.#26 I3 Use * Keep mm0 |I2 a| | | | | | | | |I3 a| | | | |
- 57.#27 I4 Def Alloc rax |I4 a| | | | | | | | | | | | | |
- 58.#28 rax Fixd Keep rax |I4 a| | | | | | | | | | | | | |
- 58.#29 I4 Use * Keep rax | | | | | | | | | | | | | | |
- ------------
- REFPOSITIONS AFTER ALLOCATION:
- ------------
- <RefPosition #0 @0 RefTypeBB BB01 regmask=[] minReg=1>
- <RefPosition #1 @4 RefTypeBB BB02 regmask=[] minReg=1>
- <RefPosition #2 @16 RefTypeBB BB03 regmask=[] minReg=1>
- <RefPosition #3 @19 RefTypeKill <Reg:rax> BB03 regmask=[rax] minReg=1 last>
- <RefPosition #4 @19 RefTypeKill <Reg:rcx> BB03 regmask=[rcx] minReg=1 last>
- <RefPosition #5 @19 RefTypeKill <Reg:rdx> BB03 regmask=[rdx] minReg=1 last>
- <RefPosition #6 @19 RefTypeKill <Reg:r8 > BB03 regmask=[r8] minReg=1 last>
- <RefPosition #7 @19 RefTypeKill <Reg:r9 > BB03 regmask=[r9] minReg=1 last>
- <RefPosition #8 @19 RefTypeKill <Reg:r10> BB03 regmask=[r10] minReg=1 last>
- <RefPosition #9 @19 RefTypeKill <Reg:r11> BB03 regmask=[r11] minReg=1 last>
- <RefPosition #10 @19 RefTypeKill <Reg:mm0> BB03 regmask=[mm0] minReg=1 last>
- <RefPosition #11 @19 RefTypeKill <Reg:mm1> BB03 regmask=[mm1] minReg=1 last>
- <RefPosition #12 @19 RefTypeKill <Reg:mm2> BB03 regmask=[mm2] minReg=1 last>
- <RefPosition #13 @19 RefTypeKill <Reg:mm3> BB03 regmask=[mm3] minReg=1 last>
- <RefPosition #14 @19 RefTypeKill <Reg:mm4> BB03 regmask=[mm4] minReg=1 last>
- <RefPosition #15 @19 RefTypeKill <Reg:mm5> BB03 regmask=[mm5] minReg=1 last>
- <RefPosition #16 @20 RefTypeBB BB04 regmask=[] minReg=1>
- <RefPosition #17 @22 RefTypeBB BB05 regmask=[] minReg=1>
- <RefPosition #18 @33 RefTypeDef <Ivl:0> SIMD BB05 regmask=[mm0] minReg=1>
- <RefPosition #19 @34 RefTypeUse <Ivl:0> BB05 regmask=[mm0] minReg=1 last>
- <RefPosition #20 @39 RefTypeDef <Ivl:1> LCL_VAR BB05 regmask=[mm0] minReg=1>
- <RefPosition #21 @40 RefTypeUse <Ivl:1> BB05 regmask=[mm0] minReg=1 last>
- <RefPosition #22 @46 RefTypeBB BB06 regmask=[] minReg=1>
- <RefPosition #23 @51 RefTypeDef <Ivl:2> LCL_VAR BB06 regmask=[rax] minReg=1>
- <RefPosition #24 @53 RefTypeDef <Ivl:3> LCL_VAR BB06 regmask=[mm0] minReg=1>
- <RefPosition #25 @54 RefTypeUse <Ivl:2> BB06 regmask=[rax] minReg=1 last>
- <RefPosition #26 @54 RefTypeUse <Ivl:3> BB06 regmask=[mm0] minReg=1 last>
- <RefPosition #27 @57 RefTypeDef <Ivl:4> LCL_VAR BB06 regmask=[rax] minReg=1>
- <RefPosition #28 @58 RefTypeFixedReg <Reg:rax> BB06 regmask=[rax] minReg=1>
- <RefPosition #29 @58 RefTypeUse <Ivl:4> BB06 regmask=[rax] minReg=1 last fixed>
- Active intervals at end of allocation:
- Trees after linear scan register allocator (LSRA)
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target LIR
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0005] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i LIR
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- ------------ BB01 [???..???), preds={} succs={BB02}
- N002 ( 0, 0) [000000] ------------ NOP void REG NA
- ------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- N006 ( 3, 10) [000017] -c---------- t17 = CNS_INT(h) long 0x7fff50fbeaf0 token REG NA
- /--* t17 long
- N008 ( 5, 12) [000018] nc---------- t18 = * IND int REG NA
- N010 ( 1, 1) [000019] -c---------- t19 = CNS_INT int 0 REG NA
- /--* t18 int
- +--* t19 int
- N012 ( 7, 14) [000020] J------N---- * EQ void REG NA
- N014 ( 9, 16) [000026] ------------ * JTRUE void REG NA
- ------------ BB03 [???..???), preds={BB02} succs={BB04}
- N018 ( 14, 5) [000021] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE REG NA
- ------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
- ------------ BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06}
- N024 (???,???) [000027] ------------ IL_OFFSET void IL offset: 0x0 REG NA
- N026 ( 1, 1) [000001] ------------ NO_OP void REG NA
- N028 (???,???) [000028] ------------ IL_OFFSET void IL offset: 0x1 REG NA
- N030 ( 1, 1) [000004] -c---------- t4 = CNS_INT int 0 REG NA
- /--* t4 int
- N032 ( 2, 2) [000025] ------------ t25 = * SIMD simd16 double init REG mm0
- /--* t25 simd16
- N034 ( 6, 5) [000005] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0 NA REG NA
- N036 (???,???) [000029] ------------ IL_OFFSET void IL offset: 0x9 REG NA
- N038 ( 3, 2) [000006] ------------ t6 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0 mm0 REG mm0
- /--* t6 simd16
- N040 ( 7, 5) [000009] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1 NA REG NA
- N042 (???,???) [000030] ------------ IL_OFFSET void IL offset: 0xb REG NA
- N044 ( 0, 0) [000010] ------------ NOP void REG NA
- ------------ BB06 [00D..00F) (return), preds={BB05} succs={}
- N048 (???,???) [000031] ------------ IL_OFFSET void IL offset: 0xd REG NA
- N050 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V00 RetBuf rax REG rax
- N052 ( 3, 2) [000011] ------------ t11 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1 mm0 REG mm0
- /--* t12 byref
- +--* t11 simd16
- N054 (???,???) [000032] -A-XG------- * STOREIND simd16 REG NA
- N056 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V00 RetBuf rax REG rax
- /--* t15 byref
- N058 ( 4, 3) [000016] ------------ * RETURN byref REG NA
- -------------------------------------------------------------------------------------------------------------------
- Final allocation
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 0.#0 BB1 PredBB0 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 4.#1 BB2 PredBB1 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 16.#2 BB3 PredBB2 | | | | | | | | | | | | | | |
- 19.#3 rax Kill Keep rax | | | | | | | | | | | | | | |
- 19.#4 rcx Kill Keep rcx | | | | | | | | | | | | | | |
- 19.#5 rdx Kill Keep rdx | | | | | | | | | | | | | | |
- 19.#6 r8 Kill Keep r8 | | | | | | | | | | | | | | |
- 19.#7 r9 Kill Keep r9 | | | | | | | | | | | | | | |
- 19.#8 r10 Kill Keep r10 | | | | | | | | | | | | | | |
- 19.#9 r11 Kill Keep r11 | | | | | | | | | | | | | | |
- 19.#10 mm0 Kill Keep mm0 | | | | | | | | | | | | | | |
- 19.#11 mm1 Kill Keep mm1 | | | | | | | | | | | | | | |
- 19.#12 mm2 Kill Keep mm2 | | | | | | | | | | | | | | |
- 19.#13 mm3 Kill Keep mm3 | | | | | | | | | | | | | | |
- 19.#14 mm4 Kill Keep mm4 | | | | | | | | | | | | | | |
- 19.#15 mm5 Kill Keep mm5 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 20.#16 BB4 PredBB2 | | | | | | | | | | | | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 22.#17 BB5 PredBB4 | | | | | | | | | | | | | | |
- 33.#18 I0 Def Alloc mm0 | | | | | | | | | |I0 a| | | | |
- 34.#19 I0 Use * Keep mm0 | | | | | | | | | |I0 i| | | | |
- 39.#20 I1 Def Alloc mm0 | | | | | | | | | |I1 a| | | | |
- 40.#21 I1 Use * Keep mm0 | | | | | | | | | |I1 i| | | | |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- LocRP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |mm0 |mm1 |mm2 |mm6 |mm7 |
- ------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
- 46.#22 BB6 PredBB5 | | | | | | | | | | | | | | |
- 51.#23 I2 Def Alloc rax |I2 a| | | | | | | | | | | | | |
- 53.#24 I3 Def Alloc mm0 |I2 a| | | | | | | | |I3 a| | | | |
- 54.#25 I2 Use * Keep rax |I2 i| | | | | | | | |I3 a| | | | |
- 54.#26 I3 Use * Keep mm0 | | | | | | | | | |I3 i| | | | |
- 57.#27 I4 Def Alloc rax |I4 a| | | | | | | | | | | | | |
- 58.#28 rax Fixd Keep rax |I4 a| | | | | | | | | | | | | |
- 58.#29 I4 Use * Keep rax |I4 i| | | | | | | | | | | | | |
- Recording the maximum number of concurrent spills:
- ----------
- LSRA Stats
- ----------
- Total Tracked Vars: 0
- Total Reg Cand Vars: 0
- Total number of Intervals: 4
- Total number of RefPositions: 29
- 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:
- BB01 [???..???), preds={} succs={BB02}
- =====
- N002. NOP
- BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
- =====
- N006. CNS_INT(h) 0x7fff50fbeaf0 token
- N008. IND
- N010. CNS_INT 0
- N012. EQ
- N014. JTRUE
- BB03 [???..???), preds={BB02} succs={BB04}
- =====
- N018. CALL help
- BB04 [???..???), preds={BB02,BB03} succs={BB05}
- =====
- BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06}
- =====
- N024. IL_OFFSET IL offset: 0x0
- N026. NO_OP
- N028. IL_OFFSET IL offset: 0x1
- N030. CNS_INT 0
- N032. mm0 = SIMD
- N034. V01 MEM; mm0
- N036. IL_OFFSET IL offset: 0x9
- N038. mm0 = V01 MEM
- N040. V02 MEM; mm0
- N042. IL_OFFSET IL offset: 0xb
- N044. NOP
- BB06 [00D..00F) (return), preds={BB05} succs={}
- =====
- N048. IL_OFFSET IL offset: 0xd
- N050. rax = V00 MEM
- N052. mm0 = V02 MEM
- N054. STOREIND ; rax,mm0
- N056. rax = V00 MEM
- N058. RETURN ; rax
- *************** In genGenerateCode()
- -----------------------------------------------------------------------------------------------------------------------------------------
- BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
- -----------------------------------------------------------------------------------------------------------------------------------------
- BB01 [0000] 1 1 [???..???) i internal label target LIR
- BB02 [0004] 1 BB01 1 [???..???)-> BB04 ( cond ) internal LIR
- BB03 [0005] 1 BB02 0.50 [???..???) internal LIR
- BB04 [0003] 2 BB02,BB03 1 [???..???) i internal label target LIR
- BB05 [0001] 1 BB04 1 [000..00D)-> BB06 (always) i LIR
- BB06 [0002] 1 BB05 1 [00D..00F) (return) i label target LIR
- -----------------------------------------------------------------------------------------------------------------------------------------
- *************** In fgDebugCheckBBlist
- Finalizing stack frame
- Modified regs: [rax rcx rdx r8-r11 mm0-mm5]
- Callee-saved registers pushed: 0 []
- *************** In lvaAssignFrameOffsets(FINAL_FRAME_LAYOUT)
- Pad V01 loc0, size=16, stkOffs=-0x10, pad=0
- Assign V01 loc0, size=16, stkOffs=-0x20
- Pad V02 loc1, size=16, stkOffs=-0x20, pad=0
- Assign V02 loc1, size=16, stkOffs=-0x30
- Assign V03 OutArgs, size=32, stkOffs=-0x50
- ; Final local variable assignments
- ;
- ; V00 RetBuf [V00 ] ( 1, 1 ) byref -> [rbp+0x10]
- ; V01 loc0 [V01 ] ( 1, 1 ) simd16 -> [rbp-0x10] must-init ld-addr-op
- ; V02 loc1 [V02 ] ( 1, 1 ) simd16 -> [rbp-0x20] must-init
- ; V03 OutArgs [V03 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace"
- ;
- ; Lcl frame size = 64
- Setting stack level from -572662307 to 0
- =============== Generating BB01 [???..???), preds={} succs={BB02} flags=0x00000004.40030060: i internal label target LIR
- BB01 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- Liveness not changing: 0000000000000000 {}
- Live regs: (unchanged) 00000000 {}
- GC regs: (unchanged) 00000000 {}
- Byref regs: (unchanged) 00000000 {}
- L_M60652_BB01:
- Label: IG02, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
- Scope info: begin block BB01, IL range [???..???)
- Scope info: ignoring block beginning
- Generating: N002 ( 0, 0) [000000] ------------ NOP void REG NA
- Scope info: end block BB01, IL range [???..???)
- Scope info: ignoring block end
- =============== Generating BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04} flags=0x00000000.40000040: internal LIR
- BB02 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- Liveness not changing: 0000000000000000 {}
- Live regs: (unchanged) 00000000 {}
- GC regs: (unchanged) 00000000 {}
- Byref regs: (unchanged) 00000000 {}
- L_M60652_BB02:
- Scope info: begin block BB02, IL range [???..???)
- Scope info: ignoring block beginning
- Added IP mapping: NO_MAP STACK_EMPTY (G_M60652_IG02,ins#0,ofs#0) label
- Generating: N006 ( 3, 10) [000017] -c---------- t17 = CNS_INT(h) long 0x7fff50fbeaf0 token REG NA
- /--* t17 long
- Generating: N008 ( 5, 12) [000018] nc---------- t18 = * IND int REG NA
- Generating: N010 ( 1, 1) [000019] -c---------- t19 = CNS_INT int 0 REG NA
- /--* t18 int
- +--* t19 int
- Generating: N012 ( 7, 14) [000020] J------N---- * EQ void REG NA
- IN0001: cmp dword ptr [(reloc 0x7fff50fbeaf0)], 0
- Generating: N014 ( 9, 16) [000026] ------------ * JTRUE void REG NA
- IN0002: je L_M60652_BB04
- Scope info: end block BB02, IL range [???..???)
- Scope info: ignoring block end
- =============== Generating BB03 [???..???), preds={BB02} succs={BB04} flags=0x00000000.40000040: internal LIR
- BB03 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- Liveness not changing: 0000000000000000 {}
- Live regs: (unchanged) 00000000 {}
- GC regs: (unchanged) 00000000 {}
- Byref regs: (unchanged) 00000000 {}
- L_M60652_BB03:
- G_M60652_IG02: ; offs=000000H, funclet=00, bbWeight=1
- Label: IG03, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
- Scope info: begin block BB03, IL range [???..???)
- Scope info: ignoring block beginning
- genIPmappingAdd: ignoring duplicate IL offset 0xffffffff
- Generating: N018 ( 14, 5) [000021] --C-G-?----- CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE REG NA
- Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
- IN0003: call CORINFO_HELP_DBG_IS_JUST_MY_CODE
- Scope info: end block BB03, IL range [???..???)
- Scope info: ignoring block end
- =============== Generating BB04 [???..???), preds={BB02,BB03} succs={BB05} flags=0x00000000.40030060: i internal label target LIR
- BB04 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- Liveness not changing: 0000000000000000 {}
- Live regs: (unchanged) 00000000 {}
- GC regs: (unchanged) 00000000 {}
- Byref regs: (unchanged) 00000000 {}
- L_M60652_BB04:
- G_M60652_IG03: ; offs=00000DH, funclet=00, bbWeight=0.50
- Label: IG04, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
- Scope info: begin block BB04, IL range [???..???)
- Scope info: ignoring block beginning
- genIPmappingAdd: ignoring duplicate IL offset 0xffffffff
- Scope info: end block BB04, IL range [???..???)
- Scope info: ignoring block end
- =============== Generating BB05 [000..00D) -> BB06 (always), preds={BB04} succs={BB06} flags=0x00000000.40000020: i LIR
- BB05 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- Liveness not changing: 0000000000000000 {}
- Live regs: (unchanged) 00000000 {}
- GC regs: (unchanged) 00000000 {}
- Byref regs: (unchanged) 00000000 {}
- L_M60652_BB05:
- Scope info: begin block BB05, IL range [000..00D)
- Scope info: opening scope, LVnum=1 [000..00F)
- Scope info: >> new scope, VarNum=1, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
- Scope info: opening scope, LVnum=2 [000..00F)
- Scope info: >> new scope, VarNum=2, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
- Scope info: opening scope, LVnum=0 [000..00F)
- Scope info: >> new scope, VarNum=0, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
- Scope info: open scopes =
- 1 (V01 loc0) [000..00F)
- 2 (V02 loc1) [000..00F)
- 0 (V00 RetBuf) [000..00F)
- Added IP mapping: 0x0000 STACK_EMPTY (G_M60652_IG04,ins#0,ofs#0) label
- Generating: N024 (???,???) [000027] ------------ IL_OFFSET void IL offset: 0x0 REG NA
- Generating: N026 ( 1, 1) [000001] ------------ NO_OP void REG NA
- IN0004: nop
- Added IP mapping: 0x0001 STACK_EMPTY (G_M60652_IG04,ins#1,ofs#1)
- Generating: N028 (???,???) [000028] ------------ IL_OFFSET void IL offset: 0x1 REG NA
- Generating: N030 ( 1, 1) [000004] -c---------- t4 = CNS_INT int 0 REG NA
- /--* t4 int
- Generating: N032 ( 2, 2) [000025] ------------ t25 = * SIMD simd16 double init REG mm0
- IN0005: vxorps xmm0, xmm0
- /--* t25 simd16
- Generating: N034 ( 6, 5) [000005] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0 NA REG NA
- IN0006: vmovapd xmmword ptr [V01 rbp-10H], xmm0
- Added IP mapping: 0x0009 STACK_EMPTY (G_M60652_IG04,ins#3,ofs#12)
- Generating: N036 (???,???) [000029] ------------ IL_OFFSET void IL offset: 0x9 REG NA
- Generating: N038 ( 3, 2) [000006] ------------ t6 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V01 loc0 mm0 REG mm0
- IN0007: vmovapd xmm0, xmmword ptr [V01 rbp-10H]
- /--* t6 simd16
- Generating: N040 ( 7, 5) [000009] DA---------- * STORE_LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1 NA REG NA
- IN0008: vmovapd xmmword ptr [V02 rbp-20H], xmm0
- Added IP mapping: 0x000B STACK_EMPTY (G_M60652_IG04,ins#5,ofs#24)
- Generating: N042 (???,???) [000030] ------------ IL_OFFSET void IL offset: 0xb REG NA
- Generating: N044 ( 0, 0) [000010] ------------ NOP void REG NA
- IN0009: nop
- Scope info: end block BB05, IL range [000..00D)
- Scope info: open scopes =
- 1 (V01 loc0) [000..00F)
- 2 (V02 loc1) [000..00F)
- 0 (V00 RetBuf) [000..00F)
- IN000a: jmp L_M60652_BB06
- =============== Generating BB06 [00D..00F) (return), preds={BB05} succs={} flags=0x00000000.40030020: i label target LIR
- BB06 IN (0)={} + ByrefExposed + GcHeap
- OUT(0)={} + ByrefExposed + GcHeap
- Liveness not changing: 0000000000000000 {}
- Live regs: (unchanged) 00000000 {}
- GC regs: (unchanged) 00000000 {}
- Byref regs: (unchanged) 00000000 {}
- L_M60652_BB06:
- G_M60652_IG04: ; offs=000012H, funclet=00, bbWeight=1
- Label: IG05, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
- Scope info: begin block BB06, IL range [00D..00F)
- Scope info: open scopes =
- 1 (V01 loc0) [000..00F)
- 2 (V02 loc1) [000..00F)
- 0 (V00 RetBuf) [000..00F)
- Added IP mapping: 0x000D STACK_EMPTY (G_M60652_IG05,ins#0,ofs#0) label
- Generating: N048 (???,???) [000031] ------------ IL_OFFSET void IL offset: 0xd REG NA
- Generating: N050 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V00 RetBuf rax REG rax
- IN000b: mov rax, bword ptr [V00 rbp+10H]
- Byref regs: 00000000 {} => 00000001 {rax}
- Generating: N052 ( 3, 2) [000011] ------------ t11 = LCL_VAR simd16<System.Runtime.Intrinsics.Vector128`1[Double]> V02 loc1 mm0 REG mm0
- IN000c: vmovapd xmm0, xmmword ptr [V02 rbp-20H]
- /--* t12 byref
- +--* t11 simd16
- Generating: N054 (???,???) [000032] -A-XG------- * STOREIND simd16 REG NA
- Byref regs: 00000001 {rax} => 00000000 {}
- IN000d: vmovupd xmmword ptr [rax], xmm0
- Generating: N056 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V00 RetBuf rax REG rax
- IN000e: mov rax, bword ptr [V00 rbp+10H]
- Byref regs: 00000000 {} => 00000001 {rax}
- /--* t15 byref
- Generating: N058 ( 4, 3) [000016] ------------ * RETURN byref REG NA
- Byref regs: 00000001 {rax} => 00000000 {}
- Scope info: end block BB06, IL range [00D..00F)
- Scope info: ending scope, LVnum=1 [000..00F)
- Scope info: ending scope, LVnum=2 [000..00F)
- Scope info: ending scope, LVnum=0 [000..00F)
- Scope info: open scopes =
- <none>
- Added IP mapping: EPILOG STACK_EMPTY (G_M60652_IG05,ins#4,ofs#19) label
- Reserving epilog IG for block BB06
- G_M60652_IG05: ; offs=000030H, funclet=00, bbWeight=1
- *************** After placeholder IG creation
- G_M60652_IG01: ; func=00, offs=000000H, size=0000H, gcrefRegs=00000000 {} <-- Prolog IG
- G_M60652_IG02: ; offs=000000H, size=000DH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M60652_IG03: ; offs=00000DH, size=0005H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M60652_IG04: ; offs=000012H, size=001EH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M60652_IG05: ; offs=000030H, size=0013H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M60652_IG06: ; epilog placeholder, next placeholder=<END>, BB06 [0002], epilog, extend <-- First placeholder <-- Last placeholder
- ; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
- ; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
- Liveness not changing: 0000000000000000 {}
- # compCycleEstimate = 51, compSizeEstimate = 42 CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]
- ; Final local variable assignments
- ;
- ; V00 RetBuf [V00 ] ( 1, 1 ) byref -> [rbp+0x10]
- ; V01 loc0 [V01 ] ( 1, 1 ) simd16 -> [rbp-0x10] must-init ld-addr-op
- ; V02 loc1 [V02 ] ( 1, 1 ) simd16 -> [rbp-0x20] must-init
- ; V03 OutArgs [V03 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace"
- ;
- ; Lcl frame size = 64
- *************** Before prolog / epilog generation
- G_M60652_IG01: ; func=00, offs=000000H, size=0000H, gcrefRegs=00000000 {} <-- Prolog IG
- G_M60652_IG02: ; offs=000000H, size=000DH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M60652_IG03: ; offs=00000DH, size=0005H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M60652_IG04: ; offs=000012H, size=001EH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M60652_IG05: ; offs=000030H, size=0013H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M60652_IG06: ; epilog placeholder, next placeholder=<END>, BB06 [0002], epilog, extend <-- First placeholder <-- Last placeholder
- ; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
- ; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
- *************** In genFnProlog()
- Added IP mapping to front: PROLOG STACK_EMPTY (G_M60652_IG01,ins#0,ofs#0) label
- __prolog:
- Found 8 lvMustInit int-sized stack slots, frame offsets 32 through 0
- IN000f: push rbp
- IN0010: sub rsp, 64
- IN0011: vzeroupper
- IN0012: lea rbp, [rsp+40H]
- IN0013: xor rax, rax
- IN0014: mov qword ptr [V01 rbp-10H], rax
- IN0015: mov qword ptr [V01+0x8 rbp-08H], rax
- IN0016: mov qword ptr [V02 rbp-20H], rax
- IN0017: mov qword ptr [V02+0x8 rbp-18H], rax
- *************** In genFnPrologCalleeRegArgs() for int regs
- IN0018: mov bword ptr [V00 rbp+10H], rcx
- *************** In genEnregisterIncomingStackArgs()
- G_M60652_IG01: ; offs=000000H, funclet=00, bbWeight=1
- *************** In genFnEpilog()
- __epilog:
- gcVarPtrSetCur=0000000000000000 {}, gcRegGCrefSetCur=00000000 {}, gcRegByrefSetCur=00000000 {}
- IN0019: lea rsp, [rbp]
- IN001a: pop rbp
- IN001b: ret
- G_M60652_IG06: ; offs=000043H, funclet=00, bbWeight=1
- 0 prologs, 1 epilogs, 0 funclet prologs, 0 funclet epilogs
- *************** After prolog / epilog generation
- G_M60652_IG01: ; func=00, offs=000000H, size=0023H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
- G_M60652_IG02: ; offs=000023H, size=000DH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M60652_IG03: ; offs=000030H, size=0005H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M60652_IG04: ; offs=000035H, size=001EH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M60652_IG05: ; offs=000053H, size=0013H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- G_M60652_IG06: ; offs=000066H, size=0006H, epilog, nogc, extend
- *************** In emitJumpDistBind()
- Binding: IN0002: 000000 je L_M60652_BB04
- Binding L_M60652_BB04to G_M60652_IG04
- Estimate of fwd jump [9AC8DB84/002]: 002A -> 0035 = 0009
- Shrinking jump [9AC8DB84/002]
- Adjusted offset of BB03 from 0030 to 002C
- Adjusted offset of BB04 from 0035 to 0031
- Binding: IN000a: 000000 jmp L_M60652_BB06
- Binding L_M60652_BB06to G_M60652_IG05
- Estimate of fwd jump [9AC8E094/010]: 004A -> 004F = 0003
- Shrinking jump [9AC8E094/010]
- Adjusted offset of BB05 from 0053 to 004C
- Adjusted offset of BB06 from 0066 to 005F
- Total shrinkage = 7, min extra jump size = 4294967295
- Hot code size = 0x65 bytes
- Cold code size = 0x0 bytes
- reserveUnwindInfo(isFunclet=FALSE, isColdCode=FALSE, unwindSize=0x8)
- *************** In emitEndCodeGen()
- Converting emitMaxStackDepth from bytes (0) to elements (0)
- ***************************************************************************
- Instructions as they come out of the scheduler
- G_M60652_IG01: ; func=00, offs=000000H, size=0023H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
- IN000f: 000000 55 push rbp
- IN0010: 000001 4883EC40 sub rsp, 64
- IN0011: 000005 C5F877 vzeroupper
- IN0012: 000008 488D6C2440 lea rbp, [rsp+40H]
- IN0013: 00000D 33C0 xor rax, rax
- IN0014: 00000F 488945F0 mov qword ptr [rbp-10H], rax
- IN0015: 000013 488945F8 mov qword ptr [rbp-08H], rax
- IN0016: 000017 488945E0 mov qword ptr [rbp-20H], rax
- IN0017: 00001B 488945E8 mov qword ptr [rbp-18H], rax
- IN0018: 00001F 48894D10 mov bword ptr [rbp+10H], rcx
- ;; bbWeight=1 PerfScore 8.00
- G_M60652_IG02: ; func=00, offs=000023H, size=0009H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- IN0001: 000023 833D466D1F0000 cmp dword ptr [(reloc 0x7fff50fbeaf0)], 0
- IN0002: 00002A 7405 je SHORT G_M60652_IG04
- ;; bbWeight=1 PerfScore 3.00
- G_M60652_IG03: ; func=00, offs=00002CH, size=0005H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- [9AC8E7A0] ptr arg pop 0
- IN0003: 00002C E88FB2A15E call CORINFO_HELP_DBG_IS_JUST_MY_CODE
- ;; bbWeight=0.50 PerfScore 0.50
- G_M60652_IG04: ; func=00, offs=000031H, size=001BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- IN0004: 000031 90 nop
- IN0005: 000032 C5F857C0 vxorps xmm0, xmm0 (ECS:5, ACS:4)
- Instruction predicted size = 5, actual = 4
- IN0006: 000036 C5F92945F0 vmovapd xmmword ptr [rbp-10H], xmm0 (ECS:6, ACS:5)
- Instruction predicted size = 6, actual = 5
- IN0007: 00003B C5F92845F0 vmovapd xmm0, xmmword ptr [rbp-10H] (ECS:6, ACS:5)
- Instruction predicted size = 6, actual = 5
- IN0008: 000040 C5F92945E0 vmovapd xmmword ptr [rbp-20H], xmm0 (ECS:6, ACS:5)
- Instruction predicted size = 6, actual = 5
- IN0009: 000045 90 nop
- IN000a: 000046 EB04 jmp SHORT G_M60652_IG05
- ;; bbWeight=1 PerfScore 9.83
- G_M60652_IG05: ; func=00, offs=00004CH, size=0013H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- Block predicted offs = 0000004C, actual = 00000048 -> size adj = 4
- byrReg +[rax]
- IN000b: 000048 488B4510 mov rax, bword ptr [rbp+10H]
- IN000c: 00004C C5F92845E0 vmovapd xmm0, xmmword ptr [rbp-20H] (ECS:6, ACS:5)
- Instruction predicted size = 6, actual = 5
- IN000d: 000051 C5F91100 vmovupd xmmword ptr [rax], xmm0 (ECS:5, ACS:4)
- Instruction predicted size = 5, actual = 4
- IN000e: 000055 488B4510 mov rax, bword ptr [rbp+10H]
- ;; bbWeight=1 PerfScore 8.00
- G_M60652_IG06: ; func=00, offs=00005FH, size=0006H, epilog, nogc, extend
- Block predicted offs = 0000005F, actual = 00000059 -> size adj = 6
- IN0019: 000059 488D6500 lea rsp, [rbp]
- IN001a: 00005D 5D pop rbp
- IN001b: 00005E C3 ret
- ;; bbWeight=1 PerfScore 2.00New byrReg live regs=00000000 {}
- byrReg -[rax]
- Allocated method code size = 101 , actual size = 95
- ; Total bytes of code 95, prolog size 35, PerfScore 41.43, (MethodHash=f5b01313) for method CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]
- ; ============================================================
- *************** After end code gen, before unwindEmit()
- G_M60652_IG01: ; func=00, offs=000000H, size=0023H, bbWeight=1 PerfScore 8.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
- IN000f: 000000 push rbp
- IN0010: 000001 sub rsp, 64
- IN0011: 000005 vzeroupper
- IN0012: 000008 lea rbp, [rsp+40H]
- IN0013: 00000D xor rax, rax
- IN0014: 00000F mov qword ptr [V01 rbp-10H], rax
- IN0015: 000013 mov qword ptr [V01+0x8 rbp-08H], rax
- IN0016: 000017 mov qword ptr [V02 rbp-20H], rax
- IN0017: 00001B mov qword ptr [V02+0x8 rbp-18H], rax
- IN0018: 00001F mov bword ptr [V00 rbp+10H], rcx
- G_M60652_IG02: ; offs=000023H, size=0009H, bbWeight=1 PerfScore 3.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- IN0001: 000023 cmp dword ptr [(reloc 0x7fff50fbeaf0)], 0
- IN0002: 00002A je SHORT G_M60652_IG04
- G_M60652_IG03: ; offs=00002CH, size=0005H, bbWeight=0.50 PerfScore 0.50, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- IN0003: 00002C call CORINFO_HELP_DBG_IS_JUST_MY_CODE
- G_M60652_IG04: ; offs=000031H, size=0017H, bbWeight=1 PerfScore 9.83, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- IN0004: 000031 nop
- IN0005: 000032 vxorps xmm0, xmm0
- IN0006: 000036 vmovapd xmmword ptr [V01 rbp-10H], xmm0
- IN0007: 00003B vmovapd xmm0, xmmword ptr [V01 rbp-10H]
- IN0008: 000040 vmovapd xmmword ptr [V02 rbp-20H], xmm0
- IN0009: 000045 nop
- IN000a: 000046 jmp SHORT G_M60652_IG05
- G_M60652_IG05: ; offs=000048H, size=0011H, bbWeight=1 PerfScore 8.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- IN000b: 000048 mov rax, bword ptr [V00 rbp+10H]
- IN000c: 00004C vmovapd xmm0, xmmword ptr [V02 rbp-20H]
- IN000d: 000051 vmovupd xmmword ptr [rax], xmm0
- IN000e: 000055 mov rax, bword ptr [V00 rbp+10H]
- G_M60652_IG06: ; offs=000059H, size=0006H, bbWeight=1 PerfScore 2.00, epilog, nogc, extend
- IN0019: 000059 lea rsp, [rbp]
- IN001a: 00005D pop rbp
- IN001b: 00005E ret
- Unwind Info:
- >> Start offset : 0x000000 (not in unwind data)
- >> End offset : 0x00005f (not in unwind data)
- Version : 1
- Flags : 0x00
- SizeOfProlog : 0x05
- CountOfUnwindCodes: 2
- FrameRegister : none (0)
- FrameOffset : N/A (no FrameRegister) (Value=0)
- UnwindCodes :
- CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 7 * 8 + 8 = 64 = 0x40
- CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
- allocUnwindInfo(pHotCode=0x00007FFF50DC7D80, pColdCode=0x0000000000000000, startOffset=0x0, endOffset=0x5f, unwindSize=0x8, pUnwindBlock=0x000002279AC8B040, funKind=0 (main function))
- *************** In genIPmappingGen()
- IP mapping count : 8
- IL offs PROLOG : 0x00000000 ( STACK_EMPTY )
- IL offs NO_MAP : 0x00000023 ( STACK_EMPTY )
- IL offs 0x0000 : 0x00000031 ( STACK_EMPTY )
- IL offs 0x0001 : 0x00000032 ( STACK_EMPTY )
- IL offs 0x0009 : 0x0000003B ( STACK_EMPTY )
- IL offs 0x000B : 0x00000045 ( STACK_EMPTY )
- IL offs 0x000D : 0x00000048 ( STACK_EMPTY )
- IL offs EPILOG : 0x00000059 ( STACK_EMPTY )
- *************** In genSetScopeInfo()
- VarLocInfo count is 4
- *************** Variable debug info
- 4 live ranges
- -2( retBuff) : From 00000000h to 00000023h, in rcx
- 0( UNKNOWN) : From 00000031h to 00000059h, in rbp[-16] (1 slot)
- 1( UNKNOWN) : From 00000031h to 00000059h, in rbp[-32] (1 slot)
- -2( retBuff) : From 00000031h to 00000059h, in rbp[16] (1 slot)
- *************** In gcInfoBlockHdrSave()
- Set code length to 95.
- Set ReturnKind to Scalar.
- Set stack base register to rbp.
- Set Outgoing stack arg area size to 32.
- Stack slot id for offset 16 (0x10) (frame) (byref, untracked) = 0.
- Register slot id for reg rax (byref) = 1.
- Set state of slot 1 at instr offset 0x4c to Live.
- Set state of slot 1 at instr offset 0x5f to Dead.
- Defining interruptible range: [0x23, 0x59).
- Method code size: 95
- Allocations for CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double] (MethodHash=f5b01313)
- count: 326, size: 31385, max = 2640
- allocateMemory: 65536, nraUsed: 33832
- Alloc'd bytes by kind:
- kind | size | pct
- ---------------------+------------+--------
- AssertionProp | 0 | 0.00%
- ASTNode | 4400 | 14.02%
- InstDesc | 3908 | 12.45%
- ImpStack | 384 | 1.22%
- BasicBlock | 2224 | 7.09%
- fgArgInfo | 0 | 0.00%
- fgArgInfoPtrArr | 0 | 0.00%
- FlowList | 192 | 0.61%
- TreeStatementList | 0 | 0.00%
- SiScope | 264 | 0.84%
- DominatorMemory | 0 | 0.00%
- LSRA | 3260 | 10.39%
- LSRA_Interval | 440 | 1.40%
- LSRA_RefPosition | 1920 | 6.12%
- Reachability | 0 | 0.00%
- SSA | 0 | 0.00%
- ValueNumber | 0 | 0.00%
- LvaTable | 1920 | 6.12%
- UnwindInfo | 0 | 0.00%
- hashBv | 120 | 0.38%
- bitset | 56 | 0.18%
- FixedBitVect | 8 | 0.03%
- Generic | 1306 | 4.16%
- LocalAddressVisitor | 0 | 0.00%
- FieldSeqStore | 0 | 0.00%
- ZeroOffsetFieldMap | 40 | 0.13%
- ArrayInfoMap | 0 | 0.00%
- MemoryPhiArg | 0 | 0.00%
- CSE | 0 | 0.00%
- GC | 2416 | 7.70%
- CorSig | 0 | 0.00%
- Inlining | 120 | 0.38%
- ArrayStack | 0 | 0.00%
- DebugInfo | 376 | 1.20%
- DebugOnly | 6724 | 21.42%
- Codegen | 1128 | 3.59%
- LoopOpt | 0 | 0.00%
- LoopHoist | 0 | 0.00%
- Unknown | 107 | 0.34%
- RangeCheck | 0 | 0.00%
- CopyProp | 0 | 0.00%
- SideEffects | 0 | 0.00%
- ObjectAllocator | 0 | 0.00%
- VariableLiveRanges | 0 | 0.00%
- ClassLayout | 72 | 0.23%
- TailMergeThrows | 0 | 0.00%
- ****** DONE compiling CoreLab.Program:Callee():System.Runtime.Intrinsics.Vector128`1[Double]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement