Skip to content

[CIR] Implement opportunistic VTable emission #1749

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

Merged
merged 5 commits into from
Jul 28, 2025

Conversation

tommymcm
Copy link
Contributor

Implemented opportunistic vtable emission, which marks vtables as available_externally to enable inlining if optimizations are enabled.
Added GlobalOp verifier support available_externally linkage type, all cases are covered now, so I removed the default case.
Added the vtable-available-externally CIRGen test.

@tommymcm
Copy link
Contributor Author

Thanks for the review @bruteforceboy, I've pushed the requested changes.

@lanza lanza force-pushed the main branch 2 times, most recently from d2c4ab8 to 8f89224 Compare July 23, 2025 17:04
tommymcm added 5 commits July 23, 2025 11:00
Implemented opportunistic vtable emission, which marks vtables as `available_externally` to enable inlining if optimizations are enabled.
Added `GlobalOp` verifier support `available_externally` linkage type, all cases are covered now, so I removed the `default` case.
Added the `vtable-available-externally` CIRGen test.
@tommymcm tommymcm force-pushed the opportunistic-vtables branch from c3af11b to 147c02b Compare July 23, 2025 18:00
Copy link
Member

@bcardosolopes bcardosolopes left a comment

Choose a reason for hiding this comment

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

Awesome, LGTM

@bcardosolopes bcardosolopes changed the title [CIR] Implemented Opportunistic VTable Emission [CIR] Implement opportunistic VTable emission Jul 28, 2025
@bcardosolopes bcardosolopes merged commit 6f28fff into llvm:main Jul 28, 2025
7 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants