OSDN Git Service

2004-08-04 Andrew Haley <aph@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / emit-rtl.c
index 0f32005..717bb4b 100644 (file)
@@ -1460,8 +1460,8 @@ component_ref_for_mem_expr (tree ref)
   if (inner == TREE_OPERAND (ref, 0))
     return ref;
   else
-    return build (COMPONENT_REF, TREE_TYPE (ref), inner, TREE_OPERAND (ref, 1),
-                 NULL_TREE);
+    return build3 (COMPONENT_REF, TREE_TYPE (ref), inner,
+                  TREE_OPERAND (ref, 1), NULL_TREE);
 }
 
 /* Returns 1 if both MEM_EXPR can be considered equal
@@ -1634,8 +1634,8 @@ set_mem_attributes_minus_bitpos (rtx ref, tree t, int objectp,
                 index, then convert to sizetype and multiply by the size of
                 the array element.  */
              if (! integer_zerop (low_bound))
-               index = fold (build (MINUS_EXPR, TREE_TYPE (index),
-                                    index, low_bound));
+               index = fold (build2 (MINUS_EXPR, TREE_TYPE (index),
+                                     index, low_bound));
 
              off_tree = size_binop (PLUS_EXPR,
                                     size_binop (MULT_EXPR, convert (sizetype,
@@ -3790,7 +3790,8 @@ reorder_insns (rtx from, rtx to, rtx after)
        BB_END (bb) = to;
 
       for (x = from; x != NEXT_INSN (to); x = NEXT_INSN (x))
-       set_block_for_insn (x, bb);
+       if (!BARRIER_P (x))
+         set_block_for_insn (x, bb);
     }
 }
 
@@ -3835,7 +3836,6 @@ remove_unnecessary_notes (void)
       switch (NOTE_LINE_NUMBER (insn))
        {
        case NOTE_INSN_DELETED:
-       case NOTE_INSN_LOOP_END_TOP_COND:
          remove_insn (insn);
          break;