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] |
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] |