Jakub Jelinek [Sat, 9 Apr 2016 11:23:51 +0000 (13:23 +0200)]
re PR tree-optimization/70586 (wrong code at -O2 and -O3 on x86_64-linux-gnu in 32-bit and 64-bit modes)
PR tree-optimization/70586
* tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
for any calls.
* gcc.c-torture/execute/pr70586.c: New test.
From-SVN: r234849
Dominique d'Humieres [Sat, 9 Apr 2016 09:24:45 +0000 (11:24 +0200)]
re PR sanitizer/70573 (FAIL: c-c++-common/asan/halt_on_error-1.c -O* execution test x86_64-apple-darwin15)
2016-04-09 Dominique d'Humieres <dominiq@lps.ens.fr>
PR sanitizer/70573
* c-c++-common/asan/halt_on_error-1.c: Replace memset
with __builtin_memset
* c-c++-common/asan/halt_on_error-2.c: Likewise.
From-SVN: r234848
GCC Administrator [Sat, 9 Apr 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234846
Cesar Philippidis [Fri, 8 Apr 2016 21:09:47 +0000 (14:09 -0700)]
re PR lto/70289 ([openacc] ICE in input_varpool_node)
gcc/
PR lto/70289
PR ipa/70348
PR tree-optimization/70373
PR middle-end/70533
PR middle-end/70534
PR middle-end/70535
* gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
clauses for acc parallel reductions as necessary. Error on those
that are private.
* omp-low.c (scan_sharing_clauses): Don't install variables which
are used in acc parallel reductions.
(lower_rec_input_clauses): Remove dead code.
(lower_oacc_reductions): Add support for reference reductions.
(lower_reduction_clauses): Remove dead code.
(lower_omp_target): Don't remap variables appearing in acc parallel
reductions.
* tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
gcc/testsuite/
* c-c++-common/goacc/reduction-5.c: New test.
* c-c++-common/goacc/reduction-promotions.c: New test.
* gfortran.dg/goacc/reduction-3.f95: New test.
* gfortran.dg/goacc/reduction-promotions.f90: New test.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
coverage.
* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
* testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
* testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
coverage.
* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
* testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
* testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
* testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
From-SVN: r234840
Joseph Myers [Fri, 8 Apr 2016 20:57:02 +0000 (21:57 +0100)]
Regenerate .pot files.
gcc/po:
* gcc.pot: Regenerate.
libcpp/po:
* cpplib.pot: Regenerate.
From-SVN: r234839
Patrick Palka [Fri, 8 Apr 2016 20:17:10 +0000 (20:17 +0000)]
Fix PR c++/70590 (error: location references block not in block tree)
gcc/cp/ChangeLog:
PR c++/70590
PR c++/70452
* constexpr.c (cxx_eval_outermost_expression): Call unshare_expr
on the result if it's not a CONSTRUCTOR.
gcc/testsuite/ChangeLog:
PR c++/70590
PR c++/70452
* g++.dg/pr70590.C: New test.
* g++.dg/pr70590-2.C: New test.
From-SVN: r234837
Jakub Jelinek [Fri, 8 Apr 2016 17:28:20 +0000 (19:28 +0200)]
re PR middle-end/70593 (Miscompilation of xen starting with r226901)
PR middle-end/70593
* tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt
with multiple SSA_NAME defs, force the outputs other than first
to be live before calling live_track_process_def on each output.
* gcc.target/i386/pr70593.c: New test.
From-SVN: r234834
Jakub Jelinek [Fri, 8 Apr 2016 17:21:17 +0000 (19:21 +0200)]
re PR target/70574 (wrong code with -mavx2, read of partially initialised stack variable)
PR rtl-optimization/70574
* fwprop.c (forward_propagate_and_simplify): Don't add
REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
(try_fwprop_subst): Don't add REG_EQUAL note if there are any
paradoxical subregs within *loc.
* gcc.target/i386/avx2-pr70574.c: New test.
From-SVN: r234833
Thomas Schwinge [Fri, 8 Apr 2016 13:47:37 +0000 (15:47 +0200)]
Complete changes to "Ignore -ftree-parallelize-loops={0,1} using gt"
Apply the r225764 and r233573 changes to all relevant spec strings.
gcc/
* config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore
-ftree-parallelize-loops={0,1}.
* config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
* config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
* config/ia64/hpux.h (LIB_SPEC): Likewise.
* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
* config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
From-SVN: r234831
Bernd Schmidt [Fri, 8 Apr 2016 12:17:03 +0000 (12:17 +0000)]
Fix PR number in ChangeLog
From-SVN: r234830
Marcel Böhme [Fri, 8 Apr 2016 12:10:21 +0000 (12:10 +0000)]
Fix memory allocation size overflows (PR69687, patch by Marcel Böhme)
PR c++/69687
* cplus-dem.c: Include <limits.h> if available.
(INT_MAX): Define if necessary.
(remember_type, remember_Ktype, register_Btype, string_need):
Abort if we detect cases where we the size of the allocation would
overflow.
From-SVN: r234829
Marcel Böhme [Fri, 8 Apr 2016 12:06:59 +0000 (12:06 +0000)]
Handle an overflow case (PR70498, patch by Marcel Böhme).
PR c++/70498
* cplus-dem.c (gnu_special): Handle case where consume_count returns
-1.
From-SVN: r234828
Maxim Ostapenko [Fri, 8 Apr 2016 10:46:13 +0000 (10:46 +0000)]
re PR sanitizer/70541 (unnoticed invalid dereference when using address sanitizer)
2016-04-08 Maxim Ostapenko <m.ostapenko@samsung.com>
PR sanitizer/70541
* asan.c (instrument_derefs): If we get unknown location, extract it
with EXPR_LOCATION.
(maybe_instrument_call): Instrument gimple_call's arguments if needed.
* c-c++-common/asan/pr70541.c: New test.
From-SVN: r234827
Tom de Vries [Fri, 8 Apr 2016 09:41:16 +0000 (09:41 +0000)]
Remove incorrect warning for parallel implicit firstprivate clause
2016-04-08 Tom de Vries <tom@codesourcery.com>
* omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
implicit firstprivate clause.
* c-c++-common/goacc/uninit-firstprivate-clause.c: New test.
* gfortran.dg/goacc/uninit-firstprivate-clause.f95: New test.
From-SVN: r234826
Kyrylo Tkachov [Fri, 8 Apr 2016 09:39:44 +0000 (09:39 +0000)]
[ARM] PR target/70566 Check that condition register is dead in tst-imm -> lsls-imm Thumb2 peepholes
PR target/70566
* config/arm/thumb2.md (tst + branch-> lsls + branch
peephole below *orsi_not_shiftsi_si): Require that condition
register is dead after the peephole.
(second peephole after the above): Likewise.
* gcc.c-torture/execute/pr70566.c: New test.
From-SVN: r234825
Tom de Vries [Fri, 8 Apr 2016 08:48:12 +0000 (08:48 +0000)]
Add goacc/uninit-copy-clause.{c,f95} testcases
2016-04-08 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/uninit-copy-clause.c: New test.
* gfortran.dg/goacc/uninit-copy-clause.f95: New test.
From-SVN: r234824
Alan Modra [Fri, 8 Apr 2016 02:11:52 +0000 (11:41 +0930)]
PR70117, ppc long double isinf
gcc/
PR target/70117
* builtins.c (fold_builtin_classify): For IBM extended precision,
look at just the high-order double to test for NaN.
(fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal
test just the high double for Inf but both doubles for subnormal
limit.
gcc/testsuite/
* gcc.target/powerpc/pr70117.c: New.
From-SVN: r234821
GCC Administrator [Fri, 8 Apr 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234820
Jakub Jelinek [Thu, 7 Apr 2016 21:45:26 +0000 (23:45 +0200)]
re PR testsuite/70581 (gcc.dg/lto/simd-function FAILs)
PR testsuite/70581
* gcc.dg/lto/simd-function_0.c: New test.
From-SVN: r234817
Jakub Jelinek [Thu, 7 Apr 2016 21:32:05 +0000 (23:32 +0200)]
cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
* cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
* omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle
node->simdclone->mask_mode != VOIDmode masks.
(simd_clone_adjust_argument_types): Likewise. Move sc var definition
earlier, use it instead of node->simdclone.
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
Set clonei->mask_mode.
* c-c++-common/attr-simd.c: Add scan-assembler* directives for AVX512F
clones.
* c-c++-common/attr-simd-2.c: Likewise.
* c-c++-common/attr-simd-4.c: Likewise.
* gcc.dg/gomp/simd-clones-2.c: Likewise.
* gcc.dg/gomp/simd-clones-3.c: Likewise.
From-SVN: r234816
Thomas Preud'homme [Thu, 7 Apr 2016 16:19:20 +0000 (16:19 +0000)]
re PR testsuite/70553 (pr70496.c should exclude Thumb only targets)
2016-04-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/testsuite/
PR testsuite/70553
* gcc.target/arm/pr70496.c: Also require arm_arm_ok effective target.
From-SVN: r234811
Patrick Palka [Thu, 7 Apr 2016 16:12:05 +0000 (16:12 +0000)]
Avoid needless unsharing during constexpr evaluation (PR c++/70452)
gcc/cp/ChangeLog:
PR c++/70452
* constexpr.c (find_constructor): New function.
(unshare_constructor): New function.
(cxx_eval_call_expression): Use unshare_constructor instead of
unshare_expr.
(find_array_ctor_elt): Likewise.
(cxx_eval_vec_init_1): Likewise.
(cxx_eval_store_expression): Likewise.
(cxx_eval_constant_expression): Likewise.
From-SVN: r234810
Thomas Schwinge [Thu, 7 Apr 2016 15:21:37 +0000 (17:21 +0200)]
Scan for parallelization of the oacc kernels test-cases in gfortran.dg/goacc
gcc/testsuite/
* gfortran.dg/goacc/kernels-loop-2.f95: Scan for parallelization.
* gfortran.dg/goacc/kernels-loop-data-2.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-enter-exit-2.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-enter-exit.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-update.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data.f95: Likewise.
* gfortran.dg/goacc/kernels-loop.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-n.f95: Likewise, XFAILed.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r234809
Jonathan Wakely [Thu, 7 Apr 2016 14:26:24 +0000 (15:26 +0100)]
* testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
From-SVN: r234808
GCC Administrator [Thu, 7 Apr 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234805
Patrick Palka [Wed, 6 Apr 2016 23:10:14 +0000 (23:10 +0000)]
Fix C++ side of PR c/70436 (missing -Wparentheses warnings)
gcc/cp/ChangeLog:
PR c/70436
* parser.c (cp_parser_iteration_statement): New parameter IF_P.
Pass it through to cp_parser_already_scoped_statement.
(cp_parser_already_scoped_statement): New parameter IF_P. Pass
it through to cp_parser_statement.
(cp_parser_statement): Pass IF_P through to
cp_parser_iteration_statement.
(cp_parser_pragma): Adjust call to
cp_parser_iteration_statement.
gcc/testsuite/ChangeLog:
PR c/70436
* g++.dg/warn/Wparentheses-29.C: New test.
From-SVN: r234802
Patrick Palka [Wed, 6 Apr 2016 23:07:21 +0000 (23:07 +0000)]
Fix new -Wparentheses warnings encountered during bootstrap
gcc/ChangeLog:
PR c/70436
* gimplify.c (gimplify_omp_ordered): Add explicit braces to
resolve a future -Wparentheses warning.
* omp-low.c (scan_sharing_clauses): Likewise.
* tree-parloops.c (eliminate_local_variables): Likewise.
gcc/cp/ChangeLog:
PR c/70436
* cp-tree.h (FOR_EACH_CLONE): Restructure macro to avoid
potentially generating a future -Wparentheses warning in its
callers.
gcc/fortran/ChangeLog:
PR c/70436
* openmp.c (gfc_find_omp_udr): Add explicit braces to resolve a
future -Wparentheses warning.
gcc/testsuite/ChangeLog:
PR c/70436
* g++.dg/plugin/pragma_plugin.c (handle_pragma_sayhello): Add
explicit braces to resolve a future -Wparentheses warning.
From-SVN: r234801
Richard Henderson [Wed, 6 Apr 2016 18:35:16 +0000 (11:35 -0700)]
re PR preprocessor/61817 (Inconsistent location of tokens in the expansion list of a built-in macro)
PR preprocessor/61817
PR preprocessor/69391
* internal.h (_cpp_builtin_macro_text): Update decl.
* macro.c (_cpp_builtin_macro_text): Accept location for __LINE__.
(builtin_macro): Accept a second location for __LINE__.
(enter_macro_context): Compute both virtual and real expansion
locations for the macro.
* gcc.dg/pr61817-1.c: New test.
* gcc.dg/pr61817-2.c: New test.
* gcc.dg/pr69391-1.c: New test.
* gcc.dg/pr69391-2.c: New test.
From-SVN: r234794
Vladimir Makarov [Wed, 6 Apr 2016 16:48:36 +0000 (16:48 +0000)]
re PR rtl-optimization/70398 (gcc.dg/vect/slp-multitypes-9.c FAILs with -fno-tree-loop-optimize -fno-tree-ter)
2016-04-06 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70398
* lra-constraints.c (process_address_1): Check zero scale and code
for reloading with zero scale.
2016-04-06 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70398
* testsuite/gcc.target/aarch64/pr70398.c: New.
From-SVN: r234792
Jason Merrill [Wed, 6 Apr 2016 16:22:45 +0000 (12:22 -0400)]
* class.c (check_abi_tags): Fix function template handling.
From-SVN: r234790
Eric Botcazou [Wed, 6 Apr 2016 15:28:18 +0000 (15:28 +0000)]
* gcc.c-torture/execute/
20101011-1.c (__VISIUM__): Set DO_TEST to 0.
From-SVN: r234787
Uros Bizjak [Wed, 6 Apr 2016 15:09:37 +0000 (17:09 +0200)]
sse.md (shuffletype): Add V32HI and V4TI modes.
* config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
(ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
From-SVN: r234784
Eric Botcazou [Wed, 6 Apr 2016 15:07:49 +0000 (15:07 +0000)]
Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
* src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
* src/Makefile.in: Regenerate.
From-SVN: r234782
Yvan Roux [Wed, 6 Apr 2016 15:07:10 +0000 (15:07 +0000)]
guality.h (main): Avoid GDB being blocked on signals.
2016-04-06 Yvan Roux <yvan.roux@linaro.org>
Pedro Alves <palves@redhat.com>
* gcc.dg/guality/guality.h (main): Avoid GDB being blocked on signals.
Co-Authored-By: Pedro Alves <palves@redhat.com>
From-SVN: r234781
Jakub Jelinek [Wed, 6 Apr 2016 12:47:19 +0000 (14:47 +0200)]
i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): Add support for AVX512F clones...
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
Add support for AVX512F clones, include them by default for
exported OpenMP declare simd functions. For AVX2 allow simdlen 32
and use it if charasteric type is 8-bit, for AVX512F allow simdlen
up to 128.
* lib/target-supports.exp (check_effective_target_vect_simd_clones):
Check for avx512f effective targets instead of avx2.
* gcc.dg/gomp/declare-simd-1.c: Add scan-assembler-times directives
for AVX512F clones.
* gcc.dg/gomp/declare-simd-3.c: Likewise.
* g++.dg/gomp/declare-simd-1.C: Likewise.
* g++.dg/gomp/declare-simd-3.C: Likewise.
* g++.dg/gomp/declare-simd-4.C: Likewise.
From-SVN: r234780
Jakub Jelinek [Wed, 6 Apr 2016 12:42:24 +0000 (14:42 +0200)]
re PR middle-end/70550 (-Wuninitialized false positives in OpenMP code)
PR middle-end/70550
* tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define.
* gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit
firstprivate clauses.
* omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for
OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts.
(lower_omp_target): Set TREE_NO_WARNING for
non-addressable possibly uninitialized vars which are copied into
addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT.
* c-c++-common/gomp/pr70550-1.c: New test.
* c-c++-common/gomp/pr70550-2.c: New test.
From-SVN: r234779
GCC Administrator [Wed, 6 Apr 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234771
Nathan Sidwell [Tue, 5 Apr 2016 23:47:21 +0000 (23:47 +0000)]
re PR c++/70512 (ICE on valid code on x86_64-linux-gnu: canonical types differ for identical types)
PR c++/70512
* class.c (fixup_may_alias): New.
(fixup_attribute_variants): Call it.
* g++.dg/ext/attribute-may-alias-5.C: New.
From-SVN: r234768
John David Anglin [Tue, 5 Apr 2016 23:42:36 +0000 (23:42 +0000)]
predicates.md (integer_store_memory_operand): Accept REG+D operands with a large offset when reload_in_progress is true.
* config/pa/predicates.md (integer_store_memory_operand): Accept
REG+D operands with a large offset when reload_in_progress is true.
(floating_point_store_memory_operand): Likewise.
From-SVN: r234765
Jakub Jelinek [Tue, 5 Apr 2016 21:33:37 +0000 (23:33 +0200)]
re PR c++/70336 (Incorrect Wconversion warning)
PR c++/70336
* match.pd (nested int casts): Limit to GIMPLE.
* c-c++-common/pr70336.c: New test.
* gcc.dg/torture/builtin-isinf_sign-1.c (foo): Guard tests
no longer optimized away at -O0 with #ifndef __OPTIMIZE__.
From-SVN: r234764
Jan Hubicka [Tue, 5 Apr 2016 20:58:56 +0000 (22:58 +0200)]
re PR ipa/66223 (Diagnostic of pure virtual function call broken, including __cxa_pure_virtual)
PR ipa/66223
* ipa-devirt.c (maybe_record_node): Fix comment; use
SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
* g++.dg/ipa/devirt-51.C: Use -fsanitize=unreachable.
From-SVN: r234762
Jonathan Wakely [Tue, 5 Apr 2016 19:03:46 +0000 (20:03 +0100)]
Restore atomic builtins usage in libstdc++-v3
PR libstdc++/70554
* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
__atomic_fetch_add for bool.
* configure: Regenerate.
From-SVN: r234761
Jonathan Wakely [Tue, 5 Apr 2016 17:21:48 +0000 (18:21 +0100)]
* testsuite/30_threads/thread/70503.cc: Require -static to work.
From-SVN: r234757
Jakub Jelinek [Tue, 5 Apr 2016 17:05:23 +0000 (19:05 +0200)]
re PR rtl-optimization/70542 (Wrong code with -O3 -mavx2.)
PR rtl-optimization/70542
* ree.c (add_removable_extension): For VECTOR_MODE_P punt
if there are any uses other than insn or debug insns.
* gcc.dg/torture/pr70542.c: New test.
* gcc.target/i386/avx2-pr70542.c: New test.
From-SVN: r234756
Marc Glisse [Tue, 5 Apr 2016 17:01:52 +0000 (19:01 +0200)]
re PR tree-optimization/70509 (wrong code with extract from a v64qi)
PR tree-optimization/70509
* simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>:
Shift HOST_WIDE_INT_1U instead of 1.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r234755
Zdenek Sojka [Tue, 5 Apr 2016 16:58:50 +0000 (18:58 +0200)]
re PR tree-optimization/70509 (wrong code with extract from a v64qi)
PR tree-optimization/70509
* tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead
of the vector base type for index.
* gcc.target/i386/avx512bw-pr70509.c: New test.
From-SVN: r234754
Patrick Palka [Tue, 5 Apr 2016 16:40:00 +0000 (16:40 +0000)]
Fix PR c++/70452 (regression in C++ parsing performance)
gcc/cp/ChangeLog:
PR c++/70452
* constexpr.c (struct fundef_copy): New struct.
(struct fundef_copies_table_t): New struct.
(fundef_copies_table): New static variable.
(maybe_initialize_fundef_copies_table): New static function.
(get_fundef_copy): New static function.
(save_fundef_copy): New static function.
(cxx_eval_call_expression): Use get_fundef_copy, and
save_fundef_copy.
(constexpr_call_table): Add "deletable" GTY marker.
gcc/testsuite/ChangeLog:
PR c++/70452
* g++.dg/ext/constexpr-vla4.C: New test.
From-SVN: r234753
Uros Bizjak [Tue, 5 Apr 2016 16:26:40 +0000 (18:26 +0200)]
re PR target/70510 (ICE: output_operand: invalid %-code with -mavx512bw -masm=intel when emitting vpbroatcast)
PR target/70510
* config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
testsuite/ChangeLog:
PR target/70510
* gcc.target/i386/pr70510.c: New test.
From-SVN: r234752
Richard Biener [Tue, 5 Apr 2016 14:26:59 +0000 (14:26 +0000)]
re PR middle-end/70526 (GCC 6 miscompiles Firefox JIT compiler)
2016-04-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/70526
* tree-sra.c (build_ref_for_offset): Use prev_base to
extract the alias pointer type.
* g++.dg/torture/pr70526.C: New testcase.
From-SVN: r234749
Richard Biener [Tue, 5 Apr 2016 14:25:35 +0000 (14:25 +0000)]
dse.c (struct store_info): Remove alias_set member.
2016-04-05 Richard Biener <rguenther@suse.de>
* dse.c (struct store_info): Remove alias_set member.
(struct read_info_type): Likewise.
(clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder,
spill_deleted, clear_alias_set_lookup): Remove.
(get_group_info): Remove dead base == NULL_RTX case.
(dse_step0): Remove initialization of removed variables.
(delete_dead_store_insn): Reomve alias set dumping.
(free_read_records): Remove alias_set handling.
(canon_address): Remove alias_set_out parameter.
(record_store): Remove spill_alias_set, it's always zero.
(check_mem_read_rtx): Likewise.
(dse_step2): Rename from ...
(dse_step2_nospill): ... this. Adjust.
(scan_stores): Rename from ...
(scan_stores_nospill): ... this.
(scan_reads): Rename from ...
(scan_reads_nospill): ... this.
(scan_stores_spill, scan_reads_spill): Remove.
(dse_step3_scan): Remove for_spills argument which is always false.
(dse_step3): Likewise.
(dse_step5): Rename from ...
(dse_step5_nospill): ... this. Remove alias_set handling.
(rest_of_handle_dse): Adjust.
From-SVN: r234748
Jonathan Wakely [Tue, 5 Apr 2016 13:35:32 +0000 (14:35 +0100)]
Ensure std::thread helpers have internal linkage
PR libstdc++/70503
* src/c++11/thread.cc (execute_native_thread_routine,
execute_native_thread_routine_compat): Give internal linkage.
* testsuite/30_threads/thread/70503.cc: New test.
From-SVN: r234746
Ville Voutilainen [Tue, 5 Apr 2016 11:31:30 +0000 (14:31 +0300)]
re PR libstdc++/70437 (Instantiation loop with pair and is_constructible)
PR libstdc++/70437
* include/bits/stl_pair.h (_ConstructiblePair,
_ImplicitlyConvertiblePair, _MoveConstructiblePair,
_ImplicitlyMoveConvertiblePair): Add shortcut conditions
for same-type cases.
* testsuite/20_util/pair/70437.cc: New.
From-SVN: r234743
Jakub Jelinek [Tue, 5 Apr 2016 08:15:09 +0000 (10:15 +0200)]
re PR target/70525 (generating 'vpandn' without the mode suffix, gnu as fails to assemble (-mavx512bw))
PR target/70525
* config/i386/sse.md (*andnot<mode>3): Simplify assertions.
Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
(*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.
* gcc.target/i386/pr70525.c: New test.
From-SVN: r234739
Richard Biener [Tue, 5 Apr 2016 08:05:06 +0000 (08:05 +0000)]
re PR middle-end/70499 (internal compiler error: in make_ssa_name_fn, at tree-ssanames.c:266)
2016-04-05 Richard Biener <rguenther@suse.de>
PR middle-end/70499
* gimplify-me.c (gimple_regimplify_operands): Do not rewrite
non-register type temporaries into SSA.
* g++.dg/torture/pr70499.C: New testcase.
From-SVN: r234738
Richard Biener [Tue, 5 Apr 2016 07:23:49 +0000 (07:23 +0000)]
20030814-6.c: Fix testcase, disable FRE, remove XFAIL.
2016-04-05 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/
20030814-6.c: Fix testcase, disable FRE,
remove XFAIL.
From-SVN: r234737
Patrick Palka [Tue, 5 Apr 2016 01:20:00 +0000 (01:20 +0000)]
Remove class cache_map and use ggc hash_maps instead (PR c++/70452)
gcc/cp/ChangeLog:
PR c++/70452
* cp-tree.h (class cache_map): Remove.
* constexpr.c (cv_cache): Change type to
GTY((deletable)) hash_map<tree, tree> *.
(maybe_constant_value): Adjust following the change to cv_cache.
(clear_cv_cache): New static function.
(clear_cv_and_fold_caches): Use it.
* cp-gimplify.c (fold_cache): Change type to
GTY((deletable)) hash_map<tree, tree> *.
(clear_fold_cache): Adjust following the change to fold_cache.
(cp_fold): Likewise.
From-SVN: r234732
GCC Administrator [Tue, 5 Apr 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234731
Eric Botcazou [Mon, 4 Apr 2016 22:29:02 +0000 (22:29 +0000)]
re PR target/67172 (i686-w64-mingw32 dwarf2 bootstrap fails with undefined reference to __EH_FRAME_BEGIN__)
PR target/67172
* libgcc2.c (L__main): Undefine __LIBGCC_EH_FRAME_SECTION_NAME__ if
__MINGW32__ is defined.
From-SVN: r234727
Bill Seurer [Mon, 4 Apr 2016 18:46:05 +0000 (18:46 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2016-04-04 Bill Seurer <seurer@linux.vnet.ibm.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r234724
Jakub Jelinek [Mon, 4 Apr 2016 17:20:53 +0000 (19:20 +0200)]
re PR middle-end/70307 (ICE: in gimplify_expr, at gimplify.c:10915 on valid code)
PR middle-end/70307
* gcc.dg/torture/pr70307.c: Add -Wno-psabi to dg-options. Prune
rs6000 ABI warnings.
From-SVN: r234723
Segher Boessenkool [Mon, 4 Apr 2016 16:37:58 +0000 (18:37 +0200)]
gnattools: Clean config.cache (PR70173)
The config.cache file should be deleted by "make distclean", just like
config.log and config.status . The directory itself is still not deleted
(just like the gotools and libcc1 directories).
gnattools/
PR bootstrap/70173
* Makefile.in (distclean): Also delete config.cache .
From-SVN: r234721
Jan Hubicka [Mon, 4 Apr 2016 15:54:39 +0000 (17:54 +0200)]
re PR ipa/66223 (Diagnostic of pure virtual function call broken, including __cxa_pure_virtual)
PR ipa/66223
* ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual
calls when sanitizing.
(possible_polymorphic_call_target_p)" FIx formating.
* g++.dg/ipa/devirt-51.C: New testcase.
From-SVN: r234719
Bill Schmidt [Mon, 4 Apr 2016 15:42:19 +0000 (15:42 +0000)]
re PR middle-end/70457 (ICE (segfault) in gimple_expand_builtin_pow on powerpc64le-linux-gnu)
[gcc]
2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Jakub Jelinek <jakub@redhat.com>
PR middle-end/70457
* tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
to ensure a call statement is compatible with a built-in's
prototype.
* tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
Likewise.
[gcc/testsuite]
2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Jakub Jelinek <jakub@redhat.com>
PR middle-end/70457
* gcc.dg/torture/pr70457.c: New.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r234716
Andre Vehreschild [Mon, 4 Apr 2016 10:32:32 +0000 (12:32 +0200)]
re PR fortran/67538 (ICE with invalid source allocation)
gcc/fortran/ChangeLog:
2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/67538
* resolve.c (resolve_allocate_expr): Emit error message when no
array spec and no array valued source= expression is given in an
F2008 allocate() for an array to allocate.
gcc/testsuite/ChangeLog:
2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/67538
* gfortran.dg/allocate_with_source_19.f08: New test.
From-SVN: r234714
Andre Vehreschild [Mon, 4 Apr 2016 09:32:28 +0000 (11:32 +0200)]
re PR fortran/65795 (Segfault (invalid write) for ALLOCATE statement involving COARRAYS)
gcc/fortran/ChangeLog:
2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/65795
* trans-array.c (gfc_array_allocate): When the array is a coarray,
do not nullyfing its allocatable components in array_allocate, because
the nullify missed the array ref and nullifies the wrong component.
Cosmetics.
gcc/testsuite/ChangeLog:
2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/65795
* gfortran.dg/coarray_allocate_6.f08: New test.
From-SVN: r234710
Richard Biener [Mon, 4 Apr 2016 09:30:16 +0000 (09:30 +0000)]
re PR rtl-optimization/70484 (Wrong optimization with aliasing and access via char)
2016-04-04 Richard Biener <rguenther@suse.de>
PR rtl-optimization/70484
* rtl.h (canon_output_dependence): Declare.
* alias.c (canon_output_dependence): New function.
* dse.c (record_store): Use canon_output_dependence rather
than canon_true_dependence.
* gcc.dg/torture/pr70484.c: New testcase.
From-SVN: r234709
Jan Hubicka [Mon, 4 Apr 2016 09:26:29 +0000 (11:26 +0200)]
re PR lto/68881 (UNRESOLVED/FAIL: gcc.dg/lto/attr-weakref-1 -O2 -flto)
PR ipa/68881
* cgraph.h (symtab_node::copy_visibility_from): New function.
* symtab.c (symtab_node::copy_visibility_from): New function.
* ipa-visibility.c (optimize_weakref): New function.
(function_and_variable_visibility): Use it.
From-SVN: r234708
Martin Liska [Mon, 4 Apr 2016 08:46:51 +0000 (10:46 +0200)]
re PR hsa/70402 (HSA: SBR instruction can be undefined)
Fix PR hsa/70402
PR hsa/70402
* hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
value that is really in range handled by SBR instruction.
* hsa-brig.c (emit_switch_insn): Do not emit unconditional
jump.
* hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
* hsa.h (hsa_insn_sbr::m_default_bb): Remove field.
From-SVN: r234707
Marek Polacek [Mon, 4 Apr 2016 08:11:46 +0000 (08:11 +0000)]
re PR middle-end/70307 (ICE: in gimplify_expr, at gimplify.c:10915 on valid code)
PR c/70307
* c-fold.c (c_fully_fold_internal): Handle VEC_COND_EXPR.
* gcc.dg/torture/pr70307.c: New test.
From-SVN: r234706
GCC Administrator [Mon, 4 Apr 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234705
Oleg Endo [Sun, 3 Apr 2016 12:50:54 +0000 (12:50 +0000)]
re PR target/70416 ([SH]: error: 'asm' operand requires impossible reload when building ruby2.3)
gcc/
PR target/70416
PR target/67391
* config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
set, but not for SP_REG operands.
gcc/testsuite/
PR target/70416
PR target/67391
* gcc.target/sh/torture/pr70416.c: New.
From-SVN: r234702
GCC Administrator [Sun, 3 Apr 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234701
Martin Sebor [Sat, 2 Apr 2016 17:14:48 +0000 (17:14 +0000)]
PR c++/67376 - [5/6 regression] Comparison with pointer to past-the-end
PR c++/67376 - [5/6 regression] Comparison with pointer to past-the-end
of array fails inside constant expression
PR c++/70170 - [6 regression] bogus not a constant expression error comparing
pointer to array to null
PR c++/70172 - incorrect reinterpret_cast from integer to pointer error
on invalid constexpr initialization
PR c++/70228 - insufficient detail in diagnostics for a constexpr out of bounds
array subscript
gcc/testsuite/ChangeLog:
2016-04-02 Martin Sebor <msebor@redhat.com>
PR c++/67376
PR c++/70170
PR c++/70172
PR c++/70228
* g++.dg/cpp0x/constexpr-array-ptr10.C: New test.
* g++.dg/cpp0x/constexpr-array-ptr9.C: New test.
* g++.dg/cpp0x/constexpr-nullptr-1.C: New test.
* g++.dg/cpp0x/constexpr-array5.C: Adjust text of expected diagnostic.
* g++.dg/cpp0x/constexpr-string.C: Same.
* g++.dg/cpp0x/constexpr-wstring2.C: Same.
* g++.dg/cpp0x/pr65398.C: Same.
* g++.dg/ext/constexpr-vla1.C: Same.
* g++.dg/ext/constexpr-vla2.C: Same.
* g++.dg/ext/constexpr-vla3.C: Same.
* g++.dg/ubsan/pr63956.C: Same.
gcc/cp/ChangeLog:
2016-04-02 Martin Sebor <msebor@redhat.com>
PR c++/67376
PR c++/70170
PR c++/70172
PR c++/70228
* constexpr.c (diag_array_subscript): New function.
(cxx_eval_array_reference): Detect out of bounds array indices.
gcc/ChangeLog:
2016-04-02 Martin Sebor <msebor@redhat.com>
PR c++/67376
* fold-const.c (maybe_nonzero_address): New function.
(fold_comparison): Call it. Fold equality and relational
expressions involving null pointers.
(tree_single_nonzero_warnv_p): Call maybe_nonzero_address.
From-SVN: r234698
Eric Botcazou [Sat, 2 Apr 2016 08:56:19 +0000 (08:56 +0000)]
decl.c (components_to_record): Restrict the previous change to fields with variable size.
* gcc-interface/decl.c (components_to_record): Restrict the previous
change to fields with variable size.
From-SVN: r234696
Jason Merrill [Sat, 2 Apr 2016 01:35:45 +0000 (21:35 -0400)]
re PR c++/70449 (ICE with -Wall on valid code on x86_64-linux-gnu in pp_string, at pretty-print.c:928)
PR c++/70449
PR c++/70344
* pt.c (instantiate_decl): A function isn't fully defined if
DECL_INITIAL is error_mark_node.
* constexpr.c (cxx_eval_call_expression): Likewise.
From-SVN: r234695
Ian Lance Taylor [Sat, 2 Apr 2016 00:47:53 +0000 (00:47 +0000)]
runtime: Use atomic load for in entersyscall.
Reportedly fixes PPC64 deadlock.
From a comment by Gabriel Russell.
Fixes golang/go#15051.
Reviewed-on: https://go-review.googlesource.com/21450
From-SVN: r234694
H.J. Lu [Sat, 2 Apr 2016 00:24:44 +0000 (17:24 -0700)]
Add missing ChangeLog entry for PR target/70439
From-SVN: r234693
H.J. Lu [Sat, 2 Apr 2016 00:18:41 +0000 (17:18 -0700)]
Add missing ChangeLog entry for PR testsuite/70364
From-SVN: r234692
GCC Administrator [Sat, 2 Apr 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234691
Evandro Menezes [Fri, 1 Apr 2016 19:55:52 +0000 (19:55 +0000)]
[AArch64] Fix SIMD predicate
Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate the
"Y" constraint (scalar FP 0.0 immediate).
* gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
Add the "const_double" to the list of operand constraints.
From-SVN: r234685
Jakub Jelinek [Fri, 1 Apr 2016 16:08:21 +0000 (18:08 +0200)]
re PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with uint64_t variable)
PR rtl-optimization/70467
* config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
If low word of the last operand is 0, just emit addition/subtraction
for the high word.
* gcc.target/i386/pr70467-2.c: New test.
From-SVN: r234679
Andreas Krebbel [Fri, 1 Apr 2016 15:35:54 +0000 (15:35 +0000)]
PR70404 S/390: Fix insv expansion.
While the expander accepts general_operand as src operand the risbg
pattern only immediate_operand. Unfortunately the expander called
force_reg only for VOIDmode constants missing things like
e.g. symbol_refs. Fixed with the attached patch.
gcc/ChangeLog:
2016-04-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/70404
* config/s390/s390.c (s390_expand_insv): Check for everything
constant instead of just VOIDmode stuff.
From-SVN: r234678
Jakub Jelinek [Fri, 1 Apr 2016 15:27:11 +0000 (17:27 +0200)]
re PR c++/70488 (ICE in tree.c:7345 triggered by warning of placement new too small on VLA)
PR c++/70488
* init.c (warn_placement_new_too_small): Test whether
DECL_SIZE_UNIT or TYPE_SIZE_UNIT are integers that fit into uhwi.
* g++.dg/init/new47.C: New test.
Co-Authored-By: Marek Polacek <polacek@redhat.com>
From-SVN: r234676
Ramana Radhakrishnan [Fri, 1 Apr 2016 14:58:53 +0000 (14:58 +0000)]
re PR target/70496 (inadvertent change to ASM_APP_OFF for .arm / .thumb directives.)
Fix PR target/70496
While doing the unified asm rewrite - I inadvertently changed the
meaning of ASM_APP_OFF which causes failures when folks who know what
they are doing switch between arm and thumb states within a
function. The intent of the unified asm rewrite was not to affect any
inline assembler code in that it would remain in divided syntax by
default and switching back to unified asm in normal compiled code
after the inline assembler block. Thanks to Jim Wilson for pointing it
out on the linaro list.
Fixed thusly and a test is added. Tested arm-none-eabi cross and
applied.
Ramana
2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/70496
* config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM
and TARGET_THUMB.
2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/70496
* gcc.target/arm/pr70496.c: New test.
From-SVN: r234675
Nathan Sidwell [Fri, 1 Apr 2016 12:57:52 +0000 (12:57 +0000)]
* tree.def (TRY_CATCH_EXPR): Correct documentation.
From-SVN: r234671
Nathan Sidwell [Fri, 1 Apr 2016 12:12:27 +0000 (12:12 +0000)]
fix flubbed changelog
From-SVN: r234668
Nathan Sidwell [Fri, 1 Apr 2016 12:10:17 +0000 (12:10 +0000)]
re PR c++/68475 (ICE: in merge_exception_specifiers, at cp/typeck2.c:2115 with -fno-exceptions on invalid code)
PR c++/68475
* decl.c (check_redeclaration_exception_specification): Check
regardless of -fno-exceptions.
* typeck2.c (merge_exception_specifiers): Relax assert by checking
flag_exceptions too.
* g++.dg/g++.dg/cpp0x/noexcept29.C: New.
From-SVN: r234667
Ilya Enkovich [Fri, 1 Apr 2016 10:40:51 +0000 (10:40 +0000)]
re PR target/69890 (FAIL: gcc.target/i386/chkp-* on x86_64-apple-darwin15)
gcc/testsuite/
PR target/69890
* gcc.dg/strlenopt.h (memmove): New.
* gcc.target/i386/chkp-strlen-1.c: Include "../../gcc.dg/strlenopt.h"
instead of "string.h".
* gcc.target/i386/chkp-strlen-2.c: Likewise.
* gcc.target/i386/chkp-strlen-3.c: Likewise.
* gcc.target/i386/chkp-strlen-4.c: Likewise.
* gcc.target/i386/chkp-strlen-5.c: Likewise.
* gcc.target/i386/chkp-stropt-1.c: Likewise.
* gcc.target/i386/chkp-stropt-10.c: Likewise.
* gcc.target/i386/chkp-stropt-11.c: Likewise.
* gcc.target/i386/chkp-stropt-12.c: Likewise.
* gcc.target/i386/chkp-stropt-13.c: Likewise.
* gcc.target/i386/chkp-stropt-14.c: Likewise.
* gcc.target/i386/chkp-stropt-15.c: Likewise.
* gcc.target/i386/chkp-stropt-16.c: Likewise.
* gcc.target/i386/chkp-stropt-2.c: Likewise.
* gcc.target/i386/chkp-stropt-3.c: Likewise.
* gcc.target/i386/chkp-stropt-4.c: Likewise.
* gcc.target/i386/chkp-stropt-5.c: Likewise.
* gcc.target/i386/chkp-stropt-6.c: Likewise.
* gcc.target/i386/chkp-stropt-7.c: Likewise.
* gcc.target/i386/chkp-stropt-8.c: Likewise.
* gcc.target/i386/chkp-stropt-9.c: Likewise.
From-SVN: r234666
GCC Administrator [Fri, 1 Apr 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234661
Rainer Orth [Thu, 31 Mar 2016 20:06:38 +0000 (20:06 +0000)]
Fix g++.dg/template/ptrmem30.C with Solaris ld
* g++.dg/template/ptrmem30.C (read): Rename to data_read.
(Holder::foo): Reflect this.
From-SVN: r234652
Vladimir Makarov [Thu, 31 Mar 2016 17:51:13 +0000 (17:51 +0000)]
re PR rtl-optimization/70461 (Performance regression after r234527)
2016-03-31 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70461
* ira-color.c (allocno_copy_cost_saving): Use allocno class if it
is necessary.
From-SVN: r234649
Martin Liska [Thu, 31 Mar 2016 17:28:29 +0000 (19:28 +0200)]
re PR hsa/70399 (HSA: Wrong emission of st_align(4)_u8 HSAIL insn)
Fix PR hsa/70399
PR hsa/70399
* hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either
a tree value or an immediate integer value to a buffer
that is eventually copied to a BRIG section.
(emit_immediate_operand): Call the function here.
* hsa-dump.c (dump_hsa_immed): Remove checking assert.
* hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization
of class' fields that are removed.
(hsa_op_immed::~hsa_op_immed): Remove deinitialization.
* hsa.h (class hsa_op_immed): Remove m_brig_repr and
m_brig_repr_size fields.
From-SVN: r234647
Jeff Law [Thu, 31 Mar 2016 17:23:21 +0000 (11:23 -0600)]
Add BZ markers to last commit
From-SVN: r234646
Mikhail Maltsev [Thu, 31 Mar 2016 17:20:53 +0000 (17:20 +0000)]
cplus-dem.c (squangle_mop_up): Zero bsize/ksize after freeing btypevec/ktypevec.
* cplus-dem.c (squangle_mop_up): Zero bsize/ksize after freeing
btypevec/ktypevec.
* testsuite/demangle-expected: Add coverage tests.
From-SVN: r234645
Martin Liska [Thu, 31 Mar 2016 17:10:48 +0000 (19:10 +0200)]
HSA: handle alignment of string builtins (PR hsa/70391)
PR hsa/70391
* hsa-gen.c (hsa_function_representation::update_dominance): New
function.
(convert_addr_to_flat_segment): Likewise.
(gen_hsa_memory_set): New alignment argument.
(gen_hsa_ctor_assignment): Likewise.
(gen_hsa_insns_for_single_assignment): Provide alignment
to gen_hsa_ctor_assignment.
(gen_hsa_insns_for_direct_call): Add new argument.
(expand_lhs_of_string_op): New function.
(expand_string_operation_builtin): Likewise.
(expand_memory_copy): New function.
(expand_memory_set): New function.
(gen_hsa_insns_for_call): Use HOST_WIDE_INT.
(convert_switch_statements): Change signature.
(generate_hsa): Use a return value of the function.
(pass_gen_hsail::execute): Do not call
convert_switch_statements here.
* hsa-regalloc.c (hsa_regalloc): Call update_dominance.
* hsa.h (hsa_function_representation::m_modified_cfg):
New flag.
(hsa_function_representation::update_dominance): New function.
From-SVN: r234644
Martin Liska [Thu, 31 Mar 2016 17:10:15 +0000 (19:10 +0200)]
HSA: support alignment for hsa_symbols (PR hsa/70391)
PR hsa/70391
* hsa-brig.c (emit_directive_variable): Emit alignment
according to hsa_symbol::m_align.
* hsa-dump.c (hsa_byte_alignment): Move the function to
another file.
(dump_hsa_symbol): Dump alignment of HSA symbols.
* hsa-gen.c (get_symbol_for_decl): Set-up alignment
of a symbol.
(gen_hsa_addr_with_align): New function.
(hsa_bitmemref_alignment): Use newly added function.
(gen_hsa_insns_for_load): Likewise.
(gen_hsa_insns_for_store): Likewise.
(gen_hsa_memory_copy): New argument added.
(gen_hsa_insns_for_single_assignment): Respect
alignment for assignments processed via
gen_hsa_memory_copy.
(gen_hsa_insns_for_direct_call): Likewise.
(gen_hsa_insns_for_return): Likewise.
(gen_function_def_parameters): Set default
alignment.
* hsa.c (hsa_object_alignment): New function.
(hsa_byte_alignment): Pasted function.
* hsa.h (hsa_symbol::m_align): New field.
From-SVN: r234643
Nathan Sidwell [Thu, 31 Mar 2016 16:18:27 +0000 (16:18 +0000)]
decl.c (start_preparsed_function): Remove unnecessary bracing.
* decl.c (start_preparsed_function): Remove unnecessary bracing.
(finish_destructor_body): Don't emit operator delete here.
From-SVN: r234640
Bin Cheng [Thu, 31 Mar 2016 16:17:44 +0000 (16:17 +0000)]
tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize scratch field for goto case.
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
scratch field for goto case.
From-SVN: r234639
James Greenhalgh [Thu, 31 Mar 2016 15:48:47 +0000 (15:48 +0000)]
[Patch ARM] Delete ASM_OUTPUT_DEF and fall back to default .set directive
gcc/
* config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.
From-SVN: r234638
Ilya Enkovich [Thu, 31 Mar 2016 15:37:12 +0000 (15:37 +0000)]
re PR target/70442 (gcc ICE at -O2 and above on valid code on x86_64-linux-gnu in "extract_insn")
gcc/
PR target/70442
* config/i386/i386.c (scalar_chain::convert_op): Fix
description.
(scalar_chain::convert_insn): Call convert_op for reg
moves to handle undefined registers.
gcc/testsuite/
PR target/70442
* gcc.dg/pr70442.c: New test.
From-SVN: r234637