[PATCH] D47475: [Local] Make KDominatesJ required for combineMetadata.

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 1 12:49:42 PDT 2018


efriedma added inline comments.


================
Comment at: lib/Transforms/Utils/Local.cpp:2086
       LLVMContext::MD_dereferenceable_or_null};
-  combineMetadata(K, J, KnownIDs);
+  combineMetadata(K, J, KnownIDs, KDominatesJ);
 }
----------------
Is it actually correct to use the same metadata list if KDominatesJ is false?

It's undefined behavior if a nonnull load actually produces null.  So preserving nonnull metadata on a hoisted load requires proving that the hoisted load never produces null (separately from proving the load is safe to hoist).


https://reviews.llvm.org/D47475





More information about the llvm-commits mailing list