Skip to content

[JitDiff X64] [BoyBaykiller] JIT: Transform arithmetic using distributive pr ... #2058

Description

@MihuBot

Job completed in 23 minutes 59 seconds (remote runner delay: 1 minute 13 seconds).
dotnet/runtime#126852
Using arguments: -nuget
Main commit: dotnet/runtime@7c4e032
PR commit: BoyBaykiller/runtime@ef82e04

Warning

2 extra test assemblies failed to produce JIT diffs and were excluded from the diff analysis:

  • MathNet.Numerics.dll (pr)
  • Pipelines.Sockets.Unofficial.dll (pr)

All failures happened only on the PR branch, which likely indicates a bug introduced by the PR (e.g. a JIT assert or crash while compiling these assemblies).

Relevant output
[pr MathNet.Numerics] Error running /ramdisk/artifacts-pr_15/corerun on /ramdisk/extra-projects/MathNet.Numerics/MathNet.Numerics.dll
[pr MathNet.Numerics] 1 errors compiling set.
[pr MathNet.Numerics] Dasm command "jit-dasm-pmi --platform artifacts-pr_15 --cctors --corerun artifacts-pr_15/corerun --jit clr-checked-pr/libclrjit.so --nocopy --output jit-diffs/frameworks/pr/dasmset_94/base /ramdisk/extra-projects/MathNet.Numerics/MathNet.Numerics.dll" returned with 1 failures
[pr MathNet.Numerics] Dasm commands returned 1 base failures, 0 diff failures.
[pr MathNet.Numerics] Warning: Failures detected generating asm: 1 base, 0 diff
[pr Pipelines.Sockets.Unofficial] Error running /ramdisk/artifacts-pr_7/corerun on /ramdisk/extra-projects/Pipelines.Sockets.Unofficial/Pipelines.Sockets.Unofficial.dll
[pr Pipelines.Sockets.Unofficial] 1 errors compiling set.
[pr Pipelines.Sockets.Unofficial] Dasm command "jit-dasm-pmi --platform artifacts-pr_7 --cctors --corerun artifacts-pr_7/corerun --jit clr-checked-pr/libclrjit.so --nocopy --output jit-diffs/frameworks/pr/dasmset_293/base /ramdisk/extra-projects/Pipelines.Sockets.Unofficial/Pipelines.Sockets.Unofficial.dll" returned with 1 failures
[pr Pipelines.Sockets.Unofficial] Dasm commands returned 1 base failures, 0 diff failures.
[pr Pipelines.Sockets.Unofficial] Warning: Failures detected generating asm: 1 base, 0 diff

Diffs

Diffs
Found 120 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 389380493
Total bytes of diff: 389379243
Total bytes of delta: -1250 (-0.00 % of base)
Total relative delta: -3.50
    diff is an improvement.
    relative diff is an improvement.


Top file improvements (bytes):
        -371 : BouncyCastle.Cryptography.dasm (-0.01 % of base)
        -371 : BouncyCastle.Crypto.dasm (-0.01 % of base)
        -189 : System.Net.Security.dasm (-0.08 % of base)
         -88 : MailKit.dasm (-0.01 % of base)
         -51 : Microsoft.CodeAnalysis.CSharp.Features.dasm (-0.00 % of base)
         -31 : System.Private.CoreLib.dasm (-0.00 % of base)
         -19 : System.Private.Uri.dasm (-0.02 % of base)
         -18 : Microsoft.CodeAnalysis.Features.dasm (-0.00 % of base)
         -18 : Iced.dasm (-0.00 % of base)
         -17 : StackExchange.Redis.dasm (-0.00 % of base)
         -16 : Microsoft.CodeAnalysis.AnalyzerUtilities.dasm (-0.00 % of base)
         -10 : NuGet.Protocol.dasm (-0.00 % of base)
         -10 : System.Security.Claims.dasm (-0.04 % of base)
         -10 : System.IO.Pipelines.dasm (-0.01 % of base)
         -10 : System.Runtime.InteropServices.dasm (-0.04 % of base)
          -9 : System.Private.Xml.dasm (-0.00 % of base)
          -6 : System.Reflection.Emit.dasm (-0.00 % of base)
          -6 : NetTopologySuite.dasm (-0.00 % of base)

18 total files with Code Size differences (18 improved, 0 regressed), 740 unchanged.

Top method improvements (bytes):
        -185 (-10.09 % of base) : System.Net.Security.dasm - System.Net.Security.MD4:MD4Transform(System.Span`1[uint],System.ReadOnlySpan`1[byte]) (FullOpts)
        -136 (-7.68 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.LongDigest:ProcessBlock():this (FullOpts)
        -136 (-7.68 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.LongDigest:ProcessBlock():this (FullOpts)
         -87 (-5.75 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.Sha224Digest:ProcessBlock():this (FullOpts)
         -87 (-5.75 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.Sha224Digest:ProcessBlock():this (FullOpts)
         -84 (-3.19 % of base) : MailKit.dasm - MailKit.Security.Ntlm.MD4:MD4Transform(byte[],int):this (FullOpts)
         -80 (-3.31 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.MD4Digest:ProcessBlock():this (FullOpts)
         -80 (-3.31 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.MD4Digest:ProcessBlock():this (FullOpts)
         -52 (-2.00 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.Sha1Digest:ProcessBlock():this (FullOpts)
         -52 (-2.00 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.Sha1Digest:ProcessBlock():this (FullOpts)
         -44 (-7.71 % of base) : Microsoft.CodeAnalysis.CSharp.Features.dasm - Microsoft.CodeAnalysis.CSharp.Completion.Providers.DeclarationName.NameDeclarationInfo:GetPossibleMemberDeclarations(Microsoft.CodeAnalysis.Editing.DeclarationModifiers):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+SymbolKindOrTypeKind] (FullOpts)
         -19 (-1.16 % of base) : System.Private.Uri.dasm - System.Uri:ParseRemaining():this (FullOpts)
         -18 (-0.08 % of base) : Iced.dasm - Iced.Intel.InstructionInfoFactory:AddImpliedAccesses(int,byref,uint):this (FullOpts)
         -18 (-4.26 % of base) : Microsoft.CodeAnalysis.Features.dasm - Microsoft.CodeAnalysis.EditAndContinue.AbstractEditAndContinueAnalyzer:AllowsDeletion(Microsoft.CodeAnalysis.ISymbol):bool (FullOpts)
         -16 (-3.46 % of base) : Microsoft.CodeAnalysis.AnalyzerUtilities.dasm - Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.PointsToAnalysis.PointsToAnalysis+PointsToDataFlowOperationVisitor:<SetValueForNullCompareFromPredicate>g__SetAbstractValueFromPredicate|46_0(Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.AnalysisEntity,int,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.PointsToAnalysis.DefaultPointsToValueGenerator,Microsoft.CodeAnalysis.Compilation,Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.PointsToAnalysis.PointsToAnalysisData,Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.PointsToAnalysis.PointsToAnalysisData) (FullOpts)
         -13 (-2.84 % of base) : System.Private.CoreLib.dasm - System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
         -10 (-4.90 % of base) : NuGet.Protocol.dasm - NuGet.Protocol.Plugins.PluginDiscoverer:IsValidPluginFile(System.IO.FileInfo):bool (FullOpts)
         -10 (-0.62 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.PipeReader+<ReadAtLeastAsyncCore>d__4:MoveNext():this (FullOpts)
         -10 (-5.10 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.StrategyBasedComWrappers:CreateObject(nint,int):System.Object:this (FullOpts)
         -10 (-0.96 % of base) : System.Security.Claims.dasm - System.Security.Claims.Claim:WriteTo(System.IO.BinaryWriter,byte[]):this (FullOpts)
          -9 (-9.09 % of base) : StackExchange.Redis.dasm - StackExchange.Redis.RedisDatabase+IncrexMessageBase:get_ArgCount():int:this (FullOpts)
          -9 (-1.87 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:.ctor(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,int):this (FullOpts)
          -8 (-10.96 % of base) : StackExchange.Redis.dasm - StackExchange.Redis.RedisDatabase:ValidateStringIncrementExpiry(StackExchange.Redis.Expiration) (FullOpts)
          -8 (-3.21 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.AsyncStateMachineDispatcherInfo:CreateDispatcher(System.Runtime.CompilerServices.IAsyncStateMachineBox):System.Runtime.CompilerServices.AsyncStateMachineDispatcher (FullOpts)
          -8 (-2.48 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
          -7 (-5.43 % of base) : Microsoft.CodeAnalysis.CSharp.Features.dasm - Microsoft.CodeAnalysis.CSharp.Completion.Providers.DeclarationName.NameDeclarationInfo:GetPossibleLocalDeclarations(Microsoft.CodeAnalysis.Editing.DeclarationModifiers):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+SymbolKindOrTypeKind] (FullOpts)
          -6 (-0.10 % of base) : NetTopologySuite.dasm - RTools_NTS.Util.StreamTokenizer:NextToken(byref):bool:this (FullOpts)
          -6 (-35.29 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:IsInstance(int):bool (FullOpts)
          -5 (-0.47 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.SM3Digest:ProcessBlock():this (FullOpts)
          -5 (-0.48 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.SM3Digest:ProcessBlock():this (FullOpts)
          -3 (-15.79 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.LongDigest:Maj(ulong,ulong,ulong):ulong (FullOpts)
          -3 (-15.79 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.LongDigest:Maj(ulong,ulong,ulong):ulong (FullOpts)
          -2 (-15.38 % of base) : MailKit.dasm - MailKit.Security.Ntlm.MD4:G(uint,uint,uint):uint (FullOpts)
          -2 (-5.56 % of base) : MailKit.dasm - MailKit.Security.Ntlm.MD4:GG(byref,uint,uint,uint,uint,byte) (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.MD4Digest:G(int,int,int):int:this (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.MD4Digest:G(int,int,int):int:this (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.Sha1Digest:G(uint,uint,uint):uint (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.Sha1Digest:G(uint,uint,uint):uint (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.Sha224Digest:Maj(uint,uint,uint):uint (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.Sha224Digest:Maj(uint,uint,uint):uint (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.SM3Digest:FF1(uint,uint,uint):uint:this (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.SM3Digest:FF1(uint,uint,uint):uint:this (FullOpts)
          -2 (-15.38 % of base) : System.Net.Security.dasm - System.Net.Security.MD4:G(uint,uint,uint):uint (FullOpts)
          -2 (-5.56 % of base) : System.Net.Security.dasm - System.Net.Security.MD4:GG(byref,uint,uint,uint,uint,byte) (FullOpts)
          -2 (-2.20 % of base) : System.Private.CoreLib.dasm - System.Single:IsEvenInteger(float):bool (FullOpts)

Top method improvements (percentages):
          -6 (-35.29 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:IsInstance(int):bool (FullOpts)
          -3 (-15.79 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.LongDigest:Maj(ulong,ulong,ulong):ulong (FullOpts)
          -3 (-15.79 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.LongDigest:Maj(ulong,ulong,ulong):ulong (FullOpts)
          -2 (-15.38 % of base) : MailKit.dasm - MailKit.Security.Ntlm.MD4:G(uint,uint,uint):uint (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.MD4Digest:G(int,int,int):int:this (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.MD4Digest:G(int,int,int):int:this (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.Sha1Digest:G(uint,uint,uint):uint (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.Sha1Digest:G(uint,uint,uint):uint (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.Sha224Digest:Maj(uint,uint,uint):uint (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.Sha224Digest:Maj(uint,uint,uint):uint (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.SM3Digest:FF1(uint,uint,uint):uint:this (FullOpts)
          -2 (-15.38 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.SM3Digest:FF1(uint,uint,uint):uint:this (FullOpts)
          -2 (-15.38 % of base) : System.Net.Security.dasm - System.Net.Security.MD4:G(uint,uint,uint):uint (FullOpts)
          -8 (-10.96 % of base) : StackExchange.Redis.dasm - StackExchange.Redis.RedisDatabase:ValidateStringIncrementExpiry(StackExchange.Redis.Expiration) (FullOpts)
        -185 (-10.09 % of base) : System.Net.Security.dasm - System.Net.Security.MD4:MD4Transform(System.Span`1[uint],System.ReadOnlySpan`1[byte]) (FullOpts)
          -9 (-9.09 % of base) : StackExchange.Redis.dasm - StackExchange.Redis.RedisDatabase+IncrexMessageBase:get_ArgCount():int:this (FullOpts)
         -44 (-7.71 % of base) : Microsoft.CodeAnalysis.CSharp.Features.dasm - Microsoft.CodeAnalysis.CSharp.Completion.Providers.DeclarationName.NameDeclarationInfo:GetPossibleMemberDeclarations(Microsoft.CodeAnalysis.Editing.DeclarationModifiers):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+SymbolKindOrTypeKind] (FullOpts)
        -136 (-7.68 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.LongDigest:ProcessBlock():this (FullOpts)
        -136 (-7.68 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.LongDigest:ProcessBlock():this (FullOpts)
         -87 (-5.75 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.Sha224Digest:ProcessBlock():this (FullOpts)
         -87 (-5.75 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.Sha224Digest:ProcessBlock():this (FullOpts)
          -2 (-5.56 % of base) : MailKit.dasm - MailKit.Security.Ntlm.MD4:GG(byref,uint,uint,uint,uint,byte) (FullOpts)
          -2 (-5.56 % of base) : System.Net.Security.dasm - System.Net.Security.MD4:GG(byref,uint,uint,uint,uint,byte) (FullOpts)
          -7 (-5.43 % of base) : Microsoft.CodeAnalysis.CSharp.Features.dasm - Microsoft.CodeAnalysis.CSharp.Completion.Providers.DeclarationName.NameDeclarationInfo:GetPossibleLocalDeclarations(Microsoft.CodeAnalysis.Editing.DeclarationModifiers):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles.SymbolSpecification+SymbolKindOrTypeKind] (FullOpts)
         -10 (-5.10 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.StrategyBasedComWrappers:CreateObject(nint,int):System.Object:this (FullOpts)
         -10 (-4.90 % of base) : NuGet.Protocol.dasm - NuGet.Protocol.Plugins.PluginDiscoverer:IsValidPluginFile(System.IO.FileInfo):bool (FullOpts)
         -18 (-4.26 % of base) : Microsoft.CodeAnalysis.Features.dasm - Microsoft.CodeAnalysis.EditAndContinue.AbstractEditAndContinueAnalyzer:AllowsDeletion(Microsoft.CodeAnalysis.ISymbol):bool (FullOpts)
         -16 (-3.46 % of base) : Microsoft.CodeAnalysis.AnalyzerUtilities.dasm - Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.PointsToAnalysis.PointsToAnalysis+PointsToDataFlowOperationVisitor:<SetValueForNullCompareFromPredicate>g__SetAbstractValueFromPredicate|46_0(Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.AnalysisEntity,int,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.PointsToAnalysis.DefaultPointsToValueGenerator,Microsoft.CodeAnalysis.Compilation,Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.PointsToAnalysis.PointsToAnalysisData,Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.PointsToAnalysis.PointsToAnalysisData) (FullOpts)
         -80 (-3.31 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.MD4Digest:ProcessBlock():this (FullOpts)
         -80 (-3.31 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.MD4Digest:ProcessBlock():this (FullOpts)
          -8 (-3.21 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.AsyncStateMachineDispatcherInfo:CreateDispatcher(System.Runtime.CompilerServices.IAsyncStateMachineBox):System.Runtime.CompilerServices.AsyncStateMachineDispatcher (FullOpts)
         -84 (-3.19 % of base) : MailKit.dasm - MailKit.Security.Ntlm.MD4:MD4Transform(byte[],int):this (FullOpts)
         -13 (-2.84 % of base) : System.Private.CoreLib.dasm - System.Sha1ForNonSecretPurposes:Drain(System.Span`1[uint]) (FullOpts)
          -8 (-2.48 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetBaseType():System.RuntimeType:this (FullOpts)
          -2 (-2.20 % of base) : System.Private.CoreLib.dasm - System.Single:IsEvenInteger(float):bool (FullOpts)
         -52 (-2.00 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.Sha1Digest:ProcessBlock():this (FullOpts)
         -52 (-2.00 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.Sha1Digest:ProcessBlock():this (FullOpts)
          -9 (-1.87 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:.ctor(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,int):this (FullOpts)
         -19 (-1.16 % of base) : System.Private.Uri.dasm - System.Uri:ParseRemaining():this (FullOpts)
         -10 (-0.96 % of base) : System.Security.Claims.dasm - System.Security.Claims.Claim:WriteTo(System.IO.BinaryWriter,byte[]):this (FullOpts)
         -10 (-0.62 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.PipeReader+<ReadAtLeastAsyncCore>d__4:MoveNext():this (FullOpts)
          -5 (-0.48 % of base) : BouncyCastle.Crypto.dasm - Org.BouncyCastle.Crypto.Digests.SM3Digest:ProcessBlock():this (FullOpts)
          -5 (-0.47 % of base) : BouncyCastle.Cryptography.dasm - Org.BouncyCastle.Crypto.Digests.SM3Digest:ProcessBlock():this (FullOpts)
          -6 (-0.10 % of base) : NetTopologySuite.dasm - RTools_NTS.Util.StreamTokenizer:NextToken(byref):bool:this (FullOpts)
         -18 (-0.08 % of base) : Iced.dasm - Iced.Intel.InstructionInfoFactory:AddImpliedAccesses(int,byref,uint):this (FullOpts)

45 total methods with Code Size differences (45 improved, 0 regressed), 2057422 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