X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fdwarf2out.c;h=f4b0ee7ff5d93b3e4bcbe08eebaa645969a2a81e;hb=88e24dbb7e238dfda3545bcb7ad270798075d078;hp=12e9e8f39911dbe79b866703b327f09a73a2f934;hpb=451d38944b3ceb1b2ba7f7d0bd4729b47e48910a;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 12e9e8f3991..f4b0ee7ff5d 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -7656,27 +7656,16 @@ reg_loc_descriptor (rtl) rtx rtl; { dw_loc_descr_ref loc_result = NULL; - unsigned reg, i, max; + unsigned reg; if (REGNO (rtl) >= FIRST_PSEUDO_REGISTER) return 0; reg = reg_number (rtl); - max = HARD_REGNO_NREGS (reg, GET_MODE (rtl)); - for (i = 0; i < max; ++i) - { - add_loc_descr (&loc_result, - new_loc_descr (reg <= 31 ? DW_OP_reg0 + reg : DW_OP_regx, - reg <= 31 ? 0 : reg, - 0)); - - if (max > 1) - add_loc_descr (&loc_result, - new_loc_descr (DW_OP_piece, - GET_MODE_SIZE (reg_raw_mode[reg]), 0)); - - ++reg; - } + if (reg <= 31) + loc_result = new_loc_descr (DW_OP_reg0 + reg, 0, 0); + else + loc_result = new_loc_descr (DW_OP_regx, reg, 0); return loc_result; }