Skip to content

Conversation

@AndyAyersMS
Copy link
Member

Streamline call effects checks. Use wider bit vectors.

Closes #70100.

Streamline call effects checks. Use wider bit vectors.

Closes dotnet#70100.
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jun 4, 2022
@ghost ghost assigned AndyAyersMS Jun 4, 2022
@ghost
Copy link

ghost commented Jun 4, 2022

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

Issue Details

Streamline call effects checks. Use wider bit vectors.

Closes #70100.

Author: AndyAyersMS
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@AndyAyersMS
Copy link
Member Author

Unsurprisingly, leads to more cloning. Some fairly sizeable regressions.

We probably need to consider backing off cloning really large loops, especially if evidence of benefit is thin.

@BruceForstall PTAL
cc @dotnet/jit-contrib

Comment on lines +5961 to +5964
// If caller is worried about possible indirect effects, check
// what we know about the calls in the loop.
//
if (inds != 0)
Copy link
Contributor

Choose a reason for hiding this comment

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

Are any of the callers worried?

(I do not see us pass anything but VR_NONE for inds).

Copy link
Member Author

Choose a reason for hiding this comment

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

You're right, nobody actually cares right now. And there are other parts of the analysis that are likewise unused.

I'm deliberately leaving it for now. It's possible we'll run across cases where we want to try and use it for something.

@AndyAyersMS
Copy link
Member Author

Failure is #70305.

@AndyAyersMS AndyAyersMS merged commit bab1a1f into dotnet:main Jun 7, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Jul 7, 2022
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.

JIT: cloning invariant analysis seems oddly limited

3 participants