rtl.texi (RTX_FRAME_RELATED_P): Add documentation.
authorAndrew Macleod <amacleod@gcc.gnu.org>
Thu, 25 Mar 1999 12:04:25 +0000 (12:04 +0000)
committerAndrew Macleod <amacleod@gcc.gnu.org>
Thu, 25 Mar 1999 12:04:25 +0000 (12:04 +0000)
d
Thu Mar 25 14:04:54 EST 1999  Andrew MacLeod  <amacleod@cygnus.com>
* rtl.texi (RTX_FRAME_RELATED_P): Add documentation.
* rtl.h (struct rtx_def): Update comment for frame_related field.
(set_unique_reg_note): Declare prototype.
* dwarf2out.c (dwarf2out_frame_debug_expr): Split out from
'dwarf2out_frame_debug' to handle only expressions, and process
component parts of a PARALLEL expression.
(dwarf2out_frame_debug): Process insns only, and call
new function 'dwarf2out_frame_debug_expr' for patterns.
* emit-rtl.c (set_unique_reg_note): New function to add a reg note,
but if there is an existingone, deletes it first.
* expmed.c (expand_mult, expand_divmod): Use set_unique_reg_note.
* optabs.c (add_equal_note, expand_binop): Use set_unique_reg_note.
(emit_no_conflict_block, emit_libcall_block): Use set_unique_reg_note.
(expand_fix):  Use set_unique_reg_note.

From-SVN: r25979

gcc/expmed.c

index c0f0668a89c213801686ef70598a0b792d0a5c70..37116e30e051bc067bd7cfd0850c8b152f1c2247 100644 (file)
@@ -2473,10 +2473,10 @@ expand_mult (mode, op0, op1, target, unsignedp)
                 multiplication sequences.  */
 
              insn = get_last_insn ();
-             REG_NOTES (insn)
-               = gen_rtx_EXPR_LIST (REG_EQUAL,
-                                    gen_rtx_MULT (mode, op0, GEN_INT (val_so_far)),
-                                    REG_NOTES (insn));
+             set_unique_reg_note (insn, 
+                                  REG_EQUAL,
+                                  gen_rtx_MULT (mode, op0, 
+                                                GEN_INT (val_so_far)));
            }
 
          if (variant == negate_variant)
@@ -3170,10 +3170,9 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
                if (insn != last
                    && (set = single_set (insn)) != 0
                    && SET_DEST (set) == quotient)
-                 REG_NOTES (insn)
-                   = gen_rtx_EXPR_LIST (REG_EQUAL,
-                                        gen_rtx_UDIV (compute_mode, op0, op1),
-                                        REG_NOTES (insn));
+                 set_unique_reg_note (insn, 
+                                      REG_EQUAL,
+                                      gen_rtx_UDIV (compute_mode, op0, op1));
              }
            else                /* TRUNC_DIV, signed */
              {
@@ -3247,12 +3246,11 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
                        if (insn != last
                            && (set = single_set (insn)) != 0
                            && SET_DEST (set) == quotient)
-                         REG_NOTES (insn)
-                           = gen_rtx_EXPR_LIST (REG_EQUAL,
-                                                gen_rtx_DIV (compute_mode,
-                                                             op0,
-                                                             GEN_INT (abs_d)),
-                                      REG_NOTES (insn));
+                         set_unique_reg_note (insn, 
+                                              REG_EQUAL,
+                                              gen_rtx_DIV (compute_mode,
+                                                           op0,
+                                                           GEN_INT (abs_d)));
 
                        quotient = expand_unop (compute_mode, neg_optab,
                                                quotient, quotient, 0);
@@ -3317,10 +3315,9 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
                if (insn != last
                    && (set = single_set (insn)) != 0
                    && SET_DEST (set) == quotient)
-                 REG_NOTES (insn)
-                   = gen_rtx_EXPR_LIST (REG_EQUAL,
-                                        gen_rtx_DIV (compute_mode, op0, op1),
-                                        REG_NOTES (insn));
+                 set_unique_reg_note (insn, 
+                                      REG_EQUAL,
+                                      gen_rtx_DIV (compute_mode, op0, op1));
              }
            break;
          }
@@ -3733,12 +3730,11 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
                                     NULL_RTX, unsignedp);
 
            insn = get_last_insn ();
-           REG_NOTES (insn)
-             = gen_rtx_EXPR_LIST (REG_EQUAL,
-                                  gen_rtx_fmt_ee (unsignedp ? UDIV : DIV,
-                                                  compute_mode,
-                                                  op0, op1),
-                                  REG_NOTES (insn));
+           set_unique_reg_note (insn,
+                                REG_EQUAL,
+                                gen_rtx_fmt_ee (unsignedp ? UDIV : DIV,
+                                                compute_mode,
+                                                op0, op1));
          }
        break;