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