[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