[llvm-bugs] [Bug 38339] New: slp-vectorizer: Instruction does not dominate all uses!

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Jul 27 08:47:28 PDT 2018


https://bugs.llvm.org/show_bug.cgi?id=38339

            Bug ID: 38339
           Summary: slp-vectorizer: Instruction does not dominate all
                    uses!
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: bjorn.a.pettersson at ericsson.com
                CC: llvm-bugs at lists.llvm.org

Created attachment 20609
  --> https://bugs.llvm.org/attachment.cgi?id=20609&action=edit
reproducer

Running the attached program using

  opt -slp-vectorizer -S -mtriple=aarch64-apple-ios -mcpu=cyclone
slp-vectorizer-shuffle-cyclone.ll

gives

Instruction does not dominate all uses!
  %shuffle = shufflevector <2 x i16> %1, <2 x i16> undef, <4 x i32> <i32 0, i32
1, i32 1, i32 0>
  %2 = extractelement <4 x i16> %shuffle, i32 0
LLVM ERROR: Broken function found, compilation aborted!


I think this started to happen after this commit

commit b09f726df5f5c7de6b05cd3e65bdccee5c78bf3f (HEAD)
Author: Alexey Bataev <a.bataev at hotmail.com>
Date:   Tue Apr 3 16:40:33 2018 +0000

    Recommit "[SLP] Fix issues with debug output in the SLP vectorizer."

    The primary issue here is that using NDEBUG alone isn't enough to guard
    debug printing -- instead the DEBUG() macro needs to be used so that the
    specific pass debug logging check is employed. Without this, every
    asserts-enabled build was printing out information when it hit this.

    I also fixed another place where we had multiple statements in a DEBUG
    macro to use {}s to be a bit cleaner. And I fixed a place that used
    errs() rather than dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329082
91177308-0d34-0410-b5e6-96231b3b80d8

if I move to the previous commit in
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

commit 4832f865cf84eb9ff1c397353cfc400290fbb9bc
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date:   Tue Apr 3 14:40:33 2018 +0000

    Revert "[SLP] Fix PR36481: vectorize reassociated instructions."

    This reverts commit r328980 and r329046. Makes the vectorizer crash.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329071
91177308-0d34-0410-b5e6-96231b3b80d8

I do not get the error.

-- 
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/20180727/9f91629c/attachment-0001.html>


More information about the llvm-bugs mailing list