================
@@ -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

Reply via email to