[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