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

optimizer: run SROA multiple times to handle more nested loads #43267

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

aviatesk
Copy link
Member

  • benchmark that this doesn't incur much compile-time overhead
  • update the description of the algorithm

@nanosoldier runbenchmarks("broadcast" || "sparse" || "array" || "union", vs=":master")

@aviatesk aviatesk added the compiler:optimizer Optimization passes (mostly in base/compiler/ssair/) label Nov 30, 2021
@aviatesk
Copy link
Member Author

@nanosoldier runbenchmarks("broadcast" || "sparse" || "array" || "union", vs=":master")

@Keno
Copy link
Member

Keno commented Nov 30, 2021

I'm somewhat worried about the compile-time impact of this. Can we do something more precise than rerunning the whole pass?

@aviatesk
Copy link
Member Author

Rerun only happens when there are nested getfield(getfield(mutable)) calls and getfield(mutable) is eliminated, so it doesn't happen often. I confirmed this doesn't change TTFP for example, but I'm also working on implementing a simple suite for benchmarking Julia-level compilation pipeline and I hope I can get something back based on it.

Base automatically changed from avi/43254 to master December 2, 2021 05:37
@aviatesk aviatesk marked this pull request as ready for review December 2, 2021 05:42
@aviatesk
Copy link
Member Author

aviatesk commented Dec 2, 2021

@nanosoldier runbenchmarks("broadcast" || "sparse" || "array" || "union" || "string" || "tuple", vs=":master")

@aviatesk aviatesk force-pushed the avi/multisroa branch 2 times, most recently from fb5e715 to ca42b56 Compare December 9, 2021 04:57
@aviatesk aviatesk force-pushed the avi/multisroa branch 4 times, most recently from 6e25433 to 8872cd6 Compare December 20, 2021 17:37
@aviatesk aviatesk added the needs nanosoldier run This PR should have benchmarks run on it label Dec 21, 2021
@aviatesk aviatesk force-pushed the avi/multisroa branch 3 times, most recently from dd6d086 to 250059f Compare December 23, 2021 05:57
@aviatesk
Copy link
Member Author

aviatesk commented Jan 5, 2022

@nanosoldier runbenchmarks("broadcast" || "sparse" || "array" || "union" || "string" || "tuple", vs=":master")

@nanosoldier
Copy link
Collaborator

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

@aviatesk
Copy link
Member Author

aviatesk commented Jan 5, 2022

@nanosoldier runbenchmarks(!("scalar"), vs=":master")

@nanosoldier
Copy link
Collaborator

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:optimizer Optimization passes (mostly in base/compiler/ssair/) needs nanosoldier run This PR should have benchmarks run on it
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants