[llvm] [IRPGO][ValueProfile] Instrument virtual table address that could be used to do virtual table address comparision for indirect-call-promotion. (PR #66825)

Mingming Liu via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 29 15:48:47 PDT 2023


minglotus-6 wrote:

> Haven't looked at the changes, but from the conversations above this looks like a useful change. Though I think the big picture context/motivation can go into the change summary to help others understand better. Maybe even a small RFC would be helpful to explain the complete plan you have.
> 
> > combined with more aggressive interprocedural type propagation that enables full (unconditional) devirtualization
> 
> Today LLVM doesn't have inter-procedural type propagation yet, right? or is this something you started working on now?

Updated the change summary to explain the motivation. I will prepare a small RFC after spending some time tuning the vtable comparison heuristics. Right now the heuristic is strict (one vtable, one func; two vtable, two func, etc).

https://github.com/llvm/llvm-project/pull/66825


More information about the llvm-commits mailing list