[llvm-bugs] [Bug 40546] New: omp simd reduction "loop not vectorized" warning for a simple loop that even seems vectorized

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jan 31 06:49:32 PST 2019


            Bug ID: 40546
           Summary: omp simd reduction "loop not vectorized" warning for a
                    simple loop that even seems vectorized
           Product: new-bugs
           Version: 8.0
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: tomas.kalibera at gmail.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

Created attachment 21411
  --> https://bugs.llvm.org/attachment.cgi?id=21411&action=edit
compile with -fopenmp -O2

clang8 emits warning

"loop not vectorized: the optimizer was unable to perform the requested
transformation; the transformation might be disabled or specified as part of an
unsupported transformation ordering [-Wpass-failed=transform-warning]"

for the following example, when compiled with "-fopenmp -O2". The generated
code is, however, vectorized and is almost identical to the code generated by
clang7, which does not emit the warning. The same problem as in clang8 is in
the current clang9 (and the emitted code is identical). clang6 produces similar
code, vectorizes the loop, and does not emit the warning, either.

The warning is generated twice when compiling the example, with identical texts
and code locations, and counted as "2 warnings". 

int maybeNotFinite(double *x, unsigned n)
    double s = 0;

    #pragma omp simd reduction(+:s)
    for (unsigned i = 0; i < n; i++)
        s += x[i];
    return !finite(s);

tested on Ubuntu 18.04.1 with clang from apt.llvm.org
clang version 8.0.0-svn352547-1~exp1~20190130015936.13 (branches/release_80)
clang version 7.0.1-svn348686-1~exp1~20190113235231.54 (branches/release_70)
clang version 9.0.0-svn352666-1~exp1+0~20190130204444.773~1.gbp5cc800 (trunk)

and on clang from Ubuntu 18.04.1
clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)

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/20190131/e68b18c9/attachment.html>

More information about the llvm-bugs mailing list