
Go to the source code of this file.
| #define DR_MISALIGNMENT | ( | DR | ) | (DR)->aux |
Definition at line 244 of file tree-vectorizer.h.
Referenced by aligned_access_p(), known_alignment_for_access_p(), unknown_alignment_for_access_p(), vect_compute_data_ref_alignment(), vect_enhance_data_refs_alignment(), vect_update_misalignment_for_peel(), and vectorizable_load().
| #define EXPR_LOC | ( | e | ) | EXPR_LOCUS(e) |
| #define LOC_FILE | ( | l | ) | (l)->file |
Definition at line 35 of file tree-vectorizer.h.
Referenced by slpeel_make_loop_iterate_ntimes(), slpeel_tree_peel_loop_to_edge(), and vect_print_dump_info().
| #define LOC_LINE | ( | l | ) | (l)->line |
Definition at line 36 of file tree-vectorizer.h.
Referenced by slpeel_make_loop_iterate_ntimes(), slpeel_tree_peel_loop_to_edge(), and vect_print_dump_info().
Definition at line 122 of file tree-vectorizer.h.
Referenced by new_loop_vec_info(), vect_enhance_data_refs_alignment(), and vect_transform_loop().
Definition at line 126 of file tree-vectorizer.h.
Referenced by vect_analyze_data_ref_accesses(), vect_analyze_data_ref_dependence(), vect_analyze_data_refs(), vect_analyze_data_refs_alignment(), vect_analyze_loop(), vect_analyze_operations(), vect_analyze_pointer_ref_access(), vect_analyze_scalar_cycles(), vect_enhance_data_refs_alignment(), vect_mark_stmts_to_be_vectorized(), vect_object_analysis(), vect_transform_loop(), and vectorizable_load().
Definition at line 114 of file tree-vectorizer.h.
Referenced by destroy_loop_vec_info(), new_loop_vec_info(), vect_analyze_data_refs(), vect_analyze_operations(), vect_determine_vectorization_factor(), vect_mark_stmts_to_be_vectorized(), vect_pattern_recog(), and vect_transform_loop().
Definition at line 120 of file tree-vectorizer.h.
Referenced by destroy_loop_vec_info(), new_loop_vec_info(), vect_analyze_data_ref_accesses(), vect_analyze_data_ref_dependences(), vect_analyze_data_refs(), vect_analyze_data_refs_alignment(), vect_compute_data_refs_alignment(), vect_enhance_data_refs_alignment(), and vect_update_inits_of_drs().
Definition at line 119 of file tree-vectorizer.h.
Referenced by destroy_loop_vec_info(), new_loop_vec_info(), vect_analyze_data_ref_accesses(), vect_analyze_data_ref_dependences(), vect_analyze_data_refs(), vect_analyze_data_refs_alignment(), vect_compute_data_refs_alignment(), vect_enhance_data_refs_alignment(), and vect_update_inits_of_drs().
Definition at line 115 of file tree-vectorizer.h.
Referenced by new_loop_vec_info(), vect_analyze_loop_form(), and vect_stmt_relevant_p().
Definition at line 121 of file tree-vectorizer.h.
Referenced by vect_analyze_loop_form(), vect_analyze_operations(), and vect_transform_loop().
Definition at line 124 of file tree-vectorizer.h.
Referenced by new_loop_vec_info(), and vect_analyze_loop_form().
Definition at line 113 of file tree-vectorizer.h.
Referenced by destroy_loop_vec_info(), new_loop_vec_info(), vect_analyze_data_ref_dependence(), vect_analyze_data_refs(), vect_analyze_operations(), vect_analyze_pointer_ref_access(), vect_analyze_scalar_cycles(), vect_build_loop_niters(), vect_can_advance_ivs_p(), vect_create_data_ref_ptr(), vect_create_epilog_for_reduction(), vect_create_index_for_vector_ref(), vect_determine_vectorization_factor(), vect_do_peeling_for_alignment(), vect_do_peeling_for_loop_bound(), vect_gen_niters_for_prolog_loop(), vect_generate_tmps_on_preheader(), vect_get_vec_def_for_operand(), vect_init_vector(), vect_is_simple_use(), vect_mark_stmts_to_be_vectorized(), vect_object_analysis(), vect_pattern_recog(), vect_stmt_relevant_p(), vect_transform_loop(), vect_update_ivs_after_vectorizer(), vectorizable_load(), and vectorizable_reduction().
Definition at line 116 of file tree-vectorizer.h.
Referenced by new_loop_vec_info(), vect_analyze_loop_form(), vect_build_loop_niters(), vect_do_peeling_for_alignment(), vect_generate_tmps_on_preheader(), and vect_transform_loop().
| #define LOOP_VINFO_NITERS_KNOWN_P | ( | L | ) |
Value:
(host_integerp ((L)->num_iters,0) \ && TREE_INT_CST_LOW ((L)->num_iters) > 0)
Definition at line 129 of file tree-vectorizer.h.
Referenced by vect_analyze_loop_form(), vect_analyze_operations(), and vect_transform_loop().
Definition at line 123 of file tree-vectorizer.h.
Referenced by new_loop_vec_info(), vect_enhance_data_refs_alignment(), and vect_gen_niters_for_prolog_loop().
Definition at line 118 of file tree-vectorizer.h.
Referenced by new_loop_vec_info(), vect_analyze_data_ref_dependence(), vect_analyze_operations(), vect_determine_vectorization_factor(), vect_enhance_data_refs_alignment(), vect_gen_niters_for_prolog_loop(), vect_generate_tmps_on_preheader(), vect_transform_loop(), vectorizable_operation(), and vectorizable_reduction().
Definition at line 117 of file tree-vectorizer.h.
Referenced by new_loop_vec_info(), vect_analyze_loop(), and vectorize_loops().
Definition at line 214 of file tree-vectorizer.h.
Referenced by exist_non_indexing_operands_for_use_p(), new_stmt_vec_info(), vect_align_data_ref(), vect_analyze_data_refs(), vect_analyze_operations(), vect_create_addr_base_for_vector_ref(), vect_create_data_ref_ptr(), vect_determine_vectorization_factor(), vect_enhance_data_refs_alignment(), vectorizable_load(), and vectorizable_store().
Definition at line 210 of file tree-vectorizer.h.
Referenced by new_stmt_vec_info(), vect_analyze_pointer_ref_access(), vect_create_data_ref_ptr(), vect_create_epilog_for_reduction(), vect_get_vec_def_for_operand(), vect_init_vector(), vect_object_analysis(), vect_pattern_recog_1(), vectorizable_assignment(), vectorizable_condition(), vectorizable_live_operation(), vectorizable_load(), vectorizable_operation(), vectorizable_reduction(), vectorizable_store(), and widened_name_p().
Definition at line 215 of file tree-vectorizer.h.
Referenced by new_stmt_vec_info(), vect_analyze_data_refs(), and vect_create_data_ref_ptr().
Definition at line 211 of file tree-vectorizer.h.
Referenced by new_stmt_vec_info(), vect_analyze_operations(), vect_determine_vectorization_factor(), vect_mark_relevant(), vect_mark_stmts_to_be_vectorized(), vect_transform_loop(), vect_transform_stmt(), vectorizable_assignment(), vectorizable_condition(), vectorizable_load(), vectorizable_operation(), and vectorizable_reduction().
Definition at line 208 of file tree-vectorizer.h.
Referenced by new_stmt_vec_info(), vect_transform_stmt(), vectorizable_assignment(), vectorizable_condition(), vectorizable_load(), vectorizable_operation(), vectorizable_reduction(), and vectorizable_store().
Definition at line 213 of file tree-vectorizer.h.
Referenced by new_stmt_vec_info(), vect_get_vec_def_for_operand(), and vect_transform_stmt().
Definition at line 219 of file tree-vectorizer.h.
Referenced by new_stmt_vec_info(), vect_analyze_data_refs(), and vect_compute_data_ref_alignment().
Definition at line 216 of file tree-vectorizer.h.
Referenced by new_stmt_vec_info(), vect_analyze_data_refs(), vect_base_addr_differ_p(), vect_compute_data_ref_alignment(), vect_create_addr_base_for_vector_ref(), and vect_create_data_ref_ptr().
Definition at line 217 of file tree-vectorizer.h.
Referenced by new_stmt_vec_info(), vect_analyze_data_refs(), vect_create_addr_base_for_vector_ref(), and vect_update_inits_of_dr().
Definition at line 220 of file tree-vectorizer.h.
Referenced by new_stmt_vec_info(), vect_analyze_data_refs(), and vect_compute_data_ref_alignment().
Definition at line 218 of file tree-vectorizer.h.
Referenced by new_stmt_vec_info(), vect_analyze_data_ref_access(), vect_analyze_data_refs(), vect_create_addr_base_for_vector_ref(), and vect_update_inits_of_dr().
Definition at line 212 of file tree-vectorizer.h.
Referenced by get_initial_def_for_reduction(), new_stmt_vec_info(), vect_analyze_data_refs(), vect_analyze_operations(), vect_compute_data_ref_alignment(), vect_create_data_ref_ptr(), vect_determine_vectorization_factor(), vect_enhance_data_refs_alignment(), vect_gen_niters_for_prolog_loop(), vect_get_vec_def_for_operand(), vect_init_vector(), vect_pattern_recog_1(), vect_supportable_dr_alignment(), vect_transform_loop(), vectorizable_assignment(), vectorizable_condition(), vectorizable_load(), vectorizable_operation(), vectorizable_reduction(), and vectorizable_store().
| #define UNKNOWN_LOC NULL |
Definition at line 33 of file tree-vectorizer.h.
Referenced by find_loop_location(), get_vectype_for_scalar_type(), new_loop_vec_info(), slpeel_make_loop_iterate_ntimes(), slpeel_tree_peel_loop_to_edge(), vect_analyze_data_ref_access(), vect_analyze_data_ref_accesses(), vect_analyze_data_ref_dependences(), vect_analyze_data_refs(), vect_analyze_data_refs_alignment(), vect_analyze_loop(), vect_analyze_offset_expr(), vect_analyze_operations(), vect_analyze_pointer_ref_access(), vect_analyze_scalar_cycles(), vect_can_advance_ivs_p(), vect_compute_data_ref_alignment(), vect_create_addr_base_for_vector_ref(), vect_create_data_ref_ptr(), vect_do_peeling_for_alignment(), vect_do_peeling_for_loop_bound(), vect_finish_stmt_generation(), vect_get_loop_niters(), vect_get_vec_def_for_operand(), vect_init_vector(), vect_is_simple_iv_evolution(), vect_is_simple_use(), vect_mark_relevant(), vect_mark_stmts_to_be_vectorized(), vect_object_analysis(), vect_print_dump_info(), vect_stmt_relevant_p(), vect_transform_loop(), vect_transform_stmt(), vect_update_ivs_after_vectorizer(), vectorizable_assignment(), vectorizable_load(), vectorizable_operation(), vectorizable_store(), and vectorize_loops().
| #define VECT_SMODULO | ( | x, | |||
| y | ) | ((x) % (y) < 0 ? ((x) % (y) + (y)) : (x) % (y)) |
Definition at line 259 of file tree-vectorizer.h.
| typedef source_locus LOC |
Definition at line 32 of file tree-vectorizer.h.
| typedef struct _loop_vec_info * loop_vec_info |
| typedef struct _stmt_vec_info * stmt_vec_info |
| enum dr_alignment_support |
| dr_unaligned_unsupported | |
| dr_unaligned_supported | |
| dr_unaligned_software_pipeline | |
| dr_aligned | |
| dr_unaligned_unsupported | |
| dr_unaligned_supported | |
| dr_unaligned_software_pipeline | |
| dr_aligned |
Definition at line 52 of file tree-vectorizer.h.
| enum operation_type |
Definition at line 46 of file tree-vectorizer.h.
| enum stmt_vec_info_type |
Definition at line 136 of file tree-vectorizer.h.
| enum vect_var_kind |
Definition at line 40 of file tree-vectorizer.h.
| enum verbosity_levels |
Definition at line 60 of file tree-vectorizer.h.
| static bool aligned_access_p | ( | struct data_reference * | data_ref_info | ) | [inline, static] |
Definition at line 247 of file tree-vectorizer.h.
References DR_MISALIGNMENT.
Referenced by vect_align_data_ref(), vect_enhance_data_refs_alignment(), vect_supportable_dr_alignment(), and vectorizable_load().
| void destroy_loop_vec_info | ( | loop_vec_info | ) |
Definition at line 1241 of file tree-vectorizer.c.
Definition at line 1040 of file tree-vectorizer.c.
Definition at line 1339 of file tree-vectorizer.c.
| loop_vec_info new_loop_vec_info | ( | struct loop * | loop | ) |
Definition at line 1191 of file tree-vectorizer.c.
| stmt_vec_info new_stmt_vec_info | ( | tree | stmt, | |
| loop_vec_info | ||||
| ) |
Definition at line 1162 of file tree-vectorizer.c.
| static void set_stmt_info | ( | stmt_ann_t | ann, | |
| stmt_vec_info | stmt_info | |||
| ) | [inline, static] |
Definition at line 226 of file tree-vectorizer.h.
Referenced by destroy_loop_vec_info(), new_loop_vec_info(), vect_create_data_ref_ptr(), vect_create_index_for_vector_ref(), vect_pattern_recog_1(), and vect_transform_loop().
Definition at line 773 of file tree-vectorizer.c.
Definition at line 566 of file tree-vectorizer.c.
| struct loop* slpeel_tree_peel_loop_to_edge | ( | struct loop * | , | |
| struct loops * | , | |||
| edge | , | |||
| tree | , | |||
| tree | , | |||
| bool | ||||
| ) | [read] |
Definition at line 872 of file tree-vectorizer.c.
| static bool unknown_alignment_for_access_p | ( | struct data_reference * | data_ref_info | ) | [inline, static] |
| loop_vec_info vect_analyze_loop | ( | struct loop * | ) |
Definition at line 2420 of file tree-vect-analyze.c.
Definition at line 1310 of file tree-vectorizer.c.
Definition at line 1497 of file tree-vectorizer.c.
| bool vect_is_simple_use | ( | tree | , | |
| loop_vec_info | , | |||
| tree * | ||||
| ) |
Definition at line 1430 of file tree-vectorizer.c.
References bb_for_stmt(), flow_bb_inside_loop_p(), fprintf(), IS_EMPTY_STMT, LOOP_VINFO_LOOP, NULL_TREE, print_generic_expr(), REPORT_DETAILS, SSA_NAME, SSA_NAME_DEF_STMT, TDF_SLIM, TREE_CODE, TREE_OPERAND, UNKNOWN_LOC, vect_dump, and vect_print_dump_info().
Referenced by vect_get_vec_def_for_operand(), vect_is_simple_cond(), vect_mark_stmts_to_be_vectorized(), vectorizable_assignment(), vectorizable_condition(), vectorizable_live_operation(), vectorizable_operation(), vectorizable_reduction(), vectorizable_store(), and widened_name_p().
Definition at line 1136 of file tree-vectorizer.c.
References current_function_decl, DECL_SOURCE_FILE, DECL_SOURCE_LINE, fprintf(), LOC_FILE, LOC_LINE, UNKNOWN_LOC, vect_dump, and vect_verbosity_level.
Referenced by get_vectype_for_scalar_type(), vect_analyze_data_ref_access(), vect_analyze_data_ref_accesses(), vect_analyze_data_ref_dependence(), vect_analyze_data_ref_dependences(), vect_analyze_data_refs(), vect_analyze_data_refs_alignment(), vect_analyze_loop(), vect_analyze_loop_form(), vect_analyze_offset_expr(), vect_analyze_operations(), vect_analyze_pointer_ref_access(), vect_analyze_scalar_cycles(), vect_can_advance_ivs_p(), vect_compute_data_ref_alignment(), vect_create_addr_base_for_vector_ref(), vect_create_data_ref_ptr(), vect_create_epilog_for_reduction(), vect_determine_vectorization_factor(), vect_do_peeling_for_alignment(), vect_do_peeling_for_loop_bound(), vect_enhance_data_refs_alignment(), vect_finish_stmt_generation(), vect_gen_niters_for_prolog_loop(), vect_get_loop_niters(), vect_get_vec_def_for_operand(), vect_init_vector(), vect_is_simple_iv_evolution(), vect_is_simple_reduction(), vect_is_simple_use(), vect_mark_relevant(), vect_mark_stmts_to_be_vectorized(), vect_object_analysis(), vect_pattern_recog(), vect_pattern_recog_1(), vect_recog_dot_prod_pattern(), vect_recog_widen_sum_pattern(), vect_stmt_relevant_p(), vect_transform_loop(), vect_transform_stmt(), vect_update_ivs_after_vectorizer(), vect_verify_datarefs_alignment(), vectorizable_assignment(), vectorizable_condition(), vectorizable_live_operation(), vectorizable_load(), vectorizable_operation(), vectorizable_reduction(), vectorizable_store(), and vectorize_loops().
| void vect_set_verbosity_level | ( | const char * | ) |
Definition at line 1084 of file tree-vectorizer.c.
Definition at line 1283 of file tree-vectorizer.c.
References GET_MODE_SIZE, INTEGRAL_TYPE_P, NULL_TREE, ti, TREE_CODE, TREE_OPERAND, TREE_TYPE, and TYPE_MODE.
Referenced by vect_analyze_offset_expr().
| enum dr_alignment_support vect_supportable_dr_alignment | ( | struct data_reference * | ) |
Definition at line 1389 of file tree-vectorizer.c.
| void vect_transform_loop | ( | loop_vec_info | , | |
| struct loops * | ||||
| ) |
| bool vectorizable_assignment | ( | tree | , | |
| block_stmt_iterator * | , | |||
| tree * | ||||
| ) |
| bool vectorizable_load | ( | tree | , | |
| block_stmt_iterator * | , | |||
| tree * | ||||
| ) |
| bool vectorizable_operation | ( | tree | , | |
| block_stmt_iterator * | , | |||
| tree * | ||||
| ) |
| bool vectorizable_store | ( | tree | , | |
| block_stmt_iterator * | , | |||
| tree * | ||||
| ) |
Definition at line 1559 of file tree-vectorizer.c.
| static stmt_vec_info vinfo_for_stmt | ( | tree | stmt | ) | [inline, static] |
Definition at line 233 of file tree-vectorizer.h.
References NULL, and stmt_ann().
Referenced by destroy_loop_vec_info(), exist_non_indexing_operands_for_use_p(), get_initial_def_for_reduction(), vect_align_data_ref(), vect_analyze_data_ref_access(), vect_analyze_data_ref_dependence(), vect_analyze_data_refs(), vect_analyze_operations(), vect_analyze_pointer_ref_access(), vect_analyze_scalar_cycles(), vect_base_addr_differ_p(), vect_can_advance_ivs_p(), vect_compute_data_ref_alignment(), vect_create_addr_base_for_vector_ref(), vect_create_data_ref_ptr(), vect_create_epilog_for_reduction(), vect_determine_vectorization_factor(), vect_enhance_data_refs_alignment(), vect_gen_niters_for_prolog_loop(), vect_get_vec_def_for_operand(), vect_init_vector(), vect_is_simple_use(), vect_mark_relevant(), vect_mark_stmts_to_be_vectorized(), vect_object_analysis(), vect_pattern_recog_1(), vect_recog_dot_prod_pattern(), vect_recog_widen_sum_pattern(), vect_supportable_dr_alignment(), vect_transform_loop(), vect_transform_stmt(), vect_update_inits_of_dr(), vect_update_ivs_after_vectorizer(), vect_update_misalignment_for_peel(), vectorizable_assignment(), vectorizable_condition(), vectorizable_live_operation(), vectorizable_load(), vectorizable_operation(), vectorizable_reduction(), vectorizable_store(), and widened_name_p().
Definition at line 173 of file tree-vectorizer.c.
Definition at line 177 of file tree-vectorizer.c.
1.5.6