[Bug tree-optimization/33246] Missed opportunities for vectorization due to data ref analysis
dorit at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Aug 31 13:57:00 GMT 2007
------- Comment #3 from dorit at gcc dot gnu dot org 2007-08-31 13:57 -------
...
> This is due to data ref analysis problems:
> ./fatigue.f90:14: note: not vectorized: data ref analysis failed
> (*stress_tensor.0_16)[D.1508_168] = D.1513_173
> ./fatigue.f90:14: note: bad data references.
> and
> ./fatigue.f90:14: note: not vectorized: data ref analysis failed D.1489_133 =
> (*strain_tensor.0_41)[D.1488_132]
> ./fatigue.f90:14: note: bad data references.
The data-ref analyzer reports:
failed: evolution of offset is not affine.
As a result, the DR fields that represent the access relative to the inner-most
loop are almost all empty:
base_address:
offset from base address:
constant offset from base address:
step:
aligned to:
base_object: (*(real8[0:D.1433] *) D.1437_15)[0]
symbol tag: SMT.79
However note that the DR fields relative to the outer-loop are computable:
outer base_address: &A.23
outer offset from base address: 0
outer constant offset from base address: 0
outer step: 24
outer aligned to: 128
If the data-ref analyzer can return the expression for the evolution in the
inner-loop, instead of failing, we would at least have a chance to do
outer-loop vectorization.
This is a duplicate of PR33113.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33246
More information about the Gcc-bugs
mailing list