[PATCH] D105053: [INSTCOMBINE] Tramsform reduction(shuffle V, poison, unique_mask) to reduction(V).
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 28 13:09:19 PDT 2021
lebedev.ri added a comment.
Is this really true for FP reductions? Don't they need `reassoc` flag for this?
================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp:2000-2001
+ case Intrinsic::vector_reduce_fmul: {
+ // After SLP + LTO we can have reduction(shuffle V, poison, unique_mask),
+ // which can be folded just to reduction(V).
+ const unsigned ArgIdx = (IID == Intrinsic::vector_reduce_fadd ||
----------------
Not very useful comment
================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp:2014
+ SmallBitVector UsedIndeces(Mask.size());
+ for (int Idx : Mask) {
+ if (Idx == UndefMaskElem || UsedIndeces.test(Idx))
----------------
This doesn't deal with non-canonical shuffle variant properly (and the test is missing)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D105053/new/
https://reviews.llvm.org/D105053
More information about the llvm-commits
mailing list