[PATCH] D69563: [LV] Strip wrap flags from vectorized reductions
Denis Antrushin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 17 05:13:57 PST 2019
dantrushin marked 4 inline comments as done.
dantrushin added inline comments.
================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:394
+ Instruction *UI = cast<Instruction>(U);
+ if (L->contains(UI->getParent()) && Result.insert(UI).second)
+ Worklist.push_back(UI);
----------------
Ayal wrote:
> This is indeed a general way to record all transitively dependent instructions inside a loop. In our case, though, there's a single known `LoopExitInst `with a single (loop-closed phi) user outside the loop. More efficient to record that user and check if (UI != OutsideUser && Result.insert(UI).second) than to repeatedly check if parent block belongs to L. Agreed?
IMHO this makes code uglier. See below
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69563/new/
https://reviews.llvm.org/D69563
More information about the llvm-commits
mailing list