llvm-project
35e38fb1 - [SSAF] Group virtual method slots into override families

Commit
51 days ago
[SSAF] Group virtual method slots into override families A virtual call site can dispatch to any override, so the parameter and return slots that occupy the same vtable slot across an override chain are indistinguishable to a caller. Whole-program consumers therefore have to treat them as one unit or they will reason about a slot that a call never actually reaches. Compute those units up front, keyed per slot, so consumers only need a map lookup rather than their own traversal of the override relation. Overloads occupy distinct vtable slots and stay in distinct families. The family representative is the smallest EntityId in the class, which keeps the result stable across runs. ยง2 of rdar://179151603
Author
Committer
Parents
Loading