-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 04/06/11 12:21, Anatoly Sokolov wrote: > Hi. > > This patch converts loops of SET_HARD_REG_BIT in to add_to_hard_reg_set > functions call. > > The patch has been bootstrapped on and regression tested on > x86_64-unknown-linux-gnu for c. > > OK to install? > > * expr.c (expand_expr_real_1): Use add_to_hard_reg_set function > instead of loop. > * sel-sched.c (mark_unavailable_hard_regs): Likewise. > * function.c (record_hard_reg_sets): Likewise. > * ira.c (compute_regs_asm_clobbered): Likewise. > * sched-deps.c (sched_analyze_1): Likewise. > * reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise. > >
> Index: gcc/expr.c > =================================================================== > --- gcc/expr.c (revision 172049) > +++ gcc/expr.c (working copy) > @@ -8451,18 +8451,10 @@ > gcc_assert (decl_rtl); > decl_rtl = copy_rtx (decl_rtl); > /* Record writes to register variables. */ > - if (modifier == EXPAND_WRITE && REG_P (decl_rtl) > - && REGNO (decl_rtl) < FIRST_PSEUDO_REGISTER) > - { > - int i = REGNO (decl_rtl); > - int nregs = hard_regno_nregs[i][GET_MODE (decl_rtl)]; > - while (nregs) > - { > - SET_HARD_REG_BIT (crtl->asm_clobbers, i); > - i++; > - nregs--; > - } > - } > + if (modifier == EXPAND_WRITE > + && REG_P (decl_rtl) && HARD_REGISTER_P (decl_rtl)) > + add_to_hard_reg_set (&crtl->asm_clobbers, > + GET_MODE (decl_rtl), REGNO (decl_rtl)); Minor formatting nit, can you put the && HARD_REGISTER_P (decl_rtl) on a separate line. Generally once we have multi-line conditionals we try to put a single conditional on each line. OK with that change. Thanks, jeff -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJNndOsAAoJEBRtltQi2kC7U8kH/34KJ5Rl8tcA6KZTYE8Q+/dq fekev3UJPXlzpARvbz1L4H8+bZFWNVOfmC1FktsO5slA6I8uxZp6mfFZvKmvWaNh cJJ/tevjY80NVkaksEPIdvM5nE7RZXHzLvHsBUhHtL0NER1wVUsWlLI06/qlIoCG /vyM/GUUAzjzkyA6AQPCPvOQPgcJmTLuYNJ5w1o9H7SQlFPXJO/KNUpAblr6Wpiq veyVSMTd4LU+FjBGUsGLUOWWovOJicbHZlONE7Ti9rOUFepyCevtsSXqdisn0srM X2PMQ6EdD4wfoVZK0gBFQUKAEEs7c4iN03+Y6oIRq3V/wjxeazExbOHilXnYm2o= =99Re -----END PGP SIGNATURE-----