[PATCH] D39781: [GVNHoist] Fix: PR35222 gvn-hoist incorrectly erases load
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 8 11:35:36 PST 2017
efriedma added inline comments.
================
Comment at: lib/Transforms/Scalar/GVNHoist.cpp:802
+ if (DT->dominates(IDFB, V[i]->getParent()) && // Ignore spurious PDFs.
+ LInfo->getLoopFor(IDFB) == LInfo->getLoopFor(B)) {
OutValue[IDFB].push_back(C);
----------------
efriedma wrote:
> I haven't reviewed in detail, but I'm skeptical this check actually does the right thing in general. A "Loop*" is specifically a loop with a single entry point, so this check won't handle irreducible control flow correctly.
Looking a little more, it might not be relevant... I'm not following the algorithm for insertion points, and I don't really have time to dig deeper, so please ignore me. :)
https://reviews.llvm.org/D39781
More information about the llvm-commits
mailing list