[Bug tree-optimization/46032] openmp inhibits loop vectorization

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Oct 15 10:31:00 GMT 2010


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

--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-15 10:30:42 UTC ---
If I hack PTA to make the omp function not escape IPA-PTA computes

<bb 4>:
  # idx_1 = PHI <idx_11(3), idx_18(6)>
  # PT = { D.2069 }
  D.2112_13 = .omp_data_i_12(D)->pData;
  D.2113_14 = *D.2112_13[idx_1];
  D.2114_15 = .omp_data_i_12(D)->coeff;
  D.2115_16 = D.2113_14 * D.2114_15;
  # PT = { D.2068 }
  D.2116_17 = .omp_data_i_12(D)->results;

thus knows what the pointers point to and we vectorize w/o a runtime
alias check (we still have no idea about alignment though, but that's
probably correct).

Thus it might be worth annotating some of the OMP builtins with
the fnspec attribute.



More information about the Gcc-bugs mailing list