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
This commit is contained in:
parent
ef30229313
commit
7353a8c12a
File diff suppressed because it is too large
Load Diff
@ -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) \
|
||||
|
Loading…
Reference in New Issue
Block a user