diff options
author | Leehod Baruch <leehod@il.ibm.com> | 2005-02-03 16:22:22 +0000 |
---|---|---|
committer | Dorit Nuzman <dorit@gcc.gnu.org> | 2005-02-03 16:22:22 +0000 |
commit | 7353a8c12a4efd1c6dbffaa4ccedc13ae0848a7b (patch) | |
tree | b157d80f51fd99c8e66b6d2648dda3eeef4e3f5a /gcc/tree-vectorizer.h | |
parent | ef302293136af29f6b167bb87f647fca3d423767 (diff) | |
download | gcc-7353a8c12a4efd1c6dbffaa4ccedc13ae0848a7b.zip gcc-7353a8c12a4efd1c6dbffaa4ccedc13ae0848a7b.tar.gz gcc-7353a8c12a4efd1c6dbffaa4ccedc13ae0848a7b.tar.bz2 |
tree-vectorizer.h (LOC): New type.
* tree-vectorizer.h (LOC): New type.
(UNKNOWN_LOC, EXPR_LOC, LOC_FILE, LOC_LINE): New macros.
(loop_line_number): New field in struct _loop_vec_info.
(LOOP_VINFO_LOC, LOOP_LOC): New macros.
* tree-vectorizer.c (input.h): Included.
(find_loop_location): New function.
(vect_debug_stats): Argument changed from loop to LOC. Computation of
loop line number removed.
(vect_debug_details): Likewise.
(new_loop_vec_info): Initialize new field LOOP_VINFO_LOC.
(slpeel_make_loop_iterate_ntimes): Call find_loop_location. Argument in
call to vect_debug_details/stats changed from loop to loop_loc.
(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
(slpeel_tree_peel_loop_to_edge): Likewise.
(vect_analyze_offset_expr): Argument in call to vect_debug_details/stats
changed from NULL to UNKNOWN_LOC.
(vect_get_base_and_offset):
(vect_create_addr_base_for_vector_ref):
(get_vectype_for_scalar_type):
(vect_create_data_ref_ptr):
(vect_init_vector):
(vect_get_vec_def_for_operand):
(vect_finish_stmt_generation):
(vectorizable_assignment):
(vectorizable_operation):
(vectorizable_store):
(vectorizable_load):
(vect_transform_stmt):
(vect_update_ivs_after_vectorizer):
(vect_do_peeling_for_loop_bound):
(vect_do_peeling_for_alignment):
(vect_transform_loop):
(vect_is_simple_use):
(vect_analyze_operations):
(vect_is_simple_iv_evolution):
(vect_analyze_scalar_cycles):
(vect_analyze_data_ref_dependences):
(vect_compute_data_ref_alignment):
(vect_enhance_data_refs_alignment):
(vect_analyze_data_ref_access):
(vect_analyze_data_ref_accesses):
(vect_analyze_pointer_ref_access):
(vect_get_memtag_and_dr):
(vect_analyze_data_refs):
(vect_mark_relevant):
(vect_stmt_relevant_p):
(vect_mark_stmts_to_be_vectorized):
(vect_can_advance_ivs_p):
(vect_get_loop_niters):
(vect_analyze_loop):
(vectorize_loops): Likewise.
(vectorizable_load): Argument in call to vect_debug_details/stats
changed from loop to LOOP_LOC (loop_vinfo).
(vect_transform_loop):
(vect_analyze_operations):
(vect_analyze_scalar_cycles):
(vect_analyze_data_ref_dependence):
(vect_enhance_data_refs_alignment):
(vect_analyze_data_ref_accesses):
(vect_analyze_pointer_ref_access):
(vect_analyze_data_refs):
(vect_analyze_loop): Likewise.
(vect_analyze_loop_form): Argument in call to vect_debug_details/stats
changed from loop to loop_loc.
(vect_enhance_data_refs_alignment): Removed unused variable loop.
From-SVN: r94662
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index 4b893e6..537e963 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -22,6 +22,20 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #ifndef GCC_TREE_VECTORIZER_H #define GCC_TREE_VECTORIZER_H +#ifdef USE_MAPPED_LOCATION + typedef source_location LOC; + #define UNKNOWN_LOC UNKNOWN_LOCATION + #define EXPR_LOC(e) EXPR_LOCATION(e) + #define LOC_FILE(l) LOCATION_FILE (l) + #define LOC_LINE(l) LOCATION_LINE (l) +#else + typedef source_locus LOC; + #define UNKNOWN_LOC NULL + #define EXPR_LOC(e) EXPR_LOCUS(e) + #define LOC_FILE(l) (l)->file + #define LOC_LINE(l) (l)->line +#endif + /* Used for naming of new temporaries. */ enum vect_var_kind { vect_simple_var, @@ -78,6 +92,8 @@ typedef struct _loop_vec_info { /* All data references in the loop that are being read from. */ varray_type data_ref_reads; + /* The loop location in the source. */ + LOC loop_line_number; } *loop_vec_info; /* Access Functions. */ @@ -92,6 +108,9 @@ typedef struct _loop_vec_info { #define LOOP_VINFO_INT_NITERS(L) (TREE_INT_CST_LOW ((L)->num_iters)) #define LOOP_DO_PEELING_FOR_ALIGNMENT(L) (L)->do_peeling_for_alignment #define LOOP_VINFO_UNALIGNED_DR(L) (L)->unaligned_dr +#define LOOP_VINFO_LOC(L) (L)->loop_line_number + +#define LOOP_LOC(L) LOOP_VINFO_LOC(L) #define LOOP_VINFO_NITERS_KNOWN_P(L) \ |