[llvm-bugs] [Bug 38935] New: [LoopAccessAnalysis / IndVarSimplify]

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Sep 13 07:36:22 PDT 2018


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

            Bug ID: 38935
           Summary: [LoopAccessAnalysis / IndVarSimplify]
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Global Analyses
          Assignee: unassignedbugs at nondot.org
          Reporter: paulsson at linux.vnet.ibm.com
                CC: llvm-bugs at lists.llvm.org

Created attachment 20876
  --> https://bugs.llvm.org/attachment.cgi?id=20876&action=edit
reduced testcase

The reduced test case gets its loop vectorized on x86 (icelake-server),while on
SystemZ (z14), this fails (actually in the reduced test case VF 1 is selected,
but the point is that it is *possible* for only one of the targets).

On SystemZ, the IV is rewritten from i32 to i64, which seems to somehow result
in 'LAA: SCEV could not compute the loop exit count.'

It seems like a bug somewhere that when IndVarSimplify makes a transformation,
the SCEV becomes uncomputable.

Could this be something in ScalarEvolution to fix, perhaps?

opt tc_indvar_vec.ll -mtriple=i686-unknown-linux-gnu -mcpu=icelake-server -S -o
/dev/null -O3 -debug-only=loop-accesses |& grep "exit count"

opt tc_indvar_vec.ll -mtriple=systemz-unknown -mcpu=z14 -S -o /dev/null -O3
-debug-only=loop-accesses |& grep "exit count"
LAA: SCEV could not compute the loop exit count.
LAA: SCEV could not compute the loop exit count.

-- 
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/20180913/4529ee60/attachment.html>


More information about the llvm-bugs mailing list