[llvm-bugs] [Bug 34684] New: "Mask already present!" assertion in SLP Vectorizer

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Sep 20 05:13:33 PDT 2017


            Bug ID: 34684
           Summary: "Mask already present!" assertion in SLP Vectorizer
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Loop Optimizer
          Assignee: unassignedbugs at nondot.org
          Reporter: andrew at fubar.geek.nz
                CC: llvm-bugs at lists.llvm.org

I'm getting the following assertion with a recent clang:

Assertion failed: (UserEntry->ShuffleMask[OpdNum].empty() && "Mask already
present!"), function newTreeEntry, file
line 758.
#0 0x0000000001d11568 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
#1 0x0000000001d11b96 SignalHandler(int)
#2 0x0000000804bf8926 (/lib/libthr.so.3+0xe926)
#3 0x0000000804bf7ecf (/lib/libthr.so.3+0xdecf)
Stack dump:
0.      Program arguments:
/jenkins/workspace/FreeBSD-arm64-head-clang/clang-head/bin/clang-6.0 -cc1
-triple aarch64-unknown-freebsd12.0 -emit-obj -O2 -vectorize-slp -x c
1.      <eof> parser at end of file
2.      Per-module optimization passes
3.      Running pass 'Function Pass Manager' on module 'dmu-eef8dc.c'.
4.      Running pass 'SLP Vectorizer' on function '@i'

The minimised test case is (from creduce):

typedef struct { long a[4] } b;
c() {
  b *d = e();
  long f = 0;
  for (int g = 0; g < 4; g++)
    f += d->a[g];
  if (f >= 0)
i() { c(); }

The minimal clang command line to reproduce is:

clang-6.0 -cc1 -triple aarch64-unknown-freebsd12.0 -emit-obj -O2 -vectorize-slp
-x c test.c

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170920/cc4f0124/attachment-0001.html>

More information about the llvm-bugs mailing list