Hi, On Tue, Jun 21, 2011 at 05:12:40PM +0200, Richard Guenther wrote: > > This is the middle-end pieces, without the C/C++ frontend changes. > Enough to work on the Fortran parts. > > Doesn't even break bootstrap. > > Richard. > > 2008-04-11 Richard Guenther <rguent...@suse.de> > > * builtin-attrs.def (ATTR_COVARIANTRETURN): Add. > (ATTR_NOTHROW_TYPEGENERIC): Likewise. > (ATTR_NOTHROW_TYPEGENERIC_COVARIANTRETURN): Likewise. > * builtins.def (BUILT_IN_ARRAY_SELECT): New builtin function. > (BUILT_IN_ARRAY_STORE): Likewise. > (BUILT_IN_ARRAY_IDX): Likewise. > (BUILT_IN_ARRAY_RIDX): Likewise. > (BUILT_IN_ARRAY_DELTA): Likewise. > * gimplify.c (internal_get_tmp_var): Mark array temporaries > as gimple register. > (gimple_add_tmp_var): Do not require constant size for array > temporaries. > (maybe_with_size_expr): Do not wrap VLA_VIEW_EXPR or VLA_RIDX_EXPR > inside WITH_SIZE_EXPR. > (get_array_arg_type): New helper function. > (vla_to_vla_view_expr): Likewise. > (lower_builtin_array_expr): Helper for gimplifying array builtins > to VLA tree expressions. > (gimplify_call_expr): Call it. > (gimplify_modify_expr): Do not wrap copies of array temporaries > inside WITH_SIZE_EXPR. Do not lower copies of array temporaries > to memcpy calls. > (gimplify_expr): Handle VLA_VIEW_EXPR, VLA_IDX_EXPR, VLA_RIDX_EXPR > and VLA_DELTA_EXPR. > * tree-gimple.c (is_gimple_formal_tmp_rhs): Allow VLA_IDX_EXPR, > VLA_RIDX_EXPR and VLA_DELTA_EXPR. > (is_gimple_lvalue): Allow VLA_VIEW_EXPR. > (is_gimple_reg_type): Allow arrays. > (is_gimple_reg): Likewise. > * cfgexpand.c (estimated_stack_frame_size): Gimple registers do > not consume stack space. > * tree-cfg.c (verify_gimple_expr): Handle WITH_SIZE_EXPR, > VLA_VIEW_EXPR, VLA_IDX_EXPR, VLA_RIDX_EXPR and VLA_DELTA_EXPR. > * tree-inline.c (estimate_num_insns_1): Handle VLA_IDX_EXPR > and VLA_RIDX_EXPR. Treat VLA_VIEW_EXPR and VLA_DELTA_EXPR > as expensive as OMP stuff. > * tree-pretty-print.c (dump_generic_node): Handle VLA_VIEW_EXPR, > VLA_IDX_EXPR, VLA_RIDX_EXPR and VLA_DELTA_EXPR. > * tree.def (VLA_VIEW_EXPR): New tree code. > (VLA_IDX_EXPR): Likewise. > (VLA_RIDX_EXPR): Likewise. > (VLA_DELTA_EXPR): Likewise. > * tree-ssa-operands.c (get_expr_operands): Handle them all. > * tree-ssa-sccvn.c (visit_use): Handle only calls like calls. > * tree-ssa-sink.c (is_hidden_global_store): VLA_VIEW_EXPR is one. > * ipa-pure-const.c (check_tree): Look int VLA_VIEW_EXPRs VLA > argument. > * tree-dfa.c (refs_may_alias_p): Allow VLA_VIEW_EXPR. > * tree-sra.c (maybe_lookup_element_for_expr): Make sure to > not scalarize arrays used in VLA_VIEW_EXPR. > (sra_walk_expr): Likewise.
It probably does not matter but the tree-sra hunks were not included in the patch. Martin