This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gomp4] Some progress on #pragma omp simd


On 06/12/13 16:36, Jakub Jelinek wrote:
On Wed, Jun 12, 2013 at 10:38:00AM -0700, Richard Henderson wrote:
On 06/12/2013 10:30 AM, Jakub Jelinek wrote:
So the built-ins would take address of this decl, something else?

Perhaps address, perhaps just referenced uninitialized?

True, assuming no pass would actually want to change that SSA_NAME of the
magic decl just because it is undefined (coalesce with some other undefined
SSA_NAME or something similar).  I hope nothing does that, it would be
problematic for the uninitialized warning pass too I bet.

Gentlemen:

Attached is a lightly tested patch rewriting the aforementioned UID to use the address of a dummy DECL (see the lower_rec_input_clauses fragment).

I first tried an uninitialized reference but into-SSA happens after lower_rec_input_clauses, and the DECL gets rewritten into SSA, while loop->simduid maintains the original DECL. This causes all the equality checks throughout to fail. I thought of changing the SSA pass to update loop->simduid as well, but that seemed kludgy. I didn't think about it too hard, perhaps there's a more elegant way.

Anyway...this at least works with my contrived reduction tests for Cilk Plus pragma simd.

If this is what you want, I can start looking at how this behaves with LTO and inlining.

Aldy

Attachment: curr
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]