On 7/4/07, Eric Botcazou <[EMAIL PROTECTED]> wrote:
Ada bootstrap has been broken by the SCC value numbering patch too (this is PR
tree-optimization/32589) but this might be due to a latent problem.

In the FRE dump:

RHS &p__name_buffer[1]{lb: 1 sz: 1} + n_32 simplified to
&p__name_buffer[(<unnamed-signed:32>) MAX_EXPR <D.738_31, 0> + 1]{lb: 1 sz:
1} has constants 0

and the latter expression is caught by the GIMPLE expression verifier:

error: invalid array index (<unnamed-signed:32>) MAX_EXPR <D.738_31, 0> + 1;

This is invalid gimple.  Can you figure our why we don't gimplify this to

tmp_1 = MAX_EXPR <D.738_31, 0>;
tmp_2 = (<unnamed-signed:32>)tmp_1;
tmp_3 = tmp_2 + 1;
&p_name_buffer[tmp3]

?  We shouldn't allow expressions (even if invariant) in such places.

Richard.

Reply via email to