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

irinterp: improve semi-concrete interpretation accuracy #52275

Merged
merged 1 commit into from
Nov 25, 2023

Conversation

aviatesk
Copy link
Sponsor Member

By enforcing re-inference on calls with all constant arguments.

While it's debatable whether this approach is the most efficient, it was the easiest choice given that used_ssas based on IncrementaCompact wasn't an option for irinterp.

@aviatesk aviatesk requested a review from Keno November 22, 2023 16:41
@aviatesk
Copy link
Sponsor Member Author

@nanosoldier runbenchmarks("inference", vs=":master")

@aviatesk aviatesk force-pushed the avi/irinterp-accuracy branch 2 times, most recently from bebfaa6 to 53490cd Compare November 22, 2023 16:43
@nanosoldier
Copy link
Collaborator

Your benchmark job has completed - no performance regressions were detected. A full report can be found here.

@aviatesk aviatesk force-pushed the avi/irinterp-accuracy branch 3 times, most recently from 6680dd3 to f57a9b4 Compare November 23, 2023 07:49
By enforcing re-inference on calls with all constant arguments.

While it's debatable whether this approach is the most efficient, it was
the easiest choice given that `used_ssas` based on `IncrementaCompact`
wasn't an option for irinterp.

- fixes #52202
- fixes #50037
Copy link
Sponsor Member

@vtjnash vtjnash left a comment

Choose a reason for hiding this comment

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

LGTM. It does seem to suggest to me that we should consider how to record a bit of information on the calls whether a more precise result is possible from constprop (either because of some widening vs the return value being obviously unchangable like just return nothing)

@aviatesk
Copy link
Sponsor Member Author

It does seem to suggest to me that we should consider how to record a bit of information on the calls whether a more precise result is possible from constprop (either because of some widening vs the return value being obviously unchangable like just return nothing)

That sounds to be a great idea. I would like to give that a try in a separate PR.

@aviatesk aviatesk merged commit c1fc985 into master Nov 25, 2023
7 checks passed
@aviatesk aviatesk deleted the avi/irinterp-accuracy branch November 25, 2023 02:23
mkitti pushed a commit to mkitti/julia that referenced this pull request Dec 9, 2023
)

By enforcing re-inference on calls with all constant arguments.

While it's debatable whether this approach is the most efficient, it was
the easiest choice given that `used_ssas` based on `IncrementaCompact`
wasn't an option for irinterp.

- fixes JuliaLang#52202
- fixes JuliaLang#50037
@ViralBShah
Copy link
Member

ViralBShah commented Feb 3, 2024

@KristofferC Can we backport this to 1.10 to resolve JuliaSparse/SparseArrays.jl#469 (assuming this is the correct fix for that regression)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants