[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