1. 23 Mar, 2013 3 commits
  2. 22 Mar, 2013 21 commits
  3. 21 Mar, 2013 16 commits
    • tree-pass.h (PROP_gimple_lvec): New. · 6f37411d
      2013-03-21  Marc Glisse  <marc.glisse@inria.fr>
      
      	* tree-pass.h (PROP_gimple_lvec): New.
      	* passes.c (dump_properties): Handle PROP_gimple_lvec.
      	(init_optimization_passes): Move pass_lower_vector.
      	* tree-vect-generic.c (gate_expand_vector_operations_ssa): Test
      	PROP_gimple_lvec.
      	(pass_lower_vector): Provide PROP_gimple_lvec.
      	(pass_lower_vector_ssa): Likewise.
      	* cfgexpand.c (pass_expand): Require PROP_gimple_lvec.
      
      From-SVN: r196890
      Marc Glisse committed
    • i386.md (*movdi_internal): Disparage slightly all MMX moves to/from memory. · cc1df30b
      	* config/i386/i386.md (*movdi_internal): Disparage slightly
      	all MMX moves to/from memory.  Use Yi instead of x for SSE-MMX
      	conversion alternatives.
      
      From-SVN: r196888
      Uros Bizjak committed
    • re PR middle-end/48087 (-Wall -Werror adds warnings over and above those generated by -Wall) · 37e99116
      	PR middle-end/48087
      	* diagnostic.def (DK_WERROR): New kind.
      	* diagnostic.h (werrorcount): Define.
      	* diagnostic.c (diagnostic_report_diagnostic): For DK_WARNING
      	promoted to DK_ERROR, increment DK_WERROR counter instead of
      	DK_ERROR counter.
      	* toplev.c (toplev_main): Call print_ignored_options even if
      	just werrorcount is non-zero.  Exit with FATAL_EXIT_CODE
      	even if just werrorcount is non-zero.
      
      	* pt.c (convert_nontype_argument): Count werrorcount as warnings.
      	* call.c (build_temp): Likewise.
      	* method.c (synthesize_method): Likewise.
      	* typeck.c (convert_for_initialization): Likewise.
      
      From-SVN: r196887
      Jakub Jelinek committed
    • re PR debug/55608 (Debug info quality regressions with file scope vars) · c845cfe1
      	PR debug/55608
      	* dwarf2out.c (tree_add_const_value_attribute): Call ggc_free (array)
      	on failure.
      	(resolve_one_addr): Fail if referenced STRING_CST hasn't been written.
      	(string_cst_pool_decl): New function.
      	(optimize_one_addr_into_implicit_ptr): New function.
      	(resolve_addr_in_expr): Optimize DWARF location expression
      	DW_OP_addr DW_OP_stack_value where DW_OP_addr refers to some variable
      	which doesn't live in memory, but has DW_AT_location or
      	DW_AT_const_value, or refers to a string literal, into
      	DW_OP_GNU_implicit_pointer.
      	(optimize_location_into_implicit_ptr): New function.
      	(resolve_addr): If removing DW_AT_location of a variable because
      	it was DW_OP_addr of address of the variable, but the variable doesn't
      	live in memory, try to emit const value attribute for the initializer.
      
      From-SVN: r196886
      Jakub Jelinek committed
    • correct changelog · 4a5e2469
      From-SVN: r196885
      Jason Merrill committed
    • tree.h (VECTOR_TYPE_P): New macro. · 08e0cda6
      2013-03-21  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* tree.h (VECTOR_TYPE_P): New macro.
      	(VECTOR_INTEGER_TYPE_P, VECTOR_FLOAT_TYPE_P, FLOAT_TYPE_P,
      	TYPE_MODE): Use it.
      	* fold-const.c (fold_cond_expr_with_comparison): Use build_zero_cst.
      	VEC_COND_EXPR cannot be lvalues.
      	(fold_ternary_loc) <VEC_COND_EXPR>: Merge with the COND_EXPR case.
      
      gcc/cp/
      	* call.c (build_conditional_expr_1): Fold VEC_COND_EXPR.
      
      gcc/testsuite/
      	* g++.dg/ext/vector21.C: New testcase.
      
      From-SVN: r196884
      Marc Glisse committed
    • simplify-rtx.c (simplify_binary_operation_1): Restrict the transformation to equal modes. · d08633b4
      2013-03-21  Marc Glisse  <marc.glisse@inria.fr>
      
      	* simplify-rtx.c (simplify_binary_operation_1) <VEC_CONCAT>:
      	Restrict the transformation to equal modes.
      
      From-SVN: r196882
      Marc Glisse committed
    • Add forgotten ChangeLog line. · bc5faa5b
      From-SVN: r196879
      Christophe Lyon committed
    • re PR middle-end/39326 (Segmentation fault with -O1, out of memory with -O2) · e6647190
      2013-03-21  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/39326
      	* tree-ssa-loop-im.c (UNANALYZABLE_MEM_ID): New define.
      	(MEM_ANALYZABLE): Adjust.
      	(record_mem_ref_loc): Move bitmap ops ...
      	(gather_mem_refs_stmt): ... here.  Use the shared mem-ref for
      	unanalyzable refs, do not record locations for it.
      	(analyze_memory_references): Allocate ref zero as shared
      	unanalyzable ref.
      	(refs_independent_p): Do not test for unanalyzed mems here.
      	(ref_indep_loop_p_1): Special-case disambiguation against
      	the unanalyzed ref.
      	(ref_indep_loop_p): Assert we are not queried for the
      	unanalyzed mem.
      
      From-SVN: r196878
      Richard Biener committed
    • [ARM] Turning off 64bits ops in Neon · 65074f54
      2013-03-21  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	gcc/
      	* config/arm/arm-protos.h (tune_params): Add
      	prefer_neon_for_64bits field.
      	* config/arm/arm.c (prefer_neon_for_64bits): New variable.
      	(arm_slowmul_tune): Default prefer_neon_for_64bits to false.
      	(arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune): Ditto.
      	(arm_9e_tune, arm_v6t2_tune, arm_cortex_tune): Ditto.
      	(arm_cortex_a15_tune, arm_cortex_a5_tune): Ditto.
      	(arm_cortex_a9_tune, arm_v6m_tune, arm_fa726te_tune): Ditto.
      	(arm_option_override): Handle -mneon-for-64bits new option.
      	* config/arm/arm.h (TARGET_PREFER_NEON_64BITS): New macro.
      	(prefer_neon_for_64bits): Declare new variable.
      	* config/arm/arm.md (arch): Rename neon_onlya8 and neon_nota8 to
      	avoid_neon_for_64bits and neon_for_64bits. Remove onlya8 and
      	nota8.
      	(arch_enabled): Handle new arch types. Remove support for onlya8
      	and nota8.
      	(one_cmpldi2): Use new arch names.
      	* config/arm/arm.opt (mneon-for-64bits): Add option.
      	* config/arm/neon.md (adddi3_neon, subdi3_neon, iordi3_neon)
      	(anddi3_neon, xordi3_neon, ashldi3_neon, <shift>di3_neon): Use
      	neon_for_64bits instead of nota8 and avoid_neon_for_64bits instead
      	of onlya8.
      	* doc/invoke.texi (-mneon-for-64bits): Document.
      
      	gcc/testsuite:
      	* gcc.target/arm/neon-for-64bits-1.c: New tests.
      	* gcc.target/arm/neon-for-64bits-2.c: Likewise.
      
      From-SVN: r196876
      Christophe Lyon committed
    • re PR middle-end/39326 (Segmentation fault with -O1, out of memory with -O2) · 5a2d2a79
      2013-03-21  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/39326
      	* tree-ssa-loop-im.c (bb_loop_postorder): New global static.
      	(sort_bbs_in_loop_postorder_cmp): New function.
      	(gather_mem_refs_in_loops): Assign mem-ref IDs in loop
      	postorder.
      
      From-SVN: r196874
      Richard Biener committed
    • tree-vect-data-refs.c (vect_update_interleaving_chain): Remove. · 5abe1e05
      2013-03-21  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-data-refs.c (vect_update_interleaving_chain): Remove.
      	(vect_insert_into_interleaving_chain): Likewise.
      	(vect_drs_dependent_in_basic_block): Inline ...
      	(vect_slp_analyze_data_ref_dependence): ... here.  New function,
      	split out from ...
      	(vect_analyze_data_ref_dependence): ... here.  Simplify.
      	(vect_check_interleaving): Simplify.
      	(vect_analyze_data_ref_dependences): Likewise.  Split out ...
      	(vect_slp_analyze_data_ref_dependences): ... this new function.
      	(dr_group_sort_cmp): New function.
      	(vect_analyze_data_ref_accesses): Compute data-reference groups
      	here instead of in vect_analyze_data_ref_dependence.  Use
      	a more efficient algorithm.
      	* tree-vect-slp.c (vect_slp_analyze_bb_1): Use
      	vect_slp_analyze_data_ref_dependences.  Call
      	vect_analyze_data_ref_accesses earlier.
      	* tree-vect-loop.c (vect_analyze_loop_2): Likewise.
      	* tree-vectorizer.h (vect_analyze_data_ref_dependences): Adjust.
      	(vect_slp_analyze_data_ref_dependences): New prototype.
      
      	* gcc.dg/vect/vect-outer-3a-big-array.c: Adjust.
      	* gcc.dg/vect/vect-outer-3a.c: Likewise.
      
      From-SVN: r196872
      Richard Biener committed
    • * ChangeLog: Fix whitespace. · bd059b26
      From-SVN: r196871
      Uros Bizjak committed
    • tree-ssa-loop-im.c (can_sm_ref_p): Do not test whether ref is stored in the loop. · cad1735b
      2013-03-21  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-loop-im.c (can_sm_ref_p): Do not test whether
      	ref is stored in the loop.
      	(find_refs_for_sm): Walk only over all stores.
      	(store_motion_loop): Allocate from lim_bitmap_obstack.
      	(store_motion): Likewise.
      
      From-SVN: r196870
      Richard Biener committed
    • tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Update virtual SSA form. · 141310ef
      2013-03-21  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge):
      	Update virtual SSA form.
      
      From-SVN: r196868
      Richard Biener committed