Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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
|
|
From-SVN: r93153
|
|
* 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-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
|
|
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-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
|
|
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
|
|
get_inner_reference (missing argument).
* tree-vectorizer.c (vect_get_base_and_offset): Adjust call too
get_inner_reference (missing argument).
From-SVN: r92705
|
|
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
|
|
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
|
|
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
|
|
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
|
|
varray_type to varray_type*.
(vect_mark_stmts_to_be_vectorized): Pass &worklist instead of worklist
when calling vect_mark_relevant.
From-SVN: r92671
|
|
* 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
|
|
* 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
|
|
PR tree-opt/18716
* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Properly set
then and else labels.
From-SVN: r91637
|
|
variable.
2004-11-30 Nathan Sidwell <nathan@codesourcery.com>
* tree-vectorizer.c (vect_analyze_data_refs): Reformat and avoid
uninitialized variable.
From-SVN: r91543
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
-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
|
|
PR tree-opt/18544
* tree-vectorizer.c (vect_analyze_data_refs): Fail if memtag not found.
From-SVN: r91011
|
|
* tree-ssa-threadupdate.c, tree-vectorizer.c: Fix comment
typos.
* config/arm/arm.c: Follow spelling conventions.
From-SVN: r90963
|
|
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
|
|
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
|
|
* 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
|
|
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
|
|
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
|
|
* 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
|
|
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-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
|
|
* 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
|
|
From-SVN: r90531
|
|
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
|
|
* 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
|
|
* bitmap.h: Fix a comment typo. Follow spelling conventions.
* tree-vectorizer.c: Fix a comment typo.
From-SVN: r90062
|
|
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
|
|
* 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-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
|
|
* 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
|
|
From-SVN: r89094
|
|
2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
* tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
always.
From-SVN: r89074
|
|
* 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
|
|
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
|
|
* 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
|
|
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-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
|