This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix DECL_ALIGN during expand with dynamic stack realignment (PR target/44542)


On Thu, Jun 17, 2010 at 04:52:38PM +0200, Michael Matz wrote:
> Yeah, I misremembered the flow of events when making this inquiry.  Still 
> ...
> 
> > +      else if (DECL_HAS_VALUE_EXPR_P (var)
> > +	       || (DECL_RTL_SET_P (var)
> > +		   && MEM_P (DECL_RTL (var))
> > +		   && (XEXP (DECL_RTL (var), 0) == virtual_stack_vars_rtx
> > +		       || (GET_CODE (XEXP (DECL_RTL (var), 0)) == PLUS
> > +			   && XEXP (XEXP (DECL_RTL (var), 0), 0)
> > +			      == virtual_stack_vars_rtx
> > +			   && CONST_INT_P (XEXP (XEXP (DECL_RTL (var), 0), 1))))))
> 
> ... this reads uneasy to me (that's the reason I bothered with the 
> really_expand suggestion).  Why do you have to test the form of the MEM, 
> shouldn't "DECL_RTL_SET_P (var) && MEM_P (DECL_RTL (var))" be enough, or 
> even without testing for MEM_P?

It probably is enough, TREE_STATIC || DECL_EXTERNAL is earlier, so the var
should be automatic then and I hope nothing else sets DECL_RTL to MEM for
those earlier.  Will bootstrap/regtest with everything after the MEM_P test
in an gcc_assert.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]