[PATCH] D129260: [BOLT][AArch64] Handle gold linker veneers

Vladislav Khmelevsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 8 15:16:38 PDT 2022


yota9 added a comment.

@rafauler I'll try to check the cause of memory leak, probably it is connected to the VeneerElimination pass, since it is unusual case to create the new functions after disassemble but also remove them during passes, probably something is not handled properly..



================
Comment at: bolt/include/bolt/Core/BinaryContext.h:647
+  /// and are referenced from BinaryFunction.
+  std::list<std::pair<BinaryFunction *, uint64_t>> InterproceduralReferences;
+
----------------
rafauler wrote:
> nit: I suspect btw that a regular "std::vector" makes more sense here (since you're not doing any operation that would be faster with a linked list)
On the previous review I wrote a comment about the reasons I've choosed to use list here, newely-handled veneers will create new external references, that must be added to the end of the list while iterating it. Also I don't think we want to reallocate and copy the old vector each time, so I'd prefer to stay with the list here to be honest 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129260/new/

https://reviews.llvm.org/D129260



More information about the llvm-commits mailing list