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

Snehasish Kumar via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 30 13:50:07 PDT 2023


================
@@ -565,6 +674,13 @@ void InstrProfSymtab::finalizeSymtab() {
   llvm::sort(AddrToMD5Map, less_first());
   AddrToMD5Map.erase(std::unique(AddrToMD5Map.begin(), AddrToMD5Map.end()),
                      AddrToMD5Map.end());
+  // GlobalVariable address ranges should not overlap; so sort by either
----------------
snehasish wrote:

I think this is true for your vtable use case but not in general? E.g. Readonly string and other primitive constants can be merged such that the symbol names point to the same address range. 

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


More information about the llvm-commits mailing list