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