[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