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

JIT: Add stress mode for skipping lowering conditional nodes to use CPU flags #103358

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

amanasifkhalid
Copy link
Member

Follow-up to #103319 (comment). @jakobbotsch PTAL, thank you!

@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 Jun 12, 2024
@amanasifkhalid
Copy link
Member Author

/azp run runtime-coreclr jitstress

Copy link
Contributor

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

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Comment on lines 4316 to 4322
#ifdef DEBUG
if (comp->compStressCompile(Compiler::STRESS_SKIP_COND_NODE_LOWERING, 50))
{
JITDUMP("JitStress: skip lowering attempt\n");
return false;
}
#endif // DEBUG
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

50% of methods seems a bit high given the frequency of conditional branches.. maybe something like 10% is sufficient?

Nit: the ifdef is unnecessary, there is a release version of compStressCompile that always returns false (but feel free to leave it if you prefer to make it more visible that this is debug-only).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good, I'll update it.

@amanasifkhalid
Copy link
Member Author

This seems to have exposed some asserts in LSRA -- @jakobbotsch should we address these in a separate PR, or here so we don't block outerloop CI?

@jakobbotsch
Copy link
Member

This seems to have exposed some asserts in LSRA -- @jakobbotsch should we address these in a separate PR, or here so we don't block outerloop CI?

I think we need to address it first. Maybe just open an issue with instructions about how to reproduce this (does it repro readily with DOTNET_JitStress enabled spmi replay on this PR?)

@amanasifkhalid amanasifkhalid added this to the 10.0.0 milestone Aug 12, 2024
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