This looks like a nice cleanup. One comment: On Wed, Apr 06, 2011 at 10:21:12PM +0400, Anatoly Sokolov wrote: > @@ -4958,60 +4958,54 @@ > mark_reload_reg_in_use (unsigned int regno, int opnum, enum reload_type type, > enum machine_mode mode) > { > - unsigned int nregs = hard_regno_nregs[regno][mode]; > - unsigned int i; > - > - for (i = regno; i < nregs + regno; i++) > + switch (type) > { > - switch (type) > - { > - case RELOAD_OTHER: > - SET_HARD_REG_BIT (reload_reg_used, i); > - break; > + case RELOAD_OTHER: > + add_to_hard_reg_set (&reload_reg_used, mode, regno); > + break;
I wonder if it'd be worth breaking out a reg_set_for_reload_type (int opnum) function and using it here. I think it could be profitably used in clear_reload_reg_in_use, either in this patch in in a followup. -Nathan