================ @@ -341,6 +879,17 @@ static bool promoteIndirectCalls(Module &M, ProfileSummaryInfo *PSI, bool InLTO, return false; } bool Changed = false; + VirtualCallSiteTypeInfoMap VirtualCSInfo; + + computeVirtualCallSiteTypeInfoMap(M, MAM, VirtualCSInfo); + + // This map records states across functions in an LLVM IR module. ---------------- minglotus-6 wrote:
`VTableAddressPointOffsetVal` stores the vtable address points. The vtable address point of a given `<vtable, address point offset>` is static (doesn't change after being computed once). `IndirectCallPromoter::getOrCreateVTableAddressPointVar` creates the map entry the first time a `<vtable, offset>` pair is seen, as `promoteIndirectCalls` processes an IR module and calls `IndirectCallPromoter` repeatedly on each function. I reworded the comments. PTAL. https://github.com/llvm/llvm-project/pull/81442 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits