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

FixOptRepeat and force repeating #100447

Closed

Conversation

BruceForstall
Copy link
Member

#94250
and force repeat each function 4x

@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 Mar 29, 2024
Copy link
Contributor

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

@BruceForstall
Copy link
Member Author

/azp run runtime-coreclr outerloop, runtime-coreclr jitstress, runtime-coreclr libraries-jitstress

Copy link

Azure Pipelines successfully started running 3 pipeline(s).

1. Remove an assertion checking assert that can be invalid under JitOptRepeat, where we might
lose information that a constant was ever a handle.
2. Disable JIT/Directed/debugging/debuginfo/tester.csproj under OptRepeat: optimizations
mess with its debug info expectations.
3. Enable JitOptRepeat under stress
@BruceForstall BruceForstall force-pushed the FixOptRepeat_ForceRepeat branch from 3347a45 to dbebcaf Compare March 29, 2024 17:43
@BruceForstall
Copy link
Member Author

/azp run runtime-coreclr outerloop, runtime-coreclr jitstress, runtime-coreclr libraries-jitstress

Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@BruceForstall BruceForstall mentioned this pull request Mar 29, 2024
@BruceForstall
Copy link
Member Author

Diffs

Huge code size improvements: 4MB or more.

TP measurement is odd: on Linux, -0.20% or so, but no change on Windows?

Note that there are a lot more "missing" contexts with OptRepeat.

@EgorBo
Copy link
Member

EgorBo commented Mar 30, 2024

While I love the size wins 🙂 it's hard to believe that 4 iterations of SSA + VN + assertprop + etc lead to 0.00% TP on most platforms? Perhaps, it's not kicked-in for Release?

PS: yeah, looks like JitOptRepeat is Debug/Checked (because of OPT_CONFIG being Debug only) only and TP jobs work with Release clrjit. I presume TP diff on linux are from that assertprop fix?

@BruceForstall
Copy link
Member Author

Ah, ok, the TP non-change makes sense. OptRepeat isn't getting turned on in Release.

@AndyAyersMS
Copy link
Member

Ah, ok, the TP non-change makes sense. OptRepeat isn't getting turned on in Release.

It will need to be enable-able in release for the experiments to work there.

@github-actions github-actions bot locked and limited conversation to collaborators May 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
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.

3 participants