Commit Graph

122864 Commits

Author SHA1 Message Date
Richard Biener abf9bfbc31 tree-vect-slp.c (vect_get_and_check_slp_defs): Remove broken code swapping operands.
2013-04-10  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.c (vect_get_and_check_slp_defs): Remove
	broken code swapping operands.
	(vect_build_slp_tree): Do not compute load permutations here.
	(vect_analyze_slp_instance): Compute load permutations here,
	after building the SLP tree.

From-SVN: r197665
2013-04-10 08:20:07 +00:00
Christian Bruel f408477e6d sh.md (barrier_align): Use next/prev_active_insn instead of next/prev_real_insn.
*  config/sh/sh.md (barrier_align): Use next/prev_active_insn instead
of next/prev_real_insn.

From-SVN: r197664
2013-04-10 09:52:00 +02:00
Chung-Ju Wu 4b1d419827 MAINTAINERS (Write After Approval): Add myself.
2013-04-10 Chung-Ju Wu <jasonwucj@gmail.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r197663
2013-04-10 07:02:32 +00:00
Jakub Jelinek f7e8cd25dd re PR c++/56895 (ICE: unexpected expression of kind arrow_expr)
PR c++/56895
	* typeck.c (cp_build_binary_op): Call fold_non_dependent_expr_sfinae
	first before calling maybe_constant_value for warn_for_div_by_zero
	or invalid shift count warning purposes.

	* g++.dg/template/arrow3.C: New test.

From-SVN: r197660
2013-04-10 08:33:26 +02:00
GCC Administrator 13aac201ba Daily bump.
From-SVN: r197658
2013-04-10 00:16:50 +00:00
Jan Hubicka 5ac42672ba ipa.c (cgraph_externally_visible_p, [...]): Drop aliased parameter.
* ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p): Drop
	aliased parameter.
	(function_and_variable_visibility): Do not handle alias pairs.
	* cgraph.c (varpool_externally_visible_p): Update prototype.
	* varpool.c (varpool_add_new_variable): Update.

From-SVN: r197652
2013-04-09 22:45:38 +00:00
Tom Tromey d74e340d7c configure, [...]: Rebuild.
* configure, config.h.in: Rebuild.
	* configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
	sys/sdt.h.
	* acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.

From-SVN: r197649
2013-04-09 20:55:17 +00:00
Uros Bizjak ae3d036149 baseline_symbols.txt: Update.
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r197647
2013-04-09 22:38:21 +02:00
Jason Merrill c87e82a643 re PR c++/25466 (typeid expression fails to throw bad_typeid according to 5.2.8p2)
PR c++/25466
	* rtti.c (build_typeid): Check the address of the argument
	rather than looking for an INDIRECT_REF.

From-SVN: r197644
2013-04-09 14:11:38 -04:00
Kyrylo Tkachov 5017f1d2d3 arm.md (minmax_arithsi_non_canon): New pattern.
2013-04-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (minmax_arithsi_non_canon): New pattern.

	* gcc.target/arm/minmax_minus.c: New test.

From-SVN: r197642
2013-04-09 16:08:47 +00:00
Steven Bosscher a949cf1c75 sched-vis.c (print_pattern): Print SEQUENCE of insns as insns.
* sched-vis.c (print_pattern): Print SEQUENCE of insns as insns.

From-SVN: r197640
2013-04-09 15:02:41 +00:00
Steven Bosscher 48eecbeeb8 sparc.md: Use define_c_enum for "unspec" and "unspecv".
* config/sparc/sparc.md: Use define_c_enum for "unspec" and "unspecv".

From-SVN: r197639
2013-04-09 15:01:45 +00:00
Marek Polacek 75ef8e3d28 re PR tree-optimization/48762 (valgrind: Invalid read/write of size 8 in cse_main with -O --param max-cse-path-length=0 on basic code)
PR tree-optimization/48762
	* params.def (PARAM_MAX_CSE_INSNS): Increase the minimum
	value to 1.

From-SVN: r197637
2013-04-09 14:56:59 +00:00
Richard Biener 23847df440 tree-vect-slp.c (vect_get_and_check_slp_defs): Remove code dealing with cost.
2013-04-09  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.c (vect_get_and_check_slp_defs): Remove code
	dealing with cost.
	(vect_build_slp_tree): Likewise.
	(vect_analyze_slp_cost_1, vect_analyze_slp_cost): New functions
	calculating the cost of a SLP instance.
	(vect_analyze_slp_instance): Use it from here, after building
	the SLP tree.

From-SVN: r197635
2013-04-09 14:12:34 +00:00
Jakub Jelinek ea3a0fdefa re PR middle-end/56883 (error openmp parallel for order)
PR middle-end/56883
	* omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
	expand_omp_for_static_chunk): Use simple_p = true in
	force_gimple_operand_gsi calls when assigning to addressable decls.

	* c-c++-common/gomp/pr56883.c: New test.

From-SVN: r197633
2013-04-09 15:25:58 +02:00
Jeff Law a32dfe9d06 tree-vrp.c (simplify_cond_using_ranges): Simplify test of boolean when the boolean was created by converting a wider...
* tree-vrp.c (simplify_cond_using_ranges): Simplify test of boolean
       when the boolean was created by converting a wider object which
       had a boolean range.

        * gcc.dg/tree-ssa/vrp87.c: New test

From-SVN: r197631
2013-04-09 07:05:08 -06:00
Andi Kleen ab4425be30 Add missing ChangeLog entry
From-SVN: r197630
2013-04-09 12:41:09 +00:00
Richard Biener d755c7effc tree-vectorizer.h (slp_void_p): Remove.
2013-04-09  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (slp_void_p): Remove.
	(slp_tree): Typedef before _slp_tree declaration.
	(struct _slp_tree): Use a vector of slp_tree as children.
	(vect_get_place_in_interleaving_chain): Remove.
	* tree-vect-data-refs.c (vect_get_place_in_interleaving_chain):
	Move ...
	* tree-vect-slp.c (vect_get_place_in_interleaving_chain): ... here
	and make static.
	(vect_free_slp_tree, vect_print_slp_tree, vect_mark_slp_stmts,
	vect_mark_slp_stmts_relevant, vect_slp_rearrange_stmts,
	vect_detect_hybrid_slp_stmts, vect_slp_analyze_node_operations,
	vect_schedule_slp_instance, vect_remove_slp_scalar_calls):
	Use slp_node instead of slp_void_p and adjust.

From-SVN: r197629
2013-04-09 12:39:22 +00:00
Richard Biener 3d741091ee expr.c (build_java_binop): Pass a type to build_int_cst.
2013-04-09  Richard Biener  <rguenther@suse.de>

	java/
	* expr.c (build_java_binop): Pass a type to build_int_cst.

	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): Avoid
	work that is not necessary.

From-SVN: r197626
2013-04-09 10:48:59 +00:00
Jakub Jelinek 39307ba788 re PR tree-optimization/56854 (error: non-decl/MEM_REF LHS in clobber statement)
PR tree-optimization/56854
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't
	forward into clobber stmts if it would change MEM_REF lhs into
	non-MEM_REF.

	* g++.dg/torture/pr56854.C: New test.

From-SVN: r197625
2013-04-09 12:04:24 +02:00
Tobias Burnus 83e0396346 gfortran.texi (KIND Type Parameters, [...]): Add crossrefs.
2013-04-09  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (KIND Type Parameters,
        Internal representation of LOGICAL variables): Add crossrefs.
        (Intrinsic Types): Mention issues with _Bool interop.
        (Naming and argument-passing conventions): New section.

From-SVN: r197624
2013-04-09 12:02:35 +02:00
Maxim Kuvyrkov 343881fd9e tree.c (type_hash_lookup, [...]): Make static.
* tree.c (type_hash_lookup, type_hash_add): Make static.
	* tree.h (type_hash_lookup, type_hash_add): Remove global declarations.

From-SVN: r197623
2013-04-09 09:47:33 +00:00
Richard Biener 3922658a2b tree.h (unsave_expr_now): Remove.
2013-04-09  Richard Biener  <rguenther@suse.de>

	* tree.h (unsave_expr_now): Remove.
	* tree-inline.c (mark_local_for_remap_r): Remove.
	(unsave_expr_1): Likewise.
	(unsave_r): Likewise.
	(unsave_expr_now): Likewise.
	* tree-ssa-copy.c (replace_exp_1): Use unshare_expr.
	(propagate_tree_value): Likewise.

From-SVN: r197620
2013-04-09 08:26:45 +00:00
Jakub Jelinek 4a197c8680 Fix non-ASCII characters in names.
From-SVN: r197618
2013-04-09 09:29:32 +02:00
GCC Administrator c9721f1067 Daily bump.
From-SVN: r197617
2013-04-09 00:16:54 +00:00
Jason Merrill a0c06853a6 re PR c++/56838 (GCC svn doesn't compile libreoffice 4.0.1.2)
PR c++/56838
	PR c++/17232
	* typeck2.c (abstract_virtuals_error_sfinae): Disable
	complete_type again.

From-SVN: r197613
2013-04-08 17:16:09 -04:00
Steven Bosscher 9fb6b620f0 rtl.texi (sequence): Rewrite documentation to match the current use of SEQUENCE rtl objects.
* doc/rtl.texi (sequence): Rewrite documentation to match the
	current use of SEQUENCE rtl objects.
	* rtl.def (SEQUENCE): Likewise.

	* doc/rtl.texi (NOTE_INSN_EH_REGION_BEG, NOTE_INSN_EH_REGION_END):
	Update documentation.
	(NOTE_INSN_LOOP_BEG, NOTE_INSN_LOOP_END, NOTE_INSN_LOOP_CONT,
	NOTE_INSN_LOOP_VTOP): Remove documentation for non-existing notes.

	* reg-notes.def (REG_EH_CONTEXT): Remove unused note.

From-SVN: r197611
2013-04-08 19:59:57 +00:00
Thomas Koenig a2d0800a41 re PR fortran/56872 (Incorrect SUM evaluation, involving implied-do loop, with -ffrontend-optimize)
2013-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/56782
	* frontend-passes.c (callback_reduction):  Dont't do
	any simplification if there is only a single element
	which has an iterator.

2013-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/56782
	* gfortran.dg/array_constructor_44.f90:  New test.

From-SVN: r197610
2013-04-08 19:36:43 +00:00
Paolo Carlini 0c3f68a025 re PR c++/56871 ([c++11] Specialization of constexpr Templated Function)
/cp
2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56871
	* decl.c (validate_constexpr_redeclaration): Allow an explicit
	specialization to be different wrt the constexpr specifier.

/testsuite
2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56871
	* g++.dg/cpp0x/constexpr-specialization.C: New.

From-SVN: r197597
2013-04-08 18:09:35 +00:00
Teresa Johnson 8ddb5a296e First phase of unifying the computation of profile scale factors/probabilities and the actual scaling to use rounding divides...
First phase of unifying the computation of profile scale factors/probabilities
and the actual scaling to use rounding divides:
- Add new macro GCOV_COMPUTE_SCALE to basic-block.h to compute the scale
factor/probability via a rounding divide.
- Change all locations that already perform rounding divides (inline or via RDIV)
to use the appropriate helper: GCOV_COMPUTE_SCALE, apply_probability or
combine_probabilities.
- Change ipa-cp.c truncating divides to use rounding divides.
- Add comments to all other locations (currently using truncating divides) to
switch them to one of the helpers so they use a rounding divide.

Next phase will be to replace the locations using truncating divides, marked
with a comment here, into rounding divides via the helper methods.

2013-04-08  Teresa Johnson  <tejohnson@google.com>

	* basic-block.h (GCOV_COMPUTE_SCALE): Define.
	* ipa-inline-analysis.c (param_change_prob): Use helper rounding divide
        methods.
	(estimate_edge_size_and_time): Add comment to suggest using rounding
	methods.
	(estimate_node_size_and_time): Ditto.
	(remap_edge_change_prob): Use helper rounding divide methods.
	* value-prof.c (gimple_divmod_fixed_value_transform): Ditto.
	(gimple_mod_pow2_value_transform): Ditto.
	(gimple_mod_subtract_transform): Ditto.
	(gimple_ic_transform): Ditto.
	(gimple_stringops_transform): Ditto.
	* stmt.c (conditional_probability): Ditto.
	(emit_case_dispatch_table): Ditto.
	* lto-cgraph.c (merge_profile_summaries): Ditto.
	* tree-optimize.c (execute_fixup_cfg): Ditto.
	* cfgcleanup.c (try_forward_edges): Ditto.
	* cfgloopmanip.c (scale_loop_profile): Ditto.
	(loopify): Ditto.
	(duplicate_loop_to_header_edge): Ditto.
	(lv_adjust_loop_entry_edge): Ditto.
	* tree-vect-loop.c (vect_transform_loop): Ditto.
	* profile.c (compute_branch_probabilities): Ditto.
	* cfgbuild.c (compute_outgoing_frequencies): Ditto.
	* lto-streamer-in.c (input_cfg): Ditto.
	* gimple-streamer-in.c (input_bb): Ditto.
	* ipa-cp.c (update_profiling_info): Ditto.
	(update_specialized_profile): Ditto.
	* tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Ditto.
	* cfg.c (update_bb_profile_for_threading): Add comment to suggest using
        rounding methods.
	* sched-rgn.c (compute_dom_prob_ps): Ditto.
	(compute_trg_info): Ditto.
	* cfgrtl.c (force_nonfallthru_and_redirect): Ditto.
	(purge_dead_edges): Ditto.
	* loop-unswitch.c (unswitch_loop): Ditto.
	* cgraphclones.c (cgraph_clone_edge): Ditto.
	(cgraph_clone_node): Ditto.
	* tree-inline.c (copy_bb): Ditto.
	(copy_edges_for_bb): Ditto.
	(initialize_cfun): Ditto.
	(copy_cfg_body): Ditto.
	(expand_call_inline): Ditto.

From-SVN: r197595
2013-04-08 17:39:10 +00:00
Paolo Carlini d6222d4ef0 cxx11.cc: Include <memory>.
2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.

From-SVN: r197594
2013-04-08 16:47:02 +00:00
Kai Tietz 661e6bd7e7 cygwin.h (EXTRA_OS_CPP_BUILTINS): Replaced TARGET_CYGWIN64 by TARGET_64BIT.
* config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): Replaced
	TARGET_CYGWIN64 by TARGET_64BIT.

From-SVN: r197593
2013-04-08 18:11:21 +02:00
Joern Rennecke 093ac0a5f1 epiphany.md (<insn_opname>v2si3): Use gen_addsi3_i / gen_subsi3_i.
* config/epiphany/epiphany.md (<insn_opname>v2si3):
        Use gen_addsi3_i / gen_subsi3_i.

From-SVN: r197592
2013-04-08 17:03:05 +01:00
Joern Rennecke aefb0819fb ChangeLog typo fix.
From-SVN: r197591
2013-04-08 17:00:26 +01:00
Joern Rennecke 2ccc703d2e epiphany.md (mov_f+2): New peephole2 pattern.
* config/epiphany/epiphany.md (mov_f+2): New peephole2 pattern.
        (cstoresi4): Also allow re-use of zero result when doing a NE
        comparison to a non-zero operand.
        Use (clobber (sratch)) for first insn if the gpr output is not needed.

From-SVN: r197590
2013-04-08 16:59:41 +01:00
Joern Rennecke 5138e18df3 epiphany.md (logical_op): New code iterator.
* config/epiphany/epiphany.md (logical_op): New code iterator.
        (op_mnc): New code attribute.
        (<op_mnc>_f, mov_f, cstoresi4): New patterns.
        (mov_f+1, mov_f+2): New peephole2 patterns.

From-SVN: r197589
2013-04-08 16:57:20 +01:00
Joern Rennecke fa7707d6e7 constraints.md (CnL): New constraint.
* config/epiphany/constraints.md (CnL): New constraint.
        * config/epiphany/epiphany.md (addsi3_i): Add r/r/CnL alternative.
        * config/epiphany/predicates.md (add_operand): Allow 1024.

From-SVN: r197588
2013-04-08 16:52:44 +01:00
Joern Rennecke 8afab2373c epiphany.c (epiphany_select_cc_mode): Don't use CC_FPmode for ORDERED / UNORDERED.
* config/epiphany/epiphany.c (epiphany_select_cc_mode):
        Don't use CC_FPmode for ORDERED / UNORDERED.
        * config/epiphany/epiphany.md (cmpsf_ord): Make pattern
        unconditional.

From-SVN: r197587
2013-04-08 16:46:24 +01:00
Joern Rennecke 105766f392 epiphany.md (GPR_1): New constant.
* config/epiphany/epiphany.md (GPR_1): New constant.
        (define_expand "mov<mode>cc): FAIL if gen_compare_reg returned 0.
        * config/epiphany/epiphany.c (gen_compare_reg):
        For flag_finite_math_only, avoid swapping operands when r0 and/or r1
        is already in place.
        Use GPR_0 / GPR_1 instead of 0/1 for r0/r1 register numbers.
        Don't require being called during rtl expansion; If y operlaps r0,
        return 0.
        (epiphany_compute_frame_size, epiphany_expand_prologue): Use GPR_1.
        (epiphany_expand_epilogue): Likewise.

From-SVN: r197586
2013-04-08 16:42:10 +01:00
Jakub Jelinek 1006463067 * gcc.c-torture/execute/pr56837.c: New test.
From-SVN: r197582
2013-04-08 15:46:48 +02:00
Jakub Jelinek f223bb1362 re PR c++/34949 (Dead code in empty destructors.)
PR c++/34949
	PR c++/50243
	* tree-eh.c (optimize_clobbers): Only remove clobbers if bb doesn't
	contain anything but clobbers, at most one __builtin_stack_restore,
	optionally debug stmts and final resx, and if it has at least one
	incoming EH edge.  Don't check for SSA_NAME on LHS of a clobber.
	(sink_clobbers): Don't check for SSA_NAME on LHS of a clobber.
	Instead of moving clobbers with MEM_REF LHS with SSA_NAME address
	which isn't defaut definition, remove them.
	(unsplit_eh, cleanup_empty_eh): Use single_{pred,succ}_{p,edge}
	instead of EDGE_COUNT comparisons or EDGE_{PRED,SUCC}.
	* tree-ssa-ccp.c (execute_fold_all_builtins): Remove clobbers
	with MEM_REF LHS with SSA_NAME address.

	* g++.dg/opt/vt3.C: New test.
	* g++.dg/opt/vt4.C: New test.

From-SVN: r197580
2013-04-08 15:46:00 +02:00
Jeff Law 4481581f34 gimple.c (canonicalize_cond_expr_cond): Rewrite x ^ y into x != y.
* gimple.c (canonicalize_cond_expr_cond): Rewrite x ^ y into
        x != y.

        * gcc.dg/tree-ssa/forwprop-25.c: New test

From-SVN: r197579
2013-04-08 07:11:56 -06:00
Richard Biener 451dabda42 gimple-pretty-print.c (debug_gimple_stmt): Do not print extra newline.
2013-04-08  Richard Biener  <rguenther@suse.de>

	* gimple-pretty-print.c (debug_gimple_stmt): Do not print
	extra newline.
	* tree-vect-loop.c (vect_determine_vectorization_factor): Dump
	determined vector type.
	(vect_analyze_data_refs): Likewise.
	(vect_get_new_vect_var): Adjust.
	(vect_create_destination_var): Preserve SSA name versions.
	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Do
	not dump anything here.

	* gfortran.dg/vect/fast-math-mgrid-resid.f: Adjust.

From-SVN: r197578
2013-04-08 12:35:26 +00:00
Joern Rennecke 3b088b475a epiphany.h (struct GTY (()) machine_function): Add member lr_slot_known.
* config/epiphany/epiphany.h (struct GTY (()) machine_function):
        Add member lr_slot_known.
        * config/epiphany/epiphany.md (reload_insi_ra): Compute lr_slot_offs
        if necessary.
        * config/epiphany/epiphany.c (epiphany_compute_frame_size):
        Remove code that sets lr_slot_offset according to what a previous
        version of epiphany_emit_save_restore used to do.
        (epiphany_emit_save_restore): When doing an lr save or restore,
        set/verify lr_slot_known and lr_slot_offset.

From-SVN: r197577
2013-04-08 13:22:41 +01:00
Xinyu Qi d8484d41e4 Fix PR target/54338 - Include IWMMXT_GR_REGS in ALL_REGS.
For Xinyu Qi.

2013-04-08  Xinyu Qi  <xyqi@marvell.com>

 	PR target/54338
 	* config/arm/arm.h (REG_CLASS_CONTENTS): Include IWMMXT_GR_REGS
	in ALL_REGS.

From-SVN: r197576
2013-04-08 12:19:02 +00:00
Richard Biener 481be1c483 alias.c (find_base_term): Fix thinko in previous change.
2013-04-08  Richard Biener  <rguenther@suse.de>

	* alias.c (find_base_term): Fix thinko in previous change.

From-SVN: r197572
2013-04-08 09:50:48 +00:00
Richard Biener 42109ab940 fast-math-pr37021.f90: Adjust.
2013-04-08  Richard Biener  <rguenther@suse.de>

	* gfortran.dg/vect/fast-math-pr37021.f90: Adjust.

From-SVN: r197571
2013-04-08 08:42:12 +00:00
Richard Biener 16f42d4dc0 slp-pr56812.cc: Adjust.
2013-04-08  Richard Biener  <rguenther@suse.de>

	* g++.dg/vect/slp-pr56812.cc: Adjust.

From-SVN: r197569
2013-04-08 08:34:43 +00:00
Jakub Jelinek 401f3a81a6 tree-loop-distribution.c (const_with_all_bytes_same): New function.
* tree-loop-distribution.c (const_with_all_bytes_same): New function.
	(generate_memset_builtin): Only handle integer_all_onesp as -1 val if
	TYPE_PRECISION is equal to mode bitsize.  Use const_with_all_bytes_same
	if possible to compute val.
	(classify_partition): Verify CONSTRUCTOR doesn't have any elts.
	For QImode integers don't require anything about precision.  Use
	const_with_all_bytes_same to find out if the constant doesn't have
	repeated bytes in it.

	* gcc.dg/pr56837.c: New test.
	* gcc.dg/tree-ssa/ldist-19.c: Don't check for
	"generated memset minus one".

From-SVN: r197568
2013-04-08 10:20:39 +02:00
Andreas Krebbel 03ed99a89e s390.c (s390_expand_insv): Only accept insertions within mode size.
2013-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_expand_insv): Only accept insertions
	within mode size.

From-SVN: r197566
2013-04-08 07:49:33 +00:00