------- Comment #15 from davek at gcc dot gnu dot org  2009-09-15 17:16 -------
(In reply to comment #14)
> Created an attachment (id=18586)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18586&action=view) [edit]
> reduced testcase
> 

  Ok, this is really interesting.

  The generated debug info only contains the ".long gomp_tls_data" if there are
*two* functions that both begin with 

    struct gomp_thread *thr = gomp_thread ();

Also, if you change the line to read

    struct gomp_thread *thr = gomp_thread () + 1;

it also doesn't happen.

  When I read through iter.c.207r.vartrack, I see lots of references to cselib.

  Is VTA inappropriately CSEing the two value/location expressions together? 
And perhaps losing track of the TLS status in the process?


-- 


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

Reply via email to