[Bug tree-optimization/37700] New: [alias-improvements-branch] redundant load doesn't get eliminated

dorit at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Oct 1 14:35:00 GMT 2008


This happens in testcase gcc.dg/vect/slp-19.c:

The problem is with the loop at line 17: with trunk we detect that one of
the elements of array 'in' is read twice, so we generate overall 8 loads
(reusing one of them). On the alias branch we do not eliminate the extra
load. All the reads and write are from/to local arrays, by the way. This
results in 9 loads, which the vectorizer interperts as a complicated SLP
permutation, so instead it is vectorized across iterations rather than
using SLP:
> "
> slp-19.c:17: note: Load permutation 0 1 2 4 5 6 7 8
> slp-19.c:17: note: Build SLP failed: unsupported load permutation out
> [D.2646_11] = D.2647_12;
> "


-- 
           Summary: [alias-improvements-branch] redundant load doesn't get
                    eliminated
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dorit at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37700



More information about the Gcc-bugs mailing list