[PATCH] D43690: [ThinLTO] Keep available_externally symbols live

Mehdi AMINI via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 16 21:21:06 PDT 2018


mehdi_amini added inline comments.


================
Comment at: llvm/trunk/lib/Transforms/IPO/FunctionImport.cpp:550
+    // EliminateAvailableExternally pass and setting them to not-live breaks
+    // downstreams users of liveness information (PR36483).
+    if (isPrevailing(VI.getGUID()) == PrevailingType::No) {
----------------
This explanation is not clear to me. I understand that this is fixing a bug (crash), but it isn't clear as of *why* this is the right fix?
I'm not sure why would the simple fact that a function is defined somewhere as "available eternally" would be enough to make them "live" if we don't have any reference anywhere to make them live for another reason?


Repository:
  rL LLVM

https://reviews.llvm.org/D43690





More information about the llvm-commits mailing list