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

cmd/compile: PGO devirtualization follow-ups #61577

Open
3 tasks
prattmic opened this issue Jul 25, 2023 · 2 comments
Open
3 tasks

cmd/compile: PGO devirtualization follow-ups #61577

prattmic opened this issue Jul 25, 2023 · 2 comments
Assignees
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@prattmic
Copy link
Member

prattmic commented Jul 25, 2023

https://go.dev/cl/492436 implements the bare minimum of a PGO devirtualization implementation. There are still numerous limitations that we would like address shortly:

  • Callees not directly referenced in the current package can be missed (even if they are in the transitive dependences).
  • Only interface method calls are supported, not other indirect function calls.
  • Callees that only partially implement an interface (they are embedded in another type that completes the interface) cannot be devirtualized.

cc @cherrymui @aclements

@prattmic prattmic added this to the Go1.22 milestone Jul 25, 2023
@prattmic prattmic self-assigned this Jul 25, 2023
@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Jul 25, 2023
@mknyszek mknyszek added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Jul 25, 2023
@gopherbot
Copy link

Change https://go.dev/cl/497175 mentions this issue: cmd/compile: lookup indirect callees from export data for devirtualization

@gopherbot
Copy link

Change https://go.dev/cl/529557 mentions this issue: cmd/internal/objabi: add inverse of PathToPrefix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
Status: Todo
Development

No branches or pull requests

3 participants