> Hello,
> 
> Today appears to be RTL loop optimizer patch day, because here's
> another patch...
> 
> The problem here is that variable expansion does not update REG_EQUAL
> notes when it performs replacement of the renamed register.

Hehe. or rather REG_EQUAL patch day :)
It makes me wonder how much of the REG_EQUAL machinery we stil make good use of.
> 
> I fixed this by using validate_replace_rtx_group(). There is already
> code in analyze_insn_to_expand_var() to make sure that the
> to-be-replaced register is only used to accumulate into, so I think
> that using validate_replace_rtx_group is safe. Could use a 2nd pair of
> eyes to make sure, though.
> 
> Tested with a bootstrapped compiler. Test coverage isn't great,
> because variable expansion is not enabled by default.

Are there particular reasons to not enable it?  It seems like usefull 
optimization.

Honza

Reply via email to