This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/46032] openmp inhibits loop vectorization
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 15 Oct 2010 10:31:03 +0000
- Subject: [Bug tree-optimization/46032] openmp inhibits loop vectorization
- Auto-submitted: auto-generated
- References: <bug-46032-4@http.gcc.gnu.org/bugzilla/>
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.