gcc.git
11 years agoFirst phase of unifying the computation of profile scale factors/probabilities and...
Teresa Johnson [Mon, 8 Apr 2013 17:39:10 +0000 (17:39 +0000)]
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

11 years agocxx11.cc: Include <memory>.
Paolo Carlini [Mon, 8 Apr 2013 16:47:02 +0000 (16:47 +0000)]
cxx11.cc: Include <memory>.

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

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

From-SVN: r197594

11 years agocygwin.h (EXTRA_OS_CPP_BUILTINS): Replaced TARGET_CYGWIN64 by TARGET_64BIT.
Kai Tietz [Mon, 8 Apr 2013 16:11:21 +0000 (18:11 +0200)]
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

11 years agoepiphany.md (<insn_opname>v2si3): Use gen_addsi3_i / gen_subsi3_i.
Joern Rennecke [Mon, 8 Apr 2013 16:03:05 +0000 (16:03 +0000)]
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

11 years agoChangeLog typo fix.
Joern Rennecke [Mon, 8 Apr 2013 16:00:26 +0000 (17:00 +0100)]
ChangeLog typo fix.

From-SVN: r197591

11 years agoepiphany.md (mov_f+2): New peephole2 pattern.
Joern Rennecke [Mon, 8 Apr 2013 15:59:41 +0000 (15:59 +0000)]
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

11 years agoepiphany.md (logical_op): New code iterator.
Joern Rennecke [Mon, 8 Apr 2013 15:57:20 +0000 (15:57 +0000)]
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

11 years agoconstraints.md (CnL): New constraint.
Joern Rennecke [Mon, 8 Apr 2013 15:52:44 +0000 (15:52 +0000)]
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

11 years agoepiphany.c (epiphany_select_cc_mode): Don't use CC_FPmode for ORDERED / UNORDERED.
Joern Rennecke [Mon, 8 Apr 2013 15:46:24 +0000 (15:46 +0000)]
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

11 years agoepiphany.md (GPR_1): New constant.
Joern Rennecke [Mon, 8 Apr 2013 15:42:10 +0000 (15:42 +0000)]
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

11 years ago* gcc.c-torture/execute/pr56837.c: New test.
Jakub Jelinek [Mon, 8 Apr 2013 13:46:48 +0000 (15:46 +0200)]
* gcc.c-torture/execute/pr56837.c: New test.

From-SVN: r197582

11 years agore PR c++/34949 (Dead code in empty destructors.)
Jakub Jelinek [Mon, 8 Apr 2013 13:46:00 +0000 (15:46 +0200)]
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

11 years agogimple.c (canonicalize_cond_expr_cond): Rewrite x ^ y into x != y.
Jeff Law [Mon, 8 Apr 2013 13:11:56 +0000 (07:11 -0600)]
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

11 years agogimple-pretty-print.c (debug_gimple_stmt): Do not print extra newline.
Richard Biener [Mon, 8 Apr 2013 12:35:26 +0000 (12:35 +0000)]
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

11 years agoepiphany.h (struct GTY (()) machine_function): Add member lr_slot_known.
Joern Rennecke [Mon, 8 Apr 2013 12:22:41 +0000 (12:22 +0000)]
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

11 years agoFix PR target/54338 - Include IWMMXT_GR_REGS in ALL_REGS.
Xinyu Qi [Mon, 8 Apr 2013 12:19:02 +0000 (12:19 +0000)]
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

11 years agoalias.c (find_base_term): Fix thinko in previous change.
Richard Biener [Mon, 8 Apr 2013 09:50:48 +0000 (09:50 +0000)]
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

11 years agofast-math-pr37021.f90: Adjust.
Richard Biener [Mon, 8 Apr 2013 08:42:12 +0000 (08:42 +0000)]
fast-math-pr37021.f90: Adjust.

2013-04-08  Richard Biener  <rguenther@suse.de>

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

From-SVN: r197571

11 years agoslp-pr56812.cc: Adjust.
Richard Biener [Mon, 8 Apr 2013 08:34:43 +0000 (08:34 +0000)]
slp-pr56812.cc: Adjust.

2013-04-08  Richard Biener  <rguenther@suse.de>

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

From-SVN: r197569

11 years agotree-loop-distribution.c (const_with_all_bytes_same): New function.
Jakub Jelinek [Mon, 8 Apr 2013 08:20:39 +0000 (10:20 +0200)]
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

11 years agos390.c (s390_expand_insv): Only accept insertions within mode size.
Andreas Krebbel [Mon, 8 Apr 2013 07:49:33 +0000 (07:49 +0000)]
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

11 years agore PR rtl-optimization/48182 (ICE: SIGSEGV in try_crossjump_to_edge (cfgcleanup.c...
Marek Polacek [Mon, 8 Apr 2013 07:44:33 +0000 (07:44 +0000)]
re PR rtl-optimization/48182 (ICE: SIGSEGV in try_crossjump_to_edge (cfgcleanup.c:1703) with --param min-crossjump-insns=0 on basic code)

PR rtl-optimization/48182
* params.def (PARAM_MIN_CROSSJUMP_INSNS): Increase the minimum
value to 1.

From-SVN: r197564

11 years agoDaily bump.
GCC Administrator [Mon, 8 Apr 2013 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r197562

11 years agoupdate_web_docs_libstdcxx_svn: No longer ignore all output from the actual copy process.
Gerald Pfeifer [Sun, 7 Apr 2013 19:58:18 +0000 (19:58 +0000)]
update_web_docs_libstdcxx_svn: No longer ignore all output from the actual copy process.

* update_web_docs_libstdcxx_svn: No longer ignore all output from
the actual copy process.
Check the exit code of the actual copy process; diagnose problems.

From-SVN: r197558

11 years agoparser.c (cp_parser_std_attribute): Treat [[noreturn]] like GNU noreturn attribute.
Jason Merrill [Sun, 7 Apr 2013 17:15:22 +0000 (13:15 -0400)]
parser.c (cp_parser_std_attribute): Treat [[noreturn]] like GNU noreturn attribute.

* parser.c (cp_parser_std_attribute): Treat [[noreturn]] like GNU
noreturn attribute.

From-SVN: r197555

11 years agoMakefile.am: Add ext/aligned_buffer.h
Jonathan Wakely [Sun, 7 Apr 2013 16:44:40 +0000 (16:44 +0000)]
Makefile.am: Add ext/aligned_buffer.h

* include/Makefile.am: Add ext/aligned_buffer.h
* include/Makefile.in: Regenerate.
* include/ext/aligned_buffer.h: New.
* include/std/future (_Result): Use __aligned_buffer.
* include/bits/forward_list.h (_Fwd_list_node): Likewise.
* include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
number.

From-SVN: r197554

11 years ago* c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
Steven Bosscher [Sun, 7 Apr 2013 16:09:39 +0000 (16:09 +0000)]
* c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.

From-SVN: r197553

11 years agoforward_list.h: Only include required headers.
Jonathan Wakely [Sun, 7 Apr 2013 15:42:27 +0000 (15:42 +0000)]
forward_list.h: Only include required headers.

* include/bits/forward_list.h: Only include required headers.
(forward_list::reference): Define directly, not using __alloc_traits.
(forward_list::const_reference): Likewise.

From-SVN: r197552

11 years agofunctional (_Derives_from_unary_function): Remove.
François Dumont [Sun, 7 Apr 2013 10:42:51 +0000 (10:42 +0000)]
functional (_Derives_from_unary_function): Remove.

2013-04-04  François Dumont  <fdumont@gcc.gnu.org>

* include/std/functional (_Derives_from_unary_function): Remove.
(_Derives_from_binary_function): Remove.
* include/std/type_traits (__sfinae_types): Remove.
(__is_assignable_helper): Adapt.
(__is_convertible_helper): Adapt.
(_GLIBCXX_HAS_NESTED_TYPE): Adapt.
Remove several explicit instantiations of integral_constant.
* testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adapt dg-error line number.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
* testsuite/20_util/bind/ref_neg.cc: Likewise.

From-SVN: r197551

11 years agore PR fortran/56849 (Missing compile-time shape check for RESHAPE assignments with...
Tobias Burnus [Sun, 7 Apr 2013 08:41:17 +0000 (10:41 +0200)]
re PR fortran/56849 (Missing compile-time shape check for RESHAPE assignments with an ORDER= attribute)

2013-04-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56849
        * iresolve.c (gfc_resolve_reshape): Set shape also
        with order=.

2013-04-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56849
        * gfortran.dg/reshape_5.f90: New.

From-SVN: r197550

11 years agoDaily bump.
GCC Administrator [Sun, 7 Apr 2013 00:16:29 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r197549

11 years agore PR other/55274 (gcc build hangs on HP-UX 11.11)
John David Anglin [Sat, 6 Apr 2013 18:22:09 +0000 (18:22 +0000)]
re PR other/55274 (gcc build hangs on HP-UX 11.11)

PR other/55274
* config/t-slibgcc-hpux (SHLIB_MAPFILES): Define.

From-SVN: r197544

11 years agore PR target/55487 (ICE in mark_jump_label_1, at jump.c:1134 compiling gcc.c-torture...
John David Anglin [Sat, 6 Apr 2013 17:42:27 +0000 (17:42 +0000)]
re PR target/55487 (ICE in mark_jump_label_1, at jump.c:1134 compiling gcc.c-torture/execute/pr51447.c at -O2 and above)

PR target/55487
* config/pa/pa.c (legitimize_pic_address): Before incrementing label
nuses, make sure we have a label.

From-SVN: r197541

11 years agoDaily bump.
GCC Administrator [Sat, 6 Apr 2013 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r197540

11 years agore PR target/56843 (PowerPC Newton-Raphson reciprocal estimates can be improved)
Bill Schmidt [Fri, 5 Apr 2013 19:27:58 +0000 (19:27 +0000)]
re PR target/56843 (PowerPC Newton-Raphson reciprocal estimates can be improved)

gcc:

2013-04-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/56843
* config/rs6000/rs6000.c (rs6000_emit_swdiv_high_precision): Remove.
(rs6000_emit_swdiv_low_precision): Remove.
(rs6000_emit_swdiv): Rewrite to handle between one and four
iterations of Newton-Raphson generally; modify required number of
iterations for some cases.
* config/rs6000/rs6000.h (RS6000_RECIP_HIGH_PRECISION_P): Remove.

gcc/testsuite:

2013-04-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/56843
* gcc.target/powerpc/recip-1.c: Modify expected output.
* gcc.target/powerpc/recip-3.c: Likewise.
* gcc.target/powerpc/recip-4.c: Likewise.
* gcc.target/powerpc/recip-5.c: Add expected output for iterations.

From-SVN: r197534

11 years agobb-reorder.c (fix_crossing_unconditional_branches): Remove a set-but-unused variable.
Steven Bosscher [Fri, 5 Apr 2013 19:23:17 +0000 (19:23 +0000)]
bb-reorder.c (fix_crossing_unconditional_branches): Remove a set-but-unused variable.

* bb-reorder.c (fix_crossing_unconditional_branches): Remove a
set-but-unused variable.

* cgraph.c (cgraph_release_function_body): Clear cfun->cfg to make
basic blocks of released function bodies garbage-collectable.

* ree.c (find_and_remove_re): Do not call df_finish_pass here.
(struct rtl_opt_pass): Add TODO_df_finish.

* rtl.def (DEFINE_SUBST, DEFINE_SUBST_ATTR): Add documentation.

From-SVN: r197533

11 years agopeep-ldrd-1.c: New test.
Greta Yorsh [Fri, 5 Apr 2013 17:26:12 +0000 (18:26 +0100)]
peep-ldrd-1.c: New test.

2013-04-05  Greta Yorsh  <Greta.Yorsh@arm.com>

gcc/testsuite

* gcc.target/arm/peep-ldrd-1.c: New test.
* gcc.target/arm/peep-strd-1.c: Likewise.

gcc/
* config/arm/constraints.md (q): New constraint.
* config/arm/ldrdstrd.md: New file.
* config/arm/arm.md (ldrdstrd.md) New include.
(arm_movdi): Use "q" instead of "r" constraint
for double-word memory access.
(movdf_soft_insn): Likewise.
* config/arm/vfp.md (movdi_vfp): Likewise.
* config/arm/t-arm (MD_INCLUDES): Add ldrdstrd.md.
        * config/arm/arm-protos.h (gen_operands_ldrd_strd): New declaration.
* config/arm/arm.c (gen_operands_ldrd_strd): New function.
(mem_ok_for_ldrd_strd): Likewise.
(output_move_double): Update assertion.

From-SVN: r197530

11 years agoarm.md: Comment on splitting Thumb1 patterns.
Greta Yorsh [Fri, 5 Apr 2013 17:13:54 +0000 (18:13 +0100)]
arm.md: Comment on splitting Thumb1 patterns.

2013-04-05  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.md: Comment on splitting Thumb1 patterns.

From-SVN: r197529

11 years agoarm.md (arm_smax_insn): Convert define_insn into define_insn_and_split.
Greta Yorsh [Fri, 5 Apr 2013 17:12:37 +0000 (18:12 +0100)]
arm.md (arm_smax_insn): Convert define_insn into define_insn_and_split.

2013-04-05  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.md (arm_smax_insn): Convert define_insn into
define_insn_and_split.
(arm_smin_insn,arm_umaxsi3,arm_uminsi3): Likewise.

From-SVN: r197528

11 years agoarm.md (arm_ashldi3_1bit): Convert define_insn into define_insn_and_split.
Greta Yorsh [Fri, 5 Apr 2013 17:08:53 +0000 (18:08 +0100)]
arm.md (arm_ashldi3_1bit): Convert define_insn into define_insn_and_split.

2013-04-05  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.md (arm_ashldi3_1bit): Convert define_insn into
define_insn_and_split.
        (arm_ashrdi3_1bit,arm_lshrdi3_1bit): Likewise.
(shiftsi3_compare): New pattern.
(rrx): New pattern.
* config/arm/unspecs.md (UNSPEC_RRX): New.

From-SVN: r197527

11 years agoarm.md (negdi_extendsidi): New pattern.
Greta Yorsh [Fri, 5 Apr 2013 17:05:03 +0000 (18:05 +0100)]
arm.md (negdi_extendsidi): New pattern.

2013-04-05  Greta Yorsh  <Greta.Yorsh@arm.com>

gcc/
* config/arm/arm.md (negdi_extendsidi): New pattern.
(negdi_zero_extendsidi): Likewise.

gcc/testsuite

* gcc.target/arm/negdi-1.c: New test.
* gcc.target/arm/negdi-2.c: Likewise.
* gcc.target/arm/negdi-3.c: Likewise.
* gcc.target/arm/negdi-4.c: Likewise.

From-SVN: r197526

11 years agotarget-supports.exp (add_options_for_arm_v8_neon): Add -march=armv8-a when we use...
Kyrylo Tkachov [Fri, 5 Apr 2013 16:06:17 +0000 (16:06 +0000)]
target-supports.exp (add_options_for_arm_v8_neon): Add -march=armv8-a when we use v8 NEON.

2013-04-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* lib/target-supports.exp (add_options_for_arm_v8_neon):
Add -march=armv8-a when we use v8 NEON.
(check_effective_target_vect_call_btruncf): Remove arm-*-*-*.
(check_effective_target_vect_call_ceilf): Likewise.
(check_effective_target_vect_call_floorf): Likewise.
(check_effective_target_vect_call_roundf): Likewise.
(check_vect_support_and_set_flags): Remove check for arm_v8_neon.
* gcc.target/arm/vect-rounding-btruncf.c: New testcase.
* gcc.target/arm/vect-rounding-ceilf.c: Likewise.
* gcc.target/arm/vect-rounding-floorf.c: Likewise.
* gcc.target/arm/vect-rounding-roundf.c: Likewise.

From-SVN: r197523

11 years agoarm.md (andsi_iorsi3_notsi): Convert define_insn into define_insn_and_split.
Greta Yorsh [Fri, 5 Apr 2013 15:52:25 +0000 (16:52 +0100)]
arm.md (andsi_iorsi3_notsi): Convert define_insn into define_insn_and_split.

2013-04-05  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.md (andsi_iorsi3_notsi): Convert define_insn into
define_insn_and_split.
(arm_negdi2,arm_abssi2,arm_neg_abssi2): Likewise.
(arm_cmpdi_insn,arm_cmpdi_unsigned): Likewise.

From-SVN: r197522

11 years agoarm.md (arm_subdi3): Convert define_insn into define_insn_and_split.
Greta Yorsh [Fri, 5 Apr 2013 15:48:19 +0000 (16:48 +0100)]
arm.md (arm_subdi3): Convert define_insn into define_insn_and_split.

2013-04-05  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.md (arm_subdi3): Convert define_insn into
define_insn_and_split.
(subdi_di_zesidi,subdi_di_sesidi): Likewise.
(subdi_zesidi_di,subdi_sesidi_di,subdi_zesidi_zesidi): Likewise.

From-SVN: r197521

11 years agoarm.md (subsi3_carryin): New pattern.
Greta Yorsh [Fri, 5 Apr 2013 15:43:04 +0000 (16:43 +0100)]
arm.md (subsi3_carryin): New pattern.

2013-04-05  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.md (subsi3_carryin): New pattern.
(subsi3_carryin_const): Likewise.
(subsi3_carryin_compare,subsi3_carryin_compare_const): Likewise.
(subsi3_carryin_shift,rsbsi3_carryin_shift): Likewise.

From-SVN: r197520

11 years agoarm.md (incscc,arm_incscc,decscc,arm_decscc): Delete.
Greta Yorsh [Fri, 5 Apr 2013 15:17:59 +0000 (16:17 +0100)]
arm.md (incscc,arm_incscc,decscc,arm_decscc): Delete.

2013-04-05  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.md (incscc,arm_incscc,decscc,arm_decscc): Delete.

From-SVN: r197519

11 years agoarm.md (addsi3_carryin_<optab>): Set attribute predicable.
Greta Yorsh [Fri, 5 Apr 2013 15:13:45 +0000 (16:13 +0100)]
arm.md (addsi3_carryin_<optab>): Set attribute predicable.

2013-04-05  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.md (addsi3_carryin_<optab>): Set attribute predicable.
  (addsi3_carryin_alt2_<optab>,addsi3_carryin_shift_<optab>): Likewise.

From-SVN: r197518

11 years agoarm.c (arm_expand_builtin): Change fcode type to unsigned int.
Kyrylo Tkachov [Fri, 5 Apr 2013 15:03:11 +0000 (15:03 +0000)]
arm.c (arm_expand_builtin): Change fcode type to unsigned int.

2013-04-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/arm.c (arm_expand_builtin): Change fcode
type to unsigned int.

From-SVN: r197517

11 years agosd-vsx.c: Skip on AIX.
David Edelsohn [Fri, 5 Apr 2013 13:33:09 +0000 (13:33 +0000)]
sd-vsx.c: Skip on AIX.

        * gcc.target/powerpc/sd-vsx.c: Skip on AIX.
        * gcc.target/powerpc/sd-pwr6.c: Same.
        * gcc.dg/stack-usage-1.c: Define SIZE on AIX.
        * g++.dg/debug/pr56294.C: XFAIL on AIX.

From-SVN: r197516

11 years agoThere can be only one ref qualifier at most.
Ed Smith-Rowland [Fri, 5 Apr 2013 11:38:09 +0000 (11:38 +0000)]
There can be only one ref qualifier at most.

gcc/cp:
2013-04-05  Ed Smith-Rowland  <3dw4rd@verizon.net>

* g++.dg/cpp0x/ref-qual-multi-neg.C: New test.

gcc/testsuite:
2013-04-05  Ed Smith-Rowland  <3dw4rd@verizon.net>

* parser.c (cp_parser_ref_qualifier_seq_opt): Move to
cp_parser_ref_qualifier_opt.  Error if more than one ref-qual found.

From-SVN: r197514

11 years agoDocument cortex-a53 in ARM options.
Ramana Radhakrishnan [Fri, 5 Apr 2013 10:24:00 +0000 (10:24 +0000)]
Document cortex-a53 in ARM options.

2013-04-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

       * doc/invoke.texi (ARM Options): Document cortex-a53 support.

From-SVN: r197513

11 years agore PR libstdc++/56841 (ld: Unsatisfied symbol "__atomic_exchange_8" in file /test...
Jonathan Wakely [Fri, 5 Apr 2013 10:03:04 +0000 (10:03 +0000)]
re PR libstdc++/56841 (ld: Unsatisfied symbol "__atomic_exchange_8" in file /test/gnu/gcc/objdir/prev-hppa64-hp-hpux11.11/libstdc++-v3/src/.libs/libstdc++.a[eh_terminate.o])

PR libstdc++/56841
* libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
get_terminate() accessors.
* libsupc++/eh_throw.cc (__cxa_throw): Likewise.
* libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
available.
* libsupc++/new_handler.cc: Likewise.

From-SVN: r197512

11 years agostandards.texi (Standards): The Go frontend supports the Go 1 language standard.
Ian Lance Taylor [Fri, 5 Apr 2013 04:12:41 +0000 (04:12 +0000)]
standards.texi (Standards): The Go frontend supports the Go 1 language standard.

* doc/standards.texi (Standards): The Go frontend supports the Go
1 language standard.

From-SVN: r197507

11 years agoDaily bump.
GCC Administrator [Fri, 5 Apr 2013 00:16:35 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r197501

11 years agore PR fortran/40881 ([F03] warn for obsolescent features)
Janus Weil [Thu, 4 Apr 2013 19:21:01 +0000 (21:21 +0200)]
re PR fortran/40881 ([F03] warn for obsolescent features)

2013-04-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40881
* match.c (gfc_match_return): Remove standard notification.
* primary.c (gfc_match_actual_arglist): Add standard notification.

2013-04-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40881
* gfortran.dg/altreturn_1.f90: Add -std=gnu.
* gfortran.dg/altreturn_4.f90: Ditto.
* gfortran.dg/altreturn_3.f90: Replace -std=legacy by -std=gnu.
* gfortran.dg/altreturn_5.f90: Ditto.
* gfortran.dg/altreturn_6.f90: Ditto.
* gfortran.dg/altreturn_7.f90: Ditto.

From-SVN: r197495

11 years agobpabi.S (aeabi_ldivmod): Add DWARF information for computing the location of the...
Meador Inge [Thu, 4 Apr 2013 18:42:19 +0000 (18:42 +0000)]
bpabi.S (aeabi_ldivmod): Add DWARF information for computing the location of the link register.

libgcc/

2013-04-04  Meador Inge  <meadori@codesourcery.com>

* config/arm/bpabi.S (aeabi_ldivmod): Add DWARF information for
computing the location of the link register.
(aeabi_uldivmod): Ditto.

From-SVN: r197493

11 years agore PR middle-end/56729 (ICE in df_insn_delete)
Steven Bosscher [Thu, 4 Apr 2013 16:40:16 +0000 (16:40 +0000)]
re PR middle-end/56729 (ICE in df_insn_delete)

PR middle-end/56729
* df-scan.c (df_insn_delete): Disable failing assert.

From-SVN: r197492

11 years agotarget-supports.exp (check_effective_target_arm_v8_neon_hw): New procedure.
Kyrylo Tkachov [Thu, 4 Apr 2013 16:17:32 +0000 (16:17 +0000)]
target-supports.exp (check_effective_target_arm_v8_neon_hw): New procedure.

2013-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* lib/target-supports.exp (check_effective_target_arm_v8_neon_hw):
New procedure.
(check_effective_target_arm_v8_neon_ok_nocache):
Likewise.
(check_effective_target_arm_v8_neon_ok): Change to use
check_effective_target_arm_v8_neon_ok_nocache.
(add_options_for_arm_v8_neon): Use et_arm_v8_neon_flags to set ARMv8
NEON flags.
(check_effective_target_vect_call_btruncf):
Enable for arm and ARMv8 NEON.
(check_effective_target_vect_call_ceilf): Likewise.
(check_effective_target_vect_call_floorf): Likewise.
(check_effective_target_vect_call_roundf): Likewise.
(check_vect_support_and_set_flags): Handle ARMv8 NEON effective
target.

From-SVN: r197491

11 years agoarm-protos.h (arm_builtin_vectorized_function): New function prototype.
Kyrylo Tkachov [Thu, 4 Apr 2013 16:14:50 +0000 (16:14 +0000)]
arm-protos.h (arm_builtin_vectorized_function): New function prototype.

2013-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/arm-protos.h (arm_builtin_vectorized_function):
New function prototype.
* config/arm/arm.c (TARGET_VECTORIZE_BUILTINS): Define.
(TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Likewise.
(arm_builtin_vectorized_function): New function.

From-SVN: r197490

11 years agoarm_neon_builtins.def: New file.
Kyrylo Tkachov [Thu, 4 Apr 2013 15:54:50 +0000 (15:54 +0000)]
arm_neon_builtins.def: New file.

2013-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/arm_neon_builtins.def: New file.
* config/arm/arm.c (neon_builtin_data): Move contents to
arm_neon_builtins.def.
(enum arm_builtins): Include neon builtin definitions.
(ARM_BUILTIN_NEON_BASE): Move from enum to macro.
* config/arm/t-arm (arm.o): Add dependency on
arm_neon_builtins.def.

From-SVN: r197489

11 years agore PR tree-optimization/48186 (ICE: SIGFPE (division by zero) in maybe_hot_frequency_...
Marek Polacek [Thu, 4 Apr 2013 15:48:25 +0000 (15:48 +0000)]
re PR tree-optimization/48186 (ICE: SIGFPE (division by zero) in maybe_hot_frequency_p at predict.c:129 with --param hot-bb-frequency-fraction=0 on basic code)

        PR tree-optimization/48186
        * predict.c (maybe_hot_frequency_p): Return false if
        HOT_BB_FREQUENCY_FRACTION is 0.
        (cgraph_maybe_hot_edge_p): Likewise.

        * gcc.dg/pr48186.c: New test.

From-SVN: r197487

11 years agore PR tree-optimization/56826 (Run-fail after r197189.)
Richard Biener [Thu, 4 Apr 2013 15:06:44 +0000 (15:06 +0000)]
re PR tree-optimization/56826 (Run-fail after r197189.)

2013-04-04  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56826
* tree-vect-slp.c (vect_build_slp_tree): Compute ncopies
more accurately.

* gcc.dg/vect/pr56826.c: New testcase.
* gcc.dg/vect/O3-pr36098.c: Adjust.

From-SVN: r197486

11 years agoasm-adder-clobber-lr.c: Remove duplication.
Tejas Belagod [Thu, 4 Apr 2013 12:28:21 +0000 (13:28 +0100)]
asm-adder-clobber-lr.c: Remove duplication.

2013-04-04  Tejas Belagod  <tejas.belagod@arm.com>

testsuite/
* gcc.target/aarch64/inc/asm-adder-clobber-lr.c: Remove duplication.
* gcc.target/aarch64/inc/asm-adder-no-clobber-lr.c: Likewise.
* gcc.target/aarch64/test-framepointer-1.c: Likewise.
* gcc.target/aarch64/test-framepointer-2.c: Likewise.
* gcc.target/aarch64/test-framepointer-3.c: Likewise.
* gcc.target/aarch64/test-framepointer-4.c: Likewise.
* gcc.target/aarch64/test-framepointer-5.c: Likewise.
* gcc.target/aarch64/test-framepointer-6.c: Likewise.
* gcc.target/aarch64/test-framepointer-7.c: Likewise.
* gcc.target/aarch64/test-framepointer-8.c: Likewise.

From-SVN: r197481

11 years agore PR tree-optimization/56213 (strided load vectorization is unnecessarily restricted)
Richard Biener [Thu, 4 Apr 2013 12:19:30 +0000 (12:19 +0000)]
re PR tree-optimization/56213 (strided load vectorization is unnecessarily restricted)

2013-04-04  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56213
* tree-vect-data-refs.c (vect_check_strided_load): Remove.
(vect_analyze_data_refs): Allow all non-nested loads as
strided loads.

* gcc.dg/vect/vect-123.c: New testcase.

From-SVN: r197480

11 years agore PR libfortran/56810 (record-repeat fails kind check on complex read)
Tobias Burnus [Thu, 4 Apr 2013 11:24:15 +0000 (13:24 +0200)]
re PR libfortran/56810 (record-repeat fails kind check on complex read)

2013-04-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56810
        * io/list_read.c (check_type): Fix kind checking for COMPLEX.

2013-04-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56810
        * gfortran.dg/read_repeat_2.f90: New.

From-SVN: r197479

11 years agore PR tree-optimization/56837 (-ftree-loop-distribute-patterns generates incorrect...
Richard Biener [Thu, 4 Apr 2013 10:55:25 +0000 (10:55 +0000)]
re PR tree-optimization/56837 (-ftree-loop-distribute-patterns generates incorrect code)

2013-04-04  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56837
* tree-loop-distribution.c (classify_partition): For non-zero
values require that the value has the same precision as its
mode to be useful as memset value.

* g++.dg/torture/pr56837.C: New testcase.

From-SVN: r197476

11 years ago* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
Jonathan Wakely [Thu, 4 Apr 2013 08:56:09 +0000 (08:56 +0000)]
* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.

From-SVN: r197472

11 years agooops - omitted this from previous delta:
Nick Clifton [Thu, 4 Apr 2013 07:25:35 +0000 (07:25 +0000)]
oops - omitted this from previous delta:

* config/v850/v850e3v5.md (fmasf4): Use fmaf.s on E3V5
architectures.
(fmssf4): Use fmsf.s on E3V5 architectures.
(fnmasf4): Use fnmaf.s on E3V5 architectures.
(fnmssf4): Use fnmsf.s on E3V5 architectures.

From-SVN: r197469

11 years agore PR fortran/50269 (Wrongly rejects element of assumed-shape array in C_LOC)
Tobias Burnus [Thu, 4 Apr 2013 07:22:24 +0000 (09:22 +0200)]
re PR fortran/50269 (Wrongly rejects element of assumed-shape array in C_LOC)

2013-04-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50269
        * gcc/fortran/check.c (is_c_interoperable,
        gfc_check_c_loc): Correct c_loc array checking
        for Fortran 2003 and Fortran 2008.

2013-04-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50269
        * gfortran.dg/c_loc_test_21.f90: New.
        * gfortran.dg/c_loc_test_19.f90: Update dg-error.
        * gfortran.dg/c_loc_tests_10.f03: Update dg-error.
        * gfortran.dg/c_loc_tests_11.f03: Update dg-error.
        * gfortran.dg/c_loc_tests_4.f03: Update dg-error.
        * gfortran.dg/c_loc_tests_16.f90:  Update dg-error.

From-SVN: r197468

11 years agoMakefile.in (lra-constraints.o): Depend on $(OPTABS_H).
Jeff Law [Thu, 4 Apr 2013 05:12:48 +0000 (23:12 -0600)]
Makefile.in (lra-constraints.o): Depend on $(OPTABS_H).

       * Makefile.in (lra-constraints.o): Depend on $(OPTABS_H).
        (lra-eliminations.o): Likewise.

From-SVN: r197467

11 years agocp-tree.h (FUNCTION_OR_METHOD_TYPE_CHECK): Remove.
Jason Merrill [Thu, 4 Apr 2013 03:13:51 +0000 (23:13 -0400)]
cp-tree.h (FUNCTION_OR_METHOD_TYPE_CHECK): Remove.

* cp-tree.h (FUNCTION_OR_METHOD_TYPE_CHECK): Remove.
(TYPE_RAISES_EXCEPTIONS): Use FUNC_OR_METHOD_CHECK instead.
(FUNCTION_REF_QUALIFIED, FUNCTION_RVALUE_QUALIFIED): Likewise.

From-SVN: r197466

11 years agoDaily bump.
GCC Administrator [Thu, 4 Apr 2013 00:16:40 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r197464

11 years agocp-demangle.c (cplus_demangle_type): Fix function quals.
Jason Merrill [Thu, 4 Apr 2013 00:14:00 +0000 (20:14 -0400)]
cp-demangle.c (cplus_demangle_type): Fix function quals.

libiberty/
* cp-demangle.c (cplus_demangle_type): Fix function quals.
(d_pointer_to_member_type): Simplify.
gcc/cp/
* mangle.c (write_type): When writing a function type with
function-cv-quals, don't add the unqualified type as a
substitution candidate.

From-SVN: r197460

11 years agoc-common.c (pointer_int_sum): Remove dead code.
Paolo Carlini [Wed, 3 Apr 2013 21:08:44 +0000 (21:08 +0000)]
c-common.c (pointer_int_sum): Remove dead code.

2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>

* c-common.c (pointer_int_sum): Remove dead code.

From-SVN: r197458

11 years agoThis patch enables the gcov-dump tool to optionally compute and dump the working...
Teresa Johnson [Wed, 3 Apr 2013 20:51:28 +0000 (20:51 +0000)]
This patch enables the gcov-dump tool to optionally compute and dump the working set information from the counter histogram...

This patch enables the gcov-dump tool to optionally compute and dump
the working set information from the counter histogram, via a new -w option.
This is useful to help understand and tune how the compiler will use
the counter histogram, since it first computes the working set and selects
thresholds based on that.

This required moving the bulk of the compute_working_sets functionality
into gcov-io.c so that it was accessible by gcov-dump.c.

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

* gcov-io.c (compute_working_sets): Moved most of body of old
        compute_working_sets here from profile.c.
* gcov-io.h (NUM_GCOV_WORKING_SETS): Moved here from profile.c.
        (gcov_working_set_t): Moved typedef here from basic-block.h
        (compute_working_set): Declare.
* profile.c (NUM_GCOV_WORKING_SETS): Moved to gcov-io.h.
(get_working_sets): Renamed from compute_working_set,
        replace most of body with call to new compute_working_sets.
(get_exec_counts): Replace call to compute_working_sets
        to get_working_sets.
* profile.h (get_working_sets): Renamed from
        compute_working_set.
* lto-cgraph.c (input_symtab): Replace call to compute_working_sets
        to get_working_sets.
* basic-block.h (gcov_working_set_t): Moved to gcov-io.h.
* gcov-dump.c (dump_working_sets): New function.

From-SVN: r197457

11 years agohwint.c (sext_hwi, zext_hwi): New functions.
Kenneth Zadeck [Wed, 3 Apr 2013 20:24:07 +0000 (20:24 +0000)]
hwint.c (sext_hwi, zext_hwi): New functions.

2013-04-03  Kenneth Zadeck <zadeck@naturalbridge.com>

* hwint.c (sext_hwi, zext_hwi): New functions.
* hwint.h (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT,
HOST_HALF_WIDE_INT_PRINT, HOST_HALF_WIDE_INT_PRINT_C,
HOST_HALF_WIDE_INT_PRINT_DEC, HOST_HALF_WIDE_INT_PRINT_DEC_C,
HOST_HALF_WIDE_INT_PRINT_UNSIGNED, HOST_HALF_WIDE_INT_PRINT_HEX,
HOST_HALF_WIDE_INT_PRINT_HEX_PURE): New symbols.
(sext_hwi, zext_hwi): New functions.

From-SVN: r197456

11 years agore PR tree-optimization/56799 (Runfail after r197060+r197082.)
Jeff Law [Wed, 3 Apr 2013 19:18:09 +0000 (13:18 -0600)]
re PR tree-optimization/56799 (Runfail after r197060+r197082.)

        PR tree-optimization/56799
        * tree-ssa-dom.c (record_equivalences_from_incoming_edge): Bring
        back test for widening conversion erroneously dropped in prior
        change.

        PR tree-optimization/56799
        * gcc.c-torture/execute/pr56799.c: New test.

From-SVN: r197453

11 years agoDemangle C++11 ref-qualifier.
Jason Merrill [Wed, 3 Apr 2013 17:24:12 +0000 (13:24 -0400)]
Demangle C++11 ref-qualifier.

include/
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_REFERENCE_THIS,
DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS.
libiberty/
* cp-demangle.c (d_ref_qualifier): New.
(d_nested_name, d_function_type): Use it.
(d_parmlist): Don't get confused by a ref-qualifier.
(cplus_demangle_type): Reorder ref-qualifier.
(d_pointer_to_member_type): Likewise.
(d_dump): Handle DEMANGLE_COMPONENT_REFERENCE_THIS and
DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS.
(d_make_comp, has_return_type, d_encoding): Likewise.
(d_print_comp, d_print_mod_list, d_print_mod): Likewise.
(d_print_function_type, is_ctor_or_dtor): Likewise.

From-SVN: r197436

11 years agore PR target/56809 (Revision 197266 causes trunk ICE for arm-none-eabi targets)
Kyrylo Tkachov [Wed, 3 Apr 2013 16:38:24 +0000 (16:38 +0000)]
re PR target/56809 (Revision 197266 causes trunk ICE for arm-none-eabi targets)

2013-04-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

PR target/56809
* config/aarch64/aarch64.c (is_jump_table): Use next_active_insn
instead of next_real_insn.

From-SVN: r197434

11 years agore PR c++/56815 (void pointer arithmetic)
Paolo Carlini [Wed, 3 Apr 2013 16:20:51 +0000 (16:20 +0000)]
re PR c++/56815 (void pointer arithmetic)

/cp
2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56815
* typeck.c (cp_build_unary_op): Change -Wpointer-arith permerror to
pedwarn.

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

PR c++/56815
* g++.dg/warn/Wpointer-arith-1.C: New.
* g++.dg/gomp/for-19.C: Adjust.

From-SVN: r197433

11 years agore PR sanitizer/55702 (ICE: in instrument_func_exit, at tsan.c:684 with -fsanitize...
Marek Polacek [Wed, 3 Apr 2013 16:01:38 +0000 (16:01 +0000)]
re PR sanitizer/55702 (ICE: in instrument_func_exit, at tsan.c:684 with -fsanitize=thread and __builtin_return())

PR sanitizer/55702
* tsan.c (instrument_func_exit): Allow BUILT_IN_RETURN
functions.

* gcc.dg/pr55702.c: New test.

From-SVN: r197430

11 years agore PR target/56809 (Revision 197266 causes trunk ICE for arm-none-eabi targets)
Kyrylo Tkachov [Wed, 3 Apr 2013 15:37:31 +0000 (15:37 +0000)]
re PR target/56809 (Revision 197266 causes trunk ICE for arm-none-eabi targets)

gcc/
2013-04-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

PR target/56809
* config/arm/arm.c (is_jump_table): Use next_active_insn instead of
next_real_insn.
(thumb1_output_casesi): Likewise.
(thumb2_output_casesi): Likewise.

gcc/testsuite
2013-04-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

PR target/56809
* gcc.dg/pr56809.c: New testcase.

From-SVN: r197425

11 years agore PR c++/56819 (ICE: SIGSEGV in int_cst_value (tree.h:4013) with -fcompare-debug)
Jakub Jelinek [Wed, 3 Apr 2013 15:24:13 +0000 (17:24 +0200)]
re PR c++/56819 (ICE: SIGSEGV in int_cst_value (tree.h:4013) with -fcompare-debug)

PR debug/56819
* tree.c (strip_typedefs): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT
from args to new_args.
(strip_typedefs_expr): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT from t to
r instead of doing {S,G}ET_NON_DEFAULT_TEMPLATE_ARGS_COUNT.

* g++.dg/debug/pr56819.C: New test.

From-SVN: r197420

11 years agore PR target/56771 (Integer Overflow? Building arm-rtems libgcc2)
Sebastian Huber [Wed, 3 Apr 2013 15:11:54 +0000 (15:11 +0000)]
re PR target/56771 (Integer Overflow? Building arm-rtems libgcc2)

2013-04-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>

PR target/56771
* configure.ac: Require 64-bit int for arm*-*-rtems*.
* configure: Regenerate.

From-SVN: r197417

11 years agore PR libstdc++/56834 (Errors in <array> with --enable-symvers=gnu-versioned-namespac...
Paolo Carlini [Wed, 3 Apr 2013 15:07:12 +0000 (15:07 +0000)]
re PR libstdc++/56834 (Errors in <array> with --enable-symvers=gnu-versioned-namespace and -D_GLIBCXX_DEBUG)

2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/56834
* include/debug/array (tuple_size, tuple_element): Do not declare.
* include/profile/array: Likewise.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Adjust dg-error line number.

From-SVN: r197415

11 years agov850e3v5.md (fmasf4): Use fmaf.s on E3V5 architectures.
Nick Clifton [Wed, 3 Apr 2013 14:06:38 +0000 (14:06 +0000)]
v850e3v5.md (fmasf4): Use fmaf.s on E3V5 architectures.

* config/v850/v850e3v5.md (fmasf4): Use fmaf.s on E3V5
architectures.
(fmssf4): Use fmsf.s on E3V5 architectures.
(fnmasf4): Use fnmaf.s on E3V5 architectures.
(fnmssf4): Use fnmsf.s on E3V5 architectures.

From-SVN: r197413

11 years agore PR tree-optimization/56817 (ICE in hide_evolution_in_other_loops_than_loop)
Richard Biener [Wed, 3 Apr 2013 13:41:13 +0000 (13:41 +0000)]
re PR tree-optimization/56817 (ICE in hide_evolution_in_other_loops_than_loop)

2013-04-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56817
* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
Split out ...
(tree_unroll_loops_completely_1): ... new function to manually
walk the loop tree, properly defering outer loops of unrolled
loops to later iterations.

* g++.dg/torture/pr56817.C: New testcase.

From-SVN: r197411

11 years agotree-vect-stmts.c (vectorizable_store): Accept BIT_FIELD_REF.
Marc Glisse [Wed, 3 Apr 2013 12:59:46 +0000 (14:59 +0200)]
tree-vect-stmts.c (vectorizable_store): Accept BIT_FIELD_REF.

2013-04-03  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree-vect-stmts.c (vectorizable_store): Accept BIT_FIELD_REF.
(vectorizable_load): Likewise.
* tree-vect-slp.c (vect_build_slp_tree): Likewise.
* tree-vect-data-refs.c (vect_create_data_ref_ptr): Handle VECTOR_TYPE.

gcc/testsuite/
* gcc.dg/vect/bb-slp-31.c: New file.

From-SVN: r197410

11 years agotree-flow-inline.h (get_addr_base_and_unit_offset_1): Handle BIT_FIELD_REF.
Marc Glisse [Wed, 3 Apr 2013 12:54:50 +0000 (14:54 +0200)]
tree-flow-inline.h (get_addr_base_and_unit_offset_1): Handle BIT_FIELD_REF.

2013-04-03  Marc Glisse  <marc.glisse@inria.fr>

* tree-flow-inline.h (get_addr_base_and_unit_offset_1): Handle
BIT_FIELD_REF.

From-SVN: r197409

11 years agore PR c++/34949 (Dead code in empty destructors.)
Jason Merrill [Wed, 3 Apr 2013 12:53:39 +0000 (08:53 -0400)]
re PR c++/34949 (Dead code in empty destructors.)

PR c++/34949
* g++.dg/tree-ssa/ehcleanup-1.C: Adjust unreachable count.

From-SVN: r197408

11 years agoslp-pr56812.cc: Use dg-additional-options.
Richard Biener [Wed, 3 Apr 2013 12:31:26 +0000 (12:31 +0000)]
slp-pr56812.cc: Use dg-additional-options.

2013-04-03  Richard Biener  <rguenther@suse.de>

* g++.dg/vect/slp-pr56812.cc: Use dg-additional-options.

From-SVN: r197407

11 years ago* config/spu/spu.c (emit_nop_for_insn): Handle JUMP_TABLE_DATA.
Ulrich Weigand [Wed, 3 Apr 2013 12:14:03 +0000 (12:14 +0000)]
* config/spu/spu.c (emit_nop_for_insn): Handle JUMP_TABLE_DATA.

From-SVN: r197406

11 years agore PR tree-optimization/55964 (Segmentation fault with -O -ftree-loop-distribution...
Richard Biener [Wed, 3 Apr 2013 10:36:49 +0000 (10:36 +0000)]
re PR tree-optimization/55964 (Segmentation fault with -O -ftree-loop-distribution -funswitch-loops)

2013-04-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/55964
* gcc.dg/torture/pr55964-2.c: New testcase.

From-SVN: r197403

11 years agore PR tree-optimization/56501 (gcc 4.6 ICE on noreturn function at -Os and above)
Richard Biener [Wed, 3 Apr 2013 10:28:27 +0000 (10:28 +0000)]
re PR tree-optimization/56501 (gcc 4.6 ICE on noreturn function at -Os and above)

2013-04-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56501
* gcc.dg/torture/pr56501.c: New testcase.

From-SVN: r197401

11 years agore PR tree-optimization/56407 (Optimizations (-O2 -O3) make comparison of arrays...
Richard Biener [Wed, 3 Apr 2013 10:25:23 +0000 (10:25 +0000)]
re PR tree-optimization/56407 (Optimizations (-O2 -O3) make comparison of arrays of ints to fail)

2013-04-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56407
* gcc.dg/torture/pr56407.c: New testcase.

From-SVN: r197399

11 years ago* rtl.h (AUTO_INC_DEC): Fix typo of HAVE_POST_MODIFY_DISP.
Bin Cheng [Wed, 3 Apr 2013 10:25:08 +0000 (10:25 +0000)]
* rtl.h (AUTO_INC_DEC): Fix typo of HAVE_POST_MODIFY_DISP.

From-SVN: r197398

11 years agore PR tree-optimization/56790 (VEC_COND_EXPR not constant folded)
Marc Glisse [Wed, 3 Apr 2013 09:49:44 +0000 (11:49 +0200)]
re PR tree-optimization/56790 (VEC_COND_EXPR not constant folded)

2013-04-03  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/56790
gcc/
* fold-const.c (fold_ternary_loc) <VEC_COND_EXPR>: Add constant folding.

gcc/testsuite/
* g++.dg/ext/pr56790-1.C: New testcase.

From-SVN: r197395

11 years agosimplify-rtx.c (simplify_binary_operation_1): Handle VEC_MERGE.
Marc Glisse [Wed, 3 Apr 2013 09:44:28 +0000 (11:44 +0200)]
simplify-rtx.c (simplify_binary_operation_1): Handle VEC_MERGE.

2013-04-03  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
Handle VEC_MERGE.
(simplify_ternary_operation) <VEC_MERGE>: Use unsigned HOST_WIDE_INT
for masks. Test for side effects. Handle nested VEC_MERGE. Handle
equal arguments.

gcc/testsuite/
* gcc.target/i386/merge-1.c: New testcase.
* gcc.target/i386/avx2-vpblendd128-1.c: Make it non-trivial.

From-SVN: r197394

11 years agore PR c/19449 (__builtin_constant_p cannot resolve to const when optimizing)
Jakub Jelinek [Wed, 3 Apr 2013 09:17:44 +0000 (11:17 +0200)]
re PR c/19449 (__builtin_constant_p cannot resolve to const when optimizing)

PR c/19449
* tree.h (force_folding_builtin_constant_p): New decl.
* builtins.c (force_folding_builtin_constant_p): New variable.
(fold_builtin_constant_p): Fold immediately also if
force_folding_builtin_constant_p.

* c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
argument.  If set, or it temporarily for parsing of the first
argument into force_folding_builtin_constant_p.
(c_parser_postfix_expression): Adjust callers.

* gcc.c-torture/execute/pr19449.c: New test.

From-SVN: r197393

11 years agore PR tree-optimization/56812 (Simple loop is not SLP-vectorized after r196872)
Richard Biener [Wed, 3 Apr 2013 08:03:33 +0000 (08:03 +0000)]
re PR tree-optimization/56812 (Simple loop is not SLP-vectorized after r196872)

2013-04-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56812
* tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence):
DRs of the same interleaving chain are independent.

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

From-SVN: r197390