FAIL: gcc.c-torture/execute/950628-1.c execution, -O1

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Wed Jan 24 16:06:00 GMT 2001


         /u read  <- /u read	reads never conflict
  anti   /u read  <- /u write	shouldn't happen, since no multiple writes.
  true   /u write <- /u read	conflict
  output /u write <- /u write	shouldn't happen, since no multiple writes.

    For anti_dependance and true_dependance, this is what we implement.

    I just noticed that output_dependance yields true for two unchanging
    writes.  I'm not sure why that is; perhaps it is trying to catch a 
    case of an initializer for a structure containing bitfields for which
    we end up with multiple stores to the same word in sequence.  Dubious
    at best, that's for sure.

I'm not as familiar with what anti-dependence means as I'd like to be, 
but an obvious question is why *not* have them conflict?  How much are we
going to be losing by doing that as compared to not reusing /u temporaries?


More information about the Gcc-patches mailing list