> 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. > > 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.
At least the comments in there make it clear that's indeed the intent. > Tested with a bootstrapped compiler. Test coverage isn't great, > because variable expansion is not enabled by default. OK, thanks (if you also add the testcase to gcc.dg with the special options). -- Eric Botcazou