aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.c
AgeCommit message (Collapse)AuthorFilesLines
2005-01-18basic-block.h, [...]: Update copyright.Kazu Hirata1-1/+1
* basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c, c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c, combine.c, config.gcc, coverage.h, cse.c, cselib.c, defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c, flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c, gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h, output.h, postreload-gcse.c, postreload.c, recog.c, resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c, targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c, tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c, tree-optimize.c, tree-outof-ssa.c, tree-pass.h, tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c, tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def, unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright. From-SVN: r93827
2005-01-10* tree-vectorizer.c, tree.def: Fix comment typos.Kazu Hirata1-3/+3
From-SVN: r93153
2005-01-09tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints.Dorit Naishlos1-2/+16
* tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints. (vect_analyze_data_refs_alignment): Add dump prints. * gcc.dg/vect/pr18400.c: Add checks for alignment prints. * gcc.dg/vect/pr18425.c: Add checks for alignment prints. * gcc.dg/vect/pr18536.c: Add checks for alignment prints. * gcc.dg/vect/vect-1.c: Add checks for alignment prints. * gcc.dg/vect/vect-2.c: Add checks for alignment prints. * gcc.dg/vect/vect-3.c: Add checks for alignment prints. * gcc.dg/vect/vect-4.c: Add checks for alignment prints. * gcc.dg/vect/vect-5.c: Add checks for alignment prints. * gcc.dg/vect/vect-6.c: Add checks for alignment prints. * gcc.dg/vect/vect-7.c: Add checks for alignment prints. * gcc.dg/vect/vect-13.c: Add checks for alignment prints. * gcc.dg/vect/vect-17.c: Add checks for alignment prints. * gcc.dg/vect/vect-18.c: Add checks for alignment prints. * gcc.dg/vect/vect-19.c: Add checks for alignment prints. * gcc.dg/vect/vect-20.c: Add checks for alignment prints. * gcc.dg/vect/vect-21.c: Add checks for alignment prints. * gcc.dg/vect/vect-22.c: Add checks for alignment prints. * gcc.dg/vect/vect-23.c: Add checks for alignment prints. * gcc.dg/vect/vect-24.c: Add checks for alignment prints. * gcc.dg/vect/vect-25.c: Add checks for alignment prints. * gcc.dg/vect/vect-26.c: Add checks for alignment prints. * gcc.dg/vect/vect-27.c: Add checks for alignment prints. * gcc.dg/vect/vect-28.c: Add checks for alignment prints. * gcc.dg/vect/vect-29.c: Add checks for alignment prints. * gcc.dg/vect/vect-31.c: Add checks for alignment prints. * gcc.dg/vect/vect-32.c: Add checks for alignment prints. * gcc.dg/vect/vect-33.c: Add checks for alignment prints. * gcc.dg/vect/vect-34.c: Add checks for alignment prints. * gcc.dg/vect/vect-35.c: Add checks for alignment prints. * gcc.dg/vect/vect-36.c: Add checks for alignment prints. * gcc.dg/vect/vect-37.c: Add checks for alignment prints. * gcc.dg/vect/vect-40.c: Add checks for alignment prints. * gcc.dg/vect/vect-41.c: Add checks for alignment prints. * gcc.dg/vect/vect-42.c: Add checks for alignment prints. * gcc.dg/vect/vect-43.c: Add checks for alignment prints. * gcc.dg/vect/vect-44.c: Add checks for alignment prints. * gcc.dg/vect/vect-46.c: Add checks for alignment prints. * gcc.dg/vect/vect-47.c: Add checks for alignment prints. * gcc.dg/vect/vect-48.c: Add checks for alignment prints. * gcc.dg/vect/vect-50.c: Add checks for alignment prints. * gcc.dg/vect/vect-52.c: Add checks for alignment prints. * gcc.dg/vect/vect-53.c: Add checks for alignment prints. * gcc.dg/vect/vect-56.c: Add checks for alignment prints. * gcc.dg/vect/vect-58.c: Add checks for alignment prints. * gcc.dg/vect/vect-60.c: Add checks for alignment prints. * gcc.dg/vect/vect-62.c: Add checks for alignment prints. * gcc.dg/vect/vect-64.c: Add checks for alignment prints. * gcc.dg/vect/vect-65.c: Add checks for alignment prints. * gcc.dg/vect/vect-66.c: Add checks for alignment prints. * gcc.dg/vect/vect-67.c: Add checks for alignment prints. * gcc.dg/vect/vect-68.c: Add checks for alignment prints. * gcc.dg/vect/vect-69.c: Add checks for alignment prints. * gcc.dg/vect/vect-72.c: Add checks for alignment prints. * gcc.dg/vect/vect-73.c: Add checks for alignment prints. * gcc.dg/vect/vect-74.c: Add checks for alignment prints. * gcc.dg/vect/vect-75.c: Add checks for alignment prints. * gcc.dg/vect/vect-76.c: Add checks for alignment prints. * gcc.dg/vect/vect-77.c: Add checks for alignment prints. * gcc.dg/vect/vect-78.c: Add checks for alignment prints. * gcc.dg/vect/vect-80.c: Add checks for alignment prints. * gcc.dg/vect/vect-86.c: Add checks for alignment prints. * gcc.dg/vect/vect-87.c: Add checks for alignment prints. * gcc.dg/vect/vect-88.c: Add checks for alignment prints. * gcc.dg/vect/vect-89.c: Add checks for alignment prints. * gcc.dg/vect/vect-all.c: Add checks for alignment prints. * gcc.dg/vect/vect-1.c: Fix spelling. * gcc.dg/vect/vect-10.c: Fix spelling. * gcc.dg/vect/vect-11.c: Fix spelling. * gcc.dg/vect/vect-12.c: Fix spelling. * gcc.dg/vect/vect-14.c: Fix spelling. * gcc.dg/vect/vect-15.c: Fix spelling. * gcc.dg/vect/vect-16.c: Fix spelling. * gcc.dg/vect/vect-46.c: Remove obsolete comment. * gcc.dg/vect/vect-64.c: Fix comments. * gcc.dg/vect/vect-none.c: Remove vectorizable loop. Co-Authored-By: Ira Rosen <irar@il.ibm.com> From-SVN: r93114
2005-01-09tree-vectorizer.c (vect_analyze_offset_expr): Use expr_invariant_in_loop_p.Ira Rosen1-19/+22
2005-01-09 Ira Rosen <irar@il.ibm.com> * tree-vectorizer.c (vect_analyze_offset_expr): Use expr_invariant_in_loop_p. Initialize outputs first thing in the function. (vect_update_ivs_after_vectorizer): Call initial_condition_in_loop_num. (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num. (vect_analyze_pointer_ref_access): Check that the initial condition of the access function is loop invariant. From-SVN: r93113
2005-01-04tree-vectorizer.c (vect_analyze_offset_expr): Test for INTEGER_CST instead ↵Ira Rosen1-5/+5
of TREE_CONSTANT. 2005-01-04 Ira Rosen <irar@il.ibm.com> * tree-vectorizer.c (vect_analyze_offset_expr): Test for INTEGER_CST instead of TREE_CONSTANT. (vect_gen_niters_for_prolog_loop): Test for INTEGER_CST instead of TREE_CONSTANT. (vect_analyze_pointer_ref_access): Test for INTEGER_CST instead of TREE_CONSTANT. From-SVN: r92894
2005-01-04tree-vectorizer.c (vect_strip_conversions): New function.Ira Rosen1-15/+44
2005-01-03 Ira Rosen <irar@il.ibm.com> * tree-vectorizer.c (vect_strip_conversions): New function. (vect_analyze_offset_expr): Call vect_strip_conversions. Add check for binary class. From-SVN: r92888
2005-01-02tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions that don't ↵Richard Henderson1-1/+16
narrow the value. * tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions that don't narrow the value. Fail for other conversions. From-SVN: r92804
2004-12-29tree-vectorizer.c (vect_get_base_and_offset): Adjust call too ↵Dorit Nuzman1-1/+1
get_inner_reference (missing argument). * tree-vectorizer.c (vect_get_base_and_offset): Adjust call too get_inner_reference (missing argument). From-SVN: r92705
2004-12-29re PR tree-optimization/18179 (vectorizer: wrong ↵Ira Rosen1-531/+279
alignment/step/initial-address computed for struct accesses) 2004-12-29 Ira Rosen <irar@il.ibm.com> PR tree-optimization/18179 * tree-vectorizer.c (vect_get_base_and_offset): Call get_inner_reference and vect_analyze_offset_expr. (vect_create_addr_base_for_vector_ref): Build address_base by combining base and initial_offset fields of vect_stmt_info. (vect_update_inits_of_dr): Update offset of data-ref instead of its access-fn. Remove argument. (vect_update_inits_of_drs): Call vect_update_inits_of_dr with new arguments. (vect_compute_data_ref_alignment): Check misalignment info in vect_stmt_info. Remove argument. (vect_compute_data_refs_alignment): Call vect_compute_data_ref_alignment with correct argument. (vect_analyze_data_ref_access): Check access info in vect_stmt_info. (vect_analyze_pointer_ref_access): Update step and initial_offset fields of vect_stmt_info. (vect_get_memtag_and_dr): Call vect_get_base_and_offset and set the fields of stmt_vec_info. (vect_analyze_data_refs): Find vectype and pass it to vect_get_memtag_and_dr. (vect_get_first_index): Remove. (vect_compute_array_base_alignment): Remove. (vect_compute_array_ref_alignment): Remove (vect_create_data_ref_ptr): Use TYPE_SIZE_UNIT instead GET_MODE_SIZE. (vect_gen_niters_for_prolog_loop): Use TREE_CONSTANT instead host_integerp. (vectorizable_load): Use size arithmetics. From-SVN: r92704
2004-12-29re PR tree-optimization/18179 (vectorizer: wrong ↵Ira Rosen1-24/+23
alignment/step/initial-address computed for struct accesses) 2004-12-29 Ira Rosen <irar@il.ibm.com> PR tree-optimization/18179 * tree-vectorizer.c (vect_get_base_and_offset): Rename (previous name vect_get_base_and_bit_offset). (vect_get_memtag_and_dr): Rename (previous name vect_get_symbl_and_dr). From-SVN: r92702
2004-12-29re PR tree-optimization/18179 (vectorizer: wrong ↵Ira Rosen1-4/+193
alignment/step/initial-address computed for struct accesses) 2004-12-29 Ira Rosen <irar@il.ibm.com> PR tree-optimization/18179 * tree-vectorizer.h (struct _stmt_vec_info): Add new fields: initial_offset, step, misalignment and base_aligned_p and macros to access them. * tree-vectorizer.c (vect_analyze_offset_expr): New function. (new_stmt_vec_info): Initialize the new fields of stmt_vec_info. (vect_create_data_ref_ptr): Fix printings. From-SVN: r92701
2004-12-29re PR tree-optimization/18179 (vectorizer: wrong ↵Ira Rosen1-171/+109
alignment/step/initial-address computed for struct accesses) 2004-12-29 Ira Rosen <irar@il.ibm.com> PR tree-optimization/18179 * tree-vectorizer.c (vect_get_symbl_and_dr): Reorganize. Add memtag retrieval. (vect_analyze_data_refs): Remove memtag retrieval. From-SVN: r92700
2004-12-28* tree-vectorizer.c (vect_mark_relevant) First argument changed fromDorit Naishlos1-7/+7
varray_type to varray_type*. (vect_mark_stmts_to_be_vectorized): Pass &worklist instead of worklist when calling vect_mark_relevant. From-SVN: r92671
2004-12-22optabs.h (OTI_movmisalign, [...]): New.Richard Henderson1-2/+2
* optabs.h (OTI_movmisalign, movmisalign_optab): New. * optabs.c (init_optabs): Create it. * genopinit.c (optabs): Initialize it. * expr.c (expand_expr_real_1) <MISALIGNED_INDIRECT_REF>: Use it. * tree-vectorizer.c (vect_supportable_dr_alignment): Likewise. * target-def.h (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. * target.h (vectorize.misaligned_mem_ok): Remove. * targhooks.c (default_vect_misaligned_mem_ok): Remove. * doc/md.texi (movmisalign): New. * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. From-SVN: r92537
2004-12-10tree-into-ssa.c (REWRITE_THIS_STMT): Define.Diego Novillo1-0/+4
* tree-into-ssa.c (REWRITE_THIS_STMT): Define. (mark_def_sites): Clear REWRITE_THIS_STMT for statements that don't need any operands rewritten. (rewrite_stmt): Ignore statements that don't need to be rewritten. (rewrite_operand): Validate that an existing SSA_NAME is identical to the current reaching definition of the operand. * tree-dfa.c (mark_call_clobbered_vars_to_rename): New function. * tree-vectorizer.c (vectorizable_load): Call it. * tree-flow.h (mark_call_clobbered_vars_to_rename): Declare. * tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming. From-SVN: r92010
2004-12-02re PR tree-optimization/18716 ([ICE] verify_flow_info failed (loop))Dorit Naishlos1-5/+13
PR tree-opt/18716 * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Properly set then and else labels. From-SVN: r91637
2004-11-30tree-vectorizer.c (vect_analyze_data_refs): Reformat and avoid uninitialized ↵Nathan Sidwell1-12/+20
variable. 2004-11-30 Nathan Sidwell <nathan@codesourcery.com> * tree-vectorizer.c (vect_analyze_data_refs): Reformat and avoid uninitialized variable. From-SVN: r91543
2004-11-30re PR tree-optimization/18607 (Vectorizer: data_reference is overwritten in ↵Ira Rosen1-4/+4
vect_analyze_data_refs) 2004-11-30 Ira Rosen <irar@il.ibm.com> PR tree-opt/18607 * tree-vectorizer.c (vect_analyze_data_refs): Use temporary variable for data_reference when looking for memtag. From-SVN: r91521
2004-11-30tree-vectorizer.c (vect_gen_niters_for_prolog_loop): Use tree_low_cst ↵Dorit Naishlos1-1/+1
instead of TREE_INT_CST_LOW. * tree-vectorizer.c (vect_gen_niters_for_prolog_loop): Use tree_low_cst instead of TREE_INT_CST_LOW. From-SVN: r91518
2004-11-30tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for decls ↵Dorit Naishlos1-1/+4
that are assembled before vectorization takes place. * tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for decls that are assembled before vectorization takes place. (vect_compute_data_ref_alignment): Set DECL_USER_ALIGN to 1. From-SVN: r91517
2004-11-25tree-phinodes.c (add_phi_arg): Take "tree" instead of "tree *" as the first ↵Kazu Hirata1-8/+8
argument. * tree-phinodes.c (add_phi_arg): Take "tree" instead of "tree *" as the first argument. * tree-flow.h: Update the prototype of add_phi_arg. * lambda-code.c, tree-cfg.c, tree-into-ssa.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-pre.c, tree-ssa-threadupdate.c, tree-ssa.c, tree-tailcall.c, tree-vectorizer.c: Update all call sites of add_phi_arg. From-SVN: r91307
2004-11-23tree-vectorizer.c (vect_analyze_operations): Don't vectorize if the ↵Dorit Naishlos1-91/+65
vectorization factor is greater than the iteration count. * tree-vectorizer.c (vect_analyze_operations): Don't vectorize if the vectorization factor is greater than the iteration count. (vect_gen_niters_for_prolog_loop): No need to calculate min if the iteration count is known. (vect_build_symbol_bound): Removed. Its functionality moved to vect_generate_tmps_on_preheader. (vect_generate_tmps_on_preheader): Moved content of vect_build_symbol_bound here instead of calling it. Changed some variables names. (vect_build_loop_niters): We don't expect a new_bb to be generated - use gcc_assert. (vect_gen_niters_for_prolog_loop): Likewise. (vect_gen_niters_for_prolog_loo): Likewise. (slpeel_make_loop_iterate_ntimes): Use buildN instead of build. (slpeel_add_loop_guard): Likewise. (slpeel_tree_peel_loop_to_edge): Likewise. (vect_do_peeling_for_alignment): Likewise. (vect_get_first_index): Missing space. From-SVN: r91100
2004-11-23re PR tree-optimization/18403 (FAILs to vectorize testcases on ppc64-linux)Dorit Naishlos1-1/+11
PR tree-opt/18403 PR tree-opt/18505 * tree-vectorizer.c (vect_create_data_ref_ptr): Use lang_hooks.types.type_for_size instead of integer_type_node for the type of ptr_update. From-SVN: r91081
2004-11-22re PR tree-optimization/18536 (ICE: in emit_move_insn, at expr.c:2590 with ↵Dorit Naishlos1-84/+55
-ftree-vectorize -msse2) PR tree-opt/18536 * tree-vectorizer.c (make_loop_iterate_ntimes): Use type of niters when creating iv instead of integer_type. (vect_build_loop_niters): Remove redundant code. (vect_transform_loop_bound): Removed (duplicates functionality of make_loop_iterate_ntimes. (vect_gen_niters_for_prolog_loop): Add documentation. Call lang_hooks.types.type_for_size to create a type of the required size. Use that type instead of integer_type. Remove redundant code. (vect_update_niters_after_peeling): Use type of niters instead of integer_type. (vect_transform_loop): Unify handling of known and unknown loop bound cases. Call make_loop_iterate_ntimes instead of vect_transform_loop_bound. From-SVN: r91014
2004-11-22re PR tree-optimization/18544 (ICE with -ftree-vectorize)Dorit Naishlos1-4/+9
PR tree-opt/18544 * tree-vectorizer.c (vect_analyze_data_refs): Fail if memtag not found. From-SVN: r91011
2004-11-20tree-ssa-threadupdate.c, [...]: Fix comment typos.Kazu Hirata1-4/+4
* tree-ssa-threadupdate.c, tree-vectorizer.c: Fix comment typos. * config/arm/arm.c: Follow spelling conventions. From-SVN: r90963
2004-11-19tree-vectorizer.c (slpeel_verify_cfg_after_peeling): Define only if checking ↵Andreas Tobler1-3/+5
is enabled. 2004-11-19 Andreas Tobler <a.tobler@schweiz.ch> * tree-vectorizer.c (slpeel_verify_cfg_after_peeling): Define only if checking is enabled. From-SVN: r90939
2004-11-19re PR tree-optimization/18181 (vectorizer: problem in the peeling mechanism ↵Dorit Naishlos1-313/+415
in the presence of loop invariants that are used after the loop) PR tree-opt/18181 * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Peeling scheme changed to suppoer uses-after-loop and to void creating flow paths that shouldn't exist. (slpeel_update_phi_nodes_for_guard): Takes additional two arguments. Modified to fit the new peeling scheme. Avoid quadratic behavior. (slpeel_add_loop_guard): Takes additional argument. (slpeel_verify_cfg_after_peeling): New function. (vect_update_ivs_after_vectorizer): Takes additional argument. Updated documentation. Use 'exit-bb' instead of creating 'new-bb'. (rename_variables_in_bb): Don't update phis for BBs out of loop, to fit the new peeling scheme. (copy_phi_nodes): Function removed. Its functionality moved to update_phis_for_duplicate_loop. (slpeel_update_phis_for_duplicate_loop): Functionality of copy_phi_nodes moved here. Added documentation. Modified to fit the new peeling scheme. (slpeel_make_loop_iterate_ntimes): Setting loop->single_exit not not needed - done in slpeel_tree_peel_loop_to_edge. (slpeel_tree_duplicate_loop_to_edge_cfg): Debug printouts compacted. (vect_do_peeling_for_loop_bound): Add documentation. Call slpeel_verify_cfg_after_peeling. Call vect_update_ivs_after_vectorizer with additional argument. (vect_do_peeling_for_alignment): Call slpeel_verify_cfg_after_peeling. (vect_finish_stmt_generation): Avoid 80 column oveflow. From-SVN: r90932
2004-11-19tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Last two arguments removed.Dorit Naishlos1-90/+31
* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Last two arguments removed. (slpeel_tree_peel_loop_to_edge): Call slpeel_make_loop_iterate_ntimes without last two arguments. Update single_exit of loops. (vect_update_niters_after_peeling): Removed. Its functionality was moved to vect_do_peeling_for_alignment. (vect_do_peeling_for_loop_bound): New name for function previously called vect_transform_for_unknown_loop_bound. (vect_transform_loop_bound): Call slpeel_make_loop_iterate_ntimes instead of code that duplicates the same functionality. (vect_do_peeling_for_alignment): Functionality of vect_update_niters_after_peeling moved here. (vect_transform_loop): Unify call to vect_do_peeling_for_loop_bound - previously named vect_transform_for_unknown_loop_bound - for both known and unknown loop bound cases. From-SVN: r90931
2004-11-19tree-vectorizer.c (slpeel_can_duplicate_loop_p): New name for function ↵Dorit Naishlos1-161/+108
previously called verify_loop_for_duplication. * tree-vectorizer.c (slpeel_can_duplicate_loop_p): New name for function previously called verify_loop_for_duplication. All conditions compacted into one compound condition. Removed debug dumps. (vect_analyze_loop_with_symbolic_num_of_iters): Removed. Some of the functionality moved to vect_can_advance_ivs_p, and some to vect_analyze_loop_form. (vect_can_advance_ivs_p): New function. Contains functionality that was taken out of vect_analyze_loop_with_symbolic_num_of_iters. (slpeel_tree_peel_loop_to_edge): Call slpeel_can_duplicate_loop_p. (vect_analyze_operations): Call vect_can_advance_ivs_p and slpeel_can_duplicate_loop_p. (vect_get_loop_niters): Added documentation. (vect_analyze_loop_form): Check the loop entry always - not only in case of unknown loop bound. Create preheader and exit bb if necessary. Apply a check that used to take place in vect_analyze_loop_with_symbolic_num_of_iters. (vectorize_loops): Call verify_loop_closed_ssa under ENABLE_CHECKING. Remove redundant call to rewrite_into_loop_closed_ssa. (vect_compute_data_refs_alignment): Removed obsolete comment. From-SVN: r90930
2004-11-19tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): New name for function ↵Dorit Naishlos1-63/+76
previously called tree_duplicate_loop_to_edge. * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): New name for function previously called tree_duplicate_loop_to_edge. (slpeel_tree_duplicate_loop_to_edge_cfg): New name for function previously called tree_duplicate_loop_to_edge_cfg. (slpeel_update_phis_for_duplicate_loop): Prefix 'slpeel' added to function name. (slpeel_update_phi_nodes_for_guard): Likewise. (slpeel_make_loop_iterate_ntimes): Likewise. (slpeel_add_loop_guard): Likewise. (allocate_new_names, free_new_names): Function declaration moved to top of file. (rename_use_op, rename_def_op): Likewise. (rename_variables_in_bb, rename_variables_in_loop): Likewise. (vect_generate_tmps_on_preheader): Function declaration moved. (vect_transform_for_unknown_loop_bound): Added missing function declaration. From-SVN: r90929
2004-11-16tree-cfg.c (verify_expr): Replace TREE_OPERAND with COND_EXPR_COND.Kazu Hirata1-2/+3
* tree-cfg.c (verify_expr): Replace TREE_OPERAND with COND_EXPR_COND. * tree-if-conv.c (tree_if_convert_cond_expr): Likewise. * tree-ssa-dom.c (thread_across_edge): Likewise. * tree-vectorizer.c (vect_transform_loop_bound): Replace TREE_OPERAND with COND_EXPR_COND, COND_EXPR_THEN, or COND_EXPR_ELSE. From-SVN: r90703
2004-11-14re PR tree-optimization/18400 (wrong unrolling after vectorization due to ↵Dorit Naishlos1-0/+4
invalid loop->nb_iterations) PR tree-opt/18400 * tree-vectorizer.c (make_loop_iterate_ntimes): Set loop->nb_iterations. (vect_transform_loop_bound): Set loop->nb_iterations. From-SVN: r90626
2004-11-14re PR tree-optimization/18425 (ICE in vector.tcc when -ftree-vectorize enabled)Dorit Naishlos1-3/+5
2004-11-14 Dorit Naishlos <dorit@il.ibm.com> Andrew Pinski <pinskia@physics.uc.edu> PR tree-opt/18425 * tree-vectorize.c (vect_build_loop_niters): Do not insert NULL into the instruction stream. Initialize new_bb to NULL. (vect_update_ivs_after_vectorizer): Likewise. (vect_gen_niters_for_prolog_loop): Likewise. Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu> From-SVN: r90625
2004-11-14tree-cfg.c, [...]: Replace TREE_CHAIN with PHI_CHAIN where appropriate.Kazu Hirata1-2/+2
* tree-cfg.c, tree-if-conv.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where appropriate. From-SVN: r90611
2004-11-12* tree-vectorizer.c: Fix a comment typo.Kazu Hirata1-1/+1
From-SVN: r90531
2004-11-11tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.Dorit Naishlos1-51/+69
2004-11-11 Dorit Naishlos <dorit@il.ibm.com> * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis. (vect_update_ivs_after_vectorizer): Update function documentation. Avoid quadratic behavior and direct write to PHI_ARG_DEF. From-SVN: r90480
2004-11-08tree-cfg.c, [...]: Replace TREE_CHAIN with PHI_CHAIN where appropriate.Kazu Hirata1-10/+10
* tree-cfg.c, tree-if-conv.c, tree-into-ssa.c, tree-scalar-evolution.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c, tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where appropriate. From-SVN: r90262
2004-11-04bitmap.h: Fix a comment typo.Kazu Hirata1-1/+1
* bitmap.h: Fix a comment typo. Follow spelling conventions. * tree-vectorizer.c: Fix a comment typo. From-SVN: r90062
2004-11-04re PR tree-optimization/18009 (ICE in vect_transform_stmt, at ↵Dorit Naishlos1-87/+170
tree-vectorizer.c:2625 (testcase included)) PR tree-optimization/18009 * tree-vectorizer.h (enum dr_alignment_support): New type. (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed. (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a single data_reference (instead of a varray of references). * tree-vectorizer.c (new_loop_vec_info): Likewise. (vect_gen_niters_for_prolog_loop): Likewise. (vect_update_inits_of_drs): Likewise. (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to vect_enhance_data_refs_alignment. (vect_do_peeling_for_alignment): Likewise. (vect_enhance_data_refs_alignment): Decide if and by how much to peel; this functionality used to be in vect_analyze_data_refs_alignment. Also update DR_MISALIGNMENT due to peeling; this functionality used to be in vect_update_inits_of_drs and vect_do_peeling_for_alignment). (vect_analyze_data_refs_alignment): Decision on whether and by how much to peel moved to vect_enhance_data_refs_alignment. Call vect_supportable_dr_alignment. (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE. (vect_compute_data_refs_alignment): Return bool. Consider return value of vect_compute_data_ref_alignment and return true/false accordingly. (vect_enhance_data_refs_alignment): Consider return value of vect_compute_data_refs_alignment and return true/false accordingly. (vect_supportable_dr_alignment): New function. (vectorizable_store): Call vect_supportable_dr_alignment. (vectorizable_load): Call vect_supportable_dr_alignment. Alignment support checks moved from here to vect_supportable_dr_alignment. (vect_transform_loop): Avoid 80 columns overflow. From-SVN: r90051
2004-10-29bitmap.h (bitmap_empty_p): New.Nathan Sidwell1-1/+1
* bitmap.h (bitmap_empty_p): New. (bitmap_and, bitmap_and_into, bitmap_and_compl, bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap operation macros. (bitmap_ior_and_compl): Rename to ... (bitmap_ior_and_compl_into): ... here. * bitmap.c (bitmap_equal_p): Use bitmap_xor. (bitmap_ior_and_compl): Rename to ... (bitmap_ior_and_compl_into): ... here. Adjust. Return changed flag. (bitmap_union_of_diff): Use renamed bitmap functions. * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET, XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise. * cfgrtl.c (safe_insert_insn_on_edge): Likewise. * df.c (df_bb_rd_local_compute) * flow.c (calculate_global_regs_live, init_propagate_block_info): Likewise. * ifcvt.c (find_if_case_1, find_if_case_2, dead_or_predicable): Likewise. * ra-build.c (union_web_part_roots, livethrough_conflicts_bb, reset_conflicts, conflicts_between_webs): Likewise. * ra-rewrite.c (reloads_to_loads, rewrite_program2, detect_web_parts_to_rebuild): Likewise. * sched-ebb.c (compute_jump_reg_dependencies): Likewise. * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise. * tree-sra.c (decide_instantiations): Likewise. * tree-ssa-alias.c (create_name_tags, merge_pointed_to_info): Likewise. * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise. * tree-ssa-loop-im.c (move_computations): Likewise. * tree-ssa-operands.c (get_call_expr_operands): Likewise. * tree-ssa-pre.c (fini_pre): Likewise. * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise. * tree-ssanames.c (any_marked_for_rewrite_p): Likewise. * tree-vectorizer.c (vectorize_loops): Likewise. From-SVN: r89827
2004-10-27re PR tree-optimization/17133 (wrong code with -ftree-lim)Daniel Berlin1-2/+5
2004-10-27 Daniel Berlin <dberlin@dberlin.org> Fix PR tree-optimization/17133 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must def kill operand. * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT. (get_v_must_def_result_ptr): Modify for new structure of v_must_defs array. (get_v_must_def_kill_ptr): New. (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs. (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT. (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT. (op_iter_init): Initialize new mustu members. (op_iter_next_mustdef): New function. (op_iter_init_mustdef): Ditto. * tree-flow.h (rewrite_def_def_chains): New function. * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands. (ssa_mark_def_sites): Ditto. (rewrite_stmt): Ditto. (ssa_rewrite_stmt): Ditto. (rewrite_blocks): Factor out from rewrite_into_ssa. (mark_def_block_sites): Ditto. (rewrite_def_def_chains): New function, just rewrites def-def chains without phi node insertion. * tree-pass.h (TODO_fix_def_def_chains): New todo flag. * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains. * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that they include the rhs now. * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became V_MUST_DEF_RESULT. * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument. Update callers. (mark_really_necessary_kill_operand_phis): New function. (perform_tree_ssa_dce): Call it. (pass_dce): Add TODO_fix_def_def_chains. (pass_cd_dce): Ditto. * tree-ssa-loop-im.c (determine_max_movement): Look at kills as well. (rewrite_mem_refs): Ditto. * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills as well. * tree-ssa-operands.c (allocate_v_may_def_optype): v_may_def_operand_type_t became v_def_use_operand_type_t. (allocate_v_must_def_optype) Ditto. (finalize_ssa_v_must_defs): Update for new operand type, as well as setting the use portion as well. (copy_virtual_operands): Copy the kill operand as well. (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became V_MUST_DEF_RESULT. * tree-ssa-operands.h (v_may_def_operand_type): Renamed to v_def_use_operand_type. (v_must_def_optype_d): Use v_def_use_operand_type. (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_* (V_MUST_DEF_KILL_*): New macros. (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i members. Rename existing must_i and num_v_must members to mustd_i and num_v_mustd. (SSA_OP_VMUSTDEFKILL): New flag. (SSA_OP_VIRTUAL_KILLS): New flag. (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS. (SSA_OP_ALL_KILLS): New flag. (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro. * tree-ssa.c (verify_ssa): Verify virtual kills as well. * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP became V_MUST_DEF_RESULT. (rename_variables_in_bb): Rename kill pointer as well. * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the immediate uses. From-SVN: r89695
2004-10-22alias.c, [...]: Fix comment formatting.Kazu Hirata1-14/+14
* alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h, final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def, lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c, pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c, tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c, tree-scalar-evolution.c, tree-ssa-dom.c, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c, tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c, tree-vectorizer.c, vec.h: Fix comment formatting. From-SVN: r89453
2004-10-15* pointer-set.c, tree-vectorizer.c: Fix comment typos.Kazu Hirata1-4/+4
From-SVN: r89094
2004-10-14tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor always.Andrew Pinski1-2/+0
2004-10-14 Andrew Pinski <pinskia@physics.uc.edu> * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor always. From-SVN: r89074
2004-10-142004-10-14 Olga Golovanevsky <olga@il.ibm.com>Olga Golovanevsky1-73/+1574
* tree-vectorizer.c (vect_generate_tmps_on_preheader): (vect_update_ivs_after_vectorizer): (vect_transform_for_unknown_loop_bound): (tree_duplicate_loop_to_edge): (allocate_new_names): (rename_use_op): (rename_def_op): (rename_variables_in_bb): (free_new_names): (rename_variables_in_loop): (copy_phi_nodes): (update_phis_for_duplicate_loop): (update_phi_nodes_for_guard): (make_loop_iterate_ntimes): (tree_duplicate_loop_to_edge_cfg): (add_loop_guard): (vect_analyze_loop_with_symbolic_num_of_iters): (verify_loop_for_duplication): (vect_gen_niters_for_prolog_loop): (vect_update_niters_after_peeling): (vect_update_inits_of_dr): (vect_update_inits_of_drs): (vect_build_loop_niters): (vect_do_peeling_for_alignment): New functions. (vect_transform_loop): Add unknown and known but indivisible loop bound support; add peeling for unalignment support. (vect_analyze_loop_form): Support symbolic number of iterations. (vect_transform_loop_bound): New input parameter. (vect_get_loop_niters): Change input parameter type. (new_loop_vec_info): LOOP_VINFO_NITERS is tree now. (vectorizable_store): Allow unaligned access. (vectorize_loops): Add rewrite_into_loop_closed_ssa. (vect_analyze_data_refs_alignment): Allowed one unaligned store. * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined to use tree. (LOOP_VINFO_INT_NITERS): New macro. (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define. (do_peeling_for_alignment): (unaligned_drs): New members of _loop_vec_info. (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro. From-SVN: r89040
2004-10-14tree-vectorizer.c (vect_analyze_data_refs): Call ↵Ira Rosen1-5/+7
vect_get_base_and_bit_offset to get memory tag for array ref. 2004-10-14 Ira Rosen <irar@il.ibm.com> * tree-vectorizer.c (vect_analyze_data_refs): Call vect_get_base_and_bit_offset to get memory tag for array ref. (vect_create_addr_base_for_vector_ref): Remove redundant checks. From-SVN: r89038
2004-10-14tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.Dorit Naishlos1-22/+32
* tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts. Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode. (vect_analyze_operations): Make sure the vectorization factor > 1. Add gcc_assert under ENABLE_CHECKING. (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to get_vectype_for_scalar_type). (vect_get_vec_def_for_operand): Remove redundant variables. (vect_transform_loop): Likewise. From-SVN: r89032
2004-10-01tree-vectorizer.c (vectorizable_operation): Fail unless the mode for the ↵Paolo Bonzini1-1/+11
vector type is indeed a vector mode. 2004-10-01 Paolo Bonzini <bonzini@gnu.org> * tree-vectorizer.c (vectorizable_operation): Fail unless the mode for the vector type is indeed a vector mode. From-SVN: r88390
2004-09-28backport: basic-block.h: Include vec.h, errors.h.Ben Elliston1-2/+1
2004-09-24 Ben Elliston <bje@au.ibm.com> Steven Bosscher <stevenb@suse.de> Andrew Pinski <pinskia@physics.uc.edu> Merge from edge-vector-branch: * basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge). (struct edge_def): Remove pred_next, succ_next members. (struct basic_block_def): Remove pred, succ members. Add preds and succs members of type VEC(edge). (FALLTHRU_EDGE): Redefine using EDGE_SUCC. (BRANCH_EDGE): Likewise. (EDGE_CRITICAL_P): Redefine using EDGE_COUNT. (EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New. (edge_iterator): New. (ei_start, ei_last, ei_end_p, ei_one_before_end_p): New. (ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise. (FOR_EACH_EDGE): New. * bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros where applicable. (rotate_loop): Likewise. (find_traces_1_route): Likewise. (bb_to_key): Likewise. (connect_traces): Likewise. (copy_bb_p): Likewise. (find_rarely_executed_basic_blocks_and_crossing_edges): Likewise. (add_labels_and_missing_jumps): Likewise. (fix_up_fall_thru_edges): Likewise. (find_jump_block): Likewise. (fix_crossing_conditional_branches): Likewise. (fix_crossing_unconditional_branches): Likewise. (add_reg_crossing_jump_notes): Likewise. * bt-load.c (augment_live_range): Likewise. * cfg.c (clear_edges): Likewise. (unchecked_make_edge): Likewise. (cached_make_edge): Likewise. (make_single_succ_edge): Likewise. (remove_edge): Likewise. (redirect_edge_succ_nodup): Likewise. (check_bb_profile): Likewise. (dump_flow_info): Likewise. (alloc_aux_for_edges): Likewise. (clear_aux_for_edges): Likewise. (dump_cfg_bb_info): Likewise. * cfganal.c (forwarder_block_p): Likewise. (can_fallthru): Likewise. (could_fall_through): Likewise. (mark_dfs_back_edges): Likewise. (set_edge_can_fallthru_flag): Likewise. (find_unreachable_blocks): Likewise. (create_edge_list): Likewise. (verify_edge_list): Likewise. (add_noreturn_fake_exit_edges): Likewise. (connect_infinite_loops_to_exit): Likewise. (flow_reverse_top_sort_order_compute): Likewise. (flow_depth_first_order_compute): Likewise. (flow_preorder_transversal_compute): Likewise. (flow_dfs_compute_reverse_execute): Likewise. (dfs_enumerate_from): Likewise. (compute_dominance_frontiers_1): Likewise. * cfgbuild.c (make_edges): Likewise. (compute_outgoing_frequencies): Likewise. (find_many_sub_basic_blocks): Likewise. (find_sub_basic_blocks): Likewise. * cfgcleanup.c (try_simplify_condjump): Likewise. (thread_jump): Likewise. (try_forward_edges): Likewise. (merge_blocks_move): Likewise. (outgoing_edges_match): Likewise. (try_crossjump_to_edge): Likewise. (try_crossjump_bb): Likewise. (try_optimize_cfg): Likewise. (merge_seq_blocks): Likewise. * cfgexpand.c (expand_gimple_tailcall): Likewise. (expand_gimple_basic_block): Likewise. (construct_init_block): Likewise. (construct_exit_block): Likewise. * cfghooks.c (verify_flow_info): Likewise. (dump_bb): Likewise. (delete_basic_block): Likewise. (split_edge): Likewise. (merge_blocks): Likewise. (make_forwarder_block): Likewise. (tidy_fallthru_edges): Likewise. (can_duplicate_block_p): Likewise. (duplicate_block): Likewise. * cfglayout.c (fixup_reorder_chain): Likewise. (fixup_fallthru_exit_predecessor): Likewise. (can_copy_bbs_p): Likewise. (copy_bbs): Likewise. * cfgloop.c (flow_loops_cfg_dump): Likewise. (flow_loop_entry_edges_find): Likewise. (flow_loop_exit_edges_find): Likewise. (flow_loop_nodes_find): Likewise. (mark_single_exit_loops): Likewise. (flow_loop_pre_header_scan): Likewise. (flow_loop_pre_header_find): Likewise. (update_latch_info): Likewise. (canonicalize_loop_headers): Likewise. (flow_loops_find): Likewise. (get_loop_body_in_bfs_order): Likewise. (get_loop_exit_edges): Likewise. (num_loop_branches): Likewise. (verify_loop_structure): Likewise. (loop_latch_edge): Likewise. (loop_preheader_edge): Likewise. * cfgloopanal.c (mark_irreducible_loops): Likewise. (expected_loop_iterations): Likewise. * cfgloopmanip.c (remove_bbs): Likewise. (fix_bb_placement): Likewise. (fix_irreducible_loops): Likewise. (remove_path): Likewise. (scale_bbs_frequencies): Likewise. (loopify): Likewise. (unloop): Likewise. (fix_loop_placement): Likewise. (loop_delete_branch_edge): Likewise. (duplicate_loop_to_header_edge): Likewise. (mfb_keep_just): Likewise. (create_preheader): Likewise. (force_single_succ_latches): Likewise. (loop_split_edge_with): Likewise. (create_loop_notes): Likewise. * cfgrtl.c (rtl_split_block): Likewise. (rtl_merge_blocks): Likewise. (rtl_can_merge_blocks): Likewise. (try_redirect_by_replacing_jump): Likewise. (force_nonfallthru_and_redirect): Likewise. (rtl_tidy_fallthru_edge): Likewise. (commit_one_edge_insertion): Likewise. (commit_edge_insertions): Likewise. (commit_edge_insertions_watch_calls): Likewise. (rtl_verify_flow_info_1): Likewise. (rtl_verify_flow_info): Likewise. (purge_dead_edges): Likewise. (cfg_layout_redirect_edge_and_branch): Likewise. (cfg_layout_can_merge_blocks_p): Likewise. (rtl_flow_call_edges_add): Likewise. * cse.c (cse_cc_succs): Likewise. * df.c (hybrid_search): Likewise. * dominance.c (calc_dfs_tree_nonrec): Likewise. (calc_dfs_tree): Likewise. (calc_idoms): Likewise. (recount_dominator): Likewise. * domwalk.c (walk_dominator_tree): Likewise. * except.c (emit_to_new_bb_before): Likewise. (connect_post_landing_pads): Likewise. (sjlj_emit_function_enter): Likewise. (sjlj_emit_function_exit): Likewise. (finish_eh_generation): Likewise. * final.c (compute_alignments): Likewise. * flow.c (calculate_global_regs_live): Likewise. (initialize_uninitialized_subregs): Likewise. (init_propagate_block_info): Likewise. * function.c (thread_prologue_and_epilogue_insns): Likewise. * gcse.c (find_implicit_sets): Likewise. (bypass_block): Likewise. (bypass_conditional_jumps): Likewise. (compute_pre_data): Likewise. (insert_insn_end_bb): Likewise. (insert_store): Likewise. (remove_reachable_equiv_notes): Likewise. * global.c (global_conflicts): Likewise. (calculate_reg_pav): Likewise. * graph.c (print_rtl_graph_with_bb): Likewise. * ifcvt.c (mark_loop_exit_edges): Likewise. (merge_if_block): Likewise. (find_if_header): Likewise. (block_jumps_and_fallthru_p): Likewise. (find_if_block): Likewise. (find_cond_trap): Likewise. (block_has_only_trap): Likewise. (find_if_case1): Likewise. (find_if_case_2): Likewise. * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise. (perfect_nestify): Likewise. * lcm.c (compute_antinout_edge): Likewise. (compute_laterin): Likewise. (compute_available): Likewise. (compute_nearerout): Likewise. * loop-doloop.c (doloop_modify): Likewise. * loop-init.c (loop_optimizer_init): Likewise. * loop-invariant.c (find_exits): Likewise. * loop-iv.c (simplify_using_initial_values): Likewise. (check_simple_exit): Likewise. (find_simple_exit): Likewise. * loop-unroll.c (peel_loop_completely): Likewise. (unroll_loop_constant_iterations): Likewise. (unroll_loop_runtime_iterations): Likewise. * loop-unswitch.c (may_unswitch_on): Likewise. (unswitch_loop): Likewise. * modulo-sched.c (generate_prolog_epilog): Likewise. (sms_schedule): Likewise. * postreload-gcse.c (eliminate_partially_redundant_load): Likewise. * predict.c (can_predict_insn_p): Likewise. (set_even_probabilities): Likewise. (combine_predictions_for_bb): Likewise. (predict_loops): Likewise. (estimate_probability): Likewise. (tree_predict_by_opcode): Likewise. (tree_estimate_probability): Likewise. (last_basic_block_p): Likewise. (propagate_freq): Likewise. (estimate_loops_at_level): Likewise. (estimate_bb_frequencies): Likewise. * profile.c (instrument_edges): Likewise. (get_exec_counts): Likewise. (compute_branch_probabilities): Likewise. (branch_prob): Likewise. * ra-build.c (live_in): Likewise. * ra-rewrite.c (rewrite_program2): Likewise. * ra.c (reg_alloc): Likewise. * reg-stack.c (reg_to_stack): Likewise. (convert_regs_entry): Likewise. (compensate_edge): Likewise. (convert_regs_1): Likewise, (convert_regs_2): Likewise. (convert_regs): Likewise. * regrename.c (copyprop_hardreg_forward): Likewise. * reload1.c (fixup_abnormal_edges): Likewise. * sbitmap.c (sbitmap_intersection_of_succs): Likewise. (sbitmap_insersection_of_preds): Likewise. (sbitmap_union_of_succs): Likewise. (sbitmap_union_of_preds): Likewise. * sched-ebb.c (compute_jump_reg_dependencies): Likewise. (fix_basic_block_boundaries): Likewise. (sched_ebbs): Likewise. * sched-rgn.c (build_control_flow): Likewise. (find_rgns): Likewise. * tracer.c (find_best_successor): Likewise. (find_best_predecessor): Likewise. (tail_duplicate): Likewise. * tree-cfg.c (make_edges): Likewise. (make_ctrl_stmt_edges): Likewise. (make_goto_expr_edges): Likewise. (tree_can_merge_blocks_p): Likewise. (tree_merge_blocks): Likewise. (cfg_remove_useless_stmts_bb): Likewise. (remove_phi_nodes_and_edges_for_unreachable_block): Likewise. (tree_block_forwards_to): Likewise. (cleanup_control_expr_graph): Likewise. (find_taken_edge): Likewise. (dump_cfg_stats): Likewise. (tree_cfg2vcg): Likewise. (disband_implicit_edges): Likewise. (tree_find_edge_insert_loc): Likewise. (bsi_commit_edge_inserts): Likewise. (tree_split_edge): Likewise. (tree_verify_flow_info): Likewise. (tree_make_forwarder_block): Likewise. (tree_forwarder_block_p): Likewise. (thread_jumps): Likewise. (tree_try_redirect_by_replacing_jump): Likewise. (tree_split_block): Likewise. (add_phi_args_after_copy_bb): Likewise. (rewrite_to_new_ssa_names_bb): Likewise. (dump_function_to_file): Likewise. (print_pred_bbs): Likewise. (print_loop): Likewise. (tree_flow_call_edges_add): Likewise. (split_critical_edges): Likewise. (execute_warn_function_return): Likewise. (extract_true_false_edges_from_block): Likewise. * tree-if-conv.c (tree_if_conversion): Likewise. (if_convertable_bb_p): Likewise. (find_phi_replacement_condition): Likewise. (combine_blocks): Likewise. * tree-into-ssa.c (compute_global_livein): Likewise. (ssa_mark_phi_uses): Likewise. (ssa_rewrite_initialize_block): Likewise. (rewrite_add_phi_arguments): Likewise. (ssa_rewrite_phi_arguments): Likewise. (insert_phi_nodes_for): Likewise. (rewrite_into_ssa): Likewise. (rewrite_ssa_into_ssa): Likewise. * tree-mudflap.c (mf_build_check_statement_for): Likewise. * tree-outof-ssa.c (coalesce_abnormal_edges): Likewise. (rewrite_trees): Likewise. * tree-pretty-print.c (dump_bb_header): Likewise. (dump_implicit_edges): Likewise. * tree-sra.c (insert_edge_copies): Likewise. (find_obviously_necessary_stmts): Likewise. (remove_data_stmt): Likewise. * tree-ssa-dom.c (thread_across_edge): Likewise. (dom_opt_finalize_block): Likewise. (single_incoming_edge_ignoring_loop_edges): Likewise. (record_equivalences_from_incoming_edges): Likewise. (cprop_into_successor_phis): Likewise. * tree-ssa-live.c (live_worklist): Likewise. (calculate_live_on_entry): Likewise. (calculate_live_on_exit): Likewise. * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise. (copy_loop_headers): Likewise. * tree-ssa-loop-im.c (loop_commit_inserts): Likewise. (fill_always_executed_in): Likewise. * tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise. * tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise. (compute_phi_arg_on_exit): Likewise. * tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise. (get_loops_exit): Likewise. (split_loop_exit_edge): Likewise. (ip_normal_pos): Likewise. * tree-ssa-loop-niter.c (simplify_using_initial_conditions): Likewise. * tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise. (replace_phi_with_stmt): Likewise. (value_replacement): Likewise. * tree-ssa-pre.c (compute_antic_aux): Likewise. (insert_aux): Likewise. (init_pre): Likewise. * tree-ssa-propagate.c (simulate_stmt): Likewise. (simulate_block): Likewise. (ssa_prop_init): Likewise. * tree-ssa-threadupdate.c (thread_block): Likewise. (create_block_for_threading): Likewise. (remove_last_stmt_and_useless_edges): Likewise. * tree-ssa.c (verify_phi_args): Likewise. (verify_ssa): Likewise. * tree_tailcall.c (independent_of_stmt_p): Likewise. (find_tail_calls): Likewise. (eliminate_tail_call): Likewise. (tree_optimize_tail_calls_1): Likewise. * tree-vectorizer.c (vect_transform_loop): Likewise. * var-tracking.c (prologue_stack_adjust): Likewise. (vt_stack_adjustments): Likewise. (vt_find_locations): Likewise. * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise. * config/i386/i386.c (ix86_pad_returns): Likewise. * config/ia64/ia64.c (ia64_expand_prologue): Likewise. * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise. Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu> Co-Authored-By: Steven Bosscher <stevenb@suse.de> From-SVN: r88222