[PATCH] D42107: [ThinLTO] - Stop internalizing and drop non-prevailing symbols.
Teresa Johnson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 25 07:56:40 PST 2018
tejohnson accepted this revision.
tejohnson added a comment.
This revision is now accepted and ready to land.
LGTM with minor comment nit and missing change noted below.
Thanks - this looks cleaner using the enum!
================
Comment at: include/llvm/Transforms/IPO/FunctionImport.h:117
/// in the graph from any of the given symbols listed in
-/// \p GUIDPreservedSymbols.
+/// \p GUIDPreservedSymbols. Non-prevailing symbols that are not anywhere in IR
+/// are normally "dead", \p isPrevailing predicate returns status of symbol.
----------------
Suggest changing "that are not anywhere in IR are normally dead" to something like "are symbols without a prevailing copy anywhere in IR and are normally dead". I.e. a non-prevailing symbol here can have a def in IR, it is just not prevailing.
================
Comment at: lib/Transforms/IPO/FunctionImport.cpp:501
+ const DenseSet<GlobalValue::GUID> &GUIDPreservedSymbols,
+ function_ref<PrevailingType(GlobalValue::GUID)> isPrevailing) {
assert(!Index.withGlobalValueDeadStripping());
----------------
I think you lost the corresponding change to the header declaration in this version of the patch.
https://reviews.llvm.org/D42107
More information about the llvm-commits
mailing list