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: "=?big5?b?RG91ZyBLd2FuICjD9q62vHcp?=" <dougkwan at google dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, razya at gcc dot gnu dot org
- Date: Tue, 29 Jul 2008 22:04:29 +0300
- Subject: Re: [PATCH][MIDDLE-END] Tuplification of matrix-reorg.c
"Doug Kwan (Ãö®¶¼w)" <dougkwan@google.com> wrote on 29/07/2008 20:58:26:
> Hi
>
> This is the last optimization pass that needed to be tuplified.
> Bootstrapped on i686-unknown-linux-gnu, passed all tests in matrix
> test suite and did not break any existing test. I did it mostly last
> weekend and was going to submit it before the merge but did not
> finish it before the merge.
>
> -Doug
I just started working on it,
Thanks for beating me to it :)
>
> 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 handlingcall
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.
> [attachment "patch.txt" deleted by Razya Ladelsky/Haifa/IBM]