Skip to content

Instantly share code, notes, and snippets.

@MihuBot
Created April 12, 2024 15:38
Show Gist options
  • Save MihuBot/47bffa0235d7a381e32f7febb1a4afa0 to your computer and use it in GitHub Desktop.
Save MihuBot/47bffa0235d7a381e32f7febb1a4afa0 to your computer and use it in GitHub Desktop.

Top method improvements

-24 (-1.26 % of base) - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:GetDependencies(System.Reflection.TypeInfo,System.Composition.Hosting.Core.DependencyAccessor):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]:this
 ; Assembly listing for method System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:GetDependencies(System.Reflection.TypeInfo,System.Composition.Hosting.Core.DependencyAccessor):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 14 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T26] (  4,  4   )     ref  ->  x20         this class-hnd single-def <System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature>
-;  V01 arg1         [V01,T27] (  4,  4   )     ref  ->   x1         class-hnd single-def <System.Reflection.TypeInfo>
+;  V00 this         [V00,T27] (  4,  4   )     ref  ->  x20         this class-hnd single-def <System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature>
+;  V01 arg1         [V01,T28] (  4,  4   )     ref  ->   x1         class-hnd single-def <System.Reflection.TypeInfo>
 ;  V02 arg2         [V02,T07] (  6, 10   )     ref  ->  x19         class-hnd single-def <System.Composition.Hosting.Core.DependencyAccessor>
 ;* V03 loc0         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Type>
-;  V04 loc1         [V04,T68] (  3,  2.50)     ref  ->  x20         class-hnd single-def <<>f__AnonymousType2`2[System.Composition.TypedParts.ActivationFeatures.PropertyImportSite,System.Composition.TypedParts.ImportInfo][]>
+;  V04 loc1         [V04,T67] (  3,  2.50)     ref  ->  x20         class-hnd single-def <<>f__AnonymousType2`2[System.Composition.TypedParts.ActivationFeatures.PropertyImportSite,System.Composition.TypedParts.ImportInfo][]>
 ;  V05 loc2         [V05,T00] ( 14, 25   )     ref  ->  x22         class-hnd exact single-def <System.Collections.Generic.List`1[System.Composition.Hosting.Core.CompositionDependency]>
-;  V06 loc3         [V06,T46] (  2,  4.50)     ref  ->  x20         class-hnd exact single-def <<>f__AnonymousType2`2[System.Composition.TypedParts.ActivationFeatures.PropertyImportSite,System.Composition.TypedParts.ImportInfo][]>
+;  V06 loc3         [V06,T45] (  2,  4.50)     ref  ->  x20         class-hnd exact single-def <<>f__AnonymousType2`2[System.Composition.TypedParts.ActivationFeatures.PropertyImportSite,System.Composition.TypedParts.ImportInfo][]>
 ;  V07 loc4         [V07,T02] (  5, 16.50)     int  ->  x25        
 ;  V08 loc5         [V08,T11] (  4, 12   )     ref  ->  x26         class-hnd exact <<>f__AnonymousType2`2[System.Composition.TypedParts.ActivationFeatures.PropertyImportSite,System.Composition.TypedParts.ImportInfo]>
 ;  V09 loc6         [V09,T14] (  4,  8   )     ref  ->   x2         ld-addr-op class-hnd <System.Composition.Hosting.Core.CompositionDependency>
 ;# V10 OutArgs      [V10    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V11 tmp1         [V11,T47] (  2,  4   )     ref  ->  x23         class-hnd single-def "dup spill" <System.Func`2[System.Reflection.PropertyInfo,ubyte]>
-;  V12 tmp2         [V12,T48] (  2,  4   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.PropertyInfo]>
+;  V11 tmp1         [V11,T46] (  2,  4   )     ref  ->  x23         class-hnd single-def "dup spill" <System.Func`2[System.Reflection.PropertyInfo,ubyte]>
+;  V12 tmp2         [V12,T47] (  2,  4   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.PropertyInfo]>
 ;* V13 tmp3         [V13    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V14 tmp4         [V14,T59] (  4,  3.50)     ref  ->  x23        
-;  V15 tmp5         [V15,T16] (  4,  8   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.PropertyInfo,<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]]]>
-;  V16 tmp6         [V16,T49] (  2,  4   )     ref  ->   x1         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.PropertyInfo]>
-;  V17 tmp7         [V17,T50] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite]]>
-;  V18 tmp8         [V18,T51] (  2,  4   )     ref  ->  x20         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]]]>
+;  V14 tmp4         [V14,T58] (  4,  3.50)     ref  ->  x23        
+;  V15 tmp5         [V15,T17] (  4,  8   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.PropertyInfo,<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]]]>
+;  V16 tmp6         [V16,T48] (  2,  4   )     ref  ->   x1         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.PropertyInfo]>
+;  V17 tmp7         [V17,T49] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite]]>
+;  V18 tmp8         [V18,T50] (  2,  4   )     ref  ->  x20         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]]]>
 ;* V19 tmp9         [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V20 tmp10        [V20,T60] (  4,  3.50)     ref  ->   x2        
-;  V21 tmp11        [V21,T52] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite],ubyte]>
-;  V22 tmp12        [V22,T53] (  2,  4   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite]]>
+;  V20 tmp10        [V20,T59] (  4,  3.50)     ref  ->   x2        
+;  V21 tmp11        [V21,T51] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite],ubyte]>
+;  V22 tmp12        [V22,T52] (  2,  4   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite]]>
 ;* V23 tmp13        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V24 tmp14        [V24,T61] (  4,  3.50)     ref  ->   x2        
-;  V25 tmp15        [V25,T54] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite],<>f__AnonymousType2`2[System.Composition.TypedParts.ActivationFeatures.PropertyImportSite,System.Composition.TypedParts.ImportInfo]]>
-;  V26 tmp16        [V26,T55] (  2,  4   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite]]>
+;  V24 tmp14        [V24,T60] (  4,  3.50)     ref  ->   x2        
+;  V25 tmp15        [V25,T53] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Func`2[<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite],<>f__AnonymousType2`2[System.Composition.TypedParts.ActivationFeatures.PropertyImportSite,System.Composition.TypedParts.ImportInfo]]>
+;  V26 tmp16        [V26,T54] (  2,  4   )     ref  ->  x20         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite]]>
 ;* V27 tmp17        [V27    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V28 tmp18        [V28,T62] (  4,  3.50)     ref  ->   x2        
-;  V29 tmp19        [V29,T63] (  3,  3   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Composition.Hosting.Core.CompositionDependency]>
+;  V28 tmp18        [V28,T61] (  4,  3.50)     ref  ->   x2        
+;  V29 tmp19        [V29,T62] (  3,  3   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Composition.Hosting.Core.CompositionDependency]>
 ;  V30 tmp20        [V30,T13] (  3, 12   )     ref  ->  x26         class-hnd exact "impAppendStmt" <System.Composition.TypedParts.ActivationFeatures.PropertyImportSite>
 ;  V31 tmp21        [V31,T03] (  4, 16   )     ref  ->  x26         class-hnd exact "impAppendStmt" <System.Composition.TypedParts.ActivationFeatures.PropertyImportSite>
 ;  V32 tmp22        [V32,T39] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite],<>f__AnonymousType2`2[System.Composition.TypedParts.ActivationFeatures.PropertyImportSite,System.Composition.TypedParts.ImportInfo]]>
 ;  V33 tmp23        [V33,T40] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite],ubyte]>
 ;  V34 tmp24        [V34,T41] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite]]>
 ;  V35 tmp25        [V35,T42] (  5,  5   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.PropertyInfo,ubyte]>
-;  V36 tmp26        [V36,T64] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c>
-;  V37 tmp27        [V37,T65] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c>
-;  V38 tmp28        [V38,T66] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c>
-;  V39 tmp29        [V39,T67] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c>
+;  V36 tmp26        [V36,T63] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c>
+;  V37 tmp27        [V37,T64] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c>
+;  V38 tmp28        [V38,T65] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c>
+;  V39 tmp29        [V39,T66] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c>
 ;* V40 tmp30        [V40    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;* V41 tmp31        [V41    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
-;  V42 tmp32        [V42,T17] (  4,  8   )     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Composition.Hosting.Core.CompositionDependency>
+;  V42 tmp32        [V42,T18] (  4,  8   )     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Composition.Hosting.Core.CompositionDependency>
 ;  V43 tmp33        [V43,T01] (  5, 20   )     ref  ->  x27         class-hnd exact "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
-;  V44 tmp34        [V44,T18] (  3,  6   )     ref  ->   x2         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Composition.Hosting.Core.CompositionDependency>
-;* V45 tmp35        [V45,T57] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V44 tmp34        [V44,T19] (  3,  6   )     ref  ->   x2         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Composition.Hosting.Core.CompositionDependency>
+;* V45 tmp35        [V45,T56] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V46 tmp36        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Composition.Hosting.Core.ExportDescriptorPromise[]>
 ;  V47 tmp37        [V47,T08] (  6, 12   )     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Composition.Hosting.Core.ExportDescriptorPromise[]>
 ;  V48 tmp38        [V48,T04] (  4, 16   )     ref  ->  x28         class-hnd "Inlining Arg" <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.ExportDescriptorPromise]>
-;  V49 tmp39        [V49,T19] (  4,  8   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Linq.Enumerable+Iterator`1[System.Composition.Hosting.Core.ExportDescriptorPromise]>
-;  V50 tmp40        [V50,T20] (  4,  8   )     ref  ->  [fp+0x28]  class-hnd spill-single-def "Inline stloc first use temp" <System.Collections.Generic.ICollection`1[System.Composition.Hosting.Core.ExportDescriptorPromise]>
-;  V51 tmp41        [V51,T28] (  3,  6   )     ref  ->  x28         class-hnd "Inline return value spill temp" <System.Composition.Hosting.Core.ExportDescriptorPromise[]>
-;  V52 tmp42        [V52,T34] (  3,  6   )     int  ->   x0         "Inline stloc first use temp"
-;  V53 tmp43        [V53,T29] (  3,  6   )     ref  ->  [fp+0x20]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.Composition.Hosting.Core.ExportDescriptorPromise[]>
-;  V54 tmp44        [V54,T30] (  3,  6   )     ref  ->   x3         class-hnd "Inline stloc first use temp" <System.Composition.Hosting.Core.CompositionDependency[]>
-;  V55 tmp45        [V55,T23] (  4,  8   )     int  ->   x0         "Inline stloc first use temp"
+;  V49 tmp39        [V49,T20] (  4,  8   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Linq.Enumerable+Iterator`1[System.Composition.Hosting.Core.ExportDescriptorPromise]>
+;  V50 tmp40        [V50,T21] (  4,  8   )     ref  ->  [fp+0x28]  class-hnd spill-single-def "Inline stloc first use temp" <System.Collections.Generic.ICollection`1[System.Composition.Hosting.Core.ExportDescriptorPromise]>
+;  V51 tmp41        [V51,T29] (  3,  6   )     ref  ->  x28         class-hnd "Inline return value spill temp" <System.Composition.Hosting.Core.ExportDescriptorPromise[]>
+;  V52 tmp42        [V52,T35] (  3,  6   )     int  ->   x0         "Inline stloc first use temp"
+;  V53 tmp43        [V53,T30] (  3,  6   )     ref  ->  [fp+0x20]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.Composition.Hosting.Core.ExportDescriptorPromise[]>
+;  V54 tmp44        [V54,T31] (  3,  6   )     ref  ->   x3         class-hnd "Inline stloc first use temp" <System.Composition.Hosting.Core.CompositionDependency[]>
+;  V55 tmp45        [V55,T24] (  4,  8   )     int  ->   x0         "Inline stloc first use temp"
 ;* V56 tmp46        [V56    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
-;* V57 tmp47        [V57,T58] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V57 tmp47        [V57,T57] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V58 tmp48        [V58,T05] (  4, 16   )     ref  ->  x27         class-hnd exact "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
 ;* V59 tmp49        [V59    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Composition.Hosting.Core.ExportDescriptorPromise[]>
 ;  V60 tmp50        [V60,T09] (  6, 12   )     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Composition.Hosting.Core.ExportDescriptorPromise[]>
 ;  V61 tmp51        [V61,T06] (  4, 16   )     ref  ->  x28         class-hnd "Inlining Arg" <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.ExportDescriptorPromise]>
-;  V62 tmp52        [V62,T21] (  4,  8   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Linq.Enumerable+Iterator`1[System.Composition.Hosting.Core.ExportDescriptorPromise]>
-;  V63 tmp53        [V63,T22] (  4,  8   )     ref  ->  [fp+0x18]  class-hnd spill-single-def "Inline stloc first use temp" <System.Collections.Generic.ICollection`1[System.Composition.Hosting.Core.ExportDescriptorPromise]>
-;  V64 tmp54        [V64,T31] (  3,  6   )     ref  ->  x28         class-hnd "Inline return value spill temp" <System.Composition.Hosting.Core.ExportDescriptorPromise[]>
-;  V65 tmp55        [V65,T35] (  3,  6   )     int  ->   x0         "Inline stloc first use temp"
-;  V66 tmp56        [V66,T32] (  3,  6   )     ref  ->  [fp+0x10]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.Composition.Hosting.Core.ExportDescriptorPromise[]>
-;  V67 tmp57        [V67,T33] (  3,  6   )     ref  ->   x3         class-hnd "Inline stloc first use temp" <System.Composition.Hosting.Core.CompositionDependency[]>
-;  V68 tmp58        [V68,T24] (  4,  8   )     int  ->   x0         "Inline stloc first use temp"
+;  V62 tmp52        [V62,T22] (  4,  8   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Linq.Enumerable+Iterator`1[System.Composition.Hosting.Core.ExportDescriptorPromise]>
+;  V63 tmp53        [V63,T23] (  4,  8   )     ref  ->  [fp+0x18]  class-hnd spill-single-def "Inline stloc first use temp" <System.Collections.Generic.ICollection`1[System.Composition.Hosting.Core.ExportDescriptorPromise]>
+;  V64 tmp54        [V64,T32] (  3,  6   )     ref  ->  x28         class-hnd "Inline return value spill temp" <System.Composition.Hosting.Core.ExportDescriptorPromise[]>
+;  V65 tmp55        [V65,T36] (  3,  6   )     int  ->   x0         "Inline stloc first use temp"
+;  V66 tmp56        [V66,T33] (  3,  6   )     ref  ->  [fp+0x10]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.Composition.Hosting.Core.ExportDescriptorPromise[]>
+;  V67 tmp57        [V67,T34] (  3,  6   )     ref  ->   x3         class-hnd "Inline stloc first use temp" <System.Composition.Hosting.Core.CompositionDependency[]>
+;  V68 tmp58        [V68,T25] (  4,  8   )     int  ->   x0         "Inline stloc first use temp"
 ;* V69 tmp59        [V69    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Composition.Hosting.Core.CompositionDependency>
-;  V70 tmp60        [V70,T56] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;* V71 cse0         [V71,T69] (  0,  0   )    long  ->  zero-ref    "CSE #02: aggressive"
-;  V72 cse1         [V72,T25] (  4,  6.50)     int  ->  x21         "CSE #08: moderate"
-;  V73 cse2         [V73,T12] (  4, 12   )     ref  ->  x27         "CSE #09: aggressive"
+;  V70 tmp60        [V70,T55] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;* V71 cse0         [V71,T68] (  0,  0   )    long  ->  zero-ref    "CSE #02: aggressive"
+;  V72 cse1         [V72,T26] (  4,  6.50)     int  ->  x21         "CSE #06: moderate"
+;  V73 cse2         [V73,T12] (  4, 12   )     ref  ->  x27         "CSE #07: aggressive"
 ;  V74 cse3         [V74,T15] ( 14,  9.50)    long  ->  x22         "CSE #03: aggressive"
-;  V75 cse4         [V75,T43] (  4,  5   )    long  ->  x23         "CSE #11: moderate"
-;  V76 cse5         [V76,T44] (  4,  5   )    long  ->  x24         "CSE #12: moderate"
-;  V77 cse6         [V77,T36] (  3,  6   )     int  ->   x0         "CSE #14: moderate"
-;  V78 cse7         [V78,T37] (  3,  6   )     int  ->   x0         "CSE #21: moderate"
-;  V79 cse8         [V79,T10] (  6, 12   )    long  ->  x28         multi-def "CSE #10: aggressive"
-;  V80 cse9         [V80,T45] (  5,  4.50)    long  ->  x24         "CSE #05: moderate"
-;  V81 cse10        [V81,T38] (  7,  5.50)    long  ->  x20         multi-def "CSE #07: moderate"
+;  V75 cse4         [V75,T16] ( 10,  8.50)    long  ->  x24         "CSE #04: moderate"
+;  V76 cse5         [V76,T43] (  4,  5   )    long  ->  x23         "CSE #09: moderate"
+;  V77 cse6         [V77,T44] (  4,  5   )    long  ->  x24         "CSE #10: moderate"
+;  V78 cse7         [V78,T37] (  3,  6   )     int  ->   x0         "CSE #12: moderate"
+;  V79 cse8         [V79,T38] (  3,  6   )     int  ->   x0         "CSE #19: moderate"
+;  V80 cse9         [V80,T10] (  6, 12   )    long  ->  x28         multi-def "CSE #08: aggressive"
 ;
 ; Lcl frame size = 32
 
 G_M2524_IG01:
             stp     fp, lr, [sp, #-0x80]!
             stp     x19, x20, [sp, #0x30]
             stp     x21, x22, [sp, #0x40]
             stp     x23, x24, [sp, #0x50]
             stp     x25, x26, [sp, #0x60]
             stp     x27, x28, [sp, #0x70]
             mov     fp, sp
             mov     x20, x0
             mov     x19, x2
 						;; size=36 bbWeight=1 PerfScore 7.50
 G_M2524_IG02:
             mov     x0, x1
             ldr     x1, [x1]
             ldr     x1, [x1, #0xB0]
             ldr     x1, [x1, #0x30]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for System.Reflection.RuntimeReflectionExtensions:GetRuntimeProperties(System.Type):System.Collections.Generic.IEnumerable`1[System.Reflection.PropertyInfo]
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x21, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M2524_IG38
 						;; size=64 bbWeight=1 PerfScore 22.00
 G_M2524_IG03:
             movz    x22, #0xD1FFAB1E      // data for System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c:<>9__3_0
             movk    x22, #0xD1FFAB1E LSL #16
             movk    x22, #0xD1FFAB1E LSL #32
             ldr     x23, [x22]
             cbnz    x23, G_M2524_IG05
 						;; size=20 bbWeight=1 PerfScore 5.50
 G_M2524_IG04:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             ldr     x15, [x22, #-0x08]
             cbz     x15, G_M2524_IG39
             add     x14, x23, #8
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x14, #0xD1FFAB1E      // code for System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c:<GetDependencies>b__3_0(System.Reflection.PropertyInfo):ubyte:this
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             str     x14, [x23, #0x18]
             mov     x14, x22
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=64 bbWeight=0.50 PerfScore 6.50
 G_M2524_IG05:
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
             mov     x0, x24
             bl      CORINFO_HELP_NEWSFAST
             mov     x25, x0
             mov     x2, x23
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):System.Collections.Generic.IEnumerable`1[System.__Canon]
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x1, x0
             cbz     x20, G_M2524_IG39
             add     x14, x25, #8
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:<GetDependencies>b__3_1(System.Reflection.PropertyInfo):<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x25, #0x18]
             mov     x2, x25
             add     x0, x24, #0xD1FFAB1E
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x20, x0
             ldr     x2, [x22, #0x08]
             cbnz    x2, G_M2524_IG07
 						;; size=140 bbWeight=1 PerfScore 28.50
 G_M2524_IG06:
             add     x0, x24, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x2, x0
             ldr     x15, [x22, #-0x08]
             cbz     x15, G_M2524_IG39
             add     x14, x2, #8
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x14, #0xD1FFAB1E      // code for System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c:<GetDependencies>b__3_2(<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]]):<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite]:this
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             str     x14, [x2, #0x18]
             add     x14, x22, #8
             mov     x15, x2
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=56 bbWeight=0.50 PerfScore 6.00
 G_M2524_IG07:
             mov     x1, x20
             add     x0, x24, #0xD1FFAB1E
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x21, x0
             ldr     x2, [x22, #0x18]
             cbnz    x2, G_M2524_IG09
 						;; size=40 bbWeight=1 PerfScore 11.00
 G_M2524_IG08:
-            movz    x20, #0xD1FFAB1E
-            movk    x20, #0xD1FFAB1E LSL #16
-            movk    x20, #0xD1FFAB1E LSL #32
-            mov     x0, x20
+            add     x0, x24, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x2, x0
             ldr     x15, [x22, #-0x08]
             cbz     x15, G_M2524_IG39
             add     x14, x2, #8
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x14, #0xD1FFAB1E      // code for System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c:<GetDependencies>b__3_3(<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite]):ubyte:this
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             str     x14, [x2, #0x18]
             add     x14, x22, #24
             mov     x15, x2
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=68 bbWeight=0.50 PerfScore 6.75
+						;; size=56 bbWeight=0.50 PerfScore 6.00
 G_M2524_IG09:
             mov     x1, x21
-            movz    x20, #0xD1FFAB1E
-            movk    x20, #0xD1FFAB1E LSL #16
-            movk    x20, #0xD1FFAB1E LSL #32
-            add     x0, x20, #0xD1FFAB1E
+            add     x0, x24, #0xD1FFAB1E
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):System.Collections.Generic.IEnumerable`1[System.__Canon]
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            mov     x21, x0
+            mov     x20, x0
             ldr     x2, [x22, #0x20]
             cbnz    x2, G_M2524_IG11
-						;; size=52 bbWeight=1 PerfScore 12.50
+						;; size=40 bbWeight=1 PerfScore 11.00
 G_M2524_IG10:
-            add     x0, x20, #0xD1FFAB1E
+            add     x0, x24, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x2, x0
             ldr     x15, [x22, #-0x08]
             cbz     x15, G_M2524_IG39
             add     x14, x2, #8
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x14, #0xD1FFAB1E      // code for System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c:<GetDependencies>b__3_4(<>f__AnonymousType1`2[<>f__AnonymousType0`2[System.Reflection.PropertyInfo,System.Attribute[]],System.Composition.TypedParts.ActivationFeatures.PropertyImportSite]):<>f__AnonymousType2`2[System.Composition.TypedParts.ActivationFeatures.PropertyImportSite,System.Composition.TypedParts.ImportInfo]:this
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             str     x14, [x2, #0x18]
             add     x14, x22, #32
             mov     x15, x2
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=56 bbWeight=0.50 PerfScore 6.00
 G_M2524_IG11:
-            mov     x1, x21
-            add     x0, x20, #0xD1FFAB1E
+            mov     x1, x20
+            add     x0, x24, #0xD1FFAB1E
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x1, x0
-            add     x0, x20, #0xD1FFAB1E
+            add     x0, x24, #0xD1FFAB1E
             movz    x2, #0xD1FFAB1E      // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x20, x0
             ldr     w21, [x20, #0x08]
             cbnz    w21, G_M2524_IG14
 						;; size=68 bbWeight=1 PerfScore 17.50
 G_M2524_IG12:
             ldr     x0, [x22, #-0xA0]
 						;; size=4 bbWeight=0.50 PerfScore 1.50
 G_M2524_IG13:
             ldp     x27, x28, [sp, #0x70]
             ldp     x25, x26, [sp, #0x60]
             ldp     x23, x24, [sp, #0x50]
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x80
             ret     lr
 						;; size=28 bbWeight=0.50 PerfScore 3.50
 G_M2524_IG14:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x23, #0xD1FFAB1E
             movk    x23, #0xD1FFAB1E LSL #16
             movk    x23, #0xD1FFAB1E LSL #32
             mov     x0, x23
             mov     w1, #57
             bl      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
             movz    x24, #0xD1FFAB1E      // data for System.Collections.Generic.List`1[System.Composition.Hosting.Core.CompositionDependency]:s_emptyArray
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
             ldr     x15, [x24]
             add     x14, x22, #8
             bl      CORINFO_HELP_ASSIGN_REF
             mov     w25, wzr
             cmp     w21, #0
             ble     G_M2524_IG36
 						;; size=80 bbWeight=0.50 PerfScore 7.25
 G_M2524_IG15:
             add     x0, x20, #16
             ldr     x26, [x0, w25, UXTW #3]
             ldr     x27, [x26, #0x10]
             ldrb    w0, [x27, #0x10]
             cbnz    w0, G_M2524_IG26
 						;; size=20 bbWeight=4 PerfScore 42.00
 G_M2524_IG16:
             ldr     x26, [x26, #0x08]
             ldr     x27, [x27, #0x08]
             mov     x0, x19
             mov     x1, x27
             ldr     x2, [x19]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x20]
             blr     x2
             mov     x28, x0
             mov     x1, x28
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M2524_IG17
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x20]
             blr     x1
             mov     x1, x0
             b       G_M2524_IG21
 						;; size=100 bbWeight=2 PerfScore 75.00
 G_M2524_IG17:
             mov     x1, x28
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x1, x0
             str     x1, [fp, #0x28]	// [V50 tmp40]
             cbz     x1, G_M2524_IG20
             mov     x0, x1
             movz    x28, #0xD1FFAB1E      // code for System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
             movk    x28, #0xD1FFAB1E LSL #16
             movk    x28, #0xD1FFAB1E LSL #32
             mov     x11, x28
             ldr     x2, [x11]
             blr     x2
             cbz     w0, G_M2524_IG18
             sxtw    x1, w0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWARR_1_OBJ
             mov     x1, x0
             str     x1, [fp, #0x20]	// [V53 tmp43]
             ldr     x0, [fp, #0x28]	// [V50 tmp40]
             add     x11, x28, #8
             mov     w2, wzr
             ldr     x3, [x11]
             blr     x3
             ldr     x28, [fp, #0x20]	// [V53 tmp43]
             b       G_M2524_IG19
 						;; size=136 bbWeight=2 PerfScore 64.00
 G_M2524_IG18:
             mov     x0, x23
             mov     w1, #63
             bl      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
             ldr     x28, [x24, #0x08]
 						;; size=16 bbWeight=2 PerfScore 10.00
 G_M2524_IG19:
             mov     x1, x28
             b       G_M2524_IG21
 						;; size=8 bbWeight=2 PerfScore 3.00
 G_M2524_IG20:
             mov     x1, x28
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Linq.Enumerable:<ToArray>g__EnumerableToArray|314_0[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x1, x0
 						;; size=40 bbWeight=2 PerfScore 16.00
 G_M2524_IG21:
             ldr     w0, [x1, #0x08]
             cbz     w0, G_M2524_IG23
             cmp     w0, #1
             beq     G_M2524_IG22
             mov     x0, x27
             mov     x2, x26
             movz    x3, #0xD1FFAB1E      // code for System.Composition.Hosting.Core.CompositionDependency:Oversupplied(System.Composition.Hosting.Core.CompositionContract,System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.ExportDescriptorPromise],System.Object):System.Composition.Hosting.Core.CompositionDependency
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x2, x0
             b       G_M2524_IG24
 						;; size=52 bbWeight=2 PerfScore 27.00
 G_M2524_IG22:
             ldr     x1, [x1, #0x10]
             mov     x0, x27
             mov     x3, x26
             mov     w2, wzr
             movz    x4, #0xD1FFAB1E      // code for System.Composition.Hosting.Core.CompositionDependency:Satisfied(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.ExportDescriptorPromise,ubyte,System.Object):System.Composition.Hosting.Core.CompositionDependency
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
             mov     x2, x0
             b       G_M2524_IG24
 						;; size=44 bbWeight=2 PerfScore 23.00
 G_M2524_IG23:
             mov     x0, x27
             mov     x1, x26
             movz    x2, #0xD1FFAB1E      // code for System.Composition.Hosting.Core.CompositionDependency:Missing(System.Composition.Hosting.Core.CompositionContract,System.Object):System.Composition.Hosting.Core.CompositionDependency
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x2, x0
             b       G_M2524_IG24
 						;; size=36 bbWeight=2 PerfScore 16.00
 G_M2524_IG24:
             ldp     w0, w1, [x22, #0x10]
             add     w1, w1, #1
             str     w1, [x22, #0x14]
             ldr     x3, [x22, #0x08]
             ldr     w1, [x3, #0x08]
             cmp     w1, w0
             bls     G_M2524_IG25
             add     w1, w0, #1
             str     w1, [x22, #0x10]
             sxtw    x1, w0
             mov     x0, x3
             movz    x3, #0xD1FFAB1E      // code for CORINFO_HELP_ARRADDR_ST
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             b       G_M2524_IG35
 						;; size=68 bbWeight=2 PerfScore 42.00
 G_M2524_IG25:
             mov     x0, x22
             mov     x1, x2
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             b       G_M2524_IG35
 						;; size=32 bbWeight=2 PerfScore 15.00
 G_M2524_IG26:
             ldr     x26, [x26, #0x08]
             ldr     x27, [x27, #0x08]
             mov     x0, x19
             mov     x1, x27
             ldr     x2, [x19]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x20]
             blr     x2
             mov     x28, x0
             mov     x1, x28
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M2524_IG27
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x20]
             blr     x1
             mov     x1, x0
             b       G_M2524_IG31
 						;; size=100 bbWeight=2 PerfScore 75.00
 G_M2524_IG27:
             mov     x1, x28
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x1, x0
             str     x1, [fp, #0x18]	// [V63 tmp53]
             cbz     x1, G_M2524_IG30
             mov     x0, x1
             movz    x28, #0xD1FFAB1E
             movk    x28, #0xD1FFAB1E LSL #16
             movk    x28, #0xD1FFAB1E LSL #32
             add     x11, x28, #16
             ldr     x2, [x11]
             blr     x2
             cbz     w0, G_M2524_IG28
             sxtw    x1, w0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWARR_1_OBJ
             mov     x1, x0
             str     x1, [fp, #0x10]	// [V66 tmp56]
             ldr     x0, [fp, #0x18]	// [V63 tmp53]
             add     x11, x28, #24
             mov     w2, wzr
             ldr     x3, [x11]
             blr     x3
             ldr     x28, [fp, #0x10]	// [V66 tmp56]
             b       G_M2524_IG29
 						;; size=136 bbWeight=2 PerfScore 64.00
 G_M2524_IG28:
             mov     x0, x23
             mov     w1, #63
             bl      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
             ldr     x28, [x24, #0x08]
 						;; size=16 bbWeight=2 PerfScore 10.00
 G_M2524_IG29:
             mov     x1, x28
             b       G_M2524_IG31
 						;; size=8 bbWeight=2 PerfScore 3.00
 G_M2524_IG30:
             mov     x1, x28
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Linq.Enumerable:<ToArray>g__EnumerableToArray|314_0[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x1, x0
 						;; size=40 bbWeight=2 PerfScore 16.00
 G_M2524_IG31:
             ldr     w0, [x1, #0x08]
             cbz     w0, G_M2524_IG35
             cmp     w0, #1
             beq     G_M2524_IG32
             mov     x0, x27
             mov     x2, x26
             movz    x3, #0xD1FFAB1E      // code for System.Composition.Hosting.Core.CompositionDependency:Oversupplied(System.Composition.Hosting.Core.CompositionContract,System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.ExportDescriptorPromise],System.Object):System.Composition.Hosting.Core.CompositionDependency
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x2, x0
             b       G_M2524_IG33
 						;; size=52 bbWeight=2 PerfScore 27.00
 G_M2524_IG32:
             ldr     x1, [x1, #0x10]
             mov     x0, x27
             mov     x3, x26
             mov     w2, wzr
             movz    x4, #0xD1FFAB1E      // code for System.Composition.Hosting.Core.CompositionDependency:Satisfied(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.ExportDescriptorPromise,ubyte,System.Object):System.Composition.Hosting.Core.CompositionDependency
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
             mov     x2, x0
 						;; size=40 bbWeight=2 PerfScore 21.00
 G_M2524_IG33:
             ldp     w0, w1, [x22, #0x10]
             add     w1, w1, #1
             str     w1, [x22, #0x14]
             ldr     x3, [x22, #0x08]
             ldr     w1, [x3, #0x08]
             cmp     w1, w0
             bls     G_M2524_IG34
             add     w1, w0, #1
             str     w1, [x22, #0x10]
             sxtw    x1, w0
             mov     x0, x3
             movz    x3, #0xD1FFAB1E      // code for CORINFO_HELP_ARRADDR_ST
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             b       G_M2524_IG35
 						;; size=68 bbWeight=2 PerfScore 42.00
 G_M2524_IG34:
             mov     x0, x22
             mov     x1, x2
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=28 bbWeight=2 PerfScore 13.00
 G_M2524_IG35:
             add     w25, w25, #1
             cmp     w21, w25
             bgt     G_M2524_IG15
 						;; size=12 bbWeight=4 PerfScore 8.00
 G_M2524_IG36:
             mov     x0, x22
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M2524_IG37:
             ldp     x27, x28, [sp, #0x70]
             ldp     x25, x26, [sp, #0x60]
             ldp     x23, x24, [sp, #0x50]
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x80
             ret     lr
 						;; size=28 bbWeight=0.50 PerfScore 3.50
 G_M2524_IG38:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             mov     w1, #53
             bl      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
             b       G_M2524_IG03
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M2524_IG39:
             movz    x0, #0xD1FFAB1E      // code for System.MulticastDelegate:ThrowNullThisInDelegateToInstance()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             brk_unix #0
 						;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1908, prolog size 28, PerfScore 757.75, instruction count 477, allocated bytes for code 1908 (MethodHash=1b0ff623) for method System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:GetDependencies(System.Reflection.TypeInfo,System.Composition.Hosting.Core.DependencyAccessor):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]:this (FullOpts)
+; Total bytes of code 1884, prolog size 28, PerfScore 755.50, instruction count 471, allocated bytes for code 1884 (MethodHash=1b0ff623) for method System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:GetDependencies(System.Reflection.TypeInfo,System.Composition.Hosting.Core.DependencyAccessor):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]:this (FullOpts)
-24 (-0.81 % of base) - System.Net.CookieContainer:AgeCookies(System.String):ubyte:this
 ; Assembly listing for method System.Net.CookieContainer:AgeCookies(System.String):ubyte:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 18 single block inlinees; 10 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T05] ( 17,202   )     ref  ->  [fp+0x60]  this class-hnd EH-live single-def <System.Net.CookieContainer>
-;  V01 arg1         [V01,T49] (  6, 15   )     ref  ->  [fp+0x58]  class-hnd EH-live single-def <System.String>
-;  V02 loc0         [V02,T06] (  6,162   )     int  ->  [fp+0xA4]  do-not-enreg[Z] EH-live
+;  V00 this         [V00,T05] ( 17,202   )     ref  ->  [fp+0x68]  this class-hnd EH-live single-def <System.Net.CookieContainer>
+;  V01 arg1         [V01,T50] (  6, 15   )     ref  ->  [fp+0x60]  class-hnd EH-live single-def <System.String>
+;  V02 loc0         [V02,T06] (  6,162   )     int  ->  [fp+0xAC]  do-not-enreg[Z] EH-live
 ;* V03 loc1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    <System.DateTime>
 ;* V04 loc2         [V04    ] (  0,  0   )  struct ( 8) zero-ref    <System.DateTime>
-;  V05 loc3         [V05,T31] (  6, 31   )     ref  ->  [fp+0x50]  do-not-enreg[Z] must-init class-hnd EH-live <System.Net.CookieCollection>
+;  V05 loc3         [V05,T31] (  6, 31   )     ref  ->  [fp+0x58]  do-not-enreg[Z] must-init class-hnd EH-live <System.Net.CookieCollection>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V07 loc5         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.String>
 ;  V08 loc6         [V08,T29] (  8, 32   )     ref  ->  x21         class-hnd <System.Net.PathList>
-;  V09 loc7         [V09,T01] ( 10,464   )     int  ->  x22        
+;  V09 loc7         [V09,T01] ( 10,464   )     int  ->  x23        
 ;  V10 loc8         [V10,T07] ( 11,149   )     int  ->  x19        
-;  V11 loc9         [V11,T75] (  3,  6   )   float  ->   d8        
-;  V12 loc10        [V12,T68] (  4,  3   )     ref  ->  [fp+0x48]  must-init class-hnd EH-live single-def <System.Object>
-;  V13 loc11        [V13    ] (  5,  5   )   ubyte  ->  [fp+0x98]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V14 loc12        [V14,T55] (  5, 14   )     ref  ->  [fp+0x40]  class-hnd EH-live spill-single-def <System.Collections.IDictionaryEnumerator>
+;  V11 loc9         [V11,T76] (  3,  6   )   float  ->   d8        
+;  V12 loc10        [V12,T69] (  4,  3   )     ref  ->  [fp+0x50]  must-init class-hnd EH-live single-def <System.Object>
+;  V13 loc11        [V13    ] (  5,  5   )   ubyte  ->  [fp+0xA0]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V14 loc12        [V14,T56] (  5, 14   )     ref  ->  [fp+0x48]  class-hnd EH-live spill-single-def <System.Collections.IDictionaryEnumerator>
 ;  V15 loc13        [V15,T48] (  5, 18   )     ref  ->  x21         class-hnd <System.Object>
 ;* V16 loc14        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Collections.DictionaryEntry>
-;  V17 loc15        [V17,T03] (  5,300   )     int  ->  x24        
-;  V18 loc16        [V18,T56] (  4, 12   )     ref  ->  [fp+0x38]  do-not-enreg[Z] class-hnd EH-live <System.Object>
-;  V19 loc17        [V19    ] (  5, 16   )   ubyte  ->  [fp+0x90]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V20 loc18        [V20,T19] (  5, 56   )     ref  ->  [fp+0x30]  do-not-enreg[Z] class-hnd EH-live <System.Collections.IEnumerator>
-;  V21 loc19        [V21,T12] (  6, 96   )     ref  ->  x23         class-hnd <System.Net.CookieCollection>
+;  V17 loc15        [V17,T03] (  5,300   )     int  ->  x25        
+;  V18 loc16        [V18,T57] (  4, 12   )     ref  ->  [fp+0x40]  do-not-enreg[Z] class-hnd EH-live <System.Object>
+;  V19 loc17        [V19    ] (  5, 16   )   ubyte  ->  [fp+0x98]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V20 loc18        [V20,T19] (  5, 56   )     ref  ->  [fp+0x38]  do-not-enreg[Z] class-hnd EH-live <System.Collections.IEnumerator>
+;  V21 loc19        [V21,T12] (  6, 96   )     ref  ->  x24         class-hnd <System.Net.CookieCollection>
 ;  V22 loc20        [V22,T32] ( 18, 30   )     ref  ->   x0         class-hnd <System.IDisposable>
-;  V23 loc21        [V23,T15] (  6, 76   )     ref  ->  x23         class-hnd exact <System.Net.CookieCollection[]>
-;  V24 loc22        [V24,T25] (  5, 44   )     ref  ->  x25         class-hnd exact <System.DateTime[]>
-;  V25 loc23        [V25,T57] (  4, 12   )     ref  ->  [fp+0x28]  do-not-enreg[Z] class-hnd EH-live <System.Object>
-;  V26 loc24        [V26    ] (  5, 16   )   ubyte  ->  [fp+0x88]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V27 loc25        [V27,T20] (  5, 56   )     ref  ->  [fp+0x20]  do-not-enreg[Z] class-hnd EH-live <System.Collections.IEnumerator>
+;  V23 loc21        [V23,T15] (  6, 76   )     ref  ->  x24         class-hnd exact <System.Net.CookieCollection[]>
+;  V24 loc22        [V24,T25] (  5, 44   )     ref  ->  x26         class-hnd exact <System.DateTime[]>
+;  V25 loc23        [V25,T58] (  4, 12   )     ref  ->  [fp+0x30]  do-not-enreg[Z] class-hnd EH-live <System.Object>
+;  V26 loc24        [V26    ] (  5, 16   )   ubyte  ->  [fp+0x90]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V27 loc25        [V27,T20] (  5, 56   )     ref  ->  [fp+0x28]  do-not-enreg[Z] class-hnd EH-live <System.Collections.IEnumerator>
 ;  V28 loc26        [V28,T21] (  3, 48   )     ref  ->  x15         class-hnd <System.Net.CookieCollection>
 ;  V29 loc27        [V29,T09] (  5,132   )     int  ->  x20        
-;  V30 loc28        [V30,T04] (  5,288   )     ref  ->  x25         class-hnd <System.Net.CookieCollection>
-;  V31 loc29        [V31,T22] (  3, 48   )     ref  ->  [fp+0x18]  do-not-enreg[Z] class-hnd EH-live <System.Net.CookieCollection>
-;  V32 loc30        [V32    ] (  5,128   )   ubyte  ->  [fp+0x80]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V33 loc31        [V33,T71] (  2,  2   )   ubyte  ->  [fp+0x7C]  do-not-enreg[Z] EH-live
-;  V34 loc32        [V34,T72] (  3,  1   )     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <System.Net.CookieCollection>
-;  V35 loc33        [V35    ] (  5,  4   )   ubyte  ->  [fp+0x70]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V30 loc28        [V30,T04] (  5,288   )     ref  ->  x22         class-hnd <System.Net.CookieCollection>
+;  V31 loc29        [V31,T22] (  3, 48   )     ref  ->  [fp+0x20]  do-not-enreg[Z] class-hnd EH-live <System.Net.CookieCollection>
+;  V32 loc30        [V32    ] (  5,128   )   ubyte  ->  [fp+0x88]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V33 loc31        [V33,T72] (  2,  2   )   ubyte  ->  [fp+0x84]  do-not-enreg[Z] EH-live
+;  V34 loc32        [V34,T73] (  3,  1   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Net.CookieCollection>
+;  V35 loc33        [V35    ] (  5,  4   )   ubyte  ->  [fp+0x78]  do-not-enreg[X] addr-exposed ld-addr-op
 ;# V36 OutArgs      [V36    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V37 tmp1         [V37    ] (  0,  0   )  struct ( 8) zero-ref    "folding static readonly field struct" <System.DateTime>
 ;* V38 tmp2         [V38    ] (  0,  0   )  struct ( 8) zero-ref    "dup spill" <System.DateTime>
 ;* V39 tmp3         [V39    ] (  0,  0   )  struct ( 8) zero-ref    "Strict ordering of exceptions for Array store" <System.DateTime>
 ;* V40 tmp4         [V40    ] (  0,  0   )  struct ( 8) zero-ref    "folding static readonly field struct" <System.DateTime>
 ;* V41 tmp5         [V41    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.DateTime>
 ;* V42 tmp6         [V42    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.DateTime>
 ;* V43 tmp7         [V43    ] (  0,  0   )    long  ->  zero-ref    "impAppendStmt"
-;  V44 tmp8         [V44,T58] (  3, 12   )     int  ->   x2         "Inline return value spill temp"
+;  V44 tmp8         [V44,T59] (  3, 12   )     int  ->   x2         "Inline return value spill temp"
 ;  V45 tmp9         [V45,T43] (  3, 24   )     int  ->   x1         "Inlining Arg"
 ;  V46 tmp10        [V46,T44] (  3, 24   )     int  ->   x2         "Inlining Arg"
-;  V47 tmp11        [V47,T59] (  3, 12   )     int  ->  x24         "Inline return value spill temp"
-;  V48 tmp12        [V48,T45] (  3, 24   )     int  ->  x23         "Inlining Arg"
-;  V49 tmp13        [V49,T46] (  3, 24   )     int  ->  x24         "Inlining Arg"
-;  V50 tmp14        [V50,T67] (  2,  4   )     int  ->   x0         "Single return block return value"
-;  V51 tmp15        [V51,T28] (  4, 34   )    long  ->  [fp+0x68]  do-not-enreg[Z] EH-live "field V03._dateData (fldOffset=0x0)" P-INDEP
+;  V47 tmp11        [V47,T60] (  3, 12   )     int  ->  x25         "Inline return value spill temp"
+;  V48 tmp12        [V48,T45] (  3, 24   )     int  ->  x24         "Inlining Arg"
+;  V49 tmp13        [V49,T46] (  3, 24   )     int  ->  x25         "Inlining Arg"
+;  V50 tmp14        [V50,T68] (  2,  4   )     int  ->   x0         "Single return block return value"
+;  V51 tmp15        [V51,T28] (  4, 34   )    long  ->  [fp+0x70]  do-not-enreg[Z] EH-live "field V03._dateData (fldOffset=0x0)" P-INDEP
 ;* V52 tmp16        [V52    ] (  0,  0   )    long  ->  zero-ref    "field V04._dateData (fldOffset=0x0)" P-INDEP
-;  V53 tmp17        [V53,T60] (  3,  8   )     ref  ->   x1         "field V16._key (fldOffset=0x0)" P-INDEP
-;  V54 tmp18        [V54,T61] (  3,  8   )     ref  ->   x2         "field V16._value (fldOffset=0x8)" P-INDEP
-;* V55 tmp19        [V55,T73] (  0,  0   )    long  ->  zero-ref    "field V37._dateData (fldOffset=0x0)" P-INDEP
+;  V53 tmp17        [V53,T61] (  3,  8   )     ref  ->   x1         "field V16._key (fldOffset=0x0)" P-INDEP
+;  V54 tmp18        [V54,T62] (  3,  8   )     ref  ->   x2         "field V16._value (fldOffset=0x8)" P-INDEP
+;* V55 tmp19        [V55,T74] (  0,  0   )    long  ->  zero-ref    "field V37._dateData (fldOffset=0x0)" P-INDEP
 ;  V56 tmp20        [V56,T24] (  3, 48   )    long  ->   x1         "field V38._dateData (fldOffset=0x0)" P-INDEP
 ;  V57 tmp21        [V57,T30] (  2, 32   )    long  ->  x14         "field V39._dateData (fldOffset=0x0)" P-INDEP
 ;* V58 tmp22        [V58    ] (  0,  0   )    long  ->  zero-ref    "field V40._dateData (fldOffset=0x0)" P-INDEP
 ;* V59 tmp23        [V59    ] (  0,  0   )    long  ->  zero-ref    "field V41._dateData (fldOffset=0x0)" P-INDEP
 ;* V60 tmp24        [V60    ] (  0,  0   )    long  ->  zero-ref    "field V42._dateData (fldOffset=0x0)" P-INDEP
-;  V61 tmp25        [V61,T65] (  3,  6   )     ref  ->   x2         single-def "argument with side effect"
-;  V62 tmp26        [V62,T66] (  3,  6   )     ref  ->   x1         single-def "argument with side effect"
+;  V61 tmp25        [V61,T66] (  3,  6   )     ref  ->   x2         single-def "argument with side effect"
+;  V62 tmp26        [V62,T67] (  3,  6   )     ref  ->   x1         single-def "argument with side effect"
 ;  V63 tmp27        [V63,T35] (  3, 24   )     ref  ->   x2         "argument with side effect"
-;  V64 tmp28        [V64,T50] (  3, 16   )     ref  ->   x1         "argument with side effect"
+;  V64 tmp28        [V64,T51] (  3, 16   )     ref  ->   x1         "argument with side effect"
 ;  V65 tmp29        [V65,T36] (  3, 24   )     ref  ->   x0         "argument with side effect"
 ;  V66 tmp30        [V66,T37] (  3, 24   )     ref  ->   x0         "argument with side effect"
-;  V67 tmp31        [V67,T51] (  2, 16   )     ref  ->   x0         "argument with side effect"
+;  V67 tmp31        [V67,T52] (  2, 16   )     ref  ->   x0         "argument with side effect"
 ;  V68 tmp32        [V68,T17] (  3, 72   )     ref  ->   x0         "argument with side effect"
 ;  V69 tmp33        [V69,T13] (  3, 96   )     ref  ->   x1         "argument with side effect"
 ;  V70 tmp34        [V70,T14] (  3, 96   )     ref  ->   x0         "argument with side effect"
 ;  V71 tmp35        [V71,T38] (  3, 24   )     ref  ->   x2         "argument with side effect"
 ;  V72 tmp36        [V72,T39] (  3, 24   )     ref  ->   x0         "argument with side effect"
-;  V73 tmp37        [V73,T53] (  2, 16   )    long  ->   x1         "argument with side effect"
+;  V73 tmp37        [V73,T54] (  2, 16   )    long  ->   x1         "argument with side effect"
 ;  V74 tmp38        [V74,T40] (  3, 24   )     ref  ->   x0         "argument with side effect"
-;  V75 tmp39        [V75,T54] (  2, 16   )    long  ->   x1         "argument with side effect"
+;  V75 tmp39        [V75,T55] (  2, 16   )    long  ->   x1         "argument with side effect"
 ;  V76 tmp40        [V76,T41] (  3, 24   )     ref  ->   x0         "argument with side effect"
-;  V77 tmp41        [V77,T52] (  2, 16   )     ref  ->   x0         "argument with side effect"
+;  V77 tmp41        [V77,T53] (  2, 16   )     ref  ->   x0         "argument with side effect"
 ;  V78 tmp42        [V78,T18] (  3, 72   )     ref  ->   x0         "argument with side effect"
 ;  V79 tmp43        [V79,T00] (  3,768   )     ref  ->   x0         "argument with side effect"
 ;  V80 tmp44        [V80,T02] (  3,384   )     ref  ->   x0         "argument with side effect"
 ;  V81 tmp45        [V81,T23] (  3, 48   )     ref  ->   x1         "argument with side effect"
 ;  V82 tmp46        [V82,T42] (  3, 24   )     ref  ->   x0         "argument with side effect"
-;  V83 PSPSym       [V83,T74] (  1,  1   )    long  ->  [fp+0xA8]  do-not-enreg[V] "PSPSym"
-;  V84 cse0         [V84,T69] (  3,  3   )     int  ->   x3         "CSE #01: moderate"
-;  V85 cse1         [V85,T70] (  3,  3   )     int  ->   x2         "CSE #02: moderate"
+;  V83 PSPSym       [V83,T75] (  1,  1   )    long  ->  [fp+0xB0]  do-not-enreg[V] "PSPSym"
+;  V84 cse0         [V84,T70] (  3,  3   )     int  ->   x3         "CSE #01: moderate"
+;  V85 cse1         [V85,T71] (  3,  3   )     int  ->   x2         "CSE #02: moderate"
 ;  V86 cse2         [V86,T08] ( 18,135   )    long  ->  x20         multi-def "CSE #06: aggressive"
 ;  V87 cse3         [V87,T16] (  5, 72   )     int  ->  x21         multi-def "CSE #09: aggressive"
-;  V88 rat0         [V88,T47] (  3, 20   )     ref  ->   x0         "replacement local"
-;  V89 rat1         [V89,T62] (  3,  8   )    long  ->   x4         "CSE for expectedClsNode"
-;  V90 rat2         [V90,T33] (  4, 28   )     ref  ->  x21         "replacement local"
-;  V91 rat3         [V91,T63] (  3,  8   )    long  ->   x0         "CSE for expectedClsNode"
-;  V92 rat4         [V92,T34] (  4, 28   )     ref  ->  x21         "replacement local"
-;  V93 rat5         [V93,T64] (  3,  8   )    long  ->   x0         "CSE for expectedClsNode"
-;  V94 rat6         [V94,T10] (  5,120   )     ref  ->  x23         "replacement local"
-;  V95 rat7         [V95,T26] (  3, 40   )    long  ->   x2         "CSE for expectedClsNode"
-;  V96 rat8         [V96,T11] (  5,120   )     ref  ->  x15         "replacement local"
-;  V97 rat9         [V97,T27] (  3, 40   )    long  ->   x2         "CSE for expectedClsNode"
+;  V88 cse4         [V88,T49] (  5, 18   )    long  ->  x22         "CSE #03: moderate"
+;  V89 rat0         [V89,T47] (  3, 20   )     ref  ->   x0         "replacement local"
+;  V90 rat1         [V90,T63] (  3,  8   )    long  ->   x4         "CSE for expectedClsNode"
+;  V91 rat2         [V91,T33] (  4, 28   )     ref  ->  x21         "replacement local"
+;  V92 rat3         [V92,T64] (  3,  8   )    long  ->   x0         "CSE for expectedClsNode"
+;  V93 rat4         [V93,T34] (  4, 28   )     ref  ->  x21         "replacement local"
+;  V94 rat5         [V94,T65] (  3,  8   )    long  ->   x0         "CSE for expectedClsNode"
+;  V95 rat6         [V95,T10] (  5,120   )     ref  ->  x24         "replacement local"
+;  V96 rat7         [V96,T26] (  3, 40   )    long  ->   x2         "CSE for expectedClsNode"
+;  V97 rat8         [V97,T11] (  5,120   )     ref  ->  x15         "replacement local"
+;  V98 rat9         [V98,T27] (  3, 40   )    long  ->   x2         "CSE for expectedClsNode"
 ;
-; Lcl frame size = 160
+; Lcl frame size = 168
 
 G_M7339_IG01:
-            stp     fp, lr, [sp, #-0xF0]!
-            str     d8, [sp, #0xB0]
-            stp     x19, x20, [sp, #0xB8]
-            stp     x21, x22, [sp, #0xC8]
-            stp     x23, x24, [sp, #0xD8]
-            str     x25, [sp, #0xE8]
+            stp     fp, lr, [sp, #-0x100]!
+            str     d8, [sp, #0xB8]
+            stp     x19, x20, [sp, #0xC0]
+            stp     x21, x22, [sp, #0xD0]
+            stp     x23, x24, [sp, #0xE0]
+            stp     x25, x26, [sp, #0xF0]
             mov     fp, sp
-            stp     xzr, xzr, [fp, #0x48]	// [V12 loc10], [V05 loc3]
-            add     x2, sp, #240
-            str     x2, [fp, #0xA8]	// [V83 PSPSym]
-            stp     x1, x0, [fp, #0x58]	// [V01 arg1], [V00 this]
+            stp     xzr, xzr, [fp, #0x50]	// [V12 loc10], [V05 loc3]
+            add     x2, sp, #0xD1FFAB1E
+            str     x2, [fp, #0xB0]	// [V83 PSPSym]
+            stp     x1, x0, [fp, #0x60]	// [V01 arg1], [V00 this]
 						;; size=44 bbWeight=1 PerfScore 10.00
 G_M7339_IG02:
-            str     wzr, [fp, #0xA4]	// [V02 loc0]
+            str     wzr, [fp, #0xAC]	// [V02 loc0]
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             movk    x2, #0xD1FFAB1E LSL #48
-            str     x2, [fp, #0x68]	// [V51 tmp15]
-            str     xzr, [fp, #0x50]	// [V05 loc3]
+            str     x2, [fp, #0x70]	// [V51 tmp15]
+            str     xzr, [fp, #0x58]	// [V05 loc3]
             mov     w19, wzr
             fmov    s8, #1.0000
             ldr     w2, [x0, #0x24]
             ldr     w3, [x0, #0x1C]
             cmp     w2, w3
             ble     G_M7339_IG03
             scvtf   s16, w3
             scvtf   s17, w2
             fdiv    s8, s16, s17
 						;; size=64 bbWeight=1 PerfScore 30.50
 G_M7339_IG03:
             ldr     x2, [x0, #0x08]
             mov     x0, x2
             ldr     x2, [x2]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2]
             blr     x2
-            str     x0, [fp, #0x48]	// [V12 loc10]
-            str     wzr, [fp, #0x98]	// [V13 loc11]
+            str     x0, [fp, #0x50]	// [V12 loc10]
+            str     wzr, [fp, #0xA0]	// [V13 loc11]
 						;; size=32 bbWeight=1 PerfScore 15.50
 G_M7339_IG04:
-            ldrb    w1, [fp, #0x98]	// [V13 loc11]
+            ldrb    w1, [fp, #0xA0]	// [V13 loc11]
             cbnz    w1, G_M7339_IG63
-            add     x1, fp, #152	// [V13 loc11]
+            add     x1, fp, #160	// [V13 loc11]
             bl      System.Threading.Monitor:ReliableEnter(System.Object,byref)
-            ldr     x0, [fp, #0x60]	// [V00 this]
+            ldr     x0, [fp, #0x68]	// [V00 this]
             ldr     x1, [x0, #0x08]
             mov     x0, x1
             ldr     x1, [x1]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x38]
             blr     x1
             mov     x1, x0
-            str     x1, [fp, #0x40]	// [V14 loc12]
+            str     x1, [fp, #0x48]	// [V14 loc12]
 						;; size=52 bbWeight=1 PerfScore 21.50
 G_M7339_IG05:
             b       G_M7339_IG58
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M7339_IG06:
-            ldr     x0, [fp, #0x40]	// [V14 loc12]
+            ldr     x0, [fp, #0x48]	// [V14 loc12]
             add     x11, x20, #8
             ldr     x1, [x11]
             blr     x1
             mov     x21, x0
             ldr     x1, [x21]
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            cmp     x1, x0
+            movz    x22, #0xD1FFAB1E
+            movk    x22, #0xD1FFAB1E LSL #16
+            movk    x22, #0xD1FFAB1E LSL #32
+            cmp     x1, x22
             beq     G_M7339_IG08
 						;; size=44 bbWeight=4 PerfScore 52.00
 G_M7339_IG07:
             mov     x1, x21
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            mov     x0, x22
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-						;; size=36 bbWeight=2 PerfScore 15.00
+						;; size=28 bbWeight=2 PerfScore 13.00
 G_M7339_IG08:
             ldp     x1, x2, [x21, #0x08]
-            ldr     x3, [fp, #0x58]	// [V01 arg1]
+            ldr     x3, [fp, #0x60]	// [V01 arg1]
             cbnz    x3, G_M7339_IG14
             mov     x0, x1
             cbz     x0, G_M7339_IG10
 						;; size=20 bbWeight=4 PerfScore 34.00
 G_M7339_IG09:
             movz    x4, #0xD1FFAB1E
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             cmp     x0, x4
             bne     G_M7339_IG18
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M7339_IG10:
             mov     x21, x2
             cbz     x21, G_M7339_IG12
 						;; size=8 bbWeight=4 PerfScore 6.00
 G_M7339_IG11:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x1, [x21]
             cmp     x1, x0
             bne     G_M7339_IG17
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M7339_IG12:
-            mov     w22, wzr
+            mov     w23, wzr
             ldr     x0, [x21, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x28]
             blr     x1
-            str     x0, [fp, #0x38]	// [V18 loc16]
-            str     wzr, [fp, #0x90]	// [V19 loc17]
+            str     x0, [fp, #0x40]	// [V18 loc16]
+            str     wzr, [fp, #0x98]	// [V19 loc17]
             b       G_M7339_IG19
 						;; size=36 bbWeight=4 PerfScore 66.00
 G_M7339_IG13:
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             brk_unix #0
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M7339_IG14:
-            ldr     x0, [fp, #0x60]	// [V00 this]
+            ldr     x0, [fp, #0x68]	// [V00 this]
             ldr     x2, [x0, #0x08]
             mov     x0, x2
             mov     x1, x3
             ldr     x2, [x2]
             ldr     x2, [x2, #0x48]
             ldr     x2, [x2, #0x20]
             blr     x2
             mov     x1, x0
             mov     x21, x1
             cbz     x21, G_M7339_IG16
 						;; size=44 bbWeight=4 PerfScore 72.00
 G_M7339_IG15:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x2, [x21]
             cmp     x2, x0
             bne     G_M7339_IG13
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M7339_IG16:
             b       G_M7339_IG12
 						;; size=4 bbWeight=4 PerfScore 4.00
 G_M7339_IG17:
             mov     x1, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             brk_unix #0
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M7339_IG18:
             mov     x0, x4
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             brk_unix #0
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M7339_IG19:
-            ldrb    w1, [fp, #0x90]	// [V19 loc17]
+            ldrb    w1, [fp, #0x98]	// [V19 loc17]
             cbz     w1, G_M7339_IG21
 						;; size=8 bbWeight=4 PerfScore 12.00
 G_M7339_IG20:
             movz    x0, #0xD1FFAB1E      // code for System.Threading.Monitor:ThrowLockTakenException()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             brk_unix #0
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M7339_IG21:
-            add     x1, fp, #144	// [V19 loc17]
-            ldr     x0, [fp, #0x38]	// [V18 loc16]
+            add     x1, fp, #152	// [V19 loc17]
+            ldr     x0, [fp, #0x40]	// [V18 loc16]
             bl      System.Threading.Monitor:ReliableEnter(System.Object,byref)
             ldr     x0, [x21, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x08]
             blr     x1
             add     x11, x20, #16
             ldr     x1, [x11]
             blr     x1
-            str     x0, [fp, #0x30]	// [V20 loc18]
+            str     x0, [fp, #0x38]	// [V20 loc18]
 						;; size=48 bbWeight=4 PerfScore 88.00
 G_M7339_IG22:
             b       G_M7339_IG27
 						;; size=4 bbWeight=4 PerfScore 4.00
 G_M7339_IG23:
-            ldr     x0, [fp, #0x30]	// [V20 loc18]
+            ldr     x0, [fp, #0x38]	// [V20 loc18]
             add     x11, x20, #32
             ldr     x1, [x11]
             blr     x1
-            mov     x23, x0
-            cbz     x23, G_M7339_IG26
+            mov     x24, x0
+            cbz     x24, G_M7339_IG26
 						;; size=24 bbWeight=16 PerfScore 128.00
 G_M7339_IG24:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x1, [x23]
+            ldr     x1, [x24]
             cmp     x1, x2
             beq     G_M7339_IG26
 						;; size=24 bbWeight=8 PerfScore 48.00
 G_M7339_IG25:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            mov     x23, x0
+            mov     x24, x0
 						;; size=32 bbWeight=4 PerfScore 28.00
 G_M7339_IG26:
-            mov     x0, x23
+            mov     x0, x24
             movz    x1, #0xD1FFAB1E      // code for System.Net.CookieContainer:ExpireCollection(System.Net.CookieCollection):int
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             sxtw    w19, w0
-            ldr     w0, [fp, #0xA4]	// [V02 loc0]
+            ldr     w0, [fp, #0xAC]	// [V02 loc0]
             add     w0, w0, w19
-            str     w0, [fp, #0xA4]	// [V02 loc0]
-            ldr     x0, [fp, #0x60]	// [V00 this]
+            str     w0, [fp, #0xAC]	// [V02 loc0]
+            ldr     x0, [fp, #0x68]	// [V00 this]
             ldr     w1, [x0, #0x24]
             sub     w1, w1, w19
             str     w1, [x0, #0x24]
-            ldr     x1, [x23, #0x08]
+            ldr     x1, [x24, #0x08]
             mov     x0, x1
             ldr     x1, [x1]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
-            add     w22, w0, w22
-            ldr     x0, [x23, #0x08]
+            add     w23, w0, w23
+            ldr     x0, [x24, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
             cmp     w0, #0
             ble     G_M7339_IG27
-            ldr     x1, [x23, #0x18]
+            ldr     x1, [x24, #0x18]
             and     x0, x1, #0xD1FFAB1E
-            ldr     x2, [fp, #0x68]	// [V51 tmp15]
+            ldr     x2, [fp, #0x70]	// [V51 tmp15]
             and     x2, x2, #0xD1FFAB1E
             cmp     x0, x2
             bge     G_M7339_IG27
-            str     x23, [fp, #0x50]	// [V05 loc3]
-            str     x1, [fp, #0x68]	// [V51 tmp15]
+            str     x24, [fp, #0x58]	// [V05 loc3]
+            str     x1, [fp, #0x70]	// [V51 tmp15]
 						;; size=144 bbWeight=16 PerfScore 872.00
 G_M7339_IG27:
-            ldr     x0, [fp, #0x30]	// [V20 loc18]
+            ldr     x0, [fp, #0x38]	// [V20 loc18]
             add     x11, x20, #24
             ldr     x1, [x11]
             blr     x1
             cbnz    w0, G_M7339_IG23
 						;; size=20 bbWeight=32 PerfScore 240.00
 G_M7339_IG28:
-            ldr     x1, [fp, #0x30]	// [V20 loc18]
+            ldr     x1, [fp, #0x38]	// [V20 loc18]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M7339_IG29
             add     x11, x20, #72
             ldr     x1, [x11]
             blr     x1
 						;; size=52 bbWeight=4 PerfScore 58.00
 G_M7339_IG29:
-            ldrb    w0, [fp, #0x90]	// [V19 loc17]
+            ldrb    w0, [fp, #0x98]	// [V19 loc17]
             cbz     w0, G_M7339_IG30
-            ldr     x0, [fp, #0x38]	// [V18 loc16]
+            ldr     x0, [fp, #0x40]	// [V18 loc16]
             bl      System.Threading.Monitor:Exit(System.Object)
 						;; size=16 bbWeight=4 PerfScore 24.00
 G_M7339_IG30:
-            ldr     x0, [fp, #0x60]	// [V00 this]
+            ldr     x0, [fp, #0x68]	// [V00 this]
             ldp     w2, w1, [x0, #0x1C]
             cmp     w1, w2
             ble     G_M7339_IG31
             b       G_M7339_IG32
 						;; size=20 bbWeight=4 PerfScore 30.00
 G_M7339_IG31:
             sxtw    w2, w1
 						;; size=4 bbWeight=4 PerfScore 2.00
 G_M7339_IG32:
-            scvtf   s16, w22
+            scvtf   s16, w23
             fmul    s16, s16, s8
-            fcvtzs  w23, s16
-            sub     w24, w2, #1
-            cmp     w23, w24
+            fcvtzs  w24, s16
+            sub     w25, w2, #1
+            cmp     w24, w25
             ble     G_M7339_IG33
             b       G_M7339_IG34
 						;; size=28 bbWeight=4 PerfScore 48.00
 G_M7339_IG33:
-            sxtw    w24, w23
+            sxtw    w25, w24
 						;; size=4 bbWeight=4 PerfScore 2.00
 G_M7339_IG34:
-            cmp     w22, w24
+            cmp     w23, w25
             ble     G_M7339_IG58
             ldr     x2, [x21, #0x08]
             mov     x0, x2
             ldr     x2, [x2]
             ldr     x2, [x2, #0x48]
             ldr     x2, [x2, #0x28]
             blr     x2
-            str     x0, [fp, #0x28]	// [V25 loc23]
-            str     wzr, [fp, #0x88]	// [V26 loc24]
+            str     x0, [fp, #0x30]	// [V25 loc23]
+            str     wzr, [fp, #0x90]	// [V26 loc24]
 						;; size=40 bbWeight=4 PerfScore 68.00
 G_M7339_IG35:
-            ldrb    w1, [fp, #0x88]	// [V26 loc24]
+            ldrb    w1, [fp, #0x90]	// [V26 loc24]
             cbz     w1, G_M7339_IG37
 						;; size=8 bbWeight=4 PerfScore 12.00
 G_M7339_IG36:
             movz    x0, #0xD1FFAB1E      // code for System.Threading.Monitor:ThrowLockTakenException()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             brk_unix #0
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M7339_IG37:
-            add     x1, fp, #136	// [V26 loc24]
-            ldr     x0, [fp, #0x28]	// [V25 loc23]
+            add     x1, fp, #144	// [V26 loc24]
+            ldr     x0, [fp, #0x30]	// [V25 loc23]
             bl      System.Threading.Monitor:ReliableEnter(System.Object,byref)
             ldr     x0, [x21, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x38]
             blr     x1
             sxtw    x1, w0
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            add     x0, x22, #152
             bl      CORINFO_HELP_NEWARR_1_OBJ
-            mov     x23, x0
+            mov     x24, x0
             ldr     x0, [x21, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x38]
             blr     x1
             sxtw    x1, w0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWARR_1_VC
-            mov     x25, x0
+            mov     x26, x0
             ldr     x0, [x21, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x08]
             blr     x1
             add     x11, x20, #40
             ldr     x1, [x11]
             blr     x1
-            str     x0, [fp, #0x20]	// [V27 loc25]
-						;; size=136 bbWeight=4 PerfScore 220.00
+            str     x0, [fp, #0x28]	// [V27 loc25]
+						;; size=128 bbWeight=4 PerfScore 216.00
 G_M7339_IG38:
             b       G_M7339_IG43
 						;; size=4 bbWeight=4 PerfScore 4.00
 G_M7339_IG39:
-            ldr     x0, [fp, #0x20]	// [V27 loc25]
+            ldr     x0, [fp, #0x28]	// [V27 loc25]
             add     x11, x20, #56
             ldr     x1, [x11]
             blr     x1
             mov     x15, x0
             cbz     x15, G_M7339_IG42
 						;; size=24 bbWeight=16 PerfScore 128.00
 G_M7339_IG40:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x1, [x15]
             cmp     x1, x2
             beq     G_M7339_IG42
 						;; size=24 bbWeight=8 PerfScore 48.00
 G_M7339_IG41:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x15, x0
 						;; size=32 bbWeight=4 PerfScore 28.00
 G_M7339_IG42:
             ldr     x14, [x15, #0x18]
-            ldr     w12, [x25, #0x08]
+            ldr     w12, [x26, #0x08]
             cmp     w19, w12
             bhs     G_M7339_IG44
             ubfiz   x12, x19, #3, #32
             add     x12, x12, #16
-            str     x14, [x25, x12]
-            ldr     w21, [x23, #0x08]
+            str     x14, [x26, x12]
+            ldr     w21, [x24, #0x08]
             cmp     w19, w21
             bhs     G_M7339_IG44
-            add     x14, x23, #16
+            add     x14, x24, #16
             add     x14, x14, x19,  LSL #3
             bl      CORINFO_HELP_ASSIGN_REF
             add     w19, w19, #1
 						;; size=56 bbWeight=16 PerfScore 280.00
 G_M7339_IG43:
-            ldr     x0, [fp, #0x20]	// [V27 loc25]
+            ldr     x0, [fp, #0x28]	// [V27 loc25]
             add     x11, x20, #48
             ldr     x1, [x11]
             blr     x1
             cbnz    w0, G_M7339_IG39
             b       G_M7339_IG45
 						;; size=24 bbWeight=32 PerfScore 272.00
 G_M7339_IG44:
             bl      CORINFO_HELP_RNGCHKFAIL
             brk_unix #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M7339_IG45:
-            ldr     x1, [fp, #0x20]	// [V27 loc25]
+            ldr     x1, [fp, #0x28]	// [V27 loc25]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M7339_IG46
             add     x11, x20, #64
             ldr     x1, [x11]
             blr     x1
 						;; size=52 bbWeight=4 PerfScore 58.00
 G_M7339_IG46:
-            ldrb    w0, [fp, #0x88]	// [V26 loc24]
+            ldrb    w0, [fp, #0x90]	// [V26 loc24]
             cbz     w0, G_M7339_IG47
-            ldr     x0, [fp, #0x28]	// [V25 loc23]
+            ldr     x0, [fp, #0x30]	// [V25 loc23]
             bl      System.Threading.Monitor:Exit(System.Object)
 						;; size=16 bbWeight=4 PerfScore 24.00
 G_M7339_IG47:
-            ldr     w4, [x25, #0x08]
-            mov     x1, x25
-            mov     x2, x23
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     w4, [x26, #0x08]
+            mov     x1, x26
+            mov     x2, x24
+            add     x0, x22, #0xD1FFAB1E
             mov     w3, wzr
             mov     x5, xzr
             movz    x6, #0xD1FFAB1E      // code for System.Array:Sort[System.DateTime,System.__Canon](System.DateTime[],System.__Canon[],int,int,System.Collections.Generic.IComparer`1[System.DateTime])
             movk    x6, #0xD1FFAB1E LSL #16
             movk    x6, #0xD1FFAB1E LSL #32
             ldr     x6, [x6]
             blr     x6
             mov     w19, wzr
             mov     w20, wzr
-            ldr     w21, [x23, #0x08]
+            ldr     w21, [x24, #0x08]
             cmp     w21, #0
             ble     G_M7339_IG57
-						;; size=72 bbWeight=4 PerfScore 70.00
+						;; size=64 bbWeight=4 PerfScore 66.00
 G_M7339_IG48:
-            add     x1, x23, #16
-            ldr     x25, [x1, w20, UXTW #3]
-            str     x25, [fp, #0x18]	// [V31 loc29]
-            str     wzr, [fp, #0x80]	// [V32 loc30]
+            add     x1, x24, #16
+            ldr     x22, [x1, w20, UXTW #3]
+            str     x22, [fp, #0x20]	// [V31 loc29]
+            str     wzr, [fp, #0x88]	// [V32 loc30]
 						;; size=16 bbWeight=32 PerfScore 176.00
 G_M7339_IG49:
-            ldrb    w1, [fp, #0x80]	// [V32 loc30]
+            ldrb    w1, [fp, #0x88]	// [V32 loc30]
             cbnz    w1, G_M7339_IG52
-            add     x1, fp, #128	// [V32 loc30]
-            mov     x0, x25
+            add     x1, fp, #136	// [V32 loc30]
+            mov     x0, x22
             bl      System.Threading.Monitor:ReliableEnter(System.Object,byref)
 						;; size=20 bbWeight=32 PerfScore 160.00
 G_M7339_IG50:
-            cmp     w22, w24
+            cmp     w23, w25
             ble     G_M7339_IG54
 						;; size=8 bbWeight=256 PerfScore 384.00
 G_M7339_IG51:
-            ldr     x0, [x25, #0x08]
+            ldr     x0, [x22, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
             cmp     w0, #0
             bgt     G_M7339_IG53
             b       G_M7339_IG54
 						;; size=32 bbWeight=128 PerfScore 1984.00
 G_M7339_IG52:
             movz    x0, #0xD1FFAB1E      // code for System.Threading.Monitor:ThrowLockTakenException()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             brk_unix #0
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M7339_IG53:
-            ldr     x0, [x25, #0x08]
+            ldr     x0, [x22, #0x08]
             mov     w1, wzr
             ldr     x2, [x0]
             ldr     x2, [x2, #0x60]
             ldr     x2, [x2, #0x18]
             blr     x2
-            sub     w22, w22, #1
-            ldr     x0, [fp, #0x60]	// [V00 this]
+            sub     w23, w23, #1
+            ldr     x0, [fp, #0x68]	// [V00 this]
             ldr     w1, [x0, #0x24]
             sub     w1, w1, #1
             str     w1, [x0, #0x24]
-            ldr     w1, [fp, #0xA4]	// [V02 loc0]
+            ldr     w1, [fp, #0xAC]	// [V02 loc0]
             add     w1, w1, #1
-            str     w1, [fp, #0xA4]	// [V02 loc0]
+            str     w1, [fp, #0xAC]	// [V02 loc0]
             b       G_M7339_IG50
 						;; size=60 bbWeight=64 PerfScore 1600.00
 G_M7339_IG54:
-            ldrb    w1, [fp, #0x80]	// [V32 loc30]
+            ldrb    w1, [fp, #0x88]	// [V32 loc30]
             cbz     w1, G_M7339_IG56
 						;; size=8 bbWeight=32 PerfScore 96.00
 G_M7339_IG55:
-            ldr     x0, [fp, #0x18]	// [V31 loc29]
+            ldr     x0, [fp, #0x20]	// [V31 loc29]
             bl      System.Threading.Monitor:Exit(System.Object)
 						;; size=8 bbWeight=16 PerfScore 48.00
 G_M7339_IG56:
-            cmp     w22, w24
+            cmp     w23, w25
             ble     G_M7339_IG57
             add     w20, w20, #1
             cmp     w21, w20
             bgt     G_M7339_IG48
 						;; size=20 bbWeight=32 PerfScore 112.00
 G_M7339_IG57:
-            cmp     w22, w24
+            cmp     w23, w25
             ble     G_M7339_IG58
-            ldr     x1, [fp, #0x40]	// [V14 loc12]
-            ldr     x3, [fp, #0x58]	// [V01 arg1]
+            ldr     x1, [fp, #0x48]	// [V14 loc12]
+            ldr     x3, [fp, #0x60]	// [V01 arg1]
             cbnz    x3, G_M7339_IG59
 						;; size=20 bbWeight=4 PerfScore 26.00
 G_M7339_IG58:
-            ldr     x1, [fp, #0x40]	// [V14 loc12]
+            ldr     x1, [fp, #0x48]	// [V14 loc12]
             mov     x0, x1
             movz    x20, #0xD1FFAB1E      // code for System.Collections.IEnumerator:MoveNext():ubyte:this
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             mov     x11, x20
             ldr     x2, [x11]
             blr     x2
             cbnz    w0, G_M7339_IG06
             b       G_M7339_IG60
 						;; size=40 bbWeight=8 PerfScore 84.00
 G_M7339_IG59:
-            str     wzr, [fp, #0x7C]	// [V33 loc31]
+            str     wzr, [fp, #0x84]	// [V33 loc31]
             b       G_M7339_IG61
 						;; size=8 bbWeight=1 PerfScore 2.00
 G_M7339_IG60:
-            ldr     x1, [fp, #0x40]	// [V14 loc12]
+            ldr     x1, [fp, #0x48]	// [V14 loc12]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M7339_IG64
             add     x11, x20, #80
             ldr     x1, [x11]
             blr     x1
             b       G_M7339_IG64
 						;; size=56 bbWeight=1 PerfScore 15.50
 G_M7339_IG61:
-            ldr     x0, [fp, #0xA8]	// [V83 PSPSym]
+            ldr     x0, [fp, #0xB0]	// [V83 PSPSym]
             bl      G_M7339_IG94
 						;; size=8 bbWeight=1 PerfScore 3.00
 G_M7339_IG62:
             b       G_M7339_IG66
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M7339_IG63:
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Monitor:ThrowLockTakenException()
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk_unix #0
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M7339_IG64:
-            ldr     x0, [fp, #0xA8]	// [V83 PSPSym]
+            ldr     x0, [fp, #0xB0]	// [V83 PSPSym]
             bl      G_M7339_IG97
 						;; size=8 bbWeight=1 PerfScore 3.00
 G_M7339_IG65:
             b       G_M7339_IG67
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M7339_IG66:
-            ldrb    w0, [fp, #0x98]	// [V13 loc11]
+            ldrb    w0, [fp, #0xA0]	// [V13 loc11]
             cbz     w0, G_M7339_IG77
-            ldr     x0, [fp, #0x48]	// [V12 loc10]
+            ldr     x0, [fp, #0x50]	// [V12 loc10]
             bl      System.Threading.Monitor:Exit(System.Object)
             b       G_M7339_IG77
 						;; size=20 bbWeight=1 PerfScore 7.00
 G_M7339_IG67:
-            ldr     x3, [fp, #0x58]	// [V01 arg1]
+            ldr     x3, [fp, #0x60]	// [V01 arg1]
             cbnz    x3, G_M7339_IG75
-            ldr     w0, [fp, #0xA4]	// [V02 loc0]
+            ldr     w0, [fp, #0xAC]	// [V02 loc0]
             cbnz    w0, G_M7339_IG75
-            ldr     x0, [fp, #0x68]	// [V51 tmp15]
+            ldr     x0, [fp, #0x70]	// [V51 tmp15]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movk    x1, #0xD1FFAB1E LSL #48
             eor     x0, x0, x1
             lsl     x0, x0, #2
             cbnz    x0, G_M7339_IG69
             mov     w0, wzr
 						;; size=52 bbWeight=1 PerfScore 13.00
 G_M7339_IG68:
-            ldr     x25, [sp, #0xE8]
-            ldp     x23, x24, [sp, #0xD8]
-            ldp     x21, x22, [sp, #0xC8]
-            ldp     x19, x20, [sp, #0xB8]
-            ldr     d8, [sp, #0xB0]
-            ldp     fp, lr, [sp], #0xF0
+            ldp     x25, x26, [sp, #0xF0]
+            ldp     x23, x24, [sp, #0xE0]
+            ldp     x21, x22, [sp, #0xD0]
+            ldp     x19, x20, [sp, #0xC0]
+            ldr     d8, [sp, #0xB8]
+            ldp     fp, lr, [sp], #0xD1FFAB1E
             ret     lr
-						;; size=28 bbWeight=1 PerfScore 9.00
+						;; size=28 bbWeight=1 PerfScore 8.00
 G_M7339_IG69:
-            ldr     x0, [fp, #0x50]	// [V05 loc3]
-            str     x0, [fp, #0x10]	// [V34 loc32]
-            str     wzr, [fp, #0x70]	// [V35 loc33]
+            ldr     x0, [fp, #0x58]	// [V05 loc3]
+            str     x0, [fp, #0x18]	// [V34 loc32]
+            str     wzr, [fp, #0x78]	// [V35 loc33]
 						;; size=12 bbWeight=1 PerfScore 4.00
 G_M7339_IG70:
-            ldrb    w1, [fp, #0x70]	// [V35 loc33]
+            ldrb    w1, [fp, #0x78]	// [V35 loc33]
             cbnz    w1, G_M7339_IG72
-            add     x1, fp, #112	// [V35 loc33]
-            ldr     x0, [fp, #0x50]	// [V05 loc3]
+            add     x1, fp, #120	// [V35 loc33]
+            ldr     x0, [fp, #0x58]	// [V05 loc3]
             bl      System.Threading.Monitor:ReliableEnter(System.Object,byref)
 						;; size=20 bbWeight=1 PerfScore 6.50
 G_M7339_IG71:
-            ldr     x0, [fp, #0x60]	// [V00 this]
+            ldr     x0, [fp, #0x68]	// [V00 this]
             ldr     w1, [x0, #0x24]
             ldr     w2, [x0, #0x1C]
             cmp     w1, w2
             blt     G_M7339_IG74
-            ldr     x1, [fp, #0x50]	// [V05 loc3]
+            ldr     x1, [fp, #0x58]	// [V05 loc3]
             ldr     x1, [x1, #0x08]
             mov     x0, x1
             ldr     x1, [x1]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
             cmp     w0, #0
             bgt     G_M7339_IG73
             b       G_M7339_IG74
 						;; size=60 bbWeight=8 PerfScore 220.00
 G_M7339_IG72:
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Monitor:ThrowLockTakenException()
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk_unix #0
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M7339_IG73:
-            ldr     x0, [fp, #0x50]	// [V05 loc3]
+            ldr     x0, [fp, #0x58]	// [V05 loc3]
             ldr     x0, [x0, #0x08]
             mov     w1, wzr
             ldr     x2, [x0]
             ldr     x2, [x2, #0x60]
             ldr     x2, [x2, #0x18]
             blr     x2
-            ldr     x0, [fp, #0x60]	// [V00 this]
+            ldr     x0, [fp, #0x68]	// [V00 this]
             ldr     w1, [x0, #0x24]
             sub     w1, w1, #1
             str     w1, [x0, #0x24]
             b       G_M7339_IG71
 						;; size=48 bbWeight=4 PerfScore 92.00
 G_M7339_IG74:
-            ldrb    w0, [fp, #0x70]	// [V35 loc33]
+            ldrb    w0, [fp, #0x78]	// [V35 loc33]
             cbz     w0, G_M7339_IG75
-            ldr     x0, [fp, #0x10]	// [V34 loc32]
+            ldr     x0, [fp, #0x18]	// [V34 loc32]
             bl      System.Threading.Monitor:Exit(System.Object)
 						;; size=16 bbWeight=1 PerfScore 6.00
 G_M7339_IG75:
             mov     w0, #1
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M7339_IG76:
-            ldr     x25, [sp, #0xE8]
-            ldp     x23, x24, [sp, #0xD8]
-            ldp     x21, x22, [sp, #0xC8]
-            ldp     x19, x20, [sp, #0xB8]
-            ldr     d8, [sp, #0xB0]
-            ldp     fp, lr, [sp], #0xF0
+            ldp     x25, x26, [sp, #0xF0]
+            ldp     x23, x24, [sp, #0xE0]
+            ldp     x21, x22, [sp, #0xD0]
+            ldp     x19, x20, [sp, #0xC0]
+            ldr     d8, [sp, #0xB8]
+            ldp     fp, lr, [sp], #0xD1FFAB1E
             ret     lr
-						;; size=28 bbWeight=1 PerfScore 9.00
+						;; size=28 bbWeight=1 PerfScore 8.00
 G_M7339_IG77:
-            ldr     w0, [fp, #0x7C]	// [V33 loc31]
+            ldr     w0, [fp, #0x84]	// [V33 loc31]
             uxtb    w0, w0
 						;; size=8 bbWeight=1 PerfScore 2.50
 G_M7339_IG78:
-            ldr     x25, [sp, #0xE8]
-            ldp     x23, x24, [sp, #0xD8]
-            ldp     x21, x22, [sp, #0xC8]
-            ldp     x19, x20, [sp, #0xB8]
-            ldr     d8, [sp, #0xB0]
-            ldp     fp, lr, [sp], #0xF0
+            ldp     x25, x26, [sp, #0xF0]
+            ldp     x23, x24, [sp, #0xE0]
+            ldp     x21, x22, [sp, #0xD0]
+            ldp     x19, x20, [sp, #0xC0]
+            ldr     d8, [sp, #0xB8]
+            ldp     fp, lr, [sp], #0xD1FFAB1E
             ret     lr
-						;; size=28 bbWeight=1 PerfScore 9.00
+						;; size=28 bbWeight=1 PerfScore 8.00
 G_M7339_IG79:
             stp     fp, lr, [sp, #-0x60]!
-            str     d8, [sp, #0x20]
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            str     x25, [sp, #0x58]
-            add     x3, fp, #240
-            str     x3, [sp, #0x18]
+            str     d8, [sp, #0x18]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
+            add     x3, fp, #0xD1FFAB1E
+            str     x3, [sp, #0x10]
 						;; size=32 bbWeight=0 PerfScore 0.00
 G_M7339_IG80:
-            ldr     x1, [fp, #0x30]	// [V20 loc18]
+            ldr     x1, [fp, #0x38]	// [V20 loc18]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M7339_IG81
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             add     x11, x20, #72
             ldr     x1, [x11]
             blr     x1
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M7339_IG81:
-            ldr     x25, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldr     d8, [sp, #0x20]
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldr     d8, [sp, #0x18]
             ldp     fp, lr, [sp], #0x60
             ret     lr
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M7339_IG82:
             stp     fp, lr, [sp, #-0x60]!
-            str     d8, [sp, #0x20]
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            str     x25, [sp, #0x58]
-            add     x3, fp, #240
-            str     x3, [sp, #0x18]
+            str     d8, [sp, #0x18]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
+            add     x3, fp, #0xD1FFAB1E
+            str     x3, [sp, #0x10]
 						;; size=32 bbWeight=0 PerfScore 0.00
 G_M7339_IG83:
-            ldrb    w0, [fp, #0x90]	// [V19 loc17]
+            ldrb    w0, [fp, #0x98]	// [V19 loc17]
             cbz     w0, G_M7339_IG84
-            ldr     x0, [fp, #0x38]	// [V18 loc16]
+            ldr     x0, [fp, #0x40]	// [V18 loc16]
             bl      System.Threading.Monitor:Exit(System.Object)
 						;; size=16 bbWeight=0 PerfScore 0.00
 G_M7339_IG84:
-            ldr     x25, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldr     d8, [sp, #0x20]
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldr     d8, [sp, #0x18]
             ldp     fp, lr, [sp], #0x60
             ret     lr
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M7339_IG85:
             stp     fp, lr, [sp, #-0x60]!
-            str     d8, [sp, #0x20]
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            str     x25, [sp, #0x58]
-            add     x3, fp, #240
-            str     x3, [sp, #0x18]
+            str     d8, [sp, #0x18]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
+            add     x3, fp, #0xD1FFAB1E
+            str     x3, [sp, #0x10]
 						;; size=32 bbWeight=0 PerfScore 0.00
 G_M7339_IG86:
-            ldr     x1, [fp, #0x20]	// [V27 loc25]
+            ldr     x1, [fp, #0x28]	// [V27 loc25]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M7339_IG87
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             add     x11, x20, #64
             ldr     x1, [x11]
             blr     x1
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M7339_IG87:
-            ldr     x25, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldr     d8, [sp, #0x20]
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldr     d8, [sp, #0x18]
             ldp     fp, lr, [sp], #0x60
             ret     lr
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M7339_IG88:
             stp     fp, lr, [sp, #-0x60]!
-            str     d8, [sp, #0x20]
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            str     x25, [sp, #0x58]
-            add     x3, fp, #240
-            str     x3, [sp, #0x18]
+            str     d8, [sp, #0x18]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
+            add     x3, fp, #0xD1FFAB1E
+            str     x3, [sp, #0x10]
 						;; size=32 bbWeight=0 PerfScore 0.00
 G_M7339_IG89:
-            ldrb    w0, [fp, #0x88]	// [V26 loc24]
+            ldrb    w0, [fp, #0x90]	// [V26 loc24]
             cbz     w0, G_M7339_IG90
-            ldr     x0, [fp, #0x28]	// [V25 loc23]
+            ldr     x0, [fp, #0x30]	// [V25 loc23]
             bl      System.Threading.Monitor:Exit(System.Object)
 						;; size=16 bbWeight=0 PerfScore 0.00
 G_M7339_IG90:
-            ldr     x25, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldr     d8, [sp, #0x20]
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldr     d8, [sp, #0x18]
             ldp     fp, lr, [sp], #0x60
             ret     lr
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M7339_IG91:
             stp     fp, lr, [sp, #-0x60]!
-            str     d8, [sp, #0x20]
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            str     x25, [sp, #0x58]
-            add     x3, fp, #240
-            str     x3, [sp, #0x18]
+            str     d8, [sp, #0x18]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
+            add     x3, fp, #0xD1FFAB1E
+            str     x3, [sp, #0x10]
 						;; size=32 bbWeight=0 PerfScore 0.00
 G_M7339_IG92:
-            ldrb    w0, [fp, #0x80]	// [V32 loc30]
+            ldrb    w0, [fp, #0x88]	// [V32 loc30]
             cbz     w0, G_M7339_IG93
-            ldr     x0, [fp, #0x18]	// [V31 loc29]
+            ldr     x0, [fp, #0x20]	// [V31 loc29]
             bl      System.Threading.Monitor:Exit(System.Object)
 						;; size=16 bbWeight=0 PerfScore 0.00
 G_M7339_IG93:
-            ldr     x25, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldr     d8, [sp, #0x20]
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldr     d8, [sp, #0x18]
             ldp     fp, lr, [sp], #0x60
             ret     lr
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M7339_IG94:
             stp     fp, lr, [sp, #-0x60]!
-            str     d8, [sp, #0x20]
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            str     x25, [sp, #0x58]
-            add     x3, fp, #240
-            str     x3, [sp, #0x18]
+            str     d8, [sp, #0x18]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
+            add     x3, fp, #0xD1FFAB1E
+            str     x3, [sp, #0x10]
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M7339_IG95:
-            ldr     x1, [fp, #0x40]	// [V14 loc12]
+            ldr     x1, [fp, #0x48]	// [V14 loc12]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M7339_IG96
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             add     x11, x20, #80
             ldr     x1, [x11]
             blr     x1
 						;; size=64 bbWeight=1 PerfScore 16.00
 G_M7339_IG96:
-            ldr     x25, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldr     d8, [sp, #0x20]
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldr     d8, [sp, #0x18]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-						;; size=28 bbWeight=1 PerfScore 17.00
+						;; size=28 bbWeight=1 PerfScore 18.00
 G_M7339_IG97:
             stp     fp, lr, [sp, #-0x60]!
-            str     d8, [sp, #0x20]
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            str     x25, [sp, #0x58]
-            add     x3, fp, #240
-            str     x3, [sp, #0x18]
+            str     d8, [sp, #0x18]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
+            add     x3, fp, #0xD1FFAB1E
+            str     x3, [sp, #0x10]
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M7339_IG98:
-            ldrb    w0, [fp, #0x98]	// [V13 loc11]
+            ldrb    w0, [fp, #0xA0]	// [V13 loc11]
             cbz     w0, G_M7339_IG99
-            ldr     x0, [fp, #0x48]	// [V12 loc10]
+            ldr     x0, [fp, #0x50]	// [V12 loc10]
             bl      System.Threading.Monitor:Exit(System.Object)
 						;; size=16 bbWeight=1 PerfScore 6.00
 G_M7339_IG99:
-            ldr     x25, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldr     d8, [sp, #0x20]
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldr     d8, [sp, #0x18]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-						;; size=28 bbWeight=1 PerfScore 17.00
+						;; size=28 bbWeight=1 PerfScore 18.00
 G_M7339_IG100:
             stp     fp, lr, [sp, #-0x60]!
-            str     d8, [sp, #0x20]
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            str     x25, [sp, #0x58]
-            add     x3, fp, #240
-            str     x3, [sp, #0x18]
+            str     d8, [sp, #0x18]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
+            add     x3, fp, #0xD1FFAB1E
+            str     x3, [sp, #0x10]
 						;; size=32 bbWeight=0 PerfScore 0.00
 G_M7339_IG101:
-            ldrb    w0, [fp, #0x70]	// [V35 loc33]
+            ldrb    w0, [fp, #0x78]	// [V35 loc33]
             cbz     w0, G_M7339_IG102
-            ldr     x0, [fp, #0x10]	// [V34 loc32]
+            ldr     x0, [fp, #0x18]	// [V34 loc32]
             bl      System.Threading.Monitor:Exit(System.Object)
 						;; size=16 bbWeight=0 PerfScore 0.00
 G_M7339_IG102:
-            ldr     x25, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldr     d8, [sp, #0x20]
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldr     d8, [sp, #0x18]
             ldp     fp, lr, [sp], #0x60
             ret     lr
 						;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2980, prolog size 44, PerfScore 8304.50, instruction count 745, allocated bytes for code 2980 (MethodHash=bd08e354) for method System.Net.CookieContainer:AgeCookies(System.String):ubyte:this (FullOpts)
+; Total bytes of code 2956, prolog size 44, PerfScore 8293.50, instruction count 739, allocated bytes for code 2956 (MethodHash=bd08e354) for method System.Net.CookieContainer:AgeCookies(System.String):ubyte:this (FullOpts)
-24 (-0.80 % of base) - System.Threading.Tasks.Dataflow.TransformBlock`2[double,System.Nullable`1[int]]:.ctor(System.Func`2[double,System.Nullable`1[int]],System.Func`2[double,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this
 ; Assembly listing for method System.Threading.Tasks.Dataflow.TransformBlock`2[double,System.Nullable`1[int]]:.ctor(System.Func`2[double,System.Nullable`1[int]],System.Func`2[double,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 60 single block inlinees; 20 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 21, 16   )     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.Dataflow.TransformBlock`2[double,System.Nullable`1[int]]>
 ;  V01 arg1         [V01,T22] (  3,  3   )     ref  ->  x21         class-hnd single-def <System.Func`2[double,System.Nullable`1[int]]>
 ;  V02 arg2         [V02,T23] (  3,  3   )     ref  ->  x22         class-hnd single-def <System.Func`2[double,System.Threading.Tasks.Task`1[System.Nullable`1[int]]]>
 ;  V03 arg3         [V03,T01] ( 16, 12.50)     ref  ->  x20         class-hnd <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
 ;  V04 loc0         [V04,T09] (  9,  7.50)     ref  ->  x23         class-hnd exact single-def <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c__DisplayClass9_0[double,System.Nullable`1[int]]>
-;  V05 loc1         [V05,T67] (  3,  2.50)     ref  ->  x21         class-hnd <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
+;  V05 loc1         [V05,T68] (  3,  2.50)     ref  ->  x21         class-hnd <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
 ;  V06 loc2         [V06,T24] (  7,  4.50)     ref  ->  x22         class-hnd exact single-def <System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c__DisplayClass9_0[double,System.Nullable`1[int]]>
-;  V09 tmp2         [V09,T31] (  2,  4   )     ref  ->  x24         class-hnd single-def "dup spill" <System.Action`1[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]]>
+;  V09 tmp2         [V09,T32] (  2,  4   )     ref  ->  x24         class-hnd single-def "dup spill" <System.Action`1[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]]>
 ;* V10 tmp3         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V13 tmp6         [V13,T43] (  4,  3.50)     ref  ->  x24        
+;  V13 tmp6         [V13,T44] (  4,  3.50)     ref  ->  x24        
 ;  V14 tmp7         [V14,T12] (  3,  6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
-;  V15 tmp8         [V15,T27] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
+;  V15 tmp8         [V15,T28] (  4,  4   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
 ;  V16 tmp9         [V16,T03] ( 11, 11   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.TargetCore`1[double]>
-;  V17 tmp10        [V17,T32] (  2,  4   )     ref  ->  x23         class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
+;  V17 tmp10        [V17,T33] (  2,  4   )     ref  ->  x23         class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
 ;  V18 tmp11        [V18,T07] (  4,  8   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V20 tmp13        [V20,T25] (  5,  4.50)     ref  ->  x23        
-;  V21 tmp14        [V21,T33] (  2,  4   )     ref  ->  x24         class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
+;  V21 tmp14        [V21,T34] (  2,  4   )     ref  ->  x24         class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
 ;* V22 tmp15        [V22    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Threading.CancellationToken>
 ;* V23 tmp16        [V23    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V24 tmp17        [V24,T34] (  2,  4   )     ref  ->  x23         class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
+;  V24 tmp17        [V24,T35] (  2,  4   )     ref  ->  x23         class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
 ;  V25 tmp18        [V25,T08] (  4,  8   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
 ;* V26 tmp19        [V26    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V27 tmp20        [V27,T26] (  5,  4.50)     ref  ->  x23        
 ;* V28 tmp21        [V28    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Threading.CancellationToken>
 ;* V29 tmp22        [V29    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Threading.CancellationToken>
-;  V31 tmp24        [V31,T35] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Threading.CancellationToken]>
-;  V32 tmp25        [V32,T36] (  2,  4   )     ref  ->  x23         class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+;  V31 tmp24        [V31,T36] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Threading.CancellationToken]>
+;  V32 tmp25        [V32,T37] (  2,  4   )     ref  ->  x23         class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
 ;* V33 tmp26        [V33    ] (  0,  0   )  struct ( 8) zero-ref    <System.Threading.CancellationToken>
 ;* V34 tmp27        [V34    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V35 tmp28        [V35,T44] (  4,  3.50)     ref  ->   x2        
+;  V35 tmp28        [V35,T45] (  4,  3.50)     ref  ->   x2        
 ;  V36 tmp29        [V36,T13] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Object,System.Threading.CancellationToken]>
 ;  V37 tmp30        [V37,T14] (  5,  5   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
 ;  V38 tmp31        [V38,T15] (  5,  5   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
-;  V39 tmp32        [V39,T28] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
+;  V39 tmp32        [V39,T29] (  4,  4   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
 ;  V40 tmp33        [V40,T04] ( 11, 11   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.TargetCore`1[double]>
-;  V41 tmp34        [V41,T72] (  2,  2   )     ref  ->  x21         class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Nullable`1[int]]>
+;  V41 tmp34        [V41,T73] (  2,  2   )     ref  ->  x21         class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Nullable`1[int]]>
 ;* V42 tmp35        [V42    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V43 tmp36        [V43    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V44 tmp37        [V44,T68] (  4,  2   )     ref  ->  x21        
+;  V44 tmp37        [V44,T69] (  4,  2   )     ref  ->  x21        
 ;  V45 tmp38        [V45,T16] (  5,  5   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
 ;  V46 tmp39        [V46,T17] (  5,  5   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Object,System.Nullable`1[int]]>
 ;  V47 tmp40        [V47,T18] (  5,  5   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]]>
-;  V48 tmp41        [V48,T73] (  2,  2   )     ref  ->  x21         class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
-;  V49 tmp42        [V49,T69] (  4,  2   )     ref  ->  x21        
+;  V48 tmp41        [V48,T74] (  2,  2   )     ref  ->  x21         class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
+;  V49 tmp42        [V49,T70] (  4,  2   )     ref  ->  x21        
 ;  V50 tmp43        [V50,T19] (  5,  5   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
 ;* V51 tmp44        [V51    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.ArgumentNullException>
-;  V52 tmp45        [V52,T97] (  3,  0   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
-;  V53 tmp46        [V53,T98] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
-;  V54 tmp47        [V54,T45] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]>
-;  V55 tmp48        [V55,T46] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]>
-;* V56 tmp49        [V56,T96] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V57 tmp50        [V57,T47] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]>
-;  V58 tmp51        [V58,T48] (  3,  3   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[long,System.Collections.Generic.KeyValuePair`2[ubyte,System.Nullable`1[int]]]>
-;  V59 tmp52        [V59,T49] (  3,  3   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-;  V60 tmp53        [V60,T74] (  2,  2   )     ref  ->  x24         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
+;  V52 tmp45        [V52,T98] (  3,  0   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+;  V53 tmp46        [V53,T99] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+;  V54 tmp47        [V54,T46] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]>
+;  V55 tmp48        [V55,T47] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]>
+;* V56 tmp49        [V56,T97] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V57 tmp50        [V57,T48] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]>
+;  V58 tmp51        [V58,T49] (  3,  3   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[long,System.Collections.Generic.KeyValuePair`2[ubyte,System.Nullable`1[int]]]>
+;  V59 tmp52        [V59,T50] (  3,  3   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+;  V60 tmp53        [V60,T75] (  2,  2   )     ref  ->  x25         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
 ;* V61 tmp54        [V61    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V62 tmp55        [V62,T50] (  3,  3   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
-;  V63 tmp56        [V63,T80] (  3,  1.50)     ref  ->  x21         class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.IProducerConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
+;  V62 tmp55        [V62,T51] (  3,  3   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
+;  V63 tmp56        [V63,T81] (  3,  1.50)     ref  ->  x24         class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.IProducerConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
 ;* V64 tmp57        [V64    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V65 tmp58        [V65    ] (  0,  0   )     ref  ->  zero-ref   
-;  V66 tmp59        [V66,T29] (  4,  4   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1[double]>
-;  V67 tmp60        [V67,T51] (  3,  3   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.MultiProducerMultiConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
-;  V68 tmp61        [V68,T52] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+;  V66 tmp59        [V66,T30] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1[double]>
+;  V67 tmp60        [V67,T52] (  3,  3   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.MultiProducerMultiConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
+;  V68 tmp61        [V68,T53] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
 ;* V69 tmp62        [V69    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
-;* V70 tmp63        [V70,T90] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
-;  V71 tmp64        [V71,T53] (  3,  3   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[double],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
-;  V72 tmp65        [V72,T78] (  2,  2   )     int  ->  x21         "Inlining Arg"
-;  V73 tmp66        [V73,T54] (  3,  3   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-;  V74 tmp67        [V74,T75] (  2,  2   )     ref  ->  x24         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
+;* V70 tmp63        [V70,T91] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
+;  V71 tmp64        [V71,T54] (  3,  3   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[double],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+;  V72 tmp65        [V72,T79] (  2,  2   )     int  ->  x24         "Inlining Arg"
+;  V73 tmp66        [V73,T55] (  3,  3   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+;  V74 tmp67        [V74,T76] (  2,  2   )     ref  ->  x25         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
 ;* V75 tmp68        [V75    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V76 tmp69        [V76,T55] (  3,  3   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
-;  V77 tmp70        [V77,T81] (  3,  1.50)     ref  ->  x21         class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.IProducerConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
+;  V76 tmp69        [V76,T56] (  3,  3   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
+;  V77 tmp70        [V77,T82] (  3,  1.50)     ref  ->  x24         class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.IProducerConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
 ;* V78 tmp71        [V78    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V79 tmp72        [V79    ] (  0,  0   )     ref  ->  zero-ref   
-;  V80 tmp73        [V80,T30] (  4,  4   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1[double]>
-;  V81 tmp74        [V81,T56] (  3,  3   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.MultiProducerMultiConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
-;  V82 tmp75        [V82,T57] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+;  V80 tmp73        [V80,T31] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1[double]>
+;  V81 tmp74        [V81,T57] (  3,  3   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.MultiProducerMultiConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]>
+;  V82 tmp75        [V82,T58] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
 ;* V83 tmp76        [V83    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
-;* V84 tmp77        [V84,T91] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
-;  V85 tmp78        [V85,T58] (  3,  3   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[double],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
-;  V86 tmp79        [V86,T79] (  2,  2   )     int  ->  x21         "Inlining Arg"
+;* V84 tmp77        [V84,T92] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
+;  V85 tmp78        [V85,T59] (  3,  3   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[double],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+;  V86 tmp79        [V86,T80] (  2,  2   )     int  ->  x24         "Inlining Arg"
 ;* V87 tmp80        [V87    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.TargetCore`1[double]>
 ;* V88 tmp81        [V88    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-;  V89 tmp82        [V89,T59] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]>
+;  V89 tmp82        [V89,T60] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]>
 ;* V90 tmp83        [V90    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-;  V91 tmp84        [V91,T37] (  2,  4   )     ref  ->  x26         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.ThreadPoolTaskScheduler>
+;  V91 tmp84        [V91,T38] (  2,  4   )     ref  ->  x26         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.ThreadPoolTaskScheduler>
 ;* V92 tmp85        [V92    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Threading.Tasks.ContinuationTaskFromTask>
 ;  V93 tmp86        [V93    ] (  2,  2   )     int  ->  [fp+0x38]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V94 tmp87        [V94    ] (  2,  2   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V95 tmp88        [V95,T05] (  6, 11   )     ref  ->  x27         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromTask>
 ;* V96 tmp89        [V96    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.ContinuationTaskFromTask>
 ;  V97 tmp90        [V97,T10] (  4,  7   )     int  ->  x28         "Inlining Arg"
 ;* V98 tmp91        [V98    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
 ;  V99 tmp92        [V99,T20] (  4,  5   )     ref  ->  [fp+0x10]  class-hnd "impAppendStmt" <System.Threading.Tasks.Task>
-;  V100 tmp93       [V100,T41] (  2,  4   )     int  ->  [fp+0x2C]  spill-single-def "Inlining Arg"
+;  V100 tmp93       [V100,T42] (  2,  4   )     int  ->  [fp+0x2C]  spill-single-def "Inlining Arg"
 ;* V101 tmp94       [V101    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Threading.CancellationToken>
 ;* V102 tmp95       [V102    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
 ;* V103 tmp96       [V103    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-;  V104 tmp97       [V104,T60] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]>
+;  V104 tmp97       [V104,T61] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]>
 ;* V105 tmp98       [V105    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-;  V106 tmp99       [V106,T38] (  2,  4   )     ref  ->  x25         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.ThreadPoolTaskScheduler>
+;  V106 tmp99       [V106,T39] (  2,  4   )     ref  ->  x25         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.ThreadPoolTaskScheduler>
 ;* V107 tmp100      [V107    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Threading.Tasks.ContinuationTaskFromTask>
 ;  V108 tmp101      [V108    ] (  2,  2   )     int  ->  [fp+0x20]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V109 tmp102      [V109    ] (  2,  2   )     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V110 tmp103      [V110,T06] (  6, 11   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromTask>
 ;* V111 tmp104      [V111    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.ContinuationTaskFromTask>
 ;  V112 tmp105      [V112,T11] (  4,  7   )     int  ->  x26         "Inlining Arg"
 ;* V113 tmp106      [V113    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
 ;  V114 tmp107      [V114,T21] (  4,  5   )     ref  ->  x28         class-hnd "impAppendStmt" <System.Threading.Tasks.Task>
-;  V115 tmp108      [V115,T42] (  2,  4   )     int  ->  x27         "Inlining Arg"
+;  V115 tmp108      [V115,T43] (  2,  4   )     int  ->  x27         "Inlining Arg"
 ;* V116 tmp109      [V116    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Threading.CancellationToken>
 ;* V117 tmp110      [V117    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
 ;* V118 tmp111      [V118    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-;  V119 tmp112      [V119,T61] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]>
-;  V120 tmp113      [V120,T76] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.String>
-;* V121 tmp114      [V121,T89] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V122 tmp115      [V122,T85] (  3,  1.50)     int  ->   x3         "Inline return value spill temp"
-;  V123 tmp116      [V123,T82] (  3,  1.50)     ref  ->   x0         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
-;* V124 tmp117      [V124,T92] (  0,  0   )     ref  ->  zero-ref    single-def "field V22._source (fldOffset=0x0)" P-INDEP
-;* V125 tmp118      [V125,T93] (  0,  0   )     ref  ->  zero-ref    single-def "field V28._source (fldOffset=0x0)" P-INDEP
-;  V126 tmp119      [V126,T77] (  2,  2   )     ref  ->  x21         single-def "field V30._source (fldOffset=0x0)" P-INDEP
+;  V119 tmp112      [V119,T62] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]>
+;  V120 tmp113      [V120,T77] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.String>
+;* V121 tmp114      [V121,T90] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V122 tmp115      [V122,T86] (  3,  1.50)     int  ->   x3         "Inline return value spill temp"
+;  V123 tmp116      [V123,T83] (  3,  1.50)     ref  ->   x0         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;* V124 tmp117      [V124,T93] (  0,  0   )     ref  ->  zero-ref    single-def "field V22._source (fldOffset=0x0)" P-INDEP
+;* V125 tmp118      [V125,T94] (  0,  0   )     ref  ->  zero-ref    single-def "field V28._source (fldOffset=0x0)" P-INDEP
+;  V126 tmp119      [V126,T78] (  2,  2   )     ref  ->  x21         single-def "field V30._source (fldOffset=0x0)" P-INDEP
 ;* V127 tmp120      [V127    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V33._source (fldOffset=0x0)" P-INDEP
 ;* V128 tmp121      [V128    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V90._source (fldOffset=0x0)" P-INDEP
 ;* V129 tmp122      [V129    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V98._source (fldOffset=0x0)" P-INDEP
-;* V130 tmp123      [V130,T94] (  0,  0   )     ref  ->  zero-ref    single-def "field V101._source (fldOffset=0x0)" P-INDEP
+;* V130 tmp123      [V130,T95] (  0,  0   )     ref  ->  zero-ref    single-def "field V101._source (fldOffset=0x0)" P-INDEP
 ;* V131 tmp124      [V131    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V105._source (fldOffset=0x0)" P-INDEP
 ;* V132 tmp125      [V132    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V113._source (fldOffset=0x0)" P-INDEP
-;* V133 tmp126      [V133,T95] (  0,  0   )     ref  ->  zero-ref    single-def "field V116._source (fldOffset=0x0)" P-INDEP
-;  V134 tmp127      [V134,T39] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V135 tmp128      [V135,T40] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;* V133 tmp126      [V133,T96] (  0,  0   )     ref  ->  zero-ref    single-def "field V116._source (fldOffset=0x0)" P-INDEP
+;  V134 tmp127      [V134,T40] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V135 tmp128      [V135,T41] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
 ;* V136 tmp129      [V136    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V137 tmp130      [V137,T99] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V138 tmp131      [V138,T100] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;* V139 cse0        [V139,T88] (  0,  0   )    long  ->  zero-ref    multi-def "CSE #04: aggressive"
-;  V140 cse1        [V140,T86] (  3,  1.50)     int  ->  x21         "CSE #14: conservative"
-;  V141 cse2        [V141,T87] (  3,  1.50)     int  ->  x21         "CSE #21: conservative"
-;  V142 cse3        [V142,T62] (  3,  3   )     ref  ->  x25         "CSE #25: conservative"
-;  V143 cse4        [V143,T83] (  2,  1   )     ref  ->   x0         "CSE #12: conservative"
-;  V144 cse5        [V144,T84] (  2,  1   )     ref  ->   x0         "CSE #20: conservative"
+;  V137 tmp130      [V137,T100] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
+;  V138 tmp131      [V138,T101] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
+;* V139 cse0        [V139,T89] (  0,  0   )    long  ->  zero-ref    multi-def "CSE #04: aggressive"
+;  V140 cse1        [V140,T87] (  3,  1.50)     int  ->  x24         "CSE #14: conservative"
+;  V141 cse2        [V141,T88] (  3,  1.50)     int  ->  x24         "CSE #20: conservative"
+;  V142 cse3        [V142,T63] (  3,  3   )     ref  ->  x25         "CSE #24: conservative"
+;  V143 cse4        [V143,T84] (  2,  1   )     ref  ->   x0         "CSE #13: conservative"
+;  V144 cse5        [V144,T85] (  2,  1   )     ref  ->   x0         "CSE #19: conservative"
 ;  V145 cse6        [V145,T02] ( 20, 12.50)    long  ->  x22         multi-def "CSE #05: aggressive"
-;  V146 rat0        [V146,T70] (  3,  2   )   byref  ->   x2         "TLS field access"
-;  V147 rat1        [V147,T63] (  3,  3   )    long  ->   x2         "TLS access"
-;  V148 rat2        [V148,T64] (  3,  3   )    long  ->   x0         "ThreadStaticBlockBase access"
-;  V149 rat3        [V149,T71] (  3,  2   )   byref  ->   x1         "TLS field access"
-;  V150 rat4        [V150,T65] (  3,  3   )    long  ->   x0         "TLS access"
-;  V151 rat5        [V151,T66] (  3,  3   )    long  ->   x0         "ThreadStaticBlockBase access"
+;  V146 cse7        [V146,T27] (  8,  4   )    long  ->  x21         multi-def "CSE #12: moderate"
+;  V147 rat0        [V147,T71] (  3,  2   )   byref  ->   x2         "TLS field access"
+;  V148 rat1        [V148,T64] (  3,  3   )    long  ->   x2         "TLS access"
+;  V149 rat2        [V149,T65] (  3,  3   )    long  ->   x0         "ThreadStaticBlockBase access"
+;  V150 rat3        [V150,T72] (  3,  2   )   byref  ->   x1         "TLS field access"
+;  V151 rat4        [V151,T66] (  3,  3   )    long  ->   x0         "TLS access"
+;  V152 rat5        [V152,T67] (  3,  3   )    long  ->   x0         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 48
 
 G_M20903_IG01:
             stp     fp, lr, [sp, #-0x90]!
             stp     x19, x20, [sp, #0x40]
             stp     x21, x22, [sp, #0x50]
             stp     x23, x24, [sp, #0x60]
             stp     x25, x26, [sp, #0x70]
             stp     x27, x28, [sp, #0x80]
             mov     fp, sp
             mov     x19, x0
             mov     x21, x1
             mov     x22, x2
             mov     x20, x3
 						;; size=44 bbWeight=1 PerfScore 8.50
 G_M20903_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             add     x14, x23, #16
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #24
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             cbz     x20, G_M20903_IG45
             ldr     x0, [x23, #0x10]
             cbnz    x0, G_M20903_IG04
 						;; size=68 bbWeight=1 PerfScore 14.00
 G_M20903_IG03:
             ldr     x0, [x23, #0x18]
             cbz     x0, G_M20903_IG46
 						;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M20903_IG04:
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions:DefaultOrClone():System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x20, x0
             mov     x21, xzr
             ldr     w0, [x20, #0x1C]
             cmp     w0, #0
             ble     G_M20903_IG06
 						;; size=44 bbWeight=1 PerfScore 11.50
 G_M20903_IG05:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             mov     w1, #0xD1FFAB1E
             bl      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
             movz    x22, #0xD1FFAB1E      // data for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]:<>9__9_0
             movk    x22, #0xD1FFAB1E LSL #16
             movk    x22, #0xD1FFAB1E LSL #32
             ldr     x21, [x22]
             cbnz    x21, G_M20903_IG06
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
             ldr     x15, [x22, #-0x08]
             cbz     x15, G_M20903_IG50
             add     x14, x21, #8
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x14, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]:<.ctor>b__9_0(System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int):this
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             str     x14, [x21, #0x18]
             mov     x14, x22
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=104 bbWeight=0.50 PerfScore 10.75
 G_M20903_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             mov     w1, #0xD1FFAB1E
             bl      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
             movz    x22, #0xD1FFAB1E
             movk    x22, #0xD1FFAB1E LSL #16
             movk    x22, #0xD1FFAB1E LSL #32
             ldr     x24, [x22, #0x08]
             cbnz    x24, G_M20903_IG08
 						;; size=40 bbWeight=1 PerfScore 8.50
 G_M20903_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             ldr     x15, [x22, #-0x08]
             cbz     x15, G_M20903_IG50
             add     x14, x24, #8
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x14, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]:<.ctor>b__9_1(System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]):this
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             str     x14, [x24, #0x18]
             add     x14, x22, #8
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=64 bbWeight=0.50 PerfScore 6.50
 G_M20903_IG08:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x25, x0
             mov     x1, x19
             mov     x2, x20
             mov     x3, x24
             mov     x4, x21
             mov     x5, xzr
             movz    x6, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],System.Threading.Tasks.Dataflow.DataflowBlockOptions,System.Action`1[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]],System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int],System.Func`4[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],System.Nullable`1[int],System.Collections.Generic.IList`1[System.Nullable`1[int]],int]):this
             movk    x6, #0xD1FFAB1E LSL #16
             movk    x6, #0xD1FFAB1E LSL #32
             ldr     x6, [x6]
             blr     x6
             add     x14, x19, #24
             mov     x15, x25
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     w0, [x20, #0x30]
             cmn     w0, #1
             beq     G_M20903_IG10
 						;; size=84 bbWeight=1 PerfScore 17.50
 G_M20903_IG09:
             ldr     w0, [x20, #0x30]
             cmp     w0, #1
             ble     G_M20903_IG12
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M20903_IG10:
             ldrb    w0, [x20, #0x20]
             cbz     w0, G_M20903_IG12
             ldr     x21, [x22, #0x10]
             cbnz    x21, G_M20903_IG11
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
             ldr     x15, [x22, #-0x08]
             cbz     x15, G_M20903_IG50
             add     x14, x21, #8
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x14, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]:<.ctor>b__9_2(System.Object,System.Nullable`1[int]):this
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             str     x14, [x21, #0x18]
             add     x14, x22, #16
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=80 bbWeight=0.50 PerfScore 10.50
 G_M20903_IG11:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x25, x0
             mov     w1, wzr
             mov     x2, xzr
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Generic.Dictionary`2[long,System.Collections.Generic.KeyValuePair`2[ubyte,System.Nullable`1[int]]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[long]):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             add     x14, x24, #16
             mov     x15, x25
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #24
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #16
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=116 bbWeight=0.50 PerfScore 10.25
 G_M20903_IG12:
             ldr     x0, [x23, #0x10]
             cbz     x0, G_M20903_IG17
 						;; size=8 bbWeight=1 PerfScore 4.00
 G_M20903_IG13:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            movz    x21, #0xD1FFAB1E
+            movk    x21, #0xD1FFAB1E LSL #16
+            movk    x21, #0xD1FFAB1E LSL #32
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x21, x0
-            add     x14, x21, #8
+            mov     x24, x0
+            add     x14, x24, #8
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c__DisplayClass9_0[double,System.Nullable`1[int]]:<.ctor>b__3(System.Collections.Generic.KeyValuePair`2[double,long]):this
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            str     x0, [x21, #0x18]
+            str     x0, [x24, #0x18]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
-            ldr     x24, [x19, #0x10]
+            ldr     x25, [x19, #0x10]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x25, x0
+            mov     x26, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             add     x14, x0, #52
             movz    w15, #0xD1FFAB1E
             movk    w15, #0xD1FFAB1E LSL #16
             stlr    w15, [x14]
-            add     x14, x25, #8
+            add     x14, x26, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
-            mov     x15, x25
+            mov     x15, x26
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #16
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #40
-            mov     x15, x21
+            mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #56
-            mov     x15, x24
+            mov     x15, x25
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #32
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             strb    wzr, [x23, #0x54]
             ldr     w0, [x20, #0x30]
             cmp     w0, #1
             beq     G_M20903_IG14
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x21, x0
+            mov     x24, x0
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             b       G_M20903_IG15
-						;; size=256 bbWeight=0.50 PerfScore 24.25
+						;; size=260 bbWeight=0.50 PerfScore 24.50
 G_M20903_IG14:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x21, x0
+            mov     x24, x0
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-						;; size=40 bbWeight=0.50 PerfScore 4.25
+						;; size=32 bbWeight=0.50 PerfScore 3.75
 G_M20903_IG15:
             add     x14, x23, #24
-            mov     x15, x21
+            mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x23, #0x20]
-            ldr     w21, [x0, #0x1C]
-            cmn     w21, #1
+            ldr     w24, [x0, #0x1C]
+            cmn     w24, #1
             beq     G_M20903_IG16
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            mov     x0, x21
             bl      CORINFO_HELP_NEWSFAST
-            mov     x24, x0
+            mov     x21, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x25, x0
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.__Canon,System.Threading.Tasks.Dataflow.DataflowMessageHeader]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-            add     x14, x24, #16
+            add     x14, x21, #16
             mov     x15, x25
             bl      CORINFO_HELP_ASSIGN_REF
-            str     w21, [x24, #0x08]
+            str     w24, [x21, #0x08]
             add     x14, x23, #48
-            mov     x15, x24
+            mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=116 bbWeight=0.50 PerfScore 13.00
+						;; size=108 bbWeight=0.50 PerfScore 12.50
 G_M20903_IG16:
             add     x14, x19, #8
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             b       G_M20903_IG21
 						;; size=16 bbWeight=0.50 PerfScore 1.50
 G_M20903_IG17:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            movz    x21, #0xD1FFAB1E
+            movk    x21, #0xD1FFAB1E LSL #16
+            movk    x21, #0xD1FFAB1E LSL #32
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x21, x0
-            add     x14, x21, #8
+            mov     x24, x0
+            add     x14, x24, #8
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c__DisplayClass9_0[double,System.Nullable`1[int]]:<.ctor>b__4(System.Collections.Generic.KeyValuePair`2[double,long]):this
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            str     x0, [x21, #0x18]
+            str     x0, [x24, #0x18]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
-            ldr     x24, [x19, #0x10]
+            ldr     x25, [x19, #0x10]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x25, x0
+            mov     x26, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             add     x14, x0, #52
             movz    w15, #0xD1FFAB1E
             movk    w15, #0xD1FFAB1E LSL #16
             stlr    w15, [x14]
-            add     x14, x25, #8
+            add     x14, x26, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
-            mov     x15, x25
+            mov     x15, x26
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #16
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #40
-            mov     x15, x21
+            mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #56
-            mov     x15, x24
+            mov     x15, x25
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #32
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             mov     w0, #1
             strb    w0, [x23, #0x54]
             ldr     w0, [x20, #0x30]
             cmp     w0, #1
             beq     G_M20903_IG18
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x21, x0
+            mov     x24, x0
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             b       G_M20903_IG19
-						;; size=260 bbWeight=0.50 PerfScore 24.50
+						;; size=264 bbWeight=0.50 PerfScore 24.75
 G_M20903_IG18:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x21, x0
+            mov     x24, x0
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[double,long]]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-						;; size=40 bbWeight=0.50 PerfScore 4.25
+						;; size=32 bbWeight=0.50 PerfScore 3.75
 G_M20903_IG19:
             add     x14, x23, #24
-            mov     x15, x21
+            mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x23, #0x20]
-            ldr     w21, [x0, #0x1C]
-            cmn     w21, #1
+            ldr     w24, [x0, #0x1C]
+            cmn     w24, #1
             beq     G_M20903_IG20
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            mov     x0, x21
             bl      CORINFO_HELP_NEWSFAST
-            mov     x24, x0
+            mov     x21, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x25, x0
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.__Canon,System.Threading.Tasks.Dataflow.DataflowMessageHeader]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-            add     x14, x24, #16
+            add     x14, x21, #16
             mov     x15, x25
             bl      CORINFO_HELP_ASSIGN_REF
-            str     w21, [x24, #0x08]
+            str     w24, [x21, #0x08]
             add     x14, x23, #48
-            mov     x15, x24
+            mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=116 bbWeight=0.50 PerfScore 13.00
+						;; size=108 bbWeight=0.50 PerfScore 12.50
 G_M20903_IG20:
             add     x14, x19, #8
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=12 bbWeight=0.50 PerfScore 1.00
 G_M20903_IG21:
             ldr     x0, [x19, #0x08]
             ldr     x0, [x0, #0x08]
             ldr     x21, [x0, #0x08]
             ldr     x23, [x22, #0x18]
             cbnz    x23, G_M20903_IG23
 						;; size=20 bbWeight=1 PerfScore 13.00
 G_M20903_IG22:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             ldr     x15, [x22, #-0x08]
             cbz     x15, G_M20903_IG50
             add     x14, x23, #8
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x14, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]:<.ctor>b__9_5(System.Threading.Tasks.Task,System.Object):this
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             str     x14, [x23, #0x18]
             add     x14, x22, #24
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=64 bbWeight=0.50 PerfScore 6.50
 G_M20903_IG23:
             ldr     x24, [x19, #0x18]
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x25, [x2]
             mov     x26, x25
             ldrsb   wzr, [x21]
             cbz     x23, G_M20903_IG48
             add     x2, fp, #48	// [V94 tmp87]
             add     x1, fp, #56	// [V93 tmp86]
             mov     w0, #8
             movz    x3, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:CreationOptionsFromContinuationOptions(int,byref,byref)
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x27, x0
             ldr     w28, [fp, #0x38]	// [V93 tmp86]
             ldr     w1, [fp, #0x30]	// [V94 tmp87]
             str     w1, [fp, #0x2C]	// [V100 tmp93]
             tbnz    w28, #2, G_M20903_IG25
 						;; size=100 bbWeight=1 PerfScore 28.00
 G_M20903_IG24:
             mov     x2, xzr
             b       G_M20903_IG27
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M20903_IG25:
             mrs     x2, tpidr_el0
             ldr     w0, [x2, #0xD1FFAB1E]
             cmp     w0, #6
             blt     G_M20903_IG47
             ldr     x0, [x2, #0xD1FFAB1E]
             ldr     x0, [x0, #0x30]
             cbz     x0, G_M20903_IG47
             ldr     x0, [x0]
             add     x2, x0, #16
 						;; size=36 bbWeight=0.50 PerfScore 8.00
 G_M20903_IG26:
             ldr     x2, [x2, #0x50]
 						;; size=4 bbWeight=0.50 PerfScore 1.50
 G_M20903_IG27:
             str     x2, [fp, #0x10]	// [V99 tmp92]
             cbz     x2, G_M20903_IG29
 						;; size=8 bbWeight=1 PerfScore 2.00
 G_M20903_IG28:
             tbz     w28, #2, G_M20903_IG29
             mov     x0, x27
             movz    x3, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             add     x14, x0, #48
             ldr     x15, [fp, #0x10]	// [V99 tmp92]
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=40 bbWeight=0.50 PerfScore 5.25
 G_M20903_IG29:
             mov     x0, x27
             mov     x1, x23
             mov     x2, x24
             mov     x3, xzr
             mov     w4, w28
             ldr     w5, [fp, #0x2C]	// [V100 tmp93]
             mov     x6, xzr
             movz    x7, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             movz    x0, #0xD1FFAB1E      // code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             mov     x1, x0
             mov     x0, x27
             movz    x2, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:set_CapturedContext(System.Threading.ExecutionContext):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             add     x14, x27, #56
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x21
             mov     x1, x27
             mov     x2, x26
             mov     x3, xzr
             mov     w4, #8
             movz    x5, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.CancellationToken,int):this
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x08]
             ldr     x21, [x0, #0x08]
             ldr     x23, [x22, #0x20]
             cbnz    x23, G_M20903_IG31
 						;; size=168 bbWeight=1 PerfScore 45.50
 G_M20903_IG30:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             ldr     x15, [x22, #-0x08]
             cbz     x15, G_M20903_IG50
             add     x14, x23, #8
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x14, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]:<.ctor>b__9_6(System.Threading.Tasks.Task,System.Object):this
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             str     x14, [x23, #0x18]
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=64 bbWeight=0.50 PerfScore 6.50
 G_M20903_IG31:
             ldrsb   wzr, [x21]
             cbz     x23, G_M20903_IG48
             add     x2, fp, #24	// [V109 tmp102]
             add     x1, fp, #32	// [V108 tmp101]
             movz    w0, #8
             movk    w0, #5 LSL #16
             movz    x3, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:CreationOptionsFromContinuationOptions(int,byref,byref)
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             ldr     w26, [fp, #0x20]	// [V108 tmp101]
             ldr     w27, [fp, #0x18]	// [V109 tmp102]
             tbnz    w26, #2, G_M20903_IG33
 						;; size=76 bbWeight=1 PerfScore 19.50
 G_M20903_IG32:
             mov     x28, xzr
             b       G_M20903_IG35
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M20903_IG33:
             mrs     x0, tpidr_el0
             ldr     w1, [x0, #0xD1FFAB1E]
             cmp     w1, #6
             blt     G_M20903_IG49
             ldr     x0, [x0, #0xD1FFAB1E]
             ldr     x0, [x0, #0x30]
             cbz     x0, G_M20903_IG49
             ldr     x0, [x0]
             add     x1, x0, #16
 						;; size=36 bbWeight=0.50 PerfScore 8.00
 G_M20903_IG34:
             ldr     x28, [x1, #0x50]
 						;; size=4 bbWeight=0.50 PerfScore 1.50
 G_M20903_IG35:
             cbz     x28, G_M20903_IG37
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M20903_IG36:
             tbz     w26, #2, G_M20903_IG37
             mov     x0, x24
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             add     x14, x0, #48
             mov     x15, x28
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=40 bbWeight=0.50 PerfScore 4.50
 G_M20903_IG37:
             mov     x0, x24
             mov     x1, x23
             mov     x2, x19
             mov     x3, xzr
             mov     w4, w26
             mov     w5, w27
             mov     x6, xzr
             movz    x7, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             movz    x0, #0xD1FFAB1E      // code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             mov     x1, x0
             mov     x0, x24
             movz    x2, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:set_CapturedContext(System.Threading.ExecutionContext):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             add     x14, x24, #56
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x21
             mov     x1, x24
             mov     x2, x25
             mov     x3, xzr
             movz    w4, #8
             movk    w4, #5 LSL #16
             movz    x5, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.CancellationToken,int):this
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
             ldr     x21, [x20, #0x28]
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x08]
             ldr     x23, [x0, #0x08]
             ldr     x2, [x22, #0x28]
             cbnz    x2, G_M20903_IG39
 						;; size=176 bbWeight=1 PerfScore 47.50
 G_M20903_IG38:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x2, x0
             ldr     x15, [x22, #-0x08]
             cbz     x15, G_M20903_IG50
             add     x14, x2, #8
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x14, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[double,System.Nullable`1[int]]:<.ctor>b__9_7(System.Object,System.Threading.CancellationToken):this
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             str     x14, [x2, #0x18]
             add     x14, x22, #40
             mov     x15, x2
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=64 bbWeight=0.50 PerfScore 6.50
 G_M20903_IG39:
             ldr     x3, [x19, #0x08]
             mov     x0, x21
             mov     x1, x23
             movz    x4, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.Internal.Common:WireCancellationToComplete(System.Threading.CancellationToken,System.Threading.Tasks.Task,System.Action`2[System.Object,System.Threading.CancellationToken],System.Object)
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     w1, [x1]
             tbz     w1, #0, G_M20903_IG51
 						;; size=52 bbWeight=1 PerfScore 15.00
 G_M20903_IG40:
             movz    x1, #0xD1FFAB1E      // data for System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider:Log
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x22, [x1]
             ldrb    w1, [x22, #0x9D]
             cbz     w1, G_M20903_IG44
 						;; size=24 bbWeight=1 PerfScore 8.50
 G_M20903_IG41:
             ldrb    w1, [x22, #0x9D]
             ldr     x3, [x22, #0x80]
             ldr     w2, [x22, #0x98]
             mov     x0, x22
             mov     w4, #4
             movn    x5, #0
             mov     w6, wzr
             movz    x7, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             cbz     w0, G_M20903_IG44
             mov     x0, x19
             mov     x1, x20
             movz    x2, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.Internal.Common:GetNameForDebugger(System.Threading.Tasks.Dataflow.IDataflowBlock,System.Threading.Tasks.Dataflow.DataflowBlockOptions):System.String
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x20, x0
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Dataflow.Internal.Common:GetPotentiallyNotSupportedCompletionTask(System.Threading.Tasks.Dataflow.IDataflowBlock):System.Threading.Tasks.Task
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             cbnz    x0, G_M20903_IG42
             mov     w3, wzr
             b       G_M20903_IG43
 						;; size=120 bbWeight=0.50 PerfScore 16.50
 G_M20903_IG42:
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:get_Id():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             sxtw    w3, w0
 						;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M20903_IG43:
             mov     x0, x22
             mov     x2, x20
             mov     w1, #1
             movz    x4, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,int):this
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
 						;; size=32 bbWeight=0.50 PerfScore 3.50
 G_M20903_IG44:
             ldp     x27, x28, [sp, #0x80]
             ldp     x25, x26, [sp, #0x70]
             ldp     x23, x24, [sp, #0x60]
             ldp     x21, x22, [sp, #0x50]
             ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x90
             ret     lr
 						;; size=28 bbWeight=1 PerfScore 7.00
 G_M20903_IG45:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for System.ArgumentNullException:.ctor(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk_unix #0
 						;; size=80 bbWeight=0 PerfScore 0.00
 G_M20903_IG46:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             mov     x1, x0
             mov     x0, x24
             movz    x2, #0xD1FFAB1E      // code for System.ArgumentNullException:.ctor(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x24
             bl      CORINFO_HELP_THROW
             brk_unix #0
 						;; size=80 bbWeight=0 PerfScore 0.00
 G_M20903_IG47:
             mov     w0, #6
             bl      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
             mov     x2, x0
             b       G_M20903_IG26
 						;; size=16 bbWeight=0 PerfScore 0.00
 G_M20903_IG48:
             mov     w0, #49
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentNullException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk_unix #0
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M20903_IG49:
             mov     w0, #6
             bl      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
             mov     x1, x0
             b       G_M20903_IG34
 						;; size=16 bbWeight=0 PerfScore 0.00
 G_M20903_IG50:
             movz    x0, #0xD1FFAB1E      // code for System.MulticastDelegate:ThrowNullThisInDelegateToInstance()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             brk_unix #0
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M20903_IG51:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             mov     w1, #124
             bl      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
             b       G_M20903_IG40
 						;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2996, prolog size 28, PerfScore 451.75, instruction count 749, allocated bytes for code 2996 (MethodHash=a96dae58) for method System.Threading.Tasks.Dataflow.TransformBlock`2[double,System.Nullable`1[int]]:.ctor(System.Func`2[double,System.Nullable`1[int]],System.Func`2[double,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
+; Total bytes of code 2972, prolog size 28, PerfScore 450.25, instruction count 743, allocated bytes for code 2972 (MethodHash=a96dae58) for method System.Threading.Tasks.Dataflow.TransformBlock`2[double,System.Nullable`1[int]]:.ctor(System.Func`2[double,System.Nullable`1[int]],System.Func`2[double,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
-20 (-3.14 % of base) - System.Composition.Hosting.SinglePartExportDescriptorProvider:IsSupportedContract(System.Composition.Hosting.Core.CompositionContract):ubyte:this
 ; Assembly listing for method System.Composition.Hosting.SinglePartExportDescriptorProvider:IsSupportedContract(System.Composition.Hosting.Core.CompositionContract):ubyte:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 13 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  6,  4.50)     ref  ->  x20         this class-hnd single-def <System.Composition.Hosting.SinglePartExportDescriptorProvider>
 ;  V01 arg1         [V01,T00] (  8,  5.50)     ref  ->  x19         class-hnd single-def <System.Composition.Hosting.Core.CompositionContract>
-;  V02 loc0         [V02,T09] (  4,  2   )     ref  ->   x0         class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.Object]>
+;  V02 loc0         [V02,T10] (  4,  2   )     ref  ->   x0         class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.Object]>
 ;* V03 loc1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Composition.Hosting.Core.CompositionContract>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V05 tmp1         [V05,T05] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Collections.Generic.KeyValuePair`2[System.String,System.Object],ubyte]>
-;  V06 tmp2         [V06,T13] (  2,  2   )     ref  ->   x1         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
-;  V07 tmp3         [V07,T14] (  2,  2   )     ref  ->  x23         class-hnd single-def "dup spill" <System.Func`2[System.Collections.Generic.KeyValuePair`2[System.String,System.Object],System.String]>
-;  V08 tmp4         [V08,T15] (  2,  2   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]>
+;  V06 tmp2         [V06,T14] (  2,  2   )     ref  ->   x1         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
+;  V07 tmp3         [V07,T15] (  2,  2   )     ref  ->  x24         class-hnd single-def "dup spill" <System.Func`2[System.Collections.Generic.KeyValuePair`2[System.String,System.Object],System.String]>
+;  V08 tmp4         [V08,T16] (  2,  2   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]>
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V10 tmp6         [V10,T10] (  4,  2   )     ref  ->  x23        
+;  V10 tmp6         [V10,T11] (  4,  2   )     ref  ->  x24        
 ;  V11 tmp7         [V11,T06] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Collections.Generic.KeyValuePair`2[System.String,System.Object],System.Object]>
-;  V12 tmp8         [V12,T16] (  2,  2   )     ref  ->  x20         class-hnd single-def "impAppendStmt" <System.Type>
-;  V13 tmp9         [V13,T17] (  2,  2   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.String>
+;  V12 tmp8         [V12,T17] (  2,  2   )     ref  ->  x20         class-hnd single-def "impAppendStmt" <System.Type>
+;  V13 tmp9         [V13,T18] (  2,  2   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.String>
 ;* V14 tmp10        [V14    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V15 tmp11        [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V17 tmp13        [V17    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V18 tmp14        [V18,T20] (  2,  1   )     ref  ->  x22        
+;  V18 tmp14        [V18,T21] (  2,  1   )     ref  ->  x22        
 ;  V19 tmp15        [V19,T07] (  3,  3   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
-;  V20 tmp16        [V20,T03] (  5,  5   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Collections.Generic.KeyValuePair`2[System.String,System.Object],System.String]>
+;  V20 tmp16        [V20,T03] (  5,  5   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Collections.Generic.KeyValuePair`2[System.String,System.Object],System.String]>
 ;* V21 tmp17        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
 ;* V22 tmp18        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
 ;  V23 tmp19        [V23,T02] (  6,  6   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V24 tmp20        [V24,T04] (  5,  5   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V25 tmp21        [V25,T11] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V26 tmp22        [V26,T18] (  2,  2   )   byref  ->   x0         single-def "impAppendStmt"
+;  V25 tmp21        [V25,T12] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V26 tmp22        [V26,T19] (  2,  2   )   byref  ->   x0         single-def "impAppendStmt"
 ;  V27 tmp23        [V27,T08] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.SinglePartExportDescriptorProvider+<>c>
-;* V28 cse0         [V28,T21] (  0,  0   )    long  ->  zero-ref    "CSE #05: moderate"
-;  V29 cse1         [V29,T19] (  3,  1.50)     ref  ->  x21         "CSE #02: moderate"
-;  V30 cse2         [V30,T12] (  4,  2   )    long  ->  x22         "CSE #06: moderate"
+;* V28 cse0         [V28,T22] (  0,  0   )    long  ->  zero-ref    "CSE #05: moderate"
+;  V29 cse1         [V29,T20] (  3,  1.50)     ref  ->  x21         "CSE #02: moderate"
+;  V30 cse2         [V30,T09] (  5,  2.50)    long  ->  x22         "CSE #03: moderate"
+;  V31 cse3         [V31,T13] (  4,  2   )    long  ->  x23         "CSE #06: moderate"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M22778_IG01:
             stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+            stp     x23, x24, [sp, #0x30]
             mov     fp, sp
             mov     x20, x0
             mov     x19, x1
 						;; size=28 bbWeight=1 PerfScore 5.50
 G_M22778_IG02:
             ldr     x0, [x19, #0x08]
             ldr     x1, [x20, #0x08]
             movz    x2, #0xD1FFAB1E      // code for System.Type:op_Equality(System.Type,System.Type):ubyte
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     w0, G_M22778_IG04
 						;; size=32 bbWeight=1 PerfScore 12.50
 G_M22778_IG03:
             ldr     x2, [x19, #0x10]
             ldr     x1, [x20, #0x10]
             cmp     x2, x1
             beq     G_M22778_IG06
             cbz     x2, G_M22778_IG04
             cbz     x1, G_M22778_IG04
             ldr     w0, [x2, #0x08]
             ldr     w3, [x1, #0x08]
             cmp     w0, w3
             bne     G_M22778_IG04
             add     x0, x2, #12
             ldr     w2, [x2, #0x08]
             lsl     w2, w2, #1
             mov     w2, w2
             add     x1, x1, #12
             movz    x3, #0xD1FFAB1E      // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             cbnz    w0, G_M22778_IG06
 						;; size=84 bbWeight=0.50 PerfScore 14.50
 G_M22778_IG04:
             mov     w0, wzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M22778_IG05:
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+            ldp     x23, x24, [sp, #0x30]
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x40
             ret     lr
-						;; size=20 bbWeight=0.50 PerfScore 3.00
+						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M22778_IG06:
             ldr     x21, [x19, #0x18]
             cbz     x21, G_M22778_IG09
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            movz    x22, #0xD1FFAB1E
+            movk    x22, #0xD1FFAB1E LSL #16
+            movk    x22, #0xD1FFAB1E LSL #32
+            mov     x0, x22
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x21
             add     x14, x0, #8
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Composition.Hosting.SinglePartExportDescriptorProvider:<IsSupportedContract>b__3_0(System.Collections.Generic.KeyValuePair`2[System.String,System.Object]):ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x0, #0x18]
             mov     x2, x0
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            add     x0, x22, #0xD1FFAB1E
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:Where[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],ubyte]):System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x21, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M22778_IG11
-						;; size=116 bbWeight=0.50 PerfScore 12.50
+						;; size=112 bbWeight=0.50 PerfScore 12.25
 G_M22778_IG07:
-            movz    x22, #0xD1FFAB1E      // data for System.Composition.Hosting.SinglePartExportDescriptorProvider+<>c:<>9__3_1
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-            ldr     x23, [x22]
-            cbnz    x23, G_M22778_IG08
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            movz    x23, #0xD1FFAB1E      // data for System.Composition.Hosting.SinglePartExportDescriptorProvider+<>c:<>9__3_1
+            movk    x23, #0xD1FFAB1E LSL #16
+            movk    x23, #0xD1FFAB1E LSL #32
+            ldr     x24, [x23]
+            cbnz    x24, G_M22778_IG08
+            add     x0, x22, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x15, [x22, #-0x08]
+            mov     x24, x0
+            ldr     x15, [x23, #-0x08]
             cbz     x15, G_M22778_IG12
-            add     x14, x23, #8
+            add     x14, x24, #8
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x14, #0xD1FFAB1E      // code for System.Composition.Hosting.SinglePartExportDescriptorProvider+<>c:<IsSupportedContract>b__3_1(System.Collections.Generic.KeyValuePair`2[System.String,System.Object]):System.String:this
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
-            str     x14, [x23, #0x18]
-            mov     x14, x22
-            mov     x15, x23
+            str     x14, [x24, #0x18]
+            mov     x14, x23
+            mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=84 bbWeight=0.50 PerfScore 9.25
+						;; size=76 bbWeight=0.50 PerfScore 8.75
 G_M22778_IG08:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            add     x0, x22, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             add     x14, x0, #8
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x3, #0xD1FFAB1E      // code for System.Composition.Hosting.SinglePartExportDescriptorProvider:<IsSupportedContract>b__3_2(System.Collections.Generic.KeyValuePair`2[System.String,System.Object]):System.Object:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             str     x3, [x0, #0x18]
             mov     x3, x0
             mov     x1, x21
-            mov     x2, x23
+            mov     x2, x24
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             mov     x4, xzr
             movz    x5, #0xD1FFAB1E      // code for System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon],System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
             ldp     x20, x21, [x19, #0x08]
             ldr     w1, [x0, #0x38]
             ldr     w2, [x0, #0x40]
             subs    w1, w1, w2
             csel    x22, xzr, x0, eq
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             mov     x1, x20
             mov     x2, x21
             mov     x3, x22
             movz    x4, #0xD1FFAB1E      // code for System.Composition.Hosting.Core.CompositionContract:.ctor(System.Type,System.String,System.Collections.Generic.IDictionary`2[System.String,System.Object]):this
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
             mov     x0, x19
             mov     x1, x23
             movz    x2, #0xD1FFAB1E      // code for System.Composition.Hosting.Core.CompositionContract:Equals(System.Object):ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     w0, G_M22778_IG04
-						;; size=196 bbWeight=0.50 PerfScore 22.25
+						;; size=188 bbWeight=0.50 PerfScore 21.75
 G_M22778_IG09:
             mov     w0, #1
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M22778_IG10:
-            ldr     x23, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+            ldp     x23, x24, [sp, #0x30]
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x40
             ret     lr
-						;; size=20 bbWeight=0.50 PerfScore 3.00
+						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M22778_IG11:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             mov     w1, #58
             bl      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
             b       G_M22778_IG07
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M22778_IG12:
             movz    x0, #0xD1FFAB1E      // code for System.MulticastDelegate:ThrowNullThisInDelegateToInstance()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             brk_unix #0
 						;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 636, prolog size 20, PerfScore 83.00, instruction count 159, allocated bytes for code 636 (MethodHash=fc07a705) for method System.Composition.Hosting.SinglePartExportDescriptorProvider:IsSupportedContract(System.Composition.Hosting.Core.CompositionContract):ubyte:this (FullOpts)
+; Total bytes of code 616, prolog size 20, PerfScore 80.75, instruction count 154, allocated bytes for code 616 (MethodHash=fc07a705) for method System.Composition.Hosting.SinglePartExportDescriptorProvider:IsSupportedContract(System.Composition.Hosting.Core.CompositionContract):ubyte:this (FullOpts)
-20 (-1.02 % of base) - System.Data.DataTable:DeserializeDataTable(System.Runtime.Serialization.SerializationInfo,ubyte,int):this
 ; Assembly listing for method System.Data.DataTable:DeserializeDataTable(System.Runtime.Serialization.SerializationInfo,ubyte,int):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 26 single block inlinees; 18 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T04] (  9,  5.50)     ref  ->  x20         this class-hnd single-def <System.Data.DataTable>
 ;  V01 arg1         [V01,T00] ( 12,  7   )     ref  ->  x19         class-hnd single-def <System.Runtime.Serialization.SerializationInfo>
 ;  V02 arg2         [V02,T07] (  4,  3   )   ubyte  ->  x21         single-def
 ;  V03 arg3         [V03,T08] (  3,  3   )     int  ->   x3         single-def
-;  V04 loc0         [V04,T34] (  3,  1.50)     ref  ->  x21         class-hnd exact single-def <System.String>
-;  V05 loc1         [V05,T35] (  3,  1.50)     ref  ->  x19         class-hnd exact single-def <System.String>
+;  V04 loc0         [V04,T35] (  3,  1.50)     ref  ->  x21         class-hnd exact single-def <System.String>
+;  V05 loc1         [V05,T36] (  3,  1.50)     ref  ->  x19         class-hnd exact single-def <System.String>
 ;* V06 loc2         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.Data.DataSet>
-;  V07 loc3         [V07,T36] (  3,  1.50)     ref  ->  x21         class-hnd single-def <System.Data.DataTable>
+;  V07 loc3         [V07,T37] (  3,  1.50)     ref  ->  x21         class-hnd single-def <System.Data.DataTable>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T01] (  8,  8   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Data.DataSet>
-;  V10 tmp2         [V10,T16] (  3,  3   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.IO.StringReader>
+;  V10 tmp2         [V10,T16] (  3,  3   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.IO.StringReader>
 ;  V11 tmp3         [V11,T05] (  5,  5   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextReader>
 ;* V12 tmp4         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Data.DataTableCollection>
 ;  V13 tmp5         [V13,T17] (  3,  3   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.IO.StringReader>
 ;  V14 tmp6         [V14,T06] (  5,  5   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextReader>
-;  V15 tmp7         [V15,T32] (  4,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Object>
-;  V16 tmp8         [V16,T37] (  3,  1.50)     ref  ->   x0         ld-addr-op class-hnd single-def "Inline ldloca(s) first use temp" <System.Type>
-;  V17 tmp9         [V17,T27] (  4,  2   )     ref  ->  x21         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V15 tmp7         [V15,T33] (  4,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Object>
+;  V16 tmp8         [V16,T38] (  3,  1.50)     ref  ->   x0         ld-addr-op class-hnd single-def "Inline ldloca(s) first use temp" <System.Type>
+;  V17 tmp9         [V17,T28] (  4,  2   )     ref  ->  x21         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V18 tmp10        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.ArgumentException>
 ;* V19 tmp11        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V20 tmp12        [V20,T52] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.SerializationException>
+;  V20 tmp12        [V20,T53] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.SerializationException>
 ;  V21 tmp13        [V21,T12] (  7,  3.50)     int  ->   x1         "Inline return value spill temp"
-;  V22 tmp14        [V22,T42] (  2,  1   )     int  ->   x1         ld-addr-op "Inline ldloca(s) first use temp"
-;* V23 tmp15        [V23,T46] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V22 tmp14        [V22,T43] (  2,  1   )     int  ->   x1         ld-addr-op "Inline ldloca(s) first use temp"
+;* V23 tmp15        [V23,T47] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V24 tmp16        [V24,T18] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,int]>
-;  V25 tmp17        [V25,T38] (  3,  1.50)   byref  ->   x0         single-def "Inline stloc first use temp"
-;  V26 tmp18        [V26,T33] (  4,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Object>
-;  V27 tmp19        [V27,T39] (  3,  1.50)     ref  ->   x0         ld-addr-op class-hnd single-def "Inline ldloca(s) first use temp" <System.Type>
-;  V28 tmp20        [V28,T28] (  4,  2   )     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V25 tmp17        [V25,T39] (  3,  1.50)   byref  ->   x0         single-def "Inline stloc first use temp"
+;  V26 tmp18        [V26,T34] (  4,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Object>
+;  V27 tmp19        [V27,T40] (  3,  1.50)     ref  ->   x0         ld-addr-op class-hnd single-def "Inline ldloca(s) first use temp" <System.Type>
+;  V28 tmp20        [V28,T29] (  4,  2   )     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V29 tmp21        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.ArgumentException>
 ;* V30 tmp22        [V30    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V31 tmp23        [V31,T53] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.SerializationException>
+;  V31 tmp23        [V31,T54] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.SerializationException>
 ;  V32 tmp24        [V32,T13] (  7,  3.50)     int  ->   x1         "Inline return value spill temp"
-;  V33 tmp25        [V33,T43] (  2,  1   )     int  ->   x1         ld-addr-op "Inline ldloca(s) first use temp"
-;* V34 tmp26        [V34,T47] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V33 tmp25        [V33,T44] (  2,  1   )     int  ->   x1         ld-addr-op "Inline ldloca(s) first use temp"
+;* V34 tmp26        [V34,T48] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V35 tmp27        [V35,T19] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,int]>
-;  V36 tmp28        [V36,T40] (  3,  1.50)   byref  ->   x0         single-def "Inline stloc first use temp"
-;  V37 tmp29        [V37,T02] (  8,  8   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextReaderImpl>
-;  V38 tmp30        [V38,T09] (  4,  4   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Xml.NameTable>
-;* V39 tmp31        [V39,T48] (  0,  0   )     ref  ->  zero-ref    ld-addr-op class-hnd "Inlining Arg" <System.String>
-;  V40 tmp32        [V40,T20] (  3,  3   )     ref  ->  x27         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlNamespaceManager>
+;  V36 tmp28        [V36,T41] (  3,  1.50)   byref  ->   x0         single-def "Inline stloc first use temp"
+;  V37 tmp29        [V37,T02] (  8,  8   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextReaderImpl>
+;  V38 tmp30        [V38,T09] (  4,  4   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <System.Xml.NameTable>
+;* V39 tmp31        [V39,T49] (  0,  0   )     ref  ->  zero-ref    ld-addr-op class-hnd "Inlining Arg" <System.String>
+;  V40 tmp32        [V40,T20] (  3,  3   )     ref  ->  x28         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlNamespaceManager>
 ;* V41 tmp33        [V41    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V42 tmp34        [V42,T50] (  0,  0   )     ref  ->  zero-ref   
+;* V42 tmp34        [V42,T51] (  0,  0   )     ref  ->  zero-ref   
 ;* V43 tmp35        [V43    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "NewObj constructor temp" <System.Uri>
 ;* V44 tmp36        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V45 tmp37        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.XmlTextReaderImpl>
-;  V46 tmp38        [V46,T03] (  8,  8   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextReaderImpl>
-;  V47 tmp39        [V47,T10] (  4,  4   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Xml.NameTable>
-;* V48 tmp40        [V48,T49] (  0,  0   )     ref  ->  zero-ref    ld-addr-op class-hnd "Inlining Arg" <System.String>
-;  V49 tmp41        [V49,T21] (  3,  3   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlNamespaceManager>
+;  V46 tmp38        [V46,T03] (  8,  8   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextReaderImpl>
+;  V47 tmp39        [V47,T10] (  4,  4   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Xml.NameTable>
+;* V48 tmp40        [V48,T50] (  0,  0   )     ref  ->  zero-ref    ld-addr-op class-hnd "Inlining Arg" <System.String>
+;  V49 tmp41        [V49,T21] (  3,  3   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlNamespaceManager>
 ;* V50 tmp42        [V50    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V51 tmp43        [V51,T51] (  0,  0   )     ref  ->  zero-ref   
+;* V51 tmp43        [V51,T52] (  0,  0   )     ref  ->  zero-ref   
 ;* V52 tmp44        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "NewObj constructor temp" <System.Uri>
 ;* V53 tmp45        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V54 tmp46        [V54    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.XmlTextReaderImpl>
 ;  V55 tmp47        [V55,T22] (  3,  3   )     ref  ->   x0         single-def "arr expr"
 ;  V56 tmp48        [V56,T23] (  3,  3   )     ref  ->   x2         single-def "arr expr"
-;  V57 tmp49        [V57,T54] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
-;  V58 tmp50        [V58,T55] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V59 tmp51        [V59,T56] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
+;  V57 tmp49        [V57,T55] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
+;  V58 tmp50        [V58,T56] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
+;  V59 tmp51        [V59,T57] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;* V60 tmp52        [V60    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V61 tmp53        [V61,T24] (  3,  3   )     ref  ->   x0         single-def "arr expr"
 ;  V62 tmp54        [V62,T25] (  3,  3   )     ref  ->   x2         single-def "arr expr"
-;  V63 tmp55        [V63,T29] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V64 tmp56        [V64,T30] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V65 tmp57        [V65,T31] (  2,  2   )     ref  ->  x21         single-def "argument with side effect"
-;  V66 tmp58        [V66,T57] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
-;  V67 tmp59        [V67,T58] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V68 tmp60        [V68,T59] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
+;  V63 tmp55        [V63,T30] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V64 tmp56        [V64,T31] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V65 tmp57        [V65,T32] (  2,  2   )     ref  ->  x21         single-def "argument with side effect"
+;  V66 tmp58        [V66,T58] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
+;  V67 tmp59        [V67,T59] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
+;  V68 tmp60        [V68,T60] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;* V69 tmp61        [V69    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V70 cse0         [V70,T41] (  3,  1.50)     ref  ->   x0         "CSE #09: moderate"
-;  V71 cse1         [V71,T26] (  3,  1.50)     ref  ->  x26         "CSE #08: aggressive"
+;  V70 cse0         [V70,T42] (  3,  1.50)     ref  ->   x0         "CSE #10: moderate"
+;  V71 cse1         [V71,T26] (  3,  1.50)     ref  ->  x27         "CSE #08: aggressive"
 ;  V72 cse2         [V72,T11] (  7,  3.50)     ref  ->  x22         "CSE #03: moderate"
-;  V73 rat0         [V73,T14] (  4,  3.50)     ref  ->  x21         "replacement local"
-;  V74 rat1         [V74,T44] (  3,  1   )    long  ->   x0         "CSE for expectedClsNode"
-;  V75 rat2         [V75,T15] (  4,  3.50)     ref  ->  x19         "replacement local"
-;  V76 rat3         [V76,T45] (  3,  1   )    long  ->   x0         "CSE for expectedClsNode"
+;  V73 cse3         [V73,T27] (  5,  2.50)    long  ->  x23         "CSE #09: moderate"
+;  V74 rat0         [V74,T14] (  4,  3.50)     ref  ->  x21         "replacement local"
+;  V75 rat1         [V75,T45] (  3,  1   )    long  ->   x0         "CSE for expectedClsNode"
+;  V76 rat2         [V76,T15] (  4,  3.50)     ref  ->  x19         "replacement local"
+;  V77 rat3         [V77,T46] (  3,  1   )    long  ->   x0         "CSE for expectedClsNode"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M31178_IG01:
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            stp     x23, x24, [sp, #0x38]
-            stp     x25, x26, [sp, #0x48]
-            str     x27, [sp, #0x58]
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+            stp     x23, x24, [sp, #0x30]
+            stp     x25, x26, [sp, #0x40]
+            stp     x27, x28, [sp, #0x50]
             mov     fp, sp
             mov     x20, x0
             mov     x19, x1
             mov     w21, w2
 						;; size=40 bbWeight=1 PerfScore 8.00
 G_M31178_IG02:
             cbz     w3, G_M31178_IG05
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M31178_IG03:
             uxtb    w2, w21
             mov     x0, x20
             mov     x1, x19
             movz    x3, #0xD1FFAB1E      // code for System.Data.DataTable:DeserializeTableSchema(System.Runtime.Serialization.SerializationInfo,ubyte):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             tst     w21, #255
             beq     G_M31178_IG21
             mov     x0, x20
             mov     x1, x19
             mov     w2, wzr
             movz    x3, #0xD1FFAB1E      // code for System.Data.DataTable:DeserializeTableData(System.Runtime.Serialization.SerializationInfo,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x0, x20
             mov     x1, xzr
             movz    x2, #0xD1FFAB1E      // code for System.Data.DataTable:ResetInternalIndexes(System.Data.DataColumn):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=100 bbWeight=0.50 PerfScore 11.00
 G_M31178_IG04:
-            ldr     x27, [sp, #0x58]
-            ldp     x25, x26, [sp, #0x48]
-            ldp     x23, x24, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+            ldp     x27, x28, [sp, #0x50]
+            ldp     x25, x26, [sp, #0x40]
+            ldp     x23, x24, [sp, #0x30]
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-						;; size=28 bbWeight=0.50 PerfScore 4.00
+						;; size=28 bbWeight=0.50 PerfScore 3.50
 G_M31178_IG05:
             ldr     x0, [x19, #0x20]
             ldrsb   wzr, [x0]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.Dictionary`2[System.__Canon,int]:FindValue(System.__Canon):byref:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M31178_IG06
             ldr     w1, [x0]
             b       G_M31178_IG07
 						;; size=52 bbWeight=0.50 PerfScore 9.00
 G_M31178_IG06:
             movn    w1, #0
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M31178_IG07:
             cmn     w1, #1
             beq     G_M31178_IG23
             ldr     x0, [x19, #0x18]
             ldr     w2, [x0, #0x08]
             cmp     w1, w2
             bhs     G_M31178_IG22
             add     x0, x0, #16
             ldr     x0, [x0, w1, UXTW #3]
             ldr     x2, [x19, #0x10]
             ldr     w3, [x2, #0x08]
             cmp     w1, w3
             bhs     G_M31178_IG22
             add     x2, x2, #16
             ldr     x21, [x2, w1, UXTW #3]
-            movz    x22, #0xD1FFAB1E
+            movz    x22, #32
             movk    x22, #0xD1FFAB1E LSL #16
             movk    x22, #0xD1FFAB1E LSL #32
             cmp     x0, x22
             beq     G_M31178_IG08
             mov     x1, x0
             mov     x0, x22
             movz    x2, #0xD1FFAB1E      // code for System.RuntimeType:IsAssignableFrom(System.Type):ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    w0, G_M31178_IG08
             cbnz    x21, G_M31178_IG09
 						;; size=112 bbWeight=0.50 PerfScore 17.50
 G_M31178_IG08:
             mov     x1, x21
             b       G_M31178_IG10
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M31178_IG09:
             ldr     x0, [x19, #0x28]
             mov     x1, x21
             movz    x11, #0xD1FFAB1E      // code for System.Runtime.Serialization.IFormatterConverter:Convert(System.Object,System.Type):System.Object:this
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #0xD1FFAB1E LSL #32
             mov     x2, x22
             ldr     x3, [x11]
             blr     x3
             mov     x1, x0
 						;; size=36 bbWeight=0.50 PerfScore 5.00
 G_M31178_IG10:
             mov     x21, x1
             cbz     x21, G_M31178_IG12
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M31178_IG11:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x2, [x21]
             cmp     x2, x0
             bne     G_M31178_IG24
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M31178_IG12:
             ldr     x0, [x19, #0x20]
             ldrsb   wzr, [x0]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.Dictionary`2[System.__Canon,int]:FindValue(System.__Canon):byref:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M31178_IG13
             ldr     w1, [x0]
             b       G_M31178_IG14
 						;; size=52 bbWeight=0.50 PerfScore 9.00
 G_M31178_IG13:
             movn    w1, #0
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M31178_IG14:
             cmn     w1, #1
             beq     G_M31178_IG25
             ldr     x0, [x19, #0x18]
             ldr     w2, [x0, #0x08]
             cmp     w1, w2
             bhs     G_M31178_IG22
             add     x0, x0, #16
             ldr     x0, [x0, w1, UXTW #3]
             ldr     x2, [x19, #0x10]
             ldr     w3, [x2, #0x08]
             cmp     w1, w3
             bhs     G_M31178_IG22
             add     x2, x2, #16
             ldr     x23, [x2, w1, UXTW #3]
             cmp     x0, x22
             beq     G_M31178_IG15
             mov     x1, x0
             mov     x0, x22
             movz    x2, #0xD1FFAB1E      // code for System.RuntimeType:IsAssignableFrom(System.Type):ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    w0, G_M31178_IG15
             cbnz    x23, G_M31178_IG16
 						;; size=100 bbWeight=0.50 PerfScore 16.75
 G_M31178_IG15:
             mov     x1, x23
             b       G_M31178_IG17
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M31178_IG16:
             ldr     x0, [x19, #0x28]
             mov     x1, x23
             movz    x11, #0xD1FFAB1E      // code for System.Runtime.Serialization.IFormatterConverter:Convert(System.Object,System.Type):System.Object:this
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #0xD1FFAB1E LSL #32
             mov     x2, x22
             ldr     x3, [x11]
             blr     x3
             mov     x1, x0
 						;; size=36 bbWeight=0.50 PerfScore 5.00
 G_M31178_IG17:
             mov     x19, x1
             cbz     x19, G_M31178_IG19
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M31178_IG18:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x2, [x19]
             cmp     x2, x0
             bne     G_M31178_IG26
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M31178_IG19:
             cbz     x21, G_M31178_IG21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWFAST
             mov     x22, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.DataSet:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            movz    x23, #0xD1FFAB1E
+            movk    x23, #0xD1FFAB1E LSL #16
+            movk    x23, #0xD1FFAB1E LSL #32
+            mov     x0, x23
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            add     x14, x23, #8
+            mov     x24, x0
+            add     x14, x24, #8
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x24, x0
+            mov     x25, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x25, x0
+            mov     x26, x0
             movz    x1, #0xD1FFAB1E      // code for System.Xml.NameTable:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-            movz    x26, #0xD1FFAB1E
-            movk    x26, #0xD1FFAB1E LSL #16
-            movk    x26, #0xD1FFAB1E LSL #32
-            mov     x0, x24
-            mov     x1, x25
+            movz    x27, #8
+            movk    x27, #0xD1FFAB1E LSL #16
+            movk    x27, #0xD1FFAB1E LSL #32
+            mov     x0, x25
+            mov     x1, x26
             movz    x2, #0xD1FFAB1E      // code for System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlNameTable):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            add     x0, x23, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x27, x0
-            mov     x1, x25
+            mov     x28, x0
+            mov     x1, x26
             movz    x2, #0xD1FFAB1E      // code for System.Xml.XmlNamespaceManager:.ctor(System.Xml.XmlNameTable):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            add     x14, x24, #64
-            mov     x15, x27
+            add     x14, x25, #64
+            mov     x15, x28
             bl      CORINFO_HELP_ASSIGN_REF
-            movz    x1, #0xD1FFAB1E
+            movz    x1, #8
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
-            str     x1, [x24, #0x60]
-            mov     x1, x26
-            mov     x0, x24
-            mov     x3, x23
+            str     x1, [x25, #0x60]
+            mov     x1, x27
+            mov     x0, x25
+            mov     x3, x24
             mov     x2, xzr
             movz    x4, #0xD1FFAB1E      // code for System.Xml.XmlTextReaderImpl:InitTextReaderInput(System.String,System.Uri,System.IO.TextReader):this
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
-            ldr     x15, [x24, #0xD1FFAB1E]
-            add     x14, x24, #104
+            ldr     x15, [x25, #0xD1FFAB1E]
+            add     x14, x25, #104
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #8
-            mov     x15, x24
+            mov     x15, x25
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x14, [x21, #0x08]
             add     x14, x14, #200
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x22
             mov     x1, x21
             mov     w2, wzr
             movz    x3, #0xD1FFAB1E      // code for System.Data.DataSet:ReadXmlSchema(System.Xml.XmlReader,ubyte):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             ldr     x0, [x22, #0x20]
             mov     w1, wzr
             movz    x2, #0xD1FFAB1E      // code for System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     x21, x0
             mov     x1, x20
             mov     x2, xzr
             mov     w3, wzr
             movz    x4, #0xD1FFAB1E      // code for System.Data.DataTable:CloneTo(System.Data.DataTable,System.Data.DataSet,ubyte):System.Data.DataTable:this
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             ldr     wzr, [x0]
             blr     x4
             mov     x0, x21
             movz    x1, #0xD1FFAB1E      // code for System.Data.DataTable:get_Namespace():System.String:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x20
             movz    x2, #0xD1FFAB1E      // code for System.Data.DataTable:set_Namespace(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x19, G_M31178_IG21
             ldr     x0, [x22, #0x20]
             mov     x21, x0
             mov     w1, wzr
             movz    x2, #0xD1FFAB1E      // code for System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     x1, x0
             mov     x0, x21
             movz    x2, #0xD1FFAB1E      // code for System.Data.DataTableCollection:Remove(System.Data.DataTable):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x22, #0x20]
             mov     x1, x20
             movz    x2, #0xD1FFAB1E      // code for System.Data.DataTableCollection:Add(System.Data.DataTable):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            mov     x0, x23
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
             add     x14, x21, #8
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
+            mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x24, x0
+            mov     x25, x0
             movz    x1, #0xD1FFAB1E      // code for System.Xml.NameTable:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-            mov     x0, x23
-            mov     x1, x24
+            mov     x0, x24
+            mov     x1, x25
             movz    x2, #0xD1FFAB1E      // code for System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlNameTable):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            add     x0, x23, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x25, x0
-            mov     x1, x24
+            mov     x23, x0
+            mov     x1, x25
             movz    x2, #0xD1FFAB1E      // code for System.Xml.XmlNamespaceManager:.ctor(System.Xml.XmlNameTable):this
-						;; size=768 bbWeight=0.50 PerfScore 86.75
-G_M31178_IG20:
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            add     x14, x23, #64
-            mov     x15, x25
+            add     x14, x24, #64
+            mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
-            movz    x1, #0xD1FFAB1E
+            movz    x1, #8
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
-            str     x1, [x23, #0x60]
-            mov     x1, x26
-            mov     x0, x23
+						;; size=788 bbWeight=0.50 PerfScore 89.75
+G_M31178_IG20:
+            str     x1, [x24, #0x60]
+            mov     x1, x27
+            mov     x0, x24
             mov     x3, x21
             mov     x2, xzr
             movz    x4, #0xD1FFAB1E      // code for System.Xml.XmlTextReaderImpl:InitTextReaderInput(System.String,System.Uri,System.IO.TextReader):this
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
-            ldr     x15, [x23, #0xD1FFAB1E]
-            add     x14, x23, #104
+            ldr     x15, [x24, #0xD1FFAB1E]
+            add     x14, x24, #104
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #8
-            mov     x15, x23
+            mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x14, [x19, #0x08]
             add     x14, x14, #200
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x22
             mov     x1, x19
             mov     w2, #4
             mov     w3, wzr
             movz    x4, #0xD1FFAB1E      // code for System.Data.DataSet:ReadXml(System.Xml.XmlReader,int,ubyte):int:this
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
             ldr     x0, [x22, #0x20]
             mov     x1, x20
             movz    x2, #0xD1FFAB1E      // code for System.Data.DataTableCollection:Remove(System.Data.DataTable):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-						;; size=188 bbWeight=0.50 PerfScore 24.00
+						;; size=148 bbWeight=0.50 PerfScore 19.75
 G_M31178_IG21:
-            ldr     x27, [sp, #0x58]
-            ldp     x25, x26, [sp, #0x48]
-            ldp     x23, x24, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+            ldp     x27, x28, [sp, #0x50]
+            ldp     x25, x26, [sp, #0x40]
+            ldp     x23, x24, [sp, #0x30]
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-						;; size=28 bbWeight=0.50 PerfScore 4.00
+						;; size=28 bbWeight=0.50 PerfScore 3.50
 G_M31178_IG22:
             bl      CORINFO_HELP_RNGCHKFAIL
             brk_unix #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M31178_IG23:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x0, #0xD1FFAB1E      // code for System.SR:get_Serialization_NotFound():System.String
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             mov     x20, x0
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             mov     x1, x0
             mov     x0, x20
             movz    x2, #0xD1FFAB1E      // code for System.SR:Format(System.String,System.Object):System.String
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for System.Runtime.Serialization.SerializationException:.ctor(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk_unix #0
 						;; size=132 bbWeight=0 PerfScore 0.00
 G_M31178_IG24:
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             brk_unix #0
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M31178_IG25:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x0, #0xD1FFAB1E      // code for System.SR:get_Serialization_NotFound():System.String
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             mov     x20, x0
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             mov     x1, x0
             mov     x0, x20
             movz    x2, #0xD1FFAB1E      // code for System.SR:Format(System.String,System.Object):System.String
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for System.Runtime.Serialization.SerializationException:.ctor(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk_unix #0
 						;; size=132 bbWeight=0 PerfScore 0.00
 G_M31178_IG26:
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             brk_unix #0
 						;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1952, prolog size 28, PerfScore 207.50, instruction count 488, allocated bytes for code 1952 (MethodHash=c10e8635) for method System.Data.DataTable:DeserializeDataTable(System.Runtime.Serialization.SerializationInfo,ubyte,int):this (FullOpts)
+; Total bytes of code 1932, prolog size 28, PerfScore 205.25, instruction count 483, allocated bytes for code 1932 (MethodHash=c10e8635) for method System.Data.DataTable:DeserializeDataTable(System.Runtime.Serialization.SerializationInfo,ubyte,int):this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[int]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[int]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[int]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[double]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,double]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,double]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[double]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[double]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,double]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[int,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[double,System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[double,System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[int,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M42268_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M42268_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[double]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M42268_IG10
+            cbz     w0, G_M42268_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M42268_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M42268_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M42268_IG06
+            cbnz    x0, G_M42268_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M42268_IG05:
-            cbnz    x1, G_M42268_IG08
-            b       G_M42268_IG07
+G_M42268_IG04:
+            cbnz    x1, G_M42268_IG07
+            b       G_M42268_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M42268_IG06:
+G_M42268_IG05:
             cmp     x0, x1
-            beq     G_M42268_IG07
+            beq     G_M42268_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M42268_IG08
+            cbz     w0, G_M42268_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M42268_IG07:
+G_M42268_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,double]:<CloneCast>b__0(double):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M42268_IG09
+            b       G_M42268_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M42268_IG08:
+G_M42268_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,double]:<CloneCast>b__1(double):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M42268_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M42268_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M42268_IG04
+            cbnz    w0, G_M42268_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M42268_IG10:
+G_M42268_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M42268_IG17
+            cbz     w0, G_M42268_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M42268_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M42268_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M42268_IG13
+            cbnz    x0, G_M42268_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M42268_IG12:
-            cbnz    x22, G_M42268_IG15
-            b       G_M42268_IG14
+G_M42268_IG11:
+            cbnz    x22, G_M42268_IG14
+            b       G_M42268_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M42268_IG13:
+G_M42268_IG12:
             cmp     x0, x22
-            beq     G_M42268_IG14
+            beq     G_M42268_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M42268_IG15
+            cbz     w0, G_M42268_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M42268_IG14:
+G_M42268_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M42268_IG16
+            b       G_M42268_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M42268_IG15:
+G_M42268_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M42268_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M42268_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M42268_IG11
+            cbnz    w0, G_M42268_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M42268_IG17:
+G_M42268_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M42268_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M42268_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=fa2e5ae3) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=fa2e5ae3) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[int]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[int]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[int]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[int]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,int]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,int]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[int]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[int]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,int]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[int,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[int,System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[int,System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[int,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M31612_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M31612_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[int]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M31612_IG10
+            cbz     w0, G_M31612_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M31612_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M31612_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M31612_IG06
+            cbnz    x0, G_M31612_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M31612_IG05:
-            cbnz    x1, G_M31612_IG08
-            b       G_M31612_IG07
+G_M31612_IG04:
+            cbnz    x1, G_M31612_IG07
+            b       G_M31612_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M31612_IG06:
+G_M31612_IG05:
             cmp     x0, x1
-            beq     G_M31612_IG07
+            beq     G_M31612_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M31612_IG08
+            cbz     w0, G_M31612_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M31612_IG07:
+G_M31612_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,int]:<CloneCast>b__0(int):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M31612_IG09
+            b       G_M31612_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M31612_IG08:
+G_M31612_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,int]:<CloneCast>b__1(int):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M31612_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M31612_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M31612_IG04
+            cbnz    w0, G_M31612_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M31612_IG10:
+G_M31612_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M31612_IG17
+            cbz     w0, G_M31612_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M31612_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M31612_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M31612_IG13
+            cbnz    x0, G_M31612_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M31612_IG12:
-            cbnz    x22, G_M31612_IG15
-            b       G_M31612_IG14
+G_M31612_IG11:
+            cbnz    x22, G_M31612_IG14
+            b       G_M31612_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M31612_IG13:
+G_M31612_IG12:
             cmp     x0, x22
-            beq     G_M31612_IG14
+            beq     G_M31612_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M31612_IG15
+            cbz     w0, G_M31612_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M31612_IG14:
+G_M31612_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M31612_IG16
+            b       G_M31612_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M31612_IG15:
+G_M31612_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M31612_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M31612_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M31612_IG11
+            cbnz    w0, G_M31612_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M31612_IG17:
+G_M31612_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M31612_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M31612_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=b8358483) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=b8358483) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[int]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[int]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[int]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[long]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,long]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,long]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[long]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[long]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,long]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[int,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[long,System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[long,System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[int,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M57884_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M57884_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[long]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M57884_IG10
+            cbz     w0, G_M57884_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M57884_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M57884_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M57884_IG06
+            cbnz    x0, G_M57884_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M57884_IG05:
-            cbnz    x1, G_M57884_IG08
-            b       G_M57884_IG07
+G_M57884_IG04:
+            cbnz    x1, G_M57884_IG07
+            b       G_M57884_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M57884_IG06:
+G_M57884_IG05:
             cmp     x0, x1
-            beq     G_M57884_IG07
+            beq     G_M57884_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M57884_IG08
+            cbz     w0, G_M57884_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M57884_IG07:
+G_M57884_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,long]:<CloneCast>b__0(long):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M57884_IG09
+            b       G_M57884_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M57884_IG08:
+G_M57884_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,long]:<CloneCast>b__1(long):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M57884_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M57884_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M57884_IG04
+            cbnz    w0, G_M57884_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M57884_IG10:
+G_M57884_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M57884_IG17
+            cbz     w0, G_M57884_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M57884_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M57884_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M57884_IG13
+            cbnz    x0, G_M57884_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M57884_IG12:
-            cbnz    x22, G_M57884_IG15
-            b       G_M57884_IG14
+G_M57884_IG11:
+            cbnz    x22, G_M57884_IG14
+            b       G_M57884_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M57884_IG13:
+G_M57884_IG12:
             cmp     x0, x22
-            beq     G_M57884_IG14
+            beq     G_M57884_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M57884_IG15
+            cbz     w0, G_M57884_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M57884_IG14:
+G_M57884_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M57884_IG16
+            b       G_M57884_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M57884_IG15:
+G_M57884_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M57884_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M57884_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M57884_IG11
+            cbnz    w0, G_M57884_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M57884_IG17:
+G_M57884_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M57884_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M57884_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=4b5a1de3) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=4b5a1de3) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[int]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[int]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[int]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[short]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,short]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,short]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[short]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[short]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,short]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[int,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[short,System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[short,System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[int,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M1500_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M1500_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[short]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M1500_IG10
+            cbz     w0, G_M1500_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M1500_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M1500_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M1500_IG06
+            cbnz    x0, G_M1500_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M1500_IG05:
-            cbnz    x1, G_M1500_IG08
-            b       G_M1500_IG07
+G_M1500_IG04:
+            cbnz    x1, G_M1500_IG07
+            b       G_M1500_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M1500_IG06:
+G_M1500_IG05:
             cmp     x0, x1
-            beq     G_M1500_IG07
+            beq     G_M1500_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M1500_IG08
+            cbz     w0, G_M1500_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M1500_IG07:
+G_M1500_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,short]:<CloneCast>b__0(short):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M1500_IG09
+            b       G_M1500_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M1500_IG08:
+G_M1500_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,short]:<CloneCast>b__1(short):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M1500_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M1500_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M1500_IG04
+            cbnz    w0, G_M1500_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M1500_IG10:
+G_M1500_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M1500_IG17
+            cbz     w0, G_M1500_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M1500_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M1500_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M1500_IG13
+            cbnz    x0, G_M1500_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M1500_IG12:
-            cbnz    x22, G_M1500_IG15
-            b       G_M1500_IG14
+G_M1500_IG11:
+            cbnz    x22, G_M1500_IG14
+            b       G_M1500_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M1500_IG13:
+G_M1500_IG12:
             cmp     x0, x22
-            beq     G_M1500_IG14
+            beq     G_M1500_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M1500_IG15
+            cbz     w0, G_M1500_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M1500_IG14:
+G_M1500_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M1500_IG16
+            b       G_M1500_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M1500_IG15:
+G_M1500_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M1500_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M1500_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M1500_IG11
+            cbnz    w0, G_M1500_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M1500_IG17:
+G_M1500_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M1500_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M1500_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=1c37fa23) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=1c37fa23) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[int]:CloneCast[System.Nullable`1[int]]():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[int]:CloneCast[System.Nullable`1[int]]():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[int]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Nullable`1[int]]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Nullable`1[int]]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Nullable`1[int]]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[int,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[System.Nullable`1[int],System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Nullable`1[int],System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Nullable`1[int],System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[System.Nullable`1[int],System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Nullable`1[int],System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Nullable`1[int],System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[int,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M32028_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M32028_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M32028_IG10
+            cbz     w0, G_M32028_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M32028_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M32028_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M32028_IG06
+            cbnz    x0, G_M32028_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M32028_IG05:
-            cbnz    x1, G_M32028_IG08
-            b       G_M32028_IG07
+G_M32028_IG04:
+            cbnz    x1, G_M32028_IG07
+            b       G_M32028_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M32028_IG06:
+G_M32028_IG05:
             cmp     x0, x1
-            beq     G_M32028_IG07
+            beq     G_M32028_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M32028_IG08
+            cbz     w0, G_M32028_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M32028_IG07:
+G_M32028_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Nullable`1[int]]:<CloneCast>b__0(System.Nullable`1[int]):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M32028_IG09
+            b       G_M32028_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M32028_IG08:
+G_M32028_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Nullable`1[int]]:<CloneCast>b__1(System.Nullable`1[int]):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M32028_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M32028_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M32028_IG04
+            cbnz    w0, G_M32028_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M32028_IG10:
+G_M32028_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M32028_IG17
+            cbz     w0, G_M32028_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M32028_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M32028_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M32028_IG13
+            cbnz    x0, G_M32028_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M32028_IG12:
-            cbnz    x22, G_M32028_IG15
-            b       G_M32028_IG14
+G_M32028_IG11:
+            cbnz    x22, G_M32028_IG14
+            b       G_M32028_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M32028_IG13:
+G_M32028_IG12:
             cmp     x0, x22
-            beq     G_M32028_IG14
+            beq     G_M32028_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M32028_IG15
+            cbz     w0, G_M32028_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M32028_IG14:
+G_M32028_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M32028_IG16
+            b       G_M32028_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M32028_IG15:
+G_M32028_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M32028_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M32028_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M32028_IG11
+            cbnz    w0, G_M32028_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M32028_IG17:
+G_M32028_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M32028_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M32028_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=f2ac82e3) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[System.Nullable`1[int]]():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=f2ac82e3) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[System.Nullable`1[int]]():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[int]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[int]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[int]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Numerics.Vector`1[float]]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Numerics.Vector`1[float]]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Numerics.Vector`1[float]]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[int,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[System.Numerics.Vector`1[float],System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Numerics.Vector`1[float],System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Numerics.Vector`1[float],System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[System.Numerics.Vector`1[float],System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Numerics.Vector`1[float],System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Numerics.Vector`1[float],System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[int,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M13756_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M13756_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M13756_IG10
+            cbz     w0, G_M13756_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M13756_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M13756_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M13756_IG06
+            cbnz    x0, G_M13756_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M13756_IG05:
-            cbnz    x1, G_M13756_IG08
-            b       G_M13756_IG07
+G_M13756_IG04:
+            cbnz    x1, G_M13756_IG07
+            b       G_M13756_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M13756_IG06:
+G_M13756_IG05:
             cmp     x0, x1
-            beq     G_M13756_IG07
+            beq     G_M13756_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M13756_IG08
+            cbz     w0, G_M13756_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M13756_IG07:
+G_M13756_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Numerics.Vector`1[float]]:<CloneCast>b__0(System.Numerics.Vector`1[float]):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M13756_IG09
+            b       G_M13756_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M13756_IG08:
+G_M13756_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,System.Numerics.Vector`1[float]]:<CloneCast>b__1(System.Numerics.Vector`1[float]):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M13756_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M13756_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M13756_IG04
+            cbnz    w0, G_M13756_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M13756_IG10:
+G_M13756_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M13756_IG17
+            cbz     w0, G_M13756_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M13756_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M13756_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M13756_IG13
+            cbnz    x0, G_M13756_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M13756_IG12:
-            cbnz    x22, G_M13756_IG15
-            b       G_M13756_IG14
+G_M13756_IG11:
+            cbnz    x22, G_M13756_IG14
+            b       G_M13756_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M13756_IG13:
+G_M13756_IG12:
             cmp     x0, x22
-            beq     G_M13756_IG14
+            beq     G_M13756_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M13756_IG15
+            cbz     w0, G_M13756_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M13756_IG14:
+G_M13756_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M13756_IG16
+            b       G_M13756_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M13756_IG15:
+G_M13756_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M13756_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M13756_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M13756_IG11
+            cbnz    w0, G_M13756_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M13756_IG17:
+G_M13756_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M13756_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M13756_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=ff52ca43) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=ff52ca43) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[int]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[int]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[int]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[ubyte]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,ubyte]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,ubyte]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[ubyte]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[ubyte]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,ubyte]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[int,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[ubyte,System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[ubyte,System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[int,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[int,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M22780_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M22780_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[ubyte]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M22780_IG10
+            cbz     w0, G_M22780_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M22780_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M22780_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M22780_IG06
+            cbnz    x0, G_M22780_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M22780_IG05:
-            cbnz    x1, G_M22780_IG08
-            b       G_M22780_IG07
+G_M22780_IG04:
+            cbnz    x1, G_M22780_IG07
+            b       G_M22780_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M22780_IG06:
+G_M22780_IG05:
             cmp     x0, x1
-            beq     G_M22780_IG07
+            beq     G_M22780_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M22780_IG08
+            cbz     w0, G_M22780_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M22780_IG07:
+G_M22780_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,ubyte]:<CloneCast>b__0(ubyte):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M22780_IG09
+            b       G_M22780_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M22780_IG08:
+G_M22780_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[int,ubyte]:<CloneCast>b__1(ubyte):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M22780_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M22780_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M22780_IG04
+            cbnz    w0, G_M22780_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M22780_IG10:
+G_M22780_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M22780_IG17
+            cbz     w0, G_M22780_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M22780_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M22780_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M22780_IG13
+            cbnz    x0, G_M22780_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M22780_IG12:
-            cbnz    x22, G_M22780_IG15
-            b       G_M22780_IG14
+G_M22780_IG11:
+            cbnz    x22, G_M22780_IG14
+            b       G_M22780_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M22780_IG13:
+G_M22780_IG12:
             cmp     x0, x22
-            beq     G_M22780_IG14
+            beq     G_M22780_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M22780_IG15
+            cbz     w0, G_M22780_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M22780_IG14:
+G_M22780_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M22780_IG16
+            b       G_M22780_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M22780_IG15:
+G_M22780_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M22780_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M22780_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M22780_IG11
+            cbnz    w0, G_M22780_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M22780_IG17:
+G_M22780_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M22780_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M22780_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=f671a703) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=f671a703) for method System.Data.SortExpressionBuilder`1[int]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[short]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[short]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[short]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[double]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,double]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,double]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[double]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[double]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,double]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[short,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[double,System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[double,System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[short,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M31197_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M31197_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[double]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M31197_IG10
+            cbz     w0, G_M31197_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M31197_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M31197_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M31197_IG06
+            cbnz    x0, G_M31197_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M31197_IG05:
-            cbnz    x1, G_M31197_IG08
-            b       G_M31197_IG07
+G_M31197_IG04:
+            cbnz    x1, G_M31197_IG07
+            b       G_M31197_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M31197_IG06:
+G_M31197_IG05:
             cmp     x0, x1
-            beq     G_M31197_IG07
+            beq     G_M31197_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M31197_IG08
+            cbz     w0, G_M31197_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M31197_IG07:
+G_M31197_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,double]:<CloneCast>b__0(double):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M31197_IG09
+            b       G_M31197_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M31197_IG08:
+G_M31197_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,double]:<CloneCast>b__1(double):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M31197_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M31197_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M31197_IG04
+            cbnz    w0, G_M31197_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M31197_IG10:
+G_M31197_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M31197_IG17
+            cbz     w0, G_M31197_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M31197_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M31197_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M31197_IG13
+            cbnz    x0, G_M31197_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M31197_IG12:
-            cbnz    x22, G_M31197_IG15
-            b       G_M31197_IG14
+G_M31197_IG11:
+            cbnz    x22, G_M31197_IG14
+            b       G_M31197_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M31197_IG13:
+G_M31197_IG12:
             cmp     x0, x22
-            beq     G_M31197_IG14
+            beq     G_M31197_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M31197_IG15
+            cbz     w0, G_M31197_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M31197_IG14:
+G_M31197_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M31197_IG16
+            b       G_M31197_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M31197_IG15:
+G_M31197_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M31197_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M31197_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M31197_IG11
+            cbnz    w0, G_M31197_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M31197_IG17:
+G_M31197_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M31197_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M31197_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=f2ff8622) for method System.Data.SortExpressionBuilder`1[short]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=f2ff8622) for method System.Data.SortExpressionBuilder`1[short]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[short]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[short]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[short]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[int]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,int]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,int]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[int]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[int]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,int]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[short,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[int,System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[int,System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[short,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M8125_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M8125_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[int]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M8125_IG10
+            cbz     w0, G_M8125_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M8125_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M8125_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M8125_IG06
+            cbnz    x0, G_M8125_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M8125_IG05:
-            cbnz    x1, G_M8125_IG08
-            b       G_M8125_IG07
+G_M8125_IG04:
+            cbnz    x1, G_M8125_IG07
+            b       G_M8125_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M8125_IG06:
+G_M8125_IG05:
             cmp     x0, x1
-            beq     G_M8125_IG07
+            beq     G_M8125_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M8125_IG08
+            cbz     w0, G_M8125_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M8125_IG07:
+G_M8125_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,int]:<CloneCast>b__0(int):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M8125_IG09
+            b       G_M8125_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M8125_IG08:
+G_M8125_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,int]:<CloneCast>b__1(int):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M8125_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M8125_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M8125_IG04
+            cbnz    w0, G_M8125_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M8125_IG10:
+G_M8125_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M8125_IG17
+            cbz     w0, G_M8125_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M8125_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M8125_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M8125_IG13
+            cbnz    x0, G_M8125_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M8125_IG12:
-            cbnz    x22, G_M8125_IG15
-            b       G_M8125_IG14
+G_M8125_IG11:
+            cbnz    x22, G_M8125_IG14
+            b       G_M8125_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M8125_IG13:
+G_M8125_IG12:
             cmp     x0, x22
-            beq     G_M8125_IG14
+            beq     G_M8125_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M8125_IG15
+            cbz     w0, G_M8125_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M8125_IG14:
+G_M8125_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M8125_IG16
+            b       G_M8125_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M8125_IG15:
+G_M8125_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M8125_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M8125_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M8125_IG11
+            cbnz    w0, G_M8125_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M8125_IG17:
+G_M8125_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M8125_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M8125_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=fbdae042) for method System.Data.SortExpressionBuilder`1[short]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=fbdae042) for method System.Data.SortExpressionBuilder`1[short]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[short]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[short]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[short]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[long]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,long]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,long]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[long]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[long]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,long]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[short,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[long,System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[long,System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[short,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M26461_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M26461_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[long]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M26461_IG10
+            cbz     w0, G_M26461_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M26461_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M26461_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M26461_IG06
+            cbnz    x0, G_M26461_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M26461_IG05:
-            cbnz    x1, G_M26461_IG08
-            b       G_M26461_IG07
+G_M26461_IG04:
+            cbnz    x1, G_M26461_IG07
+            b       G_M26461_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M26461_IG06:
+G_M26461_IG05:
             cmp     x0, x1
-            beq     G_M26461_IG07
+            beq     G_M26461_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M26461_IG08
+            cbz     w0, G_M26461_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M26461_IG07:
+G_M26461_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,long]:<CloneCast>b__0(long):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M26461_IG09
+            b       G_M26461_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M26461_IG08:
+G_M26461_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,long]:<CloneCast>b__1(long):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M26461_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M26461_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M26461_IG04
+            cbnz    w0, G_M26461_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M26461_IG10:
+G_M26461_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M26461_IG17
+            cbz     w0, G_M26461_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M26461_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M26461_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M26461_IG13
+            cbnz    x0, G_M26461_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M26461_IG12:
-            cbnz    x22, G_M26461_IG15
-            b       G_M26461_IG14
+G_M26461_IG11:
+            cbnz    x22, G_M26461_IG14
+            b       G_M26461_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M26461_IG13:
+G_M26461_IG12:
             cmp     x0, x22
-            beq     G_M26461_IG14
+            beq     G_M26461_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M26461_IG15
+            cbz     w0, G_M26461_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M26461_IG14:
+G_M26461_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M26461_IG16
+            b       G_M26461_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M26461_IG15:
+G_M26461_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M26461_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M26461_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M26461_IG11
+            cbnz    w0, G_M26461_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M26461_IG17:
+G_M26461_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M26461_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M26461_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=f86e98a2) for method System.Data.SortExpressionBuilder`1[short]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=f86e98a2) for method System.Data.SortExpressionBuilder`1[short]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[short]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[short]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[short]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[short]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,short]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,short]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[short]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[short]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,short]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[short,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[short,System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[short,System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[short,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M1501_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M1501_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[short]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M1501_IG10
+            cbz     w0, G_M1501_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M1501_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M1501_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M1501_IG06
+            cbnz    x0, G_M1501_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M1501_IG05:
-            cbnz    x1, G_M1501_IG08
-            b       G_M1501_IG07
+G_M1501_IG04:
+            cbnz    x1, G_M1501_IG07
+            b       G_M1501_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M1501_IG06:
+G_M1501_IG05:
             cmp     x0, x1
-            beq     G_M1501_IG07
+            beq     G_M1501_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M1501_IG08
+            cbz     w0, G_M1501_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M1501_IG07:
+G_M1501_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,short]:<CloneCast>b__0(short):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M1501_IG09
+            b       G_M1501_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M1501_IG08:
+G_M1501_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,short]:<CloneCast>b__1(short):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M1501_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M1501_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M1501_IG04
+            cbnz    w0, G_M1501_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M1501_IG10:
+G_M1501_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M1501_IG17
+            cbz     w0, G_M1501_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M1501_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M1501_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M1501_IG13
+            cbnz    x0, G_M1501_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M1501_IG12:
-            cbnz    x22, G_M1501_IG15
-            b       G_M1501_IG14
+G_M1501_IG11:
+            cbnz    x22, G_M1501_IG14
+            b       G_M1501_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M1501_IG13:
+G_M1501_IG12:
             cmp     x0, x22
-            beq     G_M1501_IG14
+            beq     G_M1501_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M1501_IG15
+            cbz     w0, G_M1501_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M1501_IG14:
+G_M1501_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M1501_IG16
+            b       G_M1501_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M1501_IG15:
+G_M1501_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M1501_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M1501_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M1501_IG11
+            cbnz    w0, G_M1501_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M1501_IG17:
+G_M1501_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M1501_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M1501_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=de8afa22) for method System.Data.SortExpressionBuilder`1[short]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=de8afa22) for method System.Data.SortExpressionBuilder`1[short]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[short]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[short]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[short]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,System.Numerics.Vector`1[float]]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,System.Numerics.Vector`1[float]]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,System.Numerics.Vector`1[float]]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[short,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[System.Numerics.Vector`1[float],System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Numerics.Vector`1[float],System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Numerics.Vector`1[float],System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[System.Numerics.Vector`1[float],System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Numerics.Vector`1[float],System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Numerics.Vector`1[float],System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[short,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M50365_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M50365_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M50365_IG10
+            cbz     w0, G_M50365_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M50365_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M50365_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M50365_IG06
+            cbnz    x0, G_M50365_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M50365_IG05:
-            cbnz    x1, G_M50365_IG08
-            b       G_M50365_IG07
+G_M50365_IG04:
+            cbnz    x1, G_M50365_IG07
+            b       G_M50365_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M50365_IG06:
+G_M50365_IG05:
             cmp     x0, x1
-            beq     G_M50365_IG07
+            beq     G_M50365_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M50365_IG08
+            cbz     w0, G_M50365_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M50365_IG07:
+G_M50365_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,System.Numerics.Vector`1[float]]:<CloneCast>b__0(System.Numerics.Vector`1[float]):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M50365_IG09
+            b       G_M50365_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M50365_IG08:
+G_M50365_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,System.Numerics.Vector`1[float]]:<CloneCast>b__1(System.Numerics.Vector`1[float]):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M50365_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M50365_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M50365_IG04
+            cbnz    w0, G_M50365_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M50365_IG10:
+G_M50365_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M50365_IG17
+            cbz     w0, G_M50365_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M50365_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M50365_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M50365_IG13
+            cbnz    x0, G_M50365_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M50365_IG12:
-            cbnz    x22, G_M50365_IG15
-            b       G_M50365_IG14
+G_M50365_IG11:
+            cbnz    x22, G_M50365_IG14
+            b       G_M50365_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M50365_IG13:
+G_M50365_IG12:
             cmp     x0, x22
-            beq     G_M50365_IG14
+            beq     G_M50365_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M50365_IG15
+            cbz     w0, G_M50365_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M50365_IG14:
+G_M50365_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M50365_IG16
+            b       G_M50365_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M50365_IG15:
+G_M50365_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M50365_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M50365_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M50365_IG11
+            cbnz    w0, G_M50365_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M50365_IG17:
+G_M50365_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M50365_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M50365_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=fd313b42) for method System.Data.SortExpressionBuilder`1[short]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=fd313b42) for method System.Data.SortExpressionBuilder`1[short]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[short]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[short]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[short]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[ubyte]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,ubyte]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,ubyte]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[ubyte]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[ubyte]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,ubyte]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[short,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[ubyte,System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[ubyte,System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[short,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[short,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M15421_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M15421_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[ubyte]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M15421_IG10
+            cbz     w0, G_M15421_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M15421_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M15421_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M15421_IG06
+            cbnz    x0, G_M15421_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M15421_IG05:
-            cbnz    x1, G_M15421_IG08
-            b       G_M15421_IG07
+G_M15421_IG04:
+            cbnz    x1, G_M15421_IG07
+            b       G_M15421_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M15421_IG06:
+G_M15421_IG05:
             cmp     x0, x1
-            beq     G_M15421_IG07
+            beq     G_M15421_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M15421_IG08
+            cbz     w0, G_M15421_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M15421_IG07:
+G_M15421_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,ubyte]:<CloneCast>b__0(ubyte):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M15421_IG09
+            b       G_M15421_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M15421_IG08:
+G_M15421_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[short,ubyte]:<CloneCast>b__1(ubyte):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M15421_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M15421_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M15421_IG04
+            cbnz    w0, G_M15421_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M15421_IG10:
+G_M15421_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M15421_IG17
+            cbz     w0, G_M15421_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M15421_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M15421_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M15421_IG13
+            cbnz    x0, G_M15421_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M15421_IG12:
-            cbnz    x22, G_M15421_IG15
-            b       G_M15421_IG14
+G_M15421_IG11:
+            cbnz    x22, G_M15421_IG14
+            b       G_M15421_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M15421_IG13:
+G_M15421_IG12:
             cmp     x0, x22
-            beq     G_M15421_IG14
+            beq     G_M15421_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M15421_IG15
+            cbz     w0, G_M15421_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M15421_IG14:
+G_M15421_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M15421_IG16
+            b       G_M15421_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M15421_IG15:
+G_M15421_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M15421_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M15421_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M15421_IG11
+            cbnz    w0, G_M15421_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M15421_IG17:
+G_M15421_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M15421_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M15421_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=a872c3c2) for method System.Data.SortExpressionBuilder`1[short]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=a872c3c2) for method System.Data.SortExpressionBuilder`1[short]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[ubyte]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[double]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[ubyte,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[ubyte,double]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[ubyte,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[ubyte,double]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[double]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[double]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[ubyte,double]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[ubyte,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[double,System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[double,System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[ubyte,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[ubyte,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M6416_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M6416_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[double]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M6416_IG10
+            cbz     w0, G_M6416_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M6416_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M6416_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M6416_IG06
+            cbnz    x0, G_M6416_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M6416_IG05:
-            cbnz    x1, G_M6416_IG08
-            b       G_M6416_IG07
+G_M6416_IG04:
+            cbnz    x1, G_M6416_IG07
+            b       G_M6416_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M6416_IG06:
+G_M6416_IG05:
             cmp     x0, x1
-            beq     G_M6416_IG07
+            beq     G_M6416_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M6416_IG08
+            cbz     w0, G_M6416_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M6416_IG07:
+G_M6416_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[ubyte,double]:<CloneCast>b__0(double):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M6416_IG09
+            b       G_M6416_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M6416_IG08:
+G_M6416_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[ubyte,double]:<CloneCast>b__1(double):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M6416_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M6416_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M6416_IG04
+            cbnz    w0, G_M6416_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M6416_IG10:
+G_M6416_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M6416_IG17
+            cbz     w0, G_M6416_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M6416_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M6416_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M6416_IG13
+            cbnz    x0, G_M6416_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M6416_IG12:
-            cbnz    x22, G_M6416_IG15
-            b       G_M6416_IG14
+G_M6416_IG11:
+            cbnz    x22, G_M6416_IG14
+            b       G_M6416_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M6416_IG13:
+G_M6416_IG12:
             cmp     x0, x22
-            beq     G_M6416_IG14
+            beq     G_M6416_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M6416_IG15
+            cbz     w0, G_M6416_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M6416_IG14:
+G_M6416_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M6416_IG16
+            b       G_M6416_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M6416_IG15:
+G_M6416_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M6416_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M6416_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M6416_IG11
+            cbnz    w0, G_M6416_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M6416_IG17:
+G_M6416_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M6416_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M6416_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=2c05e6ef) for method System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=2c05e6ef) for method System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts)
-20 (-2.87 % of base) - System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this
 ; Assembly listing for method System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  6, 12   )     ref  ->  x19         this class-hnd single-def <System.Data.SortExpressionBuilder`1[ubyte]>
 ;  V01 loc0         [V01,T05] (  8, 14   )     ref  ->  x20         class-hnd exact single-def <System.Data.SortExpressionBuilder`1[int]>
-;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[ubyte,System.Object]]>
-;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x23         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[ubyte,int]>
-;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+;  V02 loc1         [V02    ] (  8, 14   )  struct (32) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[ubyte,System.Object]]>
+;  V03 loc2         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[ubyte,int]>
+;  V04 loc3         [V04    ] (  8, 14   )  struct (32) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;  V05 loc4         [V05,T07] (  6, 14   )     ref  ->  x22         class-hnd <System.Comparison`1[System.Object]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[int]>
+;  V07 tmp1         [V07,T15] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[int]>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[ubyte,int]>
 ;  V09 tmp3         [V09,T02] (  4, 20   )     ref  ->   x1         class-hnd "impAppendStmt" <System.Func`2[ubyte,System.Object]>
 ;  V10 tmp4         [V10,T03] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[int,System.Object]>
-;  V11 tmp5         [V11,T12] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+;  V11 tmp5         [V11,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Func`2[int,System.Object]>
-;  V13 tmp7         [V13,T13] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
-;  V14 tmp8         [V14,T10] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
+;  V13 tmp7         [V13,T14] (  2,  8   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+;  V14 tmp8         [V14,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[ubyte,System.Object]]>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[ubyte,System.Object]]>
-;  V17 tmp11        [V17,T15] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V17 tmp11        [V17,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp12        [V18,T00] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
-;  V19 tmp13        [V19,T11] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+;  V19 tmp13        [V19,T12] (  4,  8   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-;  V22 tmp16        [V22,T16] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V22 tmp16        [V22,T17] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V23 tmp17        [V23,T01] (  5, 28   )     ref  ->   x0         class-hnd "Inlining Arg" <System.__Canon>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "V15.[000..008)"
-;  V25 tmp19        [V25,T20] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
+;  V25 tmp19        [V25,T19] (  2,  2   )     ref  ->   x2         single-def "V15.[008..016)"
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    "V15.[016..024)"
-;  V27 tmp21        [V27,T22] (  2,  2   )     int  ->   x1         "V15.[024..028)"
+;  V27 tmp21        [V27,T21] (  2,  2   )     int  ->   x1         "V15.[024..028)"
 ;* V28 tmp22        [V28    ] (  0,  0   )     int  ->  zero-ref    "V15.[028..032)"
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V20.[000..008)"
-;  V30 tmp24        [V30,T21] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
+;  V30 tmp24        [V30,T20] (  2,  2   )     ref  ->   x2         single-def "V20.[008..016)"
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    "V20.[016..024)"
-;  V32 tmp26        [V32,T23] (  2,  2   )     int  ->   x1         "V20.[024..028)"
+;  V32 tmp26        [V32,T22] (  2,  2   )     int  ->   x1         "V20.[024..028)"
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref    "V20.[028..032)"
-;  V34 cse0         [V34,T17] (  3,  6   )    long  ->  x21         "CSE #01: moderate"
-;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #06: moderate"
-;  V36 cse2         [V36,T19] (  2,  4.25)    long  ->  x22         hoist "CSE #02: moderate"
-;  V37 cse3         [V37,T09] (  3, 12   )     ref  ->   x1         "CSE #03: aggressive"
+;  V34 cse0         [V34,T10] (  4, 10   )    long  ->  x21         "CSE #01: aggressive"
+;  V35 cse1         [V35,T18] (  3,  6   )    long  ->  x21         "CSE #05: moderate"
+;  V36 cse2         [V36,T09] (  3, 12   )     ref  ->   x1         "CSE #02: aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M7792_IG01:
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x58]
-            stp     x21, x22, [sp, #0x68]
-            str     x23, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
             mov     fp, sp
-            add     x9, fp, #24
+            add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     q16, q16, [x9, #0x20]
             mov     x19, x0
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M7792_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x1, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1[int]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x38]	// [V02 loc1], [V02 loc1+0x08]
-            str     xzr, [fp, #0x48]	// [V02 loc1+0x10]
-            stp     w1, wzr, [fp, #0x50]	// [V02 loc1+0x18], [V02 loc1+0x1c]
-            add     x0, fp, #56	// [V02 loc1]
+            stp     x0, x2, [fp, #0x30]	// [V02 loc1], [V02 loc1+0x08]
+            str     xzr, [fp, #0x40]	// [V02 loc1+0x10]
+            stp     w1, wzr, [fp, #0x48]	// [V02 loc1+0x18], [V02 loc1+0x1c]
+            add     x0, fp, #48	// [V02 loc1]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M7792_IG10
+            cbz     w0, G_M7792_IG09
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M7792_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-						;; size=12 bbWeight=0.25 PerfScore 0.38
-G_M7792_IG04:
-            mov     x0, x22
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            ldr     x1, [fp, #0x48]	// [V02 loc1+0x10]
-            add     x14, x23, #8
+            mov     x22, x0
+            ldr     x1, [fp, #0x40]	// [V02 loc1+0x10]
+            add     x14, x22, #8
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x18]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M7792_IG06
+            cbnz    x0, G_M7792_IG05
 						;; size=40 bbWeight=4 PerfScore 52.00
-G_M7792_IG05:
-            cbnz    x1, G_M7792_IG08
-            b       G_M7792_IG07
+G_M7792_IG04:
+            cbnz    x1, G_M7792_IG07
+            b       G_M7792_IG06
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M7792_IG06:
+G_M7792_IG05:
             cmp     x0, x1
-            beq     G_M7792_IG07
+            beq     G_M7792_IG06
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M7792_IG08
+            cbz     w0, G_M7792_IG07
 						;; size=28 bbWeight=2 PerfScore 25.00
-G_M7792_IG07:
+G_M7792_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[ubyte,int]:<CloneCast>b__0(int):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M7792_IG09
+            b       G_M7792_IG08
 						;; size=92 bbWeight=2 PerfScore 44.00
-G_M7792_IG08:
+G_M7792_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             ldr     x0, [x20, #0x08]
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x2, #0xD1FFAB1E      // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[ubyte,int]:<CloneCast>b__1(int):System.Object:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             str     x2, [x1, #0x18]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=76 bbWeight=2 PerfScore 38.00
-G_M7792_IG09:
-            add     x0, fp, #56	// [V02 loc1]
+G_M7792_IG08:
+            add     x0, fp, #48	// [V02 loc1]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M7792_IG04
+            cbnz    w0, G_M7792_IG03
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M7792_IG10:
+G_M7792_IG09:
             ldr     x0, [x19, #0x10]
             ldr     w1, [x0, #0x1C]
             ldr     x2, [x0, #0x08]
-            stp     x0, x2, [fp, #0x18]	// [V04 loc3], [V04 loc3+0x08]
-            str     xzr, [fp, #0x28]	// [V04 loc3+0x10]
-            stp     w1, wzr, [fp, #0x30]	// [V04 loc3+0x18], [V04 loc3+0x1c]
-            add     x0, fp, #24	// [V04 loc3]
+            stp     x0, x2, [fp, #0x10]	// [V04 loc3], [V04 loc3+0x08]
+            str     xzr, [fp, #0x20]	// [V04 loc3+0x10]
+            stp     w1, wzr, [fp, #0x28]	// [V04 loc3+0x18], [V04 loc3+0x1c]
+            add     x0, fp, #16	// [V04 loc3]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     w0, G_M7792_IG17
+            cbz     w0, G_M7792_IG16
 						;; size=68 bbWeight=1 PerfScore 21.00
-G_M7792_IG11:
-            ldr     x22, [fp, #0x28]	// [V04 loc3+0x10]
+G_M7792_IG10:
+            ldr     x22, [fp, #0x20]	// [V04 loc3+0x10]
             ldr     x0, [x19, #0x20]
             ldr     x0, [x0, #0x20]
-            cbnz    x0, G_M7792_IG13
+            cbnz    x0, G_M7792_IG12
 						;; size=16 bbWeight=4 PerfScore 36.00
-G_M7792_IG12:
-            cbnz    x22, G_M7792_IG15
-            b       G_M7792_IG14
+G_M7792_IG11:
+            cbnz    x22, G_M7792_IG14
+            b       G_M7792_IG13
 						;; size=8 bbWeight=2 PerfScore 4.00
-G_M7792_IG13:
+G_M7792_IG12:
             cmp     x0, x22
-            beq     G_M7792_IG14
+            beq     G_M7792_IG13
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
-            cbz     w0, G_M7792_IG15
+            cbz     w0, G_M7792_IG14
 						;; size=32 bbWeight=2 PerfScore 26.00
-G_M7792_IG14:
+G_M7792_IG13:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             add     x14, x20, #32
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M7792_IG16
+            b       G_M7792_IG15
 						;; size=48 bbWeight=2 PerfScore 30.00
-G_M7792_IG15:
+G_M7792_IG14:
             ldr     x0, [x20, #0x10]
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=32 bbWeight=2 PerfScore 24.00
-G_M7792_IG16:
-            add     x0, fp, #24	// [V04 loc3]
+G_M7792_IG15:
+            add     x0, fp, #16	// [V04 loc3]
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    w0, G_M7792_IG11
+            cbnz    w0, G_M7792_IG10
 						;; size=32 bbWeight=4 PerfScore 30.00
-G_M7792_IG17:
+G_M7792_IG16:
             mov     x0, x20
 						;; size=4 bbWeight=1 PerfScore 0.50
-G_M7792_IG18:
-            ldr     x23, [sp, #0x78]
-            ldp     x21, x22, [sp, #0x68]
-            ldp     x19, x20, [sp, #0x58]
-            ldp     fp, lr, [sp], #0x80
+G_M7792_IG17:
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=b1a6e18f) for method System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
+; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=b1a6e18f) for method System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment