This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][MIDDLE-END] Tuplification of matrix-reorg.c
- From: Razya Ladelsky <RAZYA at il dot ibm dot com>
- To: "Diego Novillo" <dnovillo at google dot com>
- Cc: "Doug Kwan (關振?)" <dougkwan at google dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>, razya at gcc dot gnu dot org
- Date: Fri, 1 Aug 2008 17:56:53 +0300
- Subject: 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.