[PATCH] D29808: WholeProgramDevirt: Add any unsuccessful llvm.type.checked.load devirtualizations to the list of llvm.type.test users.
Mehdi AMINI via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 12 14:01:49 PST 2017
mehdi_amini added inline comments.
================
Comment at: llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp:1045
+ if (Action == PassSummaryAction::Export) {
+ DenseMap<GlobalValue::GUID, TinyPtrVector<Metadata *>> MetadataByGUID;
----------------
Might be worth adding a one line comment to describe this block
================
Comment at: llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp:1095
+ // devirtualized, we need to add the resulting llvm.type.test intrinsics to
+ // the function summaries so that the LowerTypeTests pass will export them.
+ if (Action == PassSummaryAction::Export && isa<MDString>(S.first.TypeID)) {
----------------
I'm still not sure what/why this is done. What happens in which phase?
What is the LowerTypeTests pass exporting exactly, and for which consumer?
https://reviews.llvm.org/D29808
More information about the llvm-commits
mailing list