Skip to content

Conversation

tommymcm
Copy link
Collaborator

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
Collaborator 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