* tree-vectorizer.h (_loop_vec_info.strided_stores): Rename to
grouped_stores.
(LOOP_VINFO_STRIDED_STORES): Rename to LOOP_VINFO_GROUPED_STORES.
(struce _bb_vec_info.strided_stores): Rename to grouped_stores.
(BB_VINFO_STRIDED_STORES): Rename to BB_VINFO_GROUPED_STORES.
(STMT_VINFO_STRIDED_ACCESS): Rename to STMT_VINFO_GROUPED_ACCESS.
(vect_strided_store_supported): Rename to vect_grouped_store_supported.
(vect_strided_load_supported): Rename to vect_grouped_load_supported.
(vect_transform_strided_load): Rename to vect_transform_grouped_load.
(vect_record_strided_load_vectors): Rename to
vect_record_grouped_load_vectors.
* tree-vect-data-refs.c (vect_update_misalignment_for_peel):
Rename use of above macros.
(vect_verify_datarefs_alignment): Ditto.
(vector_alignment_reachable_p): Ditto.
(vect_peeling_hash_get_lowest_cost): Ditto.
(vect_enhance_data_refs_alignment): Ditto.
(vect_analyze_group_access): Ditto and rename stride to groupsize.
(vect_analyze_data_ref_access): Rename "strided" to "grouped".
(vect_strided_store_supported): Rename to vect_grouped_store_supported.
(vect_strided_load_supported): Rename to vect_grouped_load_supported.
(vect_transform_strided_load): Rename to vect_transform_grouped_load.
(vect_record_strided_load_vectors): Rename to
vect_record_grouped_load_vectors.
* tree-vect-loop.c (new_loop_vec_info): Rename use of above macros.
(destroy_loop_vec_info): Ditto.
(vect_transform_loop): Ditto and rename strided_store to grouped_store.
* tree-vect-slp.c (vect_build_slp_tree): Rename use of above macros.
(vect_analyze_slp): Ditto.
(new_bb_vec_info): Ditto.
(destroy_bb_vec_info): Ditto.
(vect_schedule_slp_instance): Ditto and rename strided_store to
grouped_store.
* tree-vect-stmts.c (vect_cost_strided_group_size): Rename to
vect_cost_group_size.
(vect_model_store_cost): Rename use of above macros and call
to vect_cost_strided_group_size.
(vect_model_load_cost): Ditto.
(vectorizable_store): Ditto, rename strided_store to grouped_store
and calls to renamed tree-vectorizer.h functions.
(vectorizable_load): Ditto.
(vect_transform_stmt): Rename use of above macros and strided_store
to grouped_store.
testsuite/
* gcc.dg/vect/vect-outer-1-big-array.c: Adjust.
* gcc.dg/vect/vect-outer-1.c: Adjust.
* gcc.dg/vect/vect-outer-1a-big-array.c: Adjust.
* gcc.dg/vect/vect-outer-1a.c: Adjust.
* gcc.dg/vect/vect-outer-1b-big-array.c: Adjust.
* gcc.dg/vect/vect-outer-1b.c: Adjust.
* gcc.dg/vect/vect-outer-2b.c: Adjust.
* gcc.dg/vect/vect-outer-3b.c: Adjust.
From-SVN: r186285
* cgraph.h: Remove misledaing comment on ipa-ref.h.
(symtab_type): New enum.
(symtab_node): New structure.
(cgraph_node, varpool_node): Add symbol base type.
(cgraph, varpool): New accestor functions.
* cgraph.c (cgraph_create_node_1): Set symbol type.
* varpool.c (varpool_node): Set symbol type.
From-SVN: r186284
gcc/
PR tree-optimization/52870
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that
presumed pattern statement is within the same loop or basic block.
gcc/testsuite/
PR tree-optimization/52870
* gcc.dg/vect/pr52870.c: New test.
From-SVN: r186272
2012-04-10 Richard Guenther <rguenther@suse.de>
* tree-pass.h (tree_lowering_passes): Remove.
* tree-optimize.c (tree_lowering_passes): Remove.
* cgraph.c (cgraph_add_new_function): Inline relevant parts
of tree_lowering_passes, avoid redundant call of early local
passes.
* cgraphunit.c (cgraph_lower_function): Fold into ...
(cgraph_analyze_function): ... its single caller. Inline
relevant parts of tree_lowering_passes.
From-SVN: r186268
PR lto/52722
PR lto/51765
PR lto/52634
* lto-cgraph.c (compute_ltrans_boundary): When alias is in the boundary,
add its target too.
* lto.c (add_references_to_partition): Add also aliased nodes.
(add_cgraph_node_to_partition,
add_varpool_node_to_partition): Work on nodes, not functions/variables;
when adding alias, add also the aliased object.
* gcc.dg/lto/pr52634_1.c: New testcase.
* gcc.dg/lto/pr52634_0.c: New testcase.
From-SVN: r186252
PR target/52717
* config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
the DECL generated for the special GOT helper.
From-SVN: r186237
* config/sh/sh.md (*prefetch_i4, prefetch_m2a): Merge into ...
(*prefetch): ... this new insn.
* gcc.target/sh/sh2a-prefetch.c: Rename to ...
* gcc.target/sh/prefetch.c: ... this. Enable test case for m4*.
From-SVN: r186225
2012-04-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/52893
* frontend-passes.c: Keep track of wether we are in an implicit
DO loop; do not do function elimination if we are.
2012-04-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/52893
* gfortran.dg/function_optimize_11.f90: New test.
From-SVN: r186213
2012-04-06 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi: Clean up Texinfo markup throughout the file.
Use @option markup on command-line options. Use @samp markup on
literal keywords to options. Use @code markup on code fragments.
Use other markup in preference to quotation marks in the text.
Add markup to some passages without any.
From-SVN: r186209
2012-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/52668
* module.c: Only mark symbols as use_only if they have been
imported via an only list.
2012-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/52668
* gfortran.dg/use_only_6.f90: New test.
From-SVN: r186199
Avoid instructions that incur expensive length-changing prefix (LCP) stalls
on some x86-64 implementations, notably Core2 and Corei7. Specifically, a move of
a 16-bit constant into memory requires a length-changing prefix and can incur significant
penalties. Modified an old patch written by H.J to split such instructions
during peephole2.
2012-04-05 Teresa Johnson <tejohnson@google.com>
H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.h (ix86_tune_indices): Add
X86_TUNE_LCP_STALL.
* config/i386/i386.md (move immediate to memory peephole2):
Add cases for HImode move when LCP stall avoidance is needed.
* config/i386/i386.c (initial_ix86_tune_features): Initialize
X86_TUNE_LCP_STALL entry.
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r186176