Hi,

> On those grounds, please submit a change to fix both places in 
> cse.c.  If we run into further problems of this kind, we'll have to 
> rethink whether such patterns are valid.

Ok. I'll do so as soon as possible. Unfortunately the trivial fix of
just removing the else branch doesn't work. There are callers of
canon_reg which seem to expect that the issue is solved without 
validate_change like:

cse.c:4927  src_eqv = fold_rtx (canon_reg (XEXP (tem, 0), NULL_RTX), insn);

Since fold_rtx uses validate_change without setting in_group we get an assertion
if there is already something in the change group.

I hope that can easily be fixed by just calling apply_change_group after calling
canon_reg.

Bye,

-Andreas-

Reply via email to