This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][MIDDLE-END] Tuplification of matrix-reorg.c


"Diego Novillo" <dnovillo@google.com> wrote on 01/08/2008 17:28:55:

> On Tue, Jul 29, 2008 at 13:58, Doug Kwan (關振) <dougkwan@google.com> 
wrote:
> 
> > 2008-07-28  Doug Kwan  <dougkwan@google.com>
> >
> >        * gcc/matrix-reorg.c (File): Re-enable all code.
> >        (struct malloc_call_data): Change CALL_STMT to gimple type.
> >        (collect_data_for_malloc_call): Tuplify.
> >        (struct access_site_info): Change STMT to gimple type.
> >        (struct matrix_info): Change MIN_INDIRECT_LEVEL_ESCAPE_STMT,
> >        and MALLOC_FOR_LEVEL to gimple and gimple pointer type.
> >        (struct free_info): Change STMT to gimple type.
> >        (struct matrix_access_phi_node):  Change PHI to gimple type.
> >        (get_inner_of_cast_expr): Remove.
> >        (may_flatten_matrices_1): Tuplify.
> >        (may_flatten_matrices): Ditto.
> >        (mark_min_matrix_escape_level): Ditto.
> >        (ssa_accessed_in_tree): Refactor statement RHS related code 
into ...
> >        (ssa_accessed_in_call_rhs): New
> >        (ssa_accessed_in_assign_rhs): New
> >        (record_access_alloc_site_info): Tuplify.
> >        (add_allocation_site): Ditto.
> >        (analyze_matrix_allocation_site): Ditto.
> >        (analyze_transpose): Ditto.
> >        (get_index_from_offset): Ditto.
> >        (update_type_size): Ditto.
> >        (analyze_accesses_for_call_expr): Tuplify and renamed into ...
> >        (analyze_accesses_for_call_stmt): New. Also handle LHS of a 
call.
> >        (analyze_accesses_for_phi_node): Tuplify.
> >        (analyze_accesses_for_modify_stmt): Tuplify and renamed into 
...
> >        (analyze_accesses_for_assign_stmt): Remove code for 
> handling call LHS.
> >        (analyze_matrix_accesses): Tuplify.
> >        (check_var_data): New call-back type for 
check_var_notmodified_p.
> >        (check_var_notmodified_p): Tuplify and use call-back struct to
> >        return statement found.
> >        (can_calculate_expr_before_stmt): Factor out statement related 
code
> >        into ...
> >        (can_calculate_stmt_before_stmt): New.
> >        (check_allocation_function): Tuplify.
> >        (find_sites_in_func): Ditto.
> >        (record_all_accesses_in_func): Ditto.
> >        (transform_access_sites): Ditto.
> >        (transform_allocation_sites): Ditto.
> >        (matrix_reorg): Re-enable.
> >        (gate_matrix_reorg): Re-enable.
> 
> It looks OK.  When I worked on it briefly, the only stumbling
> block had been the walk_tree callback that needs the additional
> structure to return a gimple statement and the removal of
> get_inner_of_cast_expr.  The rest was fairly mechanical.
> 
> Only a couple of formatting nits.
> 
> > +
> > +static void
> > +ssa_accessed_in_assign_rhs (gimple stmt, struct ssa_acc_in_tree *a)
> > +{
> 
> Needs comment.
> 
> > +/* Go backwards in the use-def chains and find out the expression
> > +   represented by the possible SSA name in EXPR, until it is composed
> > +   of only VAR_DECL, PARM_DECL and INT_CST.  In case of phi nodes
> > +   we make sure that all the arguments represent the same 
subexpression,
> > +   otherwise we fail.  */
> > +static tree
> 
> Blank line after comment.
> 
> If Razya has other issues to address, we can do it once the patch
> is committed.

That's fine with me.
Razya

>  For now, I'd rather get those failures fixed.
> 
> 
> Thanks.  Diego.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]