Your June 7 change to expand_expr
Jeffrey A Law
law@cygnus.com
Wed Jul 1 00:07:00 GMT 1998
In message < 199807010621.XAA28094@smtp.earthlink.net >you write:
> Jeffrey> It's also likely we could use the tri-state to fix
> Jeffrey> 980506-2.c (jfc's testcase where cse changes
> Jeffrey> MEM_IN_STRUCT_P in an unsafe manner). We might want to
> Jeffrey> do the tri-state regardless of the final outcome of
> Jeffrey> Kenner's patch & your failing code since it provides us
> Jeffrey> with a "safe state" that we can use when it's not clear
> Jeffrey> if a MEM should have the bit set.
>
> Yes. The more I think about this, the more I think that if we keep
> MEM_IN_STRUCT_P we must make a tri-state thing.
It ought to be pretty easy.
I think we allocate another flag bit, initialize it to zero, and set
it to one when we don't know if MEM_IN_STRUCT_P is "valid".
We have the alias code check the new bit to make sure MEM_IN_STRUCT_P
is valid before making any use of MEM_IN_STRUCT_P. We should also
look at other places that look at MEM_IN_STRUCT_P.
alias.c, cse.c, explow.c, genattrtab.c (?), loop.c, all appear to
look at the value instead of just copying it around.
What to call the new bit? MEM_IN_STRUCT_P_VALID_P? (Yuck).
Or do we make a real tri-state out of two bits so that we can encode
an additional state? (in_struct, !in_struct, unknown, ? other use?)
jeff
More information about the Gcc-bugs
mailing list