Skip to content

Instantly share code, notes, and snippets.

@jakobbotsch
Created July 19, 2024 21:54
Show Gist options
  • Save jakobbotsch/dc38a954c2c6027f469ad1b8324831bf to your computer and use it in GitHub Desktop.
Save jakobbotsch/dc38a954c2c6027f469ad1b8324831bf to your computer and use it in GitHub Desktop.

Diffs are based on 2,484,722 contexts (1,009,726 MinOpts, 1,474,996 FullOpts).

MISSED contexts: base: 1,691 (0.07%), diff: 1,747 (0.07%)

Overall (-104,520 bytes)
Collection Base size (bytes) Diff size (bytes) PerfScore in Diffs
benchmarks.run.windows.arm64.checked.mch 11,067,588 -4,580 -1.15%
benchmarks.run_pgo.windows.arm64.checked.mch 49,077,212 -11,132 -0.11%
benchmarks.run_tiered.windows.arm64.checked.mch 15,223,420 -376 -0.55%
coreclr_tests.run.windows.arm64.checked.mch 495,153,996 -27,656 -0.16%
libraries.crossgen2.windows.arm64.checked.mch 67,820,424 -10,356 -1.21%
libraries.pmi.windows.arm64.checked.mch 78,737,668 -10,108 -0.74%
libraries_tests.run.windows.arm64.Release.mch 366,264,132 -21,416 -0.94%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 182,592,880 -16,216 -0.88%
realworld.run.windows.arm64.checked.mch 13,086,704 -1,436 -0.46%
smoke_tests.nativeaot.windows.arm64.checked.mch 3,976,468 -1,244 -0.26%
FullOpts (-104,520 bytes)
Collection Base size (bytes) Diff size (bytes) PerfScore in Diffs
benchmarks.run.windows.arm64.checked.mch 11,066,968 -4,580 -1.15%
benchmarks.run_pgo.windows.arm64.checked.mch 32,480,572 -11,132 -0.11%
benchmarks.run_tiered.windows.arm64.checked.mch 3,768,944 -376 -0.55%
coreclr_tests.run.windows.arm64.checked.mch 157,155,416 -27,656 -0.16%
libraries.crossgen2.windows.arm64.checked.mch 67,818,364 -10,356 -1.21%
libraries.pmi.windows.arm64.checked.mch 78,618,100 -10,108 -0.74%
libraries_tests.run.windows.arm64.Release.mch 144,623,168 -21,416 -0.94%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 169,154,500 -16,216 -0.88%
realworld.run.windows.arm64.checked.mch 12,721,420 -1,436 -0.46%
smoke_tests.nativeaot.windows.arm64.checked.mch 3,975,416 -1,244 -0.26%
Example diffs
benchmarks.run.windows.arm64.checked.mch
-16 (-13.33%) : 3021.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
@@ -8,23 +8,22 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T03] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.String>
-;  V01 loc0         [V01,T05] (  3,  2.25)     ref  ->   x0         class-hnd exact single-def <System.String>
-;* V02 loc1         [V02,T07] (  0,  0   )     int  ->  zero-ref   
+;  V01 loc0         [V01,T04] (  3,  2.25)     ref  ->   x0         class-hnd exact single-def <System.String>
+;* V02 loc1         [V02,T06] (  0,  0   )     int  ->  zero-ref   
 ;  V03 loc2         [V03,T02] (  3, 12   )  ushort  ->   x0        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 cse0         [V05,T04] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V06 cse1         [V06,T06] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
-;  V07 rat0         [V07,T00] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V05 cse0         [V05,T07] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V06 cse1         [V06,T05] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
+;  V07 rat0         [V07,T00] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V08 rat1         [V08,T01] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M35714_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M35714_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     w19, [x0, #0x08]
@@ -34,11 +33,10 @@ G_M35714_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M35714_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #12
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M35714_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldrh    w0, [x20, x21]
+            ldrh    w0, [x20]
             cbz     w0, G_M35714_IG05
             movz    x1, #0xD1FFAB1E      // code for System.Reflection.Emit.TypeNameBuilder:IsTypeNameReservedChar(ushort):ubyte
             movk    x1, #0xD1FFAB1E LSL #16
@@ -46,7 +44,7 @@ G_M35714_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, b
             ldr     x1, [x1]
             blr     x1
             cbnz    w0, G_M35714_IG07
-            add     x21, x21, #2
+            add     x20, x20, #2
             sub     w19, w19, #1
             cbnz    w19, G_M35714_IG04
 						;; size=44 bbWeight=4 PerfScore 50.00
@@ -55,22 +53,20 @@ G_M35714_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M35714_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M35714_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M35714_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 120, prolog size 16, PerfScore 63.75, instruction count 30, allocated bytes for code 120 (MethodHash=6c0a747d) for method System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
+; Total bytes of code 104, prolog size 12, PerfScore 60.62, instruction count 26, allocated bytes for code 104 (MethodHash=6c0a747d) for method System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -81,7 +77,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
+  Function Length   : 26 (0x0001a) Actual length = 104 (0x000068)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -92,9 +88,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-12 (-13.04%) : 19543.dasm - System.IO.Tests.Perf_Directory:CreateDirectory():this (FullOpts)
@@ -9,23 +9,22 @@
 ;
 ;  V00 this         [V00,T02] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.IO.Tests.Perf_Directory>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String[]>
-;  V02 loc1         [V02,T04] (  3,  2.25)     ref  ->   x0         class-hnd exact single-def <System.String[]>
-;* V03 loc2         [V03,T06] (  0,  0   )     int  ->  zero-ref   
+;  V02 loc1         [V02,T03] (  3,  2.25)     ref  ->   x0         class-hnd exact single-def <System.String[]>
+;* V03 loc2         [V03,T05] (  0,  0   )     int  ->  zero-ref   
 ;* V04 loc3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 cse0         [V06,T03] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V07 cse1         [V07,T05] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
-;  V08 rat0         [V08,T00] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V06 cse0         [V06,T06] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V07 cse1         [V07,T04] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
+;  V08 rat0         [V08,T00] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V09 rat1         [V09,T01] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M64687_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M64687_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x18]
@@ -36,11 +35,10 @@ G_M64687_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M64687_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #16
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M64687_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [x20, x21]
+            ldr     x0, [x20]
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.IO.Directory:CreateDirectory(System.String):System.IO.DirectoryInfo
             movk    x1, #0xD1FFAB1E LSL #16
@@ -48,19 +46,18 @@ G_M64687_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, b
             ldr     x1, [x1]
             blr     x1
             ; gcrRegs -[x0]
-            add     x21, x21, #8
+            add     x20, x20, #8
             sub     w19, w19, #1
             cbnz    w19, G_M64687_IG04
 						;; size=36 bbWeight=4 PerfScore 42.00
 G_M64687_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x20]
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=1 PerfScore 5.00
+						;; size=12 bbWeight=1 PerfScore 3.00
 
-; Total bytes of code 92, prolog size 16, PerfScore 58.25, instruction count 23, allocated bytes for code 92 (MethodHash=f1710350) for method System.IO.Tests.Perf_Directory:CreateDirectory():this (FullOpts)
+; Total bytes of code 80, prolog size 12, PerfScore 55.12, instruction count 20, allocated bytes for code 80 (MethodHash=f1710350) for method System.IO.Tests.Perf_Directory:CreateDirectory():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -71,7 +68,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 23 (0x00017) Actual length = 92 (0x00005c)
+  Function Length   : 20 (0x00014) Actual length = 80 (0x000050)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -79,9 +76,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-12 (-11.11%) : 16926.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
@@ -17,23 +17,22 @@
 ;* V06 tmp2         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V07 tmp3         [V07    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V08 tmp4         [V08,T03] (  4,  2.75)     ref  ->   x2         single-def "field V02.array (fldOffset=0x0)" P-INDEP
-;  V09 cse0         [V09,T05] (  2,  4.25)    long  ->  x22         hoist "CSE #03: aggressive"
-;  V10 cse1         [V10,T04] (  2,  4.25)   byref  ->  x21         hoist "CSE #02: aggressive"
-;  V11 cse2         [V11,T06] (  3,  1.25)     int  ->  x20         "CSE #04: aggressive"
-;  V12 rat0         [V12,T00] (  4, 12.25)    long  ->  x23         "Strength reduced derived IV"
+;  V09 cse0         [V09,T04] (  2,  4.25)    long  ->  x22         hoist "CSE #03: aggressive"
+;  V10 cse1         [V10,T06] (  2,  0.50)   byref  ->  x21         hoist "CSE #02: aggressive"
+;  V11 cse2         [V11,T05] (  3,  1.25)     int  ->  x20         "CSE #04: aggressive"
+;  V12 rat0         [V12,T00] (  4, 12.25)   byref  ->  x21         "Strength reduced derived IV"
 ;  V13 rat1         [V13,T01] (  4, 12.25)     int  ->  x20         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M38436_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-						;; size=24 bbWeight=1 PerfScore 5.00
+						;; size=20 bbWeight=1 PerfScore 4.00
 G_M38436_IG02:        ; bbWeight=1, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             cbz     x2, G_M38436_IG06
@@ -49,32 +48,30 @@ G_M38436_IG04:        ; bbWeight=0.25, gcrefRegs=80004 {x2 x19}, byrefRegs=0000
             ldr     xzr, [x19]
             ldr     x1, [x19]
             ldr     x22, [x1, #0x48]
-            mov     x23, xzr
-						;; size=20 bbWeight=0.25 PerfScore 2.50
+						;; size=16 bbWeight=0.25 PerfScore 2.38
 G_M38436_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
             ; gcrRegs -[x2]
-            ldr     x1, [x21, x23]
+            ldr     x1, [x21]
             ; gcrRegs +[x1]
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x2, [x22, #0x20]
             blr     x2
             ; gcrRegs -[x0-x1]
-            add     x23, x23, #8
+            add     x21, x21, #8
             sub     w20, w20, #1
             cbnz    w20, G_M38436_IG05
 						;; size=28 bbWeight=4 PerfScore 38.00
 G_M38436_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ; byrRegs -[x21]
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 108, prolog size 20, PerfScore 54.75, instruction count 27, allocated bytes for code 108 (MethodHash=b16469db) for method Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
+; Total bytes of code 96, prolog size 16, PerfScore 51.62, instruction count 24, allocated bytes for code 96 (MethodHash=b16469db) for method Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -85,7 +82,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
+  Function Length   : 24 (0x00018) Actual length = 96 (0x000060)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -93,9 +90,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D1 07       save_reg X#4 Z#7 (0x07); str x23, [sp, #56]
     E6          save_next
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
+    E4          end
     E4          end
 
+0 (0.00%) : 13464.dasm - AssignRect:second_assignments(int[,],short[,]) (FullOpts)
@@ -28,18 +28,18 @@
 ;  V18 cse4         [V18,T21] (  2, 15.68)     int  ->  x11         "CSE #22: aggressive"
 ;  V19 cse5         [V19,T23] (  2, 15.68)     int  ->  x14         "CSE #24: aggressive"
 ;  V20 cse6         [V20,T06] (  5,172.97)     int  ->   x8         "CSE #07: aggressive"
-;  V21 cse7         [V21,T09] (  7, 98.46)   byref  ->   x0         hoist "CSE #03: aggressive"
+;  V21 cse7         [V21,T09] (  7, 94.75)   byref  ->   x0         hoist "CSE #03: aggressive"
 ;  V22 cse8         [V22,T05] ( 13,266.59)     int  ->  x13         multi-def "CSE #13: aggressive"
-;  V23 cse9         [V23,T10] (  9, 96.64)   byref  ->   x1         hoist "CSE #02: aggressive"
+;  V23 cse9         [V23,T11] (  9, 92.93)   byref  ->   x1         hoist "CSE #02: aggressive"
 ;  V24 cse10        [V24,T16] (  3, 64.71)     int  ->   x4         "CSE #04: aggressive"
 ;  V25 cse11        [V25,T13] (  3, 79.56)     int  ->   x6         hoist "CSE #06: aggressive"
 ;  V26 cse12        [V26,T08] (  8,113.73)     int  ->  x10         hoist multi-def "CSE #12: aggressive"
-;  V27 cse13        [V27,T11] (  3, 94.41)     int  ->   x9         "CSE #09: aggressive"
+;  V27 cse13        [V27,T10] (  3, 94.41)     int  ->   x9         "CSE #09: aggressive"
 ;  V28 cse14        [V28,T30] (  3,  0.75)    long  ->  x21         "CSE #01: aggressive"
 ;  V29 cse15        [V29,T12] (  3, 94.09)    long  ->   x7         "CSE #17: aggressive"
-;  V30 rat0         [V30,T25] (  4, 12.13)    long  ->   x2         "Strength reduced derived IV"
-;  V31 rat1         [V31,T26] (  4, 12.13)     int  ->   x3         "Trip count IV"
-;  V32 rat2         [V32,T27] (  4, 12.13)    long  ->   x2         "Strength reduced derived IV"
+;  V30 rat0         [V30,T25] (  4, 12.13)   byref  ->   x2         "Strength reduced derived IV"
+;  V31 rat1         [V31,T27] (  4, 12.13)     int  ->   x3         "Trip count IV"
+;  V32 rat2         [V32,T26] (  4, 12.13)   byref  ->   x2         "Strength reduced derived IV"
 ;  V33 rat3         [V33,T28] (  4, 12.13)     int  ->   x3         "Trip count IV"
 ;
 ; Lcl frame size = 0
@@ -73,30 +73,34 @@ G_M4546_IG02:        ; bbWeight=0.25, gcrefRegs=180000 {x19 x20}, byrefRegs=0000
             ; gcr arg pop 0
             add     x1, x22, #16
             ; byrRegs +[x1]
-            mov     x2, xzr
+            mov     x2, x1
+            ; byrRegs +[x2]
             mov     w3, #101
 						;; size=52 bbWeight=0.25 PerfScore 1.88
-G_M4546_IG03:        ; bbWeight=3.96, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0002 {x1}, byref, isz
+G_M4546_IG03:        ; bbWeight=3.96, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0006 {x1 x2}, byref, isz
             ; gcrRegs -[x22]
-            strh    wzr, [x1, x2]
+            strh    wzr, [x2]
             add     x2, x2, #2
             sub     w3, w3, #1
             cbnz    w3, G_M4546_IG03
 						;; size=16 bbWeight=3.96 PerfScore 11.88
 G_M4546_IG04:        ; bbWeight=0.25, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0002 {x1}, byref
+            ; byrRegs -[x2]
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
-            mov     x2, xzr
+            mov     x2, x0
+            ; byrRegs +[x2]
             mov     w3, #101
 						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M4546_IG05:        ; bbWeight=3.96, gcrefRegs=180000 {x19 x20}, byrefRegs=0003 {x0 x1}, byref, isz
-            strh    wzr, [x0, x2]
+G_M4546_IG05:        ; bbWeight=3.96, gcrefRegs=180000 {x19 x20}, byrefRegs=0007 {x0 x1 x2}, byref, isz
+            strh    wzr, [x2]
             add     x2, x2, #2
             sub     w3, w3, #1
             cbnz    w3, G_M4546_IG05
 						;; size=16 bbWeight=3.96 PerfScore 11.88
 G_M4546_IG06:        ; bbWeight=0.25, gcrefRegs=180000 {x19 x20}, byrefRegs=0003 {x0 x1}, byref
+            ; byrRegs -[x2]
             mov     w2, wzr
 						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M4546_IG07:        ; bbWeight=0.99, gcrefRegs=180000 {x19 x20}, byrefRegs=0003 {x0 x1}, byref
+0 (0.00%) : 19321.dasm - Benchstone.BenchI.QuickSort:Test():ubyte:this (FullOpts)
@@ -15,13 +15,13 @@
 ;  V04 loc3         [V04,T01] (  5, 16.09)     int  ->   x1        
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T00] (  3, 23.76)     int  ->   x3         "fgMakeTemp is creating a new local variable"
-;  V07 cse0         [V07,T06] (  3, 11.88)     int  ->   x3         "CSE #04: aggressive"
+;  V07 cse0         [V07,T05] (  3, 11.88)     int  ->   x3         "CSE #04: aggressive"
 ;* V08 cse1         [V08,T10] (  0,  0   )   byref  ->  zero-ref    hoist "CSE #02: aggressive"
-;  V09 cse2         [V09,T03] (  4, 12.13)   byref  ->  x20         hoist "CSE #05: aggressive"
+;  V09 cse2         [V09,T07] (  4,  8.42)   byref  ->  x20         hoist "CSE #05: aggressive"
 ;  V10 cse3         [V10,T08] (  3,  8.17)    long  ->   x2         hoist "CSE #03: aggressive"
-;  V11 cse4         [V11,T07] (  3, 11.88)     int  ->   x1         "CSE #07: aggressive"
-;  V12 rat0         [V12,T04] (  4, 12.13)    long  ->   x0         "Strength reduced derived IV"
-;  V13 rat1         [V13,T05] (  4, 12.13)     int  ->   x1         "Trip count IV"
+;  V11 cse4         [V11,T06] (  3, 11.88)     int  ->   x1         "CSE #07: aggressive"
+;  V12 rat0         [V12,T03] (  4, 12.13)   byref  ->   x0         "Strength reduced derived IV"
+;  V13 rat1         [V13,T04] (  4, 12.13)     int  ->   x1         "Trip count IV"
 ;
 ; Lcl frame size = 0
 
@@ -53,10 +53,11 @@ G_M13947_IG03:        ; bbWeight=0.25, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             movk    x2, #0xD1FFAB1E LSL #32
             add     x20, x19, #16
             ; byrRegs +[x20]
-            mov     x0, xzr
+            mov     x0, x20
+            ; byrRegs +[x0]
             mov     w1, #200
 						;; size=24 bbWeight=0.25 PerfScore 0.75
-G_M13947_IG04:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
+G_M13947_IG04:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=100001 {x0 x20}, byref, isz
             ldr     w3, [x2]
             mov     w4, #0xD1FFAB1E
             mov     w5, #0xD1FFAB1E
@@ -68,16 +69,17 @@ G_M13947_IG04:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=100000 {
             csneg   w3, w4, w3, mi
             tbz     w3, #31, G_M13947_IG06
 						;; size=40 bbWeight=3.96 PerfScore 39.60
-G_M13947_IG05:        ; bbWeight=1.98, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
+G_M13947_IG05:        ; bbWeight=1.98, gcrefRegs=80000 {x19}, byrefRegs=100001 {x0 x20}, byref
             neg     w3, w3
 						;; size=4 bbWeight=1.98 PerfScore 0.99
-G_M13947_IG06:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
-            str     w3, [x20, x0]
+G_M13947_IG06:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=100001 {x0 x20}, byref, isz
+            str     w3, [x0]
             add     x0, x0, #4
             sub     w1, w1, #1
             cbnz    w1, G_M13947_IG04
 						;; size=16 bbWeight=3.96 PerfScore 11.88
 G_M13947_IG07:        ; bbWeight=0.25, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref
+            ; byrRegs -[x0]
             mov     x2, x19
             ; gcrRegs +[x2]
             mov     w0, wzr
+0 (0.00%) : 12668.dasm - AssignJagged:second_assignments(int[][],short[][]) (FullOpts)
@@ -36,19 +36,19 @@
 ;  V26 cse7         [V26,T30] (  6, 10.97)     ref  ->   x9         multi-def "CSE #49: moderate"
 ;  V27 cse8         [V27,T20] (  3, 23.52)     int  ->   x4         "CSE #28: moderate"
 ;  V28 cse9         [V28,T31] ( 13,  9.68)   byref  ->   x6         hoist "CSE #10: moderate"
-;  V29 cse10        [V29,T05] ( 15,100.05)   byref  ->   x0         hoist "CSE #03: aggressive"
-;  V30 cse11        [V30,T06] ( 16, 97.57)   byref  ->   x1         hoist "CSE #02: aggressive"
+;  V29 cse10        [V29,T05] ( 15, 96.34)   byref  ->   x0         hoist "CSE #03: aggressive"
+;  V30 cse11        [V30,T07] ( 16, 93.86)   byref  ->   x1         hoist "CSE #02: aggressive"
 ;  V31 cse12        [V31,T10] (  7, 64.93)   byref  ->   x4         hoist multi-def "CSE #05: aggressive"
 ;  V32 cse13        [V32,T28] ( 20, 11.59)     int  ->  registers   hoist multi-def "CSE #11: moderate"
 ;  V33 cse14        [V33,T33] (  7,  6.25)     int  ->  registers   hoist multi-def "CSE #04: moderate"
-;  V34 cse15        [V34,T07] (  4, 95.04)    long  ->  x10         "CSE #19: aggressive"
+;  V34 cse15        [V34,T06] (  4, 95.04)    long  ->  x10         "CSE #19: aggressive"
 ;  V35 cse16        [V35,T04] (  4,188.18)    long  ->   x8         "CSE #20: aggressive"
 ;  V36 cse17        [V36,T35] (  5,  4.13)    long  ->   x6         hoist multi-def "CSE #06: moderate"
 ;  V37 cse18        [V37,T37] (  3,  0.96)    long  ->   x9         "CSE #17: moderate"
 ;  V38 cse19        [V38,T43] (  3,  0.19)    long  ->   x5         hoist "CSE #09: conservative"
-;  V39 rat0         [V39,T24] (  4, 12.13)    long  ->   x2         "Strength reduced derived IV"
-;  V40 rat1         [V40,T25] (  4, 12.13)     int  ->   x3         "Trip count IV"
-;  V41 rat2         [V41,T26] (  4, 12.13)    long  ->   x2         "Strength reduced derived IV"
+;  V39 rat0         [V39,T24] (  4, 12.13)   byref  ->   x2         "Strength reduced derived IV"
+;  V40 rat1         [V40,T26] (  4, 12.13)     int  ->   x3         "Trip count IV"
+;  V41 rat2         [V41,T25] (  4, 12.13)   byref  ->   x2         "Strength reduced derived IV"
 ;  V42 rat3         [V42,T27] (  4, 12.13)     int  ->   x3         "Trip count IV"
 ;  V43 rat4         [V43,T12] (  4, 48.03)    long  ->   x5         "Strength reduced derived IV"
 ;  V44 rat5         [V44,T13] (  4, 48.03)     int  ->   x8         "Trip count IV"
@@ -85,30 +85,34 @@ G_M6376_IG02:        ; bbWeight=0.25, gcrefRegs=180000 {x19 x20}, byrefRegs=0000
             ; gcr arg pop 0
             add     x1, x21, #16
             ; byrRegs +[x1]
-            mov     x2, xzr
+            mov     x2, x1
+            ; byrRegs +[x2]
             mov     w3, #101
 						;; size=56 bbWeight=0.25 PerfScore 2.00
-G_M6376_IG03:        ; bbWeight=3.96, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0002 {x1}, byref, isz
+G_M6376_IG03:        ; bbWeight=3.96, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0006 {x1 x2}, byref, isz
             ; gcrRegs -[x21]
-            strh    wzr, [x1, x2]
+            strh    wzr, [x2]
             add     x2, x2, #2
             sub     w3, w3, #1
             cbnz    w3, G_M6376_IG03
 						;; size=16 bbWeight=3.96 PerfScore 11.88
 G_M6376_IG04:        ; bbWeight=0.25, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0002 {x1}, byref
+            ; byrRegs -[x2]
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
-            mov     x2, xzr
+            mov     x2, x0
+            ; byrRegs +[x2]
             mov     w3, #101
 						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M6376_IG05:        ; bbWeight=3.96, gcrefRegs=180000 {x19 x20}, byrefRegs=0003 {x0 x1}, byref, isz
-            strh    wzr, [x0, x2]
+G_M6376_IG05:        ; bbWeight=3.96, gcrefRegs=180000 {x19 x20}, byrefRegs=0007 {x0 x1 x2}, byref, isz
+            strh    wzr, [x2]
             add     x2, x2, #2
             sub     w3, w3, #1
             cbnz    w3, G_M6376_IG05
 						;; size=16 bbWeight=3.96 PerfScore 11.88
 G_M6376_IG06:        ; bbWeight=0.25, gcrefRegs=180000 {x19 x20}, byrefRegs=0003 {x0 x1}, byref, isz
+            ; byrRegs -[x2]
             mov     w2, wzr
             cbz     x20, G_M6376_IG51
             ldr     w3, [x20, #0x08]
benchmarks.run_pgo.windows.arm64.checked.mch
-16 (-10.26%) : 30602.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
@@ -35,17 +35,16 @@
 ;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
 ;  V24 cse0         [V24,T05] (  2,  2   )   byref  ->  x20         hoist "CSE #01: aggressive"
 ;  V25 cse1         [V25,T04] (  3,  3   )     int  ->  x19         "CSE #02: aggressive"
-;  V26 rat0         [V26,T02] (  4,  4   )    long  ->  x21         "Strength reduced derived IV"
+;  V26 rat0         [V26,T02] (  4,  4   )   byref  ->  x20         "Strength reduced derived IV"
 ;  V27 rat1         [V27,T03] (  4,  4   )     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M44603_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M44603_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             cbz     x0, G_M44603_IG08
@@ -54,11 +53,10 @@ G_M44603_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ble     G_M44603_IG08
             add     x20, x0, #12
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=24 bbWeight=1 PerfScore 6.50
+						;; size=20 bbWeight=1 PerfScore 6.00
 G_M44603_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldrh    w0, [x20, x21]
+            ldrh    w0, [x20]
             cmp     w0, #0xD1FFAB1E
             bhs     G_M44603_IG07
             movz    x1, #0xD1FFAB1E
@@ -72,14 +70,13 @@ G_M44603_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, wzr
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M44603_IG05:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=1 PerfScore 5.00
+						;; size=12 bbWeight=1 PerfScore 3.00
 G_M44603_IG06:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, gcvars, byref, isz
             ; byrRegs +[x20]
-            add     x21, x21, #2
+            add     x20, x20, #2
             sub     w19, w19, #1
             cbnz    w19, G_M44603_IG03
             b       G_M44603_IG08
@@ -99,13 +96,12 @@ G_M44603_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
 						;; size=4 bbWeight=0 PerfScore 0.00
 G_M44603_IG09:        ; bbWeight=0, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 156, prolog size 16, PerfScore 28.50, instruction count 39, allocated bytes for code 156 (MethodHash=3ff251c4) for method System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
+; Total bytes of code 140, prolog size 12, PerfScore 25.00, instruction count 35, allocated bytes for code 140 (MethodHash=3ff251c4) for method System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -116,7 +112,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 39 (0x00027) Actual length = 156 (0x00009c)
+  Function Length   : 35 (0x00023) Actual length = 140 (0x00008c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -127,9 +123,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-16 (-10.26%) : 18996.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
@@ -35,17 +35,16 @@
 ;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
 ;  V24 cse0         [V24,T05] (  2,  2   )   byref  ->  x20         hoist "CSE #01: aggressive"
 ;  V25 cse1         [V25,T04] (  3,  3   )     int  ->  x19         "CSE #02: aggressive"
-;  V26 rat0         [V26,T02] (  4,  4   )    long  ->  x21         "Strength reduced derived IV"
+;  V26 rat0         [V26,T02] (  4,  4   )   byref  ->  x20         "Strength reduced derived IV"
 ;  V27 rat1         [V27,T03] (  4,  4   )     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M44603_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M44603_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             cbz     x0, G_M44603_IG08
@@ -54,11 +53,10 @@ G_M44603_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ble     G_M44603_IG08
             add     x20, x0, #12
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=24 bbWeight=1 PerfScore 6.50
+						;; size=20 bbWeight=1 PerfScore 6.00
 G_M44603_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldrh    w0, [x20, x21]
+            ldrh    w0, [x20]
             cmp     w0, #0xD1FFAB1E
             bhs     G_M44603_IG07
             movz    x1, #0xD1FFAB1E
@@ -72,14 +70,13 @@ G_M44603_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, wzr
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M44603_IG05:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=1 PerfScore 5.00
+						;; size=12 bbWeight=1 PerfScore 3.00
 G_M44603_IG06:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, gcvars, byref, isz
             ; byrRegs +[x20]
-            add     x21, x21, #2
+            add     x20, x20, #2
             sub     w19, w19, #1
             cbnz    w19, G_M44603_IG03
             b       G_M44603_IG08
@@ -99,13 +96,12 @@ G_M44603_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
 						;; size=4 bbWeight=0 PerfScore 0.00
 G_M44603_IG09:        ; bbWeight=0, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 156, prolog size 16, PerfScore 28.50, instruction count 39, allocated bytes for code 156 (MethodHash=3ff251c4) for method System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
+; Total bytes of code 140, prolog size 12, PerfScore 25.00, instruction count 35, allocated bytes for code 140 (MethodHash=3ff251c4) for method System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -116,7 +112,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 39 (0x00027) Actual length = 156 (0x00009c)
+  Function Length   : 35 (0x00023) Actual length = 140 (0x00008c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -127,9 +123,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-16 (-10.26%) : 36247.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
@@ -35,17 +35,16 @@
 ;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
 ;  V24 cse0         [V24,T05] (  2,  2   )   byref  ->  x20         hoist "CSE #01: aggressive"
 ;  V25 cse1         [V25,T04] (  3,  3   )     int  ->  x19         "CSE #02: aggressive"
-;  V26 rat0         [V26,T02] (  4,  4   )    long  ->  x21         "Strength reduced derived IV"
+;  V26 rat0         [V26,T02] (  4,  4   )   byref  ->  x20         "Strength reduced derived IV"
 ;  V27 rat1         [V27,T03] (  4,  4   )     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M44603_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M44603_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             cbz     x0, G_M44603_IG08
@@ -54,11 +53,10 @@ G_M44603_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ble     G_M44603_IG08
             add     x20, x0, #12
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=24 bbWeight=1 PerfScore 6.50
+						;; size=20 bbWeight=1 PerfScore 6.00
 G_M44603_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldrh    w0, [x20, x21]
+            ldrh    w0, [x20]
             cmp     w0, #0xD1FFAB1E
             bhs     G_M44603_IG07
             movz    x1, #0xD1FFAB1E
@@ -72,14 +70,13 @@ G_M44603_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, wzr
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M44603_IG05:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=1 PerfScore 5.00
+						;; size=12 bbWeight=1 PerfScore 3.00
 G_M44603_IG06:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, gcvars, byref, isz
             ; byrRegs +[x20]
-            add     x21, x21, #2
+            add     x20, x20, #2
             sub     w19, w19, #1
             cbnz    w19, G_M44603_IG03
             b       G_M44603_IG08
@@ -99,13 +96,12 @@ G_M44603_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
 						;; size=4 bbWeight=0 PerfScore 0.00
 G_M44603_IG09:        ; bbWeight=0, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 156, prolog size 16, PerfScore 28.50, instruction count 39, allocated bytes for code 156 (MethodHash=3ff251c4) for method System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
+; Total bytes of code 140, prolog size 12, PerfScore 25.00, instruction count 35, allocated bytes for code 140 (MethodHash=3ff251c4) for method System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -116,7 +112,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 39 (0x00027) Actual length = 156 (0x00009c)
+  Function Length   : 35 (0x00023) Actual length = 140 (0x00008c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -127,9 +123,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
+4 (+0.27%) : 65116.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
@@ -19,11 +19,11 @@
 ;  V07 loc3         [V07    ] ( 10, 15.80)  struct (80) [fp+0xA0]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Reflection.MetadataEnumResult>
 ;  V08 loc4         [V08,T00] ( 10, 19.90)     int  ->  x19        
 ;  V09 loc5         [V09,T02] (  6, 12.71)     int  ->  x20        
-;  V10 loc6         [V10,T09] (  5,  8.38)     int  ->  x26         ld-addr-op
-;  V11 loc7         [V11,T32] (  3,  2.98)     int  ->  x27        
-;  V12 loc8         [V12,T24] (  3,  3.97)   ubyte  ->  x22        
+;  V10 loc6         [V10,T09] (  5,  8.38)     int  ->  x22         ld-addr-op
+;  V11 loc7         [V11,T32] (  3,  2.98)     int  ->  x26        
+;  V12 loc8         [V12,T24] (  3,  3.97)   ubyte  ->  x23        
 ;* V13 loc9         [V13    ] (  0,  0   )   ubyte  ->  zero-ref   
-;  V14 loc10        [V14,T42] (  2,  0.28)     int  ->  x22        
+;  V14 loc10        [V14,T42] (  2,  0.28)     int  ->  x23        
 ;* V15 loc11        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Reflection.MdFieldInfo>
 ;* V16 loc12        [V16    ] (  0,  0   )  struct (16) zero-ref    <System.MdUtf8String>
 ;# V17 OutArgs      [V17    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -107,10 +107,10 @@
 ;  V95 tmp78        [V95,T22] (  2,  4.00)    long  ->   x3         "Cast away GC"
 ;  V96 tmp79        [V96,T23] (  2,  4.00)    long  ->   x3         "argument with side effect"
 ;  V97 tmp80        [V97,T40] (  3,  1.02)     ref  ->   x0         "arr expr"
-;  V98 cse0         [V98,T15] (  2,  5.40)   byref  ->  x23         hoist "CSE #04: aggressive"
-;  V99 cse1         [V99,T16] (  2,  5.40)     int  ->  x21         hoist "CSE #05: aggressive"
-;  V100 rat0        [V100,T05] (  4, 10.80)    long  ->   x3         "Strength reduced derived IV"
-;  V101 rat1        [V101,T06] (  4, 10.80)     int  ->  x22         "Trip count IV"
+;  V98 cse0         [V98,T15] (  2,  5.40)   byref  ->   x3         hoist "CSE #04: aggressive"
+;  V99 cse1         [V99,T16] (  2,  5.40)     int  ->  x23         hoist "CSE #05: aggressive"
+;  V100 rat0        [V100,T05] (  4, 10.80)   byref  ->   x3         "Strength reduced derived IV"
+;  V101 rat1        [V101,T06] (  4, 10.80)     int  ->  x21         "Trip count IV"
 ;
 ; Lcl frame size = 224
 
@@ -280,20 +280,19 @@ G_M26087_IG14:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcr arg pop 0
             mov     w2, #0xD1FFAB1E
             str     w2, [x0, #0x10]
-            add     x23, x0, #16
-            ; byrRegs +[x23]
-            and     w21, w20, #0xD1FFAB1E
-            mov     x3, xzr
-            mov     w22, #1
-						;; size=44 bbWeight=2.70 PerfScore 17.55
-G_M26087_IG15:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref, isz
+            add     x3, x0, #16
+            ; byrRegs +[x3]
+            and     w23, w20, #0xD1FFAB1E
+            mov     w21, #1
+						;; size=40 bbWeight=2.70 PerfScore 16.20
+G_M26087_IG15:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
             ; gcrRegs -[x0]
-            ldr     w2, [x23, x3]
-            cmp     w2, w21
+            ldr     w2, [x3]
+            cmp     w2, w23
             bne     G_M26087_IG31
 						;; size=12 bbWeight=2.70 PerfScore 12.15
 G_M26087_IG16:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x23]
+            ; byrRegs -[x3]
             tst     w20, #0xD1FFAB1E
             beq     G_M26087_IG44
 						;; size=8 bbWeight=2.70 PerfScore 4.05
@@ -304,9 +303,9 @@ G_M26087_IG17:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             bl      <unknown method>
             ; gcr arg pop 0
             tbnz    w0, #31, G_M26087_IG52
-            ldr     w26, [fp, #0x90]	// [V45 tmp28]
-            and     w27, w26, #7
-            tbz     w26, #6, G_M26087_IG28
+            ldr     w22, [fp, #0x90]	// [V45 tmp28]
+            and     w26, w22, #7
+            tbz     w22, #6, G_M26087_IG28
 						;; size=32 bbWeight=2.70 PerfScore 18.90
 G_M26087_IG18:        ; bbWeight=1.91, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x21, [fp, #0x38]	// [V00 this]
@@ -314,23 +313,23 @@ G_M26087_IG18:        ; bbWeight=1.91, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ldr     x2, [x21, #0x10]
             ; gcrRegs +[x2]
             ldr     x2, [x2, #0x08]
-            ldr     x23, [fp, #0x28]	// [V02 arg2]
-            ; gcrRegs +[x23]
-            cmp     x23, x2
-            cset    x22, ne
-            cbnz    w22, G_M26087_IG32
+            ldr     x27, [fp, #0x28]	// [V02 arg2]
+            ; gcrRegs +[x27]
+            cmp     x27, x2
+            cset    x23, ne
+            cbnz    w23, G_M26087_IG32
 						;; size=28 bbWeight=1.91 PerfScore 22.95
-G_M26087_IG19:        ; bbWeight=1.81, gcVars=00000000000C0010 {V01 V03 V05}, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M26087_IG19:        ; bbWeight=1.81, gcVars=00000000000C0010 {V01 V03 V05}, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x2]
             ; GC ptr vars -{V00 V02}
             cmp     w25, #1
             beq     G_M26087_IG21
 						;; size=8 bbWeight=1.81 PerfScore 2.72
-G_M26087_IG20:        ; bbWeight=1.75, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG20:        ; bbWeight=1.75, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             cmp     w25, #2
             bne     G_M26087_IG39
 						;; size=8 bbWeight=1.75 PerfScore 2.63
-G_M26087_IG21:        ; bbWeight=1.77, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG21:        ; bbWeight=1.77, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             add     x2, fp, #136	// [V50 tmp33]
             mov     x0, x28
             mov     w1, w20
@@ -348,37 +347,37 @@ G_M26087_IG21:        ; bbWeight=1.77, gcrefRegs=A00000 {x21 x23}, byrefRegs=000
             blr     x2
             ; gcr arg pop 0
 						;; size=56 bbWeight=1.77 PerfScore 23.90
-G_M26087_IG22:        ; bbWeight=1.77, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG22:        ; bbWeight=1.77, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             mov     w3, #1
             cmp     w25, #1
             bne     G_M26087_IG46
             cmp     w0, w24
             beq     G_M26087_IG34
 						;; size=20 bbWeight=1.77 PerfScore 6.20
-G_M26087_IG23:        ; bbWeight=0.98, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
+G_M26087_IG23:        ; bbWeight=0.98, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
             mov     w3, wzr
 						;; size=4 bbWeight=0.98 PerfScore 0.49
-G_M26087_IG24:        ; bbWeight=1.77, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG24:        ; bbWeight=1.77, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             cbnz    w3, G_M26087_IG39
 						;; size=4 bbWeight=1.77 PerfScore 1.77
-G_M26087_IG25:        ; bbWeight=1.18, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG25:        ; bbWeight=1.18, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             cmp     w25, #1
             beq     G_M26087_IG38
 						;; size=8 bbWeight=1.18 PerfScore 1.77
-G_M26087_IG26:        ; bbWeight=1.14, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
+G_M26087_IG26:        ; bbWeight=1.14, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
             cmp     w25, #2
             cset    x0, eq
 						;; size=8 bbWeight=1.14 PerfScore 1.14
-G_M26087_IG27:        ; bbWeight=1.18, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG27:        ; bbWeight=1.18, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             tst     w0, #255
-            str     x23, [fp, #0x28]	// [V02 arg2]
+            str     x27, [fp, #0x28]	// [V02 arg2]
             ; GC ptr vars +{V02}
             str     x21, [fp, #0x38]	// [V00 this]
             ; GC ptr vars +{V00}
             beq     G_M26087_IG50
 						;; size=16 bbWeight=1.18 PerfScore 4.13
 G_M26087_IG28:        ; bbWeight=2.70, gcVars=00000000000C0490 {V00 V01 V02 V03 V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x21 x23]
+            ; gcrRegs -[x21 x27]
             add     w19, w19, #1
             ldr     w0, [fp, #0xA8]	// [V07 loc3+0x08]
             cmp     w19, w0
@@ -396,8 +395,8 @@ G_M26087_IG29:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=000
 						;; size=28 bbWeight=1.00 PerfScore 7.00
 G_M26087_IG30:        ; bbWeight=0.17, gcVars=00000000000C0490 {V00 V01 V02 V03 V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars +{V00 V01 V02 V03 V04 V05 V10 V18}
-            ldr     x23, [fp, #0x28]	// [V02 arg2]
-            ; gcrRegs +[x23]
+            ldr     x27, [fp, #0x28]	// [V02 arg2]
+            ; gcrRegs +[x27]
             ldr     x0, [fp, #0xA0]	// [V07 loc3]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
@@ -407,32 +406,35 @@ G_M26087_IG30:        ; bbWeight=0.17, gcVars=00000000000C0490 {V00 V01 V02 V03
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
             ldr     w20, [x0, w19, UXTW #2]
-            str     x23, [fp, #0x28]	// [V02 arg2]
+            str     x27, [fp, #0x28]	// [V02 arg2]
             b       G_M26087_IG14
 						;; size=36 bbWeight=0.17 PerfScore 2.38
-G_M26087_IG31:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref, isz
-            ; gcrRegs -[x23]
-            ; byrRegs -[x0] +[x23]
+G_M26087_IG31:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
+            ; gcrRegs -[x27]
+            ; byrRegs -[x0] +[x3]
+            ldr     x27, [fp, #0x28]	// [V02 arg2]
+            ; gcrRegs +[x27]
             add     x3, x3, #4
-            sub     w22, w22, #1
-            cbnz    w22, G_M26087_IG15
+            sub     w21, w21, #1
+            str     x27, [fp, #0x28]	// [V02 arg2]
+            cbnz    w21, G_M26087_IG15
             b       G_M26087_IG43
-						;; size=16 bbWeight=2.70 PerfScore 8.10
-G_M26087_IG32:        ; bbWeight=0.14, gcVars=00000000000C0010 {V01 V03 V05}, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x21 x23]
-            ; byrRegs -[x23]
+						;; size=24 bbWeight=2.70 PerfScore 16.20
+G_M26087_IG32:        ; bbWeight=0.14, gcVars=00000000000C0010 {V01 V03 V05}, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x21]
+            ; byrRegs -[x3]
             ; GC ptr vars -{V00 V02 V04 V10 V18}
-            cmp     w27, #1
+            cmp     w26, #1
             bne     G_M26087_IG19
 						;; size=8 bbWeight=0.14 PerfScore 0.20
-G_M26087_IG33:        ; bbWeight=0.10, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
-            str     x23, [fp, #0x28]	// [V02 arg2]
+G_M26087_IG33:        ; bbWeight=0.10, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
+            str     x27, [fp, #0x28]	// [V02 arg2]
             ; GC ptr vars +{V02}
             str     x21, [fp, #0x38]	// [V00 this]
             ; GC ptr vars +{V00}
             b       G_M26087_IG28
 						;; size=12 bbWeight=0.10 PerfScore 0.30
-G_M26087_IG34:        ; bbWeight=0.79, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG34:        ; bbWeight=0.79, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             ; GC ptr vars -{V00 V02}
             ldr     x3, [fp, #0x30]	// [V01 arg1]
             ; byrRegs +[x3]
@@ -441,7 +443,7 @@ G_M26087_IG34:        ; bbWeight=0.79, gcrefRegs=A00000 {x21 x23}, byrefRegs=000
             cmp     x2, #4
             beq     G_M26087_IG36
 						;; size=20 bbWeight=0.79 PerfScore 5.51
-G_M26087_IG35:        ; bbWeight=0.39, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
+G_M26087_IG35:        ; bbWeight=0.39, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
             ; byrRegs -[x3]
             ldr     x0, [fp, #0x80]	// [V54 tmp37]
             movz    x4, #0xD1FFAB1E      // code for <unknown method>
@@ -453,7 +455,7 @@ G_M26087_IG35:        ; bbWeight=0.39, gcrefRegs=A00000 {x21 x23}, byrefRegs=000
             sxtw    w3, w0
             b       G_M26087_IG37
 						;; size=32 bbWeight=0.39 PerfScore 3.54
-G_M26087_IG36:        ; bbWeight=0.39, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
+G_M26087_IG36:        ; bbWeight=0.39, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
             ldr     x4, [fp, #0x80]	// [V54 tmp37]
             ldr     w2, [x4]
             ldr     w0, [x1]
@@ -461,26 +463,26 @@ G_M26087_IG36:        ; bbWeight=0.39, gcrefRegs=A00000 {x21 x23}, byrefRegs=000
             cset    x2, eq
             mov     w3, w2
 						;; size=24 bbWeight=0.39 PerfScore 3.74
-G_M26087_IG37:        ; bbWeight=0.79, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
+G_M26087_IG37:        ; bbWeight=0.79, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
             b       G_M26087_IG24
 						;; size=4 bbWeight=0.79 PerfScore 0.79
-G_M26087_IG38:        ; bbWeight=0.04, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
+G_M26087_IG38:        ; bbWeight=0.04, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
             mov     w0, #1
             b       G_M26087_IG27
 						;; size=8 bbWeight=0.04 PerfScore 0.06
-G_M26087_IG39:        ; bbWeight=0.14, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
-            tst     w26, #16
+G_M26087_IG39:        ; bbWeight=0.14, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
+            tst     w22, #16
             cset    x2, ne
-            cmp     w27, #6
...
+4 (+0.27%) : 74639.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
@@ -19,11 +19,11 @@
 ;  V07 loc3         [V07    ] ( 10, 15.80)  struct (80) [fp+0xA0]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Reflection.MetadataEnumResult>
 ;  V08 loc4         [V08,T00] ( 10, 19.90)     int  ->  x19        
 ;  V09 loc5         [V09,T02] (  6, 12.71)     int  ->  x20        
-;  V10 loc6         [V10,T09] (  5,  8.38)     int  ->  x26         ld-addr-op
-;  V11 loc7         [V11,T31] (  3,  2.98)     int  ->  x27        
-;  V12 loc8         [V12,T24] (  3,  3.97)   ubyte  ->  x22        
+;  V10 loc6         [V10,T09] (  5,  8.38)     int  ->  x22         ld-addr-op
+;  V11 loc7         [V11,T31] (  3,  2.98)     int  ->  x26        
+;  V12 loc8         [V12,T24] (  3,  3.97)   ubyte  ->  x23        
 ;* V13 loc9         [V13    ] (  0,  0   )   ubyte  ->  zero-ref   
-;  V14 loc10        [V14,T39] (  2,  0.28)     int  ->  x22        
+;  V14 loc10        [V14,T39] (  2,  0.28)     int  ->  x23        
 ;* V15 loc11        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Reflection.MdFieldInfo>
 ;* V16 loc12        [V16    ] (  0,  0   )  struct (16) zero-ref    <System.MdUtf8String>
 ;# V17 OutArgs      [V17    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -103,10 +103,10 @@
 ;  V91 tmp74        [V91,T22] (  2,  4.00)    long  ->   x3         "Cast away GC"
 ;  V92 tmp75        [V92,T23] (  2,  4.00)    long  ->   x3         "argument with side effect"
 ;  V93 tmp76        [V93,T25] (  3,  3.77)     ref  ->   x1         "arr expr"
-;  V94 cse0         [V94,T15] (  2,  5.40)   byref  ->  x23         hoist "CSE #04: aggressive"
-;  V95 cse1         [V95,T16] (  2,  5.40)     int  ->  x21         hoist "CSE #05: aggressive"
-;  V96 rat0         [V96,T04] (  4, 10.80)    long  ->   x3         "Strength reduced derived IV"
-;  V97 rat1         [V97,T05] (  4, 10.80)     int  ->  x22         "Trip count IV"
+;  V94 cse0         [V94,T15] (  2,  5.40)   byref  ->   x3         hoist "CSE #04: aggressive"
+;  V95 cse1         [V95,T16] (  2,  5.40)     int  ->  x23         hoist "CSE #05: aggressive"
+;  V96 rat0         [V96,T04] (  4, 10.80)   byref  ->   x3         "Strength reduced derived IV"
+;  V97 rat1         [V97,T05] (  4, 10.80)     int  ->  x21         "Trip count IV"
 ;
 ; Lcl frame size = 224
 
@@ -276,20 +276,19 @@ G_M26087_IG14:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcr arg pop 0
             mov     w2, #0xD1FFAB1E
             str     w2, [x0, #0x10]
-            add     x23, x0, #16
-            ; byrRegs +[x23]
-            and     w21, w20, #0xD1FFAB1E
-            mov     x3, xzr
-            mov     w22, #1
-						;; size=44 bbWeight=2.70 PerfScore 17.55
-G_M26087_IG15:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref, isz
+            add     x3, x0, #16
+            ; byrRegs +[x3]
+            and     w23, w20, #0xD1FFAB1E
+            mov     w21, #1
+						;; size=40 bbWeight=2.70 PerfScore 16.20
+G_M26087_IG15:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
             ; gcrRegs -[x0]
-            ldr     w2, [x23, x3]
-            cmp     w2, w21
+            ldr     w2, [x3]
+            cmp     w2, w23
             bne     G_M26087_IG31
 						;; size=12 bbWeight=2.70 PerfScore 12.15
 G_M26087_IG16:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x23]
+            ; byrRegs -[x3]
             tst     w20, #0xD1FFAB1E
             beq     G_M26087_IG41
 						;; size=8 bbWeight=2.70 PerfScore 4.05
@@ -300,9 +299,9 @@ G_M26087_IG17:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             bl      <unknown method>
             ; gcr arg pop 0
             tbnz    w0, #31, G_M26087_IG49
-            ldr     w26, [fp, #0x90]	// [V45 tmp28]
-            and     w27, w26, #7
-            tbz     w26, #6, G_M26087_IG28
+            ldr     w22, [fp, #0x90]	// [V45 tmp28]
+            and     w26, w22, #7
+            tbz     w22, #6, G_M26087_IG28
 						;; size=32 bbWeight=2.70 PerfScore 18.90
 G_M26087_IG18:        ; bbWeight=1.91, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x21, [fp, #0x38]	// [V00 this]
@@ -310,23 +309,23 @@ G_M26087_IG18:        ; bbWeight=1.91, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ldr     x2, [x21, #0x10]
             ; gcrRegs +[x2]
             ldr     x2, [x2, #0x08]
-            ldr     x23, [fp, #0x28]	// [V02 arg2]
-            ; gcrRegs +[x23]
-            cmp     x23, x2
-            cset    x22, ne
-            cbnz    w22, G_M26087_IG32
+            ldr     x27, [fp, #0x28]	// [V02 arg2]
+            ; gcrRegs +[x27]
+            cmp     x27, x2
+            cset    x23, ne
+            cbnz    w23, G_M26087_IG32
 						;; size=28 bbWeight=1.91 PerfScore 22.95
-G_M26087_IG19:        ; bbWeight=1.81, gcVars=00000000000C0040 {V01 V03 V05}, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M26087_IG19:        ; bbWeight=1.81, gcVars=00000000000C0040 {V01 V03 V05}, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x2]
             ; GC ptr vars -{V00 V02}
             cmp     w25, #1
             beq     G_M26087_IG21
 						;; size=8 bbWeight=1.81 PerfScore 2.72
-G_M26087_IG20:        ; bbWeight=1.54, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG20:        ; bbWeight=1.54, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             cmp     w25, #2
             bne     G_M26087_IG36
 						;; size=8 bbWeight=1.54 PerfScore 2.30
-G_M26087_IG21:        ; bbWeight=1.77, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG21:        ; bbWeight=1.77, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             add     x2, fp, #136	// [V50 tmp33]
             mov     x0, x28
             mov     w1, w20
@@ -344,37 +343,37 @@ G_M26087_IG21:        ; bbWeight=1.77, gcrefRegs=A00000 {x21 x23}, byrefRegs=000
             blr     x2
             ; gcr arg pop 0
 						;; size=56 bbWeight=1.77 PerfScore 23.90
-G_M26087_IG22:        ; bbWeight=1.77, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG22:        ; bbWeight=1.77, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             mov     w3, #1
             cmp     w25, #1
             bne     G_M26087_IG43
             cmp     w0, w24
             beq     G_M26087_IG34
 						;; size=20 bbWeight=1.77 PerfScore 6.20
-G_M26087_IG23:        ; bbWeight=1.59, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
+G_M26087_IG23:        ; bbWeight=1.59, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
             mov     w3, wzr
 						;; size=4 bbWeight=1.59 PerfScore 0.80
-G_M26087_IG24:        ; bbWeight=1.77, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG24:        ; bbWeight=1.77, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             cbnz    w3, G_M26087_IG36
 						;; size=4 bbWeight=1.77 PerfScore 1.77
-G_M26087_IG25:        ; bbWeight=1.68, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG25:        ; bbWeight=1.68, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             cmp     w25, #1
             beq     G_M26087_IG35
 						;; size=8 bbWeight=1.68 PerfScore 2.52
-G_M26087_IG26:        ; bbWeight=1.42, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
+G_M26087_IG26:        ; bbWeight=1.42, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
             cmp     w25, #2
             cset    x1, eq
 						;; size=8 bbWeight=1.42 PerfScore 1.42
-G_M26087_IG27:        ; bbWeight=1.68, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG27:        ; bbWeight=1.68, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             tst     w1, #255
-            str     x23, [fp, #0x28]	// [V02 arg2]
+            str     x27, [fp, #0x28]	// [V02 arg2]
             ; GC ptr vars +{V02}
             str     x21, [fp, #0x38]	// [V00 this]
             ; GC ptr vars +{V00}
             beq     G_M26087_IG47
 						;; size=16 bbWeight=1.68 PerfScore 5.89
 G_M26087_IG28:        ; bbWeight=2.70, gcVars=00000000000C04C0 {V00 V01 V02 V03 V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x21 x23]
+            ; gcrRegs -[x21 x27]
             add     w19, w19, #1
             ldr     w1, [fp, #0xA8]	// [V07 loc3+0x08]
             cmp     w19, w1
@@ -392,8 +391,8 @@ G_M26087_IG29:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=000
 						;; size=28 bbWeight=1.00 PerfScore 7.00
 G_M26087_IG30:        ; bbWeight=0.63, gcVars=00000000000C04C0 {V00 V01 V02 V03 V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars +{V00 V01 V02 V03 V05 V10 V18}
-            ldr     x23, [fp, #0x28]	// [V02 arg2]
-            ; gcrRegs +[x23]
+            ldr     x27, [fp, #0x28]	// [V02 arg2]
+            ; gcrRegs +[x27]
             ldr     x1, [fp, #0xA0]	// [V07 loc3]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
@@ -403,32 +402,35 @@ G_M26087_IG30:        ; bbWeight=0.63, gcVars=00000000000C04C0 {V00 V01 V02 V03
             ; gcrRegs -[x1]
             ; byrRegs +[x1]
             ldr     w20, [x1, w19, UXTW #2]
-            str     x23, [fp, #0x28]	// [V02 arg2]
+            str     x27, [fp, #0x28]	// [V02 arg2]
             b       G_M26087_IG14
 						;; size=36 bbWeight=0.63 PerfScore 8.81
-G_M26087_IG31:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref, isz
-            ; gcrRegs -[x23]
-            ; byrRegs -[x1] +[x23]
+G_M26087_IG31:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
+            ; gcrRegs -[x27]
+            ; byrRegs -[x1] +[x3]
+            ldr     x27, [fp, #0x28]	// [V02 arg2]
+            ; gcrRegs +[x27]
             add     x3, x3, #4
-            sub     w22, w22, #1
-            cbnz    w22, G_M26087_IG15
+            sub     w21, w21, #1
+            str     x27, [fp, #0x28]	// [V02 arg2]
+            cbnz    w21, G_M26087_IG15
             b       G_M26087_IG40
-						;; size=16 bbWeight=2.70 PerfScore 8.10
-G_M26087_IG32:        ; bbWeight=0.14, gcVars=00000000000C0040 {V01 V03 V05}, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x21 x23]
-            ; byrRegs -[x23]
+						;; size=24 bbWeight=2.70 PerfScore 16.20
+G_M26087_IG32:        ; bbWeight=0.14, gcVars=00000000000C0040 {V01 V03 V05}, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x21]
+            ; byrRegs -[x3]
             ; GC ptr vars -{V00 V02 V10 V18}
-            cmp     w27, #1
+            cmp     w26, #1
             bne     G_M26087_IG19
 						;; size=8 bbWeight=0.14 PerfScore 0.20
-G_M26087_IG33:        ; bbWeight=0.10, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
-            str     x23, [fp, #0x28]	// [V02 arg2]
+G_M26087_IG33:        ; bbWeight=0.10, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
+            str     x27, [fp, #0x28]	// [V02 arg2]
             ; GC ptr vars +{V02}
             str     x21, [fp, #0x38]	// [V00 this]
             ; GC ptr vars +{V00}
             b       G_M26087_IG28
 						;; size=12 bbWeight=0.10 PerfScore 0.30
-G_M26087_IG34:        ; bbWeight=0.18, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
+G_M26087_IG34:        ; bbWeight=0.18, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
             ; GC ptr vars -{V00 V02}
             ldr     x3, [fp, #0x30]	// [V01 arg1]
             ; byrRegs +[x3]
@@ -445,23 +447,23 @@ G_M26087_IG34:        ; bbWeight=0.18, gcrefRegs=A00000 {x21 x23}, byrefRegs=000
             sxtw    w3, w0
             b       G_M26087_IG24
 						;; size=44 bbWeight=0.18 PerfScore 2.57
-G_M26087_IG35:        ; bbWeight=0.26, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
+G_M26087_IG35:        ; bbWeight=0.26, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
             mov     w1, #1
             b       G_M26087_IG27
 						;; size=8 bbWeight=0.26 PerfScore 0.39
-G_M26087_IG36:        ; bbWeight=0.14, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
-            tst     w26, #16
+G_M26087_IG36:        ; bbWeight=0.14, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
+            tst     w22, #16
             cset    x2, ne
-            cmp     w27, #6
+            cmp     w26, #6
             cset    x0, eq
-            mov     w1, w22
+            mov     w1, w23
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             ; gcr arg pop 0
-            sxtw    w22, w0
+            sxtw    w23, w0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -471,10 +473,10 @@ G_M26087_IG36:        ; bbWeight=0.14, gcrefRegs=A00000 {x21 x23}, byrefRegs=000
             mov     x2, x0
             ; gcrRegs +[x2]
             ldr     x0, [x21, #0x10]
-            str     w22, [x2, #0x18]
+            str     w23, [x2, #0x18]
             add     x14, x2, #16
...
+4 (+0.27%) : 10679.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
@@ -19,11 +19,11 @@
 ;  V07 loc3         [V07    ] ( 10, 15.80)  struct (80) [fp+0xA0]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Reflection.MetadataEnumResult>
 ;  V08 loc4         [V08,T00] ( 10, 19.90)     int  ->  x19        
 ;  V09 loc5         [V09,T02] (  6, 12.71)     int  ->  x20        
-;  V10 loc6         [V10,T08] (  5,  8.38)     int  ->  x26         ld-addr-op
-;  V11 loc7         [V11,T30] (  3,  2.98)     int  ->  x27        
-;  V12 loc8         [V12,T24] (  3,  3.97)   ubyte  ->  x22        
+;  V10 loc6         [V10,T08] (  5,  8.38)     int  ->  x22         ld-addr-op
+;  V11 loc7         [V11,T30] (  3,  2.98)     int  ->  x26        
+;  V12 loc8         [V12,T24] (  3,  3.97)   ubyte  ->  x23        
 ;* V13 loc9         [V13    ] (  0,  0   )   ubyte  ->  zero-ref   
-;  V14 loc10        [V14,T40] (  2,  0.28)     int  ->  x22        
+;  V14 loc10        [V14,T40] (  2,  0.28)     int  ->  x23        
 ;* V15 loc11        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Reflection.MdFieldInfo>
 ;* V16 loc12        [V16    ] (  0,  0   )  struct (16) zero-ref    <System.MdUtf8String>
 ;# V17 OutArgs      [V17    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -103,10 +103,10 @@
 ;  V91 tmp74        [V91,T22] (  2,  4.00)    long  ->   x3         "Cast away GC"
 ;  V92 tmp75        [V92,T23] (  2,  4.00)    long  ->   x3         "argument with side effect"
 ;  V93 tmp76        [V93,T37] (  3,  1.21)     ref  ->   x2         "arr expr"
-;  V94 cse0         [V94,T15] (  2,  5.40)   byref  ->  x23         hoist "CSE #04: aggressive"
-;  V95 cse1         [V95,T16] (  2,  5.40)     int  ->  x21         hoist "CSE #05: aggressive"
-;  V96 rat0         [V96,T04] (  4, 10.80)    long  ->   x3         "Strength reduced derived IV"
-;  V97 rat1         [V97,T05] (  4, 10.80)     int  ->  x22         "Trip count IV"
+;  V94 cse0         [V94,T15] (  2,  5.40)   byref  ->   x3         hoist "CSE #04: aggressive"
+;  V95 cse1         [V95,T16] (  2,  5.40)     int  ->  x23         hoist "CSE #05: aggressive"
+;  V96 rat0         [V96,T04] (  4, 10.80)   byref  ->   x3         "Strength reduced derived IV"
+;  V97 rat1         [V97,T05] (  4, 10.80)     int  ->  x21         "Trip count IV"
 ;
 ; Lcl frame size = 224
 
@@ -276,20 +276,19 @@ G_M26087_IG14:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcr arg pop 0
             mov     w2, #0xD1FFAB1E
             str     w2, [x0, #0x10]
-            add     x23, x0, #16
-            ; byrRegs +[x23]
-            and     w21, w20, #0xD1FFAB1E
-            mov     x3, xzr
-            mov     w22, #1
-						;; size=44 bbWeight=2.70 PerfScore 17.55
-G_M26087_IG15:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref, isz
+            add     x3, x0, #16
+            ; byrRegs +[x3]
+            and     w23, w20, #0xD1FFAB1E
+            mov     w21, #1
+						;; size=40 bbWeight=2.70 PerfScore 16.20
+G_M26087_IG15:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
             ; gcrRegs -[x0]
-            ldr     w2, [x23, x3]
-            cmp     w2, w21
+            ldr     w2, [x3]
+            cmp     w2, w23
             bne     G_M26087_IG30
 						;; size=12 bbWeight=2.70 PerfScore 12.15
 G_M26087_IG16:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x23]
+            ; byrRegs -[x3]
             tst     w20, #0xD1FFAB1E
             beq     G_M26087_IG41
 						;; size=8 bbWeight=2.70 PerfScore 4.05
@@ -300,9 +299,9 @@ G_M26087_IG17:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             bl      <unknown method>
             ; gcr arg pop 0
             tbnz    w0, #31, G_M26087_IG49
-            ldr     w26, [fp, #0x90]	// [V45 tmp28]
-            and     w27, w26, #7
-            tbz     w26, #6, G_M26087_IG27
+            ldr     w22, [fp, #0x90]	// [V45 tmp28]
+            and     w26, w22, #7
+            tbz     w22, #6, G_M26087_IG27
 						;; size=32 bbWeight=2.70 PerfScore 18.90
 G_M26087_IG18:        ; bbWeight=1.91, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x21, [fp, #0x38]	// [V00 this]
@@ -310,19 +309,19 @@ G_M26087_IG18:        ; bbWeight=1.91, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ldr     x2, [x21, #0x10]
             ; gcrRegs +[x2]
             ldr     x2, [x2, #0x08]
-            ldr     x23, [fp, #0x28]	// [V02 arg2]
-            ; gcrRegs +[x23]
-            cmp     x23, x2
-            cset    x22, ne
-            cbnz    w22, G_M26087_IG31
+            ldr     x27, [fp, #0x28]	// [V02 arg2]
+            ; gcrRegs +[x27]
+            cmp     x27, x2
+            cset    x23, ne
+            cbnz    w23, G_M26087_IG31
 						;; size=28 bbWeight=1.91 PerfScore 22.95
-G_M26087_IG19:        ; bbWeight=1.81, gcVars=00000000000C0040 {V01 V03 V05}, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M26087_IG19:        ; bbWeight=1.81, gcVars=00000000000C0040 {V01 V03 V05}, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x2]
             ; GC ptr vars -{V00 V02}
             cmp     w25, #1
             bne     G_M26087_IG33
 						;; size=8 bbWeight=1.81 PerfScore 2.72
-G_M26087_IG20:        ; bbWeight=1.77, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG20:        ; bbWeight=1.77, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             add     x2, fp, #136	// [V50 tmp33]
             mov     x0, x28
             mov     w1, w20
@@ -340,36 +339,36 @@ G_M26087_IG20:        ; bbWeight=1.77, gcrefRegs=A00000 {x21 x23}, byrefRegs=000
             blr     x2
             ; gcr arg pop 0
 						;; size=56 bbWeight=1.77 PerfScore 23.90
-G_M26087_IG21:        ; bbWeight=1.77, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG21:        ; bbWeight=1.77, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             mov     w3, #1
             cmp     w25, #1
             bne     G_M26087_IG43
             cmp     w0, w24
             beq     G_M26087_IG35
 						;; size=20 bbWeight=1.77 PerfScore 6.20
-G_M26087_IG22:        ; bbWeight=1.59, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
+G_M26087_IG22:        ; bbWeight=1.59, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
             mov     w3, wzr
 						;; size=4 bbWeight=1.59 PerfScore 0.80
-G_M26087_IG23:        ; bbWeight=1.77, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG23:        ; bbWeight=1.77, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             cbnz    w3, G_M26087_IG34
 						;; size=4 bbWeight=1.77 PerfScore 1.77
-G_M26087_IG24:        ; bbWeight=1.68, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG24:        ; bbWeight=1.68, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             cmp     w25, #1
             bne     G_M26087_IG36
 						;; size=8 bbWeight=1.68 PerfScore 2.52
-G_M26087_IG25:        ; bbWeight=0.90, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
+G_M26087_IG25:        ; bbWeight=0.90, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
             mov     w2, #1
 						;; size=4 bbWeight=0.90 PerfScore 0.45
-G_M26087_IG26:        ; bbWeight=1.68, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG26:        ; bbWeight=1.68, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             tst     w2, #255
-            str     x23, [fp, #0x28]	// [V02 arg2]
+            str     x27, [fp, #0x28]	// [V02 arg2]
             ; GC ptr vars +{V02}
             str     x21, [fp, #0x38]	// [V00 this]
             ; GC ptr vars +{V00}
             beq     G_M26087_IG47
 						;; size=16 bbWeight=1.68 PerfScore 5.89
 G_M26087_IG27:        ; bbWeight=2.70, gcVars=00000000000C04C0 {V00 V01 V02 V03 V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x21 x23]
+            ; gcrRegs -[x21 x27]
             add     w19, w19, #1
             ldr     w2, [fp, #0xA8]	// [V07 loc3+0x08]
             cmp     w19, w2
@@ -387,8 +386,8 @@ G_M26087_IG28:        ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=000
 						;; size=28 bbWeight=1.00 PerfScore 7.00
 G_M26087_IG29:        ; bbWeight=0.20, gcVars=00000000000C04C0 {V00 V01 V02 V03 V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars +{V00 V01 V02 V03 V05 V10 V18}
-            ldr     x23, [fp, #0x28]	// [V02 arg2]
-            ; gcrRegs +[x23]
+            ldr     x27, [fp, #0x28]	// [V02 arg2]
+            ; gcrRegs +[x27]
             ldr     x2, [fp, #0xA0]	// [V07 loc3]
             ; gcrRegs +[x2]
             ldr     w0, [x2, #0x08]
@@ -398,49 +397,52 @@ G_M26087_IG29:        ; bbWeight=0.20, gcVars=00000000000C04C0 {V00 V01 V02 V03
             ; gcrRegs -[x2]
             ; byrRegs +[x2]
             ldr     w20, [x2, w19, UXTW #2]
-            str     x23, [fp, #0x28]	// [V02 arg2]
+            str     x27, [fp, #0x28]	// [V02 arg2]
             b       G_M26087_IG14
 						;; size=36 bbWeight=0.20 PerfScore 2.83
-G_M26087_IG30:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref, isz
-            ; gcrRegs -[x23]
-            ; byrRegs -[x2] +[x23]
+G_M26087_IG30:        ; bbWeight=2.70, gcrefRegs=0000 {}, byrefRegs=0008 {x3}, byref, isz
+            ; gcrRegs -[x27]
+            ; byrRegs -[x2] +[x3]
+            ldr     x27, [fp, #0x28]	// [V02 arg2]
+            ; gcrRegs +[x27]
             add     x3, x3, #4
-            sub     w22, w22, #1
-            cbnz    w22, G_M26087_IG15
+            sub     w21, w21, #1
+            str     x27, [fp, #0x28]	// [V02 arg2]
+            cbnz    w21, G_M26087_IG15
             b       G_M26087_IG40
-						;; size=16 bbWeight=2.70 PerfScore 8.10
-G_M26087_IG31:        ; bbWeight=0.14, gcVars=00000000000C0040 {V01 V03 V05}, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x21 x23]
-            ; byrRegs -[x23]
+						;; size=24 bbWeight=2.70 PerfScore 16.20
+G_M26087_IG31:        ; bbWeight=0.14, gcVars=00000000000C0040 {V01 V03 V05}, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x21]
+            ; byrRegs -[x3]
             ; GC ptr vars -{V00 V02 V10 V18}
-            cmp     w27, #1
+            cmp     w26, #1
             bne     G_M26087_IG19
 						;; size=8 bbWeight=0.14 PerfScore 0.20
-G_M26087_IG32:        ; bbWeight=0.10, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
-            str     x23, [fp, #0x28]	// [V02 arg2]
+G_M26087_IG32:        ; bbWeight=0.10, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
+            str     x27, [fp, #0x28]	// [V02 arg2]
             ; GC ptr vars +{V02}
             str     x21, [fp, #0x38]	// [V00 this]
             ; GC ptr vars +{V00}
             b       G_M26087_IG27
 						;; size=12 bbWeight=0.10 PerfScore 0.30
-G_M26087_IG33:        ; bbWeight=0.85, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M26087_IG33:        ; bbWeight=0.85, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref, isz
             ; GC ptr vars -{V00 V02}
             cmp     w25, #2
             beq     G_M26087_IG20
 						;; size=8 bbWeight=0.85 PerfScore 1.27
-G_M26087_IG34:        ; bbWeight=0.14, gcrefRegs=A00000 {x21 x23}, byrefRegs=0000 {}, byref
-            tst     w26, #16
+G_M26087_IG34:        ; bbWeight=0.14, gcrefRegs=8200000 {x21 x27}, byrefRegs=0000 {}, byref
+            tst     w22, #16
             cset    x2, ne
-            cmp     w27, #6
+            cmp     w26, #6
             cset    x0, eq
-            mov     w1, w22
+            mov     w1, w23
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             ; gcr arg pop 0
-            sxtw    w22, w0
+            sxtw    w23, w0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -450,10 +452,10 @@ G_M26087_IG34:        ; bbWeight=0.14, gcrefRegs=A00000 {x21 x23}, byrefRegs=000
             mov     x2, x0
             ; gcrRegs +[x2]
             ldr     x0, [x21, #0x10]
-            str     w22, [x2, #0x18]
+            str     w23, [x2, #0x18]
             add     x14, x2, #16
             ; byrRegs +[x14]
-            mov     x15, x23
+            mov     x15, x27
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
@@ -467,7 +469,7 @@ G_M26087_IG34:        ; bbWeight=0.14, gcrefRegs=A00000 {x21 x23}, byrefRegs=000
             ; byrRegs -[x14]
             str     w20, [x2, #0x1C]
             str     xzr, [x2, #0x20]
-            str     w26, [x2, #0x30]
+            str     w22, [x2, #0x30]
             ldr     x0, [fp, #0x20]	// [V03 arg3]
             ; byrRegs +[x0]
...
benchmarks.run_tiered.windows.arm64.checked.mch
-12 (-11.11%) : 37911.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
@@ -17,23 +17,22 @@
 ;* V06 tmp2         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V07 tmp3         [V07    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V08 tmp4         [V08,T03] (  4,  2.75)     ref  ->   x2         single-def "field V02.array (fldOffset=0x0)" P-INDEP
-;  V09 cse0         [V09,T05] (  2,  4.25)    long  ->  x22         hoist "CSE #03: aggressive"
-;  V10 cse1         [V10,T04] (  2,  4.25)   byref  ->  x21         hoist "CSE #02: aggressive"
-;  V11 cse2         [V11,T06] (  3,  1.25)     int  ->  x20         "CSE #04: aggressive"
-;  V12 rat0         [V12,T00] (  4, 12.25)    long  ->  x23         "Strength reduced derived IV"
+;  V09 cse0         [V09,T04] (  2,  4.25)    long  ->  x22         hoist "CSE #03: aggressive"
+;  V10 cse1         [V10,T06] (  2,  0.50)   byref  ->  x21         hoist "CSE #02: aggressive"
+;  V11 cse2         [V11,T05] (  3,  1.25)     int  ->  x20         "CSE #04: aggressive"
+;  V12 rat0         [V12,T00] (  4, 12.25)   byref  ->  x21         "Strength reduced derived IV"
 ;  V13 rat1         [V13,T01] (  4, 12.25)     int  ->  x20         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M38436_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-						;; size=24 bbWeight=1 PerfScore 5.00
+						;; size=20 bbWeight=1 PerfScore 4.00
 G_M38436_IG02:        ; bbWeight=1, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             cbz     x2, G_M38436_IG06
@@ -49,32 +48,30 @@ G_M38436_IG04:        ; bbWeight=0.25, gcrefRegs=80004 {x2 x19}, byrefRegs=0000
             ldr     xzr, [x19]
             ldr     x1, [x19]
             ldr     x22, [x1, #0x48]
-            mov     x23, xzr
-						;; size=20 bbWeight=0.25 PerfScore 2.50
+						;; size=16 bbWeight=0.25 PerfScore 2.38
 G_M38436_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
             ; gcrRegs -[x2]
-            ldr     x1, [x21, x23]
+            ldr     x1, [x21]
             ; gcrRegs +[x1]
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x2, [x22, #0x20]
             blr     x2
             ; gcrRegs -[x0-x1]
-            add     x23, x23, #8
+            add     x21, x21, #8
             sub     w20, w20, #1
             cbnz    w20, G_M38436_IG05
 						;; size=28 bbWeight=4 PerfScore 38.00
 G_M38436_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ; byrRegs -[x21]
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 108, prolog size 20, PerfScore 54.75, instruction count 27, allocated bytes for code 108 (MethodHash=b16469db) for method Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
+; Total bytes of code 96, prolog size 16, PerfScore 51.62, instruction count 24, allocated bytes for code 96 (MethodHash=b16469db) for method Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -85,7 +82,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
+  Function Length   : 24 (0x00018) Actual length = 96 (0x000060)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -93,9 +90,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D1 07       save_reg X#4 Z#7 (0x07); str x23, [sp, #56]
     E6          save_next
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
+    E4          end
     E4          end
 
-16 (-10.81%) : 8062.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
@@ -11,7 +11,7 @@
 ;  V00 arg0         [V00,T03] (  5,  3.75)     ref  ->   x0         class-hnd single-def <System.String>
 ;* V01 loc0         [V01,T07] (  0,  0   )     int  ->  zero-ref   
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T05] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V03 tmp1         [V03,T04] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V04 tmp2         [V04,T00] (  4, 24   )  ushort  ->   x0         "Inlining Arg"
 ;* V05 tmp3         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V06 tmp4         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
@@ -32,19 +32,18 @@
 ;* V21 tmp19        [V21    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
 ;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
-;  V24 cse0         [V24,T04] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V25 cse1         [V25,T06] (  3,  1.25)     int  ->  x19         "CSE #02: aggressive"
-;  V26 rat0         [V26,T01] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V24 cse0         [V24,T06] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V25 cse1         [V25,T05] (  3,  1.25)     int  ->  x19         "CSE #02: aggressive"
+;  V26 rat0         [V26,T01] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V27 rat1         [V27,T02] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M44603_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M44603_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             cbz     x0, G_M44603_IG11
@@ -57,11 +56,10 @@ G_M44603_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
 G_M44603_IG04:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #12
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M44603_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldrh    w0, [x20, x21]
+            ldrh    w0, [x20]
             cmp     w0, #0xD1FFAB1E
             bhs     G_M44603_IG09
 						;; size=12 bbWeight=4 PerfScore 18.00
@@ -77,11 +75,10 @@ G_M44603_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M44603_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M44603_IG09:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, gcvars, byref, isz
             ; byrRegs +[x20]
             movz    x1, #0xD1FFAB1E      // code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
@@ -93,7 +90,7 @@ G_M44603_IG09:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             cbz     w0, G_M44603_IG07
 						;; size=24 bbWeight=2 PerfScore 13.00
 G_M44603_IG10:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
-            add     x21, x21, #2
+            add     x20, x20, #2
             sub     w19, w19, #1
             cbnz    w19, G_M44603_IG05
 						;; size=12 bbWeight=4 PerfScore 8.00
@@ -102,13 +99,12 @@ G_M44603_IG11:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M44603_IG12:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 148, prolog size 16, PerfScore 62.50, instruction count 37, allocated bytes for code 148 (MethodHash=3ff251c4) for method System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
+; Total bytes of code 132, prolog size 12, PerfScore 59.38, instruction count 33, allocated bytes for code 132 (MethodHash=3ff251c4) for method System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -119,7 +115,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 37 (0x00025) Actual length = 148 (0x000094)
+  Function Length   : 33 (0x00021) Actual length = 132 (0x000084)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -130,9 +126,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-12 (-8.82%) : 7137.dasm - System.Text.Encodings.Web.TextEncoderSettings:AllowRanges(System.Text.Unicode.UnicodeRange[]):this (Tier1)
@@ -9,25 +9,24 @@
 ;
 ;  V00 this         [V00,T02] (  5,  6.50)     ref  ->  x19         this class-hnd single-def <System.Text.Encodings.Web.TextEncoderSettings>
 ;  V01 arg1         [V01,T03] (  5,  4.25)     ref  ->   x1         class-hnd single-def <System.Text.Unicode.UnicodeRange[]>
-;* V02 loc0         [V02,T07] (  0,  0   )     int  ->  zero-ref   
+;* V02 loc0         [V02,T06] (  0,  0   )     int  ->  zero-ref   
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 cse0         [V04,T05] (  2,  4.25)    long  ->  x22         hoist "CSE #03: aggressive"
-;  V05 cse1         [V05,T04] (  2,  4.25)   byref  ->  x21         hoist "CSE #02: aggressive"
-;  V06 cse2         [V06,T06] (  3,  2.25)     int  ->  x20         "CSE #04: aggressive"
-;  V07 rat0         [V07,T00] (  4, 12.25)    long  ->  x23         "Strength reduced derived IV"
+;  V04 cse0         [V04,T04] (  2,  4.25)    long  ->  x22         hoist "CSE #03: aggressive"
+;  V05 cse1         [V05,T07] (  2,  0.50)   byref  ->  x21         hoist "CSE #02: aggressive"
+;  V06 cse2         [V06,T05] (  3,  2.25)     int  ->  x20         "CSE #04: aggressive"
+;  V07 rat0         [V07,T00] (  4, 12.25)   byref  ->  x21         "Strength reduced derived IV"
 ;  V08 rat1         [V08,T01] (  4, 12.25)     int  ->  x20         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M46771_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-						;; size=24 bbWeight=1 PerfScore 5.00
+						;; size=20 bbWeight=1 PerfScore 4.00
 G_M46771_IG02:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x1]
             cbz     x1, G_M46771_IG06
@@ -42,29 +41,27 @@ G_M46771_IG03:        ; bbWeight=0.25, gcrefRegs=80002 {x1 x19}, byrefRegs=0000
             ldr     x1, [x19]
             ; gcrRegs -[x1]
             ldr     x22, [x1, #0x48]
-            mov     x23, xzr
-						;; size=20 bbWeight=0.25 PerfScore 2.50
+						;; size=16 bbWeight=0.25 PerfScore 2.38
 G_M46771_IG04:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
-            ldr     x1, [x21, x23]
+            ldr     x1, [x21]
             ; gcrRegs +[x1]
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x2, [x22, #0x38]
             blr     x2
             ; gcrRegs -[x0-x1]
-            add     x23, x23, #8
+            add     x21, x21, #8
             sub     w20, w20, #1
             cbnz    w20, G_M46771_IG04
 						;; size=28 bbWeight=4 PerfScore 38.00
 G_M46771_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ; byrRegs -[x21]
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 G_M46771_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #8
             movz    x1, #0xD1FFAB1E      // code for System.Text.Encodings.Web.ThrowHelper:ThrowArgumentNullException(int)
@@ -75,7 +72,7 @@ G_M46771_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             brk_windows #0
 						;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 136, prolog size 20, PerfScore 57.00, instruction count 34, allocated bytes for code 136 (MethodHash=3e54494c) for method System.Text.Encodings.Web.TextEncoderSettings:AllowRanges(System.Text.Unicode.UnicodeRange[]):this (Tier1)
+; Total bytes of code 124, prolog size 16, PerfScore 53.88, instruction count 31, allocated bytes for code 124 (MethodHash=3e54494c) for method System.Text.Encodings.Web.TextEncoderSettings:AllowRanges(System.Text.Unicode.UnicodeRange[]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -86,7 +83,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
+  Function Length   : 31 (0x0001f) Actual length = 124 (0x00007c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -94,9 +91,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D1 07       save_reg X#4 Z#7 (0x07); str x23, [sp, #56]
     E6          save_next
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
+    E4          end
     E4          end
 
-4 (-0.13%) : 5903.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
@@ -11,45 +11,45 @@
 ;  V00 this         [V00,T00] (107,111.50)     ref  ->  x19         this class-hnd single-def <System.Reflection.Emit.SignatureHelper>
 ;  V01 arg1         [V01,T01] ( 39, 70.75)     ref  ->  x20         class-hnd <System.Type>
 ;  V02 arg2         [V02,T06] (  4, 20   )   ubyte  ->  x21        
-;  V03 loc0         [V03,T72] (  3,  1.50)     ref  ->  x20         class-hnd single-def <<unknown class>>
-;  V04 loc1         [V04,T77] (  2,  0.75)     ref  ->  x20         class-hnd single-def <<unknown class>>
+;  V03 loc0         [V03,T71] (  3,  1.50)     ref  ->  x20         class-hnd single-def <<unknown class>>
+;  V04 loc1         [V04,T76] (  2,  0.75)     ref  ->  x20         class-hnd single-def <<unknown class>>
 ;* V05 loc2         [V05,T80] (  0,  0   )     int  ->  zero-ref   
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Type>
 ;* V07 loc4         [V07,T78] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Reflection.Emit.RuntimeTypeBuilder>
-;  V08 loc5         [V08,T53] (  4,  2   )     int  ->  x21        
+;  V08 loc5         [V08,T52] (  4,  2   )     int  ->  x21        
 ;* V09 loc6         [V09,T79] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Reflection.Emit.RuntimeEnumBuilder>
-;  V10 loc7         [V10,T51] (  5,  2.50)     ref  ->  x21         class-hnd exact single-def <System.Reflection.Emit.RuntimeTypeBuilder>
-;  V11 loc8         [V11,T54] (  4,  2   )     int  ->  x23        
-;  V12 loc9         [V12,T52] (  5,  2.25)     int  ->  x20        
+;  V10 loc7         [V10,T50] (  5,  2.50)     ref  ->  x21         class-hnd exact single-def <System.Reflection.Emit.RuntimeTypeBuilder>
+;  V11 loc8         [V11,T53] (  4,  2   )     int  ->  x23        
+;  V12 loc9         [V12,T51] (  5,  2.25)     int  ->  x20        
 ;* V13 loc10        [V13,T81] (  0,  0   )     int  ->  zero-ref   
-;  V14 loc11        [V14,T23] (  8,  4   )   ubyte  ->  x24        
+;  V14 loc11        [V14,T22] (  8,  4   )   ubyte  ->  x24        
 ;# V15 OutArgs      [V15    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V16 tmp1         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Reflection.Emit.RuntimeTypeBuilder>
 ;* V17 tmp2         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Reflection.Emit.RuntimeEnumBuilder>
 ;* V18 tmp3         [V18    ] (  0,  0   )     int  ->  zero-ref    "spilling qmarkNull"
 ;* V19 tmp4         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.MethodBase>
 ;* V20 tmp5         [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V21 tmp6         [V21,T55] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
-;  V22 tmp7         [V22,T27] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
-;  V23 tmp8         [V23,T28] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V24 tmp9         [V24,T56] (  4,  2   )     int  ->   x0         "Inline stloc first use temp"
-;  V25 tmp10        [V25,T29] (  3,  3   )     ref  ->   x1         class-hnd single-def "impAppendStmt" <ubyte[]>
-;  V26 tmp11        [V26,T30] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V27 tmp12        [V27,T57] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
-;  V28 tmp13        [V28,T31] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
-;  V29 tmp14        [V29,T32] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V30 tmp15        [V30,T58] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
-;  V31 tmp16        [V31,T33] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
-;  V32 tmp17        [V32,T34] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V33 tmp18        [V33,T59] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
-;  V34 tmp19        [V34,T35] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
-;  V35 tmp20        [V35,T36] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V36 tmp21        [V36,T60] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
-;  V37 tmp22        [V37,T37] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
-;  V38 tmp23        [V38,T38] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V39 tmp24        [V39,T61] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
-;  V40 tmp25        [V40,T39] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
-;  V41 tmp26        [V41,T40] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V21 tmp6         [V21,T54] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
+;  V22 tmp7         [V22,T26] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
+;  V23 tmp8         [V23,T27] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V24 tmp9         [V24,T55] (  4,  2   )     int  ->   x0         "Inline stloc first use temp"
+;  V25 tmp10        [V25,T28] (  3,  3   )     ref  ->   x1         class-hnd single-def "impAppendStmt" <ubyte[]>
+;  V26 tmp11        [V26,T29] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V27 tmp12        [V27,T56] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
+;  V28 tmp13        [V28,T30] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
+;  V29 tmp14        [V29,T31] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V30 tmp15        [V30,T57] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
+;  V31 tmp16        [V31,T32] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
+;  V32 tmp17        [V32,T33] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V33 tmp18        [V33,T58] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
+;  V34 tmp19        [V34,T34] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
+;  V35 tmp20        [V35,T35] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V36 tmp21        [V36,T59] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
+;  V37 tmp22        [V37,T36] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
+;  V38 tmp23        [V38,T37] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V39 tmp24        [V39,T60] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
+;  V40 tmp25        [V40,T38] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
+;  V41 tmp26        [V41,T39] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
 ;  V42 tmp27        [V42,T19] (  4,  8   )     int  ->   x1         "Inline stloc first use temp"
 ;  V43 tmp28        [V43,T15] (  3, 12   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
 ;  V44 tmp29        [V44,T16] (  3, 12   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
@@ -61,47 +61,47 @@
 ;  V50 tmp35        [V50,T05] (  3, 24   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
 ;  V51 tmp36        [V51,T18] (  3, 12   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
 ;* V52 tmp37        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
-;  V53 tmp38        [V53,T62] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
-;  V54 tmp39        [V54,T41] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
-;  V55 tmp40        [V55,T42] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V53 tmp38        [V53,T61] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
+;  V54 tmp39        [V54,T40] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
+;  V55 tmp40        [V55,T41] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
 ;* V56 tmp41        [V56    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
 ;* V57 tmp42        [V57    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V58 tmp43        [V58    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.Emit.ModuleBuilder>
-;  V59 tmp44        [V59,T68] (  2,  2   )     int  ->  x20         "Inlining Arg"
-;  V60 tmp45        [V60,T63] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
-;  V61 tmp46        [V61,T43] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
-;  V62 tmp47        [V62,T44] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V63 tmp48        [V63,T69] (  2,  2   )     int  ->  x20         "Inlining Arg"
-;  V64 tmp49        [V64,T64] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
-;  V65 tmp50        [V65,T45] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
-;  V66 tmp51        [V66,T46] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V67 tmp52        [V67,T47] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
-;  V68 tmp53        [V68,T48] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
-;  V69 tmp54        [V69,T66] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V59 tmp44        [V59,T67] (  2,  2   )     int  ->  x20         "Inlining Arg"
+;  V60 tmp45        [V60,T62] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
+;  V61 tmp46        [V61,T42] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
+;  V62 tmp47        [V62,T43] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V63 tmp48        [V63,T68] (  2,  2   )     int  ->  x20         "Inlining Arg"
+;  V64 tmp49        [V64,T63] (  4,  2   )     int  ->   x1         "Inline stloc first use temp"
+;  V65 tmp50        [V65,T44] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <ubyte[]>
+;  V66 tmp51        [V66,T45] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V67 tmp52        [V67,T46] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
+;  V68 tmp53        [V68,T47] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
+;  V69 tmp54        [V69,T65] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
 ;  V70 tmp55        [V70,T09] (  2, 16   )     ref  ->  x20         single-def "argument with side effect"
 ;  V71 tmp56        [V71,T10] (  2, 16   )     ref  ->  x20         single-def "argument with side effect"
 ;  V72 tmp57        [V72,T20] (  2,  8   )     ref  ->  x20         single-def "argument with side effect"
-;  V73 tmp58        [V73,T49] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
-;  V74 tmp59        [V74,T50] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
-;  V75 tmp60        [V75,T67] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V76 tmp61        [V76,T70] (  2,  2   )     int  ->   x1         "argument with side effect"
+;  V73 tmp58        [V73,T48] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
+;  V74 tmp59        [V74,T49] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
+;  V75 tmp60        [V75,T66] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V76 tmp61        [V76,T69] (  2,  2   )     int  ->   x1         "argument with side effect"
 ;  V77 cse0         [V77,T03] (  5, 28   )    long  ->  x23         "CSE #03: aggressive"
 ;  V78 cse1         [V78,T11] (  4, 14   )    long  ->  x24         "CSE #02: aggressive"
-;  V79 cse2         [V79,T71] (  4,  1.75)     int  ->  x22         "CSE #14: moderate"
+;  V79 cse2         [V79,T70] (  4,  1.75)     int  ->  x22         "CSE #14: moderate"
 ;  V80 cse3         [V80,T21] (  3,  6   )     ref  ->   x0         "CSE #04: moderate"
-;  V81 cse4         [V81,T24] (  6,  3   )     ref  ->   x0         multi-def "CSE #08: conservative"
-;  V82 cse5         [V82,T25] (  6,  3   )     ref  ->   x0         multi-def "CSE #16: conservative"
-;  V83 cse6         [V83,T26] (  6,  3   )     ref  ->   x0         multi-def "CSE #23: conservative"
-;  V84 cse7         [V84,T73] (  3,  1.50)     ref  ->   x0         "CSE #13: conservative"
-;  V85 cse8         [V85,T74] (  3,  1.50)     ref  ->   x0         "CSE #32: conservative"
-;  V86 cse9         [V86,T75] (  3,  1.50)     ref  ->   x0         "CSE #37: conservative"
+;  V81 cse4         [V81,T23] (  6,  3   )     ref  ->   x0         multi-def "CSE #08: conservative"
+;  V82 cse5         [V82,T24] (  6,  3   )     ref  ->   x0         multi-def "CSE #16: conservative"
+;  V83 cse6         [V83,T25] (  6,  3   )     ref  ->   x0         multi-def "CSE #23: conservative"
+;  V84 cse7         [V84,T72] (  3,  1.50)     ref  ->   x0         "CSE #13: conservative"
+;  V85 cse8         [V85,T73] (  3,  1.50)     ref  ->   x0         "CSE #32: conservative"
+;  V86 cse9         [V86,T74] (  3,  1.50)     ref  ->   x0         "CSE #37: conservative"
 ;  V87 cse10        [V87,T02] ( 18, 43   )    long  ->  x22         "CSE #01: aggressive"
-;  V88 cse11        [V88,T22] (  2,  4.25)   byref  ->  x20         hoist "CSE #15: moderate"
-;  V89 rat0         [V89,T12] (  4, 12.25)     int  ->  x20         "Trip count IV"
-;  V90 rat1         [V90,T13] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V88 cse11        [V88,T77] (  2,  0.50)   byref  ->  x20         hoist "CSE #15: moderate"
+;  V89 rat0         [V89,T13] (  4, 12.25)     int  ->  x20         "Trip count IV"
+;  V90 rat1         [V90,T12] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V91 rat2         [V91,T14] (  4, 12.25)     int  ->  x22         "Trip count IV"
-;  V92 rat3         [V92,T65] (  3,  2   )     ref  ->   x0         "replacement local"
-;  V93 rat4         [V93,T76] (  3,  1   )    long  ->  [fp+0x18]  spill-single-def "CSE for expectedClsNode"
+;  V92 rat3         [V92,T64] (  3,  2   )     ref  ->   x0         "replacement local"
+;  V93 rat4         [V93,T75] (  3,  1   )    long  ->  [fp+0x18]  spill-single-def "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 16
 
@@ -1066,10 +1066,9 @@ G_M48127_IG54:        ; bbWeight=0.25, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             add     x20, x20, #16
             ; gcrRegs -[x20]
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M48127_IG55:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
-            ldr     x1, [x20, x21]
+            ldr     x1, [x20]
             ; gcrRegs +[x1]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -1080,7 +1079,7 @@ G_M48127_IG55:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20
             ldr     x3, [x3]
             blr     x3
             ; gcrRegs -[x0-x1]
-            add     x21, x21, #8
+            add     x20, x20, #8
             sub     w22, w22, #1
             cbnz    w22, G_M48127_IG55
 						;; size=44 bbWeight=4 PerfScore 46.00
@@ -1214,7 +1213,7 @@ G_M48127_IG64:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2976, prolog size 20, PerfScore 1135.12, instruction count 744, allocated bytes for code 2976 (MethodHash=a85d4400) for method System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
+; Total bytes of code 2972, prolog size 20, PerfScore 1135.00, instruction count 743, allocated bytes for code 2972 (MethodHash=a85d4400) for method System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -1225,7 +1224,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 744 (0x002e8) Actual length = 2976 (0x000ba0)
+  Function Length   : 743 (0x002e7) Actual length = 2972 (0x000b9c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+0 (0.00%) : 28449.dasm - AssignRect:second_assignments(int[,],short[,]) (Tier1)
@@ -28,18 +28,18 @@
 ;  V18 cse4         [V18,T21] (  2, 15.68)     int  ->  x11         "CSE #22: aggressive"
 ;  V19 cse5         [V19,T23] (  2, 15.68)     int  ->  x14         "CSE #24: aggressive"
 ;  V20 cse6         [V20,T06] (  5,172.97)     int  ->   x8         "CSE #07: aggressive"
-;  V21 cse7         [V21,T09] (  7, 98.46)   byref  ->   x0         hoist "CSE #03: aggressive"
+;  V21 cse7         [V21,T09] (  7, 94.75)   byref  ->   x0         hoist "CSE #03: aggressive"
 ;  V22 cse8         [V22,T05] ( 13,266.59)     int  ->  x13         multi-def "CSE #13: aggressive"
-;  V23 cse9         [V23,T10] (  9, 96.64)   byref  ->   x1         hoist "CSE #02: aggressive"
+;  V23 cse9         [V23,T11] (  9, 92.93)   byref  ->   x1         hoist "CSE #02: aggressive"
 ;  V24 cse10        [V24,T16] (  3, 64.71)     int  ->   x4         "CSE #04: aggressive"
 ;  V25 cse11        [V25,T13] (  3, 79.56)     int  ->   x6         hoist "CSE #06: aggressive"
 ;  V26 cse12        [V26,T08] (  8,113.73)     int  ->  x10         hoist multi-def "CSE #12: aggressive"
-;  V27 cse13        [V27,T11] (  3, 94.41)     int  ->   x9         "CSE #09: aggressive"
+;  V27 cse13        [V27,T10] (  3, 94.41)     int  ->   x9         "CSE #09: aggressive"
 ;  V28 cse14        [V28,T30] (  3,  0.75)    long  ->  x21         "CSE #01: aggressive"
 ;  V29 cse15        [V29,T12] (  3, 94.09)    long  ->   x7         "CSE #17: aggressive"
-;  V30 rat0         [V30,T25] (  4, 12.13)    long  ->   x2         "Strength reduced derived IV"
-;  V31 rat1         [V31,T26] (  4, 12.13)     int  ->   x3         "Trip count IV"
-;  V32 rat2         [V32,T27] (  4, 12.13)    long  ->   x2         "Strength reduced derived IV"
+;  V30 rat0         [V30,T25] (  4, 12.13)   byref  ->   x2         "Strength reduced derived IV"
+;  V31 rat1         [V31,T27] (  4, 12.13)     int  ->   x3         "Trip count IV"
+;  V32 rat2         [V32,T26] (  4, 12.13)   byref  ->   x2         "Strength reduced derived IV"
 ;  V33 rat3         [V33,T28] (  4, 12.13)     int  ->   x3         "Trip count IV"
 ;
 ; Lcl frame size = 0
@@ -73,30 +73,34 @@ G_M4546_IG02:        ; bbWeight=0.25, gcrefRegs=180000 {x19 x20}, byrefRegs=0000
             ; gcr arg pop 0
             add     x1, x22, #16
             ; byrRegs +[x1]
-            mov     x2, xzr
+            mov     x2, x1
+            ; byrRegs +[x2]
             mov     w3, #101
 						;; size=52 bbWeight=0.25 PerfScore 1.88
-G_M4546_IG03:        ; bbWeight=3.96, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0002 {x1}, byref, isz
+G_M4546_IG03:        ; bbWeight=3.96, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0006 {x1 x2}, byref, isz
             ; gcrRegs -[x22]
-            strh    wzr, [x1, x2]
+            strh    wzr, [x2]
             add     x2, x2, #2
             sub     w3, w3, #1
             cbnz    w3, G_M4546_IG03
 						;; size=16 bbWeight=3.96 PerfScore 11.88
 G_M4546_IG04:        ; bbWeight=0.25, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0002 {x1}, byref
+            ; byrRegs -[x2]
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
-            mov     x2, xzr
+            mov     x2, x0
+            ; byrRegs +[x2]
             mov     w3, #101
 						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M4546_IG05:        ; bbWeight=3.96, gcrefRegs=180000 {x19 x20}, byrefRegs=0003 {x0 x1}, byref, isz
-            strh    wzr, [x0, x2]
+G_M4546_IG05:        ; bbWeight=3.96, gcrefRegs=180000 {x19 x20}, byrefRegs=0007 {x0 x1 x2}, byref, isz
+            strh    wzr, [x2]
             add     x2, x2, #2
             sub     w3, w3, #1
             cbnz    w3, G_M4546_IG05
 						;; size=16 bbWeight=3.96 PerfScore 11.88
 G_M4546_IG06:        ; bbWeight=0.25, gcrefRegs=180000 {x19 x20}, byrefRegs=0003 {x0 x1}, byref
+            ; byrRegs -[x2]
             mov     w2, wzr
 						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M4546_IG07:        ; bbWeight=0.99, gcrefRegs=180000 {x19 x20}, byrefRegs=0003 {x0 x1}, byref
+0 (0.00%) : 27463.dasm - AssignJagged:second_assignments(int[][],short[][]) (Tier1)
@@ -36,19 +36,19 @@
 ;  V26 cse7         [V26,T30] (  6, 10.97)     ref  ->   x9         multi-def "CSE #49: moderate"
 ;  V27 cse8         [V27,T20] (  3, 23.52)     int  ->   x4         "CSE #28: moderate"
 ;  V28 cse9         [V28,T31] ( 13,  9.68)   byref  ->   x6         hoist "CSE #10: moderate"
-;  V29 cse10        [V29,T05] ( 15,100.05)   byref  ->   x0         hoist "CSE #03: aggressive"
-;  V30 cse11        [V30,T06] ( 16, 97.57)   byref  ->   x1         hoist "CSE #02: aggressive"
+;  V29 cse10        [V29,T05] ( 15, 96.34)   byref  ->   x0         hoist "CSE #03: aggressive"
+;  V30 cse11        [V30,T07] ( 16, 93.86)   byref  ->   x1         hoist "CSE #02: aggressive"
 ;  V31 cse12        [V31,T10] (  7, 64.93)   byref  ->   x4         hoist multi-def "CSE #05: aggressive"
 ;  V32 cse13        [V32,T28] ( 20, 11.59)     int  ->  registers   hoist multi-def "CSE #11: moderate"
 ;  V33 cse14        [V33,T33] (  7,  6.25)     int  ->  registers   hoist multi-def "CSE #04: moderate"
-;  V34 cse15        [V34,T07] (  4, 95.04)    long  ->  x10         "CSE #19: aggressive"
+;  V34 cse15        [V34,T06] (  4, 95.04)    long  ->  x10         "CSE #19: aggressive"
 ;  V35 cse16        [V35,T04] (  4,188.18)    long  ->   x8         "CSE #20: aggressive"
 ;  V36 cse17        [V36,T35] (  5,  4.13)    long  ->   x6         hoist multi-def "CSE #06: moderate"
 ;  V37 cse18        [V37,T37] (  3,  0.96)    long  ->   x9         "CSE #17: moderate"
 ;  V38 cse19        [V38,T43] (  3,  0.19)    long  ->   x5         hoist "CSE #09: conservative"
-;  V39 rat0         [V39,T24] (  4, 12.13)    long  ->   x2         "Strength reduced derived IV"
-;  V40 rat1         [V40,T25] (  4, 12.13)     int  ->   x3         "Trip count IV"
-;  V41 rat2         [V41,T26] (  4, 12.13)    long  ->   x2         "Strength reduced derived IV"
+;  V39 rat0         [V39,T24] (  4, 12.13)   byref  ->   x2         "Strength reduced derived IV"
+;  V40 rat1         [V40,T26] (  4, 12.13)     int  ->   x3         "Trip count IV"
+;  V41 rat2         [V41,T25] (  4, 12.13)   byref  ->   x2         "Strength reduced derived IV"
 ;  V42 rat3         [V42,T27] (  4, 12.13)     int  ->   x3         "Trip count IV"
 ;  V43 rat4         [V43,T12] (  4, 48.03)    long  ->   x5         "Strength reduced derived IV"
 ;  V44 rat5         [V44,T13] (  4, 48.03)     int  ->   x8         "Trip count IV"
@@ -85,30 +85,34 @@ G_M6376_IG02:        ; bbWeight=0.25, gcrefRegs=180000 {x19 x20}, byrefRegs=0000
             ; gcr arg pop 0
             add     x1, x21, #16
             ; byrRegs +[x1]
-            mov     x2, xzr
+            mov     x2, x1
+            ; byrRegs +[x2]
             mov     w3, #101
 						;; size=56 bbWeight=0.25 PerfScore 2.00
-G_M6376_IG03:        ; bbWeight=3.96, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0002 {x1}, byref, isz
+G_M6376_IG03:        ; bbWeight=3.96, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0006 {x1 x2}, byref, isz
             ; gcrRegs -[x21]
-            strh    wzr, [x1, x2]
+            strh    wzr, [x2]
             add     x2, x2, #2
             sub     w3, w3, #1
             cbnz    w3, G_M6376_IG03
 						;; size=16 bbWeight=3.96 PerfScore 11.88
 G_M6376_IG04:        ; bbWeight=0.25, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0002 {x1}, byref
+            ; byrRegs -[x2]
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
-            mov     x2, xzr
+            mov     x2, x0
+            ; byrRegs +[x2]
             mov     w3, #101
 						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M6376_IG05:        ; bbWeight=3.96, gcrefRegs=180000 {x19 x20}, byrefRegs=0003 {x0 x1}, byref, isz
-            strh    wzr, [x0, x2]
+G_M6376_IG05:        ; bbWeight=3.96, gcrefRegs=180000 {x19 x20}, byrefRegs=0007 {x0 x1 x2}, byref, isz
+            strh    wzr, [x2]
             add     x2, x2, #2
             sub     w3, w3, #1
             cbnz    w3, G_M6376_IG05
 						;; size=16 bbWeight=3.96 PerfScore 11.88
 G_M6376_IG06:        ; bbWeight=0.25, gcrefRegs=180000 {x19 x20}, byrefRegs=0003 {x0 x1}, byref, isz
+            ; byrRegs -[x2]
             mov     w2, wzr
             cbz     x20, G_M6376_IG51
             ldr     w3, [x20, #0x08]
coreclr_tests.run.windows.arm64.checked.mch
-12 (-15.79%) : 571640.dasm - Pointers+Test`1[int]:FunctionPointerArray(ulong[]):this (FullOpts)
@@ -9,24 +9,23 @@
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <Pointers+Test`1[int]>
 ;  V01 arg1         [V01,T03] (  3,  3   )     ref  ->   x1         class-hnd single-def <ulong[]>
-;  V02 loc0         [V02,T05] (  3,  2.25)     ref  ->   x1         class-hnd single-def <ulong[]>
-;* V03 loc1         [V03,T07] (  0,  0   )     int  ->  zero-ref   
+;  V02 loc0         [V02,T04] (  3,  2.25)     ref  ->   x1         class-hnd single-def <ulong[]>
+;* V03 loc1         [V03,T06] (  0,  0   )     int  ->  zero-ref   
 ;  V04 loc2         [V04,T02] (  2,  8   )    long  ->   x1        
 ;* V05 loc3         [V05    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 cse0         [V07,T04] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V08 cse1         [V08,T06] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
-;  V09 rat0         [V09,T00] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V07 cse0         [V07,T07] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V08 cse1         [V08,T05] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
+;  V09 rat0         [V09,T00] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V10 rat1         [V10,T01] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M52437_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M52437_IG02:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x1]
             ldr     w19, [x1, #0x08]
@@ -36,26 +35,24 @@ G_M52437_IG02:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byre
 G_M52437_IG03:        ; bbWeight=0.25, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
             add     x20, x1, #16
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M52437_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x1]
-            ldr     x1, [x20, x21]
+            ldr     x1, [x20]
             mov     w0, wzr
             blr     x1
-            add     x21, x21, #8
+            add     x20, x20, #8
             sub     w19, w19, #1
             cbnz    w19, G_M52437_IG04
 						;; size=24 bbWeight=4 PerfScore 26.00
 G_M52437_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x20]
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=1 PerfScore 5.00
+						;; size=12 bbWeight=1 PerfScore 3.00
 
-; Total bytes of code 76, prolog size 16, PerfScore 39.25, instruction count 19, allocated bytes for code 76 (MethodHash=56d3332a) for method Pointers+Test`1[int]:FunctionPointerArray(ulong[]):this (FullOpts)
+; Total bytes of code 64, prolog size 12, PerfScore 36.12, instruction count 16, allocated bytes for code 64 (MethodHash=56d3332a) for method Pointers+Test`1[int]:FunctionPointerArray(ulong[]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -66,7 +63,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 19 (0x00013) Actual length = 76 (0x00004c)
+  Function Length   : 16 (0x00010) Actual length = 64 (0x000040)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -74,9 +71,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-16 (-13.33%) : 392043.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Tier1)
@@ -8,24 +8,23 @@
 ; with Dynamic PGO: fgCalledCount is 2
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T04] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.String>
-;  V01 loc0         [V01,T05] (  3,  2.95)     ref  ->   x0         class-hnd exact single-def <System.String>
+;  V00 arg0         [V00,T03] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.String>
+;  V01 loc0         [V01,T04] (  3,  2.95)     ref  ->   x0         class-hnd exact single-def <System.String>
 ;* V02 loc1         [V02,T07] (  0,  0   )     int  ->  zero-ref   
 ;  V03 loc2         [V03,T02] (  3, 57.00)  ushort  ->   x0        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 cse0         [V05,T03] (  2, 19.95)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V06 cse1         [V06,T06] (  3,  2.95)     int  ->  x19         "CSE #02: aggressive"
-;  V07 rat0         [V07,T00] (  4, 57.95)    long  ->  x21         "Strength reduced derived IV"
+;  V05 cse0         [V05,T06] (  2,  1.90)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V06 cse1         [V06,T05] (  3,  2.95)     int  ->  x19         "CSE #02: aggressive"
+;  V07 rat0         [V07,T00] (  4, 57.95)   byref  ->  x20         "Strength reduced derived IV"
 ;  V08 rat1         [V08,T01] (  4, 57.95)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M35714_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M35714_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     w19, [x0, #0x08]
@@ -35,11 +34,10 @@ G_M35714_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M35714_IG03:        ; bbWeight=0.95, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #12
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.95 PerfScore 0.95
+						;; size=4 bbWeight=0.95 PerfScore 0.47
 G_M35714_IG04:        ; bbWeight=19.00, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldrh    w0, [x20, x21]
+            ldrh    w0, [x20]
             cbz     w0, G_M35714_IG05
             movz    x1, #0xD1FFAB1E      // code for System.Reflection.Emit.TypeNameBuilder:IsTypeNameReservedChar(ushort):ubyte
             movk    x1, #0xD1FFAB1E LSL #16
@@ -47,7 +45,7 @@ G_M35714_IG04:        ; bbWeight=19.00, gcrefRegs=0000 {}, byrefRegs=100000 {x20
             ldr     x1, [x1]
             blr     x1
             cbnz    w0, G_M35714_IG07
-            add     x21, x21, #2
+            add     x20, x20, #2
             sub     w19, w19, #1
             cbnz    w19, G_M35714_IG04
 						;; size=44 bbWeight=19.00 PerfScore 237.50
@@ -56,22 +54,20 @@ G_M35714_IG05:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=1.00 PerfScore 0.50
 G_M35714_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=1.00 PerfScore 5.00
+						;; size=12 bbWeight=1.00 PerfScore 3.00
 G_M35714_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
 						;; size=4 bbWeight=0 PerfScore 0.00
 G_M35714_IG08:        ; bbWeight=0, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 120, prolog size 16, PerfScore 251.95, instruction count 30, allocated bytes for code 120 (MethodHash=6c0a747d) for method System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Tier1)
+; Total bytes of code 104, prolog size 12, PerfScore 248.47, instruction count 26, allocated bytes for code 104 (MethodHash=6c0a747d) for method System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +78,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
+  Function Length   : 26 (0x0001a) Actual length = 104 (0x000068)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -93,9 +89,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-16 (-11.76%) : 538067.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:MethodHasByRefParameter(System.Reflection.MethodInfo):ubyte (FullOpts)
@@ -8,22 +8,21 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T02] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.Reflection.MethodInfo>
-;  V01 loc0         [V01,T04] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Reflection.ParameterInfo[]>
-;* V02 loc1         [V02,T06] (  0,  0   )     int  ->  zero-ref   
+;  V01 loc0         [V01,T03] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Reflection.ParameterInfo[]>
+;* V02 loc1         [V02,T05] (  0,  0   )     int  ->  zero-ref   
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 cse0         [V04,T03] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V05 cse1         [V05,T05] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
-;  V06 rat0         [V06,T00] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V04 cse0         [V04,T06] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V05 cse1         [V05,T04] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
+;  V06 rat0         [V06,T00] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V07 rat1         [V07,T01] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M42632_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M42632_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Dynamic.Utils.TypeExtensions:GetParametersCached(System.Reflection.MethodBase):System.Reflection.ParameterInfo[]
@@ -38,11 +37,10 @@ G_M42632_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M42632_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #16
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M42632_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [x20, x21]
+            ldr     x0, [x20]
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Dynamic.Utils.TypeExtensions:IsByRefParameter(System.Reflection.ParameterInfo):ubyte
             movk    x1, #0xD1FFAB1E LSL #16
@@ -51,7 +49,7 @@ G_M42632_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, b
             blr     x1
             ; gcrRegs -[x0]
             cbnz    w0, G_M42632_IG07
-            add     x21, x21, #8
+            add     x20, x20, #8
             sub     w19, w19, #1
             cbnz    w19, G_M42632_IG04
 						;; size=40 bbWeight=4 PerfScore 46.00
@@ -60,22 +58,20 @@ G_M42632_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M42632_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M42632_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M42632_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 136, prolog size 16, PerfScore 65.25, instruction count 34, allocated bytes for code 136 (MethodHash=51775977) for method System.Linq.Expressions.Compiler.LambdaCompiler:MethodHasByRefParameter(System.Reflection.MethodInfo):ubyte (FullOpts)
+; Total bytes of code 120, prolog size 12, PerfScore 62.12, instruction count 30, allocated bytes for code 120 (MethodHash=51775977) for method System.Linq.Expressions.Compiler.LambdaCompiler:MethodHasByRefParameter(System.Reflection.MethodInfo):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -86,7 +82,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
+  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -97,9 +93,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
+4 (+0.52%) : 520629.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringInt64() (FullOpts)
@@ -10,27 +10,27 @@
 ;
 ;* V00 loc0         [V00,T22] (  0,  0   )     int  ->  zero-ref    single-def
 ;  V01 loc1         [V01,T03] ( 11,  9.50)     ref  ->  x19         class-hnd exact single-def <<unknown class>>
-;  V02 loc2         [V02    ] (  5,  5   )  struct (64) [fp+0x10]  HFA(simd16)  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.Intrinsics.Vector512`1[long]>
-;  V03 loc3         [V03,T19] (  3,  2   )     ref  ->  x20         class-hnd exact single-def <System.String>
-;  V04 loc4         [V04,T20] (  3,  2   )     ref  ->  x19         class-hnd exact single-def <System.String>
+;  V02 loc2         [V02    ] (  5,  5   )  struct (64) [fp+0x18]  HFA(simd16)  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.Intrinsics.Vector512`1[long]>
+;  V03 loc3         [V03,T18] (  3,  2   )     ref  ->  x20         class-hnd exact single-def <System.String>
+;  V04 loc4         [V04,T19] (  3,  2   )     ref  ->  x19         class-hnd exact single-def <System.String>
 ;* V05 loc5         [V05,T23] (  0,  0   )     int  ->  zero-ref   
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T00] (  2, 15.84)    long  ->   x0         "Strict ordering of exceptions for Array store"
-;  V08 tmp2         [V08,T06] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[long,System.String]>
+;  V08 tmp2         [V08,T05] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[long,System.String]>
 ;* V09 tmp3         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp4         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V11 tmp5         [V11    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V12 tmp6         [V12,T18] (  4,  3.50)     ref  ->   x2        
+;  V12 tmp6         [V12,T17] (  4,  3.50)     ref  ->   x2        
 ;  V13 tmp7         [V13,T28] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V14 tmp8         [V14,T04] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[long,System.String]>
-;  V15 tmp9         [V15,T10] (  2,  4   )    long  ->   x0         "Inlining Arg"
-;  V16 tmp10        [V16,T11] (  2,  4   )    long  ->   x1         "Inlining Arg"
-;  V17 tmp11        [V17,T12] (  2,  4   )    long  ->   x2         "Inlining Arg"
-;  V18 tmp12        [V18,T13] (  2,  4   )    long  ->   x3         "Inlining Arg"
-;  V19 tmp13        [V19,T14] (  2,  4   )    long  ->   x4         "Inlining Arg"
-;  V20 tmp14        [V20,T15] (  2,  4   )    long  ->   x5         "Inlining Arg"
-;  V21 tmp15        [V21,T16] (  2,  4   )    long  ->   x6         "Inlining Arg"
-;  V22 tmp16        [V22,T17] (  2,  4   )    long  ->   x7         "Inlining Arg"
+;  V15 tmp9         [V15,T09] (  2,  4   )    long  ->   x0         "Inlining Arg"
+;  V16 tmp10        [V16,T10] (  2,  4   )    long  ->   x1         "Inlining Arg"
+;  V17 tmp11        [V17,T11] (  2,  4   )    long  ->   x2         "Inlining Arg"
+;  V18 tmp12        [V18,T12] (  2,  4   )    long  ->   x3         "Inlining Arg"
+;  V19 tmp13        [V19,T13] (  2,  4   )    long  ->   x4         "Inlining Arg"
+;  V20 tmp14        [V20,T14] (  2,  4   )    long  ->   x5         "Inlining Arg"
+;  V21 tmp15        [V21,T15] (  2,  4   )    long  ->   x6         "Inlining Arg"
+;  V22 tmp16        [V22,T16] (  2,  4   )    long  ->   x7         "Inlining Arg"
 ;* V23 tmp17        [V23    ] (  0,  0   )  struct (32) zero-ref    HFA(simd16)  "impAppendStmt" <System.Runtime.Intrinsics.Vector256`1[long]>
 ;* V24 tmp18        [V24    ] (  0,  0   )  struct (32) zero-ref    HFA(simd16)  "spilled call-like call argument" <System.Runtime.Intrinsics.Vector256`1[long]>
 ;  V25 tmp19        [V25,T24] (  2,  4   )  simd16  ->  d16         HFA(simd16)  "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[long]>
@@ -40,7 +40,7 @@
 ;  V29 tmp23        [V29,T27] (  2,  4   )  simd16  ->  d19         HFA(simd16)  "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[long]>
 ;* V30 tmp24        [V30    ] (  0,  0   )  struct (32) zero-ref    HFA(simd16)  ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector256`1[long]>
 ;* V31 tmp25        [V31    ] (  0,  0   )  struct (64) zero-ref    HFA(simd16)  do-not-enreg[S] ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector512`1[long]>
-;  V32 tmp26        [V32,T21] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <JIT.HardwareIntrinsics.General._Vector512_1.Program+<>c>
+;  V32 tmp26        [V32,T20] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <JIT.HardwareIntrinsics.General._Vector512_1.Program+<>c>
 ;* V33 tmp27        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V34 tmp28        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V35 tmp29        [V35    ] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  "field V23._lower (fldOffset=0x0)" P-INDEP
@@ -55,24 +55,24 @@
 ;* V44 tmp38        [V44    ] (  0,  0   )  simd16  ->  zero-ref    "V31.[016..032)"
 ;* V45 tmp39        [V45    ] (  0,  0   )  simd16  ->  zero-ref    "V31.[032..048)"
 ;* V46 tmp40        [V46    ] (  0,  0   )  simd16  ->  zero-ref    "V31.[048..064)"
-;  V47 tmp41        [V47,T07] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
-;  V48 tmp42        [V48,T08] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V49 tmp43        [V49,T09] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V47 tmp41        [V47,T06] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
+;  V48 tmp42        [V48,T07] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V49 tmp43        [V49,T08] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
 ;  V50 tmp44        [V50,T29] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
 ;  V51 tmp45        [V51,T30] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
 ;  V52 tmp46        [V52,T31] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V53 cse0         [V53,T05] (  2,  4.21)   byref  ->  x20         hoist "CSE #01: moderate"
-;  V54 rat0         [V54,T01] (  4, 12.13)    long  ->  x21         "Strength reduced derived IV"
-;  V55 rat1         [V55,T02] (  4, 12.13)     int  ->  x22         "Trip count IV"
+;  V53 cse0         [V53,T21] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: moderate"
+;  V54 rat0         [V54,T01] (  4, 12.13)   byref  ->  x20         "Strength reduced derived IV"
+;  V55 rat1         [V55,T02] (  4, 12.13)     int  ->  x21         "Trip count IV"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 72
 
 G_M25863_IG01:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x50]
-            stp     x21, x22, [sp, #0x60]
+            stp     x19, x20, [sp, #0x58]
+            str     x21, [sp, #0x68]
             mov     fp, sp
-            add     x9, fp, #16
+            add     x9, fp, #24
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
@@ -88,9 +88,8 @@ G_M25863_IG02:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcrRegs +[x19]
             add     x20, x19, #16
             ; byrRegs +[x20]
-            mov     x21, xzr
-            mov     w22, #8
-						;; size=36 bbWeight=0.25 PerfScore 1.25
+            mov     w21, #8
+						;; size=32 bbWeight=0.25 PerfScore 1.12
 G_M25863_IG03:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E      // code for TestLibrary.Generator:GetInt64():long
@@ -98,10 +97,10 @@ G_M25863_IG03:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=100000 {
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
-            str     x0, [x20, x21]
-            add     x21, x21, #8
-            sub     w22, w22, #1
-            cbnz    w22, G_M25863_IG03
+            str     x0, [x20]
+            add     x20, x20, #8
+            sub     w21, w21, #1
+            cbnz    w21, G_M25863_IG03
 						;; size=36 bbWeight=3.96 PerfScore 33.66
 G_M25863_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x20]
@@ -117,8 +116,10 @@ G_M25863_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ins     v18.d[1], x5
             ins     v19.d[0], x6
             ins     v19.d[1], x7
-            stp     q16, q17, [fp, #0x10]	// [V02 loc2], [V02 loc2+0x10]
-            stp     q18, q19, [fp, #0x30]	// [V02 loc2+0x20], [V02 loc2+0x30]
+            str     q16, [fp, #0x18]	// [V02 loc2]
+            str     q17, [fp, #0x28]	// [V02 loc2+0x10]
+            str     q18, [fp, #0x38]	// [V02 loc2+0x20]
+            str     q19, [fp, #0x48]	// [V02 loc2+0x30]
             movz    x0, #0xD1FFAB1E      // code for System.Globalization.CultureInfo:get_InvariantCulture():System.Globalization.CultureInfo
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -127,7 +128,7 @@ G_M25863_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs +[x0]
             mov     x2, x0
             ; gcrRegs +[x2]
-            add     x0, fp, #16	// [V02 loc2]
+            add     x0, fp, #24	// [V02 loc2]
             ; gcrRegs -[x0]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -147,7 +148,7 @@ G_M25863_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     x2, [x0]
             ; gcrRegs +[x2]
             cbnz    x2, G_M25863_IG06
-						;; size=140 bbWeight=1 PerfScore 45.50
+						;; size=148 bbWeight=1 PerfScore 47.50
 G_M25863_IG05:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2]
             movz    x0, #0xD1FFAB1E
@@ -232,11 +233,11 @@ G_M25863_IG06:        ; bbWeight=1, gcrefRegs=180004 {x2 x19 x20}, byrefRegs=000
             cbz     w0, G_M25863_IG08
 						;; size=156 bbWeight=1 PerfScore 32.00
 G_M25863_IG07:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x60]
-            ldp     x19, x20, [sp, #0x50]
+            ldr     x21, [sp, #0x68]
+            ldp     x19, x20, [sp, #0x58]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=16 bbWeight=1 PerfScore 4.00
+						;; size=16 bbWeight=1 PerfScore 5.00
 G_M25863_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
@@ -328,7 +329,7 @@ G_M25863_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=180000
             brk_windows #0
 						;; size=280 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 776, prolog size 32, PerfScore 125.28, instruction count 194, allocated bytes for code 776 (MethodHash=208b9af8) for method JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringInt64() (FullOpts)
+; Total bytes of code 780, prolog size 32, PerfScore 128.16, instruction count 195, allocated bytes for code 780 (MethodHash=208b9af8) for method JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringInt64() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -339,7 +340,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 194 (0x000c2) Actual length = 776 (0x000308)
+  Function Length   : 195 (0x000c3) Actual length = 780 (0x00030c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -347,10 +348,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
-    C8 0A       save_regp X#0 Z#10 (0x0A); stp x19, x20, [sp, #80]
+    D0 8D       save_reg X#2 Z#13 (0x0D); str x21, [sp, #104]
+    C8 0B       save_regp X#0 Z#11 (0x0B); stp x19, x20, [sp, #88]
     8D          save_fplr_x #13 (0x0D); stp fp, lr, [sp, #-112]!
     E4          end
     E4          end
-    E4          end
 
+4 (+0.52%) : 520632.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringUInt64() (FullOpts)
@@ -10,27 +10,27 @@
 ;
 ;* V00 loc0         [V00,T22] (  0,  0   )     int  ->  zero-ref    single-def
 ;  V01 loc1         [V01,T03] ( 11,  9.50)     ref  ->  x19         class-hnd exact single-def <<unknown class>>
-;  V02 loc2         [V02    ] (  5,  5   )  struct (64) [fp+0x10]  HFA(simd16)  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.Intrinsics.Vector512`1[ulong]>
-;  V03 loc3         [V03,T19] (  3,  2   )     ref  ->  x20         class-hnd exact single-def <System.String>
-;  V04 loc4         [V04,T20] (  3,  2   )     ref  ->  x19         class-hnd exact single-def <System.String>
+;  V02 loc2         [V02    ] (  5,  5   )  struct (64) [fp+0x18]  HFA(simd16)  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.Intrinsics.Vector512`1[ulong]>
+;  V03 loc3         [V03,T18] (  3,  2   )     ref  ->  x20         class-hnd exact single-def <System.String>
+;  V04 loc4         [V04,T19] (  3,  2   )     ref  ->  x19         class-hnd exact single-def <System.String>
 ;* V05 loc5         [V05,T23] (  0,  0   )     int  ->  zero-ref   
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T00] (  2, 15.84)    long  ->   x0         "Strict ordering of exceptions for Array store"
-;  V08 tmp2         [V08,T06] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[ulong,System.String]>
+;  V08 tmp2         [V08,T05] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[ulong,System.String]>
 ;* V09 tmp3         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp4         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V11 tmp5         [V11    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V12 tmp6         [V12,T18] (  4,  3.50)     ref  ->   x2        
+;  V12 tmp6         [V12,T17] (  4,  3.50)     ref  ->   x2        
 ;  V13 tmp7         [V13,T28] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V14 tmp8         [V14,T04] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[ulong,System.String]>
-;  V15 tmp9         [V15,T10] (  2,  4   )    long  ->   x0         "Inlining Arg"
-;  V16 tmp10        [V16,T11] (  2,  4   )    long  ->   x1         "Inlining Arg"
-;  V17 tmp11        [V17,T12] (  2,  4   )    long  ->   x2         "Inlining Arg"
-;  V18 tmp12        [V18,T13] (  2,  4   )    long  ->   x3         "Inlining Arg"
-;  V19 tmp13        [V19,T14] (  2,  4   )    long  ->   x4         "Inlining Arg"
-;  V20 tmp14        [V20,T15] (  2,  4   )    long  ->   x5         "Inlining Arg"
-;  V21 tmp15        [V21,T16] (  2,  4   )    long  ->   x6         "Inlining Arg"
-;  V22 tmp16        [V22,T17] (  2,  4   )    long  ->   x7         "Inlining Arg"
+;  V15 tmp9         [V15,T09] (  2,  4   )    long  ->   x0         "Inlining Arg"
+;  V16 tmp10        [V16,T10] (  2,  4   )    long  ->   x1         "Inlining Arg"
+;  V17 tmp11        [V17,T11] (  2,  4   )    long  ->   x2         "Inlining Arg"
+;  V18 tmp12        [V18,T12] (  2,  4   )    long  ->   x3         "Inlining Arg"
+;  V19 tmp13        [V19,T13] (  2,  4   )    long  ->   x4         "Inlining Arg"
+;  V20 tmp14        [V20,T14] (  2,  4   )    long  ->   x5         "Inlining Arg"
+;  V21 tmp15        [V21,T15] (  2,  4   )    long  ->   x6         "Inlining Arg"
+;  V22 tmp16        [V22,T16] (  2,  4   )    long  ->   x7         "Inlining Arg"
 ;* V23 tmp17        [V23    ] (  0,  0   )  struct (32) zero-ref    HFA(simd16)  "impAppendStmt" <System.Runtime.Intrinsics.Vector256`1[ulong]>
 ;* V24 tmp18        [V24    ] (  0,  0   )  struct (32) zero-ref    HFA(simd16)  "spilled call-like call argument" <System.Runtime.Intrinsics.Vector256`1[ulong]>
 ;  V25 tmp19        [V25,T24] (  2,  4   )  simd16  ->  d16         HFA(simd16)  "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ulong]>
@@ -40,7 +40,7 @@
 ;  V29 tmp23        [V29,T27] (  2,  4   )  simd16  ->  d19         HFA(simd16)  "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ulong]>
 ;* V30 tmp24        [V30    ] (  0,  0   )  struct (32) zero-ref    HFA(simd16)  ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector256`1[ulong]>
 ;* V31 tmp25        [V31    ] (  0,  0   )  struct (64) zero-ref    HFA(simd16)  do-not-enreg[S] ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector512`1[ulong]>
-;  V32 tmp26        [V32,T21] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <JIT.HardwareIntrinsics.General._Vector512_1.Program+<>c>
+;  V32 tmp26        [V32,T20] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <JIT.HardwareIntrinsics.General._Vector512_1.Program+<>c>
 ;* V33 tmp27        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V34 tmp28        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V35 tmp29        [V35    ] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  "field V23._lower (fldOffset=0x0)" P-INDEP
@@ -55,24 +55,24 @@
 ;* V44 tmp38        [V44    ] (  0,  0   )  simd16  ->  zero-ref    "V31.[016..032)"
 ;* V45 tmp39        [V45    ] (  0,  0   )  simd16  ->  zero-ref    "V31.[032..048)"
 ;* V46 tmp40        [V46    ] (  0,  0   )  simd16  ->  zero-ref    "V31.[048..064)"
-;  V47 tmp41        [V47,T07] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
-;  V48 tmp42        [V48,T08] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V49 tmp43        [V49,T09] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V47 tmp41        [V47,T06] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
+;  V48 tmp42        [V48,T07] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V49 tmp43        [V49,T08] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
 ;  V50 tmp44        [V50,T29] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
 ;  V51 tmp45        [V51,T30] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
 ;  V52 tmp46        [V52,T31] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V53 cse0         [V53,T05] (  2,  4.21)   byref  ->  x20         hoist "CSE #01: moderate"
-;  V54 rat0         [V54,T01] (  4, 12.13)    long  ->  x21         "Strength reduced derived IV"
-;  V55 rat1         [V55,T02] (  4, 12.13)     int  ->  x22         "Trip count IV"
+;  V53 cse0         [V53,T21] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: moderate"
+;  V54 rat0         [V54,T01] (  4, 12.13)   byref  ->  x20         "Strength reduced derived IV"
+;  V55 rat1         [V55,T02] (  4, 12.13)     int  ->  x21         "Trip count IV"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 72
 
 G_M2610_IG01:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x50]
-            stp     x21, x22, [sp, #0x60]
+            stp     x19, x20, [sp, #0x58]
+            str     x21, [sp, #0x68]
             mov     fp, sp
-            add     x9, fp, #16
+            add     x9, fp, #24
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
@@ -88,9 +88,8 @@ G_M2610_IG02:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x19]
             add     x20, x19, #16
             ; byrRegs +[x20]
-            mov     x21, xzr
-            mov     w22, #8
-						;; size=36 bbWeight=0.25 PerfScore 1.25
+            mov     w21, #8
+						;; size=32 bbWeight=0.25 PerfScore 1.12
 G_M2610_IG03:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E      // code for TestLibrary.Generator:GetUInt64():ulong
@@ -98,10 +97,10 @@ G_M2610_IG03:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=100000 {x
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
-            str     x0, [x20, x21]
-            add     x21, x21, #8
-            sub     w22, w22, #1
-            cbnz    w22, G_M2610_IG03
+            str     x0, [x20]
+            add     x20, x20, #8
+            sub     w21, w21, #1
+            cbnz    w21, G_M2610_IG03
 						;; size=36 bbWeight=3.96 PerfScore 33.66
 G_M2610_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x20]
@@ -117,8 +116,10 @@ G_M2610_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             ins     v18.d[1], x5
             ins     v19.d[0], x6
             ins     v19.d[1], x7
-            stp     q16, q17, [fp, #0x10]	// [V02 loc2], [V02 loc2+0x10]
-            stp     q18, q19, [fp, #0x30]	// [V02 loc2+0x20], [V02 loc2+0x30]
+            str     q16, [fp, #0x18]	// [V02 loc2]
+            str     q17, [fp, #0x28]	// [V02 loc2+0x10]
+            str     q18, [fp, #0x38]	// [V02 loc2+0x20]
+            str     q19, [fp, #0x48]	// [V02 loc2+0x30]
             movz    x0, #0xD1FFAB1E      // code for System.Globalization.CultureInfo:get_InvariantCulture():System.Globalization.CultureInfo
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -127,7 +128,7 @@ G_M2610_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             ; gcrRegs +[x0]
             mov     x2, x0
             ; gcrRegs +[x2]
-            add     x0, fp, #16	// [V02 loc2]
+            add     x0, fp, #24	// [V02 loc2]
             ; gcrRegs -[x0]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -147,7 +148,7 @@ G_M2610_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             ldr     x2, [x0]
             ; gcrRegs +[x2]
             cbnz    x2, G_M2610_IG06
-						;; size=140 bbWeight=1 PerfScore 45.50
+						;; size=148 bbWeight=1 PerfScore 47.50
 G_M2610_IG05:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2]
             movz    x0, #0xD1FFAB1E
@@ -232,11 +233,11 @@ G_M2610_IG06:        ; bbWeight=1, gcrefRegs=180004 {x2 x19 x20}, byrefRegs=0000
             cbz     w0, G_M2610_IG08
 						;; size=156 bbWeight=1 PerfScore 32.00
 G_M2610_IG07:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x60]
-            ldp     x19, x20, [sp, #0x50]
+            ldr     x21, [sp, #0x68]
+            ldp     x19, x20, [sp, #0x58]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=16 bbWeight=1 PerfScore 4.00
+						;; size=16 bbWeight=1 PerfScore 5.00
 G_M2610_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
@@ -328,7 +329,7 @@ G_M2610_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=180000
             brk_windows #0
 						;; size=280 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 776, prolog size 32, PerfScore 125.28, instruction count 194, allocated bytes for code 776 (MethodHash=6885f5cd) for method JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringUInt64() (FullOpts)
+; Total bytes of code 780, prolog size 32, PerfScore 128.16, instruction count 195, allocated bytes for code 780 (MethodHash=6885f5cd) for method JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringUInt64() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -339,7 +340,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 194 (0x000c2) Actual length = 776 (0x000308)
+  Function Length   : 195 (0x000c3) Actual length = 780 (0x00030c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -347,10 +348,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
-    C8 0A       save_regp X#0 Z#10 (0x0A); stp x19, x20, [sp, #80]
+    D0 8D       save_reg X#2 Z#13 (0x0D); str x21, [sp, #104]
+    C8 0B       save_regp X#0 Z#11 (0x0B); stp x19, x20, [sp, #88]
     8D          save_fplr_x #13 (0x0D); stp fp, lr, [sp, #-112]!
     E4          end
     E4          end
-    E4          end
 
+4 (+0.53%) : 520626.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringDouble() (FullOpts)
@@ -10,17 +10,17 @@
 ;
 ;* V00 loc0         [V00,T13] (  0,  0   )     int  ->  zero-ref    single-def
 ;  V01 loc1         [V01,T02] ( 11,  9.50)     ref  ->  x19         class-hnd exact single-def <<unknown class>>
-;  V02 loc2         [V02    ] (  5,  5   )  struct (64) [fp+0x10]  HFA(simd16)  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.Intrinsics.Vector512`1[double]>
-;  V03 loc3         [V03,T10] (  3,  2   )     ref  ->  x20         class-hnd exact single-def <System.String>
-;  V04 loc4         [V04,T11] (  3,  2   )     ref  ->  x19         class-hnd exact single-def <System.String>
+;  V02 loc2         [V02    ] (  5,  5   )  struct (64) [fp+0x18]  HFA(simd16)  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.Intrinsics.Vector512`1[double]>
+;  V03 loc3         [V03,T09] (  3,  2   )     ref  ->  x20         class-hnd exact single-def <System.String>
+;  V04 loc4         [V04,T10] (  3,  2   )     ref  ->  x19         class-hnd exact single-def <System.String>
 ;* V05 loc5         [V05,T14] (  0,  0   )     int  ->  zero-ref   
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T15] (  2, 15.84)  double  ->   d0         "Strict ordering of exceptions for Array store"
-;  V08 tmp2         [V08,T05] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[double,System.String]>
+;  V08 tmp2         [V08,T04] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[double,System.String]>
 ;* V09 tmp3         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp4         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V11 tmp5         [V11    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V12 tmp6         [V12,T09] (  4,  3.50)     ref  ->   x2        
+;  V12 tmp6         [V12,T08] (  4,  3.50)     ref  ->   x2        
 ;  V13 tmp7         [V13,T28] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V14 tmp8         [V14,T03] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[double,System.String]>
 ;  V15 tmp9         [V15,T16] (  2,  4   )  double  ->  d16         "Inlining Arg"
@@ -40,7 +40,7 @@
 ;  V29 tmp23        [V29,T27] (  2,  4   )  simd16  ->  d22         HFA(simd16)  "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[double]>
 ;* V30 tmp24        [V30    ] (  0,  0   )  struct (32) zero-ref    HFA(simd16)  ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector256`1[double]>
 ;* V31 tmp25        [V31    ] (  0,  0   )  struct (64) zero-ref    HFA(simd16)  do-not-enreg[S] ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector512`1[double]>
-;  V32 tmp26        [V32,T12] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <JIT.HardwareIntrinsics.General._Vector512_1.Program+<>c>
+;  V32 tmp26        [V32,T11] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <JIT.HardwareIntrinsics.General._Vector512_1.Program+<>c>
 ;* V33 tmp27        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V34 tmp28        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V35 tmp29        [V35    ] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  "field V23._lower (fldOffset=0x0)" P-INDEP
@@ -55,24 +55,24 @@
 ;* V44 tmp38        [V44    ] (  0,  0   )  simd16  ->  zero-ref    "V31.[016..032)"
 ;* V45 tmp39        [V45    ] (  0,  0   )  simd16  ->  zero-ref    "V31.[032..048)"
 ;* V46 tmp40        [V46    ] (  0,  0   )  simd16  ->  zero-ref    "V31.[048..064)"
-;  V47 tmp41        [V47,T06] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
-;  V48 tmp42        [V48,T07] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V49 tmp43        [V49,T08] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V47 tmp41        [V47,T05] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
+;  V48 tmp42        [V48,T06] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V49 tmp43        [V49,T07] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
 ;  V50 tmp44        [V50,T29] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
 ;  V51 tmp45        [V51,T30] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
 ;  V52 tmp46        [V52,T31] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V53 cse0         [V53,T04] (  2,  4.21)   byref  ->  x20         hoist "CSE #01: moderate"
-;  V54 rat0         [V54,T00] (  4, 12.13)    long  ->  x21         "Strength reduced derived IV"
-;  V55 rat1         [V55,T01] (  4, 12.13)     int  ->  x22         "Trip count IV"
+;  V53 cse0         [V53,T12] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: moderate"
+;  V54 rat0         [V54,T00] (  4, 12.13)   byref  ->  x20         "Strength reduced derived IV"
+;  V55 rat1         [V55,T01] (  4, 12.13)     int  ->  x21         "Trip count IV"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 72
 
 G_M10819_IG01:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x50]
-            stp     x21, x22, [sp, #0x60]
+            stp     x19, x20, [sp, #0x58]
+            str     x21, [sp, #0x68]
             mov     fp, sp
-            add     x9, fp, #16
+            add     x9, fp, #24
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
@@ -88,9 +88,8 @@ G_M10819_IG02:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcrRegs +[x19]
             add     x20, x19, #16
             ; byrRegs +[x20]
-            mov     x21, xzr
-            mov     w22, #8
-						;; size=36 bbWeight=0.25 PerfScore 1.25
+            mov     w21, #8
+						;; size=32 bbWeight=0.25 PerfScore 1.12
 G_M10819_IG03:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E      // code for TestLibrary.Generator:GetDouble():double
@@ -98,10 +97,10 @@ G_M10819_IG03:        ; bbWeight=3.96, gcrefRegs=80000 {x19}, byrefRegs=100000 {
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
-            str     d0, [x20, x21]
-            add     x21, x21, #8
-            sub     w22, w22, #1
-            cbnz    w22, G_M10819_IG03
+            str     d0, [x20]
+            add     x20, x20, #8
+            sub     w21, w21, #1
+            cbnz    w21, G_M10819_IG03
 						;; size=36 bbWeight=3.96 PerfScore 33.66
 G_M10819_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x20]
@@ -113,8 +112,10 @@ G_M10819_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ins     v18.d[1], v19.d[0]
             ins     v20.d[1], v21.d[0]
             ins     v22.d[1], v23.d[0]
-            stp     q16, q18, [fp, #0x10]	// [V02 loc2], [V02 loc2+0x10]
-            stp     q20, q22, [fp, #0x30]	// [V02 loc2+0x20], [V02 loc2+0x30]
+            str     q16, [fp, #0x18]	// [V02 loc2]
+            str     q18, [fp, #0x28]	// [V02 loc2+0x10]
+            str     q20, [fp, #0x38]	// [V02 loc2+0x20]
+            str     q22, [fp, #0x48]	// [V02 loc2+0x30]
             movz    x0, #0xD1FFAB1E      // code for System.Globalization.CultureInfo:get_InvariantCulture():System.Globalization.CultureInfo
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -123,7 +124,7 @@ G_M10819_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs +[x0]
             mov     x2, x0
             ; gcrRegs +[x2]
-            add     x0, fp, #16	// [V02 loc2]
+            add     x0, fp, #24	// [V02 loc2]
             ; gcrRegs -[x0]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -143,7 +144,7 @@ G_M10819_IG04:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     x2, [x0]
             ; gcrRegs +[x2]
             cbnz    x2, G_M10819_IG06
-						;; size=124 bbWeight=1 PerfScore 41.50
+						;; size=132 bbWeight=1 PerfScore 43.50
 G_M10819_IG05:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2]
             movz    x0, #0xD1FFAB1E
@@ -228,11 +229,11 @@ G_M10819_IG06:        ; bbWeight=1, gcrefRegs=180004 {x2 x19 x20}, byrefRegs=000
             cbz     w0, G_M10819_IG08
 						;; size=156 bbWeight=1 PerfScore 32.00
 G_M10819_IG07:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x21, x22, [sp, #0x60]
-            ldp     x19, x20, [sp, #0x50]
+            ldr     x21, [sp, #0x68]
+            ldp     x19, x20, [sp, #0x58]
             ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=16 bbWeight=1 PerfScore 4.00
+						;; size=16 bbWeight=1 PerfScore 5.00
 G_M10819_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
@@ -324,7 +325,7 @@ G_M10819_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=180000
             brk_windows #0
 						;; size=280 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 760, prolog size 32, PerfScore 121.28, instruction count 190, allocated bytes for code 760 (MethodHash=2a01d5bc) for method JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringDouble() (FullOpts)
+; Total bytes of code 764, prolog size 32, PerfScore 124.16, instruction count 191, allocated bytes for code 764 (MethodHash=2a01d5bc) for method JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringDouble() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -335,7 +336,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 190 (0x000be) Actual length = 760 (0x0002f8)
+  Function Length   : 191 (0x000bf) Actual length = 764 (0x0002fc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -343,10 +344,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    E6          save_next
-    C8 0A       save_regp X#0 Z#10 (0x0A); stp x19, x20, [sp, #80]
+    D0 8D       save_reg X#2 Z#13 (0x0D); str x21, [sp, #104]
+    C8 0B       save_regp X#0 Z#11 (0x0B); stp x19, x20, [sp, #88]
     8D          save_fplr_x #13 (0x0D); stp fp, lr, [sp, #-112]!
     E4          end
     E4          end
-    E4          end
 
libraries.crossgen2.windows.arm64.checked.mch
-16 (-13.79%) : 273863.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
@@ -9,23 +9,22 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T03] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.String>
-;  V01 loc0         [V01,T05] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.String>
-;* V02 loc1         [V02,T07] (  0,  0   )     int  ->  zero-ref   
+;  V01 loc0         [V01,T04] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.String>
+;* V02 loc1         [V02,T06] (  0,  0   )     int  ->  zero-ref   
 ;  V03 loc2         [V03,T02] (  3, 12   )  ushort  ->   x0        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 cse0         [V05,T04] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V06 cse1         [V06,T06] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
-;  V07 rat0         [V07,T00] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V05 cse0         [V05,T07] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V06 cse1         [V06,T05] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
+;  V07 rat0         [V07,T00] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V08 rat1         [V08,T01] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M35714_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M35714_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     w19, [x0, #0x08]
@@ -35,18 +34,17 @@ G_M35714_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M35714_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #12
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M35714_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldrh    w0, [x20, x21]
+            ldrh    w0, [x20]
             cbz     w0, G_M35714_IG05
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M35714_IG07
-            add     x21, x21, #2
+            add     x20, x20, #2
             sub     w19, w19, #1
             cbnz    w19, G_M35714_IG04
 						;; size=40 bbWeight=4 PerfScore 48.00
@@ -55,22 +53,20 @@ G_M35714_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M35714_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M35714_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M35714_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 116, prolog size 16, PerfScore 61.75, instruction count 29, allocated bytes for code 116 (MethodHash=6c0a747d) for method System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
+; Total bytes of code 100, prolog size 12, PerfScore 58.62, instruction count 25, allocated bytes for code 100 (MethodHash=6c0a747d) for method System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -81,7 +77,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
+  Function Length   : 25 (0x00019) Actual length = 100 (0x000064)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -92,9 +88,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-16 (-13.79%) : 24539.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
@@ -9,23 +9,22 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T03] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.String>
-;  V01 loc0         [V01,T05] (  3,  2.25)     ref  ->   x0         class-hnd exact single-def <System.String>
-;* V02 loc1         [V02,T07] (  0,  0   )     int  ->  zero-ref   
+;  V01 loc0         [V01,T04] (  3,  2.25)     ref  ->   x0         class-hnd exact single-def <System.String>
+;* V02 loc1         [V02,T06] (  0,  0   )     int  ->  zero-ref   
 ;  V03 loc2         [V03,T02] (  3, 12   )  ushort  ->   x0        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 cse0         [V05,T04] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V06 cse1         [V06,T06] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
-;  V07 rat0         [V07,T00] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V05 cse0         [V05,T07] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V06 cse1         [V06,T05] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
+;  V07 rat0         [V07,T00] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V08 rat1         [V08,T01] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M35714_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M35714_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     w19, [x0, #0x08]
@@ -35,18 +34,17 @@ G_M35714_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M35714_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #12
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M35714_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldrh    w0, [x20, x21]
+            ldrh    w0, [x20]
             cbz     w0, G_M35714_IG05
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M35714_IG07
-            add     x21, x21, #2
+            add     x20, x20, #2
             sub     w19, w19, #1
             cbnz    w19, G_M35714_IG04
 						;; size=40 bbWeight=4 PerfScore 48.00
@@ -55,22 +53,20 @@ G_M35714_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M35714_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M35714_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M35714_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 116, prolog size 16, PerfScore 61.75, instruction count 29, allocated bytes for code 116 (MethodHash=6c0a747d) for method System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
+; Total bytes of code 100, prolog size 12, PerfScore 58.62, instruction count 25, allocated bytes for code 100 (MethodHash=6c0a747d) for method System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -81,7 +77,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
+  Function Length   : 25 (0x00019) Actual length = 100 (0x000064)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -92,9 +88,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-24 (-13.33%) : 240769.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue]]:System.Collections.Generic.ICollection.Contains(Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue]):ubyte:this (FullOpts)
@@ -10,32 +10,31 @@
 ;
 ;  V00 this         [V00,T04] (  3,  3   )   byref  ->   x0         this single-def
 ;  V01 arg1         [V01,T01] (  3, 12   )   byref  ->  x19         single-def
-;  V02 loc0         [V02,T07] (  3,  2.25)     ref  ->   x0         class-hnd exact single-def <Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue][][]>
-;* V03 loc1         [V03,T09] (  0,  0   )     int  ->  zero-ref   
+;  V02 loc0         [V02,T06] (  3,  2.25)     ref  ->   x0         class-hnd exact single-def <Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue][][]>
+;* V03 loc1         [V03,T08] (  0,  0   )     int  ->  zero-ref   
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05    ] (  2, 16   )  struct (48) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue]>
+;  V05 tmp1         [V05    ] (  2, 16   )  struct (48) [fp+0x10]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue]>
 ;  V06 tmp2         [V06,T00] (  2, 16   )     ref  ->   x0         "argument with side effect"
-;  V07 cse0         [V07,T05] (  2,  4.25)   byref  ->  x21         hoist "CSE #01: aggressive"
-;  V08 cse1         [V08,T08] (  3,  2.25)     int  ->  x20         "CSE #03: aggressive"
-;  V09 cse2         [V09,T06] (  2,  4.25)    long  ->  x22         hoist "CSE #02: aggressive"
-;  V10 rat0         [V10,T02] (  4, 12.25)    long  ->  x23         "Strength reduced derived IV"
+;  V07 cse0         [V07,T09] (  2,  0.50)   byref  ->  x21         hoist "CSE #01: aggressive"
+;  V08 cse1         [V08,T07] (  3,  2.25)     int  ->  x20         "CSE #03: aggressive"
+;  V09 cse2         [V09,T05] (  2,  4.25)    long  ->  x22         hoist "CSE #02: aggressive"
+;  V10 rat0         [V10,T02] (  4, 12.25)   byref  ->  x21         "Strength reduced derived IV"
 ;  V11 rat1         [V11,T03] (  4, 12.25)     int  ->  x20         "Trip count IV"
 ;
-; Lcl frame size = 56
+; Lcl frame size = 48
 
 G_M52719_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x48]
-            stp     x21, x22, [sp, #0x58]
-            str     x23, [sp, #0x68]
+            stp     fp, lr, [sp, #-0x60]!
+            stp     x19, x20, [sp, #0x40]
+            stp     x21, x22, [sp, #0x50]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     xzr, xzr, [x9, #0x20]
             mov     x19, x1
             ; byrRegs +[x19]
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M52719_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=80001 {x0 x19}, byref, isz
             ; byrRegs +[x0]
             ldr     x0, [x0]
@@ -50,29 +49,26 @@ G_M52719_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=80000 {x19
             ; byrRegs +[x21]
             adrp    x22, [HIGH RELOC #0xD1FFAB1E]
             add     x22, x22, [LOW RELOC #0xD1FFAB1E]
-            mov     x23, xzr
-						;; size=16 bbWeight=0.25 PerfScore 0.50
+						;; size=12 bbWeight=0.25 PerfScore 0.38
 G_M52719_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=280000 {x19 x21}, byref
             ; gcrRegs -[x0]
-            ldr     x0, [x21, x23]
+            ldr     x0, [x21]
             ; gcrRegs +[x0]
 						;; size=4 bbWeight=4 PerfScore 12.00
 G_M52719_IG05:        ; bbWeight=4, nogc, extend
-            ldp     x1, x11, [x19]
-            stp     x1, x11, [fp, #0x18]
-            ldp     x1, x11, [x19, #0x10]
-            stp     x1, x11, [fp, #0x28]
-            ldp     x1, x11, [x19, #0x20]
-            stp     x1, x11, [fp, #0x38]
-						;; size=24 bbWeight=4 PerfScore 60.00
+            ldp     q16, q17, [x19]
+            stp     q16, q17, [fp, #0x10]
+            ldr     q16, [x19, #0x20]
+            str     q16, [fp, #0x30]
+						;; size=16 bbWeight=4 PerfScore 32.00
 G_M52719_IG06:        ; bbWeight=4, isz, extend
-            add     x1, fp, #24	// [V05 tmp1]
+            add     x1, fp, #16	// [V05 tmp1]
             mov     x11, x22
             ldr     xip0, [x11]
             blr     xip0
             ; gcrRegs -[x0]
             cbnz    w0, G_M52719_IG09
-            add     x23, x23, #8
+            add     x21, x21, #8
             sub     w20, w20, #1
             cbnz    w20, G_M52719_IG04
 						;; size=32 bbWeight=4 PerfScore 32.00
@@ -81,24 +77,22 @@ G_M52719_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M52719_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x23, [sp, #0x68]
-            ldp     x21, x22, [sp, #0x58]
-            ldp     x19, x20, [sp, #0x48]
-            ldp     fp, lr, [sp], #0x70
+            ldp     x21, x22, [sp, #0x50]
+            ldp     x19, x20, [sp, #0x40]
+            ldp     fp, lr, [sp], #0x60
             ret     lr
-						;; size=20 bbWeight=0.50 PerfScore 3.00
+						;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M52719_IG09:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M52719_IG10:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x23, [sp, #0x68]
-            ldp     x21, x22, [sp, #0x58]
-            ldp     x19, x20, [sp, #0x48]
-            ldp     fp, lr, [sp], #0x70
+            ldp     x21, x22, [sp, #0x50]
+            ldp     x19, x20, [sp, #0x40]
+            ldp     fp, lr, [sp], #0x60
             ret     lr
-						;; size=20 bbWeight=0.50 PerfScore 3.00
+						;; size=16 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 180, prolog size 36, PerfScore 126.50, instruction count 45, allocated bytes for code 180 (MethodHash=22f23210) for method Microsoft.CodeAnalysis.Collections.SegmentedArray`1[Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue]]:System.Collections.Generic.ICollection<T>.Contains(Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue]):ubyte:this (FullOpts)
+; Total bytes of code 156, prolog size 32, PerfScore 95.38, instruction count 39, allocated bytes for code 156 (MethodHash=22f23210) for method Microsoft.CodeAnalysis.Collections.SegmentedArray`1[Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue]]:System.Collections.Generic.ICollection<T>.Contains(Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue]):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -109,7 +103,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 45 (0x0002d) Actual length = 180 (0x0000b4)
+  Function Length   : 39 (0x00027) Actual length = 156 (0x00009c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -120,9 +114,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D1 0D       save_reg X#4 Z#13 (0x0D); str x23, [sp, #104]
     E6          save_next
-    C8 09       save_regp X#0 Z#9 (0x09); stp x19, x20, [sp, #72]
-    8D          save_fplr_x #13 (0x0D); stp fp, lr, [sp, #-112]!
+    C8 08       save_regp X#0 Z#8 (0x08); stp x19, x20, [sp, #64]
+    8B          save_fplr_x #11 (0x0B); stp fp, lr, [sp, #-96]!
+    E4          end
+    E4          end
     E4          end
 
+0 (0.00%) : 17118.dasm - System.Globalization.DateTimeFormatInfo:GetCombinedPatterns(System.String[],System.String[],System.String):System.String[] (FullOpts)
@@ -9,13 +9,13 @@
 ; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T14] (  5,  4.25)     ref  ->  x20         class-hnd single-def <System.String[]>
-;  V01 arg1         [V01,T15] (  5,  4.25)     ref  ->  x21         class-hnd single-def <System.String[]>
+;  V00 arg0         [V00,T13] (  5,  4.25)     ref  ->  x20         class-hnd single-def <System.String[]>
+;  V01 arg1         [V01,T14] (  5,  4.25)     ref  ->  x21         class-hnd single-def <System.String[]>
 ;  V02 arg2         [V02,T07] (  3, 18   )     ref  ->  x19         class-hnd single-def <System.String>
 ;  V03 loc0         [V03,T05] (  4, 34   )     ref  ->  x24         class-hnd exact single-def <System.String[]>
 ;  V04 loc1         [V04,T06] (  3, 33   )     int  ->  [fp+0x1C] 
-;  V05 loc2         [V05,T11] (  5, 14   )     int  ->  x26        
-;* V06 loc3         [V06,T16] (  0,  0   )     int  ->  zero-ref   
+;  V05 loc2         [V05,T10] (  5, 14   )     int  ->  x26        
+;* V06 loc3         [V06,T15] (  0,  0   )     int  ->  zero-ref   
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T00] (  4,128   )     int  ->  x25         "impSpillLclRefs"
 ;  V09 tmp2         [V09,T01] (  2, 64   )     ref  ->  x15         class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
@@ -24,12 +24,12 @@
 ;* V12 tmp5         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp6         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V14 tmp7         [V14,T02] (  2, 64   )     ref  ->   x0         "argument with side effect"
-;  V15 cse0         [V15,T12] (  4,  7   )     int  ->  x23         "CSE #06: aggressive"
+;  V15 cse0         [V15,T11] (  4,  7   )     int  ->  x23         "CSE #06: aggressive"
 ;  V16 cse1         [V16,T09] (  2, 16.25)   byref  ->  x20         hoist "CSE #07: aggressive"
-;  V17 cse2         [V17,T10] (  2, 16.25)   byref  ->  x21         hoist "CSE #08: aggressive"
-;  V18 cse3         [V18,T13] (  4,  7   )     int  ->  x22         "CSE #05: aggressive"
+;  V17 cse2         [V17,T16] (  2,  1.25)   byref  ->  x21         hoist "CSE #08: aggressive"
+;  V18 cse3         [V18,T12] (  4,  7   )     int  ->  x22         "CSE #05: aggressive"
 ;  V19 cse4         [V19,T08] (  2, 17   )    long  ->  x27         hoist "CSE #09: aggressive"
-;  V20 rat0         [V20,T03] (  4, 49   )    long  ->  x28         "Strength reduced derived IV"
+;  V20 rat0         [V20,T03] (  4, 49   )   byref  ->  x28         "Strength reduced derived IV"
 ;  V21 rat1         [V21,T04] (  4, 49   )     int  ->  [fp+0x18]  "Trip count IV"
 ;
 ; Lcl frame size = 16
@@ -124,15 +124,16 @@ G_M35289_IG08:        ; bbWeight=4, gcrefRegs=1080000 {x19 x24}, byrefRegs=30000
 						;; size=8 bbWeight=4 PerfScore 6.00
 G_M35289_IG09:        ; bbWeight=1, gcrefRegs=1080000 {x19 x24}, byrefRegs=300000 {x20 x21}, byref
             mov     w27, w26
-            mov     x28, xzr
+            mov     x28, x21
+            ; byrRegs +[x28]
             str     w23, [fp, #0x18]	// [V21 rat1]
 						;; size=12 bbWeight=1 PerfScore 2.00
-G_M35289_IG10:        ; bbWeight=16, gcrefRegs=1080000 {x19 x24}, byrefRegs=300000 {x20 x21}, byref, isz
+G_M35289_IG10:        ; bbWeight=16, gcrefRegs=1080000 {x19 x24}, byrefRegs=10300000 {x20 x21 x28}, byref, isz
             add     w0, w25, #1
             str     w0, [fp, #0x1C]	// [V04 loc1]
             ldr     x0, [x20, x27, LSL #3]
             ; gcrRegs +[x0]
-            ldr     x2, [x21, x28]
+            ldr     x2, [x28]
             ; gcrRegs +[x2]
             mov     x1, x19
             ; gcrRegs +[x1]
@@ -163,6 +164,7 @@ G_M35289_IG10:        ; bbWeight=16, gcrefRegs=1080000 {x19 x24}, byrefRegs=3000
             cbnz    w25, G_M35289_IG14
 						;; size=96 bbWeight=16 PerfScore 472.00
 G_M35289_IG11:        ; bbWeight=4, gcrefRegs=1080000 {x19 x24}, byrefRegs=300000 {x20 x21}, byref, isz
+            ; byrRegs -[x28]
             add     w26, w26, #1
             cmp     w22, w26
             ldr     w25, [fp, #0x1C]	// [V04 loc1]
@@ -183,13 +185,14 @@ G_M35289_IG13:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x70
             ret     lr
 						;; size=28 bbWeight=1 PerfScore 7.00
-G_M35289_IG14:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=1080000 {x19 x24}, byrefRegs=300000 {x20 x21}, gcvars, byref
+G_M35289_IG14:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=1080000 {x19 x24}, byrefRegs=10300000 {x20 x21 x28}, gcvars, byref
             ; gcrRegs -[x0] +[x19]
-            ; byrRegs +[x20-x21]
+            ; byrRegs +[x20-x21 x28]
             ldr     w25, [fp, #0x1C]	// [V04 loc1]
             b       G_M35289_IG10
 						;; size=8 bbWeight=8 PerfScore 24.00
 G_M35289_IG15:        ; bbWeight=2, gcrefRegs=1080000 {x19 x24}, byrefRegs=300000 {x20 x21}, byref
+            ; byrRegs -[x28]
             str     w25, [fp, #0x1C]	// [V04 loc1]
             b       G_M35289_IG11
 						;; size=8 bbWeight=2 PerfScore 4.00
+0 (0.00%) : 64479.dasm - System.Data.ConstraintCollection:CompareArrays(System.Data.DataColumn[],System.Data.DataColumn[]):ubyte (FullOpts)
@@ -8,18 +8,18 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T08] (  4,  3.25)     ref  ->   x0         class-hnd single-def <System.Data.DataColumn[]>
-;  V01 arg1         [V01,T09] (  4,  3.25)     ref  ->   x1         class-hnd single-def <System.Data.DataColumn[]>
-;  V02 loc0         [V02,T05] (  5, 13.50)     int  ->   x4        
-;* V03 loc1         [V03,T10] (  0,  0   )     int  ->  zero-ref   
-;* V04 loc2         [V04,T11] (  0,  0   )   ubyte  ->  zero-ref   
+;  V00 arg0         [V00,T07] (  4,  3.25)     ref  ->   x0         class-hnd single-def <System.Data.DataColumn[]>
+;  V01 arg1         [V01,T08] (  4,  3.25)     ref  ->   x1         class-hnd single-def <System.Data.DataColumn[]>
+;  V02 loc0         [V02,T04] (  5, 13.50)     int  ->   x4        
+;* V03 loc1         [V03,T09] (  0,  0   )     int  ->  zero-ref   
+;* V04 loc2         [V04,T10] (  0,  0   )   ubyte  ->  zero-ref   
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 cse0         [V06,T06] (  4,  7   )     int  ->   x3         "CSE #02: aggressive"
+;  V06 cse0         [V06,T05] (  4,  7   )     int  ->   x3         "CSE #02: aggressive"
 ;  V07 cse1         [V07,T03] (  2, 16.25)   byref  ->   x5         hoist "CSE #03: aggressive"
-;  V08 cse2         [V08,T04] (  2, 16.25)   byref  ->   x1         hoist "CSE #04: aggressive"
-;  V09 cse3         [V09,T07] (  4,  6.50)     int  ->   x2         "CSE #01: aggressive"
+;  V08 cse2         [V08,T11] (  2,  1.25)   byref  ->   x1         hoist "CSE #04: aggressive"
+;  V09 cse3         [V09,T06] (  4,  6.50)     int  ->   x2         "CSE #01: aggressive"
 ;  V10 cse4         [V10,T02] (  2, 17   )    long  ->   x0         hoist "CSE #05: aggressive"
-;  V11 rat0         [V11,T00] (  4, 49   )    long  ->   x6         "Strength reduced derived IV"
+;  V11 rat0         [V11,T00] (  4, 49   )   byref  ->   x6         "Strength reduced derived IV"
 ;  V12 rat1         [V12,T01] (  4, 49   )     int  ->   x7         "Trip count IV"
 ;
 ; Lcl frame size = 0
@@ -54,13 +54,14 @@ G_M51459_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0022 {x1 x5}, b
 						;; size=8 bbWeight=4 PerfScore 6.00
 G_M51459_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0022 {x1 x5}, byref
             mov     w0, w4
-            mov     x6, xzr
+            mov     x6, x1
+            ; byrRegs +[x6]
             sxtw    w7, w3
 						;; size=12 bbWeight=1 PerfScore 1.50
-G_M51459_IG07:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0022 {x1 x5}, byref, isz
+G_M51459_IG07:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0062 {x1 x5 x6}, byref, isz
             ldr     x8, [x5, x0, LSL #3]
             ; gcrRegs +[x8]
-            ldr     x9, [x1, x6]
+            ldr     x9, [x6]
             ; gcrRegs +[x9]
             cmp     x8, x9
             beq     G_M51459_IG10
@@ -70,7 +71,7 @@ G_M51459_IG07:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0022 {x1 x5},
 						;; size=28 bbWeight=16 PerfScore 152.00
 G_M51459_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x8-x9]
-            ; byrRegs -[x1 x5]
+            ; byrRegs -[x1 x5-x6]
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M51459_IG09:        ; bbWeight=0.50, epilog, nogc, extend
+4 (+2.38%) : 12930.dasm - System.Diagnostics.Tracing.InvokeTypeInfo:WriteData(System.Diagnostics.Tracing.PropertyValue):this (FullOpts)
@@ -10,30 +10,30 @@
 ;
 ;  V00 this         [V00,T06] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Diagnostics.Tracing.InvokeTypeInfo>
 ;  V01 arg1         [V01,T02] (  3, 12   )   byref  ->  x19         single-def
-;  V02 loc0         [V02,T10] (  3,  1.25)     ref  ->   x1         class-hnd exact single-def <System.Diagnostics.Tracing.PropertyAnalysis[]>
+;  V02 loc0         [V02,T09] (  3,  1.25)     ref  ->   x1         class-hnd exact single-def <System.Diagnostics.Tracing.PropertyAnalysis[]>
 ;* V03 loc1         [V03,T12] (  0,  0   )     int  ->  zero-ref   
 ;  V04 loc2         [V04,T05] (  3, 12   )     ref  ->   x1         class-hnd exact <System.Diagnostics.Tracing.PropertyAnalysis>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T01] (  2, 16   )     ref  ->  x24         class-hnd "non-inline candidate call" <System.Diagnostics.Tracing.TraceLoggingTypeInfo>
-;  V07 tmp2         [V07    ] (  2, 16   )  struct (32) [fp+0x30]  do-not-enreg[XHS] must-init addr-exposed hidden-struct-arg "spilled call-like call argument" <System.Diagnostics.Tracing.PropertyValue>
-;  V08 tmp3         [V08    ] (  2, 16   )  struct (32) [fp+0x10]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Diagnostics.Tracing.PropertyValue>
+;  V06 tmp1         [V06,T01] (  2, 16   )     ref  ->  x23         class-hnd "non-inline candidate call" <System.Diagnostics.Tracing.TraceLoggingTypeInfo>
+;  V07 tmp2         [V07    ] (  2, 16   )  struct (32) [fp+0x38]  do-not-enreg[XHS] must-init addr-exposed hidden-struct-arg "spilled call-like call argument" <System.Diagnostics.Tracing.PropertyValue>
+;  V08 tmp3         [V08    ] (  2, 16   )  struct (32) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Diagnostics.Tracing.PropertyValue>
 ;  V09 tmp4         [V09,T00] (  3, 24   )     ref  ->   x2         "argument with side effect"
-;  V10 cse0         [V10,T09] (  3,  2.50)     ref  ->   x1         "CSE #01: aggressive"
-;  V11 cse1         [V11,T07] (  2,  4.25)   byref  ->  x21         hoist "CSE #02: aggressive"
-;  V12 cse2         [V12,T11] (  3,  1.25)     int  ->  x20         "CSE #04: aggressive"
-;  V13 cse3         [V13,T08] (  2,  4.25)    long  ->  x22         hoist "CSE #03: aggressive"
-;  V14 rat0         [V14,T03] (  4, 12.25)    long  ->  x23         "Strength reduced derived IV"
+;  V10 cse0         [V10,T08] (  3,  2.50)     ref  ->   x1         "CSE #01: aggressive"
+;  V11 cse1         [V11,T11] (  2,  0.50)   byref  ->  x21         hoist "CSE #02: aggressive"
+;  V12 cse2         [V12,T10] (  3,  1.25)     int  ->  x20         "CSE #04: aggressive"
+;  V13 cse3         [V13,T07] (  2,  4.25)    long  ->  x22         hoist "CSE #03: aggressive"
+;  V14 rat0         [V14,T03] (  4, 12.25)   byref  ->  x21         "Strength reduced derived IV"
 ;  V15 rat1         [V15,T04] (  4, 12.25)     int  ->  x20         "Trip count IV"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 72
 
 G_M36986_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x50]
-            stp     x21, x22, [sp, #0x60]
-            stp     x23, x24, [sp, #0x70]
+            stp     x19, x20, [sp, #0x58]
+            stp     x21, x22, [sp, #0x68]
+            str     x23, [sp, #0x78]
             mov     fp, sp
-            add     x9, fp, #16
+            add     x9, fp, #24
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
@@ -57,51 +57,52 @@ G_M36986_IG04:        ; bbWeight=0.25, gcrefRegs=0002 {x1}, byrefRegs=80000 {x19
             ; byrRegs +[x21]
             adrp    x22, [HIGH RELOC #0xD1FFAB1E]
             add     x22, x22, [LOW RELOC #0xD1FFAB1E]
-            mov     x23, xzr
-						;; size=16 bbWeight=0.25 PerfScore 0.50
+						;; size=12 bbWeight=0.25 PerfScore 0.38
 G_M36986_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=280000 {x19 x21}, byref
             ; gcrRegs -[x1]
-            ldr     x1, [x21, x23]
+            ldr     x1, [x21]
             ; gcrRegs +[x1]
-            ldp     x2, x24, [x1, #0x18]
-            ; gcrRegs +[x2 x24]
+            ldp     x2, x23, [x1, #0x18]
+            ; gcrRegs +[x2 x23]
 						;; size=8 bbWeight=4 PerfScore 28.00
 G_M36986_IG06:        ; bbWeight=4, nogc, extend
-            ldp     q16, q17, [x19]
-            stp     q16, q17, [fp, #0x10]
-						;; size=8 bbWeight=4 PerfScore 16.00
-G_M36986_IG07:        ; bbWeight=4, isz, extend
-            add     x1, fp, #16	// [V08 tmp3]
+            ldp     x1, x8, [x19]
             ; gcrRegs -[x1]
-            add     x8, fp, #48	// [V07 tmp2]
+            stp     x1, x8, [fp, #0x18]
+            ldp     x1, x8, [x19, #0x10]
+            stp     x1, x8, [fp, #0x28]
+						;; size=16 bbWeight=4 PerfScore 40.00
+G_M36986_IG07:        ; bbWeight=4, isz, extend
+            add     x1, fp, #24	// [V08 tmp3]
+            add     x8, fp, #56	// [V07 tmp2]
             ldr     x0, [x2, #0x08]
             ; gcrRegs +[x0]
             ldr     x2, [x2, #0x18]
             ; gcrRegs -[x2]
             blr     x2
             ; gcrRegs -[x0]
-            add     x1, fp, #48	// [V07 tmp2]
-            mov     x0, x24
+            add     x1, fp, #56	// [V07 tmp2]
+            mov     x0, x23
             ; gcrRegs +[x0]
             mov     x11, x22
             ldr     wzr, [x0]
             ldr     xip0, [x11]
             blr     xip0
-            ; gcrRegs -[x0 x24]
-            add     x23, x23, #8
+            ; gcrRegs -[x0 x23]
+            add     x21, x21, #8
             sub     w20, w20, #1
             cbnz    w20, G_M36986_IG05
 						;; size=56 bbWeight=4 PerfScore 74.00
 G_M36986_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; byrRegs -[x19 x21]
-            ldp     x23, x24, [sp, #0x70]
-            ldp     x21, x22, [sp, #0x60]
-            ldp     x19, x20, [sp, #0x50]
+            ldr     x23, [sp, #0x78]
+            ldp     x21, x22, [sp, #0x68]
+            ldp     x19, x20, [sp, #0x58]
             ldp     fp, lr, [sp], #0x80
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 5.00
+						;; size=20 bbWeight=1 PerfScore 6.00
 
-; Total bytes of code 168, prolog size 36, PerfScore 137.75, instruction count 42, allocated bytes for code 168 (MethodHash=fae96f85) for method System.Diagnostics.Tracing.InvokeTypeInfo:WriteData(System.Diagnostics.Tracing.PropertyValue):this (FullOpts)
+; Total bytes of code 172, prolog size 36, PerfScore 162.62, instruction count 43, allocated bytes for code 172 (MethodHash=fae96f85) for method System.Diagnostics.Tracing.InvokeTypeInfo:WriteData(System.Diagnostics.Tracing.PropertyValue):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -112,7 +113,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 42 (0x0002a) Actual length = 168 (0x0000a8)
+  Function Length   : 43 (0x0002b) Actual length = 172 (0x0000ac)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -120,10 +121,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
+    D1 0F       save_reg X#4 Z#15 (0x0F); str x23, [sp, #120]
     E6          save_next
-    E6          save_next
-    C8 0A       save_regp X#0 Z#10 (0x0A); stp x19, x20, [sp, #80]
+    C8 0B       save_regp X#0 Z#11 (0x0B); stp x19, x20, [sp, #88]
     8F          save_fplr_x #15 (0x0F); stp fp, lr, [sp, #-128]!
     E4          end
-    E4          end
 
libraries.pmi.windows.arm64.checked.mch
-16 (-13.79%) : 165991.dasm - System.Xml.Serialization.DynamicAssemblies:IsTypeDynamic(System.Type[]):ubyte (FullOpts)
@@ -8,22 +8,21 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T02] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.Type[]>
-;  V01 loc0         [V01,T04] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Type[]>
-;* V02 loc1         [V02,T06] (  0,  0   )     int  ->  zero-ref   
+;  V01 loc0         [V01,T03] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Type[]>
+;* V02 loc1         [V02,T05] (  0,  0   )     int  ->  zero-ref   
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 cse0         [V04,T03] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V05 cse1         [V05,T05] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
-;  V06 rat0         [V06,T00] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V04 cse0         [V04,T06] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V05 cse1         [V05,T04] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
+;  V06 rat0         [V06,T00] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V07 rat1         [V07,T01] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M16567_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M16567_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     w19, [x0, #0x08]
@@ -33,11 +32,10 @@ G_M16567_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M16567_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #16
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M16567_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [x20, x21]
+            ldr     x0, [x20]
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Xml.Serialization.DynamicAssemblies:IsTypeDynamic(System.Type):ubyte
             movk    x1, #0xD1FFAB1E LSL #16
@@ -46,7 +44,7 @@ G_M16567_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, b
             blr     x1
             ; gcrRegs -[x0]
             cbnz    w0, G_M16567_IG07
-            add     x21, x21, #8
+            add     x20, x20, #8
             sub     w19, w19, #1
             cbnz    w19, G_M16567_IG04
 						;; size=40 bbWeight=4 PerfScore 46.00
@@ -55,22 +53,20 @@ G_M16567_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M16567_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M16567_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M16567_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 116, prolog size 16, PerfScore 59.75, instruction count 29, allocated bytes for code 116 (MethodHash=ab5cbf48) for method System.Xml.Serialization.DynamicAssemblies:IsTypeDynamic(System.Type[]):ubyte (FullOpts)
+; Total bytes of code 100, prolog size 12, PerfScore 56.62, instruction count 25, allocated bytes for code 100 (MethodHash=ab5cbf48) for method System.Xml.Serialization.DynamicAssemblies:IsTypeDynamic(System.Type[]):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -81,7 +77,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
+  Function Length   : 25 (0x00019) Actual length = 100 (0x000064)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -92,9 +88,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-16 (-13.79%) : 237322.dasm - System.Reflection.TypeLoading.RoConstructedGenericType:get_ContainsGenericParameters():ubyte:this (FullOpts)
@@ -8,23 +8,22 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Reflection.TypeLoading.RoConstructedGenericType>
-;  V01 loc0         [V01,T05] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Reflection.TypeLoading.RoType[]>
-;* V02 loc1         [V02,T07] (  0,  0   )     int  ->  zero-ref   
+;  V01 loc0         [V01,T04] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Reflection.TypeLoading.RoType[]>
+;* V02 loc1         [V02,T06] (  0,  0   )     int  ->  zero-ref   
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T00] (  3, 24   )     ref  ->   x0         "argument with side effect"
-;  V05 cse0         [V05,T04] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V06 cse1         [V06,T06] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
-;  V07 rat0         [V07,T01] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V05 cse0         [V05,T07] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V06 cse1         [V06,T05] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
+;  V07 rat0         [V07,T01] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V08 rat1         [V08,T02] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M14923_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M14923_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x68]
@@ -35,11 +34,10 @@ G_M14923_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M14923_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #16
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M14923_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [x20, x21]
+            ldr     x0, [x20]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0xB8]
@@ -47,7 +45,7 @@ G_M14923_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, b
             blr     x1
             ; gcrRegs -[x0]
             cbnz    w0, G_M14923_IG07
-            add     x21, x21, #8
+            add     x20, x20, #8
             sub     w19, w19, #1
             cbnz    w19, G_M14923_IG04
 						;; size=36 bbWeight=4 PerfScore 64.00
@@ -56,22 +54,20 @@ G_M14923_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M14923_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M14923_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M14923_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 116, prolog size 16, PerfScore 80.75, instruction count 29, allocated bytes for code 116 (MethodHash=0272c5b4) for method System.Reflection.TypeLoading.RoConstructedGenericType:get_ContainsGenericParameters():ubyte:this (FullOpts)
+; Total bytes of code 100, prolog size 12, PerfScore 77.62, instruction count 25, allocated bytes for code 100 (MethodHash=0272c5b4) for method System.Reflection.TypeLoading.RoConstructedGenericType:get_ContainsGenericParameters():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +78,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
+  Function Length   : 25 (0x00019) Actual length = 100 (0x000064)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -93,9 +89,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-16 (-13.79%) : 292476.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources:get_AllTargetsHaveAtLeastOneMessage():ubyte:this (FullOpts)
@@ -8,23 +8,22 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources>
-;  V01 loc0         [V01,T05] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase[]>
-;* V02 loc1         [V02,T07] (  0,  0   )     int  ->  zero-ref   
+;  V01 loc0         [V01,T04] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase[]>
+;* V02 loc1         [V02,T06] (  0,  0   )     int  ->  zero-ref   
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T00] (  3, 24   )     ref  ->   x0         "argument with side effect"
-;  V05 cse0         [V05,T04] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V06 cse1         [V06,T06] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
-;  V07 rat0         [V07,T01] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V05 cse0         [V05,T07] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V06 cse1         [V06,T05] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
+;  V07 rat0         [V07,T01] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V08 rat1         [V08,T02] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M3689_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M3689_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x10]
@@ -35,11 +34,10 @@ G_M3689_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
 G_M3689_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #16
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M3689_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [x20, x21]
+            ldr     x0, [x20]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
@@ -47,7 +45,7 @@ G_M3689_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, by
             blr     x1
             ; gcrRegs -[x0]
             cbz     w0, G_M3689_IG07
-            add     x21, x21, #8
+            add     x20, x20, #8
             sub     w19, w19, #1
             cbnz    w19, G_M3689_IG04
 						;; size=36 bbWeight=4 PerfScore 64.00
@@ -56,22 +54,20 @@ G_M3689_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M3689_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M3689_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M3689_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 116, prolog size 16, PerfScore 80.75, instruction count 29, allocated bytes for code 116 (MethodHash=11d7f196) for method System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources:get_AllTargetsHaveAtLeastOneMessage():ubyte:this (FullOpts)
+; Total bytes of code 100, prolog size 12, PerfScore 77.62, instruction count 25, allocated bytes for code 100 (MethodHash=11d7f196) for method System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources:get_AllTargetsHaveAtLeastOneMessage():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +78,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
+  Function Length   : 25 (0x00019) Actual length = 100 (0x000064)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -93,9 +89,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
+0 (0.00%) : 146927.dasm - System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this (FullOpts)
@@ -15,14 +15,14 @@
 ;  V04 loc2         [V04,T40] ( 11,   5.50)     ref  ->  x26         class-hnd <System.Data.DataTable>
 ;  V05 loc3         [V05,T63] (  3,   1.50)   ubyte  ->  x25        
 ;  V06 loc4         [V06,T21] ( 13,  31.50)     ref  ->  x19         class-hnd exact single-def <<unknown class>>
-;  V07 loc5         [V07,T66] (  2,   1   )     ref  ->  [fp+0x78]  class-hnd spill-single-def <System.Xml.XmlElement>
-;  V08 loc6         [V08,T13] ( 10,  48.50)     int  ->  x21        
+;  V07 loc5         [V07,T66] (  2,   1   )     ref  ->  [fp+0x80]  class-hnd spill-single-def <System.Xml.XmlElement>
+;  V08 loc6         [V08,T12] ( 10,  48.50)     int  ->  x21        
 ;  V09 loc7         [V09,T22] (  4,  25   )     ref  ->  x22         class-hnd <System.Data.DataRelation[]>
 ;* V10 loc8         [V10,T17] (  0,   0   )     ref  ->  zero-ref    class-hnd <System.Data.DataRelation[]>
 ;* V11 loc9         [V11,T46] (  0,   0   )     int  ->  zero-ref   
-;  V12 loc10        [V12,T14] (  4,  48   )     ref  ->   x0         class-hnd <System.Data.DataRelation>
-;  V13 loc11        [V13,T02] (  6,1072   )     ref  ->  [fp+0x70]  do-not-enreg[Z] class-hnd exact EH-live <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
-;  V14 loc12        [V14,T04] (  2, 544   )     ref  ->  [fp+0x68]  class-hnd spill-single-def <System.Data.DataRow>
+;  V12 loc10        [V12,T13] (  4,  48   )     ref  ->   x0         class-hnd <System.Data.DataRelation>
+;  V13 loc11        [V13,T02] (  6,1072   )     ref  ->  [fp+0x78]  do-not-enreg[Z] class-hnd exact EH-live <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
+;  V14 loc12        [V14,T04] (  2, 544   )     ref  ->  [fp+0x70]  class-hnd spill-single-def <System.Data.DataRow>
 ;* V15 loc13        [V15,T19] (  0,   0   )     ref  ->  zero-ref    class-hnd <System.Data.DataRelation[]>
 ;* V16 loc14        [V16,T20] (  0,   0   )     int  ->  zero-ref   
 ;* V17 loc15        [V17    ] (  0,   0   )     ref  ->  zero-ref    class-hnd <System.Data.DataRelation>
@@ -31,10 +31,10 @@
 ;  V20 tmp1         [V20,T49] (  3,   3   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V21 tmp2         [V21,T18] (  2,  32   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Data.DataTable>
 ;* V22 tmp3         [V22    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.XMLDiffLoader>
-;  V23 tmp4         [V23,T50] (  3,   3   )     ref  ->  [fp+0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlDocument>
+;  V23 tmp4         [V23,T50] (  3,   3   )     ref  ->  [fp+0x68]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlDocument>
 ;* V24 tmp5         [V24    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "non-inline candidate call" <System.String>
 ;* V25 tmp6         [V25    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "non-inline candidate call" <System.String>
-;  V26 tmp7         [V26,T33] ( 10,  10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.XmlDataLoader>
+;  V26 tmp7         [V26,T33] ( 10,  10   )     ref  ->  [fp+0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.XmlDataLoader>
 ;* V27 tmp8         [V27    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.DataRowCollection>
 ;* V28 tmp9         [V28    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.DataRowCollection+DataRowTree>
 ;* V29 tmp10        [V29    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
@@ -61,10 +61,10 @@
 ;* V50 tmp31        [V50    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V51 tmp32        [V51    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V52 tmp33        [V52    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V53 tmp34        [V53,T51] (  3,   3   )     ref  ->  [fp+0x50]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
-;  V54 tmp35        [V54,T52] (  3,   3   )     ref  ->  [fp+0x48]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
-;  V55 tmp36        [V55,T53] (  3,   3   )     ref  ->  [fp+0x40]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Hashtable>
-;  V56 tmp37        [V56,T54] (  3,   3   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
+;  V53 tmp34        [V53,T51] (  3,   3   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
+;  V54 tmp35        [V54,T52] (  3,   3   )     ref  ->  [fp+0x50]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
+;  V55 tmp36        [V55,T53] (  3,   3   )     ref  ->  [fp+0x48]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Hashtable>
+;  V56 tmp37        [V56,T54] (  3,   3   )     ref  ->  [fp+0x40]  class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
 ;* V57 tmp38        [V57    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V58 tmp39        [V58,T47] (  5,   3   )     ref  ->   x0         single-def "spilling varStr"
 ;* V59 tmp40        [V59    ] (  0,   0   )     int  ->  zero-ref    "spilling unroll qmark"
@@ -90,23 +90,23 @@
 ;* V79 tmp60        [V79    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;* V80 tmp61        [V80    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;* V81 tmp62        [V81    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.DataRowCollection>
-;  V82 tmp63        [V82,T10] (  4,  64   )     ref  ->  [fp+0x30]  class-hnd exact spill-single-def "Inlining Arg" <System.Data.DataRowCollection+DataRowTree>
+;  V82 tmp63        [V82,T09] (  4,  64   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def "Inlining Arg" <System.Data.DataRowCollection+DataRowTree>
 ;* V83 tmp64        [V83    ] (  0,   0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
-;  V84 tmp65        [V84,T08] (  7, 112   )     ref  ->   x0         class-hnd exact "Single-def Box Helper" <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
+;  V84 tmp65        [V84,T07] (  7, 112   )     ref  ->   x0         class-hnd exact "Single-def Box Helper" <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
 ;* V85 tmp66        [V85    ] (  0,   0   )     ref  ->  zero-ref    "V83.[000..008)"
 ;* V86 tmp67        [V86    ] (  0,   0   )     ref  ->  zero-ref    "V83.[008..016)"
 ;  V87 tmp68        [V87,T28] (  2,  16   )     int  ->  [fp+0x94]  spill-single-def "V83.[016..020)"
 ;* V88 tmp69        [V88    ] (  0,   0   )     int  ->  zero-ref    "V83.[020..024)"
 ;  V89 tmp70        [V89,T29] (  2,  16   )     int  ->  [fp+0x90]  spill-single-def "V83.[024..028)"
 ;  V90 tmp71        [V90,T60] (  2,   2   )     int  ->   x1         "argument with side effect"
-;  V91 tmp72        [V91,T55] (  2,   2   )     ref  ->  [fp+0x28]  spill-single-def "argument with side effect"
-;  V92 tmp73        [V92,T56] (  2,   2   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
+;  V91 tmp72        [V91,T55] (  2,   2   )     ref  ->  [fp+0x30]  spill-single-def "argument with side effect"
+;  V92 tmp73        [V92,T56] (  2,   2   )     ref  ->  [fp+0x28]  spill-single-def "argument with side effect"
 ;  V93 tmp74        [V93,T57] (  2,   2   )     ref  ->   x3         single-def "argument with side effect"
 ;  V94 tmp75        [V94,T58] (  2,   2   )     ref  ->   x0         single-def "argument with side effect"
 ;  V95 tmp76        [V95,T24] (  3,  24   )     ref  ->   x0         "arr expr"
 ;* V96 tmp77        [V96,T30] (  0,   0   )     ref  ->  zero-ref    "arr expr"
-;  V97 tmp78        [V97,T07] (  3, 144   )     ref  ->   x0         "argument with side effect"
-;  V98 tmp79        [V98,T15] (  3,  48   )     ref  ->   x1         "arr expr"
+;  V97 tmp78        [V97,T06] (  3, 144   )     ref  ->   x0         "argument with side effect"
+;  V98 tmp79        [V98,T14] (  3,  48   )     ref  ->   x1         "arr expr"
 ;  V99 PSPSym       [V99,T72] (  1,   1   )    long  ->  [fp+0x98]  do-not-enreg[V] "PSPSym"
 ;  V100 cse0        [V100,T25] (  3,  24   )     ref  ->   x1         "CSE #23: moderate"
 ;  V101 cse1        [V101,T31] ( 14,  11.50)    long  ->  x22         "CSE #02: moderate"
@@ -115,16 +115,16 @@
 ;  V104 cse4        [V104,T62] (  3,   1.50)     ref  ->   x0         "CSE #16: conservative"
 ;  V105 cse5        [V105,T26] (  2,  16   )     ref  ->   x1         "CSE #19: moderate"
 ;  V106 cse6        [V106,T16] (  4,  41   )     int  ->  x23         "CSE #17: aggressive"
-;  V107 cse7        [V107,T03] (  6,1064   )   byref  ->  [fp+0x18]  multi-def "CSE #24: aggressive"
-;  V108 cse8        [V108,T05] (  2, 528   )   byref  ->  [fp+0x10]  spill-single-def "CSE #25: aggressive"
+;  V107 cse7        [V107,T03] (  6,1064   )   byref  ->  [fp+0x20]  multi-def "CSE #24: aggressive"
+;  V108 cse8        [V108,T15] (  2,  48   )   byref  ->  [fp+0x18]  spill-single-def "CSE #25: aggressive"
 ;  V109 cse9        [V109,T44] (  5,   4.50)    long  ->  x21         "CSE #01: moderate"
 ;  V110 cse10       [V110,T43] ( 10,   5   )     ref  ->  x28         multi-def "CSE #04: moderate"
-;  V111 rat0        [V111,T11] (  4,  49   )   byref  ->  x27         "Strength reduced derived IV"
-;  V112 rat1        [V112,T12] (  4,  49   )     int  ->  x28         "Trip count IV"
-;  V113 rat2        [V113,T00] (  4,1568   )    long  ->  [fp+0x88]  "Strength reduced derived IV"
-;  V114 rat3        [V114,T01] (  4,1568   )     int  ->  [fp+0x84]  "Trip count IV"
-;  V115 rat4        [V115,T06] (  5, 240   )     ref  ->   x2         "replacement local"
-;  V116 rat5        [V116,T09] (  3,  80   )    long  ->   x3         "CSE for expectedClsNode"
+;  V111 rat0        [V111,T10] (  4,  49   )   byref  ->  x27         "Strength reduced derived IV"
+;  V112 rat1        [V112,T11] (  4,  49   )     int  ->  x28         "Trip count IV"
+;  V113 rat2        [V113,T00] (  4,1568   )   byref  ->  [fp+0x10]  "Strength reduced derived IV"
+;  V114 rat3        [V114,T01] (  4,1568   )     int  ->  [fp+0x8C]  "Trip count IV"
+;  V115 rat4        [V115,T05] (  5, 240   )     ref  ->   x2         "replacement local"
+;  V116 rat5        [V116,T08] (  3,  80   )    long  ->   x3         "CSE for expectedClsNode"
 ;  V117 rat6        [V117,T73] (  3,   3   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 144
@@ -423,7 +423,7 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             bl      CORINFO_HELP_NEWSFAST
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x60]	// [V23 tmp4]
+            str     x0, [fp, #0x68]	// [V23 tmp4]
             ; GC ptr vars +{V23}
             movz    x0, #0xD1FFAB1E
             ; gcrRegs -[x0]
@@ -432,7 +432,7 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             bl      CORINFO_HELP_NEWSFAST
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x50]	// [V53 tmp34]
+            str     x0, [fp, #0x58]	// [V53 tmp34]
             ; GC ptr vars +{V53}
             movz    x0, #0xD1FFAB1E
             ; gcrRegs -[x0]
@@ -443,7 +443,7 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             ; gcr arg pop 0
             mov     x1, x0
             ; gcrRegs +[x1]
-            str     x1, [fp, #0x48]	// [V54 tmp35]
+            str     x1, [fp, #0x50]	// [V54 tmp35]
             ; GC ptr vars +{V54}
             mov     x0, x1
             movz    x2, #0xD1FFAB1E      // code for System.Xml.NameTable:.ctor():this
@@ -453,17 +453,17 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            ldr     x1, [fp, #0x50]	// [V53 tmp34]
+            ldr     x1, [fp, #0x58]	// [V53 tmp34]
             ; gcrRegs +[x1]
             add     x14, x1, #8
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x48]	// [V54 tmp35]
+            ldr     x15, [fp, #0x50]	// [V54 tmp35]
             ; gcrRegs +[x15]
             ; GC ptr vars -{V54}
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
-            ldr     x0, [fp, #0x60]	// [V23 tmp4]
+            ldr     x0, [fp, #0x68]	// [V23 tmp4]
             ; gcrRegs +[x0]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
@@ -478,13 +478,13 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             ldr     x1, [x22, #0x08]
             blr     x1
             ; gcr arg pop 0
-            str     x0, [fp, #0x28]	// [V91 tmp72]
+            str     x0, [fp, #0x30]	// [V91 tmp72]
             ; GC ptr vars +{V91}
             mov     x0, x19
             ldr     x2, [x27, #0x38]
             blr     x2
             ; gcr arg pop 0
-            str     x0, [fp, #0x20]	// [V92 tmp73]
+            str     x0, [fp, #0x28]	// [V92 tmp73]
             ; GC ptr vars +{V92}
             mov     x0, x19
             ldr     x2, [x22]
@@ -492,9 +492,9 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             ; gcr arg pop 0
             mov     x3, x0
             ; gcrRegs +[x3]
-            ldp     x2, x1, [fp, #0x20]	// [V92 tmp73], [V91 tmp72]
+            ldp     x2, x1, [fp, #0x28]	// [V92 tmp73], [V91 tmp72]
             ; gcrRegs +[x1-x2]
-            ldr     x0, [fp, #0x60]	// [V23 tmp4]
+            ldr     x0, [fp, #0x68]	// [V23 tmp4]
             movz    x4, #0xD1FFAB1E      // code for System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
@@ -503,7 +503,7 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             blr     x4
             ; gcrRegs -[x1-x3]
             ; gcr arg pop 0
-            str     x0, [fp, #0x78]	// [V07 loc5]
+            str     x0, [fp, #0x80]	// [V07 loc5]
             ; GC ptr vars +{V07}
             mov     x0, x19
             ldr     x2, [x21, #0x10]
@@ -527,7 +527,7 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             ; gcr arg pop 0
             mov     x1, x0
             ; gcrRegs +[x1]
-            str     x1, [fp, #0x58]	// [V26 tmp7]
+            str     x1, [fp, #0x60]	// [V26 tmp7]
             ; GC ptr vars +{V26}
             str     xzr, [x1, #0x08]
             add     x14, x1, #48
@@ -547,7 +547,7 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             ; gcr arg pop 0
             mov     x2, x0
             ; gcrRegs +[x2]
-            str     x2, [fp, #0x40]	// [V55 tmp36]
+            str     x2, [fp, #0x48]	// [V55 tmp36]
             ; GC ptr vars +{V55}
             fmov    s0, #1.0000
             mov     x0, x2
@@ -559,11 +559,11 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             blr     x3
             ; gcrRegs -[x0 x2]
             ; gcr arg pop 0
-            ldr     x1, [fp, #0x58]	// [V26 tmp7]
+            ldr     x1, [fp, #0x60]	// [V26 tmp7]
             ; gcrRegs +[x1]
             add     x14, x1, #24
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x40]	// [V55 tmp36]
+            ldr     x15, [fp, #0x48]	// [V55 tmp36]
             ; gcrRegs +[x15]
             ; GC ptr vars -{V55}
             bl      CORINFO_HELP_ASSIGN_REF
@@ -576,7 +576,7 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             bl      CORINFO_HELP_NEWSFAST
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x38]	// [V56 tmp37]
+            str     x0, [fp, #0x40]	// [V56 tmp37]
             ; GC ptr vars +{V56}
             movz    x0, #0xD1FFAB1E
             ; gcrRegs -[x0]
@@ -586,7 +586,7 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             bl      CORINFO_HELP_NEWARR_1_OBJ
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            ldr     x1, [fp, #0x38]	// [V56 tmp37]
+            ldr     x1, [fp, #0x40]	// [V56 tmp37]
             ; gcrRegs +[x1]
             add     x14, x1, #8
             ; byrRegs +[x14]
@@ -595,7 +595,7 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x0 x15]
             ; byrRegs -[x14]
-            ldr     x2, [fp, #0x58]	// [V26 tmp7]
+            ldr     x2, [fp, #0x60]	// [V26 tmp7]
             ; gcrRegs +[x2]
             add     x14, x2, #32
             ; byrRegs +[x14]
@@ -607,7 +607,7 @@ G_M19993_IG22:        ; bbWeight=0.50, gcrefRegs=14180000 {x19 x20 x26 x28}, byr
             ; byrRegs -[x14]
             add     x14, x2, #40
...
+0 (0.00%) : 145584.dasm - System.Data.ConstraintCollection:CompareArrays(System.Data.DataColumn[],System.Data.DataColumn[]):ubyte (FullOpts)
@@ -7,18 +7,18 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T08] (  4,  3.25)     ref  ->   x0         class-hnd single-def <System.Data.DataColumn[]>
-;  V01 arg1         [V01,T09] (  4,  3.25)     ref  ->   x1         class-hnd single-def <System.Data.DataColumn[]>
-;  V02 loc0         [V02,T05] (  5, 13.50)     int  ->   x4        
-;* V03 loc1         [V03,T10] (  0,  0   )     int  ->  zero-ref   
-;* V04 loc2         [V04,T11] (  0,  0   )   ubyte  ->  zero-ref   
+;  V00 arg0         [V00,T07] (  4,  3.25)     ref  ->   x0         class-hnd single-def <System.Data.DataColumn[]>
+;  V01 arg1         [V01,T08] (  4,  3.25)     ref  ->   x1         class-hnd single-def <System.Data.DataColumn[]>
+;  V02 loc0         [V02,T04] (  5, 13.50)     int  ->   x4        
+;* V03 loc1         [V03,T09] (  0,  0   )     int  ->  zero-ref   
+;* V04 loc2         [V04,T10] (  0,  0   )   ubyte  ->  zero-ref   
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 cse0         [V06,T06] (  4,  7   )     int  ->   x3         "CSE #02: aggressive"
+;  V06 cse0         [V06,T05] (  4,  7   )     int  ->   x3         "CSE #02: aggressive"
 ;  V07 cse1         [V07,T03] (  2, 16.25)   byref  ->   x5         hoist "CSE #03: aggressive"
-;  V08 cse2         [V08,T04] (  2, 16.25)   byref  ->   x1         hoist "CSE #04: aggressive"
-;  V09 cse3         [V09,T07] (  4,  6.50)     int  ->   x2         "CSE #01: aggressive"
+;  V08 cse2         [V08,T11] (  2,  1.25)   byref  ->   x1         hoist "CSE #04: aggressive"
+;  V09 cse3         [V09,T06] (  4,  6.50)     int  ->   x2         "CSE #01: aggressive"
 ;  V10 cse4         [V10,T02] (  2, 17   )    long  ->   x0         hoist "CSE #05: aggressive"
-;  V11 rat0         [V11,T00] (  4, 49   )    long  ->   x6         "Strength reduced derived IV"
+;  V11 rat0         [V11,T00] (  4, 49   )   byref  ->   x6         "Strength reduced derived IV"
 ;  V12 rat1         [V12,T01] (  4, 49   )     int  ->   x7         "Trip count IV"
 ;
 ; Lcl frame size = 0
@@ -53,13 +53,14 @@ G_M51459_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0022 {x1 x5}, b
 						;; size=8 bbWeight=4 PerfScore 6.00
 G_M51459_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0022 {x1 x5}, byref
             mov     w0, w4
-            mov     x6, xzr
+            mov     x6, x1
+            ; byrRegs +[x6]
             sxtw    w7, w3
 						;; size=12 bbWeight=1 PerfScore 1.50
-G_M51459_IG07:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0022 {x1 x5}, byref, isz
+G_M51459_IG07:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0062 {x1 x5 x6}, byref, isz
             ldr     x8, [x5, x0, LSL #3]
             ; gcrRegs +[x8]
-            ldr     x9, [x1, x6]
+            ldr     x9, [x6]
             ; gcrRegs +[x9]
             cmp     x8, x9
             beq     G_M51459_IG10
@@ -69,7 +70,7 @@ G_M51459_IG07:        ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0022 {x1 x5},
 						;; size=28 bbWeight=16 PerfScore 152.00
 G_M51459_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x8-x9]
-            ; byrRegs -[x1 x5]
+            ; byrRegs -[x1 x5-x6]
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M51459_IG09:        ; bbWeight=0.50, epilog, nogc, extend
+0 (0.00%) : 146592.dasm - System.Data.DataSet:ReadXmlDiffgram(System.Xml.XmlReader):this (FullOpts)
@@ -15,26 +15,26 @@
 ;  V04 loc2         [V04,T68] (  3,   2   )   ubyte  ->  x23        
 ;  V05 loc3         [V05,T40] ( 13,   7   )     ref  ->  x25         class-hnd <System.Data.DataSet>
 ;  V06 loc4         [V06,T66] (  3,   2.50)   ubyte  ->  x24        
-;  V07 loc5         [V07,T18] ( 15,  88   )     ref  ->  [fp+0x98]  do-not-enreg[M] class-hnd EH-live <System.Collections.IEnumerator>
+;  V07 loc5         [V07,T17] ( 15,  88   )     ref  ->  [fp+0xA0]  do-not-enreg[M] class-hnd EH-live <System.Collections.IEnumerator>
 ;  V08 loc6         [V08,T29] ( 22,  21.50)     ref  ->   x0         class-hnd <<unknown class>>
-;  V09 loc7         [V09,T80] (  2,   1   )     ref  ->  [fp+0x90]  class-hnd spill-single-def <System.Xml.XmlElement>
+;  V09 loc7         [V09,T80] (  2,   1   )     ref  ->  [fp+0x98]  class-hnd spill-single-def <System.Xml.XmlElement>
 ;  V10 loc8         [V10,T39] (  3,   8   )     ref  ->  x19         class-hnd <System.Data.DataTable>
-;  V11 loc9         [V11,T13] (  4, 104   )     ref  ->  x19         class-hnd <System.Data.DataTable>
-;  V12 loc10        [V12,T11] (  4,  98   )     ref  ->  x21         class-hnd <System.Data.DataRelation[]>
-;* V13 loc11        [V13,T22] (  0,   0   )     ref  ->  zero-ref    class-hnd <System.Data.DataRelation[]>
+;  V11 loc9         [V11,T12] (  4, 104   )     ref  ->  x19         class-hnd <System.Data.DataTable>
+;  V12 loc10        [V12,T10] (  4,  98   )     ref  ->  x21         class-hnd <System.Data.DataRelation[]>
+;* V13 loc11        [V13,T21] (  0,   0   )     ref  ->  zero-ref    class-hnd <System.Data.DataRelation[]>
 ;* V14 loc12        [V14,T25] (  0,   0   )     int  ->  zero-ref   
-;  V15 loc13        [V15,T02] (  6,1072   )     ref  ->  [fp+0x88]  do-not-enreg[Z] class-hnd exact EH-live <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
-;  V16 loc14        [V16,T04] (  2, 544   )     ref  ->  [fp+0x80]  class-hnd spill-single-def <System.Data.DataRow>
+;  V15 loc13        [V15,T02] (  6,1072   )     ref  ->  [fp+0x90]  do-not-enreg[Z] class-hnd exact EH-live <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
+;  V16 loc14        [V16,T04] (  2, 544   )     ref  ->  [fp+0x88]  class-hnd spill-single-def <System.Data.DataRow>
 ;* V17 loc15        [V17,T24] (  0,   0   )     ref  ->  zero-ref    class-hnd <System.Data.DataRelation[]>
 ;* V18 loc16        [V18,T26] (  0,   0   )     int  ->  zero-ref   
 ;* V19 loc17        [V19    ] (  0,   0   )     ref  ->  zero-ref    class-hnd <System.Data.DataRelation>
 ;# V20 OutArgs      [V20    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V21 tmp1         [V21,T52] (  3,   5   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
 ;* V22 tmp2         [V22    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.XMLDiffLoader>
-;  V23 tmp3         [V23,T56] (  3,   3   )     ref  ->  [fp+0x78]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlDocument>
+;  V23 tmp3         [V23,T56] (  3,   3   )     ref  ->  [fp+0x80]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlDocument>
 ;* V24 tmp4         [V24    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "non-inline candidate call" <System.String>
 ;* V25 tmp5         [V25    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "non-inline candidate call" <System.String>
-;  V26 tmp6         [V26,T38] (  8,   8   )     ref  ->  [fp+0x70]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.XmlDataLoader>
+;  V26 tmp6         [V26,T38] (  8,   8   )     ref  ->  [fp+0x78]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.XmlDataLoader>
 ;  V27 tmp7         [V27,T69] (  3,   2   )    long  ->  x23         "Inline return value spill temp"
 ;  V28 tmp8         [V28,T65] (  2,   3   )     int  ->  x22         "Inlining Arg"
 ;  V29 tmp9         [V29,T57] (  3,   3   )     ref  ->   x0         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
@@ -53,28 +53,28 @@
 ;* V42 tmp22        [V42    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V43 tmp23        [V43    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V44 tmp24        [V44    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V45 tmp25        [V45,T43] (  7,   6.36)     ref  ->  [fp+0x68]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
+;  V45 tmp25        [V45,T43] (  7,   6.36)     ref  ->  [fp+0x70]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
 ;* V46 tmp26        [V46    ] (  0,   0   )     ref  ->  zero-ref    "spilling varStr"
 ;  V47 tmp27        [V47,T83] (  2,   1   )   ubyte  ->   x0         "Inline return value spill temp"
 ;* V48 tmp28        [V48    ] (  0,   0   )   byref  ->  zero-ref    "impAppendStmt"
 ;* V49 tmp29        [V49    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V50 tmp30        [V50    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V51 tmp31        [V51    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V52 tmp32        [V52,T44] (  7,   6.36)     ref  ->  [fp+0x60]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
+;  V52 tmp32        [V52,T44] (  7,   6.36)     ref  ->  [fp+0x68]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
 ;* V53 tmp33        [V53    ] (  0,   0   )     ref  ->  zero-ref    "spilling varStr"
 ;  V54 tmp34        [V54,T84] (  2,   1   )   ubyte  ->   x0         "Inline return value spill temp"
 ;* V55 tmp35        [V55    ] (  0,   0   )   byref  ->  zero-ref    "impAppendStmt"
 ;* V56 tmp36        [V56    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V57 tmp37        [V57    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V58 tmp38        [V58    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V59 tmp39        [V59,T58] (  3,   3   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
-;  V60 tmp40        [V60,T59] (  3,   3   )     ref  ->  [fp+0x50]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
-;  V61 tmp41        [V61,T60] (  3,   3   )     ref  ->  [fp+0x48]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Hashtable>
-;  V62 tmp42        [V62,T61] (  3,   3   )     ref  ->  [fp+0x40]  class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
+;  V59 tmp39        [V59,T58] (  3,   3   )     ref  ->  [fp+0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
+;  V60 tmp40        [V60,T59] (  3,   3   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
+;  V61 tmp41        [V61,T60] (  3,   3   )     ref  ->  [fp+0x50]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Hashtable>
+;  V62 tmp42        [V62,T61] (  3,   3   )     ref  ->  [fp+0x48]  class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
 ;* V63 tmp43        [V63    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V64 tmp44        [V64,T54] (  5,   3   )     ref  ->   x0         single-def "spilling varStr"
 ;* V65 tmp45        [V65    ] (  0,   0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V66 tmp46        [V66,T45] (  7,   6.36)     ref  ->  [fp+0x38]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
+;  V66 tmp46        [V66,T45] (  7,   6.36)     ref  ->  [fp+0x40]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
 ;* V67 tmp47        [V67    ] (  0,   0   )     ref  ->  zero-ref    "spilling varStr"
 ;  V68 tmp48        [V68,T85] (  2,   1   )   ubyte  ->   x0         "Inline return value spill temp"
 ;* V69 tmp49        [V69    ] (  0,   0   )   byref  ->  zero-ref    "impAppendStmt"
@@ -94,9 +94,9 @@
 ;* V83 tmp63        [V83    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.DataTableCollection>
 ;* V84 tmp64        [V84    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.DataTableCollection>
 ;* V85 tmp65        [V85    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.DataRowCollection>
-;  V86 tmp66        [V86,T21] (  4,  64   )     ref  ->  [fp+0x30]  class-hnd exact spill-single-def "Inlining Arg" <System.Data.DataRowCollection+DataRowTree>
+;  V86 tmp66        [V86,T20] (  4,  64   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def "Inlining Arg" <System.Data.DataRowCollection+DataRowTree>
 ;* V87 tmp67        [V87    ] (  0,   0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
-;  V88 tmp68        [V88,T12] (  7, 112   )     ref  ->   x0         class-hnd exact "Single-def Box Helper" <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
+;  V88 tmp68        [V88,T11] (  7, 112   )     ref  ->   x0         class-hnd exact "Single-def Box Helper" <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
 ;* V89 tmp69        [V89    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V90 tmp70        [V90,T53] (  5,   4.50)     ref  ->  x14         single-def "spilling varStr"
 ;  V91 tmp71        [V91,T76] (  2,   2   )     int  ->  x14         "spilling unroll qmark"
@@ -112,8 +112,8 @@
 ;  V101 tmp81       [V101,T48] (  3,   6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V102 tmp82       [V102,T30] (  3,  18   )     ref  ->   x0         "argument with side effect"
 ;  V103 tmp83       [V103,T77] (  2,   2   )     int  ->   x1         "argument with side effect"
-;  V104 tmp84       [V104,T71] (  2,   2   )     ref  ->  [fp+0x28]  spill-single-def "argument with side effect"
-;  V105 tmp85       [V105,T72] (  2,   2   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
+;  V104 tmp84       [V104,T71] (  2,   2   )     ref  ->  [fp+0x30]  spill-single-def "argument with side effect"
+;  V105 tmp85       [V105,T72] (  2,   2   )     ref  ->  [fp+0x28]  spill-single-def "argument with side effect"
 ;  V106 tmp86       [V106,T73] (  2,   2   )     ref  ->   x3         single-def "argument with side effect"
 ;  V107 tmp87       [V107,T78] (  2,   2   )     int  ->   x1         "argument with side effect"
 ;  V108 tmp88       [V108,T79] (  2,   2   )     int  ->   x1         "argument with side effect"
@@ -121,31 +121,31 @@
 ;  V110 tmp90       [V110,T62] (  3,   3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V111 tmp91       [V111,T31] (  3,  18   )     ref  ->   x0         "argument with side effect"
 ;  V112 tmp92       [V112,T63] (  3,   3   )     ref  ->   x0         single-def "argument with side effect"
-;  V113 tmp93       [V113,T09] (  3, 144   )     ref  ->   x0         "argument with side effect"
-;  V114 tmp94       [V114,T08] (  3, 192   )     ref  ->   x0         "argument with side effect"
-;  V115 tmp95       [V115,T10] (  3, 144   )     ref  ->   x0         "argument with side effect"
+;  V113 tmp93       [V113,T08] (  3, 144   )     ref  ->   x0         "argument with side effect"
+;  V114 tmp94       [V114,T07] (  3, 192   )     ref  ->   x0         "argument with side effect"
+;  V115 tmp95       [V115,T09] (  3, 144   )     ref  ->   x0         "argument with side effect"
 ;  V116 PSPSym      [V116,T87] (  1,   1   )    long  ->  [fp+0xC8]  do-not-enreg[V] "PSPSym"
 ;  V117 cse0        [V117,T64] (  3,   3   )     ref  ->   x0         "CSE #05: moderate"
 ;* V118 cse1        [V118,T81] (  0,   0   )   byref  ->  zero-ref    multi-def "CSE #02: moderate"
 ;  V119 cse2        [V119,T34] ( 16,  12.50)    long  ->  x21         "CSE #08: moderate"
 ;  V120 cse3        [V120,T50] (  4,   5.50)    long  ->  x28         "CSE #18: moderate"
 ;  V121 cse4        [V121,T51] (  8,   5   )    long  ->  x27         "CSE #11: moderate"
-;  V122 cse5        [V122,T16] (  4,  98   )     int  ->  x22         "CSE #21: aggressive"
-;  V123 cse6        [V123,T05] (  2, 544   )   byref  ->  [fp+0x18]  spill-single-def "CSE #23: aggressive"
-;  V124 cse7        [V124,T03] (  3,1056   )   byref  ->  [fp+0x10]  spill-single-def "CSE #22: aggressive"
-;  V125 cse8        [V125,T14] ( 19, 101.50)    long  ->  x26         multi-def "CSE #06: aggressive"
-;  V126 rat0        [V126,T15] (  4,  98   )   byref  ->  x27         "Strength reduced derived IV"
-;  V127 rat1        [V127,T17] (  4,  98   )     int  ->  x28         "Trip count IV"
-;  V128 rat2        [V128,T00] (  4,1568   )    long  ->  [fp+0xA8]  "Strength reduced derived IV"
-;  V129 rat3        [V129,T01] (  4,1568   )     int  ->  [fp+0xA4]  "Trip count IV"
+;  V122 cse5        [V122,T15] (  4,  98   )     int  ->  x22         "CSE #21: aggressive"
+;  V123 cse6        [V123,T22] (  2,  64   )   byref  ->  [fp+0x20]  spill-single-def "CSE #23: aggressive"
+;  V124 cse7        [V124,T03] (  3,1056   )   byref  ->  [fp+0x18]  spill-single-def "CSE #22: aggressive"
+;  V125 cse8        [V125,T13] ( 19, 101.50)    long  ->  x26         multi-def "CSE #06: aggressive"
+;  V126 rat0        [V126,T14] (  4,  98   )   byref  ->  x27         "Strength reduced derived IV"
+;  V127 rat1        [V127,T16] (  4,  98   )     int  ->  x28         "Trip count IV"
+;  V128 rat2        [V128,T00] (  4,1568   )   byref  ->  [fp+0x10]  "Strength reduced derived IV"
+;  V129 rat3        [V129,T01] (  4,1568   )     int  ->  [fp+0xAC]  "Trip count IV"
 ;  V130 rat4        [V130,T27] (  5,  30   )     ref  ->   x2         "replacement local"
 ;  V131 rat5        [V131,T36] (  3,  10   )    long  ->   x3         "CSE for expectedClsNode"
 ;  V132 rat6        [V132,T28] (  5,  30   )     ref  ->  x19         "replacement local"
 ;  V133 rat7        [V133,T37] (  3,  10   )    long  ->   x2         "CSE for expectedClsNode"
-;  V134 rat8        [V134,T06] (  5, 240   )     ref  ->  x19         "replacement local"
-;  V135 rat9        [V135,T19] (  3,  80   )    long  ->   x2         "CSE for expectedClsNode"
-;  V136 rat10       [V136,T07] (  5, 240   )     ref  ->   x2         "replacement local"
-;  V137 rat11       [V137,T20] (  3,  80   )    long  ->   x3         "CSE for expectedClsNode"
+;  V134 rat8        [V134,T05] (  5, 240   )     ref  ->  x19         "replacement local"
+;  V135 rat9        [V135,T18] (  3,  80   )    long  ->   x2         "CSE for expectedClsNode"
+;  V136 rat10       [V136,T06] (  5, 240   )     ref  ->   x2         "replacement local"
+;  V137 rat11       [V137,T19] (  3,  80   )    long  ->   x3         "CSE for expectedClsNode"
 ;  V138 rat12       [V138,T90] (  3,   3   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;  V139 rat13       [V139,T91] (  3,   3   )  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;
@@ -302,12 +302,12 @@ G_M20677_IG10:        ; bbWeight=1, gcrefRegs=2180000 {x19 x20 x25}, byrefRegs=0
             ldr     x1, [x1]
             blr     x1
             ; gcr arg pop 0
-            str     x0, [fp, #0x98]	// [V07 loc5]
+            str     x0, [fp, #0xA0]	// [V07 loc5]
             ; GC ptr vars +{V07}
 						;; size=28 bbWeight=1 PerfScore 17.00
-G_M20677_IG11:        ; bbWeight=8, gcVars=00000000000000000000000000040000 {V07}, gcrefRegs=2180000 {x19 x20 x25}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M20677_IG11:        ; bbWeight=8, gcVars=00000000000000000000000000020000 {V07}, gcrefRegs=2180000 {x19 x20 x25}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [fp, #0x98]	// [V07 loc5]
+            ldr     x0, [fp, #0xA0]	// [V07 loc5]
             ; gcrRegs +[x0]
             movz    x26, #0xD1FFAB1E      // code for <unknown method>
             movk    x26, #0xD1FFAB1E LSL #16
@@ -320,7 +320,7 @@ G_M20677_IG11:        ; bbWeight=8, gcVars=00000000000000000000000000040000 {V07
             cbz     w0, G_M20677_IG16
 						;; size=32 bbWeight=8 PerfScore 72.00
 G_M20677_IG12:        ; bbWeight=4, gcrefRegs=2180000 {x19 x20 x25}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x98]	// [V07 loc5]
+            ldr     x0, [fp, #0xA0]	// [V07 loc5]
             ; gcrRegs +[x0]
             add     x11, x26, #8
             ldr     xip0, [x11]
@@ -359,7 +359,7 @@ G_M20677_IG15:        ; bbWeight=4, gcrefRegs=2180004 {x2 x19 x20 x25}, byrefReg
 						;; size=12 bbWeight=4 PerfScore 20.00
 G_M20677_IG16:        ; bbWeight=1, gcrefRegs=2180000 {x19 x20 x25}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x1-x2]
-            ldr     x1, [fp, #0x98]	// [V07 loc5]
+            ldr     x1, [fp, #0xA0]	// [V07 loc5]
             ; gcrRegs +[x1]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -522,7 +522,7 @@ G_M20677_IG27:        ; bbWeight=0.50, gcrefRegs=2180000 {x19 x20 x25}, byrefReg
             ; gcr arg pop 0
             mov     x2, x0
             ; gcrRegs +[x2]
-            str     x2, [fp, #0x68]	// [V45 tmp25]
+            str     x2, [fp, #0x70]	// [V45 tmp25]
             ; GC ptr vars +{V45}
             movz    x0, #0xD1FFAB1E
             ; gcrRegs -[x0]
@@ -558,7 +558,7 @@ G_M20677_IG30:        ; bbWeight=0.29, gcrefRegs=2180004 {x2 x19 x20 x25}, byref
             ; gcr arg pop 0
 						;; size=56 bbWeight=0.29 PerfScore 3.83
 G_M20677_IG31:        ; bbWeight=0.50, gcrefRegs=2180000 {x19 x20 x25}, byrefRegs=0000 {}, byref, isz
-            ldr     x2, [fp, #0x68]	// [V45 tmp25]
+            ldr     x2, [fp, #0x70]	// [V45 tmp25]
             ; gcrRegs +[x2]
             ldr     w1, [x2, #0x08]
             lsl     w1, w1, #1
@@ -567,7 +567,7 @@ G_M20677_IG31:        ; bbWeight=0.50, gcrefRegs=2180000 {x19 x20 x25}, byrefReg
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x0, [fp, #0x68]	// [V45 tmp25]
+            ldr     x0, [fp, #0x70]	// [V45 tmp25]
             ; gcrRegs +[x0]
             add     x0, x0, #12
             ; gcrRegs -[x0]
@@ -590,7 +590,7 @@ G_M20677_IG32:        ; bbWeight=0.50, gcrefRegs=2180000 {x19 x20 x25}, byrefReg
             ; gcr arg pop 0
             mov     x2, x0
             ; gcrRegs +[x2]
-            str     x2, [fp, #0x60]	// [V52 tmp32]
+            str     x2, [fp, #0x68]	// [V52 tmp32]
             ; GC ptr vars +{V52}
             movz    x0, #0xD1FFAB1E
             ; gcrRegs -[x0]
@@ -626,7 +626,7 @@ G_M20677_IG35:        ; bbWeight=0.29, gcrefRegs=2180004 {x2 x19 x20 x25}, byref
             ; gcr arg pop 0
 						;; size=56 bbWeight=0.29 PerfScore 3.83
 G_M20677_IG36:        ; bbWeight=0.50, gcrefRegs=2180000 {x19 x20 x25}, byrefRegs=0000 {}, byref, isz
-            ldr     x2, [fp, #0x60]	// [V52 tmp32]
+            ldr     x2, [fp, #0x68]	// [V52 tmp32]
             ; gcrRegs +[x2]
             ldr     w1, [x2, #0x08]
             lsl     w1, w1, #1
@@ -635,7 +635,7 @@ G_M20677_IG36:        ; bbWeight=0.50, gcrefRegs=2180000 {x19 x20 x25}, byrefReg
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x0, [fp, #0x60]	// [V52 tmp32]
+            ldr     x0, [fp, #0x68]	// [V52 tmp32]
             ; gcrRegs +[x0]
             add     x0, x0, #12
             ; gcrRegs -[x0]
@@ -657,7 +657,7 @@ G_M20677_IG37:        ; bbWeight=0.50, gcrefRegs=2180000 {x19 x20 x25}, byrefReg
             bl      CORINFO_HELP_NEWSFAST
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x78]	// [V23 tmp3]
+            str     x0, [fp, #0x80]	// [V23 tmp3]
             ; GC ptr vars +{V23}
             movz    x0, #0xD1FFAB1E
             ; gcrRegs -[x0]
@@ -666,7 +666,7 @@ G_M20677_IG37:        ; bbWeight=0.50, gcrefRegs=2180000 {x19 x20 x25}, byrefReg
             bl      CORINFO_HELP_NEWSFAST
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x58]	// [V59 tmp39]
+            str     x0, [fp, #0x60]	// [V59 tmp39]
             ; GC ptr vars +{V59}
             movz    x0, #0xD1FFAB1E
             ; gcrRegs -[x0]
@@ -677,7 +677,7 @@ G_M20677_IG37:        ; bbWeight=0.50, gcrefRegs=2180000 {x19 x20 x25}, byrefReg
             ; gcr arg pop 0
...
libraries_tests.run.windows.arm64.Release.mch
-16 (-13.33%) : 439476.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Tier1)
@@ -8,24 +8,23 @@
 ; with Dynamic PGO: fgCalledCount is 2
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T04] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.String>
-;  V01 loc0         [V01,T05] (  3,  2.97)     ref  ->   x0         class-hnd exact single-def <System.String>
+;  V00 arg0         [V00,T03] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.String>
+;  V01 loc0         [V01,T04] (  3,  2.97)     ref  ->   x0         class-hnd exact single-def <System.String>
 ;* V02 loc1         [V02,T07] (  0,  0   )     int  ->  zero-ref   
 ;  V03 loc2         [V03,T02] (  3,102.00)  ushort  ->   x0        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 cse0         [V05,T03] (  2, 34.97)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V06 cse1         [V06,T06] (  3,  2.97)     int  ->  x19         "CSE #02: aggressive"
-;  V07 rat0         [V07,T00] (  4,102.97)    long  ->  x21         "Strength reduced derived IV"
+;  V05 cse0         [V05,T06] (  2,  1.94)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V06 cse1         [V06,T05] (  3,  2.97)     int  ->  x19         "CSE #02: aggressive"
+;  V07 rat0         [V07,T00] (  4,102.97)   byref  ->  x20         "Strength reduced derived IV"
 ;  V08 rat1         [V08,T01] (  4,102.97)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M35714_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M35714_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     w19, [x0, #0x08]
@@ -35,11 +34,10 @@ G_M35714_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M35714_IG03:        ; bbWeight=0.97, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #12
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.97 PerfScore 0.97
+						;; size=4 bbWeight=0.97 PerfScore 0.49
 G_M35714_IG04:        ; bbWeight=34.00, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldrh    w0, [x20, x21]
+            ldrh    w0, [x20]
             cbz     w0, G_M35714_IG05
             movz    x1, #0xD1FFAB1E      // code for System.Reflection.Emit.TypeNameBuilder:IsTypeNameReservedChar(ushort):ubyte
             movk    x1, #0xD1FFAB1E LSL #16
@@ -47,7 +45,7 @@ G_M35714_IG04:        ; bbWeight=34.00, gcrefRegs=0000 {}, byrefRegs=100000 {x20
             ldr     x1, [x1]
             blr     x1
             cbnz    w0, G_M35714_IG07
-            add     x21, x21, #2
+            add     x20, x20, #2
             sub     w19, w19, #1
             cbnz    w19, G_M35714_IG04
 						;; size=44 bbWeight=34.00 PerfScore 425.00
@@ -56,22 +54,20 @@ G_M35714_IG05:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=1.00 PerfScore 0.50
 G_M35714_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=1.00 PerfScore 5.00
+						;; size=12 bbWeight=1.00 PerfScore 3.00
 G_M35714_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
 						;; size=4 bbWeight=0 PerfScore 0.00
 G_M35714_IG08:        ; bbWeight=0, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 120, prolog size 16, PerfScore 439.47, instruction count 30, allocated bytes for code 120 (MethodHash=6c0a747d) for method System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Tier1)
+; Total bytes of code 104, prolog size 12, PerfScore 435.99, instruction count 26, allocated bytes for code 104 (MethodHash=6c0a747d) for method System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +78,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
+  Function Length   : 26 (0x0001a) Actual length = 104 (0x000068)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -93,9 +89,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-16 (-13.33%) : 517469.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Tier1)
@@ -8,24 +8,23 @@
 ; with Dynamic PGO: fgCalledCount is 56
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T04] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.String>
-;  V01 loc0         [V01,T05] (  3,  2.98)     ref  ->   x0         class-hnd exact single-def <System.String>
+;  V00 arg0         [V00,T03] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.String>
+;  V01 loc0         [V01,T04] (  3,  2.98)     ref  ->   x0         class-hnd exact single-def <System.String>
 ;* V02 loc1         [V02,T07] (  0,  0   )     int  ->  zero-ref   
 ;  V03 loc2         [V03,T02] (  3,130.93)  ushort  ->   x0        
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 cse0         [V05,T03] (  2, 44.62)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V06 cse1         [V06,T06] (  3,  2.98)     int  ->  x19         "CSE #02: aggressive"
-;  V07 rat0         [V07,T00] (  4,131.91)    long  ->  x21         "Strength reduced derived IV"
+;  V05 cse0         [V05,T06] (  2,  1.96)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V06 cse1         [V06,T05] (  3,  2.98)     int  ->  x19         "CSE #02: aggressive"
+;  V07 rat0         [V07,T00] (  4,131.91)   byref  ->  x20         "Strength reduced derived IV"
 ;  V08 rat1         [V08,T01] (  4,131.91)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M35714_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M35714_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     w19, [x0, #0x08]
@@ -35,11 +34,10 @@ G_M35714_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M35714_IG03:        ; bbWeight=0.98, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #12
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.98 PerfScore 0.98
+						;; size=4 bbWeight=0.98 PerfScore 0.49
 G_M35714_IG04:        ; bbWeight=43.64, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldrh    w0, [x20, x21]
+            ldrh    w0, [x20]
             cbz     w0, G_M35714_IG05
             movz    x1, #0xD1FFAB1E      // code for System.Reflection.Emit.TypeNameBuilder:IsTypeNameReservedChar(ushort):ubyte
             movk    x1, #0xD1FFAB1E LSL #16
@@ -47,7 +45,7 @@ G_M35714_IG04:        ; bbWeight=43.64, gcrefRegs=0000 {}, byrefRegs=100000 {x20
             ldr     x1, [x1]
             blr     x1
             cbnz    w0, G_M35714_IG07
-            add     x21, x21, #2
+            add     x20, x20, #2
             sub     w19, w19, #1
             cbnz    w19, G_M35714_IG04
 						;; size=44 bbWeight=43.64 PerfScore 545.54
@@ -56,22 +54,20 @@ G_M35714_IG05:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=1.00 PerfScore 0.50
 G_M35714_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=1.00 PerfScore 5.00
+						;; size=12 bbWeight=1.00 PerfScore 3.00
 G_M35714_IG07:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
 						;; size=4 bbWeight=0 PerfScore 0.00
 G_M35714_IG08:        ; bbWeight=0, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 120, prolog size 16, PerfScore 560.01, instruction count 30, allocated bytes for code 120 (MethodHash=6c0a747d) for method System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Tier1)
+; Total bytes of code 104, prolog size 12, PerfScore 556.52, instruction count 26, allocated bytes for code 104 (MethodHash=6c0a747d) for method System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +78,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
+  Function Length   : 26 (0x0001a) Actual length = 104 (0x000068)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -93,9 +89,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-12 (-9.68%) : 321836.dasm - System.Linq.Parallel.MergeExecutor`1[long]:MakeSynchronousChannels(int):System.Linq.Parallel.SynchronousChannel`1[long][] (Tier1)
@@ -15,20 +15,19 @@
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T00] (  2,  8.00)     ref  ->  x15         class-hnd exact "NewObj constructor temp" <System.Linq.Parallel.SynchronousChannel`1[long]>
 ;  V05 cse0         [V05,T04] (  3,  4.00)    long  ->  x19         "CSE #01: aggressive"
-;  V06 cse1         [V06,T07] (  2,  2.67)   byref  ->  x22         hoist "CSE #02: aggressive"
+;  V06 cse1         [V06,T07] (  2,  1.33)   byref  ->  x22         hoist "CSE #02: aggressive"
 ;  V07 cse2         [V07,T06] (  3,  2.67)     int  ->  x21         "CSE #03: moderate"
-;  V08 rat0         [V08,T01] (  4,  6.67)    long  ->  x23         "Strength reduced derived IV"
+;  V08 rat0         [V08,T01] (  4,  6.67)   byref  ->  x22         "Strength reduced derived IV"
 ;  V09 rat1         [V09,T02] (  4,  6.67)     int  ->  x21         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M16160_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
-						;; size=20 bbWeight=1 PerfScore 4.50
+						;; size=16 bbWeight=1 PerfScore 3.50
 G_M16160_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             sxtw    x1, w0
             movz    x19, #0xD1FFAB1E
@@ -48,8 +47,7 @@ G_M16160_IG03:        ; bbWeight=0.67, gcrefRegs=100000 {x20}, byrefRegs=0000 {}
             ; gcrRegs -[x0]
             add     x22, x20, #16
             ; byrRegs +[x22]
-            mov     x23, xzr
-						;; size=8 bbWeight=0.67 PerfScore 0.67
+						;; size=4 bbWeight=0.67 PerfScore 0.33
 G_M16160_IG04:        ; bbWeight=2.00, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, byref, isz
             mov     x0, x19
             bl      CORINFO_HELP_NEWSFAST
@@ -57,12 +55,12 @@ G_M16160_IG04:        ; bbWeight=2.00, gcrefRegs=100000 {x20}, byrefRegs=400000
             ; gcr arg pop 0
             mov     x15, x0
             ; gcrRegs +[x15]
-            add     x14, x22, x23
+            mov     x14, x22
             ; byrRegs +[x14]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x0 x15]
             ; byrRegs -[x14]
-            add     x23, x23, #8
+            add     x22, x22, #8
             sub     w21, w21, #1
             cbnz    w21, G_M16160_IG04
 						;; size=32 bbWeight=2.00 PerfScore 11.00
@@ -72,14 +70,13 @@ G_M16160_IG05:        ; bbWeight=1.00, gcrefRegs=100000 {x20}, byrefRegs=0000 {}
             ; gcrRegs +[x0]
 						;; size=4 bbWeight=1.00 PerfScore 0.50
 G_M16160_IG06:        ; bbWeight=1.00, epilog, nogc, extend
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-						;; size=20 bbWeight=1.00 PerfScore 6.00
+						;; size=16 bbWeight=1.00 PerfScore 4.00
 
-; Total bytes of code 124, prolog size 20, PerfScore 31.17, instruction count 31, allocated bytes for code 124 (MethodHash=8accc0df) for method System.Linq.Parallel.MergeExecutor`1[long]:MakeSynchronousChannels(int):System.Linq.Parallel.SynchronousChannel`1[long][] (Tier1)
+; Total bytes of code 112, prolog size 16, PerfScore 27.83, instruction count 28, allocated bytes for code 112 (MethodHash=8accc0df) for method System.Linq.Parallel.MergeExecutor`1[long]:MakeSynchronousChannels(int):System.Linq.Parallel.SynchronousChannel`1[long][] (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -90,7 +87,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 31 (0x0001f) Actual length = 124 (0x00007c)
+  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -98,9 +95,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D1 07       save_reg X#4 Z#7 (0x07); str x23, [sp, #56]
     E6          save_next
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
+    E4          end
     E4          end
 
+4 (+0.18%) : 155622.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
@@ -23,7 +23,7 @@
 ;  V11 loc4         [V11,T24] (  3,  2.17)     int  ->  x19        
 ;  V12 loc5         [V12,T16] ( 10,  3.27)     int  ->  x23        
 ;  V13 loc6         [V13,T35] (  5,  1.41)     int  ->  x24        
-;  V14 loc7         [V14,T33] (  9,  1.64)     ref  ->  x27         class-hnd exact <System.Reflection.RuntimePropertyInfo>
+;  V14 loc7         [V14,T33] (  9,  1.64)     ref  ->  x26         class-hnd exact <System.Reflection.RuntimePropertyInfo>
 ;  V15 loc8         [V15    ] (  2,  0.64)   ubyte  ->  [fp+0xB0]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V16 loc9         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg multireg-ret <System.MdUtf8String>
 ;* V17 loc10        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Reflection.MethodInfo>
@@ -36,7 +36,7 @@
 ;# V24 OutArgs      [V24    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V25 tmp1         [V25,T26] (  4,  2   )     int  ->   x0        
 ;  V26 tmp2         [V26,T25] (  3,  2.09)     ref  ->   x0         class-hnd exact "dup spill" <int[]>
-;  V27 tmp3         [V27,T31] (  3,  1.95)     ref  ->  x27         class-hnd exact "NewObj constructor temp" <System.Reflection.RuntimePropertyInfo>
+;  V27 tmp3         [V27,T31] (  3,  1.95)     ref  ->  x26         class-hnd exact "NewObj constructor temp" <System.Reflection.RuntimePropertyInfo>
 ;  V28 tmp4         [V28,T39] (  2,  1.28)     ref  ->  x24         class-hnd "dup spill" <System.Reflection.MethodInfo>
 ;  V29 tmp5         [V29,T32] ( 12,  1.78)     ref  ->  x24        
 ;  V30 tmp6         [V30,T38] (  3,  1.39)     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]>
@@ -110,14 +110,14 @@
 ;  V98 tmp74        [V98,T42] (  2,  0.93)     int  ->   x0         "argument with side effect"
 ;  V99 tmp75        [V99,T54] (  3,  0.41)     ref  ->   x1         "arr expr"
 ;  V100 tmp76       [V100,T59] (  2,  0.27)     ref  ->   x1         "argument with side effect"
-;  V101 cse0        [V101,T50] (  2,  0.70)     int  ->  x27         hoist "CSE #08: moderate"
+;  V101 cse0        [V101,T50] (  2,  0.70)     int  ->  x26         hoist "CSE #08: moderate"
 ;  V102 cse1        [V102,T53] (  2,  0.47)     int  ->  x12         "CSE #13: conservative"
 ;  V103 cse2        [V103,T55] (  3,  0.35)    long  ->   x0         "CSE #12: conservative"
 ;  V104 cse3        [V104,T20] (  3,  3   )     int  ->   x0         "CSE #01: moderate"
 ;  V105 cse4        [V105,T22] (  3,  2.99)     int  ->   x0         "CSE #02: moderate"
-;  V106 cse5        [V106,T49] (  2,  0.70)   byref  ->  x26         hoist "CSE #07: moderate"
-;  V107 rat0        [V107,T36] (  4,  1.40)    long  ->   x2         "Strength reduced derived IV"
-;  V108 rat1        [V108,T37] (  4,  1.40)     int  ->  x28         "Trip count IV"
+;  V106 cse5        [V106,T49] (  2,  0.70)   byref  ->   x2         hoist "CSE #07: moderate"
+;  V107 rat0        [V107,T36] (  4,  1.40)   byref  ->   x2         "Strength reduced derived IV"
+;  V108 rat1        [V108,T37] (  4,  1.40)     int  ->  x27         "Trip count IV"
 ;  V109 rat2        [V109,T51] (  2,  0.35)     ref  ->   x0         "replacement local"
 ;  V110 rat3        [V110,T57] (  3,  0.35)    long  ->   x2         "CSE for expectedClsNode"
 ;
@@ -413,21 +413,20 @@ G_M9628_IG19:        ; bbWeight=0.35, gcrefRegs=100000 {x20}, byrefRegs=0000 {},
             ; gcr arg pop 0
             mov     w1, #0xD1FFAB1E
             str     w1, [x0, #0x10]
-            add     x26, x0, #16
-            ; byrRegs +[x26]
-            and     w27, w24, #0xD1FFAB1E
-            mov     x2, xzr
-            mov     w28, #1
-						;; size=84 bbWeight=0.35 PerfScore 5.06
-G_M9628_IG20:        ; bbWeight=0.35, gcrefRegs=100000 {x20}, byrefRegs=4000000 {x26}, byref, isz
+            add     x2, x0, #16
+            ; byrRegs +[x2]
+            and     w26, w24, #0xD1FFAB1E
+            mov     w27, #1
+						;; size=80 bbWeight=0.35 PerfScore 4.88
+G_M9628_IG20:        ; bbWeight=0.35, gcrefRegs=100000 {x20}, byrefRegs=0004 {x2}, byref, isz
             ; gcrRegs -[x0]
-            ldr     w0, [x26, x2]
-            cmp     w0, w27
+            ldr     w0, [x2]
+            cmp     w0, w26
             bne     G_M9628_IG37
             mov     w0, #1
 						;; size=16 bbWeight=0.35 PerfScore 1.74
 G_M9628_IG21:        ; bbWeight=0.35, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x26]
+            ; byrRegs -[x2]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -437,30 +436,30 @@ G_M9628_IG21:        ; bbWeight=0.35, gcrefRegs=100000 {x20}, byrefRegs=0000 {},
             ldr     x2, [x2]
             blr     x2
             ; gcr arg pop 0
-            ldr     x26, [fp, #0x50]	// [V01 arg1]
-            ; byrRegs +[x26]
-            ldr     w0, [x26, #0x10]
+            ldr     x28, [fp, #0x50]	// [V01 arg1]
+            ; byrRegs +[x28]
+            ldr     w0, [x28, #0x10]
             cmp     w0, #1
             beq     G_M9628_IG24
 						;; size=48 bbWeight=0.35 PerfScore 4.71
-G_M9628_IG22:        ; bbWeight=0.21, gcVars=00000000000000000000000000020170 {V00 V03 V06 V08 V76}, gcrefRegs=100000 {x20}, byrefRegs=4000000 {x26}, gcvars, byref, isz
+G_M9628_IG22:        ; bbWeight=0.21, gcVars=00000000000000000000000000020170 {V00 V03 V06 V08 V76}, gcrefRegs=100000 {x20}, byrefRegs=10000000 {x28}, gcvars, byref, isz
             ; GC ptr vars -{V01 V05}
-            ldr     w0, [x26, #0x10]
+            ldr     w0, [x28, #0x10]
             cmp     w0, #2
             bne     G_M9628_IG25
 						;; size=12 bbWeight=0.21 PerfScore 0.94
-G_M9628_IG23:        ; bbWeight=0.02, gcrefRegs=100000 {x20}, byrefRegs=4000000 {x26}, byref
+G_M9628_IG23:        ; bbWeight=0.02, gcrefRegs=100000 {x20}, byrefRegs=10000000 {x28}, byref
             ldr     x22, [fp, #0x40]	// [V03 arg3]
             ; gcrRegs +[x22]
             b       G_M9628_IG38
 						;; size=8 bbWeight=0.02 PerfScore 0.07
-G_M9628_IG24:        ; bbWeight=0.14, gcrefRegs=100000 {x20}, byrefRegs=4000000 {x26}, byref
+G_M9628_IG24:        ; bbWeight=0.14, gcrefRegs=100000 {x20}, byrefRegs=10000000 {x28}, byref
             ; gcrRegs -[x22]
             ldr     x22, [fp, #0x40]	// [V03 arg3]
             ; gcrRegs +[x22]
             b       G_M9628_IG38
 						;; size=8 bbWeight=0.14 PerfScore 0.42
-G_M9628_IG25:        ; bbWeight=0.32, gcrefRegs=100000 {x20}, byrefRegs=4000000 {x26}, byref, isz
+G_M9628_IG25:        ; bbWeight=0.32, gcrefRegs=100000 {x20}, byrefRegs=10000000 {x28}, byref, isz
             ; gcrRegs -[x22]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -468,14 +467,14 @@ G_M9628_IG25:        ; bbWeight=0.32, gcrefRegs=100000 {x20}, byrefRegs=4000000
             bl      CORINFO_HELP_NEWSFAST
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            mov     x27, x0
+            mov     x26, x0
+            ; gcrRegs +[x26]
+            ldr     x27, [fp, #0x58]	// [V00 this]
             ; gcrRegs +[x27]
-            ldr     x28, [fp, #0x58]	// [V00 this]
-            ; gcrRegs +[x28]
-            ldr     x3, [x28, #0x10]
+            ldr     x3, [x27, #0x10]
             ; gcrRegs +[x3]
             add     x4, fp, #176	// [V15 loc8]
-            mov     x0, x27
+            mov     x0, x26
             mov     w1, w24
             mov     x2, x20
             ; gcrRegs +[x2]
@@ -490,8 +489,8 @@ G_M9628_IG25:        ; bbWeight=0.32, gcrefRegs=100000 {x20}, byrefRegs=4000000
             tst     w21, #255
             bne     G_M9628_IG49
 						;; size=72 bbWeight=0.32 PerfScore 5.51
-G_M9628_IG26:        ; bbWeight=0.32, gcrefRegs=18100000 {x20 x27 x28}, byrefRegs=4000000 {x26}, byref, isz
-            ldr     x0, [x28, #0x10]
+G_M9628_IG26:        ; bbWeight=0.32, gcrefRegs=C100000 {x20 x26 x27}, byrefRegs=10000000 {x28}, byref, isz
+            ldr     x0, [x27, #0x10]
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x08]
             cmp     x20, x0
@@ -500,7 +499,7 @@ G_M9628_IG26:        ; bbWeight=0.32, gcrefRegs=18100000 {x20 x27 x28}, byrefReg
             ldrb    w1, [fp, #0xB0]	// [V15 loc8]
             tst     w0, w1
             bne     G_M9628_IG50
-            mov     x0, x27
+            mov     x0, x26
             ; gcrRegs +[x0]
             mov     w1, wzr
             movz    x2, #0xD1FFAB1E
@@ -514,11 +513,11 @@ G_M9628_IG26:        ; bbWeight=0.32, gcrefRegs=18100000 {x20 x27 x28}, byrefReg
             ; gcrRegs +[x24]
             cbz     x24, G_M9628_IG40
 						;; size=68 bbWeight=0.32 PerfScore 6.87
-G_M9628_IG27:        ; bbWeight=0.32, gcrefRegs=19100000 {x20 x24 x27 x28}, byrefRegs=4000000 {x26}, byref, isz
+G_M9628_IG27:        ; bbWeight=0.32, gcrefRegs=D100000 {x20 x24 x26 x27}, byrefRegs=10000000 {x28}, byref, isz
             ; gcrRegs -[x0]
             cbz     x24, G_M9628_IG33
 						;; size=4 bbWeight=0.32 PerfScore 0.32
-G_M9628_IG28:        ; bbWeight=0.09, gcrefRegs=19100000 {x20 x24 x27 x28}, byrefRegs=4000000 {x26}, byref, isz
+G_M9628_IG28:        ; bbWeight=0.09, gcrefRegs=D100000 {x20 x24 x26 x27}, byrefRegs=10000000 {x28}, byref, isz
             mov     x0, x24
             ; gcrRegs +[x0]
             movz    x2, #0xD1FFAB1E
@@ -529,7 +528,7 @@ G_M9628_IG28:        ; bbWeight=0.09, gcrefRegs=19100000 {x20 x24 x27 x28}, byre
             cmp     x0, x2
             bne     G_M9628_IG59
 						;; size=28 bbWeight=0.09 PerfScore 0.56
-G_M9628_IG29:        ; bbWeight=0.17, gcrefRegs=19100000 {x20 x24 x27 x28}, byrefRegs=4000000 {x26}, byref, isz
+G_M9628_IG29:        ; bbWeight=0.17, gcrefRegs=D100000 {x20 x24 x26 x27}, byrefRegs=10000000 {x28}, byref, isz
             mov     w0, #1
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -548,7 +547,7 @@ G_M9628_IG29:        ; bbWeight=0.17, gcrefRegs=19100000 {x20 x24 x27 x28}, byre
             cmp     w2, w19
             bge     G_M9628_IG33
 						;; size=60 bbWeight=0.17 PerfScore 2.51
-G_M9628_IG30:        ; bbWeight=0.12, gcrefRegs=19100000 {x20 x24 x27 x28}, byrefRegs=4000000 {x26}, byref, isz
+G_M9628_IG30:        ; bbWeight=0.12, gcrefRegs=D100000 {x20 x24 x26 x27}, byrefRegs=10000000 {x28}, byref, isz
             ldr     x0, [x24]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -557,7 +556,7 @@ G_M9628_IG30:        ; bbWeight=0.12, gcrefRegs=19100000 {x20 x24 x27 x28}, byre
             bne     G_M9628_IG58
             ldr     w3, [x24, #0x5C]
 						;; size=28 bbWeight=0.12 PerfScore 1.10
-G_M9628_IG31:        ; bbWeight=0.12, gcrefRegs=18100000 {x20 x27 x28}, byrefRegs=4000000 {x26}, byref, isz
+G_M9628_IG31:        ; bbWeight=0.12, gcrefRegs=C100000 {x20 x26 x27}, byrefRegs=10000000 {x28}, byref, isz
             ; gcrRegs -[x24]
             tst     w3, #64
             cset    x0, ne
@@ -579,22 +578,22 @@ G_M9628_IG31:        ; bbWeight=0.12, gcrefRegs=18100000 {x20 x27 x28}, byrefReg
             ldrb    w1, [x24, x0]
             cbnz    w1, G_M9628_IG36
 						;; size=68 bbWeight=0.12 PerfScore 2.20
-G_M9628_IG32:        ; bbWeight=0.11, gcVars=00000000000000000000000000000150 {V03 V06 V08}, gcrefRegs=18100000 {x20 x27 x28}, byrefRegs=5000000 {x24 x26}, gcvars, byref
+G_M9628_IG32:        ; bbWeight=0.11, gcVars=00000000000000000000000000000150 {V03 V06 V08}, gcrefRegs=C100000 {x20 x26 x27}, byrefRegs=11000000 {x24 x28}, gcvars, byref
             ; GC ptr vars -{V76}
             mov     w1, #1
             strb    w1, [x24, x0]
             str     x24, [fp, #0x10]	// [V76 tmp52]
             ; GC ptr vars +{V76}
 						;; size=12 bbWeight=0.11 PerfScore 0.27
-G_M9628_IG33:        ; bbWeight=0.31, gcVars=00000000000000000000000000020150 {V03 V06 V08 V76}, gcrefRegs=18100000 {x20 x27 x28}, byrefRegs=4000000 {x26}, gcvars, byref, isz
+G_M9628_IG33:        ; bbWeight=0.31, gcVars=00000000000000000000000000020150 {V03 V06 V08 V76}, gcrefRegs=C100000 {x20 x26 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
             ; byrRegs -[x24]
             ldr     x22, [fp, #0x40]	// [V03 arg3]
             ; gcrRegs +[x22]
             cbz     x22, G_M9628_IG52
 						;; size=8 bbWeight=0.31 PerfScore 0.92
-G_M9628_IG34:        ; bbWeight=0.30, gcVars=00000000000000000000000000020140 {V06 V08 V76}, gcrefRegs=18500000 {x20 x22 x27 x28}, byrefRegs=4000000 {x26}, gcvars, byref, isz
+G_M9628_IG34:        ; bbWeight=0.30, gcVars=00000000000000000000000000020140 {V06 V08 V76}, gcrefRegs=C500000 {x20 x22 x26 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
             ; GC ptr vars -{V03}
-            mov     x0, x27
+            mov     x0, x26
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Reflection.RuntimePropertyInfo:get_Name():System.String:this
             movk    x1, #0xD1FFAB1E LSL #16
@@ -619,7 +618,7 @@ G_M9628_IG34:        ; bbWeight=0.30, gcVars=00000000000000000000000000020140 {V
             ; gcr arg pop 0
             cbz     x0, G_M9628_IG41
 						;; size=64 bbWeight=0.30 PerfScore 4.50
-G_M9628_IG35:        ; bbWeight=0.16, gcVars=00000000000000000000000000020140 {V06 V08 V76}, gcrefRegs=18500000 {x20 x22 x27 x28}, byrefRegs=4000001 {x0 x26}, gcvars, byref
+G_M9628_IG35:        ; bbWeight=0.16, gcVars=00000000000000000000000000020140 {V06 V08 V76}, gcrefRegs=C500000 {x20 x22 x26 x27}, byrefRegs=10000001 {x0 x28}, gcvars, byref
             ; GC ptr vars -{V19}
             ldr     x2, [x0]
             ; gcrRegs +[x2]
@@ -627,27 +626,31 @@ G_M9628_IG35:        ; bbWeight=0.16, gcVars=00000000000000000000000000020140 {V
             ; GC ptr vars +{V20}
             b       G_M9628_IG42
 						;; size=12 bbWeight=0.16 PerfScore 0.81
-G_M9628_IG36:        ; bbWeight=0.01, gcVars=00000000000000000000000000000150 {V03 V06 V08}, gcrefRegs=10100000 {x20 x28}, byrefRegs=5000000 {x24 x26}, gcvars, byref
-            ; gcrRegs -[x2 x22 x27]
+G_M9628_IG36:        ; bbWeight=0.01, gcVars=00000000000000000000000000000150 {V03 V06 V08}, gcrefRegs=8100000 {x20 x27}, byrefRegs=11000000 {x24 x28}, gcvars, byref
+            ; gcrRegs -[x2 x22 x26]
             ; byrRegs -[x0] +[x24]
             ; GC ptr vars -{V20 V76} +{V03}
             str     x24, [fp, #0x10]	// [V76 tmp52]
             ; GC ptr vars +{V76}
             b       G_M9628_IG50
 						;; size=8 bbWeight=0.01 PerfScore 0.02
-G_M9628_IG37:        ; bbWeight=0.35, gcVars=00000000000000000000000000020172 {V00 V01 V03 V06 V08 V76}, gcrefRegs=100000 {x20}, byrefRegs=4000000 {x26}, gcvars, byref, isz
-            ; gcrRegs -[x28]
-            ; byrRegs -[x24]
+G_M9628_IG37:        ; bbWeight=0.35, gcVars=00000000000000000000000000020172 {V00 V01 V03 V06 V08 V76}, gcrefRegs=100000 {x20}, byrefRegs=0004 {x2}, gcvars, byref, isz
+            ; gcrRegs -[x27]
+            ; byrRegs -[x24 x28] +[x2]
             ; GC ptr vars +{V00 V01 V05}
             ldr     x22, [fp, #0x40]	// [V03 arg3]
             ; gcrRegs +[x22]
+            ldr     x28, [fp, #0x50]	// [V01 arg1]
+            ; byrRegs +[x28]
             add     x2, x2, #4
...
+4 (+0.19%) : 215170.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
@@ -23,7 +23,7 @@
 ;  V11 loc4         [V11,T26] (  3,  2.23)     int  ->  x19        
 ;  V12 loc5         [V12,T15] ( 10,  3.88)     int  ->  x23        
 ;  V13 loc6         [V13,T36] (  5,  1.65)     int  ->  x24        
-;  V14 loc7         [V14,T35] (  9,  1.76)     ref  ->  x27         class-hnd exact <System.Reflection.RuntimePropertyInfo>
+;  V14 loc7         [V14,T35] (  9,  1.76)     ref  ->  x26         class-hnd exact <System.Reflection.RuntimePropertyInfo>
 ;  V15 loc8         [V15    ] (  2,  0.78)   ubyte  ->  [fp+0xA0]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V16 loc9         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg multireg-ret <System.MdUtf8String>
 ;* V17 loc10        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Reflection.MethodInfo>
@@ -36,7 +36,7 @@
 ;# V24 OutArgs      [V24    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V25 tmp1         [V25,T28] (  4,  2   )     int  ->   x0        
 ;  V26 tmp2         [V26,T24] (  3,  2.47)     ref  ->   x0         class-hnd exact "dup spill" <int[]>
-;  V27 tmp3         [V27,T25] (  3,  2.45)     ref  ->  x27         class-hnd exact "NewObj constructor temp" <System.Reflection.RuntimePropertyInfo>
+;  V27 tmp3         [V27,T25] (  3,  2.45)     ref  ->  x26         class-hnd exact "NewObj constructor temp" <System.Reflection.RuntimePropertyInfo>
 ;  V28 tmp4         [V28,T39] (  2,  1.36)     ref  ->  x24         class-hnd "dup spill" <System.Reflection.MethodInfo>
 ;  V29 tmp5         [V29,T27] ( 10,  2.08)     ref  ->  x24        
 ;  V30 tmp6         [V30,T34] (  3,  1.83)     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]>
@@ -109,12 +109,12 @@
 ;  V97 tmp73        [V97,T41] (  2,  1.22)     int  ->   x0         "argument with side effect"
 ;  V98 tmp74        [V98,T59] (  3,  0.02)     ref  ->   x1         "arr expr"
 ;  V99 tmp75        [V99,T60] (  2,  0.01)     ref  ->   x1         "argument with side effect"
-;  V100 cse0        [V100,T49] (  2,  0.82)     int  ->  x27         hoist "CSE #08: moderate"
+;  V100 cse0        [V100,T49] (  2,  0.82)     int  ->  x26         hoist "CSE #08: moderate"
 ;  V101 cse1        [V101,T20] (  3,  3   )     int  ->   x0         "CSE #01: moderate"
 ;  V102 cse2        [V102,T23] (  3,  2.83)     int  ->   x0         "CSE #02: moderate"
-;  V103 cse3        [V103,T48] (  2,  0.82)   byref  ->  x26         hoist "CSE #07: moderate"
-;  V104 rat0        [V104,T37] (  4,  1.65)    long  ->   x2         "Strength reduced derived IV"
-;  V105 rat1        [V105,T38] (  4,  1.65)     int  ->  x28         "Trip count IV"
+;  V103 cse3        [V103,T48] (  2,  0.82)   byref  ->   x2         hoist "CSE #07: moderate"
+;  V104 rat0        [V104,T37] (  4,  1.65)   byref  ->   x2         "Strength reduced derived IV"
+;  V105 rat1        [V105,T38] (  4,  1.65)     int  ->  x27         "Trip count IV"
 ;  V106 rat2        [V106,T42] (  2,  0.57)     ref  ->   x0         "replacement local"
 ;  V107 rat3        [V107,T53] (  3,  0.57)    long  ->   x2         "CSE for expectedClsNode"
 ;
@@ -397,21 +397,20 @@ G_M9628_IG18:        ; bbWeight=0.41, gcrefRegs=100000 {x20}, byrefRegs=0000 {},
             ; gcr arg pop 0
             mov     w1, #0xD1FFAB1E
             str     w1, [x0, #0x10]
-            add     x26, x0, #16
-            ; byrRegs +[x26]
-            and     w27, w24, #0xD1FFAB1E
-            mov     x2, xzr
-            mov     w28, #1
-						;; size=84 bbWeight=0.41 PerfScore 5.98
-G_M9628_IG19:        ; bbWeight=0.41, gcrefRegs=100000 {x20}, byrefRegs=4000000 {x26}, byref, isz
+            add     x2, x0, #16
+            ; byrRegs +[x2]
+            and     w26, w24, #0xD1FFAB1E
+            mov     w27, #1
+						;; size=80 bbWeight=0.41 PerfScore 5.77
+G_M9628_IG19:        ; bbWeight=0.41, gcrefRegs=100000 {x20}, byrefRegs=0004 {x2}, byref, isz
             ; gcrRegs -[x0]
-            ldr     w0, [x26, x2]
-            cmp     w0, w27
+            ldr     w0, [x2]
+            cmp     w0, w26
             bne     G_M9628_IG37
             mov     w0, #1
 						;; size=16 bbWeight=0.41 PerfScore 2.06
 G_M9628_IG20:        ; bbWeight=0.41, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x26]
+            ; byrRegs -[x2]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -421,30 +420,30 @@ G_M9628_IG20:        ; bbWeight=0.41, gcrefRegs=100000 {x20}, byrefRegs=0000 {},
             ldr     x2, [x2]
             blr     x2
             ; gcr arg pop 0
-            ldr     x26, [fp, #0x48]	// [V01 arg1]
-            ; byrRegs +[x26]
-            ldr     w0, [x26, #0x10]
+            ldr     x28, [fp, #0x48]	// [V01 arg1]
+            ; byrRegs +[x28]
+            ldr     w0, [x28, #0x10]
             cmp     w0, #1
             beq     G_M9628_IG23
 						;; size=48 bbWeight=0.41 PerfScore 5.56
-G_M9628_IG21:        ; bbWeight=0.25, gcVars=00000000000000000000000000020170 {V00 V03 V06 V08 V74}, gcrefRegs=100000 {x20}, byrefRegs=4000000 {x26}, gcvars, byref, isz
+G_M9628_IG21:        ; bbWeight=0.25, gcVars=00000000000000000000000000020170 {V00 V03 V06 V08 V74}, gcrefRegs=100000 {x20}, byrefRegs=10000000 {x28}, gcvars, byref, isz
             ; GC ptr vars -{V01 V05}
-            ldr     w0, [x26, #0x10]
+            ldr     w0, [x28, #0x10]
             cmp     w0, #2
             bne     G_M9628_IG24
 						;; size=12 bbWeight=0.25 PerfScore 1.11
-G_M9628_IG22:        ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=4000000 {x26}, byref
+G_M9628_IG22:        ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=10000000 {x28}, byref
             ldr     x22, [fp, #0x38]	// [V03 arg3]
             ; gcrRegs +[x22]
             b       G_M9628_IG38
 						;; size=8 bbWeight=0.00 PerfScore 0.01
-G_M9628_IG23:        ; bbWeight=0.16, gcrefRegs=100000 {x20}, byrefRegs=4000000 {x26}, byref
+G_M9628_IG23:        ; bbWeight=0.16, gcrefRegs=100000 {x20}, byrefRegs=10000000 {x28}, byref
             ; gcrRegs -[x22]
             ldr     x22, [fp, #0x38]	// [V03 arg3]
             ; gcrRegs +[x22]
             b       G_M9628_IG38
 						;; size=8 bbWeight=0.16 PerfScore 0.49
-G_M9628_IG24:        ; bbWeight=0.41, gcrefRegs=100000 {x20}, byrefRegs=4000000 {x26}, byref, isz
+G_M9628_IG24:        ; bbWeight=0.41, gcrefRegs=100000 {x20}, byrefRegs=10000000 {x28}, byref, isz
             ; gcrRegs -[x22]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -452,14 +451,14 @@ G_M9628_IG24:        ; bbWeight=0.41, gcrefRegs=100000 {x20}, byrefRegs=4000000
             bl      CORINFO_HELP_NEWSFAST
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            mov     x27, x0
+            mov     x26, x0
+            ; gcrRegs +[x26]
+            ldr     x27, [fp, #0x50]	// [V00 this]
             ; gcrRegs +[x27]
-            ldr     x28, [fp, #0x50]	// [V00 this]
-            ; gcrRegs +[x28]
-            ldr     x3, [x28, #0x10]
+            ldr     x3, [x27, #0x10]
             ; gcrRegs +[x3]
             add     x4, fp, #160	// [V15 loc8]
-            mov     x0, x27
+            mov     x0, x26
             mov     w1, w24
             mov     x2, x20
             ; gcrRegs +[x2]
@@ -474,8 +473,8 @@ G_M9628_IG24:        ; bbWeight=0.41, gcrefRegs=100000 {x20}, byrefRegs=4000000
             tst     w21, #255
             bne     G_M9628_IG47
 						;; size=72 bbWeight=0.41 PerfScore 6.93
-G_M9628_IG25:        ; bbWeight=0.37, gcrefRegs=18100000 {x20 x27 x28}, byrefRegs=4000000 {x26}, byref, isz
-            ldr     x0, [x28, #0x10]
+G_M9628_IG25:        ; bbWeight=0.37, gcrefRegs=C100000 {x20 x26 x27}, byrefRegs=10000000 {x28}, byref, isz
+            ldr     x0, [x27, #0x10]
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x08]
             cmp     x20, x0
@@ -485,8 +484,8 @@ G_M9628_IG25:        ; bbWeight=0.37, gcrefRegs=18100000 {x20 x27 x28}, byrefReg
             tst     w0, w1
             bne     G_M9628_IG48
 						;; size=28 bbWeight=0.37 PerfScore 3.91
-G_M9628_IG26:        ; bbWeight=0.34, gcrefRegs=18100000 {x20 x27 x28}, byrefRegs=4000000 {x26}, byref, isz
-            mov     x0, x27
+G_M9628_IG26:        ; bbWeight=0.34, gcrefRegs=C100000 {x20 x26 x27}, byrefRegs=10000000 {x28}, byref, isz
+            mov     x0, x26
             ; gcrRegs +[x0]
             mov     w1, wzr
             movz    x2, #0xD1FFAB1E
@@ -500,11 +499,11 @@ G_M9628_IG26:        ; bbWeight=0.34, gcrefRegs=18100000 {x20 x27 x28}, byrefReg
             ; gcrRegs +[x24]
             cbz     x24, G_M9628_IG40
 						;; size=40 bbWeight=0.34 PerfScore 3.75
-G_M9628_IG27:        ; bbWeight=0.34, gcrefRegs=19100000 {x20 x24 x27 x28}, byrefRegs=4000000 {x26}, byref, isz
+G_M9628_IG27:        ; bbWeight=0.34, gcrefRegs=D100000 {x20 x24 x26 x27}, byrefRegs=10000000 {x28}, byref, isz
             ; gcrRegs -[x0]
             cbz     x24, G_M9628_IG32
 						;; size=4 bbWeight=0.34 PerfScore 0.34
-G_M9628_IG28:        ; bbWeight=0.14, gcrefRegs=19100000 {x20 x24 x27 x28}, byrefRegs=4000000 {x26}, byref, isz
+G_M9628_IG28:        ; bbWeight=0.14, gcrefRegs=D100000 {x20 x24 x26 x27}, byrefRegs=10000000 {x28}, byref, isz
             mov     x0, x24
             ; gcrRegs +[x0]
             movz    x2, #0xD1FFAB1E
@@ -515,7 +514,7 @@ G_M9628_IG28:        ; bbWeight=0.14, gcrefRegs=19100000 {x20 x24 x27 x28}, byre
             cmp     x0, x2
             bne     G_M9628_IG56
 						;; size=28 bbWeight=0.14 PerfScore 0.93
-G_M9628_IG29:        ; bbWeight=0.29, gcrefRegs=19100000 {x20 x24 x27 x28}, byrefRegs=4000000 {x26}, byref, isz
+G_M9628_IG29:        ; bbWeight=0.29, gcrefRegs=D100000 {x20 x24 x26 x27}, byrefRegs=10000000 {x28}, byref, isz
             mov     w0, #1
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -534,7 +533,7 @@ G_M9628_IG29:        ; bbWeight=0.29, gcrefRegs=19100000 {x20 x24 x27 x28}, byre
             cmp     w1, w19
             bge     G_M9628_IG32
 						;; size=60 bbWeight=0.29 PerfScore 4.15
-G_M9628_IG30:        ; bbWeight=0.14, gcrefRegs=19100000 {x20 x24 x27 x28}, byrefRegs=4000000 {x26}, byref, isz
+G_M9628_IG30:        ; bbWeight=0.14, gcrefRegs=D100000 {x20 x24 x26 x27}, byrefRegs=10000000 {x28}, byref, isz
             mov     x0, x24
             ; gcrRegs +[x0]
             ldr     x2, [x24]
@@ -562,22 +561,22 @@ G_M9628_IG30:        ; bbWeight=0.14, gcrefRegs=19100000 {x20 x24 x27 x28}, byre
             ldrb    w0, [x1, w24, UXTW #2]
             cbnz    w0, G_M9628_IG35
 						;; size=84 bbWeight=0.14 PerfScore 4.03
-G_M9628_IG31:        ; bbWeight=0.11, gcVars=00000000000000000000000000000150 {V03 V06 V08}, gcrefRegs=18100000 {x20 x27 x28}, byrefRegs=4000002 {x1 x26}, gcvars, byref
+G_M9628_IG31:        ; bbWeight=0.11, gcVars=00000000000000000000000000000150 {V03 V06 V08}, gcrefRegs=C100000 {x20 x26 x27}, byrefRegs=10000002 {x1 x28}, gcvars, byref
             ; GC ptr vars -{V74}
             mov     w0, #1
             str     x1, [fp, #0x10]	// [V74 tmp50]
             ; GC ptr vars +{V74}
             strb    w0, [x1, w24, UXTW #2]
 						;; size=12 bbWeight=0.11 PerfScore 0.28
-G_M9628_IG32:        ; bbWeight=0.31, gcVars=00000000000000000000000000020150 {V03 V06 V08 V74}, gcrefRegs=18100000 {x20 x27 x28}, byrefRegs=4000000 {x26}, gcvars, byref, isz
+G_M9628_IG32:        ; bbWeight=0.31, gcVars=00000000000000000000000000020150 {V03 V06 V08 V74}, gcrefRegs=C100000 {x20 x26 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
             ; byrRegs -[x1]
             ldr     x22, [fp, #0x38]	// [V03 arg3]
             ; gcrRegs +[x22]
             cbz     x22, G_M9628_IG50
 						;; size=8 bbWeight=0.31 PerfScore 0.92
-G_M9628_IG33:        ; bbWeight=0.31, gcVars=00000000000000000000000000020140 {V06 V08 V74}, gcrefRegs=18500000 {x20 x22 x27 x28}, byrefRegs=4000000 {x26}, gcvars, byref, isz
+G_M9628_IG33:        ; bbWeight=0.31, gcVars=00000000000000000000000000020140 {V06 V08 V74}, gcrefRegs=C500000 {x20 x22 x26 x27}, byrefRegs=10000000 {x28}, gcvars, byref, isz
             ; GC ptr vars -{V03}
-            mov     x0, x27
+            mov     x0, x26
             ; gcrRegs +[x0]
             movz    x2, #0xD1FFAB1E      // code for System.Reflection.RuntimePropertyInfo:get_Name():System.String:this
             movk    x2, #0xD1FFAB1E LSL #16
@@ -600,7 +599,7 @@ G_M9628_IG33:        ; bbWeight=0.31, gcVars=00000000000000000000000000020140 {V
             ; gcr arg pop 0
             cbz     x0, G_M9628_IG41
 						;; size=60 bbWeight=0.31 PerfScore 4.30
-G_M9628_IG34:        ; bbWeight=0.17, gcrefRegs=18500000 {x20 x22 x27 x28}, byrefRegs=4000001 {x0 x26}, byref
+G_M9628_IG34:        ; bbWeight=0.17, gcrefRegs=C500000 {x20 x22 x26 x27}, byrefRegs=10000001 {x0 x28}, byref
             ; gcrRegs -[x24]
             ldr     x24, [x0]
             ; gcrRegs +[x24]
@@ -608,8 +607,8 @@ G_M9628_IG34:        ; bbWeight=0.17, gcrefRegs=18500000 {x20 x22 x27 x28}, byre
             ; GC ptr vars +{V20}
             b       G_M9628_IG42
 						;; size=12 bbWeight=0.17 PerfScore 0.83
-G_M9628_IG35:        ; bbWeight=0.03, gcVars=00000000000000000000000000000150 {V03 V06 V08}, gcrefRegs=10100000 {x20 x28}, byrefRegs=4000002 {x1 x26}, gcvars, byref
-            ; gcrRegs -[x22 x24 x27]
+G_M9628_IG35:        ; bbWeight=0.03, gcVars=00000000000000000000000000000150 {V03 V06 V08}, gcrefRegs=8100000 {x20 x27}, byrefRegs=10000002 {x1 x28}, gcvars, byref
+            ; gcrRegs -[x22 x24 x26]
             ; byrRegs -[x0] +[x1]
             ; GC ptr vars -{V20 V74} +{V03}
             str     x1, [fp, #0x10]	// [V74 tmp50]
@@ -617,8 +616,8 @@ G_M9628_IG35:        ; bbWeight=0.03, gcVars=00000000000000000000000000000150 {V
             b       G_M9628_IG48
 						;; size=8 bbWeight=0.03 PerfScore 0.07
 G_M9628_IG36:        ; bbWeight=0.00, gcVars=00000000000000000000000000020172 {V00 V01 V03 V06 V08 V74}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x28]
-            ; byrRegs -[x1 x26]
+            ; gcrRegs -[x27]
+            ; byrRegs -[x1 x28]
             ; GC ptr vars +{V00 V01 V05}
             ldr     x0, [fp, #0xA8]	// [V10 loc3]
             ; gcrRegs +[x0]
@@ -631,17 +630,21 @@ G_M9628_IG36:        ; bbWeight=0.00, gcVars=00000000000000000000000000020172 {V
             ldr     w24, [x0, w23, UXTW #2]
             b       G_M9628_IG18
 						;; size=28 bbWeight=0.00 PerfScore 0.04
-G_M9628_IG37:        ; bbWeight=0.41, gcrefRegs=100000 {x20}, byrefRegs=4000000 {x26}, byref, isz
-            ; byrRegs -[x0] +[x26]
+G_M9628_IG37:        ; bbWeight=0.41, gcrefRegs=100000 {x20}, byrefRegs=0004 {x2}, byref, isz
+            ; byrRegs -[x0] +[x2]
             ldr     x22, [fp, #0x38]	// [V03 arg3]
             ; gcrRegs +[x22]
+            ldr     x28, [fp, #0x48]	// [V01 arg1]
+            ; byrRegs +[x28]
             add     x2, x2, #4
...
+4 (+1.18%) : 669717.dasm - Microsoft.CodeAnalysis.CSharp.BoundCollectionExpression:.ctor(Microsoft.CodeAnalysis.SyntaxNode,int,Microsoft.CodeAnalysis.CSharp.BoundObjectOrCollectionValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression,ubyte,Microsoft.CodeAnalysis.CSharp.BoundUnconvertedCollectionExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundNode],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte):this (Tier1)
@@ -17,29 +17,29 @@
 ;  V05 arg5         [V05,T09] (  3,  3   )     ref  ->   x5         class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol>
 ;  V06 arg6         [V06,T03] (  5,  4.72)     ref  ->   x6         class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder>
 ;  V07 arg7         [V07,T04] (  5,  4.72)     ref  ->   x7         class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BoundExpression>
-;  V08 arg8         [V08,T27] (  1,  1   )   ubyte  ->  [fp+0x10]  single-def
+;  V08 arg8         [V08,T27] (  1,  1   )   ubyte  ->  [fp+0x20]  single-def
 ;  V09 arg9         [V09,T11] (  3,  2.72)     ref  ->   x8         class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BoundUnconvertedCollectionExpression>
 ;* V10 arg10        [V10    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundNode]>
-;  V11 arg11        [V11,T21] (  2,  1   )     ref  ->  [fp+0x28]  class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol>
-;  V12 arg12        [V12,T28] (  1,  1   )   ubyte  ->  [fp+0x30]  single-def
+;  V11 arg11        [V11,T21] (  2,  1   )     ref  ->  [fp+0x38]  class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol>
+;  V12 arg12        [V12,T28] (  1,  1   )   ubyte  ->  [fp+0x40]  single-def
 ;# V13 OutArgs      [V13    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V14 tmp1         [V14,T25] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V15 tmp2         [V15,T29] (  0,  0   )     int  ->  zero-ref    single-def
-;  V16 tmp3         [V16,T18] (  2,  2   )     ref  ->  x15         single-def
+;  V16 tmp3         [V16,T17] (  2,  2   )     ref  ->  x15         single-def
 ;* V17 tmp4         [V17    ] (  0,  0   )  struct ( 8) zero-ref    <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundNode]>
-;  V18 tmp5         [V18,T19] (  2,  2   )     ref  ->  x13         single-def
+;  V18 tmp5         [V18,T18] (  2,  2   )     ref  ->  x13         single-def
 ;* V19 tmp6         [V19,T22] (  0,  0   )     ref  ->  zero-ref   
 ;* V20 tmp7         [V20,T24] (  0,  0   )     int  ->  zero-ref   
-;  V21 tmp8         [V21,T14] (  3,  2   )     ref  ->  x15        
+;  V21 tmp8         [V21,T13] (  3,  2   )     ref  ->  x15        
 ;* V22 tmp9         [V22    ] (  0,  0   )  struct ( 8) zero-ref    <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundNode]>
-;  V23 tmp10        [V23,T15] (  3,  2   )     ref  ->  x13        
-;  V24 tmp11        [V24,T17] (  3,  2   )     int  ->   x1        
+;  V23 tmp10        [V23,T14] (  3,  2   )     ref  ->  x13        
+;  V24 tmp11        [V24,T16] (  3,  2   )     int  ->  x19        
 ;* V25 tmp12        [V25,T31] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V26 tmp13        [V26,T32] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V27 tmp14        [V27,T33] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V28 tmp15        [V28,T34] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V29 tmp16        [V29,T35] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V30 tmp17        [V30,T20] (  3,  1.97)   ubyte  ->   x1         "Inline return value spill temp"
+;  V30 tmp17        [V30,T19] (  3,  1.97)   ubyte  ->  x19         "Inline return value spill temp"
 ;* V31 tmp18        [V31    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundNode]>
 ;* V32 tmp19        [V32,T30] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V33 tmp20        [V33,T12] (  3,  2.56)     int  ->  x14         single-def "Inline stloc first use temp"
@@ -51,35 +51,36 @@
 ;* V39 tmp26        [V39    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V40 tmp27        [V40    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V41 tmp28        [V41    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V42 tmp29        [V42,T23] (  2,  1   )     ref  ->  [fp+0x20]  single-def "field V10.array (fldOffset=0x0)" P-INDEP
+;  V42 tmp29        [V42,T23] (  2,  1   )     ref  ->  [fp+0x30]  single-def "field V10.array (fldOffset=0x0)" P-INDEP
 ;  V43 tmp30        [V43,T05] (  6,  5.21)     ref  ->  x10         single-def "field V17.array (fldOffset=0x0)" P-INDEP
-;  V44 tmp31        [V44,T16] (  3,  2   )     ref  ->  x10         "field V22.array (fldOffset=0x0)" P-INDEP
+;  V44 tmp31        [V44,T15] (  3,  2   )     ref  ->  x10         "field V22.array (fldOffset=0x0)" P-INDEP
 ;* V45 tmp32        [V45,T26] (  0,  0   )     ref  ->  zero-ref    single-def "field V31.array (fldOffset=0x0)" P-INDEP
-;  V46 cse0         [V46,T13] (  2,  2.33)   byref  ->  x12         hoist "CSE #02: moderate"
-;  V47 rat0         [V47,T06] (  4,  5.76)    long  ->  xip0         "Strength reduced derived IV"
+;  V46 cse0         [V46,T20] (  2,  1.24)   byref  ->  x12         hoist "CSE #02: moderate"
+;  V47 rat0         [V47,T06] (  4,  5.76)   byref  ->  x12         "Strength reduced derived IV"
 ;  V48 rat1         [V48,T07] (  4,  5.76)     int  ->  x14         "Trip count IV"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M51676_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
+            str     x19, [sp, #0x18]
             mov     fp, sp
-            ldr     x8, [fp, #0x18]	// [V09 arg9]
+            ldr     x8, [fp, #0x28]	// [V09 arg9]
             ; gcrRegs +[x8]
-						;; size=12 bbWeight=1 PerfScore 3.50
+						;; size=16 bbWeight=1 PerfScore 4.50
 G_M51676_IG02:        ; bbWeight=1, gcrefRegs=01FB {x0 x1 x3 x4 x5 x6 x7 x8}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0-x1 x3-x7]
             mov     x15, x1
             ; gcrRegs +[x15]
-            ldr     x9, [fp, #0x20]	// [V42 tmp29]
+            ldr     x9, [fp, #0x30]	// [V42 tmp29]
             ; gcrRegs +[x9]
             mov     x10, x9
             ; gcrRegs +[x10]
-            ldr     x11, [fp, #0x28]	// [V11 arg11]
+            ldr     x11, [fp, #0x38]	// [V11 arg11]
             ; gcrRegs +[x11]
             mov     x13, x11
             ; gcrRegs +[x13]
-            ldrb    w14, [fp, #0x30]	// [V12 arg12]
+            ldrb    w14, [fp, #0x40]	// [V12 arg12]
             tst     w14, #255
             bne     G_M51676_IG22
             cbz     x3, G_M51676_IG04
@@ -129,21 +130,20 @@ G_M51676_IG14:        ; bbWeight=0.62, gcrefRegs=A5F9 {x0 x3 x4 x5 x6 x7 x8 x10
             ldr     wzr, [x10, #0x08]
             add     x12, x10, #16
             ; byrRegs +[x12]
-            mov     xip0, xzr
-						;; size=12 bbWeight=0.62 PerfScore 2.49
+						;; size=8 bbWeight=0.62 PerfScore 2.18
 G_M51676_IG15:        ; bbWeight=1.71, gcrefRegs=A5F9 {x0 x3 x4 x5 x6 x7 x8 x10 x13 x15}, byrefRegs=1000 {x12}, byref, isz
-            ldr     x1, [x12, xip0]
-            ; gcrRegs +[x1]
-            ldrsh   w9, [x1, #0x10]
-            tbnz    w9, #0, G_M51676_IG21
-            add     xip0, xip0, #8
+            ldr     xip0, [x12]
+            ; gcrRegs +[xip0]
+            ldrsh   wip0, [xip0, #0x10]
+            ; gcrRegs -[xip0]
+            tbnz    wip0, #0, G_M51676_IG21
+            add     x12, x12, #8
             sub     w14, w14, #1
             cbnz    w14, G_M51676_IG15
 						;; size=24 bbWeight=1.71 PerfScore 15.42
 G_M51676_IG16:        ; bbWeight=0.97, gcrefRegs=A5F9 {x0 x3 x4 x5 x6 x7 x8 x10 x13 x15}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x1]
             ; byrRegs -[x12]
-            mov     w1, wzr
+            mov     w19, wzr
 						;; size=4 bbWeight=0.97 PerfScore 0.48
 G_M51676_IG17:        ; bbWeight=1, gcrefRegs=A5F9 {x0 x3 x4 x5 x6 x7 x8 x10 x13 x15}, byrefRegs=0000 {}, byref, isz
             mov     w14, #167
@@ -153,7 +153,7 @@ G_M51676_IG17:        ; bbWeight=1, gcrefRegs=A5F9 {x0 x3 x4 x5 x6 x7 x8 x10 x13
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
-            tst     w1, #255
+            tst     w19, #255
             bne     G_M51676_IG20
 						;; size=24 bbWeight=1 PerfScore 4.50
 G_M51676_IG18:        ; bbWeight=1, gcrefRegs=25F9 {x0 x3 x4 x5 x6 x7 x8 x10 x13}, byrefRegs=0000 {}, byref
@@ -207,8 +207,8 @@ G_M51676_IG18:        ; bbWeight=1, gcrefRegs=25F9 {x0 x3 x4 x5 x6 x7 x8 x10 x13
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x7 x15]
             ; byrRegs -[x14]
-            ldrb    w9, [fp, #0x10]	// [V08 arg8]
-            strb    w9, [x0, #0x5C]
+            ldrb    w10, [fp, #0x20]	// [V08 arg8]
+            strb    w10, [x0, #0x5C]
             add     x14, x0, #80
             ; byrRegs +[x14]
             mov     x15, x8
@@ -218,9 +218,10 @@ G_M51676_IG18:        ; bbWeight=1, gcrefRegs=25F9 {x0 x3 x4 x5 x6 x7 x8 x10 x13
             ; byrRegs -[x14]
 						;; size=108 bbWeight=1 PerfScore 20.00
 G_M51676_IG19:        ; bbWeight=1, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
+            ldr     x19, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=8 bbWeight=1 PerfScore 2.00
+						;; size=12 bbWeight=1 PerfScore 4.00
 G_M51676_IG20:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=25F9 {x0 x3 x4 x5 x6 x7 x8 x10 x13}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x0 x3-x8 x10 x13]
             mov     w14, #1
@@ -229,7 +230,7 @@ G_M51676_IG20:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=25F
 						;; size=12 bbWeight=0.00 PerfScore 0.01
 G_M51676_IG21:        ; bbWeight=0, gcrefRegs=A5F9 {x0 x3 x4 x5 x6 x7 x8 x10 x13 x15}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x15]
-            mov     w1, #1
+            mov     w19, #1
             b       G_M51676_IG17
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M51676_IG22:        ; bbWeight=0, gcrefRegs=0BFB {x0 x1 x3 x4 x5 x6 x7 x8 x9 x11}, byrefRegs=0000 {}, byref
@@ -240,23 +241,22 @@ G_M51676_IG22:        ; bbWeight=0, gcrefRegs=0BFB {x0 x1 x3 x4 x5 x6 x7 x8 x9 x
             ; gcrRegs +[x10]
             mov     x13, x11
             ; gcrRegs +[x13]
-            mov     w1, #1
-            ; gcrRegs -[x1]
+            mov     w19, #1
             b       G_M51676_IG17
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 340, prolog size 12, PerfScore 82.13, instruction count 85, allocated bytes for code 340 (MethodHash=fcab3623) for method Microsoft.CodeAnalysis.CSharp.BoundCollectionExpression:.ctor(Microsoft.CodeAnalysis.SyntaxNode,int,Microsoft.CodeAnalysis.CSharp.BoundObjectOrCollectionValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression,ubyte,Microsoft.CodeAnalysis.CSharp.BoundUnconvertedCollectionExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundNode],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte):this (Tier1)
+; Total bytes of code 344, prolog size 16, PerfScore 84.82, instruction count 86, allocated bytes for code 344 (MethodHash=fcab3623) for method Microsoft.CodeAnalysis.CSharp.BoundCollectionExpression:.ctor(Microsoft.CodeAnalysis.SyntaxNode,int,Microsoft.CodeAnalysis.CSharp.BoundObjectOrCollectionValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression,ubyte,Microsoft.CodeAnalysis.CSharp.BoundUnconvertedCollectionExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundNode],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte):this (Tier1)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 1
+  Code Words        : 2
   Epilog Count      : 1
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 85 (0x00055) Actual length = 340 (0x000154)
+  Function Length   : 86 (0x00056) Actual length = 344 (0x000158)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -264,7 +264,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    81          save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
+    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch
-16 (-15.38%) : 153692.dasm - System.SpanTests.IndexOfAnyExceptTests`1[System.__Canon]:Set(System.__Canon[],System.__Canon,int[]):System.__Canon[]:this (FullOpts)
@@ -11,28 +11,27 @@
 ;  V01 arg1         [V01,T02] (  4,  7   )     ref  ->  x19         class-hnd single-def <System.__Canon[]>
 ;  V02 arg2         [V02,T03] (  3,  6   )     ref  ->  x20         class-hnd single-def <System.__Canon>
 ;  V03 arg3         [V03,T04] (  3,  3   )     ref  ->   x3         class-hnd single-def <int[]>
-;  V04 loc0         [V04,T06] (  3,  2.25)     ref  ->   x3         class-hnd single-def <int[]>
-;* V05 loc1         [V05,T08] (  0,  0   )     int  ->  zero-ref   
+;  V04 loc0         [V04,T05] (  3,  2.25)     ref  ->   x3         class-hnd single-def <int[]>
+;* V05 loc1         [V05,T07] (  0,  0   )     int  ->  zero-ref   
 ;* V06 loc2         [V06    ] (  0,  0   )     int  ->  zero-ref   
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 cse0         [V08,T05] (  2,  4.25)   byref  ->  x22         hoist "CSE #01: aggressive"
-;  V09 cse1         [V09,T07] (  3,  2.25)     int  ->  x21         "CSE #02: aggressive"
-;  V10 rat0         [V10,T00] (  4, 12.25)    long  ->  x23         "Strength reduced derived IV"
+;  V08 cse0         [V08,T08] (  2,  0.50)   byref  ->  x22         hoist "CSE #01: aggressive"
+;  V09 cse1         [V09,T06] (  3,  2.25)     int  ->  x21         "CSE #02: aggressive"
+;  V10 rat0         [V10,T00] (  4, 12.25)   byref  ->  x22         "Strength reduced derived IV"
 ;  V11 rat1         [V11,T01] (  4, 12.25)     int  ->  x21         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M25520_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x1
             ; gcrRegs +[x19]
             mov     x20, x2
             ; gcrRegs +[x20]
-						;; size=28 bbWeight=1 PerfScore 5.50
+						;; size=24 bbWeight=1 PerfScore 4.50
 G_M25520_IG02:        ; bbWeight=1, gcrefRegs=180008 {x3 x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x3]
             ldr     w21, [x3, #0x08]
@@ -42,12 +41,10 @@ G_M25520_IG02:        ; bbWeight=1, gcrefRegs=180008 {x3 x19 x20}, byrefRegs=000
 G_M25520_IG03:        ; bbWeight=0.25, gcrefRegs=180008 {x3 x19 x20}, byrefRegs=0000 {}, byref
             add     x22, x3, #16
             ; byrRegs +[x22]
-            mov     x23, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M25520_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000 {x22}, byref, isz
             ; gcrRegs -[x3]
-            ldr     w1, [x22, x23]
-            sxtw    x1, w1
+            ldrsw   x1, [x22]
             mov     x0, x19
             ; gcrRegs +[x0]
             mov     x2, x20
@@ -55,10 +52,10 @@ G_M25520_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2]
             ; gcr arg pop 0
-            add     x23, x23, #4
+            add     x22, x22, #4
             sub     w21, w21, #1
             cbnz    w21, G_M25520_IG04
-						;; size=32 bbWeight=4 PerfScore 30.00
+						;; size=28 bbWeight=4 PerfScore 28.00
 G_M25520_IG05:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x20]
             ; byrRegs -[x22]
@@ -66,14 +63,13 @@ G_M25520_IG05:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs +[x0]
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M25520_IG06:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 104, prolog size 28, PerfScore 46.75, instruction count 26, allocated bytes for code 104 (MethodHash=598e9c4f) for method System.SpanTests.IndexOfAnyExceptTests`1[System.__Canon]:Set(System.__Canon[],System.__Canon,int[]):System.__Canon[]:this (FullOpts)
+; Total bytes of code 88, prolog size 24, PerfScore 41.62, instruction count 22, allocated bytes for code 88 (MethodHash=598e9c4f) for method System.SpanTests.IndexOfAnyExceptTests`1[System.__Canon]:Set(System.__Canon[],System.__Canon,int[]):System.__Canon[]:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -84,7 +80,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 26 (0x0001a) Actual length = 104 (0x000068)
+  Function Length   : 22 (0x00016) Actual length = 88 (0x000058)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -92,9 +88,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D1 07       save_reg X#4 Z#7 (0x07); str x23, [sp, #56]
     E6          save_next
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
+    E4          end
     E4          end
 
-16 (-13.79%) : 197226.dasm - System.Reflection.TypeLoading.RoConstructedGenericType:get_ContainsGenericParameters():ubyte:this (FullOpts)
@@ -8,23 +8,22 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Reflection.TypeLoading.RoConstructedGenericType>
-;  V01 loc0         [V01,T05] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Reflection.TypeLoading.RoType[]>
-;* V02 loc1         [V02,T07] (  0,  0   )     int  ->  zero-ref   
+;  V01 loc0         [V01,T04] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Reflection.TypeLoading.RoType[]>
+;* V02 loc1         [V02,T06] (  0,  0   )     int  ->  zero-ref   
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T00] (  3, 24   )     ref  ->   x0         "argument with side effect"
-;  V05 cse0         [V05,T04] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V06 cse1         [V06,T06] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
-;  V07 rat0         [V07,T01] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V05 cse0         [V05,T07] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V06 cse1         [V06,T05] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
+;  V07 rat0         [V07,T01] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V08 rat1         [V08,T02] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M14923_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M14923_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x68]
@@ -35,11 +34,10 @@ G_M14923_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M14923_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #16
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M14923_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [x20, x21]
+            ldr     x0, [x20]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0xB8]
@@ -47,7 +45,7 @@ G_M14923_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, b
             blr     x1
             ; gcrRegs -[x0]
             cbnz    w0, G_M14923_IG07
-            add     x21, x21, #8
+            add     x20, x20, #8
             sub     w19, w19, #1
             cbnz    w19, G_M14923_IG04
 						;; size=36 bbWeight=4 PerfScore 64.00
@@ -56,22 +54,20 @@ G_M14923_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M14923_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M14923_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M14923_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 116, prolog size 16, PerfScore 80.75, instruction count 29, allocated bytes for code 116 (MethodHash=0272c5b4) for method System.Reflection.TypeLoading.RoConstructedGenericType:get_ContainsGenericParameters():ubyte:this (FullOpts)
+; Total bytes of code 100, prolog size 12, PerfScore 77.62, instruction count 25, allocated bytes for code 100 (MethodHash=0272c5b4) for method System.Reflection.TypeLoading.RoConstructedGenericType:get_ContainsGenericParameters():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +78,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
+  Function Length   : 25 (0x00019) Actual length = 100 (0x000064)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -93,9 +89,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-16 (-13.79%) : 323200.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources:get_AllTargetsHaveAtLeastOneMessage():ubyte:this (FullOpts)
@@ -8,23 +8,22 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] (  3,  3   )     ref  ->   x0         this class-hnd single-def <System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources>
-;  V01 loc0         [V01,T05] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase[]>
-;* V02 loc1         [V02,T07] (  0,  0   )     int  ->  zero-ref   
+;  V01 loc0         [V01,T04] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase[]>
+;* V02 loc1         [V02,T06] (  0,  0   )     int  ->  zero-ref   
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T00] (  3, 24   )     ref  ->   x0         "argument with side effect"
-;  V05 cse0         [V05,T04] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V06 cse1         [V06,T06] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
-;  V07 rat0         [V07,T01] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V05 cse0         [V05,T07] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V06 cse1         [V06,T05] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
+;  V07 rat0         [V07,T01] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V08 rat1         [V08,T02] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M3689_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M3689_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x10]
@@ -35,11 +34,10 @@ G_M3689_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
 G_M3689_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #16
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M3689_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [x20, x21]
+            ldr     x0, [x20]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
@@ -47,7 +45,7 @@ G_M3689_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, by
             blr     x1
             ; gcrRegs -[x0]
             cbz     w0, G_M3689_IG07
-            add     x21, x21, #8
+            add     x20, x20, #8
             sub     w19, w19, #1
             cbnz    w19, G_M3689_IG04
 						;; size=36 bbWeight=4 PerfScore 64.00
@@ -56,22 +54,20 @@ G_M3689_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M3689_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M3689_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M3689_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 116, prolog size 16, PerfScore 80.75, instruction count 29, allocated bytes for code 116 (MethodHash=11d7f196) for method System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources:get_AllTargetsHaveAtLeastOneMessage():ubyte:this (FullOpts)
+; Total bytes of code 100, prolog size 12, PerfScore 77.62, instruction count 25, allocated bytes for code 100 (MethodHash=11d7f196) for method System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources:get_AllTargetsHaveAtLeastOneMessage():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +78,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
+  Function Length   : 25 (0x00019) Actual length = 100 (0x000064)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -93,9 +89,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
+4 (+0.51%) : 328881.dasm - System.Threading.Tests.MutexTests:NamedMutex_DisposeWhenLockedRaceTest():this (FullOpts)
@@ -9,9 +9,9 @@
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <System.Threading.Tests.MutexTests>
-;  V01 loc0         [V01,T12] (  7,  9.75)     ref  ->  [fp+0x20]  class-hnd exact spill-single-def <System.Threading.Tests.MutexTests+<>c__DisplayClass24_0>
-;  V02 loc1         [V02,T17] (  2,  0.50)     ref  ->   x0         class-hnd exact single-def <<unknown class>>
-;  V03 loc2         [V03    ] (  2,  0.50)  struct (16) [fp+0x80]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Guid>
+;  V01 loc0         [V01,T12] (  7,  9.75)     ref  ->  [fp+0x30]  class-hnd exact spill-single-def <System.Threading.Tests.MutexTests+<>c__DisplayClass24_0>
+;  V02 loc1         [V02,T16] (  2,  0.50)     ref  ->   x0         class-hnd exact single-def <<unknown class>>
+;  V03 loc2         [V03    ] (  2,  0.50)  struct (16) [fp+0x90]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Guid>
 ;* V04 loc3         [V04,T19] (  0,  0   )     int  ->  zero-ref   
 ;* V05 loc4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Action>
 ;* V06 loc5         [V06,T18] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <<unknown class>>
@@ -24,67 +24,67 @@
 ;  V13 tmp5         [V13,T06] (  4, 14   )     ref  ->   x2        
 ;* V14 tmp6         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "dup spill" <System.Threading.Thread>
 ;  V15 tmp7         [V15,T03] (  5, 20   )     ref  ->   x2         class-hnd exact "NewObj constructor temp" <System.Action>
-;  V16 tmp8         [V16    ] (  2,  1.25)  struct (16) [fp+0x70]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Guid>
-;  V17 tmp9         [V17,T16] (  3,  2   )     int  ->   x0         single-def "Inline stloc first use temp"
-;  V18 tmp10        [V18,T00] (  6, 24   )     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "Inline return value spill temp" <System.Threading.Thread>
-;  V19 tmp11        [V19    ] (  3, 12   )     ref  ->  [fp+0x68]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Action>
+;  V16 tmp8         [V16    ] (  2,  1.25)  struct (16) [fp+0x80]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Guid>
+;  V17 tmp9         [V17,T15] (  3,  2   )     int  ->   x0         single-def "Inline stloc first use temp"
+;  V18 tmp10        [V18,T00] (  6, 24   )     ref  ->  [fp+0x28]  class-hnd exact spill-single-def "Inline return value spill temp" <System.Threading.Thread>
+;  V19 tmp11        [V19    ] (  3, 12   )     ref  ->  [fp+0x78]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Action>
 ;* V20 tmp12        [V20    ] (  0,  0   )  struct ( 8) zero-ref    <System.Threading.ThreadHandle>
 ;* V21 tmp13        [V21    ] (  0,  0   )  struct ( 8) zero-ref    <System.Threading.ThreadHandle>
 ;* V22 tmp14        [V22    ] (  0,  0   )     int  ->  zero-ref   
 ;  V23 tmp15        [V23,T11] (  4, 12   )     ref  ->  x20         class-hnd exact "Inline stloc first use temp" <System.Threading.Thread+StartHelper>
 ;* V24 tmp16        [V24    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V25 tmp17        [V25    ] (  0,  0   )     ref  ->  zero-ref   
-;  V26 tmp18        [V26,T15] (  2,  4   )     ref  ->  x15        
+;  V26 tmp18        [V26,T14] (  2,  4   )     ref  ->  x15        
 ;  V27 FramesRoot   [V27,T02] ( 10, 22   )    long  ->  x19         "Pinvoke FrameListRoot"
-;  V28 PInvokeFrame [V28    ] ( 12, 24   )  struct (64) [fp+0x28]  do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
-;  V29 tmp21        [V29,T14] (  2,  8   )    long  ->   x0         "field V20._ptr (fldOffset=0x0)" P-INDEP
+;  V28 PInvokeFrame [V28    ] ( 12, 24   )  struct (64) [fp+0x38]  do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
+;  V29 tmp21        [V29,T13] (  2,  8   )    long  ->   x0         "field V20._ptr (fldOffset=0x0)" P-INDEP
 ;* V30 tmp22        [V30    ] (  0,  0   )    long  ->  zero-ref    "field V21._ptr (fldOffset=0x0)" P-INDEP
-;  V31 cse0         [V31,T13] (  3,  8.25)   byref  ->  [fp+0x10]  spill-single-def hoist "CSE #01: aggressive"
-;  V32 rat0         [V32,T07] (  4, 12.25)    long  ->  x22         "Strength reduced derived IV"
-;  V33 rat1         [V33,T08] (  4, 12.25)     int  ->  x23         "Trip count IV"
-;  V34 rat2         [V34,T09] (  4, 12.25)    long  ->  x19         "Strength reduced derived IV"
-;  V35 rat3         [V35,T10] (  4, 12.25)     int  ->  x20         "Trip count IV"
+;  V31 cse0         [V31,T17] (  3,  0.75)   byref  ->  [fp+0x20]  spill-single-def hoist "CSE #01: aggressive"
+;  V32 rat0         [V32,T07] (  4, 12.25)   byref  ->  [fp+0x18]  "Strength reduced derived IV"
+;  V33 rat1         [V33,T09] (  4, 12.25)     int  ->  x23         "Trip count IV"
+;  V34 rat2         [V34,T08] (  4, 12.25)   byref  ->  x21         "Strength reduced derived IV"
+;  V35 rat3         [V35,T10] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;  V36 rat4         [V36,T01] (  3, 24   )     ref  ->   x1         "delegate invoke call"
 ;
-; Lcl frame size = 128
+; Lcl frame size = 144
 
 G_M3982_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0xE0]!
-            stp     x19, x20, [sp, #0x90]
-            stp     x21, x22, [sp, #0xA0]
-            stp     x23, x24, [sp, #0xB0]
-            stp     x25, x26, [sp, #0xC0]
-            stp     x27, x28, [sp, #0xD0]
+            stp     fp, lr, [sp, #-0xF0]!
+            stp     x19, x20, [sp, #0xA0]
+            stp     x21, x22, [sp, #0xB0]
+            stp     x23, x24, [sp, #0xC0]
+            stp     x25, x26, [sp, #0xD0]
+            stp     x27, x28, [sp, #0xE0]
             mov     fp, sp
-            add     x9, fp, #104
+            add     x9, fp, #120
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             str     xzr, [x9, #0x20]
 						;; size=44 bbWeight=1 PerfScore 9.50
 G_M3982_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            add     x0, fp, #48	// [V28 PInvokeFrame+0x08]
+            add     x0, fp, #64	// [V28 PInvokeFrame+0x08]
             bl      CORINFO_HELP_INIT_PINVOKE_FRAME
             mov     x19, x0
             mov     x0, sp
-            str     x0, [fp, #0x48]	// [V28 PInvokeFrame+0x20]
+            str     x0, [fp, #0x58]	// [V28 PInvokeFrame+0x20]
             mov     x0, fp
-            str     x0, [fp, #0x58]	// [V28 PInvokeFrame+0x30]
+            str     x0, [fp, #0x68]	// [V28 PInvokeFrame+0x30]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             ; gcrRegs +[x0]
-            str     x0, [fp, #0x20]	// [V01 loc0]
+            str     x0, [fp, #0x30]	// [V01 loc0]
             ; GC ptr vars +{V01}
-            add     x0, fp, #112	// [V16 tmp8]
+            add     x0, fp, #128	// [V16 tmp8]
             ; gcrRegs -[x0]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
-            str     x1, [fp, #0x40]	// [V28 PInvokeFrame+0x18]
+            str     x1, [fp, #0x50]	// [V28 PInvokeFrame+0x18]
             adr     x1, [G_M3982_IG05]
-            str     x1, [fp, #0x50]	// [V28 PInvokeFrame+0x28]
-            add     x1, fp, #48	// [V28 PInvokeFrame+0x08]
+            str     x1, [fp, #0x60]	// [V28 PInvokeFrame+0x28]
+            add     x1, fp, #64	// [V28 PInvokeFrame+0x08]
             str     x1, [x19, #0x08]
             strb    wzr, [x19, #0x04]
 						;; size=88 bbWeight=1 PerfScore 15.50
@@ -109,15 +109,15 @@ G_M3982_IG05:        ; bbWeight=1, isz, extend
             bl      CORINFO_HELP_STOP_FOR_GC
 						;; size=40 bbWeight=1 PerfScore 9.00
 G_M3982_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x38]	// [V28 PInvokeFrame+0x10]
+            ldr     x0, [fp, #0x48]	// [V28 PInvokeFrame+0x10]
             str     x0, [x19, #0x08]
             sxtw    w0, w20
             cbnz    w0, G_M3982_IG21
 						;; size=16 bbWeight=1 PerfScore 4.50
 G_M3982_IG07:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ldr     q16, [fp, #0x70]	// [V16 tmp8]
-            str     q16, [fp, #0x80]	// [V03 loc2]
-            add     x0, fp, #128	// [V03 loc2]
+            ldr     q16, [fp, #0x80]	// [V16 tmp8]
+            str     q16, [fp, #0x90]	// [V03 loc2]
+            add     x0, fp, #144	// [V03 loc2]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -128,7 +128,7 @@ G_M3982_IG07:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
             ldr     x3, [x3]
             blr     x3
             ; gcrRegs +[x0]
-            ldr     x20, [fp, #0x20]	// [V01 loc0]
+            ldr     x20, [fp, #0x30]	// [V01 loc0]
             ; gcrRegs +[x20]
             add     x14, x20, #8
             ; byrRegs +[x14]
@@ -162,22 +162,26 @@ G_M3982_IG07:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
             ; gcrRegs +[x0]
             add     x21, x0, #16
             ; byrRegs +[x21]
-            str     x21, [fp, #0x10]	// [V31 cse0]
+            str     x21, [fp, #0x20]	// [V31 cse0]
             ; GC ptr vars +{V31}
-            mov     x22, xzr
+            mov     x22, x21
+            ; byrRegs +[x22]
             mov     w23, #2
 						;; size=148 bbWeight=0.25 PerfScore 8.12
-G_M3982_IG08:        ; bbWeight=4, gcVars=0000000000003000 {V01 V31}, gcrefRegs=100000 {x20}, byrefRegs=200000 {x21}, gcvars, byref, isz
+G_M3982_IG08:        ; bbWeight=4, gcVars=0000000000021000 {V01 V31}, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, gcvars, byref, isz
             ; gcrRegs -[x0]
-            add     x24, x21, x22
+            ; byrRegs -[x21]
+            str     x22, [fp, #0x18]	// [V32 rat0]
+            ; GC ptr vars +{V32}
+            mov     x24, x22
             ; byrRegs +[x24]
             ldr     x2, [x20, #0x18]
             ; gcrRegs +[x2]
             cbnz    x2, G_M3982_IG20
-						;; size=12 bbWeight=4 PerfScore 18.00
-G_M3982_IG09:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=1000000 {x24}, byref
+						;; size=16 bbWeight=4 PerfScore 22.00
+G_M3982_IG09:        ; bbWeight=2, gcVars=0000000000021080 {V01 V31 V32}, gcrefRegs=100000 {x20}, byrefRegs=1000000 {x24}, gcvars, byref
             ; gcrRegs -[x2]
-            ; byrRegs -[x21]
+            ; byrRegs -[x22]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -205,8 +209,8 @@ G_M3982_IG09:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=1000000 {x2
             ; byrRegs -[x14]
 						;; size=60 bbWeight=2 PerfScore 19.00
 G_M3982_IG10:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=1000000 {x24}, byref, isz
-            str     xzr, [fp, #0x68]	// [V19 tmp11]
-            add     x0, fp, #104	// [V19 tmp11]
+            str     xzr, [fp, #0x78]	// [V19 tmp11]
+            add     x0, fp, #120	// [V19 tmp11]
             mov     x1, x24
             ; byrRegs +[x1]
             movz    x3, #0xD1FFAB1E      // code for System.Threading.Tests.ThreadTestHelpers:CreateGuardedThread(byref,byref,System.Action):System.Threading.Thread
@@ -218,9 +222,9 @@ G_M3982_IG10:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=1000000 {x24},
             ; byrRegs -[x1 x24]
             mov     x24, x0
             ; gcrRegs +[x24]
-            str     x24, [fp, #0x18]	// [V18 tmp10]
+            str     x24, [fp, #0x28]	// [V18 tmp10]
             ; GC ptr vars +{V18}
-            str     xzr, [fp, #0x68]	// [V19 tmp11]
+            str     xzr, [fp, #0x78]	// [V19 tmp11]
             ldrsb   wzr, [x24]
             mov     x0, x24
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Thread:GetNativeHandle():System.Threading.ThreadHandle:this
@@ -233,10 +237,10 @@ G_M3982_IG10:        ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=1000000 {x24},
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
-            str     x2, [fp, #0x40]	// [V28 PInvokeFrame+0x18]
+            str     x2, [fp, #0x50]	// [V28 PInvokeFrame+0x18]
             adr     x2, [G_M3982_IG13]
-            str     x2, [fp, #0x50]	// [V28 PInvokeFrame+0x28]
-            add     x2, fp, #48	// [V28 PInvokeFrame+0x08]
+            str     x2, [fp, #0x60]	// [V28 PInvokeFrame+0x28]
+            add     x2, fp, #64	// [V28 PInvokeFrame+0x08]
             str     x2, [x19, #0x08]
             strb    wzr, [x19, #0x04]
 						;; size=112 bbWeight=4 PerfScore 104.00
@@ -260,9 +264,9 @@ G_M3982_IG13:        ; bbWeight=4, isz, extend
             bl      CORINFO_HELP_STOP_FOR_GC
 						;; size=36 bbWeight=4 PerfScore 34.00
 G_M3982_IG14:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x38]	// [V28 PInvokeFrame+0x10]
+            ldr     x0, [fp, #0x48]	// [V28 PInvokeFrame+0x10]
             str     x0, [x19, #0x08]
-            ldr     x24, [fp, #0x18]	// [V18 tmp10]
+            ldr     x24, [fp, #0x28]	// [V18 tmp10]
             ; gcrRegs +[x24]
             ldr     x20, [x24, #0x20]
             ; gcrRegs +[x20]
@@ -294,22 +298,25 @@ G_M3982_IG16:        ; bbWeight=4, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, b
             ; GC ptr vars -{V18}
             blr     x1
             ; gcrRegs -[x0 x24]
+            ldr     x22, [fp, #0x18]	// [V32 rat0]
+            ; byrRegs +[x22]
             add     x22, x22, #8
             sub     w23, w23, #1
-            ldr     x20, [fp, #0x20]	// [V01 loc0]
+            ldr     x20, [fp, #0x30]	// [V01 loc0]
             ; gcrRegs +[x20]
-            ldr     x21, [fp, #0x10]	// [V31 cse0]
-            ; byrRegs +[x21]
             cbnz    w23, G_M3982_IG08
 						;; size=44 bbWeight=4 PerfScore 48.00
-G_M3982_IG17:        ; bbWeight=0.25, gcVars=0000000000002000 {V31}, gcrefRegs=0000 {}, byrefRegs=200000 {x21}, gcvars, byref
+G_M3982_IG17:        ; bbWeight=0.25, gcVars=0000000000020000 {V31}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x20]
-            ; GC ptr vars -{V01}
-            mov     x19, xzr
-            mov     w20, #2
-						;; size=8 bbWeight=0.25 PerfScore 0.25
-G_M3982_IG18:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=200000 {x21}, byref, isz
-            ldr     x1, [x21, x19]
+            ; byrRegs -[x22]
+            ; GC ptr vars -{V01 V32}
+            ldr     x21, [fp, #0x20]	// [V31 cse0]
+            ; byrRegs +[x21]
+            mov     w19, #2
...
+16 (+0.71%) : 83553.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[System.__Canon]:AddFirst_LinkedListNode():this (FullOpts)
@@ -8,20 +8,20 @@
 ; 0 inlinees with PGO data; 30 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T38] ( 11, 12.50)     ref  ->  x19         this class-hnd single-def <System.Collections.Tests.LinkedList_Generic_Tests`1[System.__Canon]>
+;  V00 this         [V00,T37] ( 11, 12.50)     ref  ->  x19         this class-hnd single-def <System.Collections.Tests.LinkedList_Generic_Tests`1[System.__Canon]>
 ;  V01 loc0         [V01,T01] ( 33, 60.73)     ref  ->  x22         class-hnd <System.Collections.Generic.LinkedList`1[System.__Canon]>
 ;* V02 loc1         [V02,T101] (  0,  0   )     int  ->  zero-ref    single-def
-;  V03 loc2         [V03,T21] (  5, 16.25)     int  ->  x22        
-;  V04 loc3         [V04,T60] (  8,  5   )     ref  ->  x24         class-hnd <System.__Canon[]>
-;  V05 loc4         [V05,T80] (  4,  1   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def <System.__Canon[]>
-;  V06 loc5         [V06,T61] (  5,  5   )     ref  ->  x24         class-hnd exact single-def <System.__Canon[]>
-;  V07 loc6         [V07,T57] (  5,  5.75)     ref  ->  x26         class-hnd exact single-def <System.__Canon[]>
-;  V08 loc7         [V08,T59] (  4,  5.50)     ref  ->  x25         class-hnd exact single-def <System.__Canon[]>
+;  V03 loc2         [V03,T20] (  5, 16.25)     int  ->  x22        
+;  V04 loc3         [V04,T59] (  8,  5   )     ref  ->  x24         class-hnd <System.__Canon[]>
+;  V05 loc4         [V05,T80] (  4,  1   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def <System.__Canon[]>
+;  V06 loc5         [V06,T60] (  5,  5   )     ref  ->  x24         class-hnd exact single-def <System.__Canon[]>
+;  V07 loc6         [V07,T55] (  5,  5.75)     ref  ->  x26         class-hnd exact single-def <System.__Canon[]>
+;  V08 loc7         [V08,T58] (  4,  5.50)     ref  ->  x25         class-hnd exact single-def <System.__Canon[]>
 ;  V09 loc8         [V09,T62] (  4,  4.75)     ref  ->  x27         class-hnd exact single-def <System.__Canon[]>
 ;  V10 loc9         [V10,T03] (  7, 24.25)     int  ->  x28        
-;  V11 loc10        [V11,T54] (  3, 12   )     int  ->  [fp+0x84]  spill-single-def
-;  V12 loc11        [V12,T52] (  3, 12   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.__Canon>
-;  V13 loc12        [V13,T53] (  3, 12   )     ref  ->  [fp+0x28]  class-hnd spill-single-def <System.__Canon>
+;  V11 loc10        [V11,T52] (  3, 12   )     int  ->  [fp+0x84]  spill-single-def
+;  V12 loc11        [V12,T50] (  3, 12   )     ref  ->  [fp+0x50]  class-hnd spill-single-def <System.__Canon>
+;  V13 loc12        [V13,T51] (  3, 12   )     ref  ->  [fp+0x48]  class-hnd spill-single-def <System.__Canon>
 ;* V14 loc13        [V14    ] (  0,  0   )     ref  ->  zero-ref    ld-addr-op class-hnd single-def <System.__Canon>
 ;* V15 loc14        [V15,T102] (  0,  0   )     int  ->  zero-ref   
 ;* V16 loc15        [V16,T103] (  0,  0   )     int  ->  zero-ref   
@@ -66,17 +66,17 @@
 ;* V55 tmp33        [V55    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V56 tmp34        [V56,T04] (  3, 23.76)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[System.__Canon]>
 ;* V57 tmp35        [V57    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V58 tmp36        [V58,T00] ( 13, 67.32)     ref  ->  [fp+0x20]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[System.__Canon]>
+;  V58 tmp36        [V58,T00] ( 13, 67.32)     ref  ->  [fp+0x40]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[System.__Canon]>
 ;* V59 tmp37        [V59    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V60 tmp38        [V60    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V61 tmp39        [V61    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
-;  V62 tmp40        [V62,T33] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
-;  V63 tmp41        [V63,T34] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
-;  V64 tmp42        [V64,T35] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
-;  V65 tmp43        [V65,T36] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
-;  V66 tmp44        [V66,T37] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
-;  V67 tmp45        [V67,T23] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
-;  V68 tmp46        [V68,T24] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
+;  V62 tmp40        [V62,T32] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
+;  V63 tmp41        [V63,T33] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
+;  V64 tmp42        [V64,T34] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
+;  V65 tmp43        [V65,T35] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
+;  V66 tmp44        [V66,T36] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
+;  V67 tmp45        [V67,T22] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
+;  V68 tmp46        [V68,T23] (  2, 15.84)     ref  ->  x15         class-hnd "Inlining Arg" <System.__Canon>
 ;* V69 tmp47        [V69    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V70 tmp48        [V70,T19] (  5, 19.80)     ref  ->   x1         class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.__Canon]>
 ;  V71 tmp49        [V71,T87] (  2,  1   )    long  ->   x0         "argument with side effect"
@@ -87,28 +87,28 @@
 ;  V76 tmp54        [V76,T86] (  2,  1   )     ref  ->   x2         single-def "argument with side effect"
 ;  V77 tmp55        [V77,T92] (  2,  1   )    long  ->   x0         "argument with side effect"
 ;  V78 tmp56        [V78,T93] (  2,  1   )    long  ->   x0         "argument with side effect"
-;  V79 tmp57        [V79,T25] (  2, 15.84)    long  ->   x0         "argument with side effect"
+;  V79 tmp57        [V79,T24] (  2, 15.84)    long  ->   x0         "argument with side effect"
 ;  V80 tmp58        [V80,T65] (  2,  4   )    long  ->   x0         "argument with side effect"
-;  V81 cse0         [V81,T56] (  8,  6.25)    long  ->  x21         "CSE #06: moderate"
+;  V81 cse0         [V81,T54] (  8,  6.25)    long  ->  x21         "CSE #06: moderate"
 ;  V82 cse1         [V82,T66] (  6,  1.50)    long  ->  x23         "CSE #02: moderate"
 ;  V83 cse2         [V83,T63] (  3,  4.46)    long  ->  x28         "CSE #07: moderate"
-;  V84 cse3         [V84,T55] (  3,  8.25)    long  ->  [fp+0x78]  spill-single-def hoist "CSE #03: moderate"
+;  V84 cse3         [V84,T53] (  3,  8.25)    long  ->  [fp+0x78]  spill-single-def hoist "CSE #03: moderate"
 ;  V85 cse4         [V85,T02] ( 25, 31.66)    long  ->  x20         "CSE #01: aggressive"
-;  V86 cse5         [V86,T20] (  7, 16.59)   byref  ->  x23         hoist "CSE #08: moderate"
-;  V87 cse6         [V87,T40] (  4, 12.13)   byref  ->  [fp+0x18]  spill-single-def hoist "CSE #09: moderate"
-;  V88 rat0         [V88,T41] (  4, 12.13)    long  ->  [fp+0x70]  "Strength reduced derived IV"
-;  V89 rat1         [V89,T42] (  4, 12.13)     int  ->  [fp+0x6C]  "Trip count IV"
-;  V90 rat2         [V90,T43] (  4, 12.13)    long  ->  [fp+0x60]  "Strength reduced derived IV"
-;  V91 rat3         [V91,T44] (  4, 12.13)     int  ->  [fp+0x5C]  "Trip count IV"
-;  V92 rat4         [V92,T45] (  4, 12.13)    long  ->  [fp+0x50]  "Strength reduced derived IV"
-;  V93 rat5         [V93,T46] (  4, 12.13)     int  ->  [fp+0x4C]  "Trip count IV"
-;  V94 rat6         [V94,T47] (  4, 12.13)    long  ->  x24         "Strength reduced derived IV"
-;  V95 rat7         [V95,T48] (  4, 12.13)     int  ->  [fp+0x48]  "Trip count IV"
-;  V96 rat8         [V96,T39] (  4, 12.25)     int  ->  x24         "Trip count IV"
-;  V97 rat9         [V97,T49] (  4, 12.13)    long  ->  x24         "Strength reduced derived IV"
-;  V98 rat10        [V98,T50] (  4, 12.13)     int  ->  [fp+0x44]  "Trip count IV"
-;  V99 rat11        [V99,T22] (  5, 16.09)    long  ->  x24         "Strength reduced derived IV"
-;  V100 rat12       [V100,T51] (  4, 12.13)     int  ->  x27         "Trip count IV"
+;  V86 cse5         [V86,T57] (  7,  5.46)   byref  ->  x23         hoist "CSE #08: moderate"
+;  V87 cse6         [V87,T61] (  4,  4.71)   byref  ->  [fp+0x38]  spill-single-def hoist "CSE #09: moderate"
+;  V88 rat0         [V88,T39] (  4, 12.13)   byref  ->  [fp+0x30]  "Strength reduced derived IV"
+;  V89 rat1         [V89,T44] (  4, 12.13)     int  ->  [fp+0x74]  "Trip count IV"
+;  V90 rat2         [V90,T40] (  4, 12.13)   byref  ->  [fp+0x28]  "Strength reduced derived IV"
+;  V91 rat3         [V91,T45] (  4, 12.13)     int  ->  [fp+0x70]  "Trip count IV"
+;  V92 rat4         [V92,T41] (  4, 12.13)   byref  ->  [fp+0x20]  "Strength reduced derived IV"
+;  V93 rat5         [V93,T46] (  4, 12.13)     int  ->  [fp+0x6C]  "Trip count IV"
+;  V94 rat6         [V94,T42] (  4, 12.13)   byref  ->  x24         "Strength reduced derived IV"
+;  V95 rat7         [V95,T47] (  4, 12.13)     int  ->  [fp+0x68]  "Trip count IV"
+;  V96 rat8         [V96,T38] (  4, 12.25)     int  ->  x24         "Trip count IV"
+;  V97 rat9         [V97,T43] (  4, 12.13)   byref  ->  [fp+0x18]  "Strength reduced derived IV"
+;  V98 rat10        [V98,T48] (  4, 12.13)     int  ->  [fp+0x64]  "Trip count IV"
+;  V99 rat11        [V99,T21] (  5, 16.09)    long  ->  x27         "Strength reduced derived IV"
+;  V100 rat12       [V100,T49] (  4, 12.13)     int  ->  [fp+0x60]  "Trip count IV"
 ;  V101 rat13       [V101,T79] (  3,  1.10)    long  ->   x0         "Spilling to split statement for tree"
 ;  V102 rat14       [V102,T81] (  3,  1   )    long  ->  x21         "runtime lookup"
 ;  V103 rat15       [V103,T68] (  3,  1.40)    long  ->  x21         "fgMakeTemp is creating a new local variable"
@@ -118,40 +118,40 @@
 ;  V107 rat19       [V107,T70] (  3,  1.40)    long  ->  x28         "fgMakeTemp is creating a new local variable"
 ;* V108 rat20       [V108,T94] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
 ;* V109 rat21       [V109,T71] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
-;  V110 rat22       [V110,T26] (  3, 15.84)    long  ->   x0         "runtime lookup"
+;  V110 rat22       [V110,T25] (  3, 15.84)    long  ->   x0         "runtime lookup"
 ;  V111 rat23       [V111,T12] (  3, 22.18)    long  ->   x0         "fgMakeTemp is creating a new local variable"
 ;* V112 rat24       [V112,T95] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
 ;* V113 rat25       [V113,T72] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
-;  V114 rat26       [V114,T27] (  3, 15.84)    long  ->   x0         "runtime lookup"
+;  V114 rat26       [V114,T26] (  3, 15.84)    long  ->   x0         "runtime lookup"
 ;  V115 rat27       [V115,T13] (  3, 22.18)    long  ->   x0         "fgMakeTemp is creating a new local variable"
 ;  V116 rat28       [V116,T84] (  3,  1   )    long  ->   x0         "runtime lookup"
 ;  V117 rat29       [V117,T73] (  3,  1.40)    long  ->   x0         "fgMakeTemp is creating a new local variable"
 ;* V118 rat30       [V118,T96] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
 ;* V119 rat31       [V119,T74] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
-;  V120 rat32       [V120,T28] (  3, 15.84)    long  ->   x0         "runtime lookup"
+;  V120 rat32       [V120,T27] (  3, 15.84)    long  ->   x0         "runtime lookup"
 ;  V121 rat33       [V121,T14] (  3, 22.18)    long  ->   x0         "fgMakeTemp is creating a new local variable"
 ;  V122 rat34       [V122,T85] (  3,  1   )    long  ->   x0         "runtime lookup"
 ;  V123 rat35       [V123,T75] (  3,  1.40)    long  ->   x0         "fgMakeTemp is creating a new local variable"
 ;* V124 rat36       [V124,T97] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
 ;* V125 rat37       [V125,T76] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
-;  V126 rat38       [V126,T29] (  3, 15.84)    long  ->   x0         "runtime lookup"
+;  V126 rat38       [V126,T28] (  3, 15.84)    long  ->   x0         "runtime lookup"
 ;  V127 rat39       [V127,T15] (  3, 22.18)    long  ->   x0         "fgMakeTemp is creating a new local variable"
 ;* V128 rat40       [V128,T98] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
 ;* V129 rat41       [V129,T77] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
-;  V130 rat42       [V130,T30] (  3, 15.84)    long  ->   x0         "runtime lookup"
+;  V130 rat42       [V130,T29] (  3, 15.84)    long  ->   x0         "runtime lookup"
 ;  V131 rat43       [V131,T16] (  3, 22.18)    long  ->   x0         "fgMakeTemp is creating a new local variable"
 ;* V132 rat44       [V132,T99] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
 ;* V133 rat45       [V133,T78] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
-;  V134 rat46       [V134,T31] (  3, 15.84)    long  ->   x0         "runtime lookup"
+;  V134 rat46       [V134,T30] (  3, 15.84)    long  ->   x0         "runtime lookup"
 ;  V135 rat47       [V135,T17] (  3, 22.18)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V136 rat48       [V136,T32] (  3, 15.84)    long  ->   x0         "runtime lookup"
+;  V136 rat48       [V136,T31] (  3, 15.84)    long  ->   x0         "runtime lookup"
 ;  V137 rat49       [V137,T18] (  3, 22.18)    long  ->   x0         "fgMakeTemp is creating a new local variable"
 ;* V138 rat50       [V138,T110] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
 ;* V139 rat51       [V139,T108] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;* V140 rat52       [V140,T111] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
 ;* V141 rat53       [V141,T109] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;  V142 rat54       [V142,T64] (  3,  4   )    long  ->   x0         "runtime lookup"
-;  V143 rat55       [V143,T58] (  3,  5.60)    long  ->   x0         "fgMakeTemp is creating a new local variable"
+;  V143 rat55       [V143,T56] (  3,  5.60)    long  ->   x0         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 128
 
@@ -225,7 +225,7 @@ G_M33783_IG05:        ; bbWeight=4, gcrefRegs=F080000 {x19 x24 x25 x26 x27}, byr
             ; gcrRegs +[x0]
             ldr     x4, [x2, #0x20]
             blr     x4
-            str     x0, [fp, #0x30]	// [V12 loc11]
+            str     x0, [fp, #0x50]	// [V12 loc11]
             ; GC ptr vars +{V12}
             sxtw    w1, w22
             add     w22, w1, #1
@@ -233,18 +233,18 @@ G_M33783_IG05:        ; bbWeight=4, gcrefRegs=F080000 {x19 x24 x25 x26 x27}, byr
             ldr     x3, [fp, #0x78]	// [V84 cse3]
             ldr     x4, [x3, #0x20]
             blr     x4
-            str     x0, [fp, #0x28]	// [V13 loc12]
+            str     x0, [fp, #0x48]	// [V13 loc12]
             ; GC ptr vars +{V13}
             sxtw    x1, w28
             mov     x0, x24
-            ldr     x2, [fp, #0x30]	// [V12 loc11]
+            ldr     x2, [fp, #0x50]	// [V12 loc11]
             ; gcrRegs +[x2]
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2]
             ldrsw   x1, [fp, #0x84]	// [V11 loc10]
             mov     x0, x26
             ; gcrRegs +[x0]
-            ldr     x2, [fp, #0x30]	// [V12 loc11]
+            ldr     x2, [fp, #0x50]	// [V12 loc11]
             ; gcrRegs +[x2]
             ; GC ptr vars -{V12}
             bl      CORINFO_HELP_ARRADDR_ST
@@ -252,14 +252,14 @@ G_M33783_IG05:        ; bbWeight=4, gcrefRegs=F080000 {x19 x24 x25 x26 x27}, byr
             sxtw    x1, w28
             mov     x0, x25
             ; gcrRegs +[x0]
-            ldr     x2, [fp, #0x28]	// [V13 loc12]
+            ldr     x2, [fp, #0x48]	// [V13 loc12]
             ; gcrRegs +[x2]
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2]
             ldrsw   x1, [fp, #0x84]	// [V11 loc10]
             mov     x0, x27
             ; gcrRegs +[x0]
-            ldr     x2, [fp, #0x28]	// [V13 loc12]
+            ldr     x2, [fp, #0x48]	// [V13 loc12]
             ; gcrRegs +[x2]
             ; GC ptr vars -{V13}
             bl      CORINFO_HELP_ARRADDR_ST
@@ -317,11 +317,12 @@ G_M33783_IG07:        ; bbWeight=0.25, gcrefRegs=F480000 {x19 x22 x24 x25 x26 x2
             ; gcrRegs +[x22]
             add     x23, x24, #16
             ; byrRegs +[x23]
-            str     xzr, [fp, #0x70]	// [V88 rat0]
+            str     x23, [fp, #0x30]	// [V88 rat0]
+            ; GC ptr vars +{V88}
             mov     w3, #16
-            str     w3, [fp, #0x6C]	// [V89 rat1]
+            str     w3, [fp, #0x74]	// [V89 rat1]
 						;; size=112 bbWeight=0.25 PerfScore 5.75
-G_M33783_IG08:        ; bbWeight=3.96, gcrefRegs=F480000 {x19 x22 x24 x25 x26 x27}, byrefRegs=800000 {x23}, byref, isz
+G_M33783_IG08:        ; bbWeight=3.96, gcVars=00000000000000000000008000000000 {V88}, gcrefRegs=F480000 {x19 x22 x24 x25 x26 x27}, byrefRegs=800000 {x23}, gcvars, byref, isz
             ; gcrRegs -[x0]
             ldr     x0, [x20, #0x38]
             ldr     x0, [x0, #0x18]
@@ -333,14 +334,15 @@ G_M33783_IG09:        ; bbWeight=3.96, gcrefRegs=F480000 {x19 x22 x24 x25 x26 x2
             ; gcrRegs +[x0]
             mov     x1, x0
             ; gcrRegs +[x1]
-            ldr     x2, [fp, #0x70]	// [V88 rat0]
-            ldr     x15, [x23, x2]
+            ldr     x2, [fp, #0x30]	// [V88 rat0]
+            ; byrRegs +[x2]
+            ldr     x15, [x2]
             ; gcrRegs +[x15]
             add     x14, x1, #32
             ; byrRegs +[x14]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x0 x15]
-            ; byrRegs -[x14]
+            ; byrRegs -[x2 x14]
             mov     x0, x22
             ; gcrRegs +[x0]
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddFirst(System.Collections.Generic.LinkedListNode`1[System.__Canon]):this
@@ -349,15 +351,18 @@ G_M33783_IG09:        ; bbWeight=3.96, gcrefRegs=F480000 {x19 x22 x24 x25 x26 x2
             ldr     x3, [x3]
             blr     x3
             ; gcrRegs -[x0-x1]
-            ldr     x0, [fp, #0x70]	// [V88 rat0]
+            ldr     x0, [fp, #0x30]	// [V88 rat0]
+            ; byrRegs +[x0]
             add     x0, x0, #8
-            ldr     w1, [fp, #0x6C]	// [V89 rat1]
+            ldr     w1, [fp, #0x74]	// [V89 rat1]
             sub     w1, w1, #1
-            str     x0, [fp, #0x70]	// [V88 rat0]
-            str     w1, [fp, #0x6C]	// [V89 rat1]
+            str     x0, [fp, #0x30]	// [V88 rat0]
...
+36 (+2.13%) : 83494.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[int]:AddFirst_LinkedListNode():this (FullOpts)
@@ -8,19 +8,19 @@
 ; 0 inlinees with PGO data; 30 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T25] ( 12, 12.67)     ref  ->  x19         this class-hnd single-def <System.Collections.Tests.LinkedList_Generic_Tests`1[int]>
+;  V00 this         [V00,T23] ( 12, 12.67)     ref  ->  x19         this class-hnd single-def <System.Collections.Tests.LinkedList_Generic_Tests`1[int]>
 ;  V01 loc0         [V01,T01] ( 33, 60.73)     ref  ->  x26         class-hnd <System.Collections.Generic.LinkedList`1[int]>
 ;* V02 loc1         [V02,T52] (  0,  0   )     int  ->  zero-ref    single-def
-;  V03 loc2         [V03,T15] (  5, 16.09)     int  ->  x20        
+;  V03 loc2         [V03,T13] (  5, 16.09)     int  ->  x20        
 ;  V04 loc3         [V04,T43] (  8,  5   )     ref  ->  x22         class-hnd <int[]>
-;  V05 loc4         [V05,T49] (  4,  1   )     ref  ->  [fp+0x20]  class-hnd exact spill-single-def <int[]>
+;  V05 loc4         [V05,T49] (  4,  1   )     ref  ->  [fp+0x50]  class-hnd exact spill-single-def <int[]>
 ;  V06 loc5         [V06,T44] (  4,  4.71)     ref  ->  x22         class-hnd exact single-def <int[]>
 ;  V07 loc6         [V07,T41] (  5,  5.71)     ref  ->  x24         class-hnd exact single-def <int[]>
 ;  V08 loc7         [V08,T42] (  3,  5.21)     ref  ->  x23         class-hnd exact single-def <int[]>
 ;  V09 loc8         [V09,T45] (  4,  4.71)     ref  ->  x25         class-hnd exact single-def <int[]>
-;  V10 loc9         [V10,T04] (  7, 24.01)     int  ->  x26        
-;  V11 loc10        [V11,T19] (  4, 15.84)     int  ->  x28        
-;  V12 loc11        [V12,T38] (  3, 11.88)     int  ->  [fp+0x4C]  spill-single-def
+;  V10 loc9         [V10,T03] (  7, 24.01)     int  ->  x26        
+;  V11 loc10        [V11,T17] (  4, 15.84)     int  ->  x28        
+;  V12 loc11        [V12,T38] (  3, 11.88)     int  ->  [fp+0x6C]  spill-single-def
 ;  V13 loc12        [V13,T39] (  3, 11.88)     int  ->   x0        
 ;* V14 loc13        [V14    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op single-def
 ;* V15 loc14        [V15,T53] (  0,  0   )     int  ->  zero-ref   
@@ -32,60 +32,60 @@
 ;* V21 loc20        [V21,T51] (  0,  0   )     int  ->  zero-ref   
 ;# V22 OutArgs      [V22    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V23 tmp1         [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[int]>
-;  V24 tmp2         [V24,T11] (  3, 23.76)     int  ->   x1         "impSpillLclRefs"
-;  V25 tmp3         [V25,T12] (  3, 23.76)     int  ->   x1         "impSpillLclRefs"
+;  V24 tmp2         [V24,T10] (  3, 23.76)     int  ->   x1         "impSpillLclRefs"
+;  V25 tmp3         [V25,T11] (  3, 23.76)     int  ->   x1         "impSpillLclRefs"
 ;* V26 tmp4         [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[int]>
 ;  V27 tmp5         [V27,T48] (  3,  1.50)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
 ;* V28 tmp6         [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[int]>
-;  V29 tmp7         [V29,T06] (  3, 23.76)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
+;  V29 tmp7         [V29,T05] (  3, 23.76)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
 ;* V30 tmp8         [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[int]>
-;  V31 tmp9         [V31,T07] (  3, 23.76)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
-;  V32 tmp10        [V32,T08] (  3, 23.76)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
+;  V31 tmp9         [V31,T06] (  3, 23.76)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
+;  V32 tmp10        [V32,T07] (  3, 23.76)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
 ;* V33 tmp11        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[int]>
-;  V34 tmp12        [V34,T09] (  3, 23.76)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
-;  V35 tmp13        [V35,T10] (  3, 23.76)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
+;  V34 tmp12        [V34,T08] (  3, 23.76)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
+;  V35 tmp13        [V35,T09] (  3, 23.76)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
 ;* V36 tmp14        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[int]>
-;  V37 tmp15        [V37,T05] (  3, 23.76)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
-;  V38 tmp16        [V38,T00] ( 13, 67.32)     ref  ->  x25         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
+;  V37 tmp15        [V37,T04] (  3, 23.76)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
+;  V38 tmp16        [V38,T00] ( 13, 67.32)     ref  ->  [fp+0x48]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.LinkedListNode`1[int]>
 ;* V39 tmp17        [V39    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V40 tmp18        [V40,T20] (  2, 15.84)     int  ->   x0         "Inlining Arg"
-;  V41 tmp19        [V41,T21] (  2, 15.84)     int  ->   x0         "Inlining Arg"
-;  V42 tmp20        [V42,T22] (  2, 15.84)     int  ->   x0         "Inlining Arg"
-;  V43 tmp21        [V43,T23] (  2, 15.84)     int  ->   x0         "Inlining Arg"
-;  V44 tmp22        [V44,T24] (  2, 15.84)     int  ->   x0         "Inlining Arg"
-;  V45 tmp23        [V45,T17] (  2, 15.84)     int  ->   x0         "Inlining Arg"
-;  V46 tmp24        [V46,T18] (  2, 15.84)     int  ->   x0         "Inlining Arg"
-;  V47 tmp25        [V47,T13] (  5, 19.80)     ref  ->   x1         class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[int]>
+;  V40 tmp18        [V40,T18] (  2, 15.84)     int  ->   x0         "Inlining Arg"
+;  V41 tmp19        [V41,T19] (  2, 15.84)     int  ->   x0         "Inlining Arg"
+;  V42 tmp20        [V42,T20] (  2, 15.84)     int  ->   x0         "Inlining Arg"
+;  V43 tmp21        [V43,T21] (  2, 15.84)     int  ->   x0         "Inlining Arg"
+;  V44 tmp22        [V44,T22] (  2, 15.84)     int  ->   x0         "Inlining Arg"
+;  V45 tmp23        [V45,T15] (  2, 15.84)     int  ->   x0         "Inlining Arg"
+;  V46 tmp24        [V46,T16] (  2, 15.84)     int  ->   x0         "Inlining Arg"
+;  V47 tmp25        [V47,T12] (  5, 19.80)     ref  ->   x1         class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[int]>
 ;  V48 tmp26        [V48,T50] (  2,  1   )     ref  ->   x2         single-def "argument with side effect"
 ;  V49 cse0         [V49,T40] (  3,  8.17)    long  ->  x27         hoist "CSE #03: moderate"
 ;  V50 cse1         [V50,T02] (  9, 28.22)    long  ->  x27         "CSE #13: aggressive"
-;  V51 cse2         [V51,T03] (  8, 24.26)   byref  ->  [fp+0x18]  "CSE #06: aggressive"
-;  V52 cse3         [V52,T14] (  5, 19.80)   byref  ->  [fp+0x10]  "CSE #08: moderate"
+;  V51 cse2         [V51,T24] (  8, 13.13)   byref  ->  [fp+0x40]  "CSE #06: aggressive"
+;  V52 cse3         [V52,T25] (  5, 12.38)   byref  ->  [fp+0x38]  "CSE #08: moderate"
 ;  V53 cse4         [V53,T46] (  9,  3   )    long  ->  x21         "CSE #01: moderate"
 ;  V54 cse5         [V54,T47] (  6,  1.50)    long  ->  x20         "CSE #12: moderate"
-;  V55 rat0         [V55,T27] (  4, 12.13)    long  ->  x28         "Strength reduced derived IV"
-;  V56 rat1         [V56,T28] (  4, 12.13)     int  ->  [fp+0x48]  "Trip count IV"
-;  V57 rat2         [V57,T29] (  4, 12.13)    long  ->  x28         "Strength reduced derived IV"
-;  V58 rat3         [V58,T30] (  4, 12.13)     int  ->  [fp+0x44]  "Trip count IV"
-;  V59 rat4         [V59,T31] (  4, 12.13)    long  ->  [fp+0x38]  "Strength reduced derived IV"
-;  V60 rat5         [V60,T32] (  4, 12.13)     int  ->  [fp+0x34]  "Trip count IV"
-;  V61 rat6         [V61,T33] (  4, 12.13)    long  ->  x22         "Strength reduced derived IV"
-;  V62 rat7         [V62,T34] (  4, 12.13)     int  ->  [fp+0x30]  "Trip count IV"
+;  V55 rat0         [V55,T27] (  4, 12.13)   byref  ->  [fp+0x30]  "Strength reduced derived IV"
+;  V56 rat1         [V56,T32] (  4, 12.13)     int  ->  [fp+0x68]  "Trip count IV"
+;  V57 rat2         [V57,T28] (  4, 12.13)   byref  ->  [fp+0x28]  "Strength reduced derived IV"
+;  V58 rat3         [V58,T33] (  4, 12.13)     int  ->  [fp+0x64]  "Trip count IV"
+;  V59 rat4         [V59,T29] (  4, 12.13)   byref  ->  [fp+0x20]  "Strength reduced derived IV"
+;  V60 rat5         [V60,T34] (  4, 12.13)     int  ->  [fp+0x60]  "Trip count IV"
+;  V61 rat6         [V61,T30] (  4, 12.13)   byref  ->  x22         "Strength reduced derived IV"
+;  V62 rat7         [V62,T35] (  4, 12.13)     int  ->  [fp+0x5C]  "Trip count IV"
 ;  V63 rat8         [V63,T26] (  4, 12.25)     int  ->  x22         "Trip count IV"
-;  V64 rat9         [V64,T35] (  4, 12.13)    long  ->  x22         "Strength reduced derived IV"
-;  V65 rat10        [V65,T36] (  4, 12.13)     int  ->  [fp+0x2C]  "Trip count IV"
-;  V66 rat11        [V66,T16] (  5, 16.09)    long  ->  x20         "Strength reduced derived IV"
-;  V67 rat12        [V67,T37] (  4, 12.13)     int  ->  x22         "Trip count IV"
+;  V64 rat9         [V64,T31] (  4, 12.13)   byref  ->  [fp+0x18]  "Strength reduced derived IV"
+;  V65 rat10        [V65,T36] (  4, 12.13)     int  ->  [fp+0x58]  "Trip count IV"
+;  V66 rat11        [V66,T14] (  5, 16.09)    long  ->  x20         "Strength reduced derived IV"
+;  V67 rat12        [V67,T37] (  4, 12.13)     int  ->  x25         "Trip count IV"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 96
 
 G_M46690_IG01:        ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0xA0]!
-            stp     x19, x20, [sp, #0x50]
-            stp     x21, x22, [sp, #0x60]
-            stp     x23, x24, [sp, #0x70]
-            stp     x25, x26, [sp, #0x80]
-            stp     x27, x28, [sp, #0x90]
+            stp     fp, lr, [sp, #-0xC0]!
+            stp     x19, x20, [sp, #0x70]
+            stp     x21, x22, [sp, #0x80]
+            stp     x23, x24, [sp, #0x90]
+            stp     x25, x26, [sp, #0xA0]
+            stp     x27, x28, [sp, #0xB0]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
@@ -138,7 +138,7 @@ G_M46690_IG03:        ; bbWeight=3.96, gcrefRegs=3C80000 {x19 x22 x23 x24 x25},
             ldr     x2, [x27, #0x20]
             blr     x2
             ; gcrRegs -[x0]
-            str     w0, [fp, #0x4C]	// [V12 loc11]
+            str     w0, [fp, #0x6C]	// [V12 loc11]
             sxtw    w1, w20
             add     w20, w1, #1
             mov     x0, x19
@@ -148,7 +148,7 @@ G_M46690_IG03:        ; bbWeight=3.96, gcrefRegs=3C80000 {x19 x22 x23 x24 x25},
             ; gcrRegs -[x0]
             add     x1, x22, #16
             ; byrRegs +[x1]
-            ldr     w2, [fp, #0x4C]	// [V12 loc11]
+            ldr     w2, [fp, #0x6C]	// [V12 loc11]
             str     w2, [x1, w26, UXTW #2]
             cmp     w28, #16
             bhs     G_M46690_IG23
@@ -162,11 +162,11 @@ G_M46690_IG03:        ; bbWeight=3.96, gcrefRegs=3C80000 {x19 x22 x23 x24 x25},
             str     w0, [x3, w28, UXTW #2]
             add     w26, w26, #1
             cmp     w26, #16
-            stp     x2, x1, [fp, #0x10]	// [V52 cse3], [V51 cse2]
+            stp     x2, x1, [fp, #0x38]	// [V52 cse3], [V51 cse2]
             ; GC ptr vars +{V51 V52}
             blt     G_M46690_IG03
 						;; size=112 bbWeight=3.96 PerfScore 100.98
-G_M46690_IG04:        ; bbWeight=0.25, gcVars=0000000000004008 {V51 V52}, gcrefRegs=3C80000 {x19 x22 x23 x24 x25}, byrefRegs=0000 {}, gcvars, byref
+G_M46690_IG04:        ; bbWeight=0.25, gcVars=0000000003000000 {V51 V52}, gcrefRegs=3C80000 {x19 x22 x23 x24 x25}, byrefRegs=0000 {}, gcvars, byref
             ; byrRegs -[x1-x3]
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
@@ -213,20 +213,24 @@ G_M46690_IG04:        ; bbWeight=0.25, gcVars=0000000000004008 {V51 V52}, gcrefR
             ; gcrRegs +[x0]
             mov     x26, x0
             ; gcrRegs +[x26]
-            mov     x28, xzr
-            mov     w1, #16
-            str     w1, [fp, #0x48]	// [V56 rat1]
-						;; size=144 bbWeight=0.25 PerfScore 6.75
-G_M46690_IG05:        ; bbWeight=3.96, gcrefRegs=7C80000 {x19 x22 x23 x24 x25 x26}, byrefRegs=0000 {}, byref, isz
+            ldr     x28, [fp, #0x40]	// [V51 cse2]
+            ; byrRegs +[x28]
+            str     x28, [fp, #0x30]	// [V55 rat0]
+            ; GC ptr vars +{V55}
+            mov     w2, #16
+            str     w2, [fp, #0x68]	// [V56 rat1]
+						;; size=148 bbWeight=0.25 PerfScore 7.38
+G_M46690_IG05:        ; bbWeight=3.96, gcVars=000000000A000000 {V52 V55}, gcrefRegs=7C80000 {x19 x22 x23 x24 x25 x26}, byrefRegs=10000000 {x28}, gcvars, byref, isz
             ; gcrRegs -[x0]
+            ; GC ptr vars -{V51}
             mov     x0, x27
             bl      CORINFO_HELP_NEWSFAST
             ; gcrRegs +[x0]
             mov     x1, x0
             ; gcrRegs +[x1]
-            ldr     x2, [fp, #0x18]	// [V51 cse2]
+            ldr     x2, [fp, #0x30]	// [V55 rat0]
             ; byrRegs +[x2]
-            ldr     w0, [x2, x28]
+            ldr     w0, [x2]
             ; gcrRegs -[x0]
             str     w0, [x1, #0x20]
             mov     x0, x26
@@ -238,13 +242,18 @@ G_M46690_IG05:        ; bbWeight=3.96, gcrefRegs=7C80000 {x19 x22 x23 x24 x25 x2
             blr     x3
             ; gcrRegs -[x0-x1]
             ; byrRegs -[x2]
-            add     x28, x28, #4
-            ldr     w0, [fp, #0x48]	// [V56 rat1]
-            sub     w0, w0, #1
-            str     w0, [fp, #0x48]	// [V56 rat1]
-            cbnz    w0, G_M46690_IG05
-						;; size=68 bbWeight=3.96 PerfScore 75.24
-G_M46690_IG06:        ; bbWeight=0.25, gcrefRegs=7C80000 {x19 x22 x23 x24 x25 x26}, byrefRegs=0000 {}, byref
+            ldr     x0, [fp, #0x30]	// [V55 rat0]
+            ; byrRegs +[x0]
+            add     x0, x0, #4
+            ldr     w1, [fp, #0x68]	// [V56 rat1]
+            sub     w1, w1, #1
+            str     x0, [fp, #0x30]	// [V55 rat0]
+            str     w1, [fp, #0x68]	// [V56 rat1]
+            cbnz    w1, G_M46690_IG05
+						;; size=76 bbWeight=3.96 PerfScore 87.12
+G_M46690_IG06:        ; bbWeight=0.25, gcVars=0000000002000000 {V52}, gcrefRegs=7C80000 {x19 x22 x23 x24 x25 x26}, byrefRegs=10000000 {x28}, gcvars, byref
+            ; byrRegs -[x0]
+            ; GC ptr vars -{V55}
             mov     x0, x19
             ; gcrRegs +[x0]
             mov     x1, x26
@@ -262,20 +271,21 @@ G_M46690_IG06:        ; bbWeight=0.25, gcrefRegs=7C80000 {x19 x22 x23 x24 x25 x2
             ; gcrRegs +[x0]
             mov     x26, x0
             ; gcrRegs +[x26]
-            mov     x28, xzr
-            mov     w1, #16
-            str     w1, [fp, #0x44]	// [V58 rat3]
-						;; size=56 bbWeight=0.25 PerfScore 2.75
-G_M46690_IG07:        ; bbWeight=3.96, gcrefRegs=7C80000 {x19 x22 x23 x24 x25 x26}, byrefRegs=0000 {}, byref, isz
+            str     x28, [fp, #0x28]	// [V57 rat2]
+            ; GC ptr vars +{V57}
+            mov     w2, #16
+            str     w2, [fp, #0x64]	// [V58 rat3]
+						;; size=56 bbWeight=0.25 PerfScore 2.88
+G_M46690_IG07:        ; bbWeight=3.96, gcVars=0000000012000000 {V52 V57}, gcrefRegs=7C80000 {x19 x22 x23 x24 x25 x26}, byrefRegs=10000000 {x28}, gcvars, byref, isz
             ; gcrRegs -[x0]
             mov     x0, x27
             bl      CORINFO_HELP_NEWSFAST
             ; gcrRegs +[x0]
             mov     x1, x0
             ; gcrRegs +[x1]
-            ldr     x2, [fp, #0x18]	// [V51 cse2]
+            ldr     x2, [fp, #0x28]	// [V57 rat2]
             ; byrRegs +[x2]
-            ldr     w0, [x2, x28]
+            ldr     w0, [x2]
             ; gcrRegs -[x0]
             str     w0, [x1, #0x20]
             mov     x0, x26
@@ -287,13 +297,18 @@ G_M46690_IG07:        ; bbWeight=3.96, gcrefRegs=7C80000 {x19 x22 x23 x24 x25 x2
             blr     x3
             ; gcrRegs -[x0-x1]
             ; byrRegs -[x2]
-            add     x28, x28, #4
-            ldr     w1, [fp, #0x44]	// [V58 rat3]
...
realworld.run.windows.arm64.checked.mch
-16 (-11.76%) : 10631.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:Count[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (FullOpts)
@@ -18,22 +18,21 @@
 ;* V07 tmp2         [V07    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V08 tmp3         [V08    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V09 tmp4         [V09,T04] (  3,  2.25)     ref  ->   x1         single-def "field V01.array (fldOffset=0x0)" P-INDEP
-;  V10 cse0         [V10,T06] (  4,  2.75)     int  ->  x20         "CSE #01: aggressive"
-;  V11 cse1         [V11,T05] (  2,  4.25)   byref  ->  x22         hoist "CSE #02: aggressive"
-;  V12 rat0         [V12,T00] (  4, 12.25)    long  ->  x23         "Strength reduced derived IV"
+;  V10 cse0         [V10,T05] (  4,  2.75)     int  ->  x20         "CSE #01: aggressive"
+;  V11 cse1         [V11,T06] (  2,  0.50)   byref  ->  x22         hoist "CSE #02: aggressive"
+;  V12 rat0         [V12,T00] (  4, 12.25)   byref  ->  x22         "Strength reduced derived IV"
 ;  V13 rat1         [V13,T01] (  4, 12.25)     int  ->  x20         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M49231_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x2
             ; gcrRegs +[x19]
-						;; size=24 bbWeight=1 PerfScore 5.00
+						;; size=20 bbWeight=1 PerfScore 4.00
 G_M49231_IG02:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x1]
             ldr     w20, [x1, #0x08]
@@ -47,11 +46,10 @@ G_M49231_IG03:        ; bbWeight=0.50, gcrefRegs=80002 {x1 x19}, byrefRegs=0000
 G_M49231_IG04:        ; bbWeight=0.25, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             add     x22, x1, #16
             ; byrRegs +[x22]
-            mov     x23, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M49231_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=400000 {x22}, byref, isz
             ; gcrRegs -[x1]
-            ldr     x1, [x22, x23]
+            ldr     x1, [x22]
             ; gcrRegs +[x1]
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
@@ -64,7 +62,7 @@ G_M49231_IG06:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=400000 {x22
             add     w21, w21, #1
 						;; size=4 bbWeight=2 PerfScore 1.00
 G_M49231_IG07:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=400000 {x22}, byref, isz
-            add     x23, x23, #8
+            add     x22, x22, #8
             sub     w20, w20, #1
             cbnz    w20, G_M49231_IG05
 						;; size=12 bbWeight=4 PerfScore 8.00
@@ -74,24 +72,22 @@ G_M49231_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, w21
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M49231_IG09:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-						;; size=20 bbWeight=0.50 PerfScore 3.00
+						;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M49231_IG10:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M49231_IG11:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-						;; size=20 bbWeight=0.50 PerfScore 3.00
+						;; size=16 bbWeight=0.50 PerfScore 2.00
 
-; Total bytes of code 136, prolog size 20, PerfScore 69.75, instruction count 34, allocated bytes for code 136 (MethodHash=16863fb0) for method Microsoft.CodeAnalysis.ImmutableArrayExtensions:Count[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (FullOpts)
+; Total bytes of code 120, prolog size 16, PerfScore 66.62, instruction count 30, allocated bytes for code 120 (MethodHash=16863fb0) for method Microsoft.CodeAnalysis.ImmutableArrayExtensions:Count[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -102,7 +98,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
+  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -113,9 +109,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D1 07       save_reg X#4 Z#7 (0x07); str x23, [sp, #56]
     E6          save_next
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
+    E4          end
     E4          end
 
-16 (-11.76%) : 25649.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:MethodHasByRefParameter(System.Reflection.MethodInfo):ubyte (FullOpts)
@@ -8,22 +8,21 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T02] (  3,  3   )     ref  ->   x0         class-hnd single-def <System.Reflection.MethodInfo>
-;  V01 loc0         [V01,T04] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Reflection.ParameterInfo[]>
-;* V02 loc1         [V02,T06] (  0,  0   )     int  ->  zero-ref   
+;  V01 loc0         [V01,T03] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Reflection.ParameterInfo[]>
+;* V02 loc1         [V02,T05] (  0,  0   )     int  ->  zero-ref   
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 cse0         [V04,T03] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V05 cse1         [V05,T05] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
-;  V06 rat0         [V06,T00] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V04 cse0         [V04,T06] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V05 cse1         [V05,T04] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
+;  V06 rat0         [V06,T00] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V07 rat1         [V07,T01] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M42632_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M42632_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Dynamic.Utils.TypeExtensions:GetParametersCached(System.Reflection.MethodBase):System.Reflection.ParameterInfo[]
@@ -38,11 +37,10 @@ G_M42632_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M42632_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #16
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M42632_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [x20, x21]
+            ldr     x0, [x20]
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Dynamic.Utils.TypeExtensions:IsByRefParameter(System.Reflection.ParameterInfo):ubyte
             movk    x1, #0xD1FFAB1E LSL #16
@@ -51,7 +49,7 @@ G_M42632_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, b
             blr     x1
             ; gcrRegs -[x0]
             cbnz    w0, G_M42632_IG07
-            add     x21, x21, #8
+            add     x20, x20, #8
             sub     w19, w19, #1
             cbnz    w19, G_M42632_IG04
 						;; size=40 bbWeight=4 PerfScore 46.00
@@ -60,22 +58,20 @@ G_M42632_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M42632_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M42632_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M42632_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 136, prolog size 16, PerfScore 65.25, instruction count 34, allocated bytes for code 136 (MethodHash=51775977) for method System.Linq.Expressions.Compiler.LambdaCompiler:MethodHasByRefParameter(System.Reflection.MethodInfo):ubyte (FullOpts)
+; Total bytes of code 120, prolog size 12, PerfScore 62.12, instruction count 30, allocated bytes for code 120 (MethodHash=51775977) for method System.Linq.Expressions.Compiler.LambdaCompiler:MethodHasByRefParameter(System.Reflection.MethodInfo):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -86,7 +82,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
+  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -97,9 +93,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-12 (-11.11%) : 14386.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
@@ -17,23 +17,22 @@
 ;* V06 tmp2         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V07 tmp3         [V07    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V08 tmp4         [V08,T03] (  4,  2.75)     ref  ->   x2         single-def "field V02.array (fldOffset=0x0)" P-INDEP
-;  V09 cse0         [V09,T05] (  2,  4.25)    long  ->  x22         hoist "CSE #03: aggressive"
-;  V10 cse1         [V10,T04] (  2,  4.25)   byref  ->  x21         hoist "CSE #02: aggressive"
-;  V11 cse2         [V11,T06] (  3,  1.25)     int  ->  x20         "CSE #04: aggressive"
-;  V12 rat0         [V12,T00] (  4, 12.25)    long  ->  x23         "Strength reduced derived IV"
+;  V09 cse0         [V09,T04] (  2,  4.25)    long  ->  x22         hoist "CSE #03: aggressive"
+;  V10 cse1         [V10,T06] (  2,  0.50)   byref  ->  x21         hoist "CSE #02: aggressive"
+;  V11 cse2         [V11,T05] (  3,  1.25)     int  ->  x20         "CSE #04: aggressive"
+;  V12 rat0         [V12,T00] (  4, 12.25)   byref  ->  x21         "Strength reduced derived IV"
 ;  V13 rat1         [V13,T01] (  4, 12.25)     int  ->  x20         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M38436_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x0
             ; gcrRegs +[x19]
-						;; size=24 bbWeight=1 PerfScore 5.00
+						;; size=20 bbWeight=1 PerfScore 4.00
 G_M38436_IG02:        ; bbWeight=1, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             cbz     x2, G_M38436_IG06
@@ -49,32 +48,30 @@ G_M38436_IG04:        ; bbWeight=0.25, gcrefRegs=80004 {x2 x19}, byrefRegs=0000
             ldr     xzr, [x19]
             ldr     x1, [x19]
             ldr     x22, [x1, #0x48]
-            mov     x23, xzr
-						;; size=20 bbWeight=0.25 PerfScore 2.50
+						;; size=16 bbWeight=0.25 PerfScore 2.38
 G_M38436_IG05:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
             ; gcrRegs -[x2]
-            ldr     x1, [x21, x23]
+            ldr     x1, [x21]
             ; gcrRegs +[x1]
             mov     x0, x19
             ; gcrRegs +[x0]
             ldr     x2, [x22, #0x20]
             blr     x2
             ; gcrRegs -[x0-x1]
-            add     x23, x23, #8
+            add     x21, x21, #8
             sub     w20, w20, #1
             cbnz    w20, G_M38436_IG05
 						;; size=28 bbWeight=4 PerfScore 38.00
 G_M38436_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ; byrRegs -[x21]
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x40
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 108, prolog size 20, PerfScore 54.75, instruction count 27, allocated bytes for code 108 (MethodHash=b16469db) for method Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
+; Total bytes of code 96, prolog size 16, PerfScore 51.62, instruction count 24, allocated bytes for code 96 (MethodHash=b16469db) for method Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -85,7 +82,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 27 (0x0001b) Actual length = 108 (0x00006c)
+  Function Length   : 24 (0x00018) Actual length = 96 (0x000060)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -93,9 +90,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D1 07       save_reg X#4 Z#7 (0x07); str x23, [sp, #56]
     E6          save_next
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    E4          end
+    E4          end
     E4          end
 
-12 (-0.09%) : 25385.dasm - System.Management.Automation.Verbs:.cctor() (FullOpts)
@@ -10,13 +10,13 @@
 ;
 ;  V00 loc0         [V00,T378] (  2,  0.50)     ref  ->   x0         class-hnd exact single-def <<unknown class>>
 ;* V01 loc1         [V01,T379] (  0,  0   )     int  ->  zero-ref   
-;  V02 loc2         [V02,T20] (  3,  9   )     ref  ->   x0         class-hnd <System.Reflection.FieldInfo[]>
-;* V03 loc3         [V03,T374] (  0,  0   )     int  ->  zero-ref   
-;  V04 loc4         [V04,T03] (  4, 56   )     ref  ->  x25         class-hnd <System.Reflection.FieldInfo>
+;  V02 loc2         [V02,T19] (  3,  9   )     ref  ->   x0         class-hnd <System.Reflection.FieldInfo[]>
+;* V03 loc3         [V03,T373] (  0,  0   )     int  ->  zero-ref   
+;  V04 loc4         [V04,T03] (  4, 56   )     ref  ->  x24         class-hnd <System.Reflection.FieldInfo>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T375] (  3,  1.50)     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.String,ubyte]>
 ;  V07 tmp2         [V07,T376] (  3,  1.50)     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V08 tmp3         [V08,T255] (  9,  4.50)     ref  ->   x0         class-hnd exact single-def "dup spill" <<unknown class>>
+;  V08 tmp3         [V08,T254] (  9,  4.50)     ref  ->   x0         class-hnd exact single-def "dup spill" <<unknown class>>
 ;* V09 tmp4         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <<unknown class>>
 ;* V10 tmp5         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <<unknown class>>
 ;* V11 tmp6         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <<unknown class>>
@@ -24,243 +24,243 @@
 ;* V13 tmp8         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <<unknown class>>
 ;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <<unknown class>>
 ;* V15 tmp10        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <<unknown class>>
-;  V16 tmp11        [V16,T07] (  3, 48   )     ref  ->  x27         class-hnd "non-inline candidate call" <System.Collections.Generic.Dictionary`2[System.String,ubyte]>
-;  V17 tmp12        [V17,T47] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V18 tmp13        [V18,T48] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V19 tmp14        [V19,T22] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V20 tmp15        [V20,T49] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V21 tmp16        [V21,T50] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V22 tmp17        [V22,T51] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V23 tmp18        [V23,T18] (  5, 10   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V24 tmp19        [V24,T52] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V25 tmp20        [V25,T53] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V26 tmp21        [V26,T54] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V27 tmp22        [V27,T23] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V28 tmp23        [V28,T55] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V29 tmp24        [V29,T56] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V30 tmp25        [V30,T57] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V31 tmp26        [V31,T58] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V32 tmp27        [V32,T59] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V33 tmp28        [V33,T24] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V34 tmp29        [V34,T60] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V35 tmp30        [V35,T25] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V36 tmp31        [V36,T61] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V37 tmp32        [V37,T62] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V38 tmp33        [V38,T63] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V39 tmp34        [V39,T64] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V40 tmp35        [V40,T65] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V41 tmp36        [V41,T66] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V42 tmp37        [V42,T67] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V43 tmp38        [V43,T68] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V44 tmp39        [V44,T69] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V45 tmp40        [V45,T70] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V46 tmp41        [V46,T71] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V47 tmp42        [V47,T72] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V48 tmp43        [V48,T73] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V49 tmp44        [V49,T74] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V50 tmp45        [V50,T75] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V51 tmp46        [V51,T76] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V52 tmp47        [V52,T77] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V53 tmp48        [V53,T19] (  5, 10   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V54 tmp49        [V54,T78] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V55 tmp50        [V55,T79] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V56 tmp51        [V56,T80] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V57 tmp52        [V57,T81] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V58 tmp53        [V58,T82] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V59 tmp54        [V59,T26] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V60 tmp55        [V60,T83] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V61 tmp56        [V61,T84] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V62 tmp57        [V62,T85] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V63 tmp58        [V63,T86] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V64 tmp59        [V64,T87] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V65 tmp60        [V65,T88] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V66 tmp61        [V66,T89] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V67 tmp62        [V67,T90] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V68 tmp63        [V68,T91] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V69 tmp64        [V69,T92] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V70 tmp65        [V70,T93] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V71 tmp66        [V71,T94] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V72 tmp67        [V72,T95] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V73 tmp68        [V73,T96] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V74 tmp69        [V74,T97] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V75 tmp70        [V75,T27] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V76 tmp71        [V76,T98] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V77 tmp72        [V77,T28] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V78 tmp73        [V78,T99] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V79 tmp74        [V79,T29] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V80 tmp75        [V80,T100] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V81 tmp76        [V81,T30] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V82 tmp77        [V82,T101] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V83 tmp78        [V83,T31] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V84 tmp79        [V84,T102] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V85 tmp80        [V85,T103] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V86 tmp81        [V86,T104] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V87 tmp82        [V87,T105] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V88 tmp83        [V88,T106] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V89 tmp84        [V89,T107] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V90 tmp85        [V90,T108] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V91 tmp86        [V91,T32] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V92 tmp87        [V92,T109] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V93 tmp88        [V93,T110] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V94 tmp89        [V94,T111] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V95 tmp90        [V95,T112] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V96 tmp91        [V96,T113] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V97 tmp92        [V97,T114] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V98 tmp93        [V98,T115] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V99 tmp94        [V99,T116] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V100 tmp95       [V100,T117] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V101 tmp96       [V101,T118] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V102 tmp97       [V102,T119] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V103 tmp98       [V103,T120] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V104 tmp99       [V104,T121] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V105 tmp100      [V105,T33] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V106 tmp101      [V106,T122] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V107 tmp102      [V107,T123] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V108 tmp103      [V108,T124] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V109 tmp104      [V109,T125] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V110 tmp105      [V110,T126] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V111 tmp106      [V111,T127] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V112 tmp107      [V112,T128] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V113 tmp108      [V113,T129] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V114 tmp109      [V114,T130] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V115 tmp110      [V115,T34] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V116 tmp111      [V116,T131] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V117 tmp112      [V117,T132] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V118 tmp113      [V118,T133] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V119 tmp114      [V119,T134] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V120 tmp115      [V120,T135] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V121 tmp116      [V121,T136] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V122 tmp117      [V122,T137] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V123 tmp118      [V123,T138] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V124 tmp119      [V124,T139] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V125 tmp120      [V125,T140] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V126 tmp121      [V126,T141] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V127 tmp122      [V127,T142] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V128 tmp123      [V128,T143] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V129 tmp124      [V129,T144] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V130 tmp125      [V130,T145] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V131 tmp126      [V131,T35] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V132 tmp127      [V132,T146] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V133 tmp128      [V133,T36] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V134 tmp129      [V134,T147] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V135 tmp130      [V135,T148] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V136 tmp131      [V136,T149] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V137 tmp132      [V137,T150] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V138 tmp133      [V138,T151] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V139 tmp134      [V139,T152] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V140 tmp135      [V140,T153] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V141 tmp136      [V141,T154] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V142 tmp137      [V142,T155] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V143 tmp138      [V143,T37] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V144 tmp139      [V144,T156] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V145 tmp140      [V145,T157] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V146 tmp141      [V146,T158] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V147 tmp142      [V147,T159] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V148 tmp143      [V148,T160] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V149 tmp144      [V149,T161] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V150 tmp145      [V150,T162] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V151 tmp146      [V151,T163] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V152 tmp147      [V152,T164] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V153 tmp148      [V153,T165] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V154 tmp149      [V154,T166] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V155 tmp150      [V155,T167] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V156 tmp151      [V156,T168] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V157 tmp152      [V157,T169] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V158 tmp153      [V158,T170] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V159 tmp154      [V159,T171] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V160 tmp155      [V160,T172] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V161 tmp156      [V161,T173] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V162 tmp157      [V162,T174] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V163 tmp158      [V163,T175] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V164 tmp159      [V164,T176] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V165 tmp160      [V165,T38] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V166 tmp161      [V166,T177] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V167 tmp162      [V167,T178] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V168 tmp163      [V168,T179] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V169 tmp164      [V169,T180] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V170 tmp165      [V170,T181] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V171 tmp166      [V171,T39] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V172 tmp167      [V172,T182] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V173 tmp168      [V173,T183] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V174 tmp169      [V174,T184] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V175 tmp170      [V175,T185] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V176 tmp171      [V176,T186] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V177 tmp172      [V177,T187] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V178 tmp173      [V178,T188] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V179 tmp174      [V179,T189] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V180 tmp175      [V180,T190] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V181 tmp176      [V181,T40] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V182 tmp177      [V182,T191] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V183 tmp178      [V183,T192] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V184 tmp179      [V184,T193] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V185 tmp180      [V185,T194] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V186 tmp181      [V186,T195] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V187 tmp182      [V187,T196] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V188 tmp183      [V188,T197] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V189 tmp184      [V189,T198] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V190 tmp185      [V190,T199] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V191 tmp186      [V191,T200] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V192 tmp187      [V192,T201] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V193 tmp188      [V193,T202] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V194 tmp189      [V194,T203] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V195 tmp190      [V195,T204] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V196 tmp191      [V196,T205] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V197 tmp192      [V197,T17] (  6, 12   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V198 tmp193      [V198,T206] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V199 tmp194      [V199,T207] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V200 tmp195      [V200,T208] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V201 tmp196      [V201,T41] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V202 tmp197      [V202,T209] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V203 tmp198      [V203,T210] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V204 tmp199      [V204,T211] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V205 tmp200      [V205,T212] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V206 tmp201      [V206,T213] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V207 tmp202      [V207,T214] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V208 tmp203      [V208,T215] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V209 tmp204      [V209,T42] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V210 tmp205      [V210,T216] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V211 tmp206      [V211,T217] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V212 tmp207      [V212,T218] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V213 tmp208      [V213,T219] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V214 tmp209      [V214,T220] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V215 tmp210      [V215,T43] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V216 tmp211      [V216,T221] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V217 tmp212      [V217,T222] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V218 tmp213      [V218,T223] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V219 tmp214      [V219,T224] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V220 tmp215      [V220,T225] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V221 tmp216      [V221,T226] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V222 tmp217      [V222,T227] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V223 tmp218      [V223,T44] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V224 tmp219      [V224,T228] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V225 tmp220      [V225,T45] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V226 tmp221      [V226,T229] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V227 tmp222      [V227,T230] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V228 tmp223      [V228,T231] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V229 tmp224      [V229,T232] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V230 tmp225      [V230,T233] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V231 tmp226      [V231,T234] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V232 tmp227      [V232,T235] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V233 tmp228      [V233,T236] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V234 tmp229      [V234,T237] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V235 tmp230      [V235,T238] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V236 tmp231      [V236,T239] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V237 tmp232      [V237,T240] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V238 tmp233      [V238,T241] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V239 tmp234      [V239,T46] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V240 tmp235      [V240,T242] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V241 tmp236      [V241,T243] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
-;  V242 tmp237      [V242,T244] (  3,  6   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String[]]>
-;  V243 tmp238      [V243,T245] (  3,  6   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String[]>
...
-4 (-0.06%) : 13486.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:MakeTypeParameters(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol]:this (FullOpts)
@@ -8,83 +8,83 @@
 ; 0 inlinees with PGO data; 133 single block inlinees; 47 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T41] ( 13, 228.50)     ref  ->  x19         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol>
+;  V00 this         [V00,T40] ( 13, 228.50)     ref  ->  x19         this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol>
 ;  V01 arg1         [V01,T170] (  3,   3   )     ref  ->  x20         class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
-;  V02 loc0         [V02,T40] ( 11, 238.50)     ref  ->  x21         class-hnd exact single-def <Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol+<>c__DisplayClass10_0>
-;  V03 loc1         [V03,T69] (  5, 128.50)   ubyte  ->  x20        
+;  V02 loc0         [V02,T39] ( 11, 238.50)     ref  ->  x21         class-hnd exact single-def <Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol+<>c__DisplayClass10_0>
+;  V03 loc1         [V03,T68] (  5, 128.50)   ubyte  ->  x20        
 ;  V04 loc2         [V04,T101] (  5,  83.06)     ref  ->  x22         class-hnd exact single-def <<unknown class>>
 ;  V05 loc3         [V05,T88] (  4,  96.50)     ref  ->  x23         class-hnd exact single-def <<unknown class>>
 ;  V06 loc4         [V06,T125] (  8,  21   )     ref  ->  x24         class-hnd exact single-def <<unknown class>>
 ;* V07 loc5         [V07    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op <System.Collections.Immutable.ImmutableArray`1+Enumerator[Microsoft.CodeAnalysis.SyntaxReference]>
 ;* V08 loc6         [V08    ] (  0,   0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxReference]>
-;  V09 loc7         [V09,T149] (  6,  11   )     ref  ->  [fp+0x270]  class-hnd spill-single-def <<unknown class>>
+;  V09 loc7         [V09,T149] (  6,  11   )     ref  ->  [fp+0x280]  class-hnd spill-single-def <<unknown class>>
 ;  V10 loc8         [V10,T102] (  3,  68   )     ref  ->  x28         class-hnd <Microsoft.CodeAnalysis.SyntaxTree>
-;  V11 loc9         [V11,T140] (  4,  12   )     ref  ->  [fp+0x268]  class-hnd <Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterListSyntax>
+;  V11 loc9         [V11,T140] (  4,  12   )     ref  ->  [fp+0x278]  class-hnd <Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterListSyntax>
 ;  V12 loc10        [V12,T130] (  6,  18   )  ushort  ->  [fp+0x3EC]  spill-single-def
 ;  V13 loc11        [V13,T148] (  2,  12   )   ubyte  ->  [fp+0x3E8]  spill-single-def
-;  V14 loc12        [V14,T44] (  9, 200   )     ref  ->  [fp+0x260]  class-hnd exact spill-single-def <<unknown class>>
-;  V15 loc13        [V15,T19] ( 13, 326.56)     int  ->  [fp+0x3E4] 
+;  V14 loc12        [V14,T43] (  9, 200   )     ref  ->  [fp+0x270]  class-hnd exact spill-single-def <<unknown class>>
+;  V15 loc13        [V15,T18] ( 13, 326.56)     int  ->  [fp+0x3E4] 
 ;* V16 loc14        [V16    ] (  0,   0   )  struct ( 8) zero-ref    ld-addr-op <System.Threading.CancellationToken>
 ;  V17 loc15        [V17    ] (  7, 904   )  struct (32) [fp+0x3C0]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.SeparatedSyntaxList`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterSyntax]>
 ;  V18 loc16        [V18,T164] (  2,   8   )  struct (24) [fp+0x3A8]  do-not-enreg[HS] must-init hidden-struct-arg ld-addr-op <Microsoft.CodeAnalysis.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterSyntax]>
-;  V19 loc17        [V19,T06] ( 11, 552   )     ref  ->  [fp+0x258]  class-hnd exact spill-single-def <Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterSyntax>
-;  V20 loc18        [V20,T01] ( 19,1120   )     ref  ->  [fp+0x250]  class-hnd <System.String>
-;  V21 loc19        [V21,T65] (  5, 160   )     ref  ->  [fp+0x248]  class-hnd exact spill-single-def <Microsoft.CodeAnalysis.SourceLocation>
-;  V22 loc20        [V22,T42] (  7, 224   )     ref  ->  [fp+0x240]  class-hnd spill-single-def <System.String>
+;  V19 loc17        [V19,T06] ( 11, 552   )     ref  ->  [fp+0x268]  class-hnd exact spill-single-def <Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterSyntax>
+;  V20 loc18        [V20,T01] ( 19,1120   )     ref  ->  [fp+0x260]  class-hnd <System.String>
+;  V21 loc19        [V21,T64] (  5, 160   )     ref  ->  [fp+0x258]  class-hnd exact spill-single-def <Microsoft.CodeAnalysis.SourceLocation>
+;  V22 loc20        [V22,T41] (  7, 224   )     ref  ->  [fp+0x250]  class-hnd spill-single-def <System.String>
 ;  V23 loc21        [V23,T09] ( 18, 480   )  struct (24) [fp+0x390]  do-not-enreg[HS] must-init hidden-struct-arg ld-addr-op <Microsoft.CodeAnalysis.SyntaxToken>
 ;* V24 loc22        [V24    ] (  0,   0   )     ref  ->  zero-ref    class-hnd <System.String>
 ;  V25 loc23        [V25,T111] (  6,  44.80)     int  ->  [fp+0x38C] 
-;  V26 loc24        [V26,T70] (  4, 128   )     ref  ->  [fp+0x238]  class-hnd spill-single-def <Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol>
+;  V26 loc24        [V26,T69] (  4, 128   )     ref  ->  [fp+0x248]  class-hnd spill-single-def <Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterSymbol>
 ;* V27 loc25        [V27    ] (  0,   0   )  struct (16) zero-ref    multireg-ret ld-addr-op <Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.SourceLocation]>
 ;# V28 OutArgs      [V28    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V29 tmp1         [V29    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol+<>c__DisplayClass10_0>
 ;  V30 tmp2         [V30,T177] (  3,   3   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V31 tmp3         [V31,T114] (  4,  32   )     ref  ->  x28         class-hnd "dup spill" <Microsoft.CodeAnalysis.SyntaxReference>
-;  V32 tmp4         [V32,T133] (  3,  16   )     ref  ->  [fp+0x230]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
+;  V32 tmp4         [V32,T133] (  3,  16   )     ref  ->  [fp+0x240]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
 ;  V33 tmp5         [V33,T113] (  5,  40   )  struct (24) [fp+0x370]  do-not-enreg[HS] must-init hidden-struct-arg "spilled call-like call argument" <Microsoft.CodeAnalysis.SyntaxToken>
 ;  V34 tmp6         [V34,T158] (  3,   8   )     int  ->   x0        
-;  V35 tmp7         [V35,T119] (  3,  24   )     ref  ->  [fp+0x228]  class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
+;  V35 tmp7         [V35,T119] (  3,  24   )     ref  ->  [fp+0x238]  class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
 ;  V36 tmp8         [V36    ] (  2, 512   )  struct (24) [fp+0x358]  do-not-enreg[XHS] must-init addr-exposed hidden-struct-arg "spilled call-like call argument" <Microsoft.CodeAnalysis.SyntaxToken>
-;  V37 tmp9         [V37,T20] (  5, 320   )     ref  ->  [fp+0x220]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.SourceLocation>
+;  V37 tmp9         [V37,T19] (  5, 320   )     ref  ->  [fp+0x230]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.SourceLocation>
 ;* V38 tmp10        [V38    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
-;  V39 tmp11        [V39,T12] (  6, 384   )     ref  ->  [fp+0x218]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterBuilder>
-;  V40 tmp12        [V40,T46] (  3, 192   )     ref  ->  [fp+0x210]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
-;  V41 tmp13        [V41,T47] (  3, 192   )     ref  ->  [fp+0x208]  class-hnd exact spill-single-def "dup spill" <System.Object[]>
+;  V39 tmp11        [V39,T12] (  6, 384   )     ref  ->  [fp+0x228]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterBuilder>
+;  V40 tmp12        [V40,T45] (  3, 192   )     ref  ->  [fp+0x220]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
+;  V41 tmp13        [V41,T46] (  3, 192   )     ref  ->  [fp+0x218]  class-hnd exact spill-single-def "dup spill" <System.Object[]>
 ;* V42 tmp14        [V42    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <Microsoft.CodeAnalysis.SourceLocation>
-;  V43 tmp15        [V43,T48] (  3, 192   )     ref  ->  [fp+0x200]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
-;  V44 tmp16        [V44,T49] (  3, 192   )     ref  ->  [fp+0x1F8]  class-hnd exact spill-single-def "dup spill" <System.Object[]>
+;  V43 tmp15        [V43,T47] (  3, 192   )     ref  ->  [fp+0x210]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
+;  V44 tmp16        [V44,T48] (  3, 192   )     ref  ->  [fp+0x208]  class-hnd exact spill-single-def "dup spill" <System.Object[]>
 ;* V45 tmp17        [V45    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <Microsoft.CodeAnalysis.SourceLocation>
 ;* V46 tmp18        [V46    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "dup spill" <System.String>
 ;* V47 tmp19        [V47    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "dup spill" <System.String>
-;  V48 tmp20        [V48,T50] (  3, 192   )     ref  ->  [fp+0x1F0]  class-hnd exact spill-single-def "dup spill" <System.Object[]>
-;  V49 tmp21        [V49,T51] (  3, 192   )     ref  ->  [fp+0x1E8]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
-;  V50 tmp22        [V50,T27] (  4, 256   )     ref  ->  [fp+0x1E0]  class-hnd exact spill-single-def "dup spill" <System.Object[]>
-;  V51 tmp23        [V51,T52] (  3, 192   )     ref  ->  [fp+0x1D8]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
-;  V52 tmp24        [V52,T75] (  2, 128   )     ref  ->  x15         class-hnd "Strict ordering of exceptions for Array store" <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
-;  V53 tmp25        [V53,T36] (  3, 256   )     ref  ->  [fp+0x1D0]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
+;  V48 tmp20        [V48,T49] (  3, 192   )     ref  ->  [fp+0x200]  class-hnd exact spill-single-def "dup spill" <System.Object[]>
+;  V49 tmp21        [V49,T50] (  3, 192   )     ref  ->  [fp+0x1F8]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
+;  V50 tmp22        [V50,T26] (  4, 256   )     ref  ->  [fp+0x1F0]  class-hnd exact spill-single-def "dup spill" <System.Object[]>
+;  V51 tmp23        [V51,T51] (  3, 192   )     ref  ->  [fp+0x1E8]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
+;  V52 tmp24        [V52,T74] (  2, 128   )     ref  ->  x15         class-hnd "Strict ordering of exceptions for Array store" <Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>
+;  V53 tmp25        [V53,T35] (  3, 256   )     ref  ->  [fp+0x1E0]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
 ;  V54 tmp26        [V54,T04] (  5, 640   )  struct (24) [fp+0x340]  do-not-enreg[HS] must-init hidden-struct-arg "spilled call-like call argument" <Microsoft.CodeAnalysis.SyntaxToken>
-;  V55 tmp27        [V55,T106] (  3,  48   )     ref  ->  [fp+0x1C8]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
+;  V55 tmp27        [V55,T106] (  3,  48   )     ref  ->  [fp+0x1D8]  class-hnd exact spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
 ;  V56 tmp28        [V56,T186] (  3,   0   )     ref  ->  x19         class-hnd exact "Single-def Box Helper" <<unknown class>>
 ;  V57 tmp29        [V57,T172] (  4,   4   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V58 tmp30        [V58,T173] (  4,   4   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <<unknown class>>
 ;* V59 tmp31        [V59    ] (  0,   0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxReference]>
 ;* V60 tmp32        [V60    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Immutable.ImmutableArray`1+Enumerator[Microsoft.CodeAnalysis.SyntaxReference]>
 ;* V61 tmp33        [V61    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon[]>
-;  V62 tmp34        [V62,T127] (  5,  20   )     ref  ->  [fp+0x1C0]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.DelegateDeclarationSyntax>
+;  V62 tmp34        [V62,T127] (  5,  20   )     ref  ->  [fp+0x1D0]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.DelegateDeclarationSyntax>
 ;* V63 tmp35        [V63    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterListSyntax>
-;  V64 tmp36        [V64,T132] (  4,  16   )   byref  ->  [fp+0x1B8]  spill-single-def "Inlining Arg"
-;  V65 tmp37        [V65,T154] (  4,   8   )     ref  ->  [fp+0x1B0]  class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterListSyntax>
-;  V66 tmp38        [V66,T155] (  4,   8   )     ref  ->  [fp+0x1A8]  class-hnd spill-single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
+;  V64 tmp36        [V64,T132] (  4,  16   )   byref  ->  [fp+0x1C8]  spill-single-def "Inlining Arg"
+;  V65 tmp37        [V65,T154] (  4,   8   )     ref  ->  [fp+0x1C0]  class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterListSyntax>
+;  V66 tmp38        [V66,T155] (  4,   8   )     ref  ->  [fp+0x1B8]  class-hnd spill-single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
 ;* V67 tmp39        [V67    ] (  0,   0   )     ref  ->  zero-ref    ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterListSyntax>
 ;  V68 tmp40        [V68,T160] (  2,   8   )     ref  ->   x1         class-hnd exact "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterListSyntax>
 ;* V69 tmp41        [V69    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterListSyntax>
 ;* V70 tmp42        [V70    ] (  0,   0   )  struct (24) zero-ref    ld-addr-op "Inlining Arg" <Microsoft.CodeAnalysis.SyntaxToken>
 ;  V71 tmp43        [V71,T135] (  2,  16   )     ref  ->   x2         class-hnd "dup spill" <System.Func`2[System.ValueTuple`2[Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.Location],Microsoft.CodeAnalysis.Location]>
-;  V72 tmp44        [V72,T134] (  3,  16   )     ref  ->  [fp+0x1A0]  class-hnd spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.ParseOptions>
+;  V72 tmp44        [V72,T134] (  3,  16   )     ref  ->  [fp+0x1B0]  class-hnd spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.ParseOptions>
 ;* V73 tmp45        [V73    ] (  0,   0   )     int  ->  zero-ref   
 ;* V74 tmp46        [V74    ] (  0,   0   )     ref  ->  zero-ref   
 ;* V75 tmp47        [V75    ] (  0,   0   )     ref  ->  zero-ref   
-;  V76 tmp48        [V76,T138] (  5,  14   )     ref  ->  [fp+0x198] 
+;  V76 tmp48        [V76,T138] (  5,  14   )     ref  ->  [fp+0x1A8] 
 ;* V77 tmp49        [V77    ] (  0,   0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.Location]>
 ;  V78 tmp50        [V78,T128] (  5,  20   )     ref  ->   x2         class-hnd exact "NewObj constructor temp" <System.Func`2[System.ValueTuple`2[Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.Location],Microsoft.CodeAnalysis.Location]>
 ;  V79 tmp51        [V79,T141] (  4,  12   )     ref  ->   x0         class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxTree>
@@ -95,21 +95,21 @@
 ;* V84 tmp56        [V84    ] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V85 tmp57        [V85    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
 ;  V86 tmp58        [V86    ] (  6,  44   )  struct (32) [fp+0x320]  do-not-enreg[XS] must-init addr-exposed "Inlining Arg" <System.ValueTuple`2[Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.Location]>
-;  V87 tmp59        [V87,T150] (  4,  10   )     ref  ->  [fp+0x190]  class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
-;  V88 tmp60        [V88,T129] (  3,  20   )     ref  ->  [fp+0x188]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.CSharpParseOptions>
-;  V89 tmp61        [V89,T143] (  3,  12   )     ref  ->  [fp+0x180]  class-hnd spill-single-def "dup spill" <Microsoft.CodeAnalysis.DiagnosticBag>
+;  V87 tmp59        [V87,T150] (  4,  10   )     ref  ->  [fp+0x1A0]  class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
+;  V88 tmp60        [V88,T129] (  3,  20   )     ref  ->  [fp+0x198]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.CSharpParseOptions>
+;  V89 tmp61        [V89,T143] (  3,  12   )     ref  ->  [fp+0x190]  class-hnd spill-single-def "dup spill" <Microsoft.CodeAnalysis.DiagnosticBag>
 ;* V90 tmp62        [V90    ] (  0,   0   )     ref  ->  zero-ref   
-;  V91 tmp63        [V91,T162] (  2,   8   )     ref  ->  [fp+0x178]  class-hnd spill-single-def "Inlining Arg" <System.__Canon>
-;  V92 tmp64        [V92,T118] (  6,  24   )     ref  ->  [fp+0x170]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnostic>
+;  V91 tmp63        [V91,T162] (  2,   8   )     ref  ->  [fp+0x188]  class-hnd spill-single-def "Inlining Arg" <System.__Canon>
+;  V92 tmp64        [V92,T118] (  6,  24   )     ref  ->  [fp+0x180]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnostic>
 ;* V93 tmp65        [V93    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnostic>
-;  V94 tmp66        [V94,T144] (  3,  12   )     ref  ->  [fp+0x168]  class-hnd spill-single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueue`1[Microsoft.CodeAnalysis.Diagnostic]>
+;  V94 tmp66        [V94,T144] (  3,  12   )     ref  ->  [fp+0x178]  class-hnd spill-single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueue`1[Microsoft.CodeAnalysis.Diagnostic]>
 ;  V95 tmp67        [V95,T151] (  3,  10   )     ref  ->   x2         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V96 tmp68        [V96,T142] (  4,  12   )     int  ->   x0         "Inline stloc first use temp"
 ;  V97 tmp69        [V97,T137] (  2,  16   )  struct (32) [fp+0x300]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.SeparatedSyntaxList`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterSyntax]>
-;  V98 tmp70        [V98,T120] (  3,  24   )     ref  ->  [fp+0x160]  class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.Location>
+;  V98 tmp70        [V98,T120] (  3,  24   )     ref  ->  [fp+0x170]  class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.Location>
 ;* V99 tmp71        [V99    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.SyntaxTree>
 ;* V100 tmp72       [V100    ] (  0,   0   )  struct ( 8) zero-ref    "spilled call-like call argument" <Microsoft.CodeAnalysis.Text.TextSpan>
-;  V101 tmp73       [V101,T112] (  5,  40   )     ref  ->  [fp+0x158]  class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxTree>
+;  V101 tmp73       [V101,T112] (  5,  40   )     ref  ->  [fp+0x168]  class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxTree>
 ;  V102 tmp74       [V102,T103] (  4,  64   )     ref  ->   x0         class-hnd "dup spill" <Microsoft.CodeAnalysis.SyntaxNode>
 ;* V103 tmp75       [V103    ] (  0,   0   )     ref  ->  zero-ref   
 ;* V104 tmp76       [V104    ] (  0,   0   )  struct ( 8) zero-ref    "Inline return value spill temp" <Microsoft.CodeAnalysis.Text.TextSpan>
@@ -118,108 +118,108 @@
 ;  V107 tmp79       [V107    ] (  4,  64   )  struct ( 8) [fp+0x2F0]  do-not-enreg[XS] addr-exposed ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.Text.TextSpan>
 ;* V108 tmp80       [V108    ] (  0,   0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.Text.TextSpan>
 ;* V109 tmp81       [V109    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
-;  V110 tmp82       [V110,T107] (  3,  48   )     ref  ->  [fp+0x150]  class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
+;  V110 tmp82       [V110,T107] (  3,  48   )     ref  ->  [fp+0x160]  class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
 ;* V111 tmp83       [V111    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
-;  V112 tmp84       [V112,T108] (  3,  48   )     ref  ->  [fp+0x148]  class-hnd "dup spill" <Microsoft.CodeAnalysis.DiagnosticBag>
+;  V112 tmp84       [V112,T108] (  3,  48   )     ref  ->  [fp+0x158]  class-hnd "dup spill" <Microsoft.CodeAnalysis.DiagnosticBag>
 ;* V113 tmp85       [V113    ] (  0,   0   )     ref  ->  zero-ref   
-;  V114 tmp86       [V114,T89] (  6,  96   )     ref  ->  [fp+0x140]  class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnostic>
+;  V114 tmp86       [V114,T89] (  6,  96   )     ref  ->  [fp+0x150]  class-hnd exact "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnostic>
 ;* V115 tmp87       [V115    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnostic>
-;  V116 tmp88       [V116,T109] (  3,  48   )     ref  ->  [fp+0x138]  class-hnd "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueue`1[Microsoft.CodeAnalysis.Diagnostic]>
+;  V116 tmp88       [V116,T109] (  3,  48   )     ref  ->  [fp+0x148]  class-hnd "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueue`1[Microsoft.CodeAnalysis.Diagnostic]>
 ;* V117 tmp89       [V117    ] (  0,   0   )  struct (24) zero-ref    ld-addr-op "Inlining Arg" <Microsoft.CodeAnalysis.SyntaxToken>
-;  V118 tmp90       [V118,T39] (  2, 256   )     ref  ->   x2         class-hnd "dup spill" <System.Func`2[System.ValueTuple`2[Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.Location],Microsoft.CodeAnalysis.Location]>
-;  V119 tmp91       [V119,T37] (  3, 256   )     ref  ->  [fp+0x130]  class-hnd spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.ParseOptions>
+;  V118 tmp90       [V118,T38] (  2, 256   )     ref  ->   x2         class-hnd "dup spill" <System.Func`2[System.ValueTuple`2[Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.Location],Microsoft.CodeAnalysis.Location]>
+;  V119 tmp91       [V119,T36] (  3, 256   )     ref  ->  [fp+0x140]  class-hnd spill-single-def "impAppendStmt" <Microsoft.CodeAnalysis.ParseOptions>
 ;* V120 tmp92       [V120    ] (  0,   0   )     int  ->  zero-ref   
 ;* V121 tmp93       [V121    ] (  0,   0   )     ref  ->  zero-ref   
 ;* V122 tmp94       [V122    ] (  0,   0   )     ref  ->  zero-ref   
-;  V123 tmp95       [V123,T43] (  5, 224   )     ref  ->  [fp+0x128] 
+;  V123 tmp95       [V123,T42] (  5, 224   )     ref  ->  [fp+0x138] 
 ;* V124 tmp96       [V124    ] (  0,   0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.Location]>
-;  V125 tmp97       [V125,T21] (  5, 320   )     ref  ->   x2         class-hnd exact "NewObj constructor temp" <System.Func`2[System.ValueTuple`2[Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.Location],Microsoft.CodeAnalysis.Location]>
-;  V126 tmp98       [V126,T45] (  4, 192   )     ref  ->   x0         class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxTree>
+;  V125 tmp97       [V125,T20] (  5, 320   )     ref  ->   x2         class-hnd exact "NewObj constructor temp" <System.Func`2[System.ValueTuple`2[Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.Location],Microsoft.CodeAnalysis.Location]>
+;  V126 tmp98       [V126,T44] (  4, 192   )     ref  ->   x0         class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxTree>
 ;* V127 tmp99       [V127    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "dup spill" <Microsoft.CodeAnalysis.SyntaxNode>
 ;* V128 tmp100      [V128    ] (  0,   0   )     ref  ->  zero-ref   
-;  V129 tmp101      [V129,T76] (  2, 128   )     ref  ->  x15         class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.MessageIDExtensions+<>c>
+;  V129 tmp101      [V129,T75] (  2, 128   )     ref  ->  x15         class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.MessageIDExtensions+<>c>
 ;* V130 tmp102      [V130    ] (  0,   0   )  struct (24) zero-ref    do-not-enreg[S] "Inlining Arg" <Microsoft.CodeAnalysis.SyntaxToken>
 ;* V131 tmp103      [V131    ] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V132 tmp104      [V132    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
 ;  V133 tmp105      [V133    ] (  6, 704   )  struct (32) [fp+0x2D0]  do-not-enreg[XS] must-init addr-exposed "Inlining Arg" <System.ValueTuple`2[Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.Location]>
-;  V134 tmp106      [V134,T68] (  4, 160   )     ref  ->  [fp+0x120]  class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
-;  V135 tmp107      [V135,T22] (  3, 320   )     ref  ->  [fp+0x118]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.CSharpParseOptions>
-;  V136 tmp108      [V136,T53] (  3, 192   )     ref  ->  [fp+0x110]  class-hnd spill-single-def "dup spill" <Microsoft.CodeAnalysis.DiagnosticBag>
+;  V134 tmp106      [V134,T67] (  4, 160   )     ref  ->  [fp+0x130]  class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
+;  V135 tmp107      [V135,T21] (  3, 320   )     ref  ->  [fp+0x128]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.CSharpParseOptions>
+;  V136 tmp108      [V136,T52] (  3, 192   )     ref  ->  [fp+0x120]  class-hnd spill-single-def "dup spill" <Microsoft.CodeAnalysis.DiagnosticBag>
 ;* V137 tmp109      [V137    ] (  0,   0   )     ref  ->  zero-ref   
-;  V138 tmp110      [V138,T77] (  2, 128   )     ref  ->  [fp+0x108]  class-hnd spill-single-def "Inlining Arg" <System.__Canon>
-;  V139 tmp111      [V139,T10] (  6, 448   )     ref  ->  [fp+0x100]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnostic>
+;  V138 tmp110      [V138,T76] (  2, 128   )     ref  ->  [fp+0x118]  class-hnd spill-single-def "Inlining Arg" <System.__Canon>
+;  V139 tmp111      [V139,T10] (  6, 448   )     ref  ->  [fp+0x110]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnostic>
 ;* V140 tmp112      [V140    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnostic>
-;  V141 tmp113      [V141,T38] (  3, 256   )     ref  ->  [fp+0xF8]  class-hnd spill-single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueue`1[Microsoft.CodeAnalysis.Diagnostic]>
-;  V142 tmp114      [V142,T54] (  3, 192   )     ref  ->  [fp+0xF0]  class-hnd "impAppendStmt" <Microsoft.CodeAnalysis.SyntaxTree>
+;  V141 tmp113      [V141,T37] (  3, 256   )     ref  ->  [fp+0x108]  class-hnd spill-single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueue`1[Microsoft.CodeAnalysis.Diagnostic]>
+;  V142 tmp114      [V142,T53] (  3, 192   )     ref  ->  [fp+0x100]  class-hnd "impAppendStmt" <Microsoft.CodeAnalysis.SyntaxTree>
 ;* V143 tmp115      [V143    ] (  0,   0   )  struct ( 8) zero-ref    "spilled call-like call argument" <Microsoft.CodeAnalysis.Text.TextSpan>
-;  V144 tmp116      [V144,T28] (  4, 256   )     ref  ->   x0         class-hnd "dup spill" <Microsoft.CodeAnalysis.SyntaxNode>
+;  V144 tmp116      [V144,T27] (  4, 256   )     ref  ->   x0         class-hnd "dup spill" <Microsoft.CodeAnalysis.SyntaxNode>
 ;* V145 tmp117      [V145    ] (  0,   0   )     ref  ->  zero-ref   
 ;* V146 tmp118      [V146    ] (  0,   0   )  struct ( 8) zero-ref    "Inline return value spill temp" <Microsoft.CodeAnalysis.Text.TextSpan>
 ;* V147 tmp119      [V147    ] (  0,   0   )     int  ->  zero-ref    "impAppendStmt"
-;  V148 tmp120      [V148,T84] (  2, 128   )     int  ->  [fp+0x2CC]  spill-single-def "impAppendStmt"
+;  V148 tmp120      [V148,T83] (  2, 128   )     int  ->  [fp+0x2CC]  spill-single-def "impAppendStmt"
 ;  V149 tmp121      [V149    ] (  4, 256   )  struct ( 8) [fp+0x2C0]  do-not-enreg[XS] addr-exposed ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.Text.TextSpan>
 ;* V150 tmp122      [V150    ] (  0,   0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.Text.TextSpan>
-;  V151 tmp123      [V151,T90] (  3,  96   )     ref  ->  [fp+0xE8]  class-hnd "Inline return value spill temp" <System.String>
-;  V152 tmp124      [V152,T29] (  4, 256   )     ref  ->   x0         class-hnd "dup spill" <Microsoft.CodeAnalysis.GreenNode>
+;  V151 tmp123      [V151,T90] (  3,  96   )     ref  ->  [fp+0xF8]  class-hnd "Inline return value spill temp" <System.String>
+;  V152 tmp124      [V152,T28] (  4, 256   )     ref  ->   x0         class-hnd "dup spill" <Microsoft.CodeAnalysis.GreenNode>
 ;* V153 tmp125      [V153    ] (  0,   0   )     ref  ->  zero-ref   
 ;  V154 tmp126      [V154,T91] (  3,  96   )     ref  ->   x0        
-;  V155 tmp127      [V155,T66] (  5, 160   )     ref  ->   x3        
-;  V156 tmp128      [V156,T30] (  4, 256   )     ref  ->   x0         class-hnd "dup spill" <Microsoft.CodeAnalysis.GreenNode>
+;  V155 tmp127      [V155,T65] (  5, 160   )     ref  ->   x3        
+;  V156 tmp128      [V156,T29] (  4, 256   )     ref  ->   x0         class-hnd "dup spill" <Microsoft.CodeAnalysis.GreenNode>
 ;* V157 tmp129      [V157    ] (  0,   0   )     ref  ->  zero-ref   
 ;  V158 tmp130      [V158,T92] (  3,  96   )     ref  ->  x15        
-;  V159 tmp131      [V159,T71] (  4, 128   )     ref  ->  x15        
-;  V160 tmp132      [V160,T00] ( 12,2048   )     ref  ->  [fp+0xE0]  class-hnd exact "Inlining Arg" <System.String>
-;  V161 tmp133      [V161,T35] (  4, 256   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V159 tmp131      [V159,T70] (  4, 128   )     ref  ->  x15        
+;  V160 tmp132      [V160,T00] ( 12,2048   )     ref  ->  [fp+0xF0]  class-hnd exact "Inlining Arg" <System.String>
+;  V161 tmp133      [V161,T34] (  4, 256   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V162 tmp134      [V162,T08] (  4, 512   )   byref  ->   x0         "impAppendStmt"
 ;* V163 tmp135      [V163    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
-;  V164 tmp136      [V164,T55] (  3, 192   )     ref  ->  [fp+0xD8]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
+;  V164 tmp136      [V164,T54] (  3, 192   )     ref  ->  [fp+0xE8]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
 ;* V165 tmp137      [V165    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
-;  V166 tmp138      [V166,T56] (  3, 192   )     ref  ->  [fp+0xD0]  class-hnd spill-single-def "dup spill" <Microsoft.CodeAnalysis.DiagnosticBag>
+;  V166 tmp138      [V166,T55] (  3, 192   )     ref  ->  [fp+0xE0]  class-hnd spill-single-def "dup spill" <Microsoft.CodeAnalysis.DiagnosticBag>
 ;* V167 tmp139      [V167    ] (  0,   0   )     ref  ->  zero-ref   
-;  V168 tmp140      [V168,T13] (  6, 384   )     ref  ->  [fp+0xC8]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnostic>
+;  V168 tmp140      [V168,T13] (  6, 384   )     ref  ->  [fp+0xD8]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnostic>
 ;* V169 tmp141      [V169    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnostic>
-;  V170 tmp142      [V170,T57] (  3, 192   )     ref  ->  [fp+0xC0]  class-hnd spill-single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueue`1[Microsoft.CodeAnalysis.Diagnostic]>
+;  V170 tmp142      [V170,T56] (  3, 192   )     ref  ->  [fp+0xD0]  class-hnd spill-single-def "Inlining Arg" <System.Collections.Concurrent.ConcurrentQueue`1[Microsoft.CodeAnalysis.Diagnostic]>
 ;* V171 tmp143      [V171    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
-;  V172 tmp144      [V172,T58] (  3, 192   )     ref  ->  [fp+0xB8]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
+;  V172 tmp144      [V172,T57] (  3, 192   )     ref  ->  [fp+0xC8]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
 ;* V173 tmp145      [V173    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo>
-;  V174 tmp146      [V174,T59] (  3, 192   )     ref  ->  [fp+0xB0]  class-hnd spill-single-def "dup spill" <Microsoft.CodeAnalysis.DiagnosticBag>
+;  V174 tmp146      [V174,T58] (  3, 192   )     ref  ->  [fp+0xC0]  class-hnd spill-single-def "dup spill" <Microsoft.CodeAnalysis.DiagnosticBag>
 ;* V175 tmp147      [V175    ] (  0,   0   )     ref  ->  zero-ref   
-;  V176 tmp148      [V176,T14] (  6, 384   )     ref  ->  [fp+0xA8]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.CSharp.CSDiagnostic>
...
+4 (+0.37%) : 6350.dasm - Microsoft.ML.Transforms.Text.WordEmbeddingEstimator:GetOutputSchema(Microsoft.ML.SchemaShape):Microsoft.ML.SchemaShape:this (FullOpts)
@@ -11,33 +11,33 @@
 ;  V00 this         [V00,T11] (  6,  4   )     ref  ->  x20         this class-hnd single-def <Microsoft.ML.Transforms.Text.WordEmbeddingEstimator>
 ;  V01 arg1         [V01,T09] (  5,  8   )     ref  ->  x19         class-hnd single-def <Microsoft.ML.SchemaShape>
 ;  V02 loc0         [V02,T08] (  6, 11   )     ref  ->  x21         class-hnd single-def <<unknown class>>
-;  V03 loc1         [V03,T21] (  3,  2.25)     ref  ->   x1         class-hnd exact single-def <Microsoft.ML.Transforms.Text.WordEmbeddingEstimator+ColumnOptions[]>
-;* V04 loc2         [V04,T25] (  0,  0   )     int  ->  zero-ref   
-;  V05 loc3         [V05,T06] (  5, 12   )     ref  ->  x25         class-hnd exact <Microsoft.ML.Transforms.Text.WordEmbeddingEstimator+ColumnOptions>
-;  V06 loc4         [V06    ] (  4, 12   )  struct (32) [fp+0x50]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <Microsoft.ML.SchemaShape+Column>
+;  V03 loc1         [V03,T20] (  3,  2.25)     ref  ->   x1         class-hnd exact single-def <Microsoft.ML.Transforms.Text.WordEmbeddingEstimator+ColumnOptions[]>
+;* V04 loc2         [V04,T24] (  0,  0   )     int  ->  zero-ref   
+;  V05 loc3         [V05,T06] (  5, 12   )     ref  ->  x24         class-hnd exact <Microsoft.ML.Transforms.Text.WordEmbeddingEstimator+ColumnOptions>
+;  V06 loc4         [V06    ] (  4, 12   )  struct (32) [fp+0x58]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <Microsoft.ML.SchemaShape+Column>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T16] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[Microsoft.ML.SchemaShape+Column,System.String]>
+;  V08 tmp1         [V08,T15] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[Microsoft.ML.SchemaShape+Column,System.String]>
 ;* V09 tmp2         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V10 tmp3         [V10,T18] (  4,  3.50)     ref  ->   x2        
+;  V10 tmp3         [V10,T17] (  4,  3.50)     ref  ->   x2        
 ;  V11 tmp4         [V11,T00] (  3, 20   )     ref  ->   x0         "ISINST eval op1"
 ;* V12 tmp5         [V12    ] (  0,  0   )     int  ->  zero-ref    "spilling qmarkNull"
 ;  V13 tmp6         [V13,T27] (  2,  0   )     ref  ->  x20         class-hnd "non-inline candidate call" <Microsoft.ML.Runtime.IHost>
-;  V14 tmp7         [V14,T28] (  2,  0   )     ref  ->  x25         class-hnd exact "non-inline candidate call" <System.String>
+;  V14 tmp7         [V14,T28] (  2,  0   )     ref  ->  x24         class-hnd exact "non-inline candidate call" <System.String>
 ;  V15 tmp8         [V15,T26] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V16 tmp9         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "non-inline candidate call" <System.String>
-;  V17 tmp10        [V17,T01] (  2, 16   )     ref  ->  x26         class-hnd exact "impAppendStmt" <System.String>
-;  V18 tmp11        [V18,T02] (  2, 16   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.String>
-;  V19 tmp12        [V19    ] (  3, 24   )  struct (32) [fp+0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <Microsoft.ML.SchemaShape+Column>
+;  V17 tmp10        [V17,T01] (  2, 16   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.String>
+;  V18 tmp11        [V18,T02] (  2, 16   )     ref  ->  x24         class-hnd exact "impAppendStmt" <System.String>
+;  V19 tmp12        [V19    ] (  3, 24   )  struct (32) [fp+0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <Microsoft.ML.SchemaShape+Column>
 ;  V20 tmp13        [V20,T12] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <Microsoft.ML.SchemaShape>
 ;  V21 tmp14        [V21,T13] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[Microsoft.ML.SchemaShape+Column,System.String]>
-;  V22 tmp15        [V22,T23] (  2,  2   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <Microsoft.ML.Runtime.IHost>
-;  V23 tmp16        [V23,T20] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <Microsoft.ML.Transforms.Text.WordEmbeddingEstimator+<>c>
-;  V24 tmp17        [V24    ] (  2, 16   )  struct (32) [fp+0x10]  do-not-enreg[XS] must-init addr-exposed "Inlining Arg" <Microsoft.ML.SchemaShape+Column>
+;  V22 tmp15        [V22,T22] (  2,  2   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <Microsoft.ML.Runtime.IHost>
+;  V23 tmp16        [V23,T19] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <Microsoft.ML.Transforms.Text.WordEmbeddingEstimator+<>c>
+;  V24 tmp17        [V24    ] (  2, 16   )  struct (32) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed "Inlining Arg" <Microsoft.ML.SchemaShape+Column>
 ;* V25 tmp18        [V25    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V26 tmp19        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline return value spill temp" <<unknown class>>
-;  V27 tmp20        [V27,T17] (  2,  4   )     ref  ->  x19         class-hnd exact single-def "dup spill" <System.Collections.Generic.Dictionary`2+ValueCollection[System.__Canon,Microsoft.ML.SchemaShape+Column]>
-;  V28 tmp21        [V28,T19] (  4,  3.50)     ref  ->  x19        
-;  V29 tmp22        [V29,T15] (  4,  4   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V27 tmp20        [V27,T16] (  2,  4   )     ref  ->  x19         class-hnd exact single-def "dup spill" <System.Collections.Generic.Dictionary`2+ValueCollection[System.__Canon,Microsoft.ML.SchemaShape+Column]>
+;  V28 tmp21        [V28,T18] (  4,  3.50)     ref  ->  x19        
+;  V29 tmp22        [V29,T14] (  4,  4   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V30 tmp23        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
 ;  V31 tmp24        [V31,T03] (  2, 16   )     ref  ->   x3         "argument with side effect"
 ;  V32 tmp25        [V32,T29] (  2,  0   )     ref  ->   x1         "argument with side effect"
@@ -49,24 +49,24 @@
 ;  V38 tmp31        [V38,T35] (  2,  0   )     ref  ->   x2         "argument with side effect"
 ;  V39 tmp32        [V39,T36] (  2,  0   )     ref  ->  x19         "argument with side effect"
 ;  V40 tmp33        [V40,T37] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;* V41 cse0         [V41,T24] (  0,  0   )   byref  ->  zero-ref    "CSE #02: moderate"
-;  V42 cse1         [V42,T07] (  3, 12   )     ref  ->  x25         "CSE #06: aggressive"
-;  V43 cse2         [V43,T14] (  2,  4.25)   byref  ->  x23         hoist "CSE #04: moderate"
-;  V44 cse3         [V44,T22] (  3,  2.25)     int  ->  x22         "CSE #07: aggressive"
+;* V41 cse0         [V41,T23] (  0,  0   )   byref  ->  zero-ref    "CSE #02: moderate"
+;  V42 cse1         [V42,T07] (  3, 12   )     ref  ->  x24         "CSE #06: aggressive"
+;  V43 cse2         [V43,T25] (  2,  0.50)   byref  ->  x23         hoist "CSE #04: moderate"
+;  V44 cse3         [V44,T21] (  3,  2.25)     int  ->  x22         "CSE #07: aggressive"
 ;  V45 cse4         [V45,T10] (  3, 10   )     int  ->   x0         "CSE #05: aggressive"
-;  V46 rat0         [V46,T04] (  4, 12.25)    long  ->  x24         "Strength reduced derived IV"
+;  V46 rat0         [V46,T04] (  4, 12.25)   byref  ->  x23         "Strength reduced derived IV"
 ;  V47 rat1         [V47,T05] (  4, 12.25)     int  ->  x22         "Trip count IV"
 ;
-; Lcl frame size = 96
+; Lcl frame size = 104
 
 G_M47271_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0xB0]!
-            stp     x19, x20, [sp, #0x70]
-            stp     x21, x22, [sp, #0x80]
-            stp     x23, x24, [sp, #0x90]
-            stp     x25, x26, [sp, #0xA0]
+            stp     x19, x20, [sp, #0x78]
+            stp     x21, x22, [sp, #0x88]
+            stp     x23, x24, [sp, #0x98]
+            str     x25, [sp, #0xA8]
             mov     fp, sp
-            add     x9, fp, #16
+            add     x9, fp, #24
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
@@ -152,15 +152,14 @@ G_M47271_IG06:        ; bbWeight=0.25, gcrefRegs=380002 {x1 x19 x20 x21}, byrefR
             ; gcrRegs -[x0]
             add     x23, x1, #16
             ; byrRegs +[x23]
-            mov     x24, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M47271_IG07:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=800000 {x23}, byref, isz
             ; gcrRegs -[x1]
-            ldr     x25, [x23, x24]
-            ; gcrRegs +[x25]
-            ldr     x1, [x25, #0x10]
+            ldr     x24, [x23]
+            ; gcrRegs +[x24]
+            ldr     x1, [x24, #0x10]
             ; gcrRegs +[x1]
-            add     x2, fp, #80	// [V06 loc4]
+            add     x2, fp, #88	// [V06 loc4]
             mov     x0, x19
             ; gcrRegs +[x0]
             movz    x3, #0xD1FFAB1E      // code for Microsoft.ML.SchemaShape:TryFindColumn(System.String,byref):ubyte:this
@@ -170,11 +169,11 @@ G_M47271_IG07:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=80
             blr     x3
             ; gcrRegs -[x0-x1]
             cbz     w0, G_M47271_IG22
-            ldr     x0, [fp, #0x58]	// [V06 loc4+0x08]
+            ldr     x0, [fp, #0x60]	// [V06 loc4+0x08]
             ; gcrRegs +[x0]
             cbz     x0, G_M47271_IG21
 						;; size=48 bbWeight=4 PerfScore 66.00
-G_M47271_IG08:        ; bbWeight=2, gcrefRegs=2380001 {x0 x19 x20 x21 x25}, byrefRegs=800000 {x23}, byref, isz
+G_M47271_IG08:        ; bbWeight=2, gcrefRegs=1380001 {x0 x19 x20 x21 x24}, byrefRegs=800000 {x23}, byref, isz
             ldr     x0, [x0]
             ; gcrRegs -[x0]
             movz    x1, #0xD1FFAB1E
@@ -183,21 +182,21 @@ G_M47271_IG08:        ; bbWeight=2, gcrefRegs=2380001 {x0 x19 x20 x21 x25}, byre
             cmp     x0, x1
             bne     G_M47271_IG21
 						;; size=24 bbWeight=2 PerfScore 12.00
-G_M47271_IG09:        ; bbWeight=4, gcrefRegs=2380000 {x19 x20 x21 x25}, byrefRegs=800000 {x23}, byref, isz
-            ldr     w0, [fp, #0x68]	// [V06 loc4+0x18]
+G_M47271_IG09:        ; bbWeight=4, gcrefRegs=1380000 {x19 x20 x21 x24}, byrefRegs=800000 {x23}, byref, isz
+            ldr     w0, [fp, #0x70]	// [V06 loc4+0x18]
             cmp     w0, #2
             beq     G_M47271_IG11
 						;; size=12 bbWeight=4 PerfScore 14.00
-G_M47271_IG10:        ; bbWeight=2, gcrefRegs=2380000 {x19 x20 x21 x25}, byrefRegs=800000 {x23}, byref, isz
+G_M47271_IG10:        ; bbWeight=2, gcrefRegs=1380000 {x19 x20 x21 x24}, byrefRegs=800000 {x23}, byref, isz
             cmp     w0, #1
             bne     G_M47271_IG21
 						;; size=8 bbWeight=2 PerfScore 3.00
-G_M47271_IG11:        ; bbWeight=4, gcrefRegs=2380000 {x19 x20 x21 x25}, byrefRegs=800000 {x23}, byref
-            ldr     x25, [x25, #0x08]
-            mov     x26, x25
-            ; gcrRegs +[x26]
-            stp     xzr, xzr, [fp, #0x30]
-            stp     xzr, xzr, [fp, #0x40]
+G_M47271_IG11:        ; bbWeight=4, gcrefRegs=1380000 {x19 x20 x21 x24}, byrefRegs=800000 {x23}, byref
+            ldr     x24, [x24, #0x08]
+            mov     x25, x24
+            ; gcrRegs +[x25]
+            stp     xzr, xzr, [fp, #0x38]
+            stp     xzr, xzr, [fp, #0x48]
             movz    x0, #0xD1FFAB1E      // code for Microsoft.ML.Data.NumberDataViewType:get_Single():Microsoft.ML.Data.NumberDataViewType
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -206,9 +205,9 @@ G_M47271_IG11:        ; bbWeight=4, gcrefRegs=2380000 {x19 x20 x21 x25}, byrefRe
             ; gcrRegs +[x0]
             mov     x3, x0
             ; gcrRegs +[x3]
-            add     x0, fp, #48	// [V19 tmp12]
+            add     x0, fp, #56	// [V19 tmp12]
             ; gcrRegs -[x0]
-            mov     x1, x25
+            mov     x1, x24
             ; gcrRegs +[x1]
             mov     w2, #1
             mov     w4, wzr
@@ -218,18 +217,20 @@ G_M47271_IG11:        ; bbWeight=4, gcrefRegs=2380000 {x19 x20 x21 x25}, byrefRe
             movk    x6, #0xD1FFAB1E LSL #32
             ldr     x6, [x6]
             blr     x6
-            ; gcrRegs -[x1 x3 x25]
+            ; gcrRegs -[x1 x3 x24]
 						;; size=80 bbWeight=4 PerfScore 78.00
 G_M47271_IG12:        ; bbWeight=4, nogc, extend
-            ldp     q16, q17, [fp, #0x30]
-            stp     q16, q17, [fp, #0x10]
-						;; size=8 bbWeight=4 PerfScore 12.00
+            ldp     x0, x1, [fp, #0x38]
+            stp     x0, x1, [fp, #0x18]
+            ldp     x0, x1, [fp, #0x48]
+            stp     x0, x1, [fp, #0x28]
+						;; size=16 bbWeight=4 PerfScore 32.00
 G_M47271_IG13:        ; bbWeight=4, isz, extend
             ldrsb   wzr, [x21]
-            add     x2, fp, #16	// [V24 tmp17]
+            add     x2, fp, #24	// [V24 tmp17]
             mov     x0, x21
             ; gcrRegs +[x0]
-            mov     x1, x26
+            mov     x1, x25
             ; gcrRegs +[x1]
             mov     w3, #1
             movz    x4, #0xD1FFAB1E      // code for <unknown method>
@@ -237,7 +238,7 @@ G_M47271_IG13:        ; bbWeight=4, isz, extend
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
-            ; gcrRegs -[x0-x1 x26]
+            ; gcrRegs -[x0-x1 x25]
             cbnz    w0, G_M47271_IG15
 						;; size=44 bbWeight=4 PerfScore 46.00
 G_M47271_IG14:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=800000 {x23}, byref
@@ -254,7 +255,7 @@ G_M47271_IG14:        ; bbWeight=2, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=80
             blr     x2
 						;; size=44 bbWeight=2 PerfScore 17.00
 G_M47271_IG15:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=800000 {x23}, byref, isz
-            add     x24, x24, #8
+            add     x23, x23, #8
             sub     w22, w22, #1
             cbnz    w22, G_M47271_IG07
 						;; size=12 bbWeight=4 PerfScore 8.00
@@ -309,13 +310,13 @@ G_M47271_IG18:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs +[x0]
 						;; size=48 bbWeight=1 PerfScore 9.50
 G_M47271_IG19:        ; bbWeight=1, epilog, nogc, extend
-            ldp     x25, x26, [sp, #0xA0]
-            ldp     x23, x24, [sp, #0x90]
-            ldp     x21, x22, [sp, #0x80]
-            ldp     x19, x20, [sp, #0x70]
+            ldr     x25, [sp, #0xA8]
+            ldp     x23, x24, [sp, #0x98]
+            ldp     x21, x22, [sp, #0x88]
+            ldp     x19, x20, [sp, #0x78]
             ldp     fp, lr, [sp], #0xB0
             ret     lr
-						;; size=24 bbWeight=1 PerfScore 6.00
+						;; size=24 bbWeight=1 PerfScore 7.00
 G_M47271_IG20:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0] +[x19]
             movz    x0, #0xD1FFAB1E
@@ -324,10 +325,10 @@ G_M47271_IG20:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=180000
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M47271_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M47271_IG21:        ; bbWeight=0, gcrefRegs=2100000 {x20 x25}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19] +[x25]
+G_M47271_IG21:        ; bbWeight=0, gcrefRegs=1100000 {x20 x24}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x19] +[x24]
             ldr     x20, [x20, #0x08]
-            ldr     x25, [x25, #0x10]
+            ldr     x24, [x24, #0x10]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -378,7 +379,7 @@ G_M47271_IG21:        ; bbWeight=0, gcrefRegs=2100000 {x20 x25}, byrefRegs=0000
             ; gcrRegs -[x19]
             mov     x19, x0
             ; gcrRegs +[x19]
-            add     x0, fp, #80	// [V06 loc4]
+            add     x0, fp, #88	// [V06 loc4]
             ; gcrRegs -[x0]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
...
smoke_tests.nativeaot.windows.arm64.checked.mch
-16 (-14.29%) : 1729.dasm - System.Reflection.Runtime.TypeInfos.RuntimeConstructedGenericTypeInfo:get_ContainsGenericParameters():ubyte:this (FullOpts)
@@ -8,24 +8,23 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] (  3,  3   )     ref  ->   x0         this class-hnd exact single-def <System.Reflection.Runtime.TypeInfos.RuntimeConstructedGenericTypeInfo>
-;  V01 loc0         [V01,T05] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo[]>
-;* V02 loc1         [V02,T07] (  0,  0   )     int  ->  zero-ref   
+;  V01 loc0         [V01,T04] (  3,  2.25)     ref  ->   x0         class-hnd single-def <System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo[]>
+;* V02 loc1         [V02,T06] (  0,  0   )     int  ->  zero-ref   
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V05 tmp2         [V05,T00] (  3, 24   )     ref  ->   x0         "argument with side effect"
-;  V06 cse0         [V06,T04] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V07 cse1         [V07,T06] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
-;  V08 rat0         [V08,T01] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V06 cse0         [V06,T07] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V07 cse1         [V07,T05] (  3,  2.25)     int  ->  x19         "CSE #02: aggressive"
+;  V08 rat0         [V08,T01] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V09 rat1         [V09,T02] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M49581_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M49581_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x30]
@@ -36,18 +35,17 @@ G_M49581_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
 G_M49581_IG03:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #16
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M49581_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [x20, x21]
+            ldr     x0, [x20]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x68]
             blr     x1
             ; gcrRegs -[x0]
             cbnz    w0, G_M49581_IG07
-            add     x21, x21, #8
+            add     x20, x20, #8
             sub     w19, w19, #1
             cbnz    w19, G_M49581_IG04
 						;; size=32 bbWeight=4 PerfScore 52.00
@@ -56,22 +54,20 @@ G_M49581_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M49581_IG06:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M49581_IG07:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M49581_IG08:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 112, prolog size 16, PerfScore 68.75, instruction count 28, allocated bytes for code 112 (MethodHash=42d93e52) for method System.Reflection.Runtime.TypeInfos.RuntimeConstructedGenericTypeInfo:get_ContainsGenericParameters():ubyte:this (FullOpts)
+; Total bytes of code 96, prolog size 12, PerfScore 65.62, instruction count 24, allocated bytes for code 96 (MethodHash=42d93e52) for method System.Reflection.Runtime.TypeInfos.RuntimeConstructedGenericTypeInfo:get_ContainsGenericParameters():ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -82,7 +78,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 28 (0x0001c) Actual length = 112 (0x000070)
+  Function Length   : 24 (0x00018) Actual length = 96 (0x000060)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -93,9 +89,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-16 (-13.33%) : 3408.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (FullOpts)
@@ -19,19 +19,18 @@
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V09 tmp7         [V09    ] (  0,  0   )   byref  ->  zero-ref    "field V06._reference (fldOffset=0x0)" P-INDEP
 ;* V10 tmp8         [V10    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
-;  V11 cse0         [V11,T05] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V12 cse1         [V12,T06] (  3,  1.25)     int  ->  x19         "CSE #02: aggressive"
-;  V13 rat0         [V13,T01] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V11 cse0         [V11,T06] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V12 cse1         [V12,T05] (  3,  1.25)     int  ->  x19         "CSE #02: aggressive"
+;  V13 rat0         [V13,T01] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V14 rat1         [V14,T02] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M44603_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M44603_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             cbz     x0, G_M44603_IG09
@@ -44,11 +43,10 @@ G_M44603_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
 G_M44603_IG04:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #12
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M44603_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldrh    w0, [x20, x21]
+            ldrh    w0, [x20]
             cmp     w0, #0xD1FFAB1E
             blo     G_M44603_IG07
 						;; size=12 bbWeight=4 PerfScore 18.00
@@ -61,7 +59,7 @@ G_M44603_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, b
 						;; size=4 bbWeight=2 PerfScore 2.00
 G_M44603_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             cbz     w0, G_M44603_IG11
-            add     x21, x21, #2
+            add     x20, x20, #2
             sub     w19, w19, #1
             cbnz    w19, G_M44603_IG05
 						;; size=16 bbWeight=4 PerfScore 12.00
@@ -70,22 +68,20 @@ G_M44603_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M44603_IG10:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M44603_IG11:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M44603_IG12:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 120, prolog size 16, PerfScore 48.50, instruction count 30, allocated bytes for code 120 (MethodHash=3ff251c4) for method System.String:IsNullOrWhiteSpace(System.String):ubyte (FullOpts)
+; Total bytes of code 104, prolog size 12, PerfScore 45.38, instruction count 26, allocated bytes for code 104 (MethodHash=3ff251c4) for method System.String:IsNullOrWhiteSpace(System.String):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -96,7 +92,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
+  Function Length   : 26 (0x0001a) Actual length = 104 (0x000068)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -107,9 +103,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
-16 (-13.33%) : 9652.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (FullOpts)
@@ -18,19 +18,18 @@
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V09 tmp7         [V09    ] (  0,  0   )   byref  ->  zero-ref    "field V06._reference (fldOffset=0x0)" P-INDEP
 ;* V10 tmp8         [V10    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
-;  V11 cse0         [V11,T05] (  2,  4.25)   byref  ->  x20         hoist "CSE #01: aggressive"
-;  V12 cse1         [V12,T06] (  3,  1.25)     int  ->  x19         "CSE #02: aggressive"
-;  V13 rat0         [V13,T01] (  4, 12.25)    long  ->  x21         "Strength reduced derived IV"
+;  V11 cse0         [V11,T06] (  2,  0.50)   byref  ->  x20         hoist "CSE #01: aggressive"
+;  V12 cse1         [V12,T05] (  3,  1.25)     int  ->  x19         "CSE #02: aggressive"
+;  V13 rat0         [V13,T01] (  4, 12.25)   byref  ->  x20         "Strength reduced derived IV"
 ;  V14 rat1         [V14,T02] (  4, 12.25)     int  ->  x19         "Trip count IV"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M44603_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     fp, lr, [sp, #-0x20]!
+            stp     x19, x20, [sp, #0x10]
             mov     fp, sp
-						;; size=16 bbWeight=1 PerfScore 3.50
+						;; size=12 bbWeight=1 PerfScore 2.50
 G_M44603_IG02:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             cbz     x0, G_M44603_IG09
@@ -43,11 +42,10 @@ G_M44603_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
 G_M44603_IG04:        ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     x20, x0, #12
             ; byrRegs +[x20]
-            mov     x21, xzr
-						;; size=8 bbWeight=0.25 PerfScore 0.25
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M44603_IG05:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x0]
-            ldrh    w0, [x20, x21]
+            ldrh    w0, [x20]
             cmp     w0, #0xD1FFAB1E
             blo     G_M44603_IG07
 						;; size=12 bbWeight=4 PerfScore 18.00
@@ -60,7 +58,7 @@ G_M44603_IG07:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, b
 						;; size=4 bbWeight=2 PerfScore 2.00
 G_M44603_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
             cbz     w0, G_M44603_IG11
-            add     x21, x21, #2
+            add     x20, x20, #2
             sub     w19, w19, #1
             cbnz    w19, G_M44603_IG05
 						;; size=16 bbWeight=4 PerfScore 12.00
@@ -69,22 +67,20 @@ G_M44603_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M44603_IG10:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M44603_IG11:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M44603_IG12:        ; bbWeight=0.50, epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x30
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 120, prolog size 16, PerfScore 48.50, instruction count 30, allocated bytes for code 120 (MethodHash=3ff251c4) for method System.String:IsNullOrWhiteSpace(System.String):ubyte (FullOpts)
+; Total bytes of code 104, prolog size 12, PerfScore 45.38, instruction count 26, allocated bytes for code 104 (MethodHash=3ff251c4) for method System.String:IsNullOrWhiteSpace(System.String):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -95,7 +91,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
+  Function Length   : 26 (0x0001a) Actual length = 104 (0x000068)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -106,9 +102,10 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    C8 02       save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
+    E4          end
+    E4          end
     E4          end
     E4          end
 
+0 (0.00%) : 21760.dasm - System.Threading.LowLevelMonitor:VerifyIsLocked():this (FullOpts)

No diffs found?

+0 (0.00%) : 21792.dasm - System.Threading.WindowsThreadPool:InitializeForThreadPoolThread() (FullOpts)

No diffs found?

+0 (0.00%) : 23360.dasm - System.Threading.WaitHandle:WaitMultiple(System.ReadOnlySpan`1[System.Threading.WaitHandle],ubyte,int):int (FullOpts)

No diffs found?

Details

Size improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.windows.arm64.checked.mch 538 533 0 5 -4,580 +0
benchmarks.run_pgo.windows.arm64.checked.mch 2,508 2,490 13 5 -11,184 +52
benchmarks.run_tiered.windows.arm64.checked.mch 56 54 0 2 -376 +0
coreclr_tests.run.windows.arm64.checked.mch 5,419 5,386 7 26 -27,684 +28
libraries.crossgen2.windows.arm64.checked.mch 1,171 1,158 1 12 -10,360 +4
libraries.pmi.windows.arm64.checked.mch 1,274 1,266 0 8 -10,108 +0
libraries_tests.run.windows.arm64.Release.mch 2,821 2,779 34 8 -21,552 +136
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 1,999 1,948 8 43 -16,356 +140
realworld.run.windows.arm64.checked.mch 167 166 1 0 -1,440 +4
smoke_tests.nativeaot.windows.arm64.checked.mch 610 140 0 470 -1,244 +0
16,563 15,920 64 579 -104,884 +364

PerfScore improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same PerfScore Improvements (PerfScore) Regressions (PerfScore) PerfScore Overall in FullOpts
benchmarks.run.windows.arm64.checked.mch 538 384 148 6 -1.93% +0.85% -0.0254%
benchmarks.run_pgo.windows.arm64.checked.mch 2,508 1,796 707 5 -0.39% +0.61% -0.0056%
benchmarks.run_tiered.windows.arm64.checked.mch 56 42 12 2 -0.98% +0.90% -0.0028%
coreclr_tests.run.windows.arm64.checked.mch 5,419 5,204 192 23 -0.20% +0.83% -0.0036%
libraries.crossgen2.windows.arm64.checked.mch 1,171 746 413 12 -2.30% +0.75% -0.0051%
libraries.pmi.windows.arm64.checked.mch 1,274 876 391 7 -1.40% +0.74% -0.0032%
libraries_tests.run.windows.arm64.Release.mch 2,821 2,283 526 12 -1.34% +0.80% -0.0127%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 1,999 1,413 539 47 -1.50% +0.67% -0.0057%
realworld.run.windows.arm64.checked.mch 167 119 48 0 -1.02% +0.92% -0.0030%
smoke_tests.nativeaot.windows.arm64.checked.mch 610 98 42 470 -2.03% +0.96% -0.0069%

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.windows.arm64.checked.mch 24,525 4 24,521 4 (0.02%) 4 (0.02%)
benchmarks.run_pgo.windows.arm64.checked.mch 98,571 49,888 48,683 5 (0.01%) 17 (0.02%)
benchmarks.run_tiered.windows.arm64.checked.mch 48,817 37,918 10,899 4 (0.01%) 4 (0.01%)
coreclr_tests.run.windows.arm64.checked.mch 644,538 398,690 245,848 1,141 (0.18%) 1,147 (0.18%)
libraries.crossgen2.windows.arm64.checked.mch 278,799 16 278,783 48 (0.02%) 48 (0.02%)
libraries.pmi.windows.arm64.checked.mch 295,555 6 295,549 271 (0.09%) 271 (0.09%)
libraries_tests.run.windows.arm64.Release.mch 711,730 501,528 210,202 121 (0.02%) 157 (0.02%)
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 333,035 21,667 311,368 93 (0.03%) 95 (0.03%)
realworld.run.windows.arm64.checked.mch 25,736 2 25,734 2 (0.01%) 2 (0.01%)
smoke_tests.nativeaot.windows.arm64.checked.mch 23,416 7 23,409 2 (0.01%) 2 (0.01%)
2,484,722 1,009,726 1,474,996 1,691 (0.07%) 1,747 (0.07%)

jit-analyze output

benchmarks.run.windows.arm64.checked.mch

To reproduce these diffs on Windows x64:

superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 11067588 (overridden on cmd)
Total bytes of diff: 11063008 (overridden on cmd)
Total bytes of delta: -4580 (-0.04 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file improvements (bytes):
         -80 : 8445.dasm (-2.84% of base)
         -44 : 8777.dasm (-0.71% of base)
         -40 : 1559.dasm (-2.94% of base)
         -32 : 7783.dasm (-2.95% of base)
         -28 : 2417.dasm (-3.98% of base)
         -24 : 3747.dasm (-0.42% of base)
         -20 : 22202.dasm (-2.78% of base)
         -20 : 1883.dasm (-4.31% of base)
         -20 : 3655.dasm (-0.63% of base)
         -20 : 12800.dasm (-6.67% of base)
         -20 : 7239.dasm (-2.72% of base)
         -20 : 9250.dasm (-2.62% of base)
         -20 : 3780.dasm (-3.62% of base)
         -20 : 9311.dasm (-1.95% of base)
         -20 : 1872.dasm (-0.84% of base)
         -20 : 22140.dasm (-4.90% of base)
         -20 : 5733.dasm (-6.49% of base)
         -20 : 13875.dasm (-2.78% of base)
         -20 : 3012.dasm (-7.94% of base)
         -20 : 516.dasm (-1.60% of base)

84 total files with Code Size differences (84 improved, 0 regressed), 5 unchanged.

Top method improvements (bytes):
         -80 (-2.84% of base) : 8445.dasm - MessagePack.Internal.DynamicObjectTypeBuilder+MessagePackBinaryTypeInfo:.cctor() (FullOpts)
         -44 (-0.71% of base) : 8777.dasm - Jil.Serialize.InlineSerializer`1[System.__Canon]:.cctor() (FullOpts)
         -40 (-2.94% of base) : 1559.dasm - System.Buffers.SharedArrayPool`1[System.ValueTuple`2[System.__Canon,System.__Canon]]:Trim():ubyte:this (FullOpts)
         -32 (-2.95% of base) : 7783.dasm - System.Numerics.Tests.Constructor:.ctor():this (FullOpts)
         -28 (-3.98% of base) : 2417.dasm - System.Globalization.DateTimeFormatInfoScanner:GetDateWordsOfDTFI(System.Globalization.DateTimeFormatInfo):System.String[]:this (FullOpts)
         -24 (-0.42% of base) : 3747.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteAttributes(System.Xml.Serialization.XmlSerializationReaderILGen+Member[],System.Xml.Serialization.XmlSerializationReaderILGen+Member,System.String,System.Reflection.Emit.LocalBuilder):this (FullOpts)
         -20 (-6.67% of base) : 12800.dasm - Microsoft.Extensions.Configuration.ConfigurationBinder:FindOpenGenericInterface(System.Type,System.Type):System.Type (FullOpts)
         -20 (-2.72% of base) : 7239.dasm - Newtonsoft.Json.Utilities.ReflectionUtils:ImplementsGenericDefinition(System.Type,System.Type,byref):ubyte (FullOpts)
         -20 (-4.31% of base) : 1883.dasm - ProtoBuf.Meta.AttributeMap+ReflectionAttributeMap:TryGet(System.String,ubyte,byref):ubyte:this (FullOpts)
         -20 (-1.60% of base) : 516.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (FullOpts)
         -20 (-2.62% of base) : 9250.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract:IsNonAttributedTypeValidForSerialization(System.Type):ubyte (FullOpts)
         -20 (-1.95% of base) : 9311.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract+ClassDataContractCriticalHelper:EnsureMethodsImported():this (FullOpts)
         -20 (-2.78% of base) : 22202.dasm - System.Runtime.Serialization.Json.JsonFormatReaderGenerator+CriticalHelper:WrapNullableObject(System.Reflection.Emit.LocalBuilder,System.Reflection.Emit.LocalBuilder,int):this (FullOpts)
         -20 (-2.78% of base) : 13875.dasm - System.Runtime.Serialization.XmlFormatReaderGenerator+CriticalHelper:WrapNullableObject(System.Reflection.Emit.LocalBuilder,System.Reflection.Emit.LocalBuilder,int):this (FullOpts)
         -20 (-0.84% of base) : 1872.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateInterfaces(System.RuntimeType+RuntimeTypeCache+Filter):System.RuntimeType[]:this (FullOpts)
         -20 (-6.49% of base) : 5733.dasm - System.Text.Json.Reflection.ReflectionExtensions:GetCompatibleGenericInterface(System.Type,System.Type):System.Type (FullOpts)
         -20 (-4.90% of base) : 22140.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (FullOpts)
         -20 (-7.94% of base) : 3012.dasm - System.Type:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -20 (-0.63% of base) : 3655.dasm - System.Xml.Serialization.CodeGenerator:Ldc(System.Object):this (FullOpts)
         -20 (-3.62% of base) : 3780.dasm - System.Xml.Serialization.CodeIdentifier:EscapeKeywords(System.String):System.String (FullOpts)

Top method improvements (percentages):
         -16 (-13.33% of base) : 3021.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
         -12 (-13.04% of base) : 19543.dasm - System.IO.Tests.Perf_Directory:CreateDirectory():this (FullOpts)
         -12 (-11.11% of base) : 16926.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
         -16 (-10.81% of base) : 1801.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (FullOpts)
         -16 (-10.53% of base) : 9513.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:CheckIfJsonNameRequiresMapping(System.String):ubyte (FullOpts)
         -12 (-10.34% of base) : 7101.dasm - GuardedDevirtualization.ThreeClassInterface:Call(GuardedDevirtualization.ThreeClassInterface+TestInput):long:this (FullOpts)
         -12 (-10.34% of base) : 12270.dasm - GuardedDevirtualization.TwoClassInterface:Call(GuardedDevirtualization.TwoClassInterface+TestInput):long:this (FullOpts)
         -12 (-10.34% of base) : 1125.dasm - Microsoft.Extensions.Logging.EventLogFiltersConfigureOptions:Configure(Microsoft.Extensions.Logging.LoggerFilterOptions):this (FullOpts)
         -12 (-10.34% of base) : 14140.dasm - System.Collections.AddGivenSize`1[int]:AddToICollection(System.Collections.Generic.ICollection`1[int]):System.Collections.Generic.ICollection`1[int]:this (FullOpts)
         -12 (-10.34% of base) : 19544.dasm - System.IO.Tests.Perf_Directory:CleanupDirectoryIteration():this (FullOpts)
         -12 (-10.00% of base) : 18469.dasm - System.Collections.AddGivenSize`1[int]:AddToIDictionary(System.Collections.Generic.IDictionary`2[int,int]):System.Collections.Generic.IDictionary`2[int,int]:this (FullOpts)
         -12 (-9.68% of base) : 22571.dasm - System.Collections.ContainsKeyFalse`2[int,int]:ImmutableDictionary():ubyte:this (FullOpts)
         -12 (-9.68% of base) : 20289.dasm - System.Collections.ContainsKeyTrue`2[int,int]:ImmutableDictionary():ubyte:this (FullOpts)
         -12 (-9.68% of base) : 10372.dasm - System.Text.RegularExpressions.Tests.Perf_Regex_Industry_SliceSlice:Count():int:this (FullOpts)
         -12 (-9.38% of base) : 10529.dasm - System.Collections.ContainsKeyFalse`2[int,int]:ImmutableSortedDictionary():ubyte:this (FullOpts)
         -12 (-9.38% of base) : 13697.dasm - System.Collections.ContainsKeyFalse`2[System.__Canon,System.__Canon]:SortedDictionary():ubyte:this (FullOpts)
         -12 (-9.38% of base) : 20522.dasm - System.Collections.ContainsKeyTrue`2[int,int]:ImmutableSortedDictionary():ubyte:this (FullOpts)
         -12 (-9.38% of base) : 19848.dasm - System.Collections.ContainsKeyTrue`2[int,int]:SortedDictionary():ubyte:this (FullOpts)
         -12 (-9.38% of base) : 10054.dasm - System.Collections.ContainsKeyTrue`2[System.__Canon,System.__Canon]:SortedDictionary():ubyte:this (FullOpts)
         -12 (-9.38% of base) : 12262.dasm - System.Collections.ContainsTrue`1[int]:Queue():ubyte:this (FullOpts)


benchmarks.run_pgo.windows.arm64.checked.mch

To reproduce these diffs on Windows x64:

superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 49077212 (overridden on cmd)
Total bytes of diff: 49066080 (overridden on cmd)
Total bytes of delta: -11132 (-0.02 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
           4 : 64384.dasm (0.27% of base)
           4 : 65116.dasm (0.27% of base)
           4 : 91475.dasm (0.27% of base)
           4 : 10679.dasm (0.27% of base)
           4 : 40609.dasm (0.15% of base)
           4 : 78806.dasm (0.27% of base)
           4 : 74639.dasm (0.27% of base)
           4 : 49068.dasm (0.27% of base)
           4 : 44278.dasm (0.27% of base)
           4 : 69422.dasm (0.17% of base)
           4 : 37953.dasm (0.27% of base)
           4 : 90148.dasm (0.27% of base)
           4 : 48551.dasm (0.15% of base)

Top file improvements (bytes):
         -36 : 98421.dasm (-2.81% of base)
         -36 : 38460.dasm (-2.81% of base)
         -36 : 63182.dasm (-2.81% of base)
         -36 : 72647.dasm (-2.81% of base)
         -36 : 42898.dasm (-2.81% of base)
         -36 : 89846.dasm (-2.81% of base)
         -36 : 66583.dasm (-2.81% of base)
         -36 : 94068.dasm (-2.81% of base)
         -36 : 91034.dasm (-2.81% of base)
         -36 : 35660.dasm (-2.81% of base)
         -36 : 77305.dasm (-2.81% of base)
         -36 : 91857.dasm (-2.81% of base)
         -36 : 97465.dasm (-2.81% of base)
         -36 : 60471.dasm (-2.81% of base)
         -36 : 88796.dasm (-2.81% of base)
         -16 : 36247.dasm (-10.26% of base)
         -16 : 30602.dasm (-10.26% of base)
         -16 : 38143.dasm (-10.26% of base)
         -16 : 18996.dasm (-10.26% of base)
         -16 : 78233.dasm (-10.26% of base)

72 total files with Code Size differences (59 improved, 13 regressed), 5 unchanged.

Top method regressions (bytes):
           4 ( 0.15% of base) : 40609.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.17% of base) : 69422.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.15% of base) : 48551.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.27% of base) : 64384.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 65116.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 91475.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 10679.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 78806.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 74639.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 49068.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 44278.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 37953.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 90148.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)

Top method improvements (bytes):
         -36 (-2.81% of base) : 98421.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 38460.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 63182.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 72647.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 42898.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 89846.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 66583.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 94068.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 91034.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 35660.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 77305.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 91857.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 97465.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 60471.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 88796.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -16 (-3.08% of base) : 48185.dasm - Benchmarks.SIMD.RayTracer.RayTracer:TestRay(Benchmarks.SIMD.RayTracer.Ray,Benchmarks.SIMD.RayTracer.Scene):double:this (Tier1)
         -16 (-10.26% of base) : 36247.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
         -16 (-10.26% of base) : 30602.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
         -16 (-10.26% of base) : 38143.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
         -16 (-10.26% of base) : 18996.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)

Top method regressions (percentages):
           4 ( 0.27% of base) : 10679.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 74639.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 65116.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 91475.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 44278.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 64384.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 78806.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 49068.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 37953.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.27% of base) : 90148.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this (Tier1)
           4 ( 0.17% of base) : 69422.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.15% of base) : 40609.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.15% of base) : 48551.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)

Top method improvements (percentages):
         -16 (-10.26% of base) : 36247.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
         -16 (-10.26% of base) : 30602.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
         -16 (-10.26% of base) : 38143.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
         -16 (-10.26% of base) : 18996.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
         -16 (-10.26% of base) : 78233.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
          -4 (-7.14% of base) : 94410.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:IterateAll(System.__Canon[]):System.__Canon (Tier1)
          -4 (-7.14% of base) : 43869.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:IterateAll(System.__Canon[]):System.__Canon (Tier1)
          -4 (-7.14% of base) : 81777.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:IterateAll(System.__Canon[]):System.__Canon (Tier1)
          -4 (-7.14% of base) : 31527.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:IterateAll(System.__Canon[]):System.__Canon (Tier1)
          -4 (-7.14% of base) : 27137.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:IterateAll(System.__Canon[]):System.__Canon (Tier1)
          -4 (-7.14% of base) : 74318.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:IterateAll(System.__Canon[]):System.__Canon (Tier1)
          -4 (-7.14% of base) : 91595.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:IterateAll(System.__Canon[]):System.__Canon (Tier1)
          -4 (-7.14% of base) : 98458.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:IterateAll(System.__Canon[]):System.__Canon (Tier1)
          -4 (-7.14% of base) : 45839.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:IterateAll(System.__Canon[]):System.__Canon (Tier1)
          -4 (-7.14% of base) : 9628.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:IterateAll(System.__Canon[]):System.__Canon (Tier1)
          -4 (-7.14% of base) : 64152.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:IterateAll(System.__Canon[]):System.__Canon (Tier1)
          -4 (-7.14% of base) : 73105.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:IterateAll(System.__Canon[]):System.__Canon (Tier1)
          -4 (-5.88% of base) : 60550.dasm - Roslyn.Utilities.Hash:CombineFNVHash(int,System.String):int (Tier1)
          -4 (-5.26% of base) : 61132.dasm - Roslyn.Utilities.StringOrdinalComparer:System.Collections.Generic.IEqualityComparer<System.String>.GetHashCode(System.String):int:this (Tier1)
          -4 (-5.00% of base) : 40392.dasm - System.Reflection.MetadataToken:IsTokenOfType(int,int[]):ubyte (Tier1)


benchmarks.run_tiered.windows.arm64.checked.mch

To reproduce these diffs on Windows x64:

superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 15223420 (overridden on cmd)
Total bytes of diff: 15223044 (overridden on cmd)
Total bytes of delta: -376 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file improvements (bytes):
         -40 : 23367.dasm (-2.95% of base)
         -20 : 4585.dasm (-1.60% of base)
         -20 : 20765.dasm (-0.86% of base)
         -16 : 5901.dasm (-1.19% of base)
         -16 : 2235.dasm (-6.56% of base)
         -16 : 8062.dasm (-10.81% of base)
         -12 : 11254.dasm (-3.30% of base)
         -12 : 7137.dasm (-8.82% of base)
         -12 : 37911.dasm (-11.11% of base)
         -12 : 30337.dasm (-7.69% of base)
         -12 : 30357.dasm (-1.58% of base)
         -12 : 43727.dasm (-1.04% of base)
          -8 : 28563.dasm (-1.05% of base)
          -8 : 38212.dasm (-2.38% of base)
          -4 : 2250.dasm (-5.00% of base)
          -4 : 24899.dasm (-4.55% of base)
          -4 : 5903.dasm (-0.13% of base)
          -4 : 2252.dasm (-0.20% of base)
          -4 : 45060.dasm (-0.47% of base)
          -4 : 20786.dasm (-3.12% of base)

52 total files with Code Size differences (52 improved, 0 regressed), 2 unchanged.

Top method improvements (bytes):
         -40 (-2.95% of base) : 23367.dasm - System.Buffers.SharedArrayPool`1[System.__Canon]:Trim():ubyte:this (Tier1)
         -20 (-1.60% of base) : 4585.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -20 (-0.86% of base) : 20765.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateInterfaces(System.RuntimeType+RuntimeTypeCache+Filter):System.RuntimeType[]:this (Tier1)
         -16 (-1.19% of base) : 5901.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelper(System.Type,System.Type[],System.Type[]):this (Tier1)
         -16 (-6.56% of base) : 2235.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
         -16 (-10.81% of base) : 8062.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
         -12 (-1.58% of base) : 30357.dasm - Benchmarks.SIMD.RayTracer.RayTracer:GetNaturalColor(Benchmarks.SIMD.RayTracer.SceneObject,Benchmarks.SIMD.RayTracer.Vector,Benchmarks.SIMD.RayTracer.Vector,Benchmarks.SIMD.RayTracer.Vector,Benchmarks.SIMD.RayTracer.Scene):Benchmarks.SIMD.RayTracer.Color:this (Tier1)
         -12 (-7.69% of base) : 30337.dasm - Benchmarks.SIMD.RayTracer.RayTracer:MinIntersection(Benchmarks.SIMD.RayTracer.Ray,Benchmarks.SIMD.RayTracer.Scene):Benchmarks.SIMD.RayTracer.ISect:this (Tier1)
         -12 (-1.04% of base) : 43727.dasm - BenchmarksGame.KNucleotide_1:Bench(System.IO.Stream,BenchmarksGame.NucleotideHelpers,ubyte):ubyte (Tier1-OSR)
         -12 (-11.11% of base) : 37911.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
         -12 (-3.30% of base) : 11254.dasm - System.RuntimeType:SanityCheckGenericArguments(System.RuntimeType[],System.RuntimeType[]) (Tier1)
         -12 (-8.82% of base) : 7137.dasm - System.Text.Encodings.Web.TextEncoderSettings:AllowRanges(System.Text.Unicode.UnicodeRange[]):this (Tier1)
          -8 (-2.38% of base) : 38212.dasm - BenchmarksGame.NBodySystem:Advance(double):this (Tier1)
          -8 (-1.05% of base) : 28563.dasm - IDEAEncryption:Run():double:this (Tier1)
          -4 (-1.64% of base) : 27464.dasm - AssignJagged:Assignment(int[][]) (Tier1)
          -4 (-4.76% of base) : 37816.dasm - Microsoft.CodeAnalysis.CSharp.BoundNodeExtensions:HasErrors[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):ubyte (Tier1)
          -4 (-0.79% of base) : 37560.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MetadataOrSourceAssemblySymbol:GetDeclaredSpecialTypeMember(int):Microsoft.CodeAnalysis.CSharp.Symbol:this (Tier1)
          -4 (-5.88% of base) : 37256.dasm - Roslyn.Utilities.Hash:CombineFNVHash(int,System.String):int (Tier1)
          -4 (-2.27% of base) : 23959.dasm - System.Buffers.SharedArrayPoolPartitions:.ctor():this (Tier1)
          -4 (-3.12% of base) : 38417.dasm - System.Buffers.SharedArrayPoolPartitions:Trim(int,int,int):this (Tier1)

Top method improvements (percentages):
         -12 (-11.11% of base) : 37911.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (Tier1)
         -16 (-10.81% of base) : 8062.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
         -12 (-8.82% of base) : 7137.dasm - System.Text.Encodings.Web.TextEncoderSettings:AllowRanges(System.Text.Unicode.UnicodeRange[]):this (Tier1)
         -12 (-7.69% of base) : 30337.dasm - Benchmarks.SIMD.RayTracer.RayTracer:MinIntersection(Benchmarks.SIMD.RayTracer.Ray,Benchmarks.SIMD.RayTracer.Scene):Benchmarks.SIMD.RayTracer.ISect:this (Tier1)
          -4 (-7.14% of base) : 5550.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:IterateAll(System.__Canon[]):System.__Canon (Tier1)
         -16 (-6.56% of base) : 2235.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (Tier1)
          -4 (-5.88% of base) : 37256.dasm - Roslyn.Utilities.Hash:CombineFNVHash(int,System.String):int (Tier1)
          -4 (-5.88% of base) : 42804.dasm - System.Resources.FastResourceComparer:HashFunction(System.String):int (Tier1)
          -4 (-5.00% of base) : 2250.dasm - System.Reflection.MetadataToken:IsTokenOfType(int,int[]):ubyte (Tier1)
          -4 (-4.76% of base) : 37816.dasm - Microsoft.CodeAnalysis.CSharp.BoundNodeExtensions:HasErrors[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):ubyte (Tier1)
          -4 (-4.76% of base) : 17173.dasm - System.Reflection.Emit.DynamicResolver:CalculateNumberOfExceptions(System.Reflection.Emit.__ExceptionInfo[]):int (Tier1)
          -4 (-4.55% of base) : 24899.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:<SortFixedDistanceSetsByQuality>g__SumFrequencies|4_2(ushort[]):float (Tier1)
          -4 (-4.00% of base) : 23480.dasm - System.Text.RegularExpressions.Match:Reset(System.String,int):this (Tier1)
          -4 (-3.45% of base) : 1279.dasm - System.Type:GetConstructor(int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.ConstructorInfo:this (Tier1)
         -12 (-3.30% of base) : 11254.dasm - System.RuntimeType:SanityCheckGenericArguments(System.RuntimeType[],System.RuntimeType[]) (Tier1)
          -4 (-3.12% of base) : 38417.dasm - System.Buffers.SharedArrayPoolPartitions:Trim(int,int,int):this (Tier1)
          -4 (-3.12% of base) : 20786.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseCtorArgs(byref,System.Reflection.CustomAttributeCtorParameter[],System.Reflection.RuntimeModule) (Tier1)
          -4 (-3.12% of base) : 1278.dasm - System.Type:GetConstructor(int,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.ConstructorInfo:this (Tier1)
         -40 (-2.95% of base) : 23367.dasm - System.Buffers.SharedArrayPool`1[System.__Canon]:Trim():ubyte:this (Tier1)
          -4 (-2.94% of base) : 1277.dasm - System.Type:GetConstructor(System.Type[]):System.Reflection.ConstructorInfo:this (Tier1)


coreclr_tests.run.windows.arm64.checked.mch

To reproduce these diffs on Windows x64:

superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 495153996 (overridden on cmd)
Total bytes of diff: 495126340 (overridden on cmd)
Total bytes of delta: -27656 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
           4 : 520620.dasm (0.49% of base)
           4 : 520629.dasm (0.52% of base)
           4 : 520626.dasm (0.53% of base)
           4 : 520617.dasm (0.49% of base)
           4 : 520632.dasm (0.52% of base)
           4 : 299824.dasm (0.16% of base)
           4 : 520623.dasm (0.50% of base)

Top file improvements (bytes):
         -44 : 520375.dasm (-1.28% of base)
         -44 : 520231.dasm (-1.29% of base)
         -44 : 520215.dasm (-1.29% of base)
         -44 : 520359.dasm (-1.28% of base)
         -44 : 520383.dasm (-1.28% of base)
         -44 : 520223.dasm (-1.29% of base)
         -44 : 520367.dasm (-1.28% of base)
         -36 : 334183.dasm (-2.74% of base)
         -36 : 428324.dasm (-2.76% of base)
         -36 : 267939.dasm (-2.81% of base)
         -36 : 412477.dasm (-2.74% of base)
         -36 : 192996.dasm (-2.74% of base)
         -36 : 327718.dasm (-2.81% of base)
         -36 : 313645.dasm (-2.82% of base)
         -36 : 313646.dasm (-2.82% of base)
         -28 : 504807.dasm (-0.83% of base)
         -28 : 457057.dasm (-5.79% of base)
         -28 : 504933.dasm (-0.82% of base)
         -28 : 508968.dasm (-0.87% of base)
         -28 : 508872.dasm (-0.87% of base)

67 total files with Code Size differences (60 improved, 7 regressed), 22 unchanged.

Top method regressions (bytes):
           4 ( 0.53% of base) : 520626.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringDouble() (FullOpts)
           4 ( 0.49% of base) : 520617.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringInt32() (FullOpts)
           4 ( 0.52% of base) : 520629.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringInt64() (FullOpts)
           4 ( 0.50% of base) : 520623.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringSingle() (FullOpts)
           4 ( 0.49% of base) : 520620.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringUInt32() (FullOpts)
           4 ( 0.52% of base) : 520632.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringUInt64() (FullOpts)
           4 ( 0.16% of base) : 299824.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)

Top method improvements (bytes):
         -44 (-1.29% of base) : 520215.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementDouble0:RunReflectionScenario(int,ubyte):this (FullOpts)
         -44 (-1.29% of base) : 520223.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementDouble1:RunReflectionScenario(int,ubyte):this (FullOpts)
         -44 (-1.29% of base) : 520231.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementDouble3:RunReflectionScenario(int,ubyte):this (FullOpts)
         -44 (-1.28% of base) : 520359.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementSingle0:RunReflectionScenario(int,ubyte):this (FullOpts)
         -44 (-1.28% of base) : 520367.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementSingle1:RunReflectionScenario(int,ubyte):this (FullOpts)
         -44 (-1.28% of base) : 520375.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementSingle3:RunReflectionScenario(int,ubyte):this (FullOpts)
         -44 (-1.28% of base) : 520383.dasm - JIT.HardwareIntrinsics.General._Vector512_1.VectorGetAndWithElement__GetAndWithElementSingle7:RunReflectionScenario(int,ubyte):this (FullOpts)
         -36 (-2.82% of base) : 313645.dasm - System.Buffers.SharedArrayPool`1[int]:Trim():ubyte:this (Tier1)
         -36 (-2.76% of base) : 428324.dasm - System.Buffers.SharedArrayPool`1[ubyte]:Trim():ubyte:this (Tier1)
         -36 (-2.74% of base) : 334183.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 267939.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.74% of base) : 412477.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.74% of base) : 192996.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 327718.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.82% of base) : 313646.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -28 (-5.79% of base) : 457057.dasm - JIT.HardwareIntrinsics.Arm._AdvSimd.Arm64.LoadAndInsertScalar_Vector128x4_Single_1Test+TestStruct:Create():JIT.HardwareIntrinsics.Arm._AdvSimd.Arm64.LoadAndInsertScalar_Vector128x4_Single_1Test+TestStruct (FullOpts)
         -28 (-0.87% of base) : 508872.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorGetAndWithElement__GetAndWithElementDouble1:RunReflectionScenario(int,ubyte):this (FullOpts)
         -28 (-0.87% of base) : 508968.dasm - JIT.HardwareIntrinsics.General._Vector128_1.VectorGetAndWithElement__GetAndWithElementSingle0:RunReflectionScenario(int,ubyte):this (FullOpts)
         -28 (-0.83% of base) : 504807.dasm - JIT.HardwareIntrinsics.General._Vector256_1.VectorGetAndWithElement__GetAndWithElementDouble3:RunReflectionScenario(int,ubyte):this (FullOpts)
         -28 (-0.82% of base) : 504933.dasm - JIT.HardwareIntrinsics.General._Vector256_1.VectorGetAndWithElement__GetAndWithElementSingle3:RunReflectionScenario(int,ubyte):this (FullOpts)

Top method regressions (percentages):
           4 ( 0.53% of base) : 520626.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringDouble() (FullOpts)
           4 ( 0.52% of base) : 520629.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringInt64() (FullOpts)
           4 ( 0.52% of base) : 520632.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringUInt64() (FullOpts)
           4 ( 0.50% of base) : 520623.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringSingle() (FullOpts)
           4 ( 0.49% of base) : 520617.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringInt32() (FullOpts)
           4 ( 0.49% of base) : 520620.dasm - JIT.HardwareIntrinsics.General._Vector512_1.Program:ToStringUInt32() (FullOpts)
           4 ( 0.16% of base) : 299824.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)

Top method improvements (percentages):
         -12 (-15.79% of base) : 571640.dasm - Pointers+Test`1[int]:FunctionPointerArray(ulong[]):this (FullOpts)
         -16 (-13.33% of base) : 392043.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Tier1)
         -16 (-11.76% of base) : 538067.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:MethodHasByRefParameter(System.Reflection.MethodInfo):ubyte (FullOpts)
         -12 (-11.11% of base) : 551564.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
         -16 (-10.53% of base) : 555181.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:CheckIfJsonNameRequiresMapping(System.String):ubyte (FullOpts)
         -16 (-10.26% of base) : 643886.dasm - Internal.TypeSystem.Interop.Marshaller:IsMarshallingRequired(Internal.TypeSystem.MethodSignature,Internal.TypeSystem.ParameterMetadata[],Internal.TypeSystem.ModuleDesc):ubyte (FullOpts)
         -16 (-10.26% of base) : 417013.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (Tier1)
         -12 (-10.00% of base) : 537479.dasm - Microsoft.CSharp.RuntimeBinder.SymbolTable:AddParameterConversions(System.Reflection.MethodBase) (FullOpts)
         -12 (-9.09% of base) : 432206.dasm - DynamicMethodJumpStubTests+<>c__DisplayClass1_0:<DynamicMethodJumpStubTest>b__0():this (FullOpts)
         -12 (-9.09% of base) : 3793.dasm - System.Resources.FastResourceComparer:HashFunction(System.String):int (Instrumented Tier1)
         -12 (-8.82% of base) : 536948.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:AddArgHashes(int,System.Type[],Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo[]):int (FullOpts)
         -12 (-8.82% of base) : 537437.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray+TypeArrayKey:.ctor(Microsoft.CSharp.RuntimeBinder.Semantics.CType[]):this (FullOpts)
         -12 (-8.82% of base) : 585707.dasm - System.Text.Encodings.Web.TextEncoderSettings:AllowRanges(System.Text.Unicode.UnicodeRange[]):this (FullOpts)
         -16 (-8.51% of base) : 391945.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Instrumented Tier1)
         -16 (-8.33% of base) : 553712.dasm - System.Runtime.Serialization.DataContracts.DataContract:IsTypeVisible(System.Type):ubyte (FullOpts)
         -12 (-8.33% of base) : 588313.dasm - System.Xml.Xsl.Xslt.MatcherBuilder:CollectPatterns(System.Xml.Xsl.Xslt.StylesheetLevel,System.Xml.Xsl.Qil.QilName):this (FullOpts)
         -16 (-7.69% of base) : 643953.dasm - Internal.TypeSystem.Interop.Marshaller:IsMarshallingRequired(Internal.TypeSystem.MethodSignature,Internal.TypeSystem.ModuleDesc,int):ubyte (FullOpts)
         -12 (-7.69% of base) : 554841.dasm - RayTracer:MinIntersection(Ray,Scene):ISect:this (FullOpts)
         -16 (-7.27% of base) : 537995.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.SymbolLoader:IsBaseInterface(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType):ubyte (FullOpts)
         -20 (-7.25% of base) : 642155.dasm - ILCompiler.TypeExtensions:MergeClassWithInterface(Internal.TypeSystem.TypeDesc,Internal.TypeSystem.TypeDesc):Internal.TypeSystem.TypeDesc (FullOpts)


libraries.crossgen2.windows.arm64.checked.mch

To reproduce these diffs on Windows x64:

superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 67820424 (overridden on cmd)
Total bytes of diff: 67810068 (overridden on cmd)
Total bytes of delta: -10356 (-0.02 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
           4 : 12930.dasm (2.38% of base)

Top file improvements (bytes):
         -44 : 241100.dasm (-3.09% of base)
         -44 : 202760.dasm (-2.02% of base)
         -44 : 262406.dasm (-1.77% of base)
         -40 : 156319.dasm (-2.23% of base)
         -40 : 23863.dasm (-3.01% of base)
         -32 : 262407.dasm (-4.57% of base)
         -32 : 252393.dasm (-4.85% of base)
         -32 : 277474.dasm (-4.57% of base)
         -28 : 243900.dasm (-3.00% of base)
         -28 : 198023.dasm (-2.41% of base)
         -28 : 238498.dasm (-2.70% of base)
         -28 : 270091.dasm (-2.63% of base)
         -28 : 110794.dasm (-2.70% of base)
         -28 : 212106.dasm (-7.14% of base)
         -28 : 24394.dasm (-1.70% of base)
         -28 : 241469.dasm (-2.54% of base)
         -28 : 185204.dasm (-3.18% of base)
         -28 : 117518.dasm (-7.14% of base)
         -28 : 223015.dasm (-3.18% of base)
         -28 : 249647.dasm (-4.05% of base)

72 total files with Code Size differences (71 improved, 1 regressed), 12 unchanged.

Top method regressions (bytes):
           4 ( 2.38% of base) : 12930.dasm - System.Diagnostics.Tracing.InvokeTypeInfo:WriteData(System.Diagnostics.Tracing.PropertyValue):this (FullOpts)

Top method improvements (bytes):
         -44 (-1.77% of base) : 262406.dasm - System.ComponentModel.Composition.Registration.PartBuilder:BuildTypeAttributes(System.Type):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (FullOpts)
         -44 (-2.02% of base) : 202760.dasm - System.DirectoryServices.AccountManagement.ADStoreCtx:LoadDomainInfo():this (FullOpts)
         -44 (-3.09% of base) : 241100.dasm - System.Speech.Recognition.Grammar:CombineCfg(System.String,System.IO.Stream,System.Speech.Recognition.SrgsGrammar.SrgsRule[]):System.IO.MemoryStream (FullOpts)
         -40 (-3.01% of base) : 23863.dasm - System.Buffers.SharedArrayPool`1[System.__Canon]:Trim():ubyte:this (FullOpts)
         -40 (-2.23% of base) : 156319.dasm - System.Xml.Xsl.Runtime.XmlQueryStaticData:GetObjectData(byref,byref):this (FullOpts)
         -32 (-4.85% of base) : 252393.dasm - System.ComponentModel.Composition.Hosting.AggregateExportProvider:GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition):System.Collections.Generic.IEnumerable`1[System.ComponentModel.Composition.Primitives.Export]:this (FullOpts)
         -32 (-4.57% of base) : 262407.dasm - System.ComponentModel.Composition.Registration.PartBuilder:BuildConstructorAttributes(System.Type,byref):ubyte:this (FullOpts)
         -32 (-4.57% of base) : 277474.dasm - System.Composition.Convention.PartConventionBuilder:BuildConstructorAttributes(System.Type,byref):ubyte:this (FullOpts)
         -28 (-2.70% of base) : 238498.dasm - Microsoft.CodeAnalysis.TypeNameDecoder`2[System.__Canon,System.__Canon]:GetTypeSymbol(Microsoft.CodeAnalysis.MetadataHelpers+AssemblyQualifiedTypeName,byref):System.__Canon:this (FullOpts)
         -28 (-2.70% of base) : 110794.dasm - Microsoft.CodeAnalysis.TypeNameDecoder`2[System.__Canon,System.__Canon]:GetTypeSymbol(Microsoft.CodeAnalysis.MetadataHelpers+AssemblyQualifiedTypeName,byref):System.__Canon:this (FullOpts)
         -28 (-4.05% of base) : 249647.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:LoadTypeFromSignature(int[],byref,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray):Microsoft.CSharp.RuntimeBinder.Semantics.CType (FullOpts)
         -28 (-7.14% of base) : 117518.dasm - Microsoft.Diagnostics.Utilities.DirectoryUtilities:Clean(System.String):int (FullOpts)
         -28 (-3.00% of base) : 243900.dasm - System.ComponentModel.EnumConverter:ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object):System.Object:this (FullOpts)
         -28 (-3.18% of base) : 185204.dasm - System.Configuration.ConfigurationLockCollection:ClearInternal(ubyte):this (FullOpts)
         -28 (-3.18% of base) : 223015.dasm - System.Configuration.ConfigurationLockCollection:ClearInternal(ubyte):this (FullOpts)
         -28 (-2.41% of base) : 198023.dasm - System.Linq.Expressions.Interpreter.CallInstruction:Create(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[]):System.Linq.Expressions.Interpreter.CallInstruction (FullOpts)
         -28 (-7.14% of base) : 212106.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[System.__Canon,System.__Canon]:ThrowIfInTearDown():this (FullOpts)
         -28 (-2.63% of base) : 270091.dasm - System.Net.NetworkInformation.SystemIPGlobalProperties+<GetUnicastAddressesAsync>d__26:MoveNext():this (FullOpts)
         -28 (-1.70% of base) : 24394.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateInterfaces(System.RuntimeType+RuntimeTypeCache+Filter):System.RuntimeType[]:this (FullOpts)
         -28 (-2.54% of base) : 241469.dasm - System.Speech.Recognition.RecognitionResult:System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)

Top method regressions (percentages):
           4 ( 2.38% of base) : 12930.dasm - System.Diagnostics.Tracing.InvokeTypeInfo:WriteData(System.Diagnostics.Tracing.PropertyValue):this (FullOpts)

Top method improvements (percentages):
         -16 (-13.79% of base) : 24539.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
         -16 (-13.79% of base) : 273863.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
         -24 (-13.33% of base) : 113425.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue]]:System.Collections.Generic.ICollection<T>.Contains(Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue]):ubyte:this (FullOpts)
         -24 (-13.33% of base) : 240769.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue]]:System.Collections.Generic.ICollection<T>.Contains(Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[Microsoft.CodeAnalysis.Emit.AnonymousTypeKey,Microsoft.CodeAnalysis.Emit.AnonymousTypeValue]):ubyte:this (FullOpts)
         -16 (-11.76% of base) : 239628.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:Count[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (FullOpts)
         -16 (-11.76% of base) : 112001.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:Count[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (FullOpts)
         -12 (-11.54% of base) : 227604.dasm - Roslyn.Utilities.ObjectWriter:WriteStringArrayElements(System.String[]):this (FullOpts)
         -16 (-11.43% of base) : 112906.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[int]:System.Collections.Generic.ICollection<T>.Contains(int):ubyte:this (FullOpts)
         -16 (-11.43% of base) : 240475.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[int]:System.Collections.Generic.ICollection<T>.Contains(int):ubyte:this (FullOpts)
         -16 (-11.43% of base) : 221261.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[int]:System.Collections.Generic.ICollection<T>.Contains(int):ubyte:this (FullOpts)
         -16 (-11.43% of base) : 221260.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[int]:System.Collections.IList.Contains(System.Object):ubyte:this (FullOpts)
         -16 (-11.43% of base) : 240474.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[int]:System.Collections.IList.Contains(System.Object):ubyte:this (FullOpts)
         -16 (-11.43% of base) : 112905.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[int]:System.Collections.IList.Contains(System.Object):ubyte:this (FullOpts)
         -16 (-11.43% of base) : 109903.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[System.__Canon]:System.Collections.IList.Contains(System.Object):ubyte:this (FullOpts)
         -16 (-11.43% of base) : 237642.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[System.__Canon]:System.Collections.IList.Contains(System.Object):ubyte:this (FullOpts)
         -16 (-11.43% of base) : 220578.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[System.__Canon]:System.Collections.IList.Contains(System.Object):ubyte:this (FullOpts)
         -16 (-11.43% of base) : 244053.dasm - System.ComponentModel.AttributeCollection:Matches(System.Attribute[]):ubyte:this (FullOpts)
         -16 (-11.43% of base) : 265826.dasm - System.PasteArguments:ContainsNoWhitespaceOrQuotes(System.String):ubyte (FullOpts)
         -16 (-11.11% of base) : 839.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (FullOpts)
         -16 (-10.81% of base) : 228359.dasm - Microsoft.CodeAnalysis.AnalyzerConfig:IsComment(System.String):ubyte (FullOpts)


libraries.pmi.windows.arm64.checked.mch

To reproduce these diffs on Windows x64:

superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 78737668 (overridden on cmd)
Total bytes of diff: 78727560 (overridden on cmd)
Total bytes of delta: -10108 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file improvements (bytes):
         -60 : 251830.dasm (-2.67% of base)
         -60 : 166097.dasm (-1.03% of base)
         -44 : 250352.dasm (-4.04% of base)
         -40 : 166132.dasm (-0.96% of base)
         -40 : 212695.dasm (-2.52% of base)
         -36 : 245551.dasm (-4.95% of base)
         -32 : 292478.dasm (-6.45% of base)
         -32 : 163495.dasm (-0.63% of base)
         -28 : 163005.dasm (-0.59% of base)
         -28 : 163496.dasm (-2.15% of base)
         -28 : 236597.dasm (-4.67% of base)
         -28 : 174182.dasm (-2.75% of base)
         -28 : 63598.dasm (-3.74% of base)
         -28 : 205539.dasm (-4.67% of base)
         -28 : 164288.dasm (-0.77% of base)
         -28 : 209707.dasm (-5.26% of base)
         -28 : 165814.dasm (-0.41% of base)
         -28 : 131663.dasm (-2.75% of base)
         -24 : 146275.dasm (-5.36% of base)
         -24 : 63585.dasm (-3.55% of base)

82 total files with Code Size differences (82 improved, 0 regressed), 8 unchanged.

Top method improvements (bytes):
         -60 (-2.67% of base) : 251830.dasm - ILCompiler.Dataflow.DynamicallyAccessedMembersBinder:GetAllOnType(Internal.TypeSystem.TypeDesc,ubyte,System.Collections.Generic.List`1[Internal.TypeSystem.TypeSystemEntity],System.Collections.Generic.HashSet`1[Internal.TypeSystem.TypeDesc]) (FullOpts)
         -60 (-1.03% of base) : 166097.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteEnumAndArrayTypes():this (FullOpts)
         -44 (-4.04% of base) : 250352.dasm - ILCompiler.TypeExtensions:GetTypeThatMeetsConstraints(Internal.TypeSystem.GenericParameterDesc,ubyte):Internal.TypeSystem.TypeDesc (FullOpts)
         -40 (-2.52% of base) : 212695.dasm - System.Data.ProviderBase.DbConnectionFactory:PruneConnectionPoolGroups(System.Object):this (FullOpts)
         -40 (-0.96% of base) : 166132.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
         -36 (-4.95% of base) : 245551.dasm - System.Speech.Internal.Synthesis.VoiceSynthesis:GetSsmlEngine(System.Speech.Synthesis.VoiceInfo):System.Speech.Internal.Synthesis.ITtsEngineProxy:this (FullOpts)
         -32 (-6.45% of base) : 292478.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources:RetrievePostponedItemsNonGreedy():ubyte:this (FullOpts)
         -32 (-0.63% of base) : 163495.dasm - System.Xml.Xsl.IlGen.XmlILStorageMethods:.ctor(System.Type):this (FullOpts)
         -28 (-2.75% of base) : 174182.dasm - Microsoft.CodeAnalysis.TypeNameDecoder`2[System.__Canon,System.__Canon]:GetTypeSymbol(Microsoft.CodeAnalysis.MetadataHelpers+AssemblyQualifiedTypeName,byref):System.__Canon:this (FullOpts)
         -28 (-2.75% of base) : 131663.dasm - Microsoft.CodeAnalysis.TypeNameDecoder`2[System.__Canon,System.__Canon]:GetTypeSymbol(Microsoft.CodeAnalysis.MetadataHelpers+AssemblyQualifiedTypeName,byref):System.__Canon:this (FullOpts)
         -28 (-3.74% of base) : 63598.dasm - Microsoft.FSharp.Core.CompilerServices.ArrayCollector`1[System.__Canon]:AddMany(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (FullOpts)
         -28 (-5.26% of base) : 209707.dasm - System.ComponentModel.Design.Serialization.InstanceDescriptor:Invoke():System.Object:this (FullOpts)
         -28 (-4.67% of base) : 205539.dasm - System.DefaultBinder:ExactBinding(System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase (FullOpts)
         -28 (-4.67% of base) : 236597.dasm - System.DefaultBinder:ExactBinding(System.Reflection.MethodBase[],System.Type[]):System.Reflection.MethodBase (FullOpts)
         -28 (-0.77% of base) : 164288.dasm - System.Xml.Serialization.CodeGenerator:Ldc(System.Object):this (FullOpts)
         -28 (-0.41% of base) : 165814.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteAttributes(System.Xml.Serialization.XmlSerializationReaderILGen+Member[],System.Xml.Serialization.XmlSerializationReaderILGen+Member,System.String,System.Reflection.Emit.LocalBuilder):this (FullOpts)
         -28 (-2.15% of base) : 163496.dasm - System.Xml.Xsl.IlGen.XmlILConstructors:.cctor() (FullOpts)
         -28 (-0.59% of base) : 163005.dasm - System.Xml.Xsl.Runtime.XsltMethods:.cctor() (FullOpts)
         -24 (-3.55% of base) : 63585.dasm - Microsoft.FSharp.Core.CompilerServices.ListCollector`1[System.__Canon]:AddMany(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (FullOpts)
         -24 (-5.36% of base) : 146275.dasm - System.Data.DataRow:get_RowState():int:this (FullOpts)

Top method improvements (percentages):
         -16 (-13.79% of base) : 237322.dasm - System.Reflection.TypeLoading.RoConstructedGenericType:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -16 (-13.79% of base) : 206207.dasm - System.Reflection.TypeLoading.RoConstructedGenericType:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -16 (-13.79% of base) : 292476.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources:get_AllTargetsHaveAtLeastOneMessage():ubyte:this (FullOpts)
         -16 (-13.79% of base) : 165991.dasm - System.Xml.Serialization.DynamicAssemblies:IsTypeDynamic(System.Type[]):ubyte (FullOpts)
         -16 (-13.33% of base) : 285122.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
         -12 (-12.50% of base) : 202106.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[ubyte]:System.Collections.IList.Clear():this (FullOpts)
         -12 (-12.50% of base) : 139615.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[ubyte]:System.Collections.IList.Clear():this (FullOpts)
         -12 (-12.50% of base) : 181781.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[ubyte]:System.Collections.IList.Clear():this (FullOpts)
         -12 (-12.50% of base) : 196.dasm - Microsoft.Extensions.Diagnostics.Metrics.MetricsSubscriptionManager:Initialize():this (FullOpts)
         -12 (-12.00% of base) : 292475.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources:CompleteEachTarget():this (FullOpts)
         -16 (-11.76% of base) : 172550.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:Count[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (FullOpts)
         -16 (-11.76% of base) : 129938.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:Count[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (FullOpts)
         -16 (-11.76% of base) : 220571.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:MethodHasByRefParameter(System.Reflection.MethodInfo):ubyte (FullOpts)
         -16 (-11.11% of base) : 181829.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[long]:System.Collections.Generic.ICollection<T>.Contains(long):ubyte:this (FullOpts)
         -16 (-11.11% of base) : 202154.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[long]:System.Collections.Generic.ICollection<T>.Contains(long):ubyte:this (FullOpts)
         -16 (-11.11% of base) : 139662.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[long]:System.Collections.Generic.ICollection<T>.Contains(long):ubyte:this (FullOpts)
         -16 (-11.11% of base) : 181802.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[short]:System.Collections.Generic.ICollection<T>.Contains(short):ubyte:this (FullOpts)
         -16 (-11.11% of base) : 139618.dasm - Microsoft.CodeAnalysis.Collections.SegmentedArray`1[ubyte]:System.Collections.Generic.ICollection<T>.Contains(ubyte):ubyte:this (FullOpts)
         -12 (-11.11% of base) : 171565.dasm - Roslyn.Utilities.ObjectReader:ReadInt16ArrayElements(short[]):short[]:this (FullOpts)
         -16 (-11.11% of base) : 237382.dasm - System.Reflection.TypeLoading.RoFunctionPointerType:get_ContainsGenericParameters():ubyte:this (FullOpts)


libraries_tests.run.windows.arm64.Release.mch

To reproduce these diffs on Windows x64:

superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 366264132 (overridden on cmd)
Total bytes of diff: 366242716 (overridden on cmd)
Total bytes of delta: -21416 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
           4 : 310611.dasm (0.13% of base)
           4 : 329689.dasm (0.16% of base)
           4 : 311450.dasm (0.17% of base)
           4 : 286441.dasm (0.18% of base)
           4 : 280415.dasm (0.17% of base)
           4 : 378804.dasm (0.17% of base)
           4 : 247806.dasm (0.16% of base)
           4 : 641841.dasm (0.16% of base)
           4 : 255732.dasm (0.16% of base)
           4 : 518546.dasm (0.18% of base)
           4 : 694585.dasm (0.17% of base)
           4 : 481016.dasm (0.16% of base)
           4 : 374189.dasm (0.17% of base)
           4 : 350700.dasm (0.18% of base)
           4 : 699964.dasm (0.18% of base)
           4 : 215170.dasm (0.19% of base)
           4 : 417144.dasm (0.13% of base)
           4 : 72856.dasm (0.17% of base)
           4 : 174134.dasm (0.16% of base)
           4 : 696652.dasm (0.17% of base)

Top file improvements (bytes):
         -40 : 613032.dasm (-2.79% of base)
         -36 : 375814.dasm (-2.82% of base)
         -36 : 57234.dasm (-2.82% of base)
         -36 : 300626.dasm (-2.79% of base)
         -36 : 450293.dasm (-2.81% of base)
         -36 : 163436.dasm (-2.82% of base)
         -36 : 701305.dasm (-2.76% of base)
         -36 : 204632.dasm (-2.76% of base)
         -36 : 406597.dasm (-2.76% of base)
         -36 : 50167.dasm (-2.82% of base)
         -36 : 75878.dasm (-2.82% of base)
         -36 : 398839.dasm (-2.76% of base)
         -36 : 536262.dasm (-2.76% of base)
         -36 : 388295.dasm (-2.76% of base)
         -36 : 469857.dasm (-2.76% of base)
         -36 : 597353.dasm (-2.76% of base)
         -36 : 620611.dasm (-2.81% of base)
         -36 : 50169.dasm (-2.74% of base)
         -36 : 286969.dasm (-2.47% of base)
         -36 : 288953.dasm (-2.47% of base)

88 total files with Code Size differences (60 improved, 28 regressed), 8 unchanged.

Top method regressions (bytes):
           4 ( 1.18% of base) : 669717.dasm - Microsoft.CodeAnalysis.CSharp.BoundCollectionExpression:.ctor(Microsoft.CodeAnalysis.SyntaxNode,int,Microsoft.CodeAnalysis.CSharp.BoundObjectOrCollectionValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression,ubyte,Microsoft.CodeAnalysis.CSharp.BoundUnconvertedCollectionExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundNode],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte):this (Tier1)
           4 ( 0.16% of base) : 329689.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.17% of base) : 378804.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.16% of base) : 247806.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.16% of base) : 641841.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.16% of base) : 255732.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.16% of base) : 481016.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.16% of base) : 187025.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.16% of base) : 199897.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.16% of base) : 339253.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.16% of base) : 365362.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.13% of base) : 310611.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.17% of base) : 311450.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.18% of base) : 286441.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.17% of base) : 280415.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.18% of base) : 518546.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.17% of base) : 694585.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.17% of base) : 374189.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.18% of base) : 350700.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.18% of base) : 699964.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)

Top method improvements (bytes):
         -40 (-2.79% of base) : 613032.dasm - System.Buffers.SharedArrayPool`1[System.ValueTuple`5[System.__Canon,System.Text.Json.JsonReaderState,long,System.__Canon,System.__Canon]]:Trim():ubyte:this (Tier1)
         -36 (-2.82% of base) : 375814.dasm - System.Buffers.SharedArrayPool`1[int]:Trim():ubyte:this (Tier1)
         -36 (-2.82% of base) : 163436.dasm - System.Buffers.SharedArrayPool`1[int]:Trim():ubyte:this (Tier1)
         -36 (-2.76% of base) : 701305.dasm - System.Buffers.SharedArrayPool`1[int]:Trim():ubyte:this (Tier1)
         -36 (-2.76% of base) : 204632.dasm - System.Buffers.SharedArrayPool`1[int]:Trim():ubyte:this (Tier1)
         -36 (-2.76% of base) : 406597.dasm - System.Buffers.SharedArrayPool`1[int]:Trim():ubyte:this (Tier1)
         -36 (-2.82% of base) : 50167.dasm - System.Buffers.SharedArrayPool`1[int]:Trim():ubyte:this (Tier1)
         -36 (-2.82% of base) : 75878.dasm - System.Buffers.SharedArrayPool`1[int]:Trim():ubyte:this (Tier1)
         -36 (-2.76% of base) : 398839.dasm - System.Buffers.SharedArrayPool`1[int]:Trim():ubyte:this (Tier1)
         -36 (-2.76% of base) : 388295.dasm - System.Buffers.SharedArrayPool`1[int]:Trim():ubyte:this (Tier1)
         -36 (-2.76% of base) : 469857.dasm - System.Buffers.SharedArrayPool`1[int]:Trim():ubyte:this (Tier1)
         -36 (-2.76% of base) : 597353.dasm - System.Buffers.SharedArrayPool`1[int]:Trim():ubyte:this (Tier1)
         -36 (-2.79% of base) : 300626.dasm - System.Buffers.SharedArrayPool`1[System.DateTime]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 620611.dasm - System.Buffers.SharedArrayPool`1[System.Text.Json.JsonProperty]:Trim():ubyte:this (Tier1)
         -36 (-2.82% of base) : 57234.dasm - System.Buffers.SharedArrayPool`1[ubyte]:Trim():ubyte:this (Tier1)
         -36 (-2.81% of base) : 450293.dasm - System.Buffers.SharedArrayPool`1[ubyte]:Trim():ubyte:this (Tier1)
         -36 (-2.76% of base) : 536262.dasm - System.Buffers.SharedArrayPool`1[ubyte]:Trim():ubyte:this (Tier1)
         -36 (-2.74% of base) : 50169.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (Tier1)
         -36 (-2.47% of base) : 286969.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (Tier1)
         -36 (-2.47% of base) : 288953.dasm - System.Reflection.CustomAttributeEncodedArgument:ParseNamedArgs(byref,System.Reflection.CustomAttributeNamedParameter[],System.Reflection.RuntimeModule) (Tier1)

Top method regressions (percentages):
           4 ( 1.18% of base) : 669717.dasm - Microsoft.CodeAnalysis.CSharp.BoundCollectionExpression:.ctor(Microsoft.CodeAnalysis.SyntaxNode,int,Microsoft.CodeAnalysis.CSharp.BoundObjectOrCollectionValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.BoundValuePlaceholder,Microsoft.CodeAnalysis.CSharp.BoundExpression,ubyte,Microsoft.CodeAnalysis.CSharp.BoundUnconvertedCollectionExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundNode],Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,ubyte):this (Tier1)
           4 ( 0.19% of base) : 215170.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.18% of base) : 155622.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.18% of base) : 699964.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.18% of base) : 286441.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.18% of base) : 350700.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.18% of base) : 707056.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.18% of base) : 518546.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.17% of base) : 696652.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.17% of base) : 311450.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.17% of base) : 374189.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.17% of base) : 694585.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.17% of base) : 280415.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.17% of base) : 72856.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.17% of base) : 378804.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.16% of base) : 481016.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.16% of base) : 554407.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           4 ( 0.16% of base) : 329689.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.16% of base) : 247806.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)
           4 ( 0.16% of base) : 255732.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (Tier1)

Top method improvements (percentages):
         -16 (-13.33% of base) : 439476.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Tier1)
         -16 (-13.33% of base) : 517469.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Tier1)
         -12 (-9.68% of base) : 323675.dasm - System.Linq.Parallel.MergeExecutor`1[double]:MakeSynchronousChannels(int):System.Linq.Parallel.SynchronousChannel`1[double][] (Tier1)
         -12 (-9.68% of base) : 320383.dasm - System.Linq.Parallel.MergeExecutor`1[int]:MakeSynchronousChannels(int):System.Linq.Parallel.SynchronousChannel`1[int][] (Tier1)
         -12 (-9.68% of base) : 321836.dasm - System.Linq.Parallel.MergeExecutor`1[long]:MakeSynchronousChannels(int):System.Linq.Parallel.SynchronousChannel`1[long][] (Tier1)
         -12 (-9.68% of base) : 323744.dasm - System.Linq.Parallel.MergeExecutor`1[System.Decimal]:MakeSynchronousChannels(int):System.Linq.Parallel.SynchronousChannel`1[System.Decimal][] (Tier1)
         -12 (-9.68% of base) : 324442.dasm - System.Linq.Parallel.MergeExecutor`1[ubyte]:MakeSynchronousChannels(int):System.Linq.Parallel.SynchronousChannel`1[ubyte][] (Tier1)
         -12 (-9.09% of base) : 4334.dasm - System.Resources.FastResourceComparer:HashFunction(System.String):int (Instrumented Tier1)
         -16 (-8.70% of base) : 450740.dasm - XmlCoreTest.Common.BufferBoundary:FinishStream():this (Tier1)
         -16 (-8.51% of base) : 121382.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (Instrumented Tier1)
         -12 (-7.89% of base) : 345656.dasm - System.Linq.Enumerable+ArraySelectIterator`2[System.__Canon,System.ReadOnlyMemory`1[ushort]]:GetCount(ubyte):int:this (Tier1)
         -12 (-7.69% of base) : 247899.dasm - System.Diagnostics.CounterCreationDataCollection:AddRange(System.Diagnostics.CounterCreationData[]):this (Tier1)
         -20 (-7.69% of base) : 254679.dasm - System.Diagnostics.Tracing.InvokeTypeInfo:WriteData(System.Diagnostics.Tracing.PropertyValue):this (Instrumented Tier1)
         -12 (-7.50% of base) : 160044.dasm - Microsoft.CodeAnalysis.CaseInsensitiveComparison+OneToOneUnicodeComparer:GetHashCode(System.String):int:this (Tier1)
         -12 (-7.50% of base) : 56930.dasm - Microsoft.CodeAnalysis.CaseInsensitiveComparison+OneToOneUnicodeComparer:GetHashCode(System.String):int:this (Tier1)
         -12 (-7.50% of base) : 77367.dasm - Microsoft.CodeAnalysis.CaseInsensitiveComparison+OneToOneUnicodeComparer:GetHashCode(System.String):int:this (Tier1)
         -12 (-7.50% of base) : 647579.dasm - Microsoft.CodeAnalysis.CaseInsensitiveComparison+OneToOneUnicodeComparer:GetHashCode(System.String):int:this (Tier1)
         -12 (-7.32% of base) : 222356.dasm - System.ComponentModel.MemberDescriptor:FillAttributes(System.Collections.IList):this (Tier1)
         -16 (-7.27% of base) : 332464.dasm - System.Linq.Enumerable+ArrayWhereIterator`1[int]:TryGetElementAt(int,byref):int:this (Tier1)
         -16 (-6.78% of base) : 657693.dasm - System.Text.RegularExpressions.Generator.RegexGenerator:<EmitTryFindNextPossibleStartingPosition>g__IsValidInFieldName|24_8(System.String):ubyte (Tier1)


libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch

To reproduce these diffs on Windows x64:

superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 182592880 (overridden on cmd)
Total bytes of diff: 182576664 (overridden on cmd)
Total bytes of delta: -16216 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
          64 : 83589.dasm (4.19% of base)
          36 : 83494.dasm (2.13% of base)
          16 : 83553.dasm (0.71% of base)
           8 : 328013.dasm (0.19% of base)
           4 : 328592.dasm (0.38% of base)
           4 : 328881.dasm (0.51% of base)
           4 : 329776.dasm (0.32% of base)
           4 : 328574.dasm (0.38% of base)

Top file improvements (bytes):
         -68 : 166083.dasm (-4.61% of base)
         -68 : 166156.dasm (-4.61% of base)
         -56 : 17961.dasm (-4.12% of base)
         -52 : 102187.dasm (-2.22% of base)
         -48 : 76003.dasm (-5.15% of base)
         -48 : 76022.dasm (-2.83% of base)
         -48 : 76001.dasm (-4.78% of base)
         -44 : 203070.dasm (-1.75% of base)
         -40 : 129262.dasm (-4.27% of base)
         -40 : 9723.dasm (-2.94% of base)
         -36 : 188860.dasm (-3.50% of base)
         -36 : 253165.dasm (-4.95% of base)
         -36 : 179546.dasm (-1.55% of base)
         -36 : 197028.dasm (-0.86% of base)
         -36 : 233336.dasm (-1.18% of base)
         -36 : 188795.dasm (-1.65% of base)
         -36 : 233140.dasm (-1.18% of base)
         -32 : 136067.dasm (-2.81% of base)
         -32 : 114503.dasm (-2.21% of base)
         -32 : 187207.dasm (-0.63% of base)

66 total files with Code Size differences (58 improved, 8 regressed), 27 unchanged.

Top method regressions (bytes):
          64 ( 4.19% of base) : 83589.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[int]:AddFirst_T_Tests():this (FullOpts)
          36 ( 2.13% of base) : 83494.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[int]:AddFirst_LinkedListNode():this (FullOpts)
          16 ( 0.71% of base) : 83553.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[System.__Canon]:AddFirst_LinkedListNode():this (FullOpts)
           8 ( 0.19% of base) : 328013.dasm - System.Threading.Tasks.Tests.TaskRtTests:FromResult_KnownResults_Cached() (FullOpts)
           4 ( 0.38% of base) : 328574.dasm - System.Threading.Tests.InterlockedTests:InterlockedCompareExchange_Multithreaded_Double():this (FullOpts)
           4 ( 0.38% of base) : 328592.dasm - System.Threading.Tests.InterlockedTests:InterlockedIncrement_Multithreaded_Int32():this (FullOpts)
           4 ( 0.51% of base) : 328881.dasm - System.Threading.Tests.MutexTests:NamedMutex_DisposeWhenLockedRaceTest():this (FullOpts)
           4 ( 0.32% of base) : 329776.dasm - System.Threading.Tests.TimerMetricsTests+<>c:<CountTest>b__0_0():this (FullOpts)

Top method improvements (bytes):
         -68 (-4.61% of base) : 166156.dasm - System.Net.NetworkInformation.Tests.NetworkInterfaceBasicTest:BasicTest_GetIPInterfaceStatistics_Success():this (FullOpts)
         -68 (-4.61% of base) : 166083.dasm - System.Net.NetworkInformation.Tests.NetworkInterfaceIPv4Statistics:BasicTest_GetIPv4InterfaceStatistics_Success():this (FullOpts)
         -56 (-4.12% of base) : 17961.dasm - IntrinsicsInSystemPrivateCoreLib.IntrinsicsInSystemPrivateCoreLibAnalyzer:<AnalyzeOperation>g__HandleConditionalCase|32_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode,byref):ubyte (FullOpts)
         -52 (-2.22% of base) : 102187.dasm - System.Data.Tests.DataProvider:GetDSSchema(System.Data.DataSet):System.String (FullOpts)
         -48 (-2.83% of base) : 76022.dasm - System.Collections.Frozen.Tests.FrozenDictionary_NonGeneric_Tests:Sparse_LookupItems_AlltemsFoundAsExpected():this (FullOpts)
         -48 (-5.15% of base) : 76003.dasm - System.Collections.Frozen.Tests.FrozenSet_NonGeneric_Tests:ClosedRange_Lookup_AllItemsFoundAsExpected():this (FullOpts)
         -48 (-4.78% of base) : 76001.dasm - System.Collections.Frozen.Tests.FrozenSet_NonGeneric_Tests:Sparse_LookupItems_AlltemsFoundAsExpected():this (FullOpts)
         -44 (-1.75% of base) : 203070.dasm - System.Reflection.Tests.ConstructorInfoInvokeArrayTests:Invoke_SZArrayConstructor():this (FullOpts)
         -40 (-2.94% of base) : 9723.dasm - System.Buffers.SharedArrayPool`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:Trim():ubyte:this (FullOpts)
         -40 (-4.27% of base) : 129262.dasm - System.Globalization.Tests.TextElementEnumeratorTests:Enumerate(System.String[]):this (FullOpts)
         -36 (-1.55% of base) : 179546.dasm - System.Collections.ObjectModel.Tests.ReadOnlyObservableCollection_EventsTests:InsertTest_Negative() (FullOpts)
         -36 (-0.86% of base) : 197028.dasm - System.Reflection.Emit.Tests.AssemblySaveTypeBuilderAPIsTests:GetMethodsGetMethodImpl_Tests():this (FullOpts)
         -36 (-4.95% of base) : 253165.dasm - System.Speech.Internal.Synthesis.VoiceSynthesis:GetSsmlEngine(System.Speech.Synthesis.VoiceInfo):System.Speech.Internal.Synthesis.ITtsEngineProxy:this (FullOpts)
         -36 (-1.18% of base) : 233140.dasm - System.Tests.IntPtrTests:TestExplicitCast() (FullOpts)
         -36 (-1.18% of base) : 233336.dasm - System.Tests.UIntPtrTests:TestExplicitCast() (FullOpts)
         -36 (-1.65% of base) : 188795.dasm - System.Xml.XmlSchemaValidatorApiTests.TCEndValidation:TestForRootLevelIdentityConstraints_Valid_IDREFMissingInvalid_IgnoreIdentityConstraintsIsSetInvalid(System.String):this (FullOpts)
         -36 (-3.50% of base) : 188860.dasm - System.Xml.XmlSchemaValidatorApiTests.TCGetUnspecifiedDefaultAttributes:CheckDefaultAttributes(System.Collections.ArrayList,System.String[]):this (FullOpts)
         -32 (-2.21% of base) : 114503.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.basic.operate010a.operate010a.Test:Test3():ubyte (FullOpts)
         -32 (-2.81% of base) : 136067.dasm - System.IO.Tests.FileStream_ctor_str_fm_fa_fs:<FileShareOpen_Inheritable>b__17_0():this (FullOpts)
         -32 (-0.63% of base) : 187207.dasm - System.Xml.Xsl.IlGen.XmlILStorageMethods:.ctor(System.Type):this (FullOpts)

Top method regressions (percentages):
          64 ( 4.19% of base) : 83589.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[int]:AddFirst_T_Tests():this (FullOpts)
          36 ( 2.13% of base) : 83494.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[int]:AddFirst_LinkedListNode():this (FullOpts)
          16 ( 0.71% of base) : 83553.dasm - System.Collections.Tests.LinkedList_Generic_Tests`1[System.__Canon]:AddFirst_LinkedListNode():this (FullOpts)
           4 ( 0.51% of base) : 328881.dasm - System.Threading.Tests.MutexTests:NamedMutex_DisposeWhenLockedRaceTest():this (FullOpts)
           4 ( 0.38% of base) : 328592.dasm - System.Threading.Tests.InterlockedTests:InterlockedIncrement_Multithreaded_Int32():this (FullOpts)
           4 ( 0.38% of base) : 328574.dasm - System.Threading.Tests.InterlockedTests:InterlockedCompareExchange_Multithreaded_Double():this (FullOpts)
           4 ( 0.32% of base) : 329776.dasm - System.Threading.Tests.TimerMetricsTests+<>c:<CountTest>b__0_0():this (FullOpts)
           8 ( 0.19% of base) : 328013.dasm - System.Threading.Tasks.Tests.TaskRtTests:FromResult_KnownResults_Cached() (FullOpts)

Top method improvements (percentages):
         -16 (-15.38% of base) : 153692.dasm - System.SpanTests.IndexOfAnyExceptTests`1[System.__Canon]:Set(System.__Canon[],System.__Canon,int[]):System.__Canon[]:this (FullOpts)
         -16 (-13.79% of base) : 197226.dasm - System.Reflection.TypeLoading.RoConstructedGenericType:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -16 (-13.79% of base) : 323200.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources:get_AllTargetsHaveAtLeastOneMessage():ubyte:this (FullOpts)
         -16 (-13.33% of base) : 196168.dasm - System.Reflection.Emit.TypeNameBuilder:ContainsReservedChar(System.String):ubyte (FullOpts)
         -12 (-12.50% of base) : 37732.dasm - Microsoft.Extensions.Diagnostics.Metrics.MetricsSubscriptionManager:Initialize():this (FullOpts)
         -16 (-12.50% of base) : 195528.dasm - System.Reflection.Emit.Tests.DynamicILInfoTests+Finder:Find[int](int[],System.Reflection.Emit.Tests.DynamicILInfoTests+Satisfy`1[int]):int (FullOpts)
         -12 (-12.00% of base) : 323350.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources:CompleteEachTarget():this (FullOpts)
         -16 (-11.76% of base) : 54851.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:Count[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (FullOpts)
         -16 (-11.76% of base) : 24640.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:MethodHasByRefParameter(System.Reflection.MethodInfo):ubyte (FullOpts)
         -12 (-11.11% of base) : 56118.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
         -12 (-11.11% of base) : 43967.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
         -12 (-11.11% of base) : 12566.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
         -12 (-11.11% of base) : 50102.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
         -16 (-11.11% of base) : 200632.dasm - System.Reflection.TypeLoading.RoFunctionPointerType:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -16 (-10.81% of base) : 44977.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFacts:ContainsDroppedIdentifierCharacters(System.String):ubyte (FullOpts)
         -16 (-10.81% of base) : 56952.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFacts:ContainsDroppedIdentifierCharacters(System.String):ubyte (FullOpts)
         -16 (-10.81% of base) : 14689.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFacts:ContainsDroppedIdentifierCharacters(System.String):ubyte (FullOpts)
         -16 (-10.81% of base) : 51325.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFacts:ContainsDroppedIdentifierCharacters(System.String):ubyte (FullOpts)
         -12 (-10.71% of base) : 191786.dasm - System.Xml.XmlDocumentTests.RemoveChildTests:Text_Comment_CDATA() (FullOpts)
         -12 (-10.71% of base) : 191785.dasm - System.Xml.XmlDocumentTests.RemoveChildTests:Whitespace_Element_Whitespace() (FullOpts)


realworld.run.windows.arm64.checked.mch

To reproduce these diffs on Windows x64:

superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 13086704 (overridden on cmd)
Total bytes of diff: 13085268 (overridden on cmd)
Total bytes of delta: -1436 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
           4 : 6350.dasm (0.37% of base)

Top file improvements (bytes):
         -64 : 21897.dasm (-0.41% of base)
         -40 : 3908.dasm (-2.95% of base)
         -40 : 4978.dasm (-2.53% of base)
         -40 : 24795.dasm (-1.58% of base)
         -32 : 21938.dasm (-2.99% of base)
         -28 : 21582.dasm (-4.58% of base)
         -28 : 14124.dasm (-2.89% of base)
         -28 : 22263.dasm (-1.56% of base)
         -24 : 24621.dasm (-5.00% of base)
         -24 : 2766.dasm (-3.55% of base)
         -24 : 25196.dasm (-1.13% of base)
         -20 : 5103.dasm (-4.85% of base)
         -20 : 6478.dasm (-0.85% of base)
         -20 : 23445.dasm (-2.70% of base)
         -20 : 515.dasm (-1.60% of base)
         -20 : 24197.dasm (-3.47% of base)
         -20 : 23836.dasm (-0.86% of base)
         -16 : 13887.dasm (-10.53% of base)
         -16 : 5101.dasm (-8.33% of base)
         -16 : 4287.dasm (-8.89% of base)

82 total files with Code Size differences (81 improved, 1 regressed), 0 unchanged.

Top method regressions (bytes):
           4 ( 0.37% of base) : 6350.dasm - Microsoft.ML.Transforms.Text.WordEmbeddingEstimator:GetOutputSchema(Microsoft.ML.SchemaShape):Microsoft.ML.SchemaShape:this (FullOpts)

Top method improvements (bytes):
         -64 (-0.41% of base) : 21897.dasm - System.Management.Automation.Language.CachedReflectionInfo:.cctor() (FullOpts)
         -40 (-2.53% of base) : 4978.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+<>c__DisplayClass5_1:<ConsolidateCore>b__2():this (FullOpts)
         -40 (-2.95% of base) : 3908.dasm - System.Buffers.SharedArrayPool`1[System.__Canon]:Trim():ubyte:this (FullOpts)
         -40 (-1.58% of base) : 24795.dasm - System.Management.Automation.Internal.ModuleUtils+<GetDefaultAvailableModuleFiles>d__9:MoveNext():ubyte:this (FullOpts)
         -32 (-2.99% of base) : 21938.dasm - System.Management.Automation.MutableTuple:GetSize(System.Type):int (FullOpts)
         -28 (-2.89% of base) : 14124.dasm - Microsoft.CodeAnalysis.TypeNameDecoder`2[System.__Canon,System.__Canon]:GetTypeSymbol(Microsoft.CodeAnalysis.MetadataHelpers+AssemblyQualifiedTypeName,byref):System.__Canon:this (FullOpts)
         -28 (-1.56% of base) : 22263.dasm - Microsoft.PowerShell.Commands.RegistryProvider:GetRegkeyForPath(System.String,ubyte):Microsoft.PowerShell.Commands.IRegistryWrapper:this (FullOpts)
         -28 (-4.58% of base) : 21582.dasm - System.Management.Automation.Utils:GetPolicySettingFromGPO[System.__Canon](int[]):System.__Canon (FullOpts)
         -24 (-3.55% of base) : 2766.dasm - Microsoft.FSharp.Core.CompilerServices.ListCollector`1[System.__Canon]:AddMany(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (FullOpts)
         -24 (-1.13% of base) : 25196.dasm - Microsoft.PowerShell.Commands.ImportModuleCommand:ProcessRecord():this (FullOpts)
         -24 (-5.00% of base) : 24621.dasm - System.Management.Automation.Host.PSHostUserInterface:ShouldIgnoreCommand(System.String,System.Management.Automation.InvocationInfo):ubyte:this (FullOpts)
         -20 (-4.85% of base) : 5103.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+<>c__DisplayClass5_0:<ConsolidateCore>b__1():this (FullOpts)
         -20 (-1.60% of base) : 515.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (FullOpts)
         -20 (-2.70% of base) : 23445.dasm - System.Management.Automation.CompiledScriptBlockData:InitializeMetadata():this (FullOpts)
         -20 (-3.47% of base) : 24197.dasm - System.Management.Automation.PSLocalEventManager:Dispose(ubyte):this (FullOpts)
         -20 (-0.85% of base) : 6478.dasm - System.Net.Http.HttpWindowsProxy:UpdateConfiguration(System.Net.Http.WinInetProxyHelper):this (FullOpts)
         -20 (-0.86% of base) : 23836.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateInterfaces(System.RuntimeType+RuntimeTypeCache+Filter):System.RuntimeType[]:this (FullOpts)
         -16 (-10.53% of base) : 13887.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFacts:ContainsDroppedIdentifierCharacters(System.String):ubyte (FullOpts)
         -16 (-11.76% of base) : 10631.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:Count[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (FullOpts)
         -16 (-8.33% of base) : 5101.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+Cursor:Dispose(ubyte):this (FullOpts)

Top method regressions (percentages):
           4 ( 0.37% of base) : 6350.dasm - Microsoft.ML.Transforms.Text.WordEmbeddingEstimator:GetOutputSchema(Microsoft.ML.SchemaShape):Microsoft.ML.SchemaShape:this (FullOpts)

Top method improvements (percentages):
         -16 (-11.76% of base) : 10631.dasm - Microsoft.CodeAnalysis.ImmutableArrayExtensions:Count[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (FullOpts)
         -16 (-11.76% of base) : 25649.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:MethodHasByRefParameter(System.Reflection.MethodInfo):ubyte (FullOpts)
         -12 (-11.11% of base) : 14386.dasm - Microsoft.CodeAnalysis.CSharp.BoundTreeWalker:VisitList[System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon]):this (FullOpts)
         -16 (-10.53% of base) : 13887.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFacts:ContainsDroppedIdentifierCharacters(System.String):ubyte (FullOpts)
         -12 (-9.68% of base) : 22151.dasm - System.Management.Automation.Runspaces.TypeTable:StandardMembersUpdated() (FullOpts)
         -12 (-9.38% of base) : 3997.dasm - SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.SpectralConverter`1[SixLabors.ImageSharp.PixelFormats.Rgb24]:ConvertStrideBaseline():this (FullOpts)
         -16 (-8.89% of base) : 4287.dasm - SixLabors.ImageSharp.Memory.MemoryGroup`1+Owned[SixLabors.ImageSharp.PixelFormats.Rgba32]:IncreaseRefCounts():this (FullOpts)
         -16 (-8.33% of base) : 5101.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+Cursor:Dispose(ubyte):this (FullOpts)
         -16 (-7.84% of base) : 23899.dasm - System.Management.Automation.Adapter:IsInvocationConstraintSatisfied(System.Management.Automation.Adapter+OverloadCandidate,System.Management.Automation.PSMethodInvocationConstraints):ubyte (FullOpts)
         -16 (-6.67% of base) : 4315.dasm - SixLabors.ImageSharp.Memory.MemoryGroup`1+Owned[SixLabors.ImageSharp.PixelFormats.Rgba32]:DecreaseRefCounts():this (FullOpts)
         -16 (-6.56% of base) : 102.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (FullOpts)
         -12 (-6.12% of base) : 10393.dasm - Microsoft.CodeAnalysis.CaseInsensitiveComparison+OneToOneUnicodeComparer:GetHashCode(System.String):int:this (FullOpts)
         -16 (-6.06% of base) : 3788.dasm - SixLabors.ImageSharp.Memory.MemoryGroup`1+Owned[SixLabors.ImageSharp.PixelFormats.Rgba32]:Dispose():this (FullOpts)
          -4 (-5.88% of base) : 10612.dasm - Roslyn.Utilities.Hash:CombineFNVHash(int,System.String):int (FullOpts)
          -4 (-5.88% of base) : 1887.dasm - System.Resources.FastResourceComparer:HashFunction(System.String):int (FullOpts)
         -24 (-5.00% of base) : 24621.dasm - System.Management.Automation.Host.PSHostUserInterface:ShouldIgnoreCommand(System.String,System.Management.Automation.InvocationInfo):ubyte:this (FullOpts)
          -4 (-5.00% of base) : 467.dasm - System.Reflection.MetadataToken:IsTokenOfType(int,int[]):ubyte (FullOpts)
         -20 (-4.85% of base) : 5103.dasm - Microsoft.ML.Data.DataViewUtils+Splitter+<>c__DisplayClass5_0:<ConsolidateCore>b__1():this (FullOpts)
          -4 (-4.76% of base) : 24419.dasm - Microsoft.ApplicationInsights.Metrics.Util:CombineHashCodes(int[]):int (FullOpts)
          -4 (-4.76% of base) : 833.dasm - System.Reflection.Emit.DynamicResolver:CalculateNumberOfExceptions(System.Reflection.Emit.__ExceptionInfo[]):int (FullOpts)


smoke_tests.nativeaot.windows.arm64.checked.mch

To reproduce these diffs on Windows x64:

superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 3976468 (overridden on cmd)
Total bytes of diff: 3975224 (overridden on cmd)
Total bytes of delta: -1244 (-0.03 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file improvements (bytes):
         -36 : 6266.dasm (-3.78% of base)
         -36 : 12149.dasm (-3.95% of base)
         -32 : 1233.dasm (-4.82% of base)
         -32 : 3764.dasm (-3.85% of base)
         -32 : 11724.dasm (-4.73% of base)
         -32 : 13374.dasm (-4.52% of base)
         -28 : 12261.dasm (-6.54% of base)
         -28 : 7658.dasm (-5.51% of base)
         -20 : 10838.dasm (-4.46% of base)
         -20 : 10695.dasm (-1.86% of base)
         -20 : 12020.dasm (-7.69% of base)
         -20 : 6593.dasm (-6.10% of base)
         -20 : 9539.dasm (-9.62% of base)
         -20 : 11975.dasm (-4.50% of base)
         -20 : 22956.dasm (-4.59% of base)
         -20 : 7344.dasm (-5.56% of base)
         -16 : 1729.dasm (-14.29% of base)
         -16 : 3408.dasm (-13.33% of base)
         -16 : 11369.dasm (-2.09% of base)
         -16 : 11689.dasm (-8.89% of base)

34 total files with Code Size differences (34 improved, 0 regressed), 40 unchanged.

Top method improvements (bytes):
         -36 (-3.78% of base) : 6266.dasm - Internal.Runtime.TypeLoader.NativeLayoutInterfacesAlgorithm:ComputeRuntimeInterfaces(Internal.TypeSystem.TypeDesc):Internal.TypeSystem.DefType[]:this (FullOpts)
         -36 (-3.95% of base) : 12149.dasm - Internal.Runtime.TypeLoader.NativeLayoutInterfacesAlgorithm:ComputeRuntimeInterfaces(Internal.TypeSystem.TypeDesc):Internal.TypeSystem.DefType[]:this (FullOpts)
         -32 (-4.52% of base) : 13374.dasm - Program:<Main>$(System.String[]):int (FullOpts)
         -32 (-4.73% of base) : 11724.dasm - System.Buffers.SharedArrayPool`1[System.__Canon]:Trim():ubyte:this (FullOpts)
         -32 (-4.82% of base) : 1233.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (FullOpts)
         -32 (-3.85% of base) : 3764.dasm - System.Buffers.SharedArrayPool`1[ushort]:Trim():ubyte:this (FullOpts)
         -28 (-6.54% of base) : 12261.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
         -28 (-5.51% of base) : 7658.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
         -20 (-4.59% of base) : 22956.dasm - StackTraces+TestStackTraceHidden:Run() (FullOpts)
         -20 (-1.86% of base) : 10695.dasm - System.ActivatorImplementation:CreateInstance(System.Type,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[]):System.Object (FullOpts)
         -20 (-4.46% of base) : 10838.dasm - System.Linq.Expressions.Expression:FindMethod(System.Type,System.String,System.Type[],System.Linq.Expressions.Expression[],int):System.Reflection.MethodInfo (FullOpts)
         -20 (-4.50% of base) : 11975.dasm - System.Reflection.Runtime.General.Assignability:CanCastArrayToInterface(System.Type,System.Type):ubyte (FullOpts)
         -20 (-7.69% of base) : 12020.dasm - System.Reflection.Runtime.General.Assignability:ProvablyAGcReferenceTypeHelper(System.Type):ubyte (FullOpts)
         -20 (-5.56% of base) : 7344.dasm - System.Reflection.Runtime.General.Assignability:ProvablyAGcReferenceTypeHelper(System.Type):ubyte (FullOpts)
         -20 (-6.10% of base) : 6593.dasm - System.Type:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -20 (-9.62% of base) : 9539.dasm - System.Type:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -16 (-6.78% of base) : 12483.dasm - Internal.Reflection.Execution.ConstraintValidator:HasExplicitOrImplicitPublicDefaultConstructor(System.Type):ubyte (FullOpts)
         -16 (-5.13% of base) : 22497.dasm - ReflectionTest+TestIsValueTypeWithoutTypeHandle:Run() (FullOpts)
         -16 (-8.89% of base) : 11689.dasm - System.Reflection.Runtime.MethodInfos.RuntimeMethodInfo:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -16 (-14.29% of base) : 1729.dasm - System.Reflection.Runtime.TypeInfos.RuntimeConstructedGenericTypeInfo:get_ContainsGenericParameters():ubyte:this (FullOpts)

Top method improvements (percentages):
         -16 (-14.29% of base) : 1729.dasm - System.Reflection.Runtime.TypeInfos.RuntimeConstructedGenericTypeInfo:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -16 (-13.33% of base) : 3408.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (FullOpts)
         -16 (-13.33% of base) : 9652.dasm - System.String:IsNullOrWhiteSpace(System.String):ubyte (FullOpts)
         -16 (-12.12% of base) : 5595.dasm - System.Reflection.Runtime.TypeInfos.RuntimeConstructedGenericTypeInfo:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -16 (-11.76% of base) : 1722.dasm - System.Reflection.Runtime.TypeInfos.RuntimeFunctionPointerTypeInfo:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -20 (-9.62% of base) : 9539.dasm - System.Type:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -16 (-9.09% of base) : 5583.dasm - System.Reflection.Runtime.TypeInfos.RuntimeFunctionPointerTypeInfo:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -16 (-8.89% of base) : 11689.dasm - System.Reflection.Runtime.MethodInfos.RuntimeMethodInfo:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -20 (-7.69% of base) : 12020.dasm - System.Reflection.Runtime.General.Assignability:ProvablyAGcReferenceTypeHelper(System.Type):ubyte (FullOpts)
         -12 (-7.32% of base) : 9052.dasm - System.Type:GetMemberWithSameMetadataDefinitionAs(System.Reflection.MemberInfo):System.Reflection.MemberInfo:this (FullOpts)
         -12 (-6.98% of base) : 10600.dasm - System.Reflection.Runtime.General.TypeUnifier:WithVerifiedTypeHandle(System.Reflection.Runtime.TypeInfos.RuntimeConstructedGenericTypeInfo,System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo[]):System.Reflection.Runtime.TypeInfos.RuntimeConstructedGenericTypeInfo (FullOpts)
         -16 (-6.78% of base) : 12483.dasm - Internal.Reflection.Execution.ConstraintValidator:HasExplicitOrImplicitPublicDefaultConstructor(System.Type):ubyte (FullOpts)
         -12 (-6.67% of base) : 487.dasm - System.Diagnostics.StackTrace:ToString(int,System.Text.StringBuilder):this (FullOpts)
         -12 (-6.67% of base) : 3122.dasm - System.Diagnostics.StackTrace:ToString(int,System.Text.StringBuilder):this (FullOpts)
         -12 (-6.67% of base) : 6365.dasm - System.Globalization.CalendarData:GetCalendarMonthInfo(System.String,ushort,uint,byref):ubyte (FullOpts)
         -12 (-6.67% of base) : 2284.dasm - System.Globalization.CalendarData:GetCalendarMonthInfo(System.String,ushort,uint,byref):ubyte (FullOpts)
         -28 (-6.54% of base) : 12261.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts)
         -12 (-6.25% of base) : 5444.dasm - System.Reflection.Runtime.General.TypeUnifier:WithVerifiedTypeHandle(System.Reflection.Runtime.TypeInfos.RuntimeConstructedGenericTypeInfo,System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo[]):System.Reflection.Runtime.TypeInfos.RuntimeConstructedGenericTypeInfo (FullOpts)
         -20 (-6.10% of base) : 6593.dasm - System.Type:get_ContainsGenericParameters():ubyte:this (FullOpts)
         -12 (-5.88% of base) : 1869.dasm - System.Reflection.Runtime.General.Helpers:EscapeTypeNameIdentifier(System.String):System.String (FullOpts)


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment