Prathamesh Kulkarni [Wed, 27 Jul 2016 15:09:10 +0000 (15:09 +0000)]
re PR middle-end/71078 (x/abs(x) -> sign(1.0,x))
2016-07-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR middle-end/71078
* match.pd (x / abs(x) -> copysign(1.0, x)): New pattern.
testsuite/
* gcc.dg/tree-ssa/pr71078-1.c: New test-case.
* gcc.dg/tree-ssa/pr71078-2.c: Likewise.
* gcc.dg/tree-ssa/pr71078-3.c: Likewise.
From-SVN: r238787
David Malcolm [Wed, 27 Jul 2016 14:49:06 +0000 (14:49 +0000)]
Use static_assert for STATIC_ASSERT for C++11 onwards
C++11 has a
static_assert (COND, MESSAGE)
which gives more readable error messages for STATIC_ASSERT than our
current implementation.
This patch makes us use it if __cplusplus >= 201103L
There's also a provisional static_assert (COND) in C++1z, but presumably
we should wait until that one is fully standardized before using it.
gcc/ChangeLog:
* system.h (STATIC_ASSERT): Use static_assert if building
with C++11 onwards.
From-SVN: r238786
Jason Merrill [Wed, 27 Jul 2016 14:31:30 +0000 (10:31 -0400)]
PR c++/71747 - ICE with self-referential partial spec
* pt.c (get_partial_spec_bindings): Replace tparms and spec_args
parameters with spec_tmpl. Call push_tinst_level.
(most_specialized_partial_spec): Adjust.
(more_specialized_partial_spec): Adjust.
From-SVN: r238785
Richard Biener [Wed, 27 Jul 2016 11:11:22 +0000 (11:11 +0000)]
costmodel-pr68961.c: Remove.
2016-07-27 Richard Biener <rguenther@suse.de>
* gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c: Remove.
From-SVN: r238784
Richard Biener [Wed, 27 Jul 2016 11:10:25 +0000 (11:10 +0000)]
re PR tree-optimization/72517 (436.cactusADM: More than 40% regression in O3 and Ofast on AMD bdver4 m/c.)
2016-07-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/72517
* tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
Revert change to not compute read-read dependences.
From-SVN: r238783
Richard Biener [Wed, 27 Jul 2016 10:33:02 +0000 (10:33 +0000)]
predict.c (set_even_probabilities): Make nedges unsigned.
2016-07-27 Richard Biener <rguenther@suse.de>
* predict.c (set_even_probabilities): Make nedges unsigned.
From-SVN: r238782
Martin Liska [Wed, 27 Jul 2016 08:46:12 +0000 (10:46 +0200)]
predict.c: merge multi-edges
* gcc.dg/predict-13.c: New test.
* gcc.dg/predict-14.c: New test.
* predict.c (set_even_probabilities): Handle unlikely edges.
(combine_predictions_for_bb): Likewise.
From-SVN: r238781
Senthil Kumar Selvaraj [Wed, 27 Jul 2016 05:22:08 +0000 (05:22 +0000)]
Use __{U,}INTPTR_TYPE__ to avoid including stdint.h
gcc/testsuite/
* gcc.dg/torture/pr69352.c: Use __INTPTR_TYPE__ instead of
including stdint.h.
* gcc.dg/torture/pr71866.c: Use __UINTPTR_TYPE__ isntead of
including stdint.h.
From-SVN: r238780
Michael Meissner [Wed, 27 Jul 2016 04:45:59 +0000 (04:45 +0000)]
re PR target/71869 (__builtin_isgreater raises an invalid exception on PPC64 using __float128 inputs.)
[gcc]
2016-07-26 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71869
* config/rs6000/rs6000.c (rs6000_generate_compare): Rework
__float128 support when we don't have hardware support, so that
the IEEE built-in functions like isgreater, first call __unordkf3
to make sure neither operand is a NaN, and if both operands are
ordered, do the normal comparison.
[gcc/testsuite]
2016-07-26 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71869
* gcc.target/powerpc/float128-cmp.c: New test to make sure that
IEEE built-in functions handle quiet and signalling NaNs
correctly.
From-SVN: r238779
GCC Administrator [Wed, 27 Jul 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238778
Steven G. Kargl [Tue, 26 Jul 2016 22:42:49 +0000 (22:42 +0000)]
re PR fortran/71862 (ICE in gfc_add_component_ref, at fortran/class.c:241)
2016-07-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71862
* class.c: Remove assert. Iterate over component only if non-null.
2016-07-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71862
* gfortran.dg/pr71862.f90: New test.
From-SVN: r238774
Martin Sebor [Tue, 26 Jul 2016 20:48:20 +0000 (20:48 +0000)]
pr71675.c: Replace the unsupported c11 target selector with dg-options.
gcc/testsuite/ChangeLog:
* gcc.dg/atomic/pr71675.c: Replace the unsupported c11 target
selector with dg-options.
From-SVN: r238766
Nathan Sidwell [Tue, 26 Jul 2016 17:07:26 +0000 (17:07 +0000)]
Missed changelog entries for commit 238252. Sorry,
2016-07-12 Nathan Sidwell <nathan@acm.org>
* config/arm/arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE
when -mno-pic-data-is-text-relative is in effect, by default.
* doc/invoke.texi (mpic-data-is-text-relative): Document new
behavior and clarify.
2016-07-12 Nathan Sidwell <nathan@acm.org>
* gcc.target/arm/data-rel-1.c: New.
* gcc.target/arm/data-rel-2.c: New.
* gcc.target/arm/data-rel-3.c: New.
From-SVN: r238763
Patrick Palka [Tue, 26 Jul 2016 15:21:29 +0000 (15:21 +0000)]
Minor changes in tree-vrp.c
gcc/ChangeLog:
* tree-vrp.c (dump_asserts_for): Print loc->expr instead of
name.
(extract_code_and_val_from_cond_with_ops): Verify that name is
either cond_op0 or cond_op1.
From-SVN: r238762
Patrick Palka [Tue, 26 Jul 2016 15:19:58 +0000 (15:19 +0000)]
Teach VRP to register assertions along default switch labels (PR18046)
gcc/ChangeLog:
PR tree-optimization/18046
* genmodes.c (emit_mode_size_inline): Emit an assert that
verifies that mode is a valid array index.
(emit_mode_nuinits_inline): Likewise.
(emit_mode_inner_inline): Likewise.
(emit_mode_unit_size_inline): Likewise.
(emit_mode_unit_precision_inline): Likewise.
* tree-vrp.c: Include params.h.
(find_switch_asserts): Register edge assertions for the default
label which correspond to the anti-ranges of each case label.
* params.def (PARAM_MAX_VRP_SWITCH_ASSERTIONS): New.
* doc/invoke.texi: Document it.
gcc/testsuite/ChangeLog:
PR tree-optimization/18046
* gcc.dg/tree-ssa/ssa-dom-thread-6.c: Bump FSM count to 5.
* gcc.dg/tree-ssa/vrp103.c: New test.
* gcc.dg/tree-ssa/vrp104.c: New test.
From-SVN: r238761
William Schmidt [Tue, 26 Jul 2016 14:25:20 +0000 (14:25 +0000)]
Move ChangeLog entry to the right place
From-SVN: r238760
Bill Schmidt [Tue, 26 Jul 2016 14:24:16 +0000 (14:24 +0000)]
pr63354.c: Require lp64 since -mprofile-kernel is not legal with -m32.
2016-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/pr63354.c: Require lp64 since
-mprofile-kernel is not legal with -m32.
From-SVN: r238759
Bill Schmidt [Tue, 26 Jul 2016 14:13:52 +0000 (14:13 +0000)]
gimple-ssa-strength-reduction.c (slsr_process_phi): Remove dead and unnecessary call to gimple_bb.
2016-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (slsr_process_phi): Remove dead
and unnecessary call to gimple_bb.
From-SVN: r238758
Richard Biener [Tue, 26 Jul 2016 14:11:21 +0000 (14:11 +0000)]
re PR rtl-optimization/71984 (wrong code with -O -mavx512cd)
2016-07-26 Richard Biener <rguenther@suse.de>
PR rtl-optimization/71984
* simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE and prepare
for VOIDmode.
* gcc.dg/torture/pr71984.c: New testcase.
From-SVN: r238757
Richard Biener [Tue, 26 Jul 2016 14:07:05 +0000 (14:07 +0000)]
re PR tree-optimization/72517 (436.cactusADM: More than 40% regression in O3 and Ofast on AMD bdver4 m/c.)
2016-07-26 Richard Biener <rguenther@suse.de>
PR middle-end/72517
* expmed.c (extract_bit_field_1): Constrain the vector mode
with element size matching the extraction mode size when
choosing a better vector mode to do the extraction from.
From-SVN: r238756
Robert Suchanek [Tue, 26 Jul 2016 13:20:03 +0000 (13:20 +0000)]
Add support to run auto-vectorization tests for multiple effective targets.
gcc/testsuite/
* g++.dg/vect/vect.exp: Add and set new global EFFECTIVE_TARGETS. Call
g++-dg-runtest via et-dg-runtest.
* gcc.dg/graphite/graphite.exp: Likewise, but for dg-runtest.
* gcc.dg/vect/vect.exp: Likewise.
* gfortran.dg/graphite/graphite.exp: Likewise, but for
gfortran-dg-runtest.
* gfortran.dg/vect/vect.exp: Likewise.
* lib/target-supports.exp (check_mpaired_single_hw_available): New.
(check_mips_loongson_hw_available): Likewise.
(check_effective_target_mpaired_single_runtime): Likewise.
(check_effective_target_mips_loongson_runtime): Likewise.
(add_options_for_mpaired_single): Likewise.
(check_effective_target_vect_int): Add global et_index.
Check and save the supported feature for a target selected by
the et_index target. Break long lines where appropriate. Call
et-is-effective-target for MIPS with an argument instead of
check_effective_target_* where appropriate.
(check_effective_target_vect_intfloat_cvt): Likewise.
(check_effective_target_vect_uintfloat_cvt): Likewise.
(check_effective_target_vect_floatint_cvt): Likewise.
(check_effective_target_vect_floatuint_cvt): Likewise.
(check_effective_target_vect_simd_clones): Likewise.
(check_effective_target_vect_shift): ewise.
(check_effective_target_whole_vector_shift): Likewise.
(check_effective_target_vect_bswap): Likewise.
(check_effective_target_vect_shift_char): Likewise.
(check_effective_target_vect_long): Likewise.
(check_effective_target_vect_float): Likewise.
(check_effective_target_vect_double): Likewise.
(check_effective_target_vect_long_long): Likewise.
(check_effective_target_vect_no_int_max): Likewise.
(check_effective_target_vect_no_int_add): Likewise.
(check_effective_target_vect_no_bitwise): Likewise.
(check_effective_target_vect_widen_shift): Likewise.
(check_effective_target_vect_no_align): Likewise.
(check_effective_target_vect_hw_misalign): Likewise.
(check_effective_target_vect_element_align): Likewise.
(check_effective_target_vect_condition): Likewise.
(check_effective_target_vect_cond_mixed): Likewise.
(check_effective_target_vect_char_mult): Likewise.
(check_effective_target_vect_short_mult): Likewise.
(check_effective_target_vect_int_mult): Likewise.
(check_effective_target_vect_extract_even_odd): Likewise.
(check_effective_target_vect_interleave): Likewise.
(check_effective_target_vect_stridedN): Likewise.
(check_effective_target_vect_multiple_sizes): Likewise.
(check_effective_target_vect64): Likewise.
(check_effective_target_vect_call_copysignf): Likewise.
(check_effective_target_vect_call_sqrtf): Likewise.
(check_effective_target_vect_call_btrunc): Likewise.
(check_effective_target_vect_call_btruncf): Likewise.
(check_effective_target_vect_call_ceil): Likewise.
(check_effective_target_vect_call_ceilf): Likewise.
(check_effective_target_vect_call_floor): Likewise.
(check_effective_target_vect_call_floorf): Likewise.
(check_effective_target_vect_call_lceil): Likewise.
(check_effective_target_vect_call_lfloor): Likewise.
(check_effective_target_vect_call_nearbyint): Likewise.
(check_effective_target_vect_call_nearbyintf): Likewise.
(check_effective_target_vect_call_round): Likewise.
(check_effective_target_vect_call_roundf): Likewise.
(check_effective_target_vect_perm): Likewise, but also append *_saved
to the existing global name to properly cache the result.
(check_effective_target_vect_perm_byte): Likewise.
(check_effective_target_vect_perm_short): Likewise.
(check_effective_target_vect_widen_sum_hi_to_si_pattern): Likewise.
(check_effective_target_vect_widen_sum_hi_to_si): Likewise.
(check_effective_target_vect_widen_sum_qi_to_hi): Likewise.
(check_effective_target_vect_widen_sum_qi_to_si): Likewise.
(check_effective_target_vect_widen_mult_qi_to_hi_pattern): Likewise.
(check_effective_target_vect_widen_mult_qi_to_hi): Likewise.
(check_effective_target_vect_widen_mult_hi_to_si_pattern): Likewise.
(check_effective_target_vect_widen_mult_si_to_di_pattern): Likewise.
(check_effective_target_vect_sdot_qi): Likewise.
(check_effective_target_vect_udot_qi): Likewise.
(check_effective_target_vect_sdot_hi): Likewise.
(check_effective_target_vect_udot_hi): Likewise.
(check_effective_target_vect_usad_char): Likewise.
(check_effective_target_vect_pack_trunc): Likewise.
(check_effective_target_vect_unpack): Likewise.
(check_effective_target_vect_aligned_arrays): Likewise.
(check_effective_target_vect_natural_alignment): Likewise.
(check_effective_target_vector_alignment_reachable): Likewise.
(check_effective_target_vector_alignment_reachable_for_64bit): Likewise.
(is-effective-target): Initialize et_index if undefined.
(et-dg-runtest): New.
(et-is-effective-target): Likewise.
(check_vect_support_and_set_flags): Add supported MIPS targets to
EFFECTIVE_TARGETS list. Return the number of supported targets.
From-SVN: r238755
Richard Biener [Tue, 26 Jul 2016 13:10:33 +0000 (13:10 +0000)]
re PR middle-end/70920 (if ((intptr_t)ptr == 0) doesn't get simplified to if (ptr == 0))
2016-07-26 Richard Biener <rguenther@suse.de>
Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR middle-end/70920
* match.pd ((intptr)x eq/ne CST to x eq/ne (typeof x) CST): New
pattern.
testsuite/
* gcc.dg/pr70920-1.c: New test-case.
* gcc.dg/pr70902-2.c: Likewise.
* gcc.dg/pr70920-3.c: Likewise.
* gcc.dg/pr70920-4.c: Likewise
* gcc.dg/tree-ssa/ssa-dom-branch-1.c: Change scan-tree-dump-times to
2 instead of 3.
Co-Authored-By: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
From-SVN: r238754
Richard Biener [Tue, 26 Jul 2016 12:30:18 +0000 (12:30 +0000)]
update_version_svn: Ignore the GCC 4.9 branch.
2016-07-26 Richard Biener <rguenther@suse.de>
* update_version_svn: Ignore the GCC 4.9 branch.
From-SVN: r238753
Richard Biener [Tue, 26 Jul 2016 12:27:16 +0000 (12:27 +0000)]
crontab: Remove entry for the GCC 4.9 branch.
2016-07-26 Richard Biener <rguenther@suse.de>
* crontab: Remove entry for the GCC 4.9 branch.
From-SVN: r238752
Trevor Saunders [Tue, 26 Jul 2016 10:44:31 +0000 (10:44 +0000)]
add [cd]tors to scc_info
gcc/ChangeLog:
2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-ssa-structalias.c (struct scc_info): Change types of
members to auto_sbitmap and auto_vec.
(scc_info::scc_info): New constructor.
(scc_info::~scc_info): New destructor.
(init_scc_info): Remove.
(free_scc_info): Remove.
(find_indirect_cycles): Adjust.
(perform_var_substitution): Likewise.
(free_var_substitution_info): Likewise.
From-SVN: r238751
Trevor Saunders [Tue, 26 Jul 2016 10:44:25 +0000 (10:44 +0000)]
add a constructor to elim_graph
gcc/ChangeLog:
2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-outof-ssa.c (struct elim_graph): Change type of members
to auto_vec and auto_sbitmap.
(elim_graph::elim_graph): New constructor.
(delete_elim_graph): Remove.
(expand_phi_nodes): Adjust.
From-SVN: r238750
Trevor Saunders [Tue, 26 Jul 2016 10:44:15 +0000 (10:44 +0000)]
remove elim_graph typedef
gcc/ChangeLog:
2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-outof-ssa.c (struct elim_graph): Remove typedef.
(new_elim_graph): Adjust.
(clear_elim_graph): Likewise.
(delete_elim_graph): Likewise.
(elim_graph_size): Likewise.
(elim_graph_add_node): Likewise.
(elim_graph_add_edge): Likewise.
(elim_graph_remove_succ_edge): Likewise.
(eliminate_name): Likewise.
(eliminate_build): Likewise.
(elim_forward): Likewise.
(elim_unvisited_predecessor): Likewise.
(elim_backward): Likewise.
(elim_create): Likewise.
(eliminate_phi): Likewise.
(expand_phi_nodes): Likewise.
From-SVN: r238749
Trevor Saunders [Tue, 26 Jul 2016 10:44:08 +0000 (10:44 +0000)]
use auto_sbitmap in various places
gcc/ChangeLog:
2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* bt-load.c (compute_out): Use auto_sbitmap class.
(link_btr_uses): Likewise.
* cfganal.c (mark_dfs_back_edges): Likewise.
(post_order_compute): Likewise.
(inverted_post_order_compute): Likewise.
(pre_and_rev_post_order_compute_fn): Likewise.
(single_pred_before_succ_order): Likewise.
* cfgexpand.c (pass_expand::execute): Likewise.
* cfgloop.c (verify_loop_structure): Likewise.
* cfgloopmanip.c (fix_bb_placements): Likewise.
(remove_path): Likewise.
(update_dominators_in_loop): Likewise.
* cfgrtl.c (break_superblocks): Likewise.
* ddg.c (check_sccs): Likewise.
(create_ddg_all_sccs): Likewise.
* df-core.c (df_worklist_dataflow): Likewise.
* dse.c (dse_step3): Likewise.
* except.c (eh_region_outermost): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* gcse.c (prune_expressions): Likewise.
(prune_insertions_deletions): Likewise.
* gimple-ssa-backprop.c (backprop::~backprop): Likewise.
* graph.c (draw_cfg_nodes_no_loops): Likewise.
* ira-lives.c (remove_some_program_points_and_update_live_ranges): Likewise.
* lcm.c (compute_earliest): Likewise.
(compute_farthest): Likewise.
* loop-unroll.c (unroll_loop_constant_iterations): Likewise.
(unroll_loop_runtime_iterations): Likewise.
(unroll_loop_stupid): Likewise.
* lower-subreg.c (decompose_multiword_subregs): Likewise.
* lra-lives.c: Likewise.
* lra.c (lra): Likewise.
* modulo-sched.c (schedule_reg_moves): Likewise.
(optimize_sc): Likewise.
(get_sched_window): Likewise.
(sms_schedule_by_order): Likewise.
(check_nodes_order): Likewise.
(order_nodes_of_sccs): Likewise.
(order_nodes_in_scc): Likewise.
* recog.c (split_all_insns): Likewise.
* regcprop.c (pass_cprop_hardreg::execute): Likewise.
* reload1.c (reload): Likewise.
* sched-rgn.c (haifa_find_rgns): Likewise.
(split_edges): Likewise.
(compute_trg_info): Likewise.
* sel-sched.c (init_seqno): Likewise.
* store-motion.c (remove_reachable_equiv_notes): Likewise.
* tree-into-ssa.c (update_ssa): Likewise.
* tree-ssa-live.c (live_worklist): Likewise.
* tree-ssa-loop-im.c (fill_always_executed_in): Likewise.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
* Likewise.
(try_peel_loop): Likewise.
* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
* Likewise.
* tree-ssa-pre.c (compute_antic): Likewise.
* tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
* tree-stdarg.c (reachable_at_most_once): Likewise.
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Likewise.
* var-tracking.c (vt_find_locations): Likewise.
From-SVN: r238748
Trevor Saunders [Tue, 26 Jul 2016 10:43:58 +0000 (10:43 +0000)]
add auto_sbitmap class
gcc/ChangeLog:
2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* sbitmap.h (auto_sbitmap): New class.
From-SVN: r238747
Alan Modra [Tue, 26 Jul 2016 10:27:34 +0000 (19:57 +0930)]
[RS6000] push_secondary_reload ICE
PR target/72103
* config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize
sri->t_icode.
From-SVN: r238744
Ian Lance Taylor [Tue, 26 Jul 2016 01:53:27 +0000 (01:53 +0000)]
libgo: bump library version number for 1.7
Reviewed-on: https://go-review.googlesource.com/25211
From-SVN: r238743
Ian Lance Taylor [Tue, 26 Jul 2016 01:38:33 +0000 (01:38 +0000)]
os/user: fix Solaris declaration.
Patch from Rainer Orth.
Reviewed-on: https://go-review.googlesource.com/25210
From-SVN: r238742
GCC Administrator [Tue, 26 Jul 2016 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238741
Jason Merrill [Mon, 25 Jul 2016 21:25:04 +0000 (17:25 -0400)]
PR c++/65970 - revert loop location change
* cp-gimplify.c (genericize_cp_loop): Revert location change.
From-SVN: r238737
Jason Merrill [Mon, 25 Jul 2016 19:16:16 +0000 (15:16 -0400)]
PR c++/71837 - pack expansion in init-capture
* lambda.c (add_capture): Leave a pack expansion in a TREE_LIST.
(build_lambda_object): Call build_x_compound_expr_from_list.
* pt.c (tsubst) [DECLTYPE_TYPE]: Likewise.
From-SVN: r238733
David Malcolm [Mon, 25 Jul 2016 19:15:22 +0000 (19:15 +0000)]
Fix selftest::temp_source_file ctor
gcc/ChangeLog:
* input.c (selftest::temp_source_file::temp_source_file): Fix
missing "%s" in fprintf.
From-SVN: r238732
Jason Merrill [Mon, 25 Jul 2016 19:10:41 +0000 (15:10 -0400)]
PR c++/71833 - member template with two parameter packs
PR c++/54440
* pt.c (coerce_template_parameter_pack): Fix logic for
pack index.
From-SVN: r238731
Jason Merrill [Mon, 25 Jul 2016 18:32:13 +0000 (14:32 -0400)]
PR c++/65970 - constexpr infinite loop
gcc/c-family/
* c.opt (fconstexpr-loop-limit): New.
gcc/cp/
* constexpr.c (cxx_eval_loop_expr): Count iterations.
* cp-gimplify.c (genericize_cp_loop): Use start_locus even for
infinite loops.
From-SVN: r238730
Jason Merrill [Mon, 25 Jul 2016 18:32:06 +0000 (14:32 -0400)]
PR c++/71972 - constexpr array self-modification
* constexpr.c (cxx_eval_array_reference): Handle looking for the
value of an element we're currently modifying.
From-SVN: r238729
Jason Merrill [Mon, 25 Jul 2016 18:32:00 +0000 (14:32 -0400)]
* g++.dg/init/elide5.C: Don't use unsigned long for size_t.
From-SVN: r238728
John David Anglin [Mon, 25 Jul 2016 17:32:44 +0000 (17:32 +0000)]
re PR middle-end/71732 (FAIL: gcc.dg/torture/pr71532.c at -O2 and above)
PR middle-end/71732
* cselib.c (cselib_process_insn): Invalidate argument slots for
const/pure calls.
From-SVN: r238727
Alexander Monakov [Mon, 25 Jul 2016 16:16:27 +0000 (19:16 +0300)]
testsuite: add two missing label_values annotations
2016-07-25 Alexander Monakov <amonakov@ispras.ru>
* gcc.c-torture/execute/pr71494.c: Require label_values.
* gcc.dg/pr16973.c: Ditto.
From-SVN: r238726
Jiong Wang [Mon, 25 Jul 2016 16:15:34 +0000 (16:15 +0000)]
[AArch64][10/10] ARMv8.2-A FP16 lane scalar intrinsics
gcc/
* config/aarch64/arm_neon.h (vfmah_lane_f16, vfmah_laneq_f16,
vfmsh_lane_f16, vfmsh_laneq_f16, vmulh_lane_f16, vmulh_laneq_f16,
vmulxh_lane_f16, vmulxh_laneq_f16): New.
From-SVN: r238725
Jiong Wang [Mon, 25 Jul 2016 16:13:22 +0000 (16:13 +0000)]
[AArch64][9/10] ARMv8.2-A FP16 three operands scalar intrinsics
gcc/
* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
* config/aarch64/aarch64.md (fma, fnma): Support HF.
* config/aarch64/arm_fp16.h (vfmah_f16, vfmsh_f16): New.
From-SVN: r238724
Jiong Wang [Mon, 25 Jul 2016 16:10:52 +0000 (16:10 +0000)]
[AArch64][8/10] ARMv8.2-A FP16 two operands scalar intrinsics
gcc/
* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
* config/aarch64/aarch64.md (<FCVT_F2FIXED:fcvt_fixed_insn>hf<mode>3):
New.
(<FCVT_FIXED2F:fcvt_fixed_insn><mode>hf3): Likewise.
(add<mode>3): Likewise.
(sub<mode>3): Likewise.
(mul<mode>3): Likewise.
(div<mode>3): Likewise.
(*div<mode>3): Likewise.
(<fmaxmin><mode>3): Extend to HF.
* config/aarch64/aarch64-simd.md (aarch64_rsqrts<mode>): Likewise.
(fabd<mode>3): Likewise.
(<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_HSDF:mode>3): Likewise.
(<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_HSDI:mode>3): Likewise.
(aarch64_fmulx<mode>): Likewise.
(aarch64_fac<optab><mode>): Likewise.
(aarch64_frecps<mode>): Likewise.
(<FCVT_F2FIXED:fcvt_fixed_insn>hfhi3): New.
(<FCVT_FIXED2F:fcvt_fixed_insn>hihf3): Likewise.
* config/aarch64/iterators.md (VHSDF_SDF): Delete.
(VSDQ_HSDI): Support HI.
(fcvt_target, FCVT_TARGET): Likewise.
* config/aarch64/arm_fp16.h (vaddh_f16, vsubh_f16, vabdh_f16,
vcageh_f16, vcagth_f16, vcaleh_f16, vcalth_f16, vceqh_f16, vcgeh_f16,
vcgth_f16, vcleh_f16, vclth_f16, vcvth_n_f16_s16, vcvth_n_f16_s32,
vcvth_n_f16_s64, vcvth_n_f16_u16, vcvth_n_f16_u32, vcvth_n_f16_u64,
vcvth_n_s16_f16, vcvth_n_s32_f16, vcvth_n_s64_f16, vcvth_n_u16_f16,
vcvth_n_u32_f16, vcvth_n_u64_f16, vdivh_f16, vmaxh_f16, vmaxnmh_f16,
vminh_f16, vminnmh_f16, vmulh_f16, vmulxh_f16, vrecpsh_f16,
vrsqrtsh_f16): New.
From-SVN: r238723
Jiong Wang [Mon, 25 Jul 2016 16:00:28 +0000 (16:00 +0000)]
[AArch64][7/10] ARMv8.2-A FP16 one operand scalar intrinsics
gcc/
* config.gcc (aarch64*-*-*): Install arm_fp16.h.
* config/aarch64/aarch64-builtins.c (hi_UP): New.
* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
* config/aarch64/aarch64-simd.md (aarch64_frsqrte<mode>): Extend to HF
mode.
(aarch64_frecp<FRECP:frecp_suffix><mode>): Likewise.
(aarch64_cm<optab><mode>): Likewise.
* config/aarch64/aarch64.md (<frint_pattern><mode>2): Likewise.
(l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): Likewise.
(fix_trunc<GPF:mode><GPI:mode>2): Likewise.
(sqrt<mode>2): Likewise.
(abs<mode>2): Likewise.
(<optab><mode>hf2): New pattern for HF mode.
(<optab>hihf2): Likewise.
* config/aarch64/arm_neon.h: Include arm_fp16.h.
* config/aarch64/iterators.md (GPF_F16, GPI_F16, VHSDF_HSDF): New.
(w1, w2, v, s, q, Vmtype, V_cmp_result, fcvt_iesize, FCVT_IESIZE):
Support HF mode.
* config/aarch64/arm_fp16.h: New file.
(vabsh_f16, vceqzh_f16, vcgezh_f16, vcgtzh_f16, vclezh_f16, vcltzh_f16,
vcvth_f16_s16, vcvth_f16_s32, vcvth_f16_s64, vcvth_f16_u16,
vcvth_f16_u32, vcvth_f16_u64, vcvth_s16_f16, vcvth_s32_f16,
vcvth_s64_f16, vcvth_u16_f16, vcvth_u32_f16, vcvth_u64_f16,
vcvtah_s16_f16, vcvtah_s32_f16, vcvtah_s64_f16, vcvtah_u16_f16,
vcvtah_u32_f16, vcvtah_u64_f16, vcvtmh_s16_f16, vcvtmh_s32_f16,
vcvtmh_s64_f16, vcvtmh_u16_f16, vcvtmh_u32_f16, vcvtmh_u64_f16,
vcvtnh_s16_f16, vcvtnh_s32_f16, vcvtnh_s64_f16, vcvtnh_u16_f16,
vcvtnh_u32_f16, vcvtnh_u64_f16, vcvtph_s16_f16, vcvtph_s32_f16,
vcvtph_s64_f16, vcvtph_u16_f16, vcvtph_u32_f16, vcvtph_u64_f16,
vnegh_f16, vrecpeh_f16, vrecpxh_f16, vrndh_f16, vrndah_f16, vrndih_f16,
vrndmh_f16, vrndnh_f16, vrndph_f16, vrndxh_f16, vrsqrteh_f16,
vsqrth_f16): New.
From-SVN: r238722
Jiong Wang [Mon, 25 Jul 2016 15:00:14 +0000 (15:00 +0000)]
[AArch64][6/14] ARMv8.2-A FP16 reduction vector intrinsics
gcc/
* config/aarch64/aarch64-simd-builtins.def (reduc_smax_scal_,
reduc_smin_scal_): Use VDQIF_F16.
(reduc_smax_nan_scal_, reduc_smin_nan_scal_): Use VHSDF.
* config/aarch64/aarch64-simd.md (reduc_<maxmin_uns>_scal_<mode>):
Use VHSDF.
(aarch64_reduc_<maxmin_uns>_internal<mode>): Likewise.
* config/aarch64/iterators.md (VDQIF_F16): New.
(vp): Support HF modes.
* config/aarch64/arm_neon.h (vmaxv_f16, vmaxvq_f16, vminv_f16,
vminvq_f16, vmaxnmv_f16, vmaxnmvq_f16, vminnmv_f16, vminnmvq_f16): New.
From-SVN: r238721
Jiong Wang [Mon, 25 Jul 2016 14:49:57 +0000 (14:49 +0000)]
[AArch64][5/10] ARMv8.2-A FP16 lane vector intrinsics
gcc/
* config/aarch64/aarch64-simd.md (*aarch64_mulx_elt_to_64v2df): Rename to
"*aarch64_mulx_elt_from_dup<mode>".
(*aarch64_mul3_elt<mode>): Update schedule type.
(*aarch64_mul3_elt_from_dup<mode>): Likewise.
(*aarch64_fma4_elt_from_dup<mode>): Likewise.
(*aarch64_fnma4_elt_from_dup<mode>): Likewise.
* config/aarch64/iterators.md (VMUL): Supprt half precision float modes.
(f, fp): Support HF modes.
* config/aarch64/arm_neon.h (vfma_lane_f16, vfmaq_lane_f16,
vfma_laneq_f16, vfmaq_laneq_f16, vfma_n_f16, vfmaq_n_f16, vfms_lane_f16,
vfmsq_lane_f16, vfms_laneq_f16, vfmsq_laneq_f16, vfms_n_f16,
vfmsq_n_f16, vmul_lane_f16, vmulq_lane_f16, vmul_laneq_f16,
vmulq_laneq_f16, vmul_n_f16, vmulq_n_f16, vmulx_lane_f16,
vmulxq_lane_f16, vmulx_laneq_f16, vmulxq_laneq_f16): New.
From-SVN: r238719
Jiong Wang [Mon, 25 Jul 2016 14:44:24 +0000 (14:44 +0000)]
[AArch64][4/10] ARMv8.2-A FP16 three operands vector intrinsics
gcc/
* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
* config/aarch64/aarch64-simd.md (fma<mode>4, fnma<mode>4): Extend to HF
modes.
* config/aarch64/arm_neon.h (vfma_f16, vfmaq_f16, vfms_f16,
vfmsq_f16): New.
From-SVN: r238718
Jiong Wang [Mon, 25 Jul 2016 14:30:52 +0000 (14:30 +0000)]
[AArch64][3/10] ARMv8.2-A FP16 two operands vector intrinsics
gcc/
* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
* config/aarch64/aarch64-simd.md
(aarch64_rsqrts<mode>): Extend to HF modes.
(fabd<mode>3): Likewise.
(<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_SDF:mode>3): Likewise.
(<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_SDI:mode>3): Likewise.
(aarch64_<maxmin_uns>p<mode>): Likewise.
(<su><maxmin><mode>3): Likewise.
(<maxmin_uns><mode>3): Likewise.
(<fmaxmin><mode>3): Likewise.
(aarch64_faddp<mode>): Likewise.
(aarch64_fmulx<mode>): Likewise.
(aarch64_frecps<mode>): Likewise.
(*aarch64_fac<optab><mode>): Rename to aarch64_fac<optab><mode>.
(add<mode>3): Extend to HF modes.
(sub<mode>3): Likewise.
(mul<mode>3): Likewise.
(div<mode>3): Likewise.
(*div<mode>3): Likewise.
* config/aarch64/aarch64.c (aarch64_emit_approx_div): Return false for
HF, V4HF and V8HF.
* config/aarch64/iterators.md (VDQ_HSDI, VSDQ_HSDI): New mode iterator.
* config/aarch64/arm_neon.h (vadd_f16): New.
(vaddq_f16, vabd_f16, vabdq_f16, vcage_f16, vcageq_f16, vcagt_f16,
vcagtq_f16, vcale_f16, vcaleq_f16, vcalt_f16, vcaltq_f16, vceq_f16,
vceqq_f16, vcge_f16, vcgeq_f16, vcgt_f16, vcgtq_f16, vcle_f16,
vcleq_f16, vclt_f16, vcltq_f16, vcvt_n_f16_s16, vcvtq_n_f16_s16,
vcvt_n_f16_u16, vcvtq_n_f16_u16, vcvt_n_s16_f16, vcvtq_n_s16_f16,
vcvt_n_u16_f16, vcvtq_n_u16_f16, vdiv_f16, vdivq_f16, vdup_lane_f16,
vdup_laneq_f16, vdupq_lane_f16, vdupq_laneq_f16, vdups_lane_f16,
vdups_laneq_f16, vmax_f16, vmaxq_f16, vmaxnm_f16, vmaxnmq_f16, vmin_f16,
vminq_f16, vminnm_f16, vminnmq_f16, vmul_f16, vmulq_f16, vmulx_f16,
vmulxq_f16, vpadd_f16, vpaddq_f16, vpmax_f16, vpmaxq_f16, vpmaxnm_f16,
vpmaxnmq_f16, vpmin_f16, vpminq_f16, vpminnm_f16, vpminnmq_f16,
vrecps_f16, vrecpsq_f16, vrsqrts_f16, vrsqrtsq_f16, vsub_f16,
vsubq_f16): Likewise.
From-SVN: r238717
Jiong Wang [Mon, 25 Jul 2016 14:20:37 +0000 (14:20 +0000)]
[AArch64][2/10] ARMv8.2-A FP16 one operand vector intrinsics
gcc/
* config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New.
* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
* config/aarch64/aarch64-simd.md (aarch64_rsqrte<mode>): Extend to HF modes.
(neg<mode>2): Likewise.
(abs<mode>2): Likewise.
(<frint_pattern><mode>2): Likewise.
(l<fcvt_pattern><su_optab><VDQF:mode><fcvt_target>2): Likewise.
(<optab><VDQF:mode><fcvt_target>2): Likewise.
(<fix_trunc_optab><VDQF:mode><fcvt_target>2): Likewise.
(ftrunc<VDQF:mode>2): Likewise.
(<optab><fcvt_target><VDQF:mode>2): Likewise.
(sqrt<mode>2): Likewise.
(*sqrt<mode>2): Likewise.
(aarch64_frecpe<mode>): Likewise.
(aarch64_cm<optab><mode>): Likewise.
* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Return
false for V4HF and V8HF.
* config/aarch64/iterators.md (VHSDF, VHSDF_DF, VHSDF_SDF): New.
(VDQF_COND, fcvt_target, FCVT_TARGET, hcon): Extend mode attribute to HF modes.
(stype): New.
* config/aarch64/arm_neon.h (vdup_n_f16): New.
(vdupq_n_f16): Likewise.
(vld1_dup_f16): Use vdup_n_f16.
(vld1q_dup_f16): Use vdupq_n_f16.
(vabs_f16): New.
(vabsq_f16, vceqz_f16, vceqzq_f16, vcgez_f16, vcgezq_f16, vcgtz_f16,
vcgtzq_f16, vclez_f16, vclezq_f16, vcltz_f16, vcltzq_f16, vcvt_f16_s16,
vcvtq_f16_s16, vcvt_f16_u16, vcvtq_f16_u16, vcvt_s16_f16, vcvtq_s16_f16,
vcvt_u16_f16, vcvtq_u16_f16, vcvta_s16_f16, vcvtaq_s16_f16,
vcvta_u16_f16, vcvtaq_u16_f16, vcvtm_s16_f16, vcvtmq_s16_f16,
vcvtm_u16_f16, vcvtmq_u16_f16, vcvtn_s16_f16, vcvtnq_s16_f16,
vcvtn_u16_f16, vcvtnq_u16_f16, vcvtp_s16_f16, vcvtpq_s16_f16,
vcvtp_u16_f16, vcvtpq_u16_f16, vneg_f16, vnegq_f16, vrecpe_f16,
vrecpeq_f16, vrnd_f16, vrndq_f16, vrnda_f16, vrndaq_f16, vrndi_f16,
vrndiq_f16, vrndm_f16, vrndmq_f16, vrndn_f16, vrndnq_f16, vrndp_f16,
vrndpq_f16, vrndx_f16, vrndxq_f16, vrsqrte_f16, vrsqrteq_f16, vsqrt_f16,
vsqrtq_f16): Likewise.
From-SVN: r238716
Jiong Wang [Mon, 25 Jul 2016 14:02:42 +0000 (14:02 +0000)]
[AArch64][1/10] ARMv8.2-A FP16 data processing intrinsics
gcc/
* config/aarch64/aarch64-simd.md
(aarch64_<PERMUTE:perm_insn><PERMUTE:perm_hilo><mode>): Use VALL_F16.
(aarch64_ext<mode>): Likewise.
(aarch64_rev<REVERSE:rev_op><mode>): Likewise.
* config/aarch64/aarch64.c (aarch64_evpc_trn): Support V4HFmode and
V8HFmode.
(aarch64_evpc_uzp): Likewise.
(aarch64_evpc_zip): Likewise.
(aarch64_evpc_ext): Likewise.
(aarch64_evpc_rev): Likewise.
* config/aarch64/arm_neon.h (__aarch64_vdup_lane_f16): New.
(__aarch64_vdup_laneq_f16): New..
(__aarch64_vdupq_lane_f16): New.
(__aarch64_vdupq_laneq_f16): New.
(vbsl_f16): New.
(vbslq_f16): New.
(vdup_n_f16): New.
(vdupq_n_f16): New.
(vdup_lane_f16): New.
(vdup_laneq_f16): New.
(vdupq_lane_f16): New.
(vdupq_laneq_f16): New.
(vduph_lane_f16): New.
(vduph_laneq_f16): New.
(vext_f16): New.
(vextq_f16): New.
(vmov_n_f16): New.
(vmovq_n_f16): New.
(vrev64_f16): New.
(vrev64q_f16): New.
(vtrn1_f16): New.
(vtrn1q_f16): New.
(vtrn2_f16): New.
(vtrn2q_f16): New.
(vtrn_f16): New.
(vtrnq_f16): New.
(__INTERLEAVE_LIST): Support float16x4_t, float16x8_t.
(vuzp1_f16): New.
(vuzp1q_f16): New.
(vuzp2_f16): New.
(vuzp2q_f16): New.
(vzip1_f16): New.
(vzip2q_f16): New.
(vmov_n_f16): Reimplement using vdup_n_f16.
(vmovq_n_f16): Reimplement using vdupq_n_f16..
From-SVN: r238715
Jiong Wang [Mon, 25 Jul 2016 13:42:43 +0000 (13:42 +0000)]
[AArch64][3/3] Migrate aarch64_expand_prologue/epilogue to aarch64_add_constant
gcc/
* config/aarch64/aarch64.c (aarch64_add_constant): New parameter
"frame_related_p". Generate CFA annotation when it's necessary.
(aarch64_expand_prologue): Use aarch64_add_constant.
(aarch64_expand_epilogue): Likewise.
(aarch64_output_mi_thunk): Pass "false" when calling
aarch64_add_constant.
From-SVN: r238714
Jiong Wang [Mon, 25 Jul 2016 13:36:33 +0000 (13:36 +0000)]
[AArch64][2/3] Optimize aarch64_add_constant to generate better addition sequences
gcc/
* config/aarch64/aarch64.c (aarch64_add_constant): Optimize instruction
sequences.
From-SVN: r238713
Jiong Wang [Mon, 25 Jul 2016 13:31:44 +0000 (13:31 +0000)]
[AArch64][1/3] Migrate aarch64_add_constant to new interface & kill aarch64_build_constant
gcc/
* config/aarch64/aarch64.c (aarch64_add_constant): New parameter "mode".
Use aarch64_internal_mov_immediate instead of aarch64_build_constant.
(aarch64_output_mi_thunk): Pass Pmode when calling aarch64_add_constant.
(aarch64_build_constant): Delete.
From-SVN: r238712
Georeth Chow [Mon, 25 Jul 2016 12:56:12 +0000 (12:56 +0000)]
Fix missing qualification in <ext/rope>
2016-07-25 Georeth Chow <georeth2010@gmail.com>
* include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
_S_concat enumerator.
* testsuite/ext/rope/6.cc: New test.
From-SVN: r238711
Alexander Monakov [Mon, 25 Jul 2016 12:37:29 +0000 (15:37 +0300)]
revert: nvptx: do not implicitly enable -ftoplevel-reorder
Revert
2016-07-20 Alexander Monakov <amonakov@ispras.ru>
* config/nvptx/nvptx.c (nvptx_option_override): Do not set
flag_toplevel_reorder.
From-SVN: r238710
Richard Biener [Mon, 25 Jul 2016 12:35:08 +0000 (12:35 +0000)]
cgraph.c (cgraph_node::verify_node): Compare against builtin by using DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE.
2016-07-25 Richard Biener <rguenther@suse.de>
* cgraph.c (cgraph_node::verify_node): Compare against builtin
by using DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE.
* tree-chkp.c (chkp_gimple_call_builtin_p): Likewise.
* tree-streamer.h (streamer_handle_as_builtin_p): Remove.
(streamer_get_builtin_tree): Likewise.
(streamer_write_builtin): Likewise.
* lto-streamer.h (LTO_builtin_decl): Remove.
* lto-streamer-in.c (lto_read_tree_1): Remove assert.
(lto_input_scc): Remove LTO_builtin_decl handling.
(lto_input_tree_1): Liekwise.
* lto-streamer-out.c (lto_output_tree_1): Remove special
handling of builtins.
(DFS::DFS): Likewise.
* tree-streamer-in.c (streamer_get_builtin_tree): Remove.
* tree-streamer-out.c (pack_ts_function_decl_value_fields): Remove
assert.
(streamer_write_builtin): Remove.
lto/
* lto.c (compare_tree_sccs_1): Remove streamer_handle_as_builtin_p uses.
(unify_scc): Likewise.
(lto_read_decls): Likewise.
From-SVN: r238709
Senthil Kumar Selvaraj [Mon, 25 Jul 2016 11:55:45 +0000 (11:55 +0000)]
Fix tests for targets with sizeof(int) != 32.
gcc/testsuite/
* gcc.dg/torture/pr69352.c (foo): Cast to intptr_t instead of long.
* gcc.dg/torture/pr69771.c: Require int32plus.
* gcc.dg/torture/pr71866.c (inb): Add cast to intptr_t.
From-SVN: r238708
Martin Liska [Mon, 25 Jul 2016 11:28:52 +0000 (13:28 +0200)]
Don't call get_working_sets w/ LTO and -fauto-profile (PR
* lto-cgraph.c (input_symtab): Don't call get_working_sets
if flag_auto_profile is set to true.
From-SVN: r238707
Martin Liska [Mon, 25 Jul 2016 10:56:08 +0000 (12:56 +0200)]
Handle loops with loop->latch == NULL (PR gcov-profile/71868)
PR gcov-profile/71868
* cfgloopanal.c (expected_loop_iterations_unbounded): When we
have a function with multiple latches, count them all.
From-SVN: r238706
Martin Liska [Mon, 25 Jul 2016 10:52:30 +0000 (12:52 +0200)]
Fix memory leak introduced in r238336
* tree-ssa-loop-niter.c (loop_only_exit_p): Release body array.
From-SVN: r238705
Martin Liska [Mon, 25 Jul 2016 10:50:30 +0000 (12:50 +0200)]
Call get_ops just for SSA_NAMEs (PR tree-optimization/71987)
PR tree-optimization/71987
* tree-ssa-reassoc.c (maybe_optimize_range_tests): Call get_ops
just for SSA_NAMEs. Fix GNU coding style.
* gcc.dg/torture/pr71987.c: New test.
From-SVN: r238704
Jonathan Wakely [Mon, 25 Jul 2016 10:31:53 +0000 (11:31 +0100)]
Use std::mt19937, std::thread and std::atomic to simplify tests
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
std::mt19937, std::thread and std::atomic to simplify test.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
From-SVN: r238703
Martin Liska [Mon, 25 Jul 2016 08:42:42 +0000 (10:42 +0200)]
Adapt the numbering scheme (PR gcov-profile/64874)
PR gcov-profile/64874
* gcov-io.h: Update command about file format.
* gcov-iov.c (main): Adapt the numbering scheme.
From-SVN: r238702
Alan Modra [Mon, 25 Jul 2016 01:13:36 +0000 (10:43 +0930)]
Revert 2015-11-09 sanitizer/obstack configury
The 2015-11-23 sanitizer merge from upstream lost the changes from
f6528435 to sanitizer_common/sanitizer_common_interceptors.inc, which
made use of _OBSTACK_SIZE_T. So the configury changes to define
_OBSTACK_SIZE_T don't do anything. This wasn't such a bad thing
anyway.. The configure test wrongly adds -I${srcdir}/../include,
effectively resulting in a test of libiberty/obstack rather than libc
obstack support, and it's the latter that asan and tsan need to work
with.
So, remove the useless configure test. Upstream santizer project has
been made aware of the problem if glibc obstack support is ever
updated. Bootsrapped etc. x86_64-linux and committed as obvious.
Revert 2015-11-09 Alan Modra <amodra@gmail.com>
* configure.ac: Don't substitute OBSTACK_DEFS.
* asan/Makefile.am: Remove OBSTACK_DEFS from DEFS.
* tsan/Makefile.am: Likewise.
* configure: Regenerate.
* Makefile.in: Regenerate.
* asan/Makefile.in: Regenerate.
* interception/Makefile.in: Regenerate.
* libbacktrace/Makefile.in: Regenerate.
* lsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.in: Regenerate.
* tsan/Makefile.in: Regenerate.
* ubsan/Makefile.in: Regenerate.
From-SVN: r238701
GCC Administrator [Mon, 25 Jul 2016 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238700
Jason Merrill [Sun, 24 Jul 2016 23:40:05 +0000 (19:40 -0400)]
PR c++/71515 - typename in partial specialization
* pt.c (resolve_typename_type): Try to avoid calling
currently_open_class.
From-SVN: r238696
Kugan Vivekanandarajah [Sun, 24 Jul 2016 12:47:29 +0000 (12:47 +0000)]
re PR tree-optimization/66726 (missed optimization, factor conversion out of COND_EXPR)
gcc/ChangeLog:
2016-07-24 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/66726
* tree-ssa-reassoc.c (optimize_vec_cond_expr): Handle tcc_compare stmt
whose result is used in PHI.
(final_range_test_p): Likewise.
(maybe_optimize_range_tests): Likewise.
From-SVN: r238695
Jason Merrill [Sun, 24 Jul 2016 02:59:34 +0000 (22:59 -0400)]
PR c++/66617 - virtual base list-initialization
* call.c (add_list_candidates): Handle VTT parm.
(build_new_method_call_1): Likewise.
From-SVN: r238689
Jason Merrill [Sun, 24 Jul 2016 02:56:22 +0000 (22:56 -0400)]
PR c++/55922 - list-value-initialization of base
PR c++/63151
* init.c (expand_aggr_init_1): Handle list-initialization from {}.
From-SVN: r238688
Jason Merrill [Sun, 24 Jul 2016 02:52:33 +0000 (22:52 -0400)]
PR c++/70709 - zero-length array member
* class.c (walk_subobject_offsets): Handle 0-length array.
From-SVN: r238687
Jason Merrill [Sun, 24 Jul 2016 02:50:16 +0000 (22:50 -0400)]
PR c++/70778 - member template template parameter
* pt.c (tsubst): Also substitute into the template of a
BOUND_TEMPLATE_TEMPLATE_PARM.
From-SVN: r238686
Jason Merrill [Sun, 24 Jul 2016 02:39:41 +0000 (22:39 -0400)]
PR c++/71738 - nested template friend
* pt.c (lookup_template_class_1): Handle getting template from tsubst.
From-SVN: r238685
Jason Merrill [Sun, 24 Jul 2016 02:35:37 +0000 (22:35 -0400)]
PR c++/71350 - error recursion with initializer-list
* decl.c (reshape_init_r): Check complain for missing braces warning.
From-SVN: r238684
Jason Merrill [Sun, 24 Jul 2016 02:25:36 +0000 (22:25 -0400)]
PR c++/71576 - bitfield and rvalue reference
* call.c (convert_like_real): Use lvalue_kind.
From-SVN: r238683
Jason Merrill [Sun, 24 Jul 2016 02:19:46 +0000 (22:19 -0400)]
PR c++/71748 - call to base destructor in template.
PR c++/52746
* pt.c (tsubst_baselink): Call
adjust_result_of_qualified_name_lookup for unqualified
destructors.
From-SVN: r238681
GCC Administrator [Sun, 24 Jul 2016 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238680
Michael Meissner [Sat, 23 Jul 2016 02:54:53 +0000 (02:54 +0000)]
rs6000-c.c (altivec_resolve_overloaded_builtin): Reformat two multi-line strings.
2016-07-22 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
Reformat two multi-line strings.
From-SVN: r238675
GCC Administrator [Sat, 23 Jul 2016 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r238674
Steven G. Kargl [Fri, 22 Jul 2016 18:53:11 +0000 (18:53 +0000)]
re PR fortran/71935 (ICE is_c_interoperable(): gfc_simplify_expr failed)
2016-07-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71935
* check.c (is_c_interoperable): Simplify right expression.
2016-07-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71935
* gfortran.dg/c_sizeof_1.f90: Move invalid code to ...
* gfortran.dg/c_sizeof_6.f90: here. Test for error.
* gfortran.dg/pr71935.f90: New test.
From-SVN: r238665
Martin Sebor [Fri, 22 Jul 2016 18:32:08 +0000 (18:32 +0000)]
PR c++/71675 - __atomic_compare_exchange_n returns wrong type for typed enum
gcc/c-family/ChangeLog:
PR c++/71675
* c-common.c (resolve_overloaded_builtin): Avoid converting
__atomic_compare_exchange_n return type to that of what its
first argument points to.
gcc/testsuite/ChangeLog:
PR c++/71675
* g++.dg/ext/atomic-3.C: New test.
* gcc.dg/atomic/pr71675.c: New test.
From-SVN: r238664
Ian Lance Taylor [Fri, 22 Jul 2016 18:15:38 +0000 (18:15 +0000)]
libgo: update to go1.7rc3
Reviewed-on: https://go-review.googlesource.com/25150
From-SVN: r238662
Martin Sebor [Fri, 22 Jul 2016 16:16:17 +0000 (16:16 +0000)]
extend.texi (Compound Literals): Add '@' missed in last commit.
gcc/ChangeLog:
* doc/extend.texi (Compound Literals): Add '@' missed in last commit.
From-SVN: r238652
Martin Sebor [Fri, 22 Jul 2016 15:40:51 +0000 (15:40 +0000)]
PR c/71560 - union compound literal initializes wrong union field
gcc/ChangeLog:
* doc/extend.texi (Compound Literals): Correct and clarify.
(Cast to Union): Same.
From-SVN: r238651
Kelvin Nilsen [Fri, 22 Jul 2016 15:13:20 +0000 (15:13 +0000)]
rs6000.c (rs6000_option_override_internal): Add comments to explain why certain error messages make mention of undocumented...
gcc/ChangeLog:
2016-07-22 Kelvin Nilsen <kelvin@gcc.gnu.org>
* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
comments to explain why certain error messages make mention of
undocumented options.
(rs6000_invalid_builtin): Change error messages to replace mention
of undocumented options with mention of the -mcpu=power9 option
that enables those undocumented options.
* config/rs6000/rs6000.h (MASK_FLOAT128): New macro.
(RS6000_BTM_FLOAT128): Use the new MASK_FLOAT128 macro in the
definition of this macro to correct an existing error.
* config/rs6000/rs6000.opt: Add the Undocumented qualifier to the
mpower9-fusion, mpower9-vector, mpower9-dform, and mmodulo entries.
* doc/extend.texi (PowerPC AltiVec Built-in Functions): Modify
descriptions of built-in functions so that they depend on
-mcpu=power9 instead of on the corresponding undocumented flags.
* doc/invoke.texi (Option Summary): Remove all mention of newly
undocumented flags.
(IBM RS/6000 and PowerPC Options): Likewise.
* doc/md.texi (Constraints for Particuliar Machines): Remove all
mention of newly undocumented flags.
From-SVN: r238648
Jonathan Wakely [Fri, 22 Jul 2016 15:03:11 +0000 (16:03 +0100)]
Move allocator in std::string and RB tree move constructors
PR libstdc++/71964
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
* include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
* testsuite/21_strings/basic_string/allocator/71964.cc: New test.
* testsuite/23_containers/set/allocator/71964.cc: New test.
From-SVN: r238647
Evgeny Stupachenko [Fri, 22 Jul 2016 15:00:42 +0000 (15:00 +0000)]
ipa-cp.c (determine_versionability): Do not create constprop clones, when target_clones attribute is set.
2016-07-22 Evgeny Stupachenko <evstupac@gmail.com>
gcc/
* ipa-cp.c (determine_versionability): Do not create constprop clones,
when target_clones attribute is set.
gcc/testsuite/
* gcc.target/i386/mvc8.c: New test.
From-SVN: r238645
Uros Bizjak [Fri, 22 Jul 2016 14:09:55 +0000 (16:09 +0200)]
c-typeck.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
c/ChangeLog:
* c-typeck.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
c-family/ChangeLog:
* c-common.c: Use HOST_WIDE_INT_M1U instead of
~(unsigned HOST_WIDE_INT) 0.
From-SVN: r238643
Bin Cheng [Fri, 22 Jul 2016 13:25:59 +0000 (13:25 +0000)]
common.opt (funsafe-loop-optimizations): Mark ignore.
* common.opt (funsafe-loop-optimizations): Mark ignore.
* doc/invoke.texi (funsafe-loop-optimizations): Remove.
* loop-iv.c (get_simple_loop_desc): Remove unsafe-loop-optimizations
related code.
* tree-ssa-loop-niter.c (finite_loop_p): Ditto.
* config/bfin/bfin.c (bfin_can_use_doloop_p): Ditto.
From-SVN: r238642
Bin Cheng [Fri, 22 Jul 2016 13:22:03 +0000 (13:22 +0000)]
tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New Parameter.
* tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
Parameter.
* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
Parameter.
(number_of_iterations_exit): Warn missed loop optimization for
possible infinite loops.
gcc/testsuite
* gcc.dg/tree-ssa/pr19210-1.c: Refine test strings.
* gcc.dg/tree-ssa/pr19210-2.c: Delete.
From-SVN: r238641
Segher Boessenkool [Fri, 22 Jul 2016 13:08:19 +0000 (15:08 +0200)]
Subject: [PATCH] rs6000: Fix logic for when to emit .machine (PR71216)
The current logic determining whether to use .machine in the generated
asm code puts it there if the compiler is not configured with a default
target cpu, _or_ no -mcpu= was given on the command line. It should
be "and" instead.
PR target/71216
* config/rs6000/rs6000.c (rs6000_file_start): Fix condition for
when to emit a ".machine" pseudo-op.
From-SVN: r238639
Thomas Koenig [Fri, 22 Jul 2016 10:38:32 +0000 (10:38 +0000)]
re PR fortran/71795 (Two Bugs in array constructors (optimization))
2016-07-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71795
* frontend-passes.c (combine_array_constructor): Don't
do anything if the expression is inside an array iterator.
2016-07-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71795
* gfortran.dg/constructor_50.f90: New test.
From-SVN: r238638
Martin Liska [Fri, 22 Jul 2016 10:19:57 +0000 (12:19 +0200)]
Consider functions with xloc.file == NULL (PR
PR gcov-profile/69028
PR gcov-profile/62047
* g++.dg/cilk-plus/pr69028.C: New test.
PR gcov-profile/69028
PR gcov-profile/62047
* cilk.c (create_cilk_helper_decl): Set location of a new decl
to the current_function_decl.
PR gcov-profile/69028
PR gcov-profile/62047
* coverage.c (coverage_compute_lineno_checksum): Do not
calculate checksum for fns w/o xloc.file.
(coverage_compute_profile_id): Likewise.
From-SVN: r238637
Andre Vehreschild [Fri, 22 Jul 2016 09:58:50 +0000 (11:58 +0200)]
libcaf.h: Add parameter stat to caf_get() and caf_send()'s function prototypes.
libgfortran/ChangeLog:
2016-07-22 Andre Vehreschild <vehre@gcc.gnu.org>
* caf/libcaf.h: Add parameter stat to caf_get() and
caf_send()'s function prototypes.
* caf/single.c (_gfortran_caf_get): Implement reporting
error using stat instead of abort().
(_gfortran_caf_send): Same.
(_gfortran_caf_sendget): Use NULL for stat when calling
caf_send().
gcc/testsuite/ChangeLog:
2016-07-22 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray_stat_2.f90: New test.
From-SVN: r238636
Andre Vehreschild [Fri, 22 Jul 2016 09:46:54 +0000 (11:46 +0200)]
expr.c (gfc_find_stat_co): Fixed whitespaces.
gcc/fortran/ChangeLog:
2016-07-22 Andre Vehreschild <vehre@gcc.gnu.org>
* expr.c (gfc_find_stat_co): Fixed whitespaces.
* gfortran.texi: Fixed typos and reversed meaning of caf_get()'s
src and dst description.
* trans-decl.c (gfc_build_builtin_function_decls): Fixed style
and corrected fnspec for caf functions.
* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fixed style.
(conv_caf_send): Dito.
From-SVN: r238635
Georg-Johann Lay [Fri, 22 Jul 2016 09:19:35 +0000 (09:19 +0000)]
avr.c (TARGET_SECONDARY_RELOAD): Remove hook define...
* config/avr/avr.c (TARGET_SECONDARY_RELOAD): Remove hook define...
(avr_secondary_reload): ...and implementation.
(avr_adjust_insn_length) [ADJUST_LEN_LPM]: Remove handling.
* config/avr/avr.md (reload_in<mode>): Remove insns.
(adjust_len) [lpm]: Remove insn attribute value.
* config/avr/predicates.md (flash_operand): Remove insn predicate.
From-SVN: r238634
Martin Liska [Fri, 22 Jul 2016 09:08:56 +0000 (09:08 +0000)]
Fix params.exp test-cases
From-SVN: r238633
Jonathan Wakely [Fri, 22 Jul 2016 08:33:26 +0000 (09:33 +0100)]
Use correct form of delete in libstdc++.exp
* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
delete[] instead of delete.
From-SVN: r238632
Jason Merrill [Fri, 22 Jul 2016 03:45:54 +0000 (23:45 -0400)]
PR c++/69223 - ICE with deduced template return type.
* semantics.c (apply_deduced_return_type): Call
complete_type_or_else before building the new RESULT_DECL.
From-SVN: r238624