[PATCH] D28147: [LICM] Allow promotion of some stores that are not guaranteed to execute

Michael Kuperstein via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 4 14:38:56 PST 2017


mkuper added a comment.

Thanks Eli.

Philip, do you have any more comments?



================
Comment at: lib/Transforms/Scalar/LICM.cpp:1019
+            return DT->dominates(Store->getParent(), Exit);
+          });
+
----------------
efriedma wrote:
> This check is similar to llvm::isGuaranteedToExecute.  Maybe worth noting the parallel here.
> 
> If the loop throws, you're depending on the earlier check that the memory location is an alloca; you should explicitly note that here.
I'm not depending on it being an alloca. I'm only depending on it being dereferenceable - which is the DereferenceableInPH check and is documented. So I'm not sure how this can be more explicit.


https://reviews.llvm.org/D28147





More information about the llvm-commits mailing list