Skip to content

[JitDiff X64] [EgorBo] JIT: fold trivial redundant comparisons on loop induc ... #2075

Description

@MihuBot

Job completed in 21 minutes 31 seconds (remote runner delay: 1 minute 9 seconds).
dotnet/runtime#130205
Using arguments: -nuget
Main commit: dotnet/runtime@58dfec7
PR commit: EgorBo/runtime-1@d65d76e

Diffs

Diffs
Found 125 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 395135307
Total bytes of diff: 395133918
Total bytes of delta: -1389 (-0.00 % of base)
Total relative delta: -1.44
    diff is an improvement.
    relative diff is an improvement.


Top file improvements (bytes):
        -266 : Microsoft.CodeAnalysis.Features.dasm (-0.01 % of base)
        -157 : System.Private.CoreLib.dasm (-0.00 % of base)
        -154 : System.Private.Uri.dasm (-0.15 % of base)
        -125 : SharpCompress.dasm (-0.00 % of base)
        -100 : OpenTelemetry.dasm (-0.03 % of base)
         -94 : SixLabors.Fonts.dasm (-0.01 % of base)
         -63 : OpenTelemetry.Api.dasm (-0.04 % of base)
         -60 : System.Net.Http.dasm (-0.01 % of base)
         -53 : MimeKit.dasm (-0.00 % of base)
         -44 : System.Net.Mail.dasm (-0.03 % of base)
         -33 : Microsoft.DotNet.Scaffolding.Shared.dasm (-0.03 % of base)
         -31 : Fare.dasm (-0.04 % of base)
         -29 : System.Composition.Convention.dasm (-0.02 % of base)
         -24 : Iced.dasm (-0.00 % of base)
         -23 : Markdig.dasm (-0.00 % of base)
         -19 : System.Text.RegularExpressions.dasm (-0.00 % of base)
         -19 : Microsoft.Testing.Platform.dasm (-0.00 % of base)
         -18 : MySqlConnector.dasm (-0.00 % of base)
         -14 : System.Security.Cryptography.Xml.dasm (-0.01 % of base)
         -13 : System.Data.Odbc.dasm (-0.01 % of base)
         -12 : SixLabors.ImageSharp.dasm (-0.00 % of base)
         -11 : Rebus.dasm (-0.00 % of base)
          -9 : ICSharpCode.SharpZipLib.dasm (-0.00 % of base)
          -8 : System.Composition.Hosting.dasm (-0.01 % of base)
          -5 : StackExchange.Redis.dasm (-0.00 % of base)
          -3 : Swashbuckle.AspNetCore.SwaggerGen.dasm (-0.00 % of base)
          -2 : Perfolizer.dasm (-0.00 % of base)

27 total files with Code Size differences (27 improved, 0 regressed), 733 unchanged.

Top method regressions (bytes):
           3 (0.44 % of base) : Perfolizer.dasm - Perfolizer.Mathematics.Common.Ranker:GetRanks(System.Collections.Generic.IReadOnlyList`1[double],double):double[]:this (FullOpts)

Top method improvements (bytes):
        -266 (-3.79 % of base) : Microsoft.CodeAnalysis.Features.dasm - Microsoft.CodeAnalysis.ChangeSignature.AbstractChangeSignatureService:GetPermutedDocCommentTrivia(Microsoft.CodeAnalysis.SyntaxNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.Host.LanguageServices,Microsoft.CodeAnalysis.Formatting.LineFormattingOptions):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxTrivia]:this (FullOpts)
        -123 (-4.01 % of base) : SharpCompress.dasm - SharpCompress.Compressors.ZStandard.Unsafe.Methods:FSE_compress_usingCTable_generic(ptr,nuint,ptr,nuint,ptr,uint):nuint (FullOpts)
        -108 (-8.87 % of base) : System.Private.Uri.dasm - System.Uri:PathDifference(System.String,System.String,bool):System.String (FullOpts)
         -89 (-17.55 % of base) : OpenTelemetry.dasm - OpenTelemetry.Metrics.HistogramExplicitBounds+RadixBucketLookup:.ctor(double[]):this (FullOpts)
         -87 (-6.43 % of base) : System.Private.CoreLib.dasm - System.IO.RandomAccess:WriteGatherAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList`1[System.ReadOnlyMemory`1[byte]],long) (FullOpts)
         -78 (-9.30 % of base) : SixLabors.Fonts.dasm - SixLabors.Fonts.Tables.General.Svg.SvgGlyphSource:ParseFloatList(System.ReadOnlySpan`1[char]):float[] (FullOpts)
         -70 (-19.23 % of base) : System.Private.CoreLib.dasm - System.Random+CompatPrng:Initialize(int):this (FullOpts)
         -63 (-3.26 % of base) : OpenTelemetry.Api.dasm - OpenTelemetry.Context.Propagation.TraceContextPropagator:TryExtractSingleTracestate(System.String,byref):bool (FullOpts)
         -46 (-4.88 % of base) : System.Private.Uri.dasm - System.UriHelper:TestForSubPath(System.ReadOnlySpan`1[char],System.ReadOnlySpan`1[char],bool):bool (FullOpts)
         -44 (-3.25 % of base) : System.Net.Mail.dasm - System.Net.Mime.BaseWriter:WriteAndFold(System.String,int,bool):this (FullOpts)
         -42 (-11.29 % of base) : System.Net.Http.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
         -33 (-3.19 % of base) : Microsoft.DotNet.Scaffolding.Shared.dasm - Microsoft.Extensions.Internal.ArgumentEscaper:EscapeSingleArg(System.String):System.String (FullOpts)
         -31 (-1.78 % of base) : Fare.dasm - Fare.BasicOperations:Intersection(Fare.Automaton,Fare.Automaton):Fare.Automaton (FullOpts)
         -31 (-1.73 % of base) : MimeKit.dasm - MimeKit.Header:EncodeDispositionNotificationOptions(MimeKit.ParserOptions,MimeKit.FormatOptions,System.Text.Encoding,System.String,System.String):byte[] (FullOpts)
         -29 (-6.99 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.ImportConventionBuilder:IsSupportedImportManyType(System.Reflection.TypeInfo):bool (FullOpts)
         -24 (-6.11 % of base) : Iced.dasm - Iced.Intel.Assembler:push(Iced.Intel.AssemblerRegisterSegment):this (FullOpts)
         -23 (-1.97 % of base) : Markdig.dasm - Markdig.Parsers.HtmlBlockParser:TryParseTagType16(Markdig.Parsers.BlockProcessor,Markdig.Helpers.StringSlice,int,int):int:this (FullOpts)
         -22 (-1.04 % of base) : MimeKit.dasm - MimeKit.Header:EncodeDkimOrArcSignatureHeader(MimeKit.ParserOptions,MimeKit.FormatOptions,System.Text.Encoding,System.String,System.String):byte[] (FullOpts)
         -19 (-0.96 % of base) : Microsoft.Testing.Platform.dasm - Microsoft.Testing.Platform.CommandLine.PlatformCommandLineProvider:ValidateOptionArgumentsAsync(Microsoft.Testing.Platform.Extensions.CommandLine.CommandLineOption,System.String[]):System.Threading.Tasks.Task`1[Microsoft.Testing.Platform.Extensions.ValidationResult]:this (FullOpts)
         -19 (-5.49 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Match:TidyBalancing():this (FullOpts)
         -18 (-1.37 % of base) : MySqlConnector.dasm - MySqlConnector.MySqlConnection:GetStartTransactionPayload(int,System.Nullable`1[bool],bool):System.ReadOnlyMemory`1[byte] (FullOpts)
         -18 (-6.77 % of base) : System.Net.Http.dasm - System.Net.Http.DecompressionHandler:.ctor(int,System.Net.Http.HttpMessageHandlerStage):this (FullOpts)
         -16 (-1.84 % of base) : SixLabors.Fonts.dasm - SixLabors.Fonts.Unicode.UnicodeTrieBuilder:.ctor(uint,uint):this (FullOpts)
         -14 (-2.30 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.XmlDsigBase64Transform:LoadStreamInput(System.IO.Stream):this (FullOpts)
         -13 (-0.60 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcDataReader:RetrieveKeyInfoFromStatistics(System.Data.Odbc.OdbcDataReader+QualifiedTableName,bool):int:this (FullOpts)
         -12 (-1.21 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Formats.Webp.Lossy.Vp8Encoder:AssignSegments(System.ReadOnlySpan`1[int]):this (FullOpts)
         -11 (-0.65 % of base) : Rebus.dasm - Rebus.Sagas.CorrelationProperty:Validate():this (FullOpts)
         -11 (-0.99 % of base) : OpenTelemetry.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F552FAB6679B6A61613676890EB30B475DAA883563347BFFE6CE1A600BE6AFC0D__GetInstrumentNameRegex_4+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[char]):bool:this (FullOpts)
          -9 (-1.26 % of base) : ICSharpCode.SharpZipLib.dasm - ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman:.cctor() (FullOpts)
          -8 (-1.29 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:GetExportDescriptors(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.ExportDescriptorPromise]:this (FullOpts)
          -5 (-0.44 % of base) : Perfolizer.dasm - Perfolizer.Mathematics.SignificanceTesting.MannWhitney.MannWhitneyTest:PerformGreater(Pragmastat.Sample,Pragmastat.Sample,Perfolizer.Metrology.Threshold,int):Perfolizer.Mathematics.SignificanceTesting.MannWhitney.MannWhitneyResult (FullOpts)
          -5 (-2.36 % of base) : StackExchange.Redis.dasm - StackExchange.Redis.ServerSelectionStrategy:GetClusterSlot(System.ReadOnlySpan`1[byte]):int (FullOpts)
          -3 (-2.34 % of base) : Swashbuckle.AspNetCore.SwaggerGen.dasm - Swashbuckle.AspNetCore.SwaggerGen.ApiParameterDescriptionExtensions+<>c:<IsRequiredParameter>b__2_1(System.Object):bool:this (FullOpts)
          -2 (-0.08 % of base) : SharpCompress.dasm - SharpCompress.Compressors.Explode.HuftTree:huftbuid(int[],int,int,int[],int[],byref,byref):int (FullOpts)

Top method regressions (percentages):
           3 (0.44 % of base) : Perfolizer.dasm - Perfolizer.Mathematics.Common.Ranker:GetRanks(System.Collections.Generic.IReadOnlyList`1[double],double):double[]:this (FullOpts)

Top method improvements (percentages):
         -70 (-19.23 % of base) : System.Private.CoreLib.dasm - System.Random+CompatPrng:Initialize(int):this (FullOpts)
         -89 (-17.55 % of base) : OpenTelemetry.dasm - OpenTelemetry.Metrics.HistogramExplicitBounds+RadixBucketLookup:.ctor(double[]):this (FullOpts)
         -42 (-11.29 % of base) : System.Net.Http.dasm - System.Net.Http.AuthenticationHelper+DigestResponse:GetNextKey(System.String,int,byref):System.String (FullOpts)
         -78 (-9.30 % of base) : SixLabors.Fonts.dasm - SixLabors.Fonts.Tables.General.Svg.SvgGlyphSource:ParseFloatList(System.ReadOnlySpan`1[char]):float[] (FullOpts)
        -108 (-8.87 % of base) : System.Private.Uri.dasm - System.Uri:PathDifference(System.String,System.String,bool):System.String (FullOpts)
         -29 (-6.99 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.ImportConventionBuilder:IsSupportedImportManyType(System.Reflection.TypeInfo):bool (FullOpts)
         -18 (-6.77 % of base) : System.Net.Http.dasm - System.Net.Http.DecompressionHandler:.ctor(int,System.Net.Http.HttpMessageHandlerStage):this (FullOpts)
         -87 (-6.43 % of base) : System.Private.CoreLib.dasm - System.IO.RandomAccess:WriteGatherAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList`1[System.ReadOnlyMemory`1[byte]],long) (FullOpts)
         -24 (-6.11 % of base) : Iced.dasm - Iced.Intel.Assembler:push(Iced.Intel.AssemblerRegisterSegment):this (FullOpts)
         -19 (-5.49 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Match:TidyBalancing():this (FullOpts)
         -46 (-4.88 % of base) : System.Private.Uri.dasm - System.UriHelper:TestForSubPath(System.ReadOnlySpan`1[char],System.ReadOnlySpan`1[char],bool):bool (FullOpts)
        -123 (-4.01 % of base) : SharpCompress.dasm - SharpCompress.Compressors.ZStandard.Unsafe.Methods:FSE_compress_usingCTable_generic(ptr,nuint,ptr,nuint,ptr,uint):nuint (FullOpts)
        -266 (-3.79 % of base) : Microsoft.CodeAnalysis.Features.dasm - Microsoft.CodeAnalysis.ChangeSignature.AbstractChangeSignatureService:GetPermutedDocCommentTrivia(Microsoft.CodeAnalysis.SyntaxNode,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxNode],Microsoft.CodeAnalysis.Host.LanguageServices,Microsoft.CodeAnalysis.Formatting.LineFormattingOptions):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxTrivia]:this (FullOpts)
         -63 (-3.26 % of base) : OpenTelemetry.Api.dasm - OpenTelemetry.Context.Propagation.TraceContextPropagator:TryExtractSingleTracestate(System.String,byref):bool (FullOpts)
         -44 (-3.25 % of base) : System.Net.Mail.dasm - System.Net.Mime.BaseWriter:WriteAndFold(System.String,int,bool):this (FullOpts)
         -33 (-3.19 % of base) : Microsoft.DotNet.Scaffolding.Shared.dasm - Microsoft.Extensions.Internal.ArgumentEscaper:EscapeSingleArg(System.String):System.String (FullOpts)
          -5 (-2.36 % of base) : StackExchange.Redis.dasm - StackExchange.Redis.ServerSelectionStrategy:GetClusterSlot(System.ReadOnlySpan`1[byte]):int (FullOpts)
          -3 (-2.34 % of base) : Swashbuckle.AspNetCore.SwaggerGen.dasm - Swashbuckle.AspNetCore.SwaggerGen.ApiParameterDescriptionExtensions+<>c:<IsRequiredParameter>b__2_1(System.Object):bool:this (FullOpts)
         -14 (-2.30 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.XmlDsigBase64Transform:LoadStreamInput(System.IO.Stream):this (FullOpts)
         -23 (-1.97 % of base) : Markdig.dasm - Markdig.Parsers.HtmlBlockParser:TryParseTagType16(Markdig.Parsers.BlockProcessor,Markdig.Helpers.StringSlice,int,int):int:this (FullOpts)
         -16 (-1.84 % of base) : SixLabors.Fonts.dasm - SixLabors.Fonts.Unicode.UnicodeTrieBuilder:.ctor(uint,uint):this (FullOpts)
         -31 (-1.78 % of base) : Fare.dasm - Fare.BasicOperations:Intersection(Fare.Automaton,Fare.Automaton):Fare.Automaton (FullOpts)
         -31 (-1.73 % of base) : MimeKit.dasm - MimeKit.Header:EncodeDispositionNotificationOptions(MimeKit.ParserOptions,MimeKit.FormatOptions,System.Text.Encoding,System.String,System.String):byte[] (FullOpts)
         -18 (-1.37 % of base) : MySqlConnector.dasm - MySqlConnector.MySqlConnection:GetStartTransactionPayload(int,System.Nullable`1[bool],bool):System.ReadOnlyMemory`1[byte] (FullOpts)
          -8 (-1.29 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:GetExportDescriptors(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.ExportDescriptorPromise]:this (FullOpts)
          -9 (-1.26 % of base) : ICSharpCode.SharpZipLib.dasm - ICSharpCode.SharpZipLib.Zip.Compression.DeflaterHuffman:.cctor() (FullOpts)
         -12 (-1.21 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Formats.Webp.Lossy.Vp8Encoder:AssignSegments(System.ReadOnlySpan`1[int]):this (FullOpts)
         -22 (-1.04 % of base) : MimeKit.dasm - MimeKit.Header:EncodeDkimOrArcSignatureHeader(MimeKit.ParserOptions,MimeKit.FormatOptions,System.Text.Encoding,System.String,System.String):byte[] (FullOpts)
         -11 (-0.99 % of base) : OpenTelemetry.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F552FAB6679B6A61613676890EB30B475DAA883563347BFFE6CE1A600BE6AFC0D__GetInstrumentNameRegex_4+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[char]):bool:this (FullOpts)
         -19 (-0.96 % of base) : Microsoft.Testing.Platform.dasm - Microsoft.Testing.Platform.CommandLine.PlatformCommandLineProvider:ValidateOptionArgumentsAsync(Microsoft.Testing.Platform.Extensions.CommandLine.CommandLineOption,System.String[]):System.Threading.Tasks.Task`1[Microsoft.Testing.Platform.Extensions.ValidationResult]:this (FullOpts)
         -11 (-0.65 % of base) : Rebus.dasm - Rebus.Sagas.CorrelationProperty:Validate():this (FullOpts)
         -13 (-0.60 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcDataReader:RetrieveKeyInfoFromStatistics(System.Data.Odbc.OdbcDataReader+QualifiedTableName,bool):int:this (FullOpts)
          -5 (-0.44 % of base) : Perfolizer.dasm - Perfolizer.Mathematics.SignificanceTesting.MannWhitney.MannWhitneyTest:PerformGreater(Pragmastat.Sample,Pragmastat.Sample,Perfolizer.Metrology.Threshold,int):Perfolizer.Mathematics.SignificanceTesting.MannWhitney.MannWhitneyResult (FullOpts)
          -2 (-0.08 % of base) : SharpCompress.dasm - SharpCompress.Compressors.Explode.HuftTree:huftbuid(int[],int,int,int[],int[],byref,byref):int (FullOpts)

35 total methods with Code Size differences (34 improved, 1 regressed), 2084294 unchanged.

--------------------------------------------------------------------------------

Artifacts:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions