[M3devel] the slightly difficult to merge parts 4.3 vs. 4.5

Jay K jay.krell at cornell.edu
Sun May 30 13:45:36 CEST 2010


I'm understanding this a bit more.
The process of converting "generic" trees to "gimple" seems to have changed a bunch.
The set of tree opcodes and gimple opcodes are now completely seperate I believe -- gimple.def is new.


 - Jay

----------------------------------------
> From: jay.krell at cornell.edu
> To: m3devel at elegosoft.com
> Date: Sun, 30 May 2010 09:47:21 +0000
> Subject: [M3devel] the slightly difficult to merge parts 4.3 vs. 4.5
>
>
> --- /src/orig/gcc-4.3.0/gcc/tree-gimple.c    2007-12-13 13:49:09.000000000 -0800
> +++ /dev2/cm3/m3-sys/m3cc/gcc/gcc/tree-gimple.c    2010-05-09 22:27:56.000000000 -0700
> @@ -74,6 +74,7 @@
>      case VECTOR_CST:
>      case OBJ_TYPE_REF:
>      case ASSERT_EXPR:
> +    case STATIC_CHAIN_EXPR:
>        return true;
>
>      default:
>
>
> That is in is gimple_formal_tmp_rhs, which no longer exists, but which the various
> callers do. One obvious guess is callers should each check for STATIC_CHAIN_EXPR.
>
>
>
> tree-nested.c:
> +    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;
> +
>
>
> That is in convert_call_expr.
> Which is now called convert_gimple_call, but which is significantly different.
> Hm..I see...there is a new gimple.def, similar to tree.def..
>
> Maybe just have to put STATIC_CHAIN_EXPR in there instead, or
> put a form in each.
>
>  - Jay
>
>
 		 	   		  


More information about the M3devel mailing list