
Go to the source code of this file.
| #define DR_MISALIGNMENT | ( | DR | ) | (DR)->aux |
Definition at line 268 of file tree-vectorizer.h.
| #define EXPR_LOC | ( | e | ) | EXPR_LOCUS(e) |
Definition at line 34 of file tree-vectorizer.h.
| #define LOC_FILE | ( | l | ) | (l)->file |
Definition at line 35 of file tree-vectorizer.h.
| #define LOC_LINE | ( | l | ) | (l)->line |
Definition at line 36 of file tree-vectorizer.h.
Definition at line 149 of file tree-vectorizer.h.
Referenced by new_loop_vec_info(), vect_analyze_operations(), vect_enhance_data_refs_alignment(), vect_gen_niters_for_prolog_loop(), and vect_transform_loop().
Definition at line 140 of file tree-vectorizer.h.
Definition at line 146 of file tree-vectorizer.h.
Referenced by destroy_loop_vec_info(), new_loop_vec_info(), vect_analyze_data_ref_accesses(), vect_analyze_data_refs(), vect_compute_data_refs_alignment(), vect_enhance_data_refs_alignment(), vect_update_inits_of_drs(), and vect_verify_datarefs_alignment().
Definition at line 147 of file tree-vectorizer.h.
Referenced by destroy_loop_vec_info(), new_loop_vec_info(), vect_analyze_data_ref_dependences(), and vect_analyze_data_refs().
Definition at line 141 of file tree-vectorizer.h.
Definition at line 148 of file tree-vectorizer.h.
Definition at line 152 of file tree-vectorizer.h.
Definition at line 139 of file tree-vectorizer.h.
Definition at line 151 of file tree-vectorizer.h.
Referenced by destroy_loop_vec_info(), new_loop_vec_info(), vect_create_cond_for_align_checks(), vect_enhance_data_refs_alignment(), and vect_transform_loop().
Definition at line 142 of file tree-vectorizer.h.
| #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 154 of file tree-vectorizer.h.
Definition at line 145 of file tree-vectorizer.h.
Referenced by vect_create_cond_for_align_checks(), and vect_enhance_data_refs_alignment().
Definition at line 150 of file tree-vectorizer.h.
Definition at line 144 of file tree-vectorizer.h.
Definition at line 143 of file tree-vectorizer.h.
| #define NUM_PATTERNS 3 |
Definition at line 239 of file tree-vectorizer.h.
Definition at line 243 of file tree-vectorizer.h.
Referenced by new_stmt_vec_info(), vect_analyze_scalar_cycles(), vect_can_advance_ivs_p(), vect_is_simple_use(), vect_mark_stmts_to_be_vectorized(), vect_pattern_recog_1(), vect_recog_dot_prod_pattern(), vect_recog_widen_sum_pattern(), vect_update_ivs_after_vectorizer(), vectorizable_assignment(), vectorizable_condition(), vectorizable_load(), vectorizable_operation(), and vectorizable_reduction().
Definition at line 240 of file tree-vectorizer.h.
Referenced by destroy_loop_vec_info(), new_stmt_vec_info(), vect_create_epilog_for_reduction(), vect_mark_relevant(), vect_pattern_recog_1(), vect_recog_dot_prod_pattern(), vect_transform_stmt(), and vectorizable_reduction().
Definition at line 236 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_condition(), vectorizable_live_operation(), vectorizable_load(), vectorizable_operation(), and vectorizable_reduction().
Definition at line 234 of file tree-vectorizer.h.
Definition at line 241 of file tree-vectorizer.h.
Referenced by destroy_loop_vec_info(), new_stmt_vec_info(), vect_create_epilog_for_reduction(), vect_mark_relevant(), vect_pattern_recog_1(), vect_recog_dot_prod_pattern(), vect_transform_stmt(), and vectorizable_reduction().
Definition at line 235 of file tree-vectorizer.h.
Definition at line 242 of file tree-vectorizer.h.
Referenced by destroy_loop_vec_info(), new_stmt_vec_info(), vect_analyze_data_ref_dependence(), and vect_update_misalignment_for_peel().
Definition at line 233 of file tree-vectorizer.h.
Definition at line 232 of file tree-vectorizer.h.
Definition at line 238 of file tree-vectorizer.h.
Definition at line 237 of file tree-vectorizer.h.
| #define UNKNOWN_LOC NULL |
Definition at line 33 of file tree-vectorizer.h.
| #define VECT_SMODULO | ( | x, | |||
| y | ) | ((x) % (y) < 0 ? ((x) % (y) + (y)) : (x) % (y)) |
Definition at line 283 of file tree-vectorizer.h.
| typedef struct data_reference* dr_p |
Definition at line 171 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 |
| typedef tree(* vect_recog_func_ptr)(tree, tree *, tree *) |
Definition at line 348 of file tree-vectorizer.h.
| 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 54 of file tree-vectorizer.h.
| enum operation_type |
Definition at line 47 of file tree-vectorizer.h.
| enum stmt_vec_info_type |
Definition at line 161 of file tree-vectorizer.h.
| enum vect_def_type |
| vect_constant_def | |
| vect_invariant_def | |
| vect_loop_def | |
| vect_induction_def | |
| vect_reduction_def | |
| vect_unknown_def_type |
Definition at line 62 of file tree-vectorizer.h.
| enum vect_var_kind |
Definition at line 40 of file tree-vectorizer.h.
| enum verbosity_levels |
Definition at line 72 of file tree-vectorizer.h.
| static bool aligned_access_p | ( | struct data_reference * | data_ref_info | ) | [inline, static] |
| DEF_VEC_ALLOC_P | ( | dr_p | , | |
| heap | ||||
| ) |
| DEF_VEC_P | ( | dr_p | ) |
| void destroy_loop_vec_info | ( | loop_vec_info | ) |
Definition at line 1241 of file tree-vectorizer.c.
References bsi_end_p(), bsi_next(), bsi_remove(), bsi_start(), bsi_stmt(), free(), free_data_refs(), free_dependence_relations(), LOOP_VINFO_BBS, LOOP_VINFO_DATAREF_READS, LOOP_VINFO_DATAREF_WRITES, LOOP_VINFO_DATAREFS, LOOP_VINFO_DDRS, LOOP_VINFO_LOOP, LOOP_VINFO_MAY_MISALIGN_STMTS, NULL, loop::num_nodes, PHI_CHAIN, phi_nodes(), set_stmt_info(), si, stmt_ann(), STMT_VINFO_IN_PATTERN_P, STMT_VINFO_RELATED_STMT, STMT_VINFO_SAME_ALIGN_REFS, varray_clear(), VEC_free, and vinfo_for_stmt().
Referenced by vect_analyze_loop(), and vectorize_loops().
Definition at line 1040 of file tree-vectorizer.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), EXPR_FILENAME, EXPR_HAS_LOCATION, EXPR_LINENO, EXPR_LOC, EXPR_P, get_loop_exit_condition(), loop::header, node, NULL_TREE, si, and UNKNOWN_LOC.
Referenced by slpeel_make_loop_iterate_ntimes(), slpeel_tree_peel_loop_to_edge(), vect_analyze_loop_form(), and vectorize_loops().
Definition at line 1339 of file tree-vectorizer.c.
References build_vector_type(), fprintf(), GET_MODE_SIZE, INTEGRAL_MODE_P, NULL_TREE, print_generic_expr(), REPORT_DETAILS, TDF_SLIM, TYPE_MODE, UNITS_PER_SIMD_WORD, UNKNOWN_LOC, vect_dump, vect_print_dump_info(), and VECTOR_MODE_P.
Referenced by cgraph_increase_alignment(), vect_analyze_data_refs(), vect_analyze_operations(), vect_create_epilog_for_reduction(), vect_determine_vectorization_factor(), vect_pattern_recog_1(), and vectorizable_reduction().
| static bool known_alignment_for_access_p | ( | struct data_reference * | data_ref_info | ) | [inline, static] |
Definition at line 277 of file tree-vectorizer.h.
References DR_MISALIGNMENT.
Referenced by vect_enhance_data_refs_alignment(), and vect_update_misalignment_for_peel().
| loop_vec_info new_loop_vec_info | ( | struct loop * | loop | ) |
Definition at line 1191 of file tree-vectorizer.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), get_loop_body(), get_stmt_ann(), get_stmt_operands(), i, LOOP_DO_PEELING_FOR_ALIGNMENT, LOOP_PEELING_FOR_ALIGNMENT, LOOP_VINFO_BBS, LOOP_VINFO_DATAREF_READS, LOOP_VINFO_DATAREF_WRITES, LOOP_VINFO_DATAREFS, LOOP_VINFO_DDRS, LOOP_VINFO_EXIT_COND, LOOP_VINFO_LOC, LOOP_VINFO_LOOP, LOOP_VINFO_MAY_MISALIGN_STMTS, LOOP_VINFO_NITERS, LOOP_VINFO_UNALIGNED_DR, LOOP_VINFO_VECT_FACTOR, LOOP_VINFO_VECTORIZABLE_P, new_stmt_vec_info(), NULL, loop::num_nodes, PARAM_VALUE, PHI_CHAIN, phi_nodes(), set_stmt_info(), si, stmt_ann(), UNKNOWN_LOC, VARRAY_GENERIC_PTR_INIT, VEC_alloc, and xcalloc().
Referenced by vect_analyze_loop_form().
| stmt_vec_info new_stmt_vec_info | ( | tree | stmt, | |
| loop_vec_info | ||||
| ) |
Definition at line 1162 of file tree-vectorizer.c.
References NULL, NULL_TREE, STMT_VINFO_DATA_REF, STMT_VINFO_DEF_TYPE, STMT_VINFO_IN_PATTERN_P, STMT_VINFO_LIVE_P, STMT_VINFO_LOOP_VINFO, STMT_VINFO_MEMTAG, STMT_VINFO_RELATED_STMT, STMT_VINFO_RELEVANT_P, STMT_VINFO_SAME_ALIGN_REFS, STMT_VINFO_STMT, STMT_VINFO_TYPE, STMT_VINFO_VEC_STMT, STMT_VINFO_VECT_BASE_ALIGNED_P, STMT_VINFO_VECT_DR_BASE_ADDRESS, STMT_VINFO_VECT_INIT_OFFSET, STMT_VINFO_VECT_MISALIGNMENT, STMT_VINFO_VECT_STEP, STMT_VINFO_VECTYPE, TREE_CODE, undef_vec_info_type, VEC_alloc, vect_loop_def, vect_unknown_def_type, and xcalloc().
Referenced by new_loop_vec_info(), vect_create_data_ref_ptr(), vect_create_index_for_vector_ref(), and vect_pattern_recog_1().
| static void set_stmt_info | ( | stmt_ann_t | ann, | |
| stmt_vec_info | stmt_info | |||
| ) | [inline, static] |
Definition at line 249 of file tree-vectorizer.h.
Definition at line 773 of file tree-vectorizer.c.
References any_marked_for_rewrite_p(), bsi_last(), bsi_stmt(), empty_block_p(), loop::exit_edges, get_loop_exit_condition(), loop::inner, loop::latch, loop_preheader_edge(), need_ssa_update_p(), loop::num_entries, loop::num_exits, loop::num_nodes, loop::outer, loop::single_exit, and edge::src.
Referenced by slpeel_tree_peel_loop_to_edge(), and vect_analyze_operations().
Definition at line 566 of file tree-vectorizer.c.
References boolean_type_node, bsi_for_stmt(), bsi_insert_before(), bsi_remove(), BSI_SAME_STMT, build1, build2, build3, build_int_cst(), cond, create_iv(), edge::dest, dump_file, dump_flags, EDGE_TRUE_VALUE, loop::exit_edges, find_loop_location(), edge::flags, fprintf(), gcc_assert, get_loop_exit_condition(), loop::latch, LOC_FILE, LOC_LINE, loop::nb_iterations, NULL_TREE, print_generic_expr(), loop::single_exit, standard_iv_increment_position(), step(), TDF_DETAILS, TDF_SLIM, tree_block_label(), TREE_TYPE, UNKNOWN_LOC, and void_type_node.
Referenced by slpeel_tree_peel_loop_to_edge(), and vect_transform_loop().
| 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.
References add_bb_to_loop(), allocate_new_names(), BITMAP_FREE, boolean_type_node, build2, build_int_cst(), delete_update_ssa(), dump_file, dump_flags, loop::exit_edges, find_loop_location(), flow_loop_scan(), fold_build2, fprintf(), free_new_names(), integer_zero_node, LOC_FILE, LOC_LINE, LOOP_ALL, loop_preheader_edge(), marked_ssa_names(), NULL, rename_variables_in_loop(), loop::single_exit, slpeel_add_loop_guard(), slpeel_can_duplicate_loop_p(), slpeel_make_loop_iterate_ntimes(), slpeel_tree_duplicate_loop_to_edge_cfg(), slpeel_update_phi_nodes_for_guard(), slpeel_update_phi_nodes_for_guard1(), slpeel_update_phi_nodes_for_guard2(), slpeel_update_phis_for_duplicate_loop(), split_edge(), ssa_names_to_replace(), TDF_DETAILS, tree_register_cfg_hooks(), TREE_TYPE, UNKNOWN_LOC, and unmark_all_for_rewrite().
Referenced by vect_do_peeling_for_alignment(), and vect_do_peeling_for_loop_bound().
| loop_vec_info vect_analyze_loop | ( | struct loop * | ) |
Definition at line 2420 of file tree-vect-analyze.c.
References destroy_loop_vec_info(), fprintf(), LOOP_LOC, LOOP_VINFO_VECTORIZABLE_P, NULL, ok(), REPORT_DETAILS, UNKNOWN_LOC, vect_analyze_data_ref_accesses(), vect_analyze_data_ref_dependences(), vect_analyze_data_refs(), vect_analyze_data_refs_alignment(), vect_analyze_loop_form(), vect_analyze_operations(), vect_analyze_scalar_cycles(), vect_determine_vectorization_factor(), vect_dump, vect_enhance_data_refs_alignment(), vect_mark_stmts_to_be_vectorized(), vect_pattern_recog(), and vect_print_dump_info().
Referenced by vectorize_loops().
Definition at line 1310 of file tree-vectorizer.c.
References DECL_EXTERNAL, MAX_OFILE_ALIGNMENT, PREFERRED_STACK_BOUNDARY, TREE_ASM_WRITTEN, TREE_CODE, and TREE_STATIC.
Referenced by cgraph_increase_alignment(), and vect_compute_data_ref_alignment().
Definition at line 1497 of file tree-vectorizer.c.
References evolution_part_in_loop_num(), fprintf(), init_expr(), initial_condition_in_loop_num(), NULL_TREE, print_generic_expr(), REPORT_DETAILS, TDF_SLIM, TREE_CODE, tree_is_chrec(), UNKNOWN_LOC, unshare_expr(), vect_dump, and vect_print_dump_info().
Referenced by vect_analyze_pointer_ref_access(), and vect_analyze_scalar_cycles().
Definition at line 1812 of file tree-vectorizer.c.
References associative_tree_code(), bb_for_stmt(), binary_op, commutative_tree_code(), flag_unsafe_math_optimizations, flow_bb_inside_loop_p(), fprintf(), INTEGRAL_TYPE_P, loop_latch_edge(), NULL_TREE, PHI_ARG_DEF_FROM_EDGE, print_generic_expr(), REPORT_DETAILS, SCALAR_FLOAT_TYPE_P, SSA_NAME, SSA_NAME_DEF_STMT, swap_tree_operands(), TDF_SLIM, TREE_CODE, TREE_CODE_LENGTH, TREE_OPERAND, TREE_TYPE, TYPE_MAIN_VARIANT, TYPE_OVERFLOW_TRAPS, vect_dump, and vect_print_dump_info().
Referenced by vect_analyze_scalar_cycles(), and vectorizable_reduction().
| bool vect_is_simple_use | ( | tree | , | |
| loop_vec_info | , | |||
| tree * | , | |||
| tree * | , | |||
| enum vect_def_type * | ||||
| ) |
Definition at line 1638 of file tree-vectorizer.c.
References bb_for_stmt(), flow_bb_inside_loop_p(), fprintf(), gcc_assert, IS_EMPTY_STMT, LOOP_VINFO_LOOP, NULL_TREE, PHI_RESULT, print_generic_expr(), REPORT_DETAILS, SSA_NAME, SSA_NAME_DEF_STMT, STMT_VINFO_DEF_TYPE, TDF_SLIM, TREE_CODE, TREE_OPERAND, vect_constant_def, vect_dump, vect_induction_def, vect_invariant_def, vect_loop_def, vect_print_dump_info(), vect_reduction_def, vect_unknown_def_type, and vinfo_for_stmt().
| void vect_pattern_recog | ( | loop_vec_info | ) |
Definition at line 608 of file tree-vect-patterns.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), fprintf(), i, LOOP_VINFO_BBS, LOOP_VINFO_LOOP, loop::num_nodes, NUM_PATTERNS, REPORT_DETAILS, si, vect_dump, vect_pattern_recog_1(), and vect_print_dump_info().
Referenced by vect_analyze_loop().
| bool vect_print_dump_info | ( | enum | verbosity_levels | ) |
Definition at line 1325 of file tree-vectorizer.c.
References current_function_decl, DECL_SOURCE_FILE, DECL_SOURCE_LINE, fprintf(), LOC_FILE, LOC_LINE, UNKNOWN_LOC, vect_dump, vect_loop_location, and vect_verbosity_level.
| void vect_set_verbosity_level | ( | const char * | ) |
Definition at line 1084 of file tree-vectorizer.c.
| enum dr_alignment_support vect_supportable_dr_alignment | ( | struct data_reference * | ) |
Definition at line 1389 of file tree-vectorizer.c.
References aligned_access_p(), gcc_target::vectorize::builtin_mask_for_load, CODE_FOR_nothing, dr_aligned, DR_IS_READ, DR_STMT, dr_unaligned_software_pipeline, dr_unaligned_supported, dr_unaligned_unsupported, int, mode, movmisalign_optab, STMT_VINFO_VECTYPE, targetm, TYPE_MODE, vec_realign_load_optab, gcc_target::vectorize, and vinfo_for_stmt().
Referenced by vect_analyze_data_refs_alignment(), vect_enhance_data_refs_alignment(), vect_verify_datarefs_alignment(), vectorizable_load(), and vectorizable_store().
| void vect_transform_loop | ( | loop_vec_info | , | |
| struct loops * | ||||
| ) |
| bool vectorizable_assignment | ( | tree | , | |
| block_stmt_iterator * | , | |||
| tree * | ||||
| ) |
Transform.
Definition at line 679 of file tree-vect-transform.c.
References assignment_vec_info_type, build2, fprintf(), gcc_assert, make_ssa_name(), NULL, REPORT_DETAILS, SSA_NAME, STMT_VINFO_DEF_TYPE, STMT_VINFO_LOOP_VINFO, STMT_VINFO_RELEVANT_P, STMT_VINFO_TYPE, STMT_VINFO_VECTYPE, TREE_CODE, TREE_OPERAND, UNKNOWN_LOC, vect_create_destination_var(), vect_dump, vect_finish_stmt_generation(), vect_get_vec_def_for_operand(), vect_is_simple_use(), vect_loop_def, vect_print_dump_info(), and vinfo_for_stmt().
Referenced by vect_analyze_operations(), and vect_transform_stmt().
| bool vectorizable_condition | ( | tree | , | |
| block_stmt_iterator * | , | |||
| tree * | ||||
| ) |
Definition at line 2079 of file tree-vect-transform.c.
References build2, build3, condition_vec_info_type, expand_vec_cond_expr_p(), fprintf(), gcc_assert, make_ssa_name(), NULL, NULL_TREE, REPORT_DETAILS, SSA_NAME, SSA_NAME_DEF_STMT, STMT_VINFO_DEF_TYPE, STMT_VINFO_LIVE_P, STMT_VINFO_LOOP_VINFO, STMT_VINFO_RELEVANT_P, STMT_VINFO_TYPE, STMT_VINFO_VECTYPE, TREE_CODE, TREE_OPERAND, TREE_TYPE, TYPE_MODE, vect_create_destination_var(), vect_dump, vect_finish_stmt_generation(), vect_get_vec_def_for_operand(), vect_is_simple_cond(), vect_is_simple_use(), vect_loop_def, vect_print_dump_info(), and vinfo_for_stmt().
Referenced by vect_analyze_operations(), and vect_transform_stmt().
| bool vectorizable_live_operation | ( | tree | , | |
| block_stmt_iterator * | , | |||
| tree * | ||||
| ) |
| bool vectorizable_load | ( | tree | , | |
| block_stmt_iterator * | , | |||
| tree * | ||||
| ) |
Transform.
Definition at line 939 of file tree-vect-transform.c.
References add_phi_arg(), aligned_access_p(), BITS_PER_UNIT, bsi_insert_on_edge_immediate(), build1, build2, build3, build_fold_indirect_ref(), build_function_call_expr(), build_int_cst(), build_tree_list, gcc_target::vectorize::builtin_mask_for_load, CODE_FOR_nothing, copy_virtual_operands(), create_phi_node(), dr_aligned, DR_MISALIGNMENT, dr_unaligned_software_pipeline, dr_unaligned_supported, fprintf(), gcc_assert, gcc_unreachable, GET_MODE_NUNITS, loop::header, int, int_const_binop(), integer_one_node, integer_type_node, load_vec_info_type, loop_latch_edge(), LOOP_LOC, loop_preheader_edge(), LOOP_VINFO_LOOP, magic, make_ssa_name(), mark_call_clobbered_vars_to_rename(), mode, mov_optab, NULL, NULL_TREE, offset, pe, REPORT_DETAILS, size_binop(), size_int, size_zero_node, SSA_NAME, SSA_NAME_DEF_STMT, STMT_VINFO_DATA_REF, STMT_VINFO_DEF_TYPE, STMT_VINFO_LIVE_P, STMT_VINFO_LOOP_VINFO, STMT_VINFO_RELEVANT_P, STMT_VINFO_TYPE, STMT_VINFO_VECTYPE, targetm, TREE_CODE, TREE_OPERAND, TREE_READONLY, TYPE_MODE, TYPE_VECTOR_SUBPARTS, UNKNOWN_LOC, update_vuses_to_preheader(), vect_create_data_ref_ptr(), vect_create_destination_var(), vect_dump, vect_finish_stmt_generation(), vect_loop_def, vect_print_dump_info(), vect_supportable_dr_alignment(), gcc_target::vectorize, and vinfo_for_stmt().
Referenced by vect_analyze_operations(), and vect_transform_stmt().
| bool vectorizable_operation | ( | tree | , | |
| block_stmt_iterator * | , | |||
| tree * | ||||
| ) |
Transform.
Definition at line 742 of file tree-vect-transform.c.
References binary_op, build1, build2, CODE_FOR_nothing, fprintf(), gcc_assert, GET_MODE_SIZE, i, int, LOOP_VINFO_VECT_FACTOR, make_ssa_name(), NULL, op_vec_info_type, optab, optab_for_tree_code(), REPORT_DETAILS, SSA_NAME, STMT_VINFO_DEF_TYPE, STMT_VINFO_LIVE_P, STMT_VINFO_LOOP_VINFO, STMT_VINFO_RELEVANT_P, STMT_VINFO_TYPE, STMT_VINFO_VECTYPE, TREE_CODE, TREE_CODE_LENGTH, TREE_OPERAND, TYPE_MODE, unary_op, UNITS_PER_WORD, UNKNOWN_LOC, vect_constant_def, vect_create_destination_var(), vect_dump, vect_finish_stmt_generation(), vect_get_vec_def_for_operand(), vect_invariant_def, vect_is_simple_use(), vect_loop_def, vect_min_worthwhile_factor(), vect_print_dump_info(), VECTOR_MODE_P, and vinfo_for_stmt().
Referenced by vect_analyze_operations(), and vect_transform_stmt().
| bool vectorizable_reduction | ( | tree | , | |
| block_stmt_iterator * | , | |||
| tree * | ||||
| ) |
Transform.
Definition at line 1133 of file tree-vect-transform.c.
References binary_op, build2, build3, CODE_FOR_nothing, create_phi_node(), fprintf(), gcc_assert, GET_MODE_SIZE, get_vectype_for_scalar_type(), loop::header, i, LOOP_VINFO_LOOP, LOOP_VINFO_VECT_FACTOR, make_ssa_name(), NULL, NULL_TREE, NUM_TREE_CODES, optab, optab_for_tree_code(), PHI_RESULT, reduc_vec_info_type, reduction_code_for_scalar_code(), REPORT_DETAILS, STMT_VINFO_DEF_TYPE, STMT_VINFO_IN_PATTERN_P, STMT_VINFO_LIVE_P, STMT_VINFO_LOOP_VINFO, STMT_VINFO_RELATED_STMT, STMT_VINFO_RELEVANT_P, STMT_VINFO_TYPE, STMT_VINFO_VECTYPE, ternary_op, TREE_CODE, TREE_CODE_LENGTH, TREE_OPERAND, TREE_TYPE, TYPE_MODE, UNITS_PER_WORD, vect_constant_def, vect_create_destination_var(), vect_create_epilog_for_reduction(), vect_dump, vect_finish_stmt_generation(), vect_get_vec_def_for_operand(), vect_invariant_def, vect_is_simple_reduction(), vect_is_simple_use(), vect_loop_def, vect_min_worthwhile_factor(), vect_print_dump_info(), vect_reduction_def, VECTOR_MODE_P, and vinfo_for_stmt().
Referenced by vect_analyze_operations(), and vect_transform_stmt().
| bool vectorizable_store | ( | tree | , | |
| block_stmt_iterator * | , | |||
| tree * | ||||
| ) |
Transform.
Definition at line 856 of file tree-vect-transform.c.
References build2, build_fold_indirect_ref(), CODE_FOR_nothing, copy_virtual_operands(), dr_aligned, FOR_EACH_SSA_TREE_OPERAND, fprintf(), gcc_assert, iter, mark_sym_for_renaming(), mov_optab, NULL, NULL_TREE, REPORT_DETAILS, SSA_NAME_DEF_STMT, SSA_NAME_VAR, SSA_OP_VMAYDEF, STMT_VINFO_DATA_REF, STMT_VINFO_LOOP_VINFO, STMT_VINFO_TYPE, STMT_VINFO_VECTYPE, store_vec_info_type, TREE_CODE, TREE_OPERAND, TYPE_MODE, UNKNOWN_LOC, vect_align_data_ref(), vect_create_data_ref_ptr(), vect_dump, vect_finish_stmt_generation(), vect_get_vec_def_for_operand(), vect_is_simple_use(), vect_print_dump_info(), vect_supportable_dr_alignment(), and vinfo_for_stmt().
Referenced by vect_analyze_operations(), and vect_transform_stmt().
Definition at line 1559 of file tree-vectorizer.c.
References loop::aux, BITMAP_ALLOC, bitmap_clear(), BITMAP_FREE, compute_immediate_uses(), destroy_loop_vec_info(), find_loop_location(), fprintf(), free_df(), i, LOOP_VINFO_VECTORIZABLE_P, need_imm_uses_for(), NULL, loops::num, loops::parray, REPORT_DETAILS, REPORT_VECTORIZED_LOOPS, rewrite_into_loop_closed_ssa(), rewrite_into_ssa(), TDFA_USE_OPS, UNITS_PER_SIMD_WORD, UNKNOWN_LOC, vars_to_rename, vect_analyze_loop(), vect_dump, vect_loop_location, vect_loops_num, vect_print_dump_info(), vect_set_dump_settings(), vect_transform_loop(), vect_vnames_to_rename, and verify_loop_closed_ssa().
| static stmt_vec_info vinfo_for_stmt | ( | tree | stmt | ) | [inline, static] |
Definition at line 173 of file tree-vectorizer.c.
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_print_dump_info(), vect_recog_dot_prod_pattern(), vect_recog_widen_sum_pattern(), vect_set_dump_settings(), vect_stmt_relevant_p(), vect_transform_loop(), vect_transform_stmt(), vect_update_inits_of_drs(), 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().
| unsigned int vect_loops_num |
Definition at line 177 of file tree-vectorizer.c.
Referenced by vect_print_dump_info(), vect_set_dump_settings(), and vect_set_verbosity_level().
Definition at line 185 of file tree-vectorizer.c.
Referenced by slpeel_update_phi_nodes_for_guard1(), vect_transform_loop(), and vectorize_loops().
1.5.6