Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove useless complementary assertions #110171

Merged
merged 1 commit into from
Feb 25, 2025

Conversation

EgorBo
Copy link
Member

@EgorBo EgorBo commented Nov 26, 2024

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Nov 26, 2024
Copy link
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

@EgorBo EgorBo marked this pull request as ready for review November 26, 2024 02:13
@EgorBo EgorBo mentioned this pull request Feb 25, 2025
@EgorBo EgorBo force-pushed the remove-useless-assertions branch from 0f849e3 to d77b9de Compare February 25, 2025 12:40
@EgorBo
Copy link
Member Author

EgorBo commented Feb 25, 2025

Some improvements look like "there is now a room for more useful assertions"

@@ -43,7 +43,7 @@
 ;* V31 tmp25        [V31,T22] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V32 tmp26        [V32,T04] (  3,  5.26)  ushort  ->  rax         "Inlining Arg"
 ;  V33 tmp27        [V33,T01] ( 19,  7.11)   byref  ->  rbx         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V34 tmp28        [V34,T05] (  7,  5.11)     int  ->  rsi         "field V00._length (fldOffset=0x8)" P-INDEP
+;  V34 tmp28        [V34,T05] (  6,  4.21)     int  ->  rsi         "field V00._length (fldOffset=0x8)" P-INDEP
 ;* V35 tmp29        [V35    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
 ;* V36 tmp30        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
 ;* V37 tmp31        [V37    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
@@ -157,12 +157,10 @@ G_M17180_IG18:        ; bbWeight=0.90, gcrefRegs=0000 {}, byrefRegs=0008 {rbx},
        mov      ebp, 2
        cmp      esi, 2
        jle      SHORT G_M17180_IG21
-       cmp      esi, 2
-       jbe      G_M17180_IG48
        movzx    rax, word  ptr [rbx+0x04]
        cmp      eax, 92
        je       SHORT G_M17180_IG20
-						;; size=54 bbWeight=0.90 PerfScore 13.57
+						;; size=45 bbWeight=0.90 PerfScore 12.44
 G_M17180_IG19:        ; bbWeight=0.82, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[rbx]
        cmp      eax, 47
@@ -327,14 +325,8 @@ G_M17180_IG47:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byr
        je       G_M17180_IG21
        jmp      G_M17180_IG20
 						;; size=46 bbWeight=0 PerfScore 0.00
-G_M17180_IG48:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; byrRegs -[rbx]
-       call     CORINFO_HELP_RNGCHKFAIL
-       ; gcr arg pop 0
-       int3     
-						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 554, prolog size 19, PerfScore 58.21, instruction count 173, allocated bytes for code 554 (MethodHash=ae56bce3) for method System.IO.PathInternal:GetRootLength(System.ReadOnlySpan`1[ushort]):int (Tier1)
+; Total bytes of code 539, prolog size 19, PerfScore 57.08, instruction count 169, allocated bytes for code 539 (MethodHash=ae56bce3) for method System.IO.PathInternal:GetRootLength(System.ReadOnlySpan`1[ushort]):int (Tier1)

@EgorBo
Copy link
Member Author

EgorBo commented Feb 25, 2025

@jakobbotsch @dotnet/jit-contrib PTAL. Diffs

@EgorBo EgorBo requested a review from jakobbotsch February 25, 2025 14:27
@EgorBo
Copy link
Member Author

EgorBo commented Feb 25, 2025

/ba-g "osx arm64 seems stuck"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants