This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
tree-vectorizer.c splitup
- From: Dorit Naishlos <DORIT at il dot ibm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 31 Jan 2005 19:27:36 +0200
- Subject: tree-vectorizer.c splitup
- Reply-to:
- Sensitivity:
Looks like it's time to split up the tree-vectorizer.c file (I hear it's
been a subject of discussion on IRC...). I was thinking to split it as
follows:
tree-simple-loop-utils.c: loop-peeling utilities (non vectorizer specific)
tree-vectorizer.c: main driver and general vectorization utilities
tree-vect-analyze.c: analysis functions
tree-vect-transform.c: transformation functions
Would this be acceptable for 4.0?
Here's a more detailed breakdown of the funnctions into the proposed files:
tree-simple-loop-utils.c
========================
- slpeel_tree_peel_loop_to_edge
- slpeel_tree_duplicate_loop_to_edge_cfg
- slpeel_update_phis_for_duplictae_loop
- slpeel_update_phi_nodes_for_guard
- slpeel_make_loop_iterate_ntimes
- slpeel_add_loop_guard
- slpeel_can_duplicate_loop_p
- slpeel_verify_cfg_after_peeling
- allocate_nre_names
- rename_use_op
- rename_def_op
- rename_variables_in_bb
- free_new_names
- rename_variables_in_loop
tree-vectorizer.c
=================
- vectorize_loops
- get_vectype_for_scalar_type
- new_stmt_vec_info
- new_loop_vec_info
- destroy_loop_vec_info
- debug_loop_stats
- debug_loop_details
- vect_strip_conversions
- vect_force_dr_alignment_p
- need_imm_uses_for
- vect_is_simple_iv_evolution
- vect_is_simple_use
- vect_supportable_dr_alignment
- vect_force_dr_alignment_p
tree-vect-transform.c
=====================
- vect_transform_loop
- vect_do_peeling_for_alignment
- vect_do_peeling_for_loop_bound
- vect_build_loop_niters
- vect_generate_tmps_on_preheader
- vect_update_ivs_after_vectorizer
- vect_gen_niters_for_prolog_loop
- vect_update_inits_of_drs
- vect_transform_stmt
- vectorizable_operation
- vectorizable_store
- vectorizable_load
- vectorizable_assignment
- vect_get_new_vect_var
- vect_create_index_for_vector_ref
- vect_create_addr_base_for_vector_ref
- vect_align_data_ref
- vect_create_data_ref_ptr
- vect_create_destination_var
- vect_init_vector
- vect_get_vec_def_for_operand
- vect_finish_stmt_generation
tree-vect-analyze.c
===================
- vect_analyze_loop
- vect_analyze_loop_form
- vect_get_loop_niters
- vect_can_advance_ivs_p
- vect_mark_stmts_to_be_vectorized
- vect_stmt_relevant_p
- vect_mark_relevant
- exist_non_indexing_operands_for_use_p
- vect_analyze_scalar_cycles
- vect_analyze_data_refs.
- vect_analyze_pointer_ref_access.
- vect_get_memtag_and_dr.
- vect_analyze_offset_expr
- vect_get_base_and_offset
- vect_analyze_data_ref_dependences.
- vect_analyze_data_refs_alignment
- vect_compute_data_refs_alignment
- vect_get_ptr_offset
- vect_enhance_data_refs_alignment
- vect_analyze_data_ref_accesses.
- vect_analyze_operations
thanks,
dorit