[llvm-bugs] [Bug 42729] New: Verifier failure with ARMParallelDSP

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Jul 23 14:18:35 PDT 2019


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

            Bug ID: 42729
           Summary: Verifier failure with ARMParallelDSP
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: ARM
          Assignee: unassignedbugs at nondot.org
          Reporter: efriedma at quicinc.com
                CC: llvm-bugs at lists.llvm.org, peter.smith at linaro.org,
                    sam.parker at arm.com, sjoerd.meijer at arm.com,
                    Ties.Stuij at arm.com

Reproduce with "opt -arm-parallel-dsp reduced.ll -S"; produces:

Instruction does not dominate all uses!
  %uglygep1213 = bitcast i8* %uglygep12 to i16*
  %scevgep14 = getelementptr i16, i16* %uglygep1213, i32 6
in function f
LLVM ERROR: Broken function found, compilation aborted!

This is causing failures on the polly-aosp bot
(http://lab.llvm.org:8011/builders/aosp-O3-polly-before-vectorizer-unprofitable).

Testcase follows:

target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"
target triple = "thumbv7-unknown-linux-android"

define void @f(i16* %a) {
entry:
  %incdec.ptr21 = getelementptr inbounds i16, i16* %a, i32 3
  %incdec.ptr29 = getelementptr inbounds i16, i16* %a, i32 4
  br label %for.body

for.body:
  %0 = load i16, i16* %incdec.ptr21, align 2
  %conv25 = sext i16 %0 to i32
  %uglygep15 = getelementptr i8, i8* undef, i32 undef
  %uglygep1516 = bitcast i8* %uglygep15 to i16*
  %scevgep17 = getelementptr i16, i16* %uglygep1516, i32 7
  %1 = load i16, i16* %scevgep17, align 2
  %conv31 = sext i16 %1 to i32
  %2 = load i16, i16* %incdec.ptr29, align 2
  %conv33 = sext i16 %2 to i32
  %uglygep12 = getelementptr i8, i8* undef, i32 undef
  %uglygep1213 = bitcast i8* %uglygep12 to i16*
  %scevgep14 = getelementptr i16, i16* %uglygep1213, i32 6
  %3 = load i16, i16* %scevgep14, align 2
  %conv39 = sext i16 %3 to i32
  %mul.i287.neg.neg = mul nsw i32 %conv31, %conv25
  %mul.i283.neg.neg = mul nsw i32 %conv39, %conv33
  %reass.add408 = add i32 undef, %mul.i287.neg.neg
  %reass.add409 = add i32 %reass.add408, %mul.i283.neg.neg
  br label %for.body
}

-- 
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/20190723/3622f50f/attachment.html>


More information about the llvm-bugs mailing list