[PATCH] D29641: [SLP] Fix for PR31847: Assertion failed: (isLoopInvariant(Operands[i], L) && "SCEVAddRecExpr operand is not loop-invariant!")

Gerolf Hoflehner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 16 14:37:43 PDT 2017


Gerolf added a comment.

Hi,

I would like to understand this better. Could somebody explain what assumptions SCEV makes about its clients? Which assumption(s) is broken by SLP? It seems to me that this issue potentially touches fundamental design decisions/questions and I don't see any verifiers in place.

Thanks
Gerolf



================
Comment at: test/Transforms/SLPVectorizer/X86/crash-SCEV.ll:1
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; RUN: opt -slp-vectorizer -S -o - -mtriple=i386 -mcpu=haswell < %s | FileCheck %s
----------------
What is this supposed to test? I'm wondering if there can be a smaller test for what this one is supposed to do. As is at the least it looks hard to maintain.


https://reviews.llvm.org/D29641





More information about the llvm-commits mailing list