Nice cleanup thanks. Just noticed a couple of things: Jeff Law <l...@redhat.com> writes: > *************** struct reload > *** 100,106 **** > int inc; > /* A reg for which reload_in is the equivalent. > If reload_in is a symbol_ref which came from > ! reg_equiv_constant, then this is the pseudo > which has that symbol_ref as equivalent. */ > rtx in_reg; > rtx out_reg; > --- 100,106 ---- > int inc; > /* A reg for which reload_in is the equivalent. > If reload_in is a symbol_ref which came from > ! reg_equiv_consant, then this is the pseudo > which has that symbol_ref as equivalent. */ > rtx in_reg; > rtx out_reg;
Adds typo. > *************** elimination_effects (rtx x, enum machine > *** 3002,3011 **** > } > > } > ! else if (reg_renumber[regno] < 0 && reg_equiv_constant > ! && reg_equiv_constant[regno] > ! && ! function_invariant_p (reg_equiv_constant[regno])) > ! elimination_effects (reg_equiv_constant[regno], mem_mode); > return; > > case PRE_INC: > --- 2996,3006 ---- > } > > } > ! else if (reg_renumber[regno] < 0 > ! && reg_equiv_constant (0) > ! && reg_equiv_constant (regno) > ! && ! function_invariant_p (reg_equiv_constant (regno))) > ! elimination_effects (reg_equiv_constant (regno), mem_mode); > return; > > case PRE_INC: Looks like this should be s/reg_equiv_constant (0)/reg_equivs != 0/. Richard