[PATCH] D29641: [SLP] Fix for PR31847: Assertion failed: (isLoopInvariant(Operands[i], L) && "SCEVAddRecExpr operand is not loop-invariant!")
Alexey Bataev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 6 23:55:11 PST 2017
ABataev added inline comments.
================
Comment at: lib/Transforms/Vectorize/SLPVectorizer.cpp:2981
is_contained(UserIgnoreList, U)) &&
"Replacing out-of-tree value with undef");
}
----------------
mkuper wrote:
> This comment no longer makes sense.
> Does the whole check?
I'll fix the comment, but the check itself is important.
================
Comment at: lib/Transforms/Vectorize/SLPVectorizer.cpp:4504
+ // vector reductions (except for ReductionRoot node).
+ V.markForDeletion(
+ makeArrayRef(ReductionOps.begin(), std::prev(ReductionOps.end())));
----------------
mkuper wrote:
> Is there any interaction with the "extra values" stuff?
I reworked this part. Extra args are not removed, but the users of extra args are stored as ReductionOps and will be automatically marked for deletion
https://reviews.llvm.org/D29641
More information about the llvm-commits
mailing list