Skip to content

JIT: Remove IV analysis quirk in loop cloning - #96563

Merged
jakobbotsch merged 3 commits into
dotnet:mainfrom
jakobbotsch:loop-cloning-quirks-4
Jan 6, 2024
Merged

jakobbotsch merged 3 commits into
dotnet:mainfrom
jakobbotsch:loop-cloning-quirks-4

Conversation

@jakobbotsch

@jakobbotsch jakobbotsch commented Jan 5, 2024 •

Copy link
Copy Markdown
Member

Fix a bug in FlowGraphNaturalLoop::MatchLimit; it did not properly check limit locals for address exposure when evaluating their invariance (the old logic does that). Also support promoted struct fields (like the old logic).

No diffs expected -- the diffs of the quirk here were coming from this bug in FlowGraphNaturalLoop::MatchLimit.

In a few cases the IV analysis on the new loops succeeds here even when
the old did not (maybe because for old loops the logic runs before flow
graph changes have happened due to loop canonicalization). Remove the
quirk that was preventing us from cloning these loops.
@ghost ghost assigned jakobbotsch Jan 5, 2024
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jan 5, 2024
@ghost

ghost commented Jan 5, 2024

Copy link
Copy Markdown

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

Issue Details

In a few cases the IV analysis on the new loops succeeds here even when the old did not (maybe because for old loops the logic runs before flow graph changes have happened due to loop canonicalization). Remove the quirk that was preventing us from cloning these loops.

Author: jakobbotsch
Assignees: jakobbotsch
Labels:

area-CodeGen-coreclr

Milestone: -

@jakobbotsch jakobbotsch mentioned this pull request Jan 5, 2024
15 of 21 tasks
@jakobbotsch
jakobbotsch marked this pull request as ready for review January 5, 2024 21:33
@jakobbotsch

Copy link
Copy Markdown
Member Author

cc @dotnet/jit-contrib PTAL @BruceForstall

No diffs

@BruceForstall BruceForstall left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@jakobbotsch
jakobbotsch merged commit d5bc37d into dotnet:main Jan 6, 2024
@jakobbotsch
jakobbotsch deleted the loop-cloning-quirks-4 branch January 6, 2024 10:38
@github-actions github-actions Bot locked and limited conversation to collaborators Feb 6, 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.

2 participants