[M3commit] CVS Update: cm3

Jay jay.krell at cornell.edu
Fri May 15 11:38:40 CEST 2009


Here is the diff. I find this incredibly difficult to glean from cvs after the commit is done. I constantly root around the web interface to each file involved in a change. It's terrible. The older patched Tinderbox had something for recent checkins, that was nice. I was going to paste it into the commented, but I worried it might confuse cvs.
 
 
I think this diff is kind of important and would be interested in explanations for the various ports. Note that the "NOTE" part varies between 4.2 and 4.3.
 
 
Index: final.c
===================================================================
RCS file: /usr/cvs/cm3/m3-sys/m3cc/gcc-apple/gcc/final.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 final.c
--- final.c 15 May 2009 08:41:27 -0000 1.1.1.1
+++ final.c 15 May 2009 09:34:02 -0000
@@ -3378,6 +3378,18 @@
       output_addr_const (file, XEXP (x, 0));
       break;
 
+    case NOTE:
+      if (NOTE_LINE_NUMBER (x) == NOTE_INSN_DELETED_LABEL) {
+ ASM_GENERATE_INTERNAL_LABEL (buf, "L", CODE_LABEL_NUMBER (x));
+#ifdef ASM_OUTPUT_LABEL_REF
+ ASM_OUTPUT_LABEL_REF (file, buf);
+#else
+ assemble_name (file, buf);
+#endif
+ break;
+      }
+      /* Fall through.  */
+
     default:
 #ifdef OUTPUT_ADDR_CONST_EXTRA
       OUTPUT_ADDR_CONST_EXTRA (file, x, fail);
Index: gimplify.c
===================================================================
RCS file: /usr/cvs/cm3/m3-sys/m3cc/gcc-apple/gcc/gimplify.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 gimplify.c
--- gimplify.c 15 May 2009 08:41:27 -0000 1.1.1.1
+++ gimplify.c 15 May 2009 09:34:02 -0000
@@ -5509,6 +5509,11 @@
      }
    break;
 
+ case STATIC_CHAIN_EXPR:
+   /* The argument is used as information only.  No need to gimplify */
+   ret = GS_ALL_DONE;
+   break;
+
  case TREE_LIST:
    gcc_unreachable ();
 
Index: tree-gimple.c
===================================================================
RCS file: /usr/cvs/cm3/m3-sys/m3cc/gcc-apple/gcc/tree-gimple.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 tree-gimple.c
--- tree-gimple.c 15 May 2009 08:41:27 -0000 1.1.1.1
+++ tree-gimple.c 15 May 2009 09:34:03 -0000
@@ -72,6 +72,7 @@
     case VECTOR_CST:
     case OBJ_TYPE_REF:
     case ASSERT_EXPR:
+    case STATIC_CHAIN_EXPR:
       return true;
 
     default:
Index: tree-nested.c
===================================================================
RCS file: /usr/cvs/cm3/m3-sys/m3cc/gcc-apple/gcc/tree-nested.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 tree-nested.c
--- tree-nested.c 15 May 2009 08:41:27 -0000 1.1.1.1
+++ tree-nested.c 15 May 2009 09:34:03 -0000
@@ -1603,6 +1603,9 @@
   switch (TREE_CODE (t))
     {
     case ADDR_EXPR:
+      if (TREE_STATIC (t))
+ break;
+
       /* Build
     T.1 = &CHAIN->tramp;
     T.2 = __builtin_adjust_trampoline (T.1);
@@ -1693,6 +1696,22 @@
  }
       break;
 
+    case STATIC_CHAIN_EXPR:
+      decl = TREE_OPERAND (t, 0);
+      target_context = decl_function_context (decl);
+      if (target_context)
+ {
+   if (info->context == target_context)
+     {
+       /* Make sure frame_decl gets created.  */
+       (void) get_frame_type (info);
+     }
+   *tp = get_static_chain (info, target_context, &wi->tsi);
+ }
+      else
+ *tp = null_pointer_node;
+      break;
+
     case RETURN_EXPR:
     case MODIFY_EXPR:
     case WITH_SIZE_EXPR:
@@ -1892,7 +1911,7 @@
      proper BIND_EXPR.  */
   if (root->new_local_var_chain)
     declare_vars (root->new_local_var_chain, DECL_SAVED_TREE (root->context),
-    false);
+    true);
   if (root->debug_var_chain)
     declare_vars (root->debug_var_chain, DECL_SAVED_TREE (root->context),
     true);
Index: tree-ssa-alias.c
===================================================================
RCS file: /usr/cvs/cm3/m3-sys/m3cc/gcc-apple/gcc/tree-ssa-alias.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 tree-ssa-alias.c
--- tree-ssa-alias.c 15 May 2009 08:41:28 -0000 1.1.1.1
+++ tree-ssa-alias.c 15 May 2009 09:34:04 -0000
@@ -1695,6 +1695,7 @@
  {
    if (!bitmap_bit_p (addressable_vars, DECL_UID (var))
        && TREE_CODE (var) != RESULT_DECL
+       && !TREE_THIS_VOLATILE (var) /* M3 hack to preserve TREE_ADDRESSABLE */
        && !is_global_var (var))
      {
        bool okay_to_mark = true;
Index: tree.def
===================================================================
RCS file: /usr/cvs/cm3/m3-sys/m3cc/gcc-apple/gcc/tree.def,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 tree.def
--- tree.def 15 May 2009 08:41:26 -0000 1.1.1.1
+++ tree.def 15 May 2009 09:34:05 -0000
@@ -528,6 +528,10 @@
    Operand 2 is the static chain argument, or NULL.  */
 DEFTREECODE (CALL_EXPR, "call_expr", tcc_expression, 3)
 
+/* Static chain.  Operand 0 is the FUNCTION_DECL for which the static chain is
+   to be computed. */
+DEFTREECODE (STATIC_CHAIN_EXPR, "static_chain_expr", tcc_expression, 1)
+
 /* Specify a value to compute along with its corresponding cleanup.
    Operand 0 is the cleanup expression.
    The cleanup is executed by the first enclosing CLEANUP_POINT_EXPR,



 - Jay


----------------------------------------
> Date: Fri, 15 May 2009 11:36:00 +0000
> To: m3commit at elegosoft.com
> From: jkrell at elego.de
> Subject: [M3commit] CVS Update: cm3
>
> CVSROOT: /usr/cvs
> Changes by: jkrell at birch. 09/05/15 11:36:00
>
> Modified files:
> cm3/m3-sys/m3cc/gcc-apple/gcc/: final.c gimplify.c tree-gimple.c
> tree-nested.c tree-ssa-alias.c
> tree.def
>
> Log message:
> merge changes from mainline, filtering out those that "just" are
> to aid debugging or are #if 0'ed or commented out
>


More information about the M3commit mailing list