A new alpha bug
H.J. Lu
hjl@lucon.org
Tue Sep 16 11:09:00 GMT 1997
> > BTW, both yours and Jim's patches sound like a kludge to me.
> > I don't understand why it takes TImode to expose this bug.
> > Is there a more subtle bug somehwhere else? Also how many
> > other places do we have to change to make it work right
> > for all cases? Is there a cleaner way to fix it?
>
> I don't imagine anyplace else needs to be changed. Bashing the RTL for a
> variable is not a common operation.
>
I have seen places with
TREE_ADDRESSABLE (init) = 1;
DECL_RTL (init) = return_target;
or something like it. Should they be replaces by
DECL_RTL (init) = return_target;
TREE_ADDRESSABLE (init) = 0;
mark_addressable (init);
Maybe we should make a function/macro out of it and use it:
#define MARK_TREE_ADDRESSABLE(node) \
if (TREE_ADDRESSABLE ((node)) \
{ \
TREE_ADDRESSABLE ((node)) = 0;
mark_addressable ((node));
}
TREE_ADDRESSABLE (init) = 1;
DECL_RTL (init) = return_target;
MARK_TREE_ADDRESSABLE (init);
--
H.J. Lu (hjl@gnu.ai.mit.edu)
More information about the Gcc
mailing list