platform/upstream/gcc.git
7 years ago[PATCH] [GCC] Don't use section anchors for declarations that don't fit in a single...
Tamar Christina [Thu, 18 Aug 2016 08:45:53 +0000 (08:45 +0000)]
[PATCH] [GCC] Don't use section anchors for declarations that don't fit in a single anchor range

On behalf of Tamar Christina  <tamar.christina@arm.com>.

gcc/

* varasm.c (default_use_anchors_for_symbol_p): Reject too large decls.

Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r239561

7 years agossa-iterators.h (ssa_vuse_operand): New inline.
Richard Biener [Thu, 18 Aug 2016 07:21:11 +0000 (07:21 +0000)]
ssa-iterators.h (ssa_vuse_operand): New inline.

2016-08-18  Richard Biener  <rguenther@suse.de>

* ssa-iterators.h (ssa_vuse_operand): New inline.
* tree-if-conv.c (ifc_temp_var): Update virtual operand.
(predicate_all_scalar_phis): Use remove_phi_node to remove
phi nodes predicated.  Delay removing virtual PHIs.
(predicate_mem_writes): Update virtual operands.
(combine_blocks): Likewise.  Propagate out remaining virtual PHIs.
(tree_if_conversion): Do not rewrite virtual SSA form.
* tree-phinodes.c (release_phi_node): Make static.
* tree-phinodes.h (release_phi_node): Remove.

From-SVN: r239560

7 years agoi386.c (enum ix86_builtins): Remove IX86_BUILTIN_* codes that appear in bdesc_* arrays...
Jakub Jelinek [Thu, 18 Aug 2016 06:58:46 +0000 (08:58 +0200)]
i386.c (enum ix86_builtins): Remove IX86_BUILTIN_* codes that appear in bdesc_* arrays...

* config/i386/i386.c (enum ix86_builtins): Remove IX86_BUILTIN_*
codes that appear in bdesc_* arrays, instead include i386-builtin.def
twice to define those.
(bdesc_comi, bdesc_pcmpestr, bdesc_pcmpistr, bdesc_special_args,
bdesc_args, bdesc_round_args, bdesc_mpx, bdesc_mpx_const,
bdesc_multi_arg): Define by including i386-builtin.def the third time.
* config/i386/i386-builtin.def: New file.

From-SVN: r239559

7 years agoDaily bump.
GCC Administrator [Thu, 18 Aug 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239553

7 years agoinput.c: move test functions within #CHECKING_P and into selftest::
David Malcolm [Thu, 18 Aug 2016 00:13:26 +0000 (00:13 +0000)]
input.c: move test functions within #CHECKING_P and into selftest::

gcc/ChangeLog:
* input.c (get_source_range_for_char): Rename to...
(selftest::get_source_range_for_char): ...this, and move within
the #if CHECKING_P guard.
(get_num_source_ranges_for_substring): Rename to...
(selftest::get_num_source_ranges_for_substring): ...this, move
within the #if CHECKING_P guard, and make static.
(selftest::assert_num_substring_ranges): Initialize
actual_num_ranges.

From-SVN: r239550

7 years ago[RELOAD] Don't assume subreg mem address is ok
Alan Modra [Wed, 17 Aug 2016 22:41:22 +0000 (08:11 +0930)]
[RELOAD] Don't assume subreg mem address is ok

This patch fixes a case where reload blindly assumes a subreg mem is
OK if its address has been partially reloaded by legitimize_reload_address.

PR rtl-optimization/72771
* reload.c (find_reloads): Don't assume that a subreg mem is OK
when find_reloads_toplev returns address_reloaded==-1.
(alternative_allows_const_pool_ref): Update comment.
testsuite/
* gcc.c-torture/compile/pr72771.c: New.

From-SVN: r239549

7 years agoFix invalid dg-do directive
Jonathan Wakely [Wed, 17 Aug 2016 19:58:44 +0000 (20:58 +0100)]
Fix invalid dg-do directive

* testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
directive and use effective target instead of dg-options.

From-SVN: r239548

7 years agoUse effective target instead of -std in dg-options
Jonathan Wakely [Wed, 17 Aug 2016 19:43:13 +0000 (20:43 +0100)]
Use effective target instead of -std in dg-options

* testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
instead of -std in dg-options.
* testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
* testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
* testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
* testsuite/20_util/hash/quality.cc: Likewise.
* testsuite/25_algorithms/heap/moveable.cc: Likewise.
* testsuite/25_algorithms/heap/moveable2.cc: Likewise.
* testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
* testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
* testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
* testsuite/25_algorithms/sort/random_test.cc: Likewise.

From-SVN: r239547

7 years agoAdd c++11 effective target to tests for C++11 features
Jonathan Wakely [Wed, 17 Aug 2016 19:23:15 +0000 (20:23 +0100)]
Add c++11 effective target to tests for C++11 features

* testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
* testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
* testsuite/27_io/rvalue_streams.cc: Likewise.

From-SVN: r239545

7 years agore PR fortran/67496 (trans-array.c sanitizer runtime error: load of value 124, which...
Jakub Jelinek [Wed, 17 Aug 2016 19:08:49 +0000 (21:08 +0200)]
re PR fortran/67496 (trans-array.c sanitizer runtime error: load of value 124, which is not a valid value for type 'bool')

PR fortran/67496
* trans-array.c (trans_array_constructor): Load
expr->ts.u.cl->length_from_typespec only if expr->ts.type is
BT_CHARACTER.

* gfortran.dg/pr67496.f90: New test.

From-SVN: r239544

7 years agoAdd comment explaining why -std=c++14 is needed.
Jonathan Wakely [Wed, 17 Aug 2016 16:09:15 +0000 (17:09 +0100)]
Add comment explaining why -std=c++14 is needed.

* testsuite/26_numerics/complex/literals/types.cc: Add comment.

From-SVN: r239543

7 years agore PR tree-optimization/71752 (ICE in compute_live_loop_exits, at tree-ssa-loop-manip...
Alan Hayward [Wed, 17 Aug 2016 15:31:44 +0000 (15:31 +0000)]
re PR tree-optimization/71752 (ICE in compute_live_loop_exits, at tree-ssa-loop-manip.c:229 w/ -O1 -ftree-vectorize)

2015-08-17  Alan Hayward <alan.hayward@arm.com>

PR tree-optimization/71752
* tree-vect-loop.c (vectorizable_reduction): Keep SLP operand ordering.
* tree-vect-slp.c (vect_get_slp_defs): Handle null operands.

PR tree-optimization/71752
* gcc.dg/vect/pr71752.c: New

From-SVN: r239542

7 years agodec_init_2.f90: Use dg-add-options ieee.
Uros Bizjak [Wed, 17 Aug 2016 14:33:20 +0000 (16:33 +0200)]
dec_init_2.f90: Use dg-add-options ieee.

* gfortran.dg/dec_init_2.f90: Use dg-add-options ieee.

From-SVN: r239540

7 years agogimple-fold.c (gimple_fold_call): Use gimple_call_noreturn_p instead of testing ECF_N...
Jakub Jelinek [Wed, 17 Aug 2016 14:24:53 +0000 (16:24 +0200)]
gimple-fold.c (gimple_fold_call): Use gimple_call_noreturn_p instead of testing ECF_NORETURN bit in gimple_call_flags.

* gimple-fold.c (gimple_fold_call): Use gimple_call_noreturn_p
instead of testing ECF_NORETURN bit in gimple_call_flags.
* tree-cfg.c (make_edges_bb, execute_fixup_cfg): Likewise.
* predict.c (tree_bb_level_predictions): Likewise.
* gimple-low.c (gimple_stmt_may_fallthru): Likewise.

From-SVN: r239539

7 years agoRemove duplicate dg-options directive
Jonathan Wakely [Wed, 17 Aug 2016 14:11:20 +0000 (15:11 +0100)]
Remove duplicate dg-options directive

* testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
Remove duplicate dg-options directive.

From-SVN: r239538

7 years agore PR middle-end/77259 (ICE in emit_move_insn since r232167)
Jakub Jelinek [Wed, 17 Aug 2016 13:56:30 +0000 (15:56 +0200)]
re PR middle-end/77259 (ICE in emit_move_insn since r232167)

PR middle-end/77259
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): If
turning a call into __builtin_unreachable-like noreturn call, adjust
gimple_call_set_fntype.
* tree-cfgcleanup.c (fixup_noreturn_call): Remove lhs also if
gimple_call_fntype has void return type.

* g++.dg/ipa/devirt-52.C: New test.

From-SVN: r239537

7 years agoAdjust DG directives in libstdc++ Profile Mode test
Jonathan Wakely [Wed, 17 Aug 2016 13:39:14 +0000 (14:39 +0100)]
Adjust DG directives in libstdc++ Profile Mode test

* testsuite/ext/profile/all.cc: Use effective target instead of
-std=gnu++11. Use dg-additional-options instead of repeating options.

From-SVN: r239536

7 years agoAdjust DG directives in libstdc++ XFAIL test
Jonathan Wakely [Wed, 17 Aug 2016 13:39:10 +0000 (14:39 +0100)]
Adjust DG directives in libstdc++ XFAIL test

* testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
-std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
instead of dg-excess-errors.

From-SVN: r239535

7 years agoAdjust testcases for C++17 compatibility
Jonathan Wakely [Wed, 17 Aug 2016 13:39:05 +0000 (14:39 +0100)]
Adjust testcases for C++17 compatibility

* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
test for C++17.
* testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
* testsuite/experimental/ratio/value.cc: Likewise.
* testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
C++17.
* testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
C++17 compatibility.

From-SVN: r239534

7 years agoAdjust testcase for C++14 compatibility
Jonathan Wakely [Wed, 17 Aug 2016 13:38:58 +0000 (14:38 +0100)]
Adjust testcase for C++14 compatibility

* testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
expected signatures for C++14 compatibility.

From-SVN: r239533

7 years agoPR 77264 constrain new std::basic_string overloads
Jonathan Wakely [Wed, 17 Aug 2016 13:38:52 +0000 (14:38 +0100)]
PR 77264 constrain new std::basic_string overloads

PR libstdc++/77264
* include/bits/basic_string.h (operator=(__sv_type)
(append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
(replace(size_type, size_type, __sv_type))
(replace(const_iterator, const_iterator, __sv_type))
(find(__sv_type, size_type), rfind(__sv_type, size_type))
(compare(size_type, size_type, __sv_type)): Reformat.
(_If_sv): Define helper for SFINAE constaints.
(append(const _Tp&, size_type, size_type))
(assign(const _Tp&, size_type, size_type))
(insert(size_type, const _Tp&, size_type, size_type))
(replace(size_type, size_type, const _Tp&, size_type, size_type)):
Use _If_sv.
* testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
SFINAE constraints.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
Likewise.

From-SVN: r239532

7 years agoomp-low.c (lower_oacc_reductions): Adjust variable lookup to use maybe_lookup_decl...
Chung-Lin Tang [Wed, 17 Aug 2016 12:08:30 +0000 (12:08 +0000)]
omp-low.c (lower_oacc_reductions): Adjust variable lookup to use maybe_lookup_decl...

2016-08-17  Chung-Lin Tang  <cltang@codesourcery.com>

* omp-low.c (lower_oacc_reductions): Adjust variable lookup to use
maybe_lookup_decl, to handle nested acc loop directives.

testsuite/
* c-c++-common/goacc/reduction-6.c: New testcase.

From-SVN: r239530

7 years agore PR tree-optimization/76490 (when use -O2 -fcheck-founds compiler appears to hang...
Richard Biener [Wed, 17 Aug 2016 11:51:51 +0000 (11:51 +0000)]
re PR tree-optimization/76490 (when use -O2 -fcheck-founds compiler appears to hang and consumes all memory)

2016-08-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/76490
* tree-vrp.c (update_value_range): Preserve overflow infinities
when intersecting with ranges from get_range_info.
(operand_less_p): Handle overflow infinities correctly.
(value_range_constant_singleton): Use vrp_operand_equal_p
to handle overflow max/min correctly.
(vrp_valueize): Likewise.
(union_ranges): Likewise.
(intersect_ranges): Likewise.
(vrp_visit_phi_node): Improve iteration limitation to only
apply when we'll possibly re-visit the PHI via a changed argument
on the backedge.

* gfortran.fortran-torture/compile/pr76490.f90: New testcase.
* gcc.dg/pr52904.c: XFAIL.

From-SVN: r239529

7 years agot-aprofile (MULTILIB_EXCEPTIONS): Rewrite into ...
Thomas Preud'homme [Wed, 17 Aug 2016 11:15:29 +0000 (11:15 +0000)]
t-aprofile (MULTILIB_EXCEPTIONS): Rewrite into ...

2016-08-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/t-aprofile (MULTILIB_EXCEPTIONS): Rewrite into ...
    (MULTILIB_REQUIRED): This by specifying multilib needing to be built
    rather than those that should not be built.

From-SVN: r239528

7 years agomark_spam.py: Mark as spam all comments done by a creator
Martin Liska [Wed, 17 Aug 2016 10:30:54 +0000 (12:30 +0200)]
mark_spam.py: Mark as spam all comments done by a creator

* mark_spam.py: Mark as spam all comments done by a creator.

From-SVN: r239527

7 years agoDocument branch_changer.py script
Martin Liska [Wed, 17 Aug 2016 10:30:37 +0000 (12:30 +0200)]
Document branch_changer.py script

* branch_changer.py: Describe the script. Add sample usage
of the script.

From-SVN: r239526

7 years ago016-08-17 Stanislaw Halik <sthalik@misaki.pl>
Stanislaw Halik [Wed, 17 Aug 2016 09:34:52 +0000 (11:34 +0200)]
016-08-17  Stanislaw Halik  <sthalik@misaki.pl>

        PR target/66488
        * config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Define if __x86_64__.

From-SVN: r239525

7 years agotree-ssa.c: Include tree-cfg.h and tree-dfa.h.
Richard Biener [Wed, 17 Aug 2016 08:18:47 +0000 (08:18 +0000)]
tree-ssa.c: Include tree-cfg.h and tree-dfa.h.

2016-08-17  Richard Biener  <rguenther@suse.de>

* tree-ssa.c: Include tree-cfg.h and tree-dfa.h.
(verify_vssa): New function verifying virtual SSA form.
(verify_ssa): Call it.
* tree-ssa-loop-manip.c (slpeel_update_phi_nodes_for_guard2):
Do not apply loop-closed SSA handling to virtuals.
* ssa-iterators.h (op_iter_init): Handle GIMPLE_TRANSACTION.
* tree-into-ssa.c (prepare_use_sites_for): Skip virtual SSA names
when rewriting their symbol.
(prepare_def_site_for): Likewise.
* tree-chkp-opt.c (chkp_reduce_bounds_lifetime): Clear virtual
operands of moved stmts.

From-SVN: r239524

7 years agore PR tree-optimization/23855 (loop header should also be pulled out of the inner...
Richard Biener [Wed, 17 Aug 2016 08:11:32 +0000 (08:11 +0000)]
re PR tree-optimization/23855 (loop header should also be pulled out of the inner loop too)

2016-08-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/23855
* tree-ssa-loop-unswitch.c: Include tree-ssa-loop-manip.h.
(tree_unswitch_outer_loop): Iterate find_loop_guard as long as we
find guards to hoist.  Do not update SSA form but rewrite virtuals
into loop closed SSA.
(find_loop_guard): Adjust to skip already hoisted guards.  Do
not mark virtuals for renaming or update SSA form.

* gcc.dg/loop-unswitch-2.c: Adjust.

From-SVN: r239523

7 years agoDo not use LONG_LONG_TYPE_SIZE in #if macro condition
Martin Liska [Wed, 17 Aug 2016 06:55:35 +0000 (08:55 +0200)]
Do not use LONG_LONG_TYPE_SIZE in #if macro condition

* coverage.c (get_gcov_type): Replace GCOV_TYPE_SIZE with
a LONG_LONG_TYPE_SIZE comparison.
* gcov-io.h: Remove macro definitions.
* tree-profile.c (gimple_gen_edge_profiler): Replace usage
of GCOV_TYPE_ATOMIC_FETCH_ADD with a LONG_LONG_TYPE_SIZE
comparison.

From-SVN: r239522

7 years agoDaily bump.
GCC Administrator [Wed, 17 Aug 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239518

7 years agore PR tree-optimization/72817 (wrong code at -O3 on x86_64-linux-gnu (in both 32...
Jakub Jelinek [Tue, 16 Aug 2016 22:06:45 +0000 (00:06 +0200)]
re PR tree-optimization/72817 (wrong code at -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes))

PR tree-optimization/72817
* gcc.dg/tree-ssa/pr72817.c (a): Change type from char to signed char.

From-SVN: r239514

7 years agoUpdate soft-fp from glibc (PR libgcc/77265).
Joseph Myers [Tue, 16 Aug 2016 21:30:56 +0000 (22:30 +0100)]
Update soft-fp from glibc (PR libgcc/77265).

This patch updates soft-fp from glibc, bringing in the fix for PR
libgcc/77265, XFmode extension to TFmode wrongly turning an infinity
into a NaN.  A test for that bug is added.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

PR libgcc/77265
gcc/testsuite:
* gcc.dg/torture/float128-extend-inf.c: New test.

libgcc:
* soft-fp/adddf3.c: Update from glibc.
* soft-fp/addsf3.c: Likewise.
* soft-fp/addtf3.c: Likewise.
* soft-fp/divdf3.c: Likewise.
* soft-fp/divsf3.c: Likewise.
* soft-fp/divtf3.c: Likewise.
* soft-fp/double.h: Likewise.
* soft-fp/eqdf2.c: Likewise.
* soft-fp/eqsf2.c: Likewise.
* soft-fp/eqtf2.c: Likewise.
* soft-fp/extenddftf2.c: Likewise.
* soft-fp/extended.h: Likewise.
* soft-fp/extendsfdf2.c: Likewise.
* soft-fp/extendsftf2.c: Likewise.
* soft-fp/extendxftf2.c: Likewise.
* soft-fp/fixdfdi.c: Likewise.
* soft-fp/fixdfsi.c: Likewise.
* soft-fp/fixdfti.c: Likewise.
* soft-fp/fixsfdi.c: Likewise.
* soft-fp/fixsfsi.c: Likewise.
* soft-fp/fixsfti.c: Likewise.
* soft-fp/fixtfdi.c: Likewise.
* soft-fp/fixtfsi.c: Likewise.
* soft-fp/fixtfti.c: Likewise.
* soft-fp/fixunsdfdi.c: Likewise.
* soft-fp/fixunsdfsi.c: Likewise.
* soft-fp/fixunsdfti.c: Likewise.
* soft-fp/fixunssfdi.c: Likewise.
* soft-fp/fixunssfsi.c: Likewise.
* soft-fp/fixunssfti.c: Likewise.
* soft-fp/fixunstfdi.c: Likewise.
* soft-fp/fixunstfsi.c: Likewise.
* soft-fp/fixunstfti.c: Likewise.
* soft-fp/floatdidf.c: Likewise.
* soft-fp/floatdisf.c: Likewise.
* soft-fp/floatditf.c: Likewise.
* soft-fp/floatsidf.c: Likewise.
* soft-fp/floatsisf.c: Likewise.
* soft-fp/floatsitf.c: Likewise.
* soft-fp/floattidf.c: Likewise.
* soft-fp/floattisf.c: Likewise.
* soft-fp/floattitf.c: Likewise.
* soft-fp/floatundidf.c: Likewise.
* soft-fp/floatundisf.c: Likewise.
* soft-fp/floatunditf.c: Likewise.
* soft-fp/floatunsidf.c: Likewise.
* soft-fp/floatunsisf.c: Likewise.
* soft-fp/floatunsitf.c: Likewise.
* soft-fp/floatuntidf.c: Likewise.
* soft-fp/floatuntisf.c: Likewise.
* soft-fp/floatuntitf.c: Likewise.
* soft-fp/gedf2.c: Likewise.
* soft-fp/gesf2.c: Likewise.
* soft-fp/getf2.c: Likewise.
* soft-fp/ledf2.c: Likewise.
* soft-fp/lesf2.c: Likewise.
* soft-fp/letf2.c: Likewise.
* soft-fp/muldf3.c: Likewise.
* soft-fp/mulsf3.c: Likewise.
* soft-fp/multf3.c: Likewise.
* soft-fp/negdf2.c: Likewise.
* soft-fp/negsf2.c: Likewise.
* soft-fp/negtf2.c: Likewise.
* soft-fp/op-1.h: Likewise.
* soft-fp/op-2.h: Likewise.
* soft-fp/op-4.h: Likewise.
* soft-fp/op-8.h: Likewise.
* soft-fp/op-common.h: Likewise.
* soft-fp/quad.h: Likewise.
* soft-fp/single.h: Likewise.
* soft-fp/soft-fp.h: Likewise.
* soft-fp/subdf3.c: Likewise.
* soft-fp/subsf3.c: Likewise.
* soft-fp/subtf3.c: Likewise.
* soft-fp/truncdfsf2.c: Likewise.
* soft-fp/trunctfdf2.c: Likewise.
* soft-fp/trunctfsf2.c: Likewise.
* soft-fp/trunctfxf2.c: Likewise.
* soft-fp/unorddf2.c: Likewise.
* soft-fp/unordsf2.c: Likewise.
* soft-fp/unordtf2.c: Likewise.

From-SVN: r239513

7 years agoi386.c (enum ix86_builtins): Reorder enumerators...
Jakub Jelinek [Tue, 16 Aug 2016 19:27:41 +0000 (21:27 +0200)]
i386.c (enum ix86_builtins): Reorder enumerators...

* config/i386/i386.c (enum ix86_builtins): Reorder enumerators, so
that builtins not mentioned in bdesc_* arrays come first, then
the ones mentioned in bdesc_* arrays in the order they appear in
the arrays in between IX86_BUILTIN__BDESC_*_FIRST and
IX86_BUILTIN__BDESC_*_LAST enumerator.
(bdesc_mpx): Fix up a comment typo.
(bdesc_multi_arg): Remove __builtin_ia32_vpcomne[bwdq] and
__builtin_ia32_vpcomneu[bwdq] builtins.
(BDESC_VERIFY, BDESC_VERIFYS): Define.
(ix86_init_mmx_sse_builtins, ix86_init_mpx_builtins): Verify
enum ix86_builtins ordering.
(ix86_expand_builtin): Use enum ix86_builtins ordering assumption
for direct bdesc_* array member access instead of searching all the
arrays until an fcode match is found.

From-SVN: r239512

7 years agoi386.md (*ashl<mode>3_mask): Rewrite define_insn pattern as define_insn_and_split.
Uros Bizjak [Tue, 16 Aug 2016 18:23:47 +0000 (20:23 +0200)]
i386.md (*ashl<mode>3_mask): Rewrite define_insn pattern as define_insn_and_split.

* config/i386/i386.md (*ashl<mode>3_mask): Rewrite define_insn
pattern as define_insn_and_split.  Split insn before reload to
ashl<mode>3_1.
(*<shift_insn><mode>3_mask): Ditto.  Split insn before reload to
<shift_insn><mode>3_1.
(*<rotate_insn><mode>3_mask): Ditto.  Split insn before reload to
<rotate_insn><mode>3_1.

From-SVN: r239511

7 years agoFix caret locations in format_type_warning (PR c/72857)
David Malcolm [Tue, 16 Aug 2016 18:19:34 +0000 (18:19 +0000)]
Fix caret locations in format_type_warning (PR c/72857)

gcc/c-family/ChangeLog:
PR c/72857
* c-common.c (substring_loc::get_range): Rename to...
(substring_loc::get_location): ...this, converting param from a
source_range * to a location_t *.  Call
get_source_location_for_substring rather than
get_source_range_for_substring, and pass in m_caret_idx.
* c-common.h (substring_loc::substring_loc): Add param "caret_idx".
(substring_loc::get_range): Replace with...
(substring_loc::get_location): ...this.
(substring_loc::set_caret_index): New method.
(substring_loc): Add field m_caret_idx.
* c-format.c (format_warning_va): Update for above changes.
Rename local "substring_loc" to "fmt_substring_loc" to avoid
clashing with type name.
(format_warning_at_char): Add caret_idx param to substring_loc ctor.
(check_argument_type): Likewise.
(format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
Use a copy when emitting warnings, setting the caret index from TYPE.

gcc/ChangeLog:
PR c/72857
* input.c (get_source_range_for_substring): Rename to...
(get_source_location_for_substring): ...this, adding param
"caret_idx", and converting output param from source_range * to
location_t *.
(get_source_range_for_char): New function.
(get_num_source_ranges_for_substring): Update comment to reflect
above renaming.
(assert_char_at_range): Update to use get_source_range_for_char
rather than get_source_range_for_substring.
(test_lexer_string_locations_concatenation_2): Likewise.
* substring-locations.h (get_source_range_for_substring): Rename
to...
(get_source_location_for_substring): ...this, and adding param
"caret_idx", and converting output param from source_range * to
location_t *.

gcc/testsuite/ChangeLog:
PR c/72857
* gcc.dg/format/asm_fprintf-1.c: Restore column numbers
for embedded NUL.
* gcc.dg/format/c90-printf-1.c: Restore column numbers.
* gcc.dg/format/diagnostic-ranges.c (test_hex): Update expected
caret placement.
(test_oct): Likewise.
(test_multiple): Likewise.
(test_field_width_specifier): Likewise.
(test_field_width_specifier_2): New function.
(test_field_precision_specifier): New function.
(test_embedded_nul): Update expected caret placement.
(test_non_contiguous_strings): Update line number.
* gcc.dg/plugin/diagnostic-test-string-literals-1.c
(__emit_string_literal_range): Add "caret_idx" param.
(test_simple_string_literal): Add value for new param, updating
expected output..
(test_concatenated_string_literal): Likewise.
(test_multiline_string_literal): Likewise.
(test_hex): Likewise.
(test_oct): Likewise.
(test_multiple): Likewise.
(test_ucn4): Likewise.
(test_ucn8): Likewise.
(test_u8): Likewise.
(test_u): Likewise; update expected message, from "range" to
"location".
(test_U): Likewise.
(test_L): Likewise.
(test_macro): Add value for new param.
* gcc.dg/plugin/diagnostic-test-string-literals-2.c
(__emit_string_literal_range): Add "caret_idx" param.
(test_stringified_token_1): Add value for new param.  Update
expected message, from "range" to "location".
(test_stringized_token_2): Likewise, adding param to macro.
(test_stringified_token_3): Likewise.
* gcc.dg/plugin/diagnostic_plugin_test_string_literals.c
(emit_warning): Convert param from source_range to location_t.
(test_string_literals): Add caret_idx param, and use it when
constructing a substring_loc.  Update error message, from
"range" to "location".

From-SVN: r239510

7 years agoMove class temp_source_file from input.c to selftest.c/h
David Malcolm [Tue, 16 Aug 2016 18:02:43 +0000 (18:02 +0000)]
Move class temp_source_file from input.c to selftest.c/h

gcc/ChangeLog:
* input.c (class selftest::temp_source_file): Move to
selftest.h.
(selftest::temp_source_file::temp_source_file): Move to
selftest.c.
(selftest::temp_source_file::~temp_source_file): Likewise.
* selftest.c (selftest::temp_source_file::temp_source_file): Move
here from input.c.
(selftest::temp_source_file::~temp_source_file): Likewise.
* selftest.h (class selftest::temp_source_file): Move here from
input.c

From-SVN: r239509

7 years agore PR target/71910 (ICE on valid OpenMP code)
Jakub Jelinek [Tue, 16 Aug 2016 16:50:47 +0000 (18:50 +0200)]
re PR target/71910 (ICE on valid OpenMP code)

PR target/71910
* tree-cfg.c (execute_fixup_cfg): Add node variable, use it.  Before inlining,
add cgraph edge for the added __builtin_unreachable call.

* g++.dg/gomp/pr71910.C: New test.

From-SVN: r239508

7 years agore PR middle-end/67485 (expmed.c sanitizer detects overflow)
Jakub Jelinek [Tue, 16 Aug 2016 16:48:16 +0000 (18:48 +0200)]
re PR middle-end/67485 (expmed.c sanitizer detects overflow)

PR middle-end/67485
* expmed.c (expand_mult_const): Change val_so_far's type to UHWI,
only cast it to SHWI for the final comparison.

* gcc.c-torture/compile/pr67485.c: New test.

From-SVN: r239507

7 years agore PR target/72867 (SSE/AVX/AVX512: incorrect optimization of VMINPS/VMAXPS at compil...
Jakub Jelinek [Tue, 16 Aug 2016 16:23:46 +0000 (18:23 +0200)]
re PR target/72867 (SSE/AVX/AVX512: incorrect optimization of VMINPS/VMAXPS at compile time)

PR target/72867
* gcc.target/i386/pr72867.c: Add -msse to dg-options.

From-SVN: r239505

7 years agogcov: add new option (--hash-filenames) (PR
Martin Liska [Tue, 16 Aug 2016 14:14:18 +0000 (16:14 +0200)]
gcov: add new option (--hash-filenames) (PR

PR gcov-profile/36412
* doc/gcov.texi: Document --hash-filenames(-x).
* gcov.c (print_usage): Add the option.
(process_args): Process the option, sort options alphabetically.
(md5sum_to_hex): New function.
(make_gcov_file_name): Do the md5sum and append it to a
filename.

From-SVN: r239503

7 years agore PR tree-optimization/69848 (poor vectorization of a loop from SPEC2006 464.h264ref)
Bin Cheng [Tue, 16 Aug 2016 13:09:40 +0000 (13:09 +0000)]
re PR tree-optimization/69848 (poor vectorization of a loop from SPEC2006 464.h264ref)

PR tree-optimization/69848
* config/aarch64/aarch64-simd.md (vcond<mode><mode>): Invert NE
and swtich operands to avoid additional NOT instruction.
(vcond<v_cmp_mixed><mode>): Ditto.
(vcondu<mode><mode>, vcondu<mode><v_cmp_mixed>): Ditto.

gcc/testsuite
* gcc.target/aarch64/simd/vcond-ne-bit.c: New test.

From-SVN: r239502

7 years ago* doc/install.texi (*-*-solaris2*): Adjust latest change.
Eric Botcazou [Tue, 16 Aug 2016 12:43:12 +0000 (12:43 +0000)]
* doc/install.texi (*-*-solaris2*): Adjust latest change.

From-SVN: r239499

7 years agoFix val-prof-7.c on --target_board 'unix/-m32'
Martin Liska [Tue, 16 Aug 2016 12:28:46 +0000 (14:28 +0200)]
Fix val-prof-7.c on --target_board 'unix/-m32'

* gcc.dg/tree-prof/val-prof-7.c (int main): Change size
of memory operations so that it can be handled by core2
in 32-bit mode.

From-SVN: r239498

7 years agoPR 72847 Prevent double-free in std::vector<bool>
Jonathan Wakely [Tue, 16 Aug 2016 11:33:16 +0000 (12:33 +0100)]
PR 72847 Prevent double-free in std::vector<bool>

PR libstdc++/72847
* include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
pointers to start and end of storage.
* testsuite/23_containers/vector/bool/72847.cc: New test.
* include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
_M_finish after deallocating.
(vector<bool>::_M_fill_insert): Likewise.
(vector<bool>::_M_insert_range): Likewise.
(vector<bool>::_M_insert_aux): Likewise.

From-SVN: r239497

7 years agore PR tree-optimization/76783 (wrong code with conditional vector assignment @ -Og)
Richard Biener [Tue, 16 Aug 2016 11:22:47 +0000 (11:22 +0000)]
re PR tree-optimization/76783 (wrong code with conditional vector assignment @ -Og)

2016-08-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/76783
* tree-ssa-propagate.c (ssa_prop_init): Use RPO order.  Clear
BB visited flags at start.

* gcc.dg/pr76783.c: New testcase.
* gcc.dg/tree-ssa/pr69270-2.c: Adjust.

From-SVN: r239496

7 years agore PR tree-optimization/72817 (wrong code at -O3 on x86_64-linux-gnu (in both 32...
Bin Cheng [Tue, 16 Aug 2016 09:13:50 +0000 (09:13 +0000)]
re PR tree-optimization/72817 (wrong code at -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes))

PR tree-optimization/72817
PR tree-optimization/73450
* tree-ssa-loop-niter.c (number_of_iterations_ne): Check
multiple_of_p for adjusted IV.base.

gcc/testsuite
* gcc.dg/tree-ssa/pr72817.c: New test.
* gcc.dg/tree-ssa/pr73450.c: New test.

From-SVN: r239494

7 years agoDaily bump.
GCC Administrator [Tue, 16 Aug 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239492

7 years agolang.opt, [...]: New flag -finit-derived.
Fritz Reese [Mon, 15 Aug 2016 21:19:09 +0000 (21:19 +0000)]
lang.opt, [...]: New flag -finit-derived.

2016-08-15  Fritz Reese  <fritzoreese@gmail.com>

gcc/fortran/
* lang.opt, invoke.texi: New flag -finit-derived.
* gfortran.h (gfc_build_default_init_expr, gfc_apply_init,
gfc_generate_initializer): New prototypes.
* expr.c (gfc_build_default_init_expr, gfc_apply_init,
component_initializer, gfc_generate_initializer): New functions.
* expr.c (gfc_default_initializer): Wrap gfc_generate_initializer.
* decl.c (build_struct): Move common code to gfc_apply_init.
* resolve.c (can_generate_init): New function.
* resolve.c (build_default_init_expr): Wrap gfc_build_default_init_expr.
* resolve.c (apply_default_init, resolve_fl_variable_derived): Use
gfc_generate_initializer.
* trans-decl.c (gfc_generate_function_code): Use
gfc_generate_initializer.

gcc/testsuite/gfortran.dg/
* init_flag_13.f90: New testcase.
* init_flag_14.f90: Ditto.
* init_flag_15.f03: Ditto.
* dec_init_1.f90: Ditto.
* dec_init_2.f90: Ditto.

From-SVN: r239489

7 years agofrontend-passes.c (create_var): Set ts.deferred for deferred-length character variables.
Thomas Koenig [Mon, 15 Aug 2016 19:34:48 +0000 (19:34 +0000)]
frontend-passes.c (create_var): Set ts.deferred for deferred-length character variables.

2016-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

* frontend-passes.c (create_var):  Set ts.deferred for
deferred-length character variables.
* dump-parse-tree.c (show_typespec):  Also dump
is_c_interop, is_iso_c and deferred flags.

From-SVN: r239488

7 years agore PR target/72867 (SSE/AVX/AVX512: incorrect optimization of VMINPS/VMAXPS at compil...
Uros Bizjak [Mon, 15 Aug 2016 18:46:53 +0000 (20:46 +0200)]
re PR target/72867 (SSE/AVX/AVX512: incorrect optimization of VMINPS/VMAXPS at compile time)

PR target/72867
* config/i386/sse.md (<code><mode>3<mask_name><round_saeonly_name>):
Emit ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>
for !flag_finite_math_only or flag_signed_zeros.
(*<code><mode>3<mask_name><round_saeonly_name>): Rename from
*<code><mode>3_finite<mask_name><round_saeonly_name>.  Do not
depend on flag_finite_math_only.
(ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>):
New insn pattern.
(*<code><mode>3<mask_name><round_saeonly_name>): Remove.
(*ieee_smin<mode>3): Ditto.
(*ieee_smax<mode>3): Ditto.
* config/i386/mmx.md (mmx_<code>v2sf3): Emit
mmx_ieee_<ieee_maxmin>v2sf3 for !flag_finite_math_only or
flag_signed_zeros.
(*mmx_<code>v2sf3): Rename from *mmx_<code>v2sf3_finite.  Do not
depend on flag_finite_math_only.
(mmx_ieee_<ieee_maxmin>v2sf3): New insn pattern.
(*mmx_<code>v2sf3): Remove.
* config/i386/subst.md (round_saeonly_mask_arg3): New subst attribute.
* config/i386/i386.c (ix86_expand_sse_fp_mimnax): Check
flag_signed_zeros instead of !flag_unsafe_math_optimizations.

testsuite/ChangeLog:

PR target/72867
* gcc.target/i386/pr72867.c: New test.

From-SVN: r239487

7 years agocmd/go: ignore errors from go/build for standard packages
Ian Lance Taylor [Mon, 15 Aug 2016 18:05:24 +0000 (18:05 +0000)]
cmd/go: ignore errors from go/build for standard packages

    The go/build package does not know that gccgo's standard packages don't
    have source, and will report an error saying that it can not find them.
    Work around that in the cmd/go sources, since the go/build sources don't
    currently have a list of standard packages.

    This should get a real fix in the master sources, somehow.

    Fixes golang/go#16701.

    Reviewed-on: https://go-review.googlesource.com/27052

From-SVN: r239486

7 years agolra: A multiple_sets is not a simple_move_p (PR73650)
Segher Boessenkool [Mon, 15 Aug 2016 16:17:21 +0000 (18:17 +0200)]
lra: A multiple_sets is not a simple_move_p (PR73650)

In the PR we have a PARALLEL of a move and a compare (a "mr." instruction).
The compare is dead, so single_set on it returns just the move.  Then,
simple_move_p returns true; but the instruction does need reloads in this
case.  This patch solves this by making simple_move_p return false for
every multiple_sets instruction.

PR rtl-optimization/73650
* lra-constraints.c (simple_move_p): If the insn is multiple_sets
it is not a simple move.

From-SVN: r239483

7 years agoImplement LWG 2744 and LWG 2754.
Ville Voutilainen [Mon, 15 Aug 2016 15:06:09 +0000 (18:06 +0300)]
Implement LWG 2744 and LWG 2754.

* include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
(any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
(any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
Likewise.
(emplace(_Args&&...)): Likewise.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/utility: (__is_in_place_type_impl): New.
(__is_in_place_type): Likewise.
* testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
emplace.
* testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
in_place constructor.
* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
* testsuite/20_util/any/requirements.cc: Add a test for
in_place-constructing a non-default-constructible type.

From-SVN: r239482

7 years agoc-ada-spec.c (dump_number): New function.
Eric Botcazou [Mon, 15 Aug 2016 13:05:37 +0000 (13:05 +0000)]
c-ada-spec.c (dump_number): New function.

* c-ada-spec.c (dump_number): New function.
(handle_escape_character): Likewise.
(print_ada_macros): Add handling of constant integers and strings.

Co-Authored-By: Arnaud Charlet <charlet@adacore.com>
From-SVN: r239481

7 years agoAdd a feature macro for C++17 make_from_tuple.
Ville Voutilainen [Mon, 15 Aug 2016 12:46:47 +0000 (15:46 +0300)]
Add a feature macro for C++17 make_from_tuple.

* include/std/tuple (__cpp_lib_make_from_tuple): New.
* testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.

From-SVN: r239480

7 years agoops.cc: Always include ostream and ext/stdio_filebuf.h.
Uros Bizjak [Mon, 15 Aug 2016 11:40:37 +0000 (13:40 +0200)]
ops.cc: Always include ostream and ext/stdio_filebuf.h.

* src/filesystem/ops.cc: Always include ostream and
ext/stdio_filebuf.h.
(do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
[_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
sendfile fails with ENOSYS or EINVAL.

From-SVN: r239479

7 years agogcov-tool: Do not segfault in merge operation (PR
Gilles Gouaillardet [Mon, 15 Aug 2016 11:23:27 +0000 (11:23 +0000)]
gcov-tool: Do not segfault in merge operation (PR

PR gcov-profile/67097
* libgcov-util.c (gcov_profile_merge): Skip missing files.

From-SVN: r239478

7 years agoFix invalid memory access in gcc.c (driver/72765)
Martin Liska [Mon, 15 Aug 2016 11:16:50 +0000 (13:16 +0200)]
Fix invalid memory access in gcc.c (driver/72765)

PR driver/72765
* gcc.c (do_spec_1): Call save_string with the right size.
(save_string): Do an assert about string we copy.

From-SVN: r239475

7 years agoree.c (rest_of_handle_ree): Remove redundant timevar push/pop.
Richard Biener [Mon, 15 Aug 2016 11:07:52 +0000 (11:07 +0000)]
ree.c (rest_of_handle_ree): Remove redundant timevar push/pop.

2016-08-15  Richard Biener  <rguenther@suse.de>

* ree.c (rest_of_handle_ree): Remove redundant timevar push/pop.
* config/i386/i386.c (pass_data_insert_vzeroupper): Account to
TV_MACH_DEP.
(pass_data_stv): Likewise.

From-SVN: r239474

7 years agore PR tree-optimization/73434 (Wrong code with casting, branches and aliasing)
Richard Biener [Mon, 15 Aug 2016 09:56:00 +0000 (09:56 +0000)]
re PR tree-optimization/73434 (Wrong code with casting, branches and aliasing)

2016-08-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/73434
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Preserve
TBAA info on the base when forwarding a non-invariant address.

* gcc.dg/torture/pr73434.c: New testcase.

From-SVN: r239471

7 years agodwarf2.def (DW_AT_string_length_bit_size, [...]): New attributes.
Jakub Jelinek [Mon, 15 Aug 2016 09:51:44 +0000 (11:51 +0200)]
dwarf2.def (DW_AT_string_length_bit_size, [...]): New attributes.

* dwarf2.def (DW_AT_string_length_bit_size,
DW_AT_string_length_byte_size): New attributes.

* dwarf2out.c (struct checksum_attributes): Add
at_string_length_bit_size and at_string_length_byte_size fields.
(collect_checksum_attributes): Handle DW_AT_string_length_bit_size
and DW_AT_string_length_byte_size.
(die_checksum_ordered): Handle at_string_length_bit_size and
at_string_length_byte_size.
(gen_array_type_die): For dwarf_version >= 5 emit
DW_AT_string_length_byte_size instead of DW_AT_byte_size.
(adjust_string_types): For dwarf_version >= 5 remove
DW_AT_string_length_byte_size instead of DW_AT_byte_size.
(resolve_addr): Likewise.

From-SVN: r239470

7 years agore PR debug/71906 (Fortran allocatable strings debug info type size regression)
Jakub Jelinek [Mon, 15 Aug 2016 09:50:33 +0000 (11:50 +0200)]
re PR debug/71906 (Fortran allocatable strings debug info type size regression)

PR debug/71906
* dwarf2out.c (string_types): New variable.
(gen_array_type_die): Change early_dwarf handling of
DW_AT_string_length, create DW_OP_call4 referencing the
length var temporarily.  Handle parameters that are pointers
to string length.
(adjust_string_types): New function.
(gen_subprogram_die): Temporarily set string_types to local var,
call adjust_string_types if needed.
(non_dwarf_expression, copy_deref_exprloc, optimize_string_length):
New functions.
(resolve_addr): Adjust DW_AT_string_length if it is DW_OP_call4.

* trans-decl.c (gfc_get_symbol_decl): Call gfc_finish_var_decl
for decl's character length before gfc_finish_var_decl on the
decl itself.

From-SVN: r239469

7 years agoEnhance mark_spam.py script
Martin Liska [Mon, 15 Aug 2016 09:30:44 +0000 (11:30 +0200)]
Enhance mark_spam.py script

* mark_spam.py: Add error handling and reset
another properties of attachments and bugs.

From-SVN: r239467

7 years agoinstall.texi (*-*-solaris2*): Fix version number and document requirement on GNU...
Eric Botcazou [Mon, 15 Aug 2016 09:16:17 +0000 (09:16 +0000)]
install.texi (*-*-solaris2*): Fix version number and document requirement on GNU make for building libjava...

* doc/install.texi (*-*-solaris2*): Fix version number and document
requirement on GNU make for building libjava with the Solaris linker.

From-SVN: r239464

7 years agore PR testsuite/72840 (PASS->NA: 20_util/ratio/cons/cons_overflow_neg.cc)
Thomas Preud'homme [Mon, 15 Aug 2016 09:14:15 +0000 (09:14 +0000)]
re PR testsuite/72840 (PASS->NA: 20_util/ratio/cons/cons_overflow_neg.cc)

2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    PR libstdc++/72840
    * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
    syntax.

From-SVN: r239463

7 years agore PR tree-optimization/72824 (Signed floating point zero semantics broken at optimiz...
Jakub Jelinek [Mon, 15 Aug 2016 08:31:05 +0000 (10:31 +0200)]
re PR tree-optimization/72824 (Signed floating point zero semantics broken at optimization level -O3 (tree-loop-distribute-patterns))

PR tree-optimization/72824
* tree-loop-distribution.c (const_with_all_bytes_same)
<case VECTOR_CST>: Fix a typo.

* gcc.c-torture/execute/ieee/pr72824-2.c: New test.

From-SVN: r239461

7 years agoDaily bump.
GCC Administrator [Mon, 15 Aug 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239460

8 years agore PR fortran/70598 (Fortran OpenACC host_data construct ICE)
Chung-Lin Tang [Sun, 14 Aug 2016 18:19:10 +0000 (18:19 +0000)]
re PR fortran/70598 (Fortran OpenACC host_data construct ICE)

2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>

PR fortran/70598

gcc/fortran/
* openmp.c (resolve_omp_clauses): Adjust use_device clause
handling to only allow pointers and arrays.

gcc/testsuite/
* gfortran.dg/goacc/host_data-tree.f95: Adjust to use pointers
in use_device clause.
* gfortran.dg/goacc/uninit-use-device-clause.f95: Likewise.
* gfortran.dg/goacc/list.f95: Adjust to catch
"neither a POINTER nor an array" error messages.

libgomp/
* testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.

From-SVN: r239457

8 years agoavx512ifmaintrin.h: Fix whitespace.
Uros Bizjak [Sun, 14 Aug 2016 12:37:49 +0000 (14:37 +0200)]
avx512ifmaintrin.h: Fix whitespace.

* config/i386/avx512ifmaintrin.h: Fix whitespace.
* config/i386/avx512ifmavlintrin.h: Ditto.
* config/i386/avx512vbmiintrin.h: Ditto.
* config/i386/avx512vbmivlintrin.h: Ditto.
* config/i386/avx512vlbwintrin.h: Ditto.
* config/i386/avx512vldqintrin.h: Ditto.
* config/i386/avx512vlintrin.h: Ditto.

From-SVN: r239455

8 years agoavx512bwintrin.h: Whitespace fixes.
Uros Bizjak [Sun, 14 Aug 2016 11:48:36 +0000 (13:48 +0200)]
avx512bwintrin.h: Whitespace fixes.

* config/i386/avx512bwintrin.h: Whitespace fixes.
* config/i386/avx512dqintrin.h: Ditto.

From-SVN: r239454

8 years agore PR target/76342 (AVX512: _mm512_undefined_epi32() intrinsic missing (incorrectly...
Uros Bizjak [Sun, 14 Aug 2016 11:24:18 +0000 (13:24 +0200)]
re PR target/76342 (AVX512: _mm512_undefined_epi32() intrinsic missing (incorrectly named _mm512_undefined_si512))

PR target/76342
* config/i386/avx512fintrin.h (_mm512_undefined_epi32):
Renamed from _mm512_undefined_si512.
(_mm_undefined_si512): New definition.

testsuite/ChangeLog:

PR target/76342
* gcc.target/i386/pr76342.c: New test.

From-SVN: r239453

8 years agoDaily bump.
GCC Administrator [Sun, 14 Aug 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239452

8 years agoinclhack.def (hpux_longjmp): New fix.
John David Anglin [Sat, 13 Aug 2016 18:08:15 +0000 (18:08 +0000)]
inclhack.def (hpux_longjmp): New fix.

* inclhack.def (hpux_longjmp): New fix.
* fixincl.x: Regenerate.
* tests/base/setjmp.h: New test file.

From-SVN: r239446

8 years agotree-ssa-forwprop.c (pass_forwprop::execute): Propagate into PHIs and update the...
Richard Biener [Sat, 13 Aug 2016 08:04:46 +0000 (08:04 +0000)]
tree-ssa-forwprop.c (pass_forwprop::execute): Propagate into PHIs and update the lattice for its def.

2016-08-13  Richard Biener  <rguenther@suse.de>

* tree-ssa-forwprop.c (pass_forwprop::execute): Propagate
into PHIs and update the lattice for its def.

From-SVN: r239444

8 years agolibgo: don't unset in shell script
Ian Lance Taylor [Sat, 13 Aug 2016 02:52:42 +0000 (02:52 +0000)]
libgo: don't unset in shell script

    Reportedly ksh fails to unset a variable that was not previously set.
    Change match.sh and gotest to not unset LANG, but instead set LANG=C.
    Also don't combine exporting and setting variable in a single statement.

    Reviewed-on: https://go-review.googlesource.com/26999

From-SVN: r239443

8 years agocrypto/aes, hash/crc32: ignore s390x specific files for now
Ian Lance Taylor [Sat, 13 Aug 2016 00:19:56 +0000 (00:19 +0000)]
crypto/aes, hash/crc32: ignore s390x specific files for now

    These files are used to select s390x assembler support in the gc
    toolchain.  We don't currently have that support, as it is written in
    the cmd/asm syntax rather than gas syntax.  Mark the files to be ignored
    for now, falling back to the default implementations.

    Patch by Andreas Krebbel.

    Reviewed-on: https://go-review.googlesource.com/26994

From-SVN: r239442

8 years agoDaily bump.
GCC Administrator [Sat, 13 Aug 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239441

8 years agosyscall: remove exec_solaris_test.go
Ian Lance Taylor [Sat, 13 Aug 2016 00:14:19 +0000 (00:14 +0000)]
syscall: remove exec_solaris_test.go

    It is testing functionality that gccgo does not need and does not
    support.

    Reviewed-on: https://go-review.googlesource.com/26992

From-SVN: r239438

8 years agore PR c/71512 (ICE: verify_gimple failed with UBSAN)
Jakub Jelinek [Fri, 12 Aug 2016 19:56:26 +0000 (21:56 +0200)]
re PR c/71512 (ICE: verify_gimple failed with UBSAN)

PR c/71512
* ubsan.c (instrument_si_overflow): Pass true instead of false
to gsi_replace.
(pass_ubsan::execute): Call gimple_purge_dead_eh_edges at the end
of bbs.  Return TODO_cleanup_cfg if any returned true.

* g++.dg/ubsan/pr71512.C: New test.
* c-c++-common/ubsan/pr71512-1.c: New test.
* c-c++-common/ubsan/pr71512-2.c: New test.

From-SVN: r239430

8 years agovsx.md (vsx_concat_<mode>): Add support for the ISA 3.0 MTVSRDD instruction.
Michael Meissner [Fri, 12 Aug 2016 19:40:37 +0000 (19:40 +0000)]
vsx.md (vsx_concat_<mode>): Add support for the ISA 3.0 MTVSRDD instruction.

[gcc]
2016-08-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/vsx.md (vsx_concat_<mode>): Add support for the
ISA 3.0 MTVSRDD instruction.
(vsx_splat_<mode>): Change cpu type of MTVSRDD instruction to
vecperm.

[gcc/testsuite]
2016-08-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/vec-init-1.c: New tests to test various
vector initialization options.
* gcc.target/powerpc/vec-init-2.c: Likewise.
* gcc.target/powerpc/vec-init-3.c: New test to make sure MTVSRDD
is generated on ISA 3.0.

From-SVN: r239428

8 years agore PR tree-optimization/71083 (Unaligned bit-field address when predictive commoning)
Bernd Edlinger [Fri, 12 Aug 2016 19:30:39 +0000 (19:30 +0000)]
re PR tree-optimization/71083 (Unaligned bit-field address when predictive commoning)

2016-08-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR tree-optimization/71083
        * tree-predcom.c (ref_at_iteration): Use a COMPONENT_REF for the
        bitfield access when possible.

From-SVN: r239426

8 years agoFix PR middle-end/71654 (missed shortening of a compare)
Patrick Palka [Fri, 12 Aug 2016 16:07:40 +0000 (16:07 +0000)]
Fix PR middle-end/71654 (missed shortening of a compare)

gcc/ChangeLog:

PR middle-end/71654
* match.pd ((T)A CMP (T)B -> A CMP B): Allow (T)A to be a
sign-changing cast from a shorter unsigned type to a wider
signed type.

gcc/testsuite/ChangeLog:

PR middle-end/71654
* gcc.dg/c-c++-common/pr71654.c: New test.
* gcc.dg/tree-ssa/vrp23: Add -fno-tree-forwprop to
dg-options.
* gcc.dg/tree-ssa/vrp24: Likewise.

From-SVN: r239421

8 years agore PR c/67410 (c/c-typeck.c references out of bounds array)
Jakub Jelinek [Fri, 12 Aug 2016 16:04:33 +0000 (18:04 +0200)]
re PR c/67410 (c/c-typeck.c references out of bounds array)

PR c/67410
* c-typeck.c (set_nonincremental_init_from_string): Use / instead of
% to determine val element to change.  Assert that
wchar_bytes * charwidth fits into val array.

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

Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r239419

8 years agosse.md (avx512dq_vextract<shuffletype>64x2_1_maskm, [...]): Use Yk constraint instead...
Jakub Jelinek [Fri, 12 Aug 2016 15:52:03 +0000 (17:52 +0200)]
sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm, [...]): Use Yk constraint instead of k.

* config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm,
vec_extract_hi_<mode>_mask, vec_extract_lo_<mode>_mask,
vec_extract_hi_<mode>_mask): Use Yk constraint instead of k.

From-SVN: r239418

8 years agors6000.c (rs6000_builtin_vectorization_cost): Correct costs for vec_construct.
Bill Schmidt [Fri, 12 Aug 2016 15:23:34 +0000 (15:23 +0000)]
rs6000.c (rs6000_builtin_vectorization_cost): Correct costs for vec_construct.

2016-08-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
Correct costs for vec_construct.

From-SVN: r239417

8 years agore PR tree-optimization/69848 (poor vectorization of a loop from SPEC2006 464.h264ref)
Bin Cheng [Fri, 12 Aug 2016 14:58:20 +0000 (14:58 +0000)]
re PR tree-optimization/69848 (poor vectorization of a loop from SPEC2006 464.h264ref)

PR tree-optimization/69848
* tree-vectorizer.h (enum vect_def_type): New condition reduction
type CONST_COND_REDUCTION.
* tree-vect-loop.c (vectorizable_reduction): Support new condition
reudction type CONST_COND_REDUCTION.

gcc/testsuite
PR tree-optimization/69848
* gcc.dg/vect/vect-pr69848.c: New test.

From-SVN: r239416

8 years agore PR testsuite/71008 (FAIL: gcc.target/i386/avx512f-vprord-1.c scan-assembler-times...
Uros Bizjak [Fri, 12 Aug 2016 13:44:13 +0000 (15:44 +0200)]
re PR testsuite/71008 (FAIL: gcc.target/i386/avx512f-vprord-1.c scan-assembler-times vprord)

PR testsuite/71008
* gcc.target/i386/avx512f-vprord-1.c: Scan also for vprold.
* gcc.target/i386/avx512f-vprorq-1.c: Scan also for vprolq.
* gcc.target/i386/avx512vl-vprord-1.c: Scan also for vprold.
* gcc.target/i386/avx512vl-vprorq-1.c: Scan also for vprolq.

From-SVN: r239415

8 years agore PR tree-optimization/57326 (Piecewise folding of operations on PHI nodes)
Richard Biener [Fri, 12 Aug 2016 12:58:15 +0000 (12:58 +0000)]
re PR tree-optimization/57326 (Piecewise folding of operations on PHI nodes)

2016-08-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57326
* tree-ssa-pre.c (fully_constant_expression): Handle simplification
returning an SSA name.
(phi_translate_1): When fully_constant_expression returns a NAME
make sure we have a leader for it.

* gcc.dg/tree-ssa/ssa-pre-32.c: New testcase.
* gcc.dg/tree-ssa/loadpre14.c: Adjust.
* gcc.dg/tree-ssa/pr35287.c: Likewise.
* gcc.target/i386/pr45685.c: Likewise.
* gcc.dg/tree-ssa/predcom-1.c: Disable PRE.
* gcc.dg/tree-ssa/predcom-2.c: Likewise.
* gcc.dg/tree-ssa/predcom-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-sink-10.c: Likewise.
* gfortran.dg/pr34163.f90: Likewise.

From-SVN: r239414

8 years agoCreate x.gcov file for binary w/o x.gcda file (PR
Martin Liska [Fri, 12 Aug 2016 12:23:32 +0000 (14:23 +0200)]
Create x.gcov file for binary w/o x.gcda file (PR

* g++.dg/gcov/gcov-16.C: New test.
* lib/gcov.exp: Support new argument for run-gcov function.
    Adam Fineman  <afineman@afineman.com>

* gcov.c (process_file): Create .gcov file when .gcda
file is missing.

From-SVN: r239413

8 years agoAdd test coverage for PR gcov-profile/35590
Martin Liska [Fri, 12 Aug 2016 12:12:51 +0000 (14:12 +0200)]
Add test coverage for PR gcov-profile/35590

PR gcov-profile/35590
* gcc.dg/tree-prof/val-prof-7.c: Improve test coverage.

From-SVN: r239412

8 years agore PR c/7652 (-Wswitch-break : Warn if a switch case falls through)
Marek Polacek [Fri, 12 Aug 2016 10:30:47 +0000 (10:30 +0000)]
re PR c/7652 (-Wswitch-break : Warn if a switch case falls through)

PR c/7652
gcc/
* alias.c (find_base_value): Adjust fall through comment.
* cfgexpand.c (expand_debug_expr): Likewise.
* combine.c (find_split_point): Likewise.
(expand_compound_operation): Likewise.  Add FALLTHRU.
(make_compound_operation): Adjust fall through comment.
(canon_reg_for_combine): Add FALLTHRU.
(force_to_mode): Adjust fall through comment.
(simplify_shift_const_1): Likewise.
(simplify_comparison): Likewise.
* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Add
FALLTHRU.
* config/aarch64/predicates.md: Likewise.
* config/i386/i386.c (function_arg_advance_32): Likewise.
(ix86_gimplify_va_arg): Likewise.
(print_reg): Likewise.
(ix86_print_operand): Likewise.
(ix86_build_const_vector): Likewise.
(ix86_expand_branch): Likewise.
(ix86_sched_init_global): Adjust fall through comment.
(ix86_expand_args_builtin): Add FALLTHRU.
(ix86_expand_builtin): Likewise.
(ix86_expand_vector_init_one_var): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
(rs6000_adjust_cost): Likewise.
(insn_must_be_first_in_group): Likewise.
* config/rs6000/rs6000.md: Likewise.  Adjust fall through comment.
* dbxout.c (dbxout_symbol): Adjust fall through comment.
* df-scan.c (df_uses_record): Likewise.
* dojump.c (do_jump): Add FALLTHRU.
* dwarf2out.c (mem_loc_descriptor): Likewise.  Adjust fall through
comment.
(resolve_args_picking_1): Adjust fall through comment.
(loc_list_from_tree_1): Likewise.
* expmed.c (make_tree): Likewise.
* expr.c (expand_expr_real_2): Add FALLTHRU.
(expand_expr_real_1): Likewise.  Adjust fall through comment.
* fold-const.c (const_binop): Adjust fall through comment.
(fold_truth_not_expr): Likewise.
(fold_cond_expr_with_comparison): Add FALLTHRU.
(fold_binary_loc): Likewise.
(contains_label_1): Adjust fall through comment.
(multiple_of_p): Likewise.
* gcov-tool.c (process_args): Add FALLTHRU.
* genattrtab.c (check_attr_test): Likewise.
(write_test_expr): Likewise.
* genconfig.c (walk_insn_part): Likewise.
* genpreds.c (validate_exp): Adjust fall through comment.
(needs_variable): Likewise.
* gensupport.c (get_alternatives_number): Add FALLTHRU.
(subst_dup): Likewise.
* gimple-pretty-print.c (dump_gimple_assign): Likewise.
* gimplify.c (gimplify_addr_expr): Adjust fall through comment.
(gimplify_scan_omp_clauses): Add FALLTHRU.
(goa_stabilize_expr): Likewise.
* graphite-isl-ast-to-gimple.c (substitute_ssa_name): Adjust fall
through comment.
* hsa-gen.c (get_address_from_value): Likewise.
* ipa-icf.c (sem_function::hash_stmt): Likewise.
* ira.c (ira_setup_alts): Add FALLTHRU.
* lra-eliminations.c (lra_eliminate_regs_1): Adjust fall through
comment.
* lto-streamer-out.c (lto_output_tree_ref): Add FALLTHRU.
* opts.c (common_handle_option): Likewise.
* read-rtl.c (read_rtx_code): Likewise.
* real.c (round_for_format): Likewise.
* recog.c (asm_operand_ok): Likewise.
* reginfo.c (reg_scan_mark_refs): Adjust fall through comment.
* reload1.c (set_label_offsets): Likewise.
(eliminate_regs_1): Likewise.
(reload_reg_reaches_end_p): Likewise.
* rtlanal.c (commutative_operand_precedence): Add FALLTHRU.
(rtx_cost): Likewise.
* sched-rgn.c (is_exception_free): Likewise.
* simplify-rtx.c (simplify_rtx): Adjust fall through comment.
* stor-layout.c (int_mode_for_mode): Likewise.
* toplev.c (print_to_asm_out_file): Likewise.
(print_to_stderr): Likewise.
* tree-cfg.c (gimple_verify_flow_info): Likewise.
* tree-chrec.c (chrec_fold_plus_1): Add FALLTHRU.
(chrec_fold_multiply): Likewise.
(evolution_function_is_invariant_rec_p): Likewise.
(for_each_scev_op): Likewise.
* tree-data-ref.c (siv_subscript_p): Likewise.
(get_references_in_stmt): Likewise.
* tree.c (find_placeholder_in_expr): Adjust fall through comment.
(substitute_in_expr): Likewise.
(type_cache_hasher::equal): Likewise.
(walk_type_fields): Likewise.
* var-tracking.c (adjust_mems): Add FALLTHRU.
(set_dv_changed): Adjust fall through comment.
* varasm.c (default_function_section): Add FALLTHRU.
gcc/c-family/
* c-common.c (scalar_to_vector): Adjust fall through comment.
* c-opts.c (c_common_handle_option): Likewise.
* c-pragma.c (handle_pragma_pack): Add FALLTHRU.
* c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
fall through comment.
* cilk.c (extract_free_variables): Add FALLTHRU.
gcc/c/
* c-parser.c (c_parser_external_declaration): Add FALLTHRU.
(c_parser_postfix_expression): Likewise.
* c-typeck.c (build_unary_op): Adjust fall through comment.
(c_mark_addressable): Likewise.
gcc/cp/
* call.c (add_builtin_candidate): Add FALLTHRU.
(build_integral_nontype_arg_conv): Adjust fall through comment.
(build_new_op_1): Add FALLTHRU.
(convert_like_real): Adjust fall through comment.
* class.c (fixed_type_or_null): Likewise.
* constexpr.c (cxx_eval_constant_expression): Likewise.
(potential_constant_expression_1): Likewise.  Add FALLTHRU.
* cp-gimplify.c (cp_gimplify_expr): Adjust fall through comment.
(cp_fold): Add FALLTHRU.
* cvt.c (build_expr_type_conversion): Adjust fall through comment.
* cxx-pretty-print.c (pp_cxx_unqualified_id): Add FALLTHRU.
(pp_cxx_qualified_id): Likewise.
(cxx_pretty_printer::constant): Adjust fall through comment.
(cxx_pretty_printer::primary_expression): Add FALLTHRU.
(pp_cxx_pm_expression): Adjust fall through comment.
(cxx_pretty_printer::expression): Add FALLTHRU.
(cxx_pretty_printer::declaration_specifiers): Reformat code.
(pp_cxx_type_specifier_seq): Adjust fall through comment.
(pp_cxx_ptr_operator): Likewise.  Add FALLTHRU.
* error.c (dump_type): Adjust fall through comment.
(dump_decl): Likewise.
* mangle.c (write_type): Likewise.
* method.c (synthesized_method_walk): Add FALLTHRU.
* name-lookup.c (arg_assoc_type): Likewise.
* parser.c (cp_lexer_print_token): Adjust fall through comment.
(cp_parser_primary_expression): Add FALLTHRU.
(cp_parser_operator): Likewise.
* pt.c (find_parameter_packs_r): Likewise.
(tsubst_aggr_type): Adjust fall through comment.
* semantics.c (finish_omp_clauses): Add FALLTHRU.
* tree.c (lvalue_kind): Likewise.
gcc/fortran/
* decl.c (match_attr_spec): Add FALLTHRU.
* primary.c (match_arg_list_function): Likewise.
* resolve.c (resolve_operator): Adjust fall through comment.
(fixup_charlen): Add FALLTHRU.
(resolve_allocate_expr): Adjust fall through comment.
* trans-array.c (gfc_conv_ss_startstride): Add FALLTHRU.
* trans-intrinsic.c (gfc_conv_intrinsic_len): Adjust fall through
comment.
gcc/java/
* expr.c (java_truthvalue_conversion): Adjust fall through comment.
* jcf-io.c (verify_constant_pool): Likewise.
* typeck.c (promote_type): Likewise.
gcc/objc/
* objc-encoding.c (encode_type): Add FALLTHRU.
libcpp/
* lex.c (search_line_fast): Add FALLTHRU.
(_cpp_lex_direct): Likewise.
(cpp_token_val_index): Adjust fall through comment.
* macro.c (parse_params): Add FALLTHRU.
* pch.c (count_defs): Adjust fall through comment.
(write_defs): Likewise.
libiberty/
* cp-demangle.c (d_print_mod): Add FALLTHRU.

From-SVN: r239410

8 years agore PR c/7652 (-Wswitch-break : Warn if a switch case falls through)
Marek Polacek [Fri, 12 Aug 2016 10:15:57 +0000 (10:15 +0000)]
re PR c/7652 (-Wswitch-break : Warn if a switch case falls through)

PR c/7652
* tree-complex.c (expand_complex_division): Add missing break.

From-SVN: r239409

8 years agore PR sanitizer/71042 (libtsan requires __pointer_chk_guard@GLIBC_PRIVATE (6))
Jakub Jelinek [Fri, 12 Aug 2016 08:53:07 +0000 (10:53 +0200)]
re PR sanitizer/71042 (libtsan requires __pointer_chk_guard@GLIBC_PRIVATE (6))

PR sanitizer/71042
* tsan/tsan_platform_linux.cc: Cherry-pick upstream r278292.
* tsan/tsan_rtl_aarch64.S: Likewise.

From-SVN: r239407

8 years agopasses.c (execute_todo): Do not push/pop TV_TODO.
Richard Biener [Fri, 12 Aug 2016 07:38:24 +0000 (07:38 +0000)]
passes.c (execute_todo): Do not push/pop TV_TODO.

2016-08-12  Richard Biener  <rguenther@suse.de>

* passes.c (execute_todo): Do not push/pop TV_TODO.
(execute_one_ipa_transform_pass): Move timevar push/pop TODO execution.
(execute_one_pass): Likewise.
* common.opt (ftime-report-details): New switch.
* doc/invoke.texi (ftime-report-details): Document.
* timevar.h (timer::print_row): Adjust signature.
(timer::all_zero): New static helper.
(timer::child_map_t): New typedef.
(timer::time_var_def): Add children field.
* timevar.c (timer::named_items::print): Adjust.
(timer::~timer): Free timevar recorded children.
(timer::pop_internal): When -ftime-report-details record
time spent in sub-timevars.
(timer::print_row): Adjust.
(timer::print): Print sub-timevar stats, use all_zero.
* timevar.def (TV_TODO): Remove.

From-SVN: r239406

8 years agore PR target/72851 (memory hog with -O3 on s390x-linux-gnu)
Richard Biener [Fri, 12 Aug 2016 07:34:40 +0000 (07:34 +0000)]
re PR target/72851 (memory hog with -O3 on s390x-linux-gnu)

2016-08-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/72851
* tree-ssa-propagate.c: Include cfganal.h.  Rewrite block and stmt
worklists to use bitmaps indexed in execution order.
(executable_blocks, cfg_blocks_num, cfg_blocks_tail, cfg_blocks_head,
bb_in_list, interesting_ssa_edges, varying_ssa_edges): Remove.
(cfg_blocks): Make a bitmap.
(bb_to_cfg_order, cfg_order_to_bb, ssa_edge_worklist, uid_to_stmt):
New globals.
(cfg_blocks_empty_p): Adjust.
(cfg_blocks_add): Likewise.
(cfg_blocks_get): Likewise.
(add_ssa_edge): Likewise.
(add_control_edge): Likewise.
(simulate_stmt): Likewise.
(process_ssa_edge_worklist): Likewise.
(simulate_block): Likewise.
(ssa_prop_init): Compute PRE order and stmt UIDs.
(ssa_prop_fini): Adjust.
(ssa_propagate): Adjust.

* gcc.dg/torture/pr72851.c: New testcase.

From-SVN: r239405

8 years agotree-vrp.c (vrp_visit_phi_node): Allow a last iteration if the currently executable...
Richard Biener [Fri, 12 Aug 2016 07:29:10 +0000 (07:29 +0000)]
tree-vrp.c (vrp_visit_phi_node): Allow a last iteration if the currently executable edges have fixed ranges.

2016-08-12  Richard Biener  <rguenther@suse.de>

* tree-vrp.c (vrp_visit_phi_node): Allow a last iteration if
the currently executable edges have fixed ranges.  Always
go through update_value_range.

From-SVN: r239404

8 years ago[PR63240] generate debug info for defaulted member functions
Alexandre Oliva [Fri, 12 Aug 2016 07:11:50 +0000 (07:11 +0000)]
[PR63240] generate debug info for defaulted member functions

This implements <http://dwarfstd.org/ShowIssue.php?issue=141215.3>, a
proposal already accepted for inclusion in DWARF-5, but using
DW_AT_GNU_defaulted instead of DW_AT_defaulted as the attribute name,
because the attribute id for DW_AT_defaulted is not yet publicly
available.

for  include/ChangeLog

PR debug/63240
* dwarf2.def (DW_AT_deleted, DW_AT_defaulted): New.
* dwarf2.h (enu dwarf_defaulted_attribute): New.

for  gcc/ChangeLog

PR debug/63240
* langhooks-def.h
(LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Const_tree-ify.
(LANG_HOOKS_FUNCTION_DECL_DELETED_P): Likewise.
(LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Set default.
(LANG_HOOKS_DECLS): Add it.
* langhooks.h (struct lang_hooks_for_decls): Add
function_decl_defaulted.  Const_tree-ify
function_decl_explicit_p and function_decl_deleted_p.
* dwarf2out.c (gen_subprogram_die): Add DW_AT_defaulted
attribute.  Add DW_AT_deleted instead of DW_AT_GNU_deleted,
also at strict DWARF v5.

for  gcc/cp/ChangeLog

PR debug/63240
* cp-objcp-common.c (cp_function_decl_defaulted): New.
(cp_function_decl_explicit_p): Const_tree-ify.
(cp_function_decl_deleted_p): Likewise.
* cp-objcp-common.h (cp_function_decl_defaulted): Declare.
(cp_function_decl_explicit_p): Const_tree-ify.
(cp_function_decl_deleted_p): Likewise.
(LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Redefine.

for  gcc/testsuite/ChangeLog

PR debug/63240
* g++.dg/debug/dwarf2/defaulted-member-function-1.C: New.
* g++.dg/debug/dwarf2/defaulted-member-function-2.C: New.
* g++.dg/debug/dwarf2/defaulted-member-function-3.C: New.
* g++.dg/debug/dwarf2/deleted-member-function.C: Expect
DW_AT_deleted.

From-SVN: r239403

8 years ago[PR55641] drop spurious const_type from reference_type variables
Alexandre Oliva [Fri, 12 Aug 2016 07:11:36 +0000 (07:11 +0000)]
[PR55641] drop spurious const_type from reference_type variables

Although C++ reference types, denoted by DW_TAG_reference_type in
DWARFv2+ debug info, are unchangeable, we output names of reference type
with DW_TAG_const_type, because internally we mark such variables as
TREE_READONLY.  That's an internal implementation detail that shouldn't
leak to debug information.  This patch fixes this.

for  gcc/ChangeLog

PR debug/55641
* dwarf2out.c (decl_quals): Don't map TREE_READONLY to
TYPE_QUAL_CONST in reference-typed decls.

for  gcc/testsuite/ChangeLog

PR debug/55641
* g++.dg/debug/dwarf2/ref-1.C: New.

From-SVN: r239402

8 years ago[PR49366] emit loc exprs for C++ non-virtual pmf template value parms
Alexandre Oliva [Fri, 12 Aug 2016 07:11:23 +0000 (07:11 +0000)]
[PR49366] emit loc exprs for C++ non-virtual pmf template value parms

We used to emit, in debug information, the values bound to pointer to
member function template parameters only when they were NULL or
virtual member functions, because those can be represented with
DW_AT_const_value.

In order to represent the symbolic pointer to member function
constants for non-virtual member functions, we'd need to be able to
emit relocations for part of DW_AT_const_value, which we don't.  The
more viable alternative is to use DW_AT_location to represent such
values, as slated for inclusion in DWARFv5, according to
<URL:http://www.dwarfstd.org/ShowIssue.php?issue=130412.1>.

With this patch, when we can't emit a DW_AT_const_value, we emit each
"member" of the pointer to member function "record" as a
DW_OP_stack_value DW_OP_piece, as long as the referenced member
function is output in the same translation unit, otherwise we'd get
relocations to external symbols, something to avoid in debug sections.

for  gcc/ChangeLog

PR debug/49366
* dwarf2out.c (loc_list_from_tree_1): Expand some CONSTRUCTORs
in DW_OP_pieces, just enough to handle pointers to member
functions.
(gen_remaining_tmpl_value_param_die_attribute): Use a location
expression on DWARFv5 if a constant value doesn't work.

for  gcc/testsuite/ChangeLog

PR debug/49366
* g++.dg/debug/dwarf2/template-params-12.H: New.
* g++.dg/debug/dwarf2/template-params-12f.C: New.
* g++.dg/debug/dwarf2/template-params-12g.C: New.
* g++.dg/debug/dwarf2/template-params-12n.C: New.
* g++.dg/debug/dwarf2/template-params-12s.C: New.
* g++.dg/debug/dwarf2/template-params-12u.C: New.
* g++.dg/debug/dwarf2/template-params-12v.C: New.
* g++.dg/debug/dwarf2/template-params-12w.C: New.

From-SVN: r239401