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] expand_expr EXPAND_NORMAL modifer when recursing (PR middle-end/29250)


Hi David,

On Fri, 13 Oct 2006, David Edelsohn wrote:
> 2006-10-13  David Edelsohn  <edelsohn@gnu.org>
> 	    Ian Lance Taylor  <ian@airs.com>
>
> 	PR middle-end/29250
> 	* expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
> 	CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
> 	recursing.

This is OK for mainline.  Thanks (and to Ian).  I can't believe this is
not a regression, shogun 0.1.2 almost certainly compiled with an earlier
version of GCC on Linux/PPC.   But if you could confirm that, I'd feel
easier with my approval (Ian seems convinced on IRC that this is safe).
Is there any chance I could also ask you to add the reduced testcase from
the bugzilla PR to the testsuite.  This compiler ICE is easy to test for,
and prevents us regressing in the remote event some obscure platform
turns out to need the EXPAND_SUM.

I really have little clue how much this aspect of RTL expansion is still
necessary.  Now that we no longer need to make machine addresses visible
to the RTL loop optimizers (R.I.P.), it might be reasonable to expect
combine (or instruction selection) to reconstitute machine addresses,
and allow RTL level GCSE and CSE to operate on the current subexpressions.
Unfortunately, answering that question would require too much effort
for my curiosity.

Thanks again for fixing this.

Roger
--


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