aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorLeehod Baruch <leehod@il.ibm.com>2005-02-03 16:22:22 +0000
committerDorit Nuzman <dorit@gcc.gnu.org>2005-02-03 16:22:22 +0000
commit7353a8c12a4efd1c6dbffaa4ccedc13ae0848a7b (patch)
treeb157d80f51fd99c8e66b6d2648dda3eeef4e3f5a /gcc/tree-vectorizer.h
parentef302293136af29f6b167bb87f647fca3d423767 (diff)
downloadgcc-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.h19
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) \