Jakub Jelinek [Wed, 13 Apr 2016 12:27:52 +0000 (14:27 +0200)]
re PR target/70633 (ICE on valid code at -Os (in 32-bit mode) on x86_64-linux-gnu: output_operand: invalid expression as operand)
PR middle-end/70633
* gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
gimplification turns some element into non-constant.
* gcc.c-torture/compile/pr70633.c: New test.
From-SVN: r234934
Jakub Jelinek [Wed, 13 Apr 2016 12:26:26 +0000 (14:26 +0200)]
re PR debug/70628 (ICE in get_reg_rtx, at emit-rtl.c:1025)
PR debug/70628
* rtl.h (convert_memory_address_addr_space_1): New prototype.
* explow.c (convert_memory_address_addr_space_1): No longer static,
add NO_EMIT argument and don't call convert_modes if true, pass
it down recursively, remove break after return.
(convert_memory_address_addr_space): Adjust caller.
* simplify-rtx.c (simplify_unary_operation_1): Call
convert_memory_address_addr_space_1 instead of convert_memory_address,
if it returns NULL, don't simplify.
* gcc.dg/torture/pr70628.c: New test.
From-SVN: r234933
Bernd Schmidt [Wed, 13 Apr 2016 11:40:37 +0000 (11:40 +0000)]
re PR preprocessor/69650 (ICE in linemap_line_start, at libcpp/line-map.c:803)
Patch from Roger Orr <rogero@howzatt.demon.co.uk>
PR preprocessor/69650
* directives.c (do_linemarker): Reread map after calling
cpp_get_token.
From-SVN: r234932
GCC Administrator [Wed, 13 Apr 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234929
Patrick Palka [Wed, 13 Apr 2016 00:06:51 +0000 (00:06 +0000)]
Fix PR c++/70610 (wrong overload resolution during template processing)
gcc/cp/ChangeLog:
PR c++/70610
* tree.c (lvalue_kind) [NON_DEPENDENT_EXPR]: Unconditionally
recurse into it.
* typeck.c (build_x_conditional_expr): Unconditionally remember
that the result is an lvalue or xvalue.
gcc/testsuite/ChangeLog:
PR c++/70610
* g++.dg/template/pr70610.C: New test.
* g++.dg/template/pr70610-2.C: New test.
* g++.dg/template/pr70610-3.C: New test.
* g++.dg/template/pr70610-4.C: New test.
From-SVN: r234926
Ian Lance Taylor [Tue, 12 Apr 2016 22:20:30 +0000 (22:20 +0000)]
reflect: change Value.Call results to not be addressable
Leaving them incorrectly marked as addressable broke a use of the
text/template package, because state.evalField checks CanAddr and takes
the address if it is addressable.
Reviewed-on: https://go-review.googlesource.com/21908
From-SVN: r234923
Michael Meissner [Tue, 12 Apr 2016 21:06:47 +0000 (21:06 +0000)]
Fix ChangeLog bug id to be 70640, not 70680
From-SVN: r234922
Eric Botcazou [Tue, 12 Apr 2016 20:55:05 +0000 (20:55 +0000)]
re PR target/70630 (sparc bootstrap failure: sparc.c:4919:6: error: suggest explicit braces to avoid ambiguous 'else')
2016-04-12 Eric Botcazou <ebotcazou@adacore.com>
PR target/70630
* config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.
From-SVN: r234918
Jason Merrill [Tue, 12 Apr 2016 20:28:40 +0000 (16:28 -0400)]
class.c (is_really_empty_class): A zero-length array is empty.
* class.c (is_really_empty_class): A zero-length array is empty.
An unnamed bit-field doesn't make a class non-empty.
From-SVN: r234916
Jakub Jelinek [Tue, 12 Apr 2016 19:37:21 +0000 (21:37 +0200)]
i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): Bump the upper SIMDLEN limits...
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
Bump the upper SIMDLEN limits, so that if the return type or
characteristic type if the return type is void can be passed in
all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is
allowed.
* c-c++-common/cilk-plus/SE/ef_error2.c (func2): Use vectorlength
128 instead of 32.
From-SVN: r234913
Jakub Jelinek [Tue, 12 Apr 2016 19:35:23 +0000 (21:35 +0200)]
re PR c++/70571 (ICE on valid code on x86_64-linux-gnu in verify_ctor_sanity, at cp/constexpr.c:2259)
PR c++/70571
* g++.dg/ext/pr70571.C: New test.
From-SVN: r234911
Michael Meissner [Tue, 12 Apr 2016 19:25:56 +0000 (19:25 +0000)]
re PR middle-end/70680 (OpenMP SIMD linear variable privatized too eagerly)
[gcc]
2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70680
* config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
Do not use "=" constraint on an input constraint.
(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
(ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
generates (neg (abs ...)) instead of (abs ...).
[gcc/testsuite]
2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70680
* gcc.target/powerpc/pr70640.c: New test.
From-SVN: r234910
Paolo Carlini [Tue, 12 Apr 2016 17:54:34 +0000 (17:54 +0000)]
re PR c++/68722 (internal compiler error: in merge_exception_specifiers, at cp/typeck2.c:2108)
/cp
2016-04-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68722
* parser.c (cp_parser_cache_defarg): When file ends in default
argument simply return error_mark_node.
/testsuite
2016-04-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68722
* g++.dg/parse/pr68722.C: New.
From-SVN: r234909
Jakub Jelinek [Tue, 12 Apr 2016 17:18:31 +0000 (19:18 +0200)]
re PR rtl-optimization/70596 (-fcompare-debug failure with one extra NOTE_INSN_DELETED)
PR rtl-optimization/70596
* lra-spills.c (spill_pseudos): Don't delete debug insns, instead
just invalidate LRA data and reset them. Adjust dump wording.
* gcc.target/i386/pr70596.c: New test.
From-SVN: r234906
Edward Smith-Rowland [Tue, 12 Apr 2016 16:31:25 +0000 (16:31 +0000)]
Document C++17/TR29124 C++ Special Math Functions.
2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
Document C++17/TR29124 C++ Special Math Functions.
* include/bits/specfun.h: Add Doxygen markup.
From-SVN: r234905
Nathan Sidwell [Tue, 12 Apr 2016 16:24:11 +0000 (16:24 +0000)]
re PR c++/70501 (internal compiler error: in verify_ctor_sanity, at cp/constexpr.c:2249)
PR c++/70501
cp/
* constexpr.c (cxx_eval_bare_aggregate): Handle VECTOR_TYPE
similarly to PMF.
testsuite/
* g++.dg/init/pr70501.C: New.
From-SVN: r234904
Andre Vieira [Tue, 12 Apr 2016 13:51:40 +0000 (13:51 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2016-04-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r234903
Martin Liska [Tue, 12 Apr 2016 13:38:46 +0000 (15:38 +0200)]
Revert r234572 (aka PR testsuite/70577)
Revert
2016-03-30 Jan Hubicka <hubicka@ucw.cz>
* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
estimates here.
* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
max_loop_iterations_int.
(tree_unswitch_outer_loop): Likewise.
* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
* tree-vect-loop.c (vect_analyze_loop_2): Likewise.
From-SVN: r234902
Thomas Schwinge [Tue, 12 Apr 2016 13:13:53 +0000 (15:13 +0200)]
libgomp external ABI prototypes maintenance
libgomp/
* libgomp_g.h: Rename GOACC_parallel_keyd prototype to
GOACC_parallel_keyed, restore GOACC_parallel prototype, new
GOACC_declare prototype.
From-SVN: r234901
David Wohlferd [Tue, 12 Apr 2016 13:04:44 +0000 (13:04 +0000)]
Executable test case for asm flags, by David Wohlferd.
* gcc.target/i386/asm-flag-6.c: New test.
From-SVN: r234900
Thomas Schwinge [Tue, 12 Apr 2016 11:02:32 +0000 (13:02 +0200)]
Merge libgomp.oacc-c-c++-common/loop-reduction-*.c into libgomp.oacc-c-c++-common/reduction-7.c
libgomp/
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
Merge this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
... this file into...
* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
file.
From-SVN: r234899
Thomas Schwinge [Tue, 12 Apr 2016 10:40:22 +0000 (12:40 +0200)]
Improve libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c
libgomp/
* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
Make failure observable.
From-SVN: r234897
Tom de Vries [Tue, 12 Apr 2016 10:08:48 +0000 (10:08 +0000)]
Fix typo in copy_cond_phi_args
2016-04-12 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68756
* graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
instead of new_name.
* gcc.dg/graphite/pr68756.c: New test.
From-SVN: r234896
Jakub Jelinek [Tue, 12 Apr 2016 09:08:43 +0000 (11:08 +0200)]
re PR tree-optimization/70602 (wrong code at -O1 and above on x86_64-linux-gnu in 32-bit mode (and at -Os only in 64-bit mode))
PR tree-optimization/70602
* tree-sra.c (generate_subtree_copies): Don't write anything into
constant pool decls.
* gcc.c-torture/execute/pr70602.c: New test.
From-SVN: r234895
Jakub Jelinek [Tue, 12 Apr 2016 07:05:29 +0000 (09:05 +0200)]
omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT regardless whether there are depend clauses or not.
* omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
regardless whether there are depend clauses or not.
* libgomp.h (struct gomp_target_task): Remove firstprivate_copies
field.
* target.c (gomp_target_fallback_firstprivate,
gomp_target_unshare_firstprivate): Removed.
(GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
before waiting for dependencies.
(gomp_target_task_fn): Don't copy firstprivate vars here.
* task.c (GOMP_PLUGIN_target_task_completion): Don't free
firstprivate_copies here.
(gomp_create_target_task): Don't initialize firstprivate_copies field.
* testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
explicit/implicit firstprivate.
From-SVN: r234894
GCC Administrator [Tue, 12 Apr 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234892
Michael Meissner [Mon, 11 Apr 2016 19:45:35 +0000 (19:45 +0000)]
re PR target/70381 (On powerpc, -mfloat128 is on by default for all VSX systems)
[gcc]
2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70381
* config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
target attribute and pragma from changing the -mfloat128
and -mfloat128-hardware options.
* doc/extend.texi (Additional Floating Types): Document PowerPC
__float128 restrictions.
[libgcc]
2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70381
* configure.ac (powerpc*-*-linux*): Rework tests to build
__float128 emulation routines to not depend on using #pragma GCC
target to enable -mfloat128.
* configure: Regnerate.
[gcc/testsuite]
2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70381
* gcc.target/powerpc/float128-1.c: New tests to make sure the
__float128 emulator is built and runs.
* gcc.target/powerpc/float128-1.c: Likewise.
* lib/target-supports.exp (check_ppc_float128_sw_available):
Rework tests for __float128 software and hardware
availability. Fix exit condition to return 0 on success.
From-SVN: r234884
Jason Merrill [Mon, 11 Apr 2016 13:38:34 +0000 (09:38 -0400)]
mangle.c (decl_is_template_id): The template itself counts as a template-id.
* mangle.c (decl_is_template_id): The template itself counts as a
template-id.
From-SVN: r234879
James Greenhalgh [Mon, 11 Apr 2016 10:16:26 +0000 (10:16 +0000)]
[Patch AArch64 3/3] Fix up for pr70133
gcc/
PR target/70133
* config/aarch64/driver-aarch64.c
(aarch64_get_extension_string_for_isa_flags): New.
(arch_extension): Rename to...
(aarch64_arch_extension): ...This.
(ext_to_feat_string): Rename to...
(aarch64_extensions): ...This.
(aarch64_core_data): Keep track of architecture extension flags.
(cpu_data): Rename to...
(aarch64_cpu_data): ...This.
(aarch64_arch_driver_info): Keep track of architecture extension
flags.
(get_arch_name_from_id): Rename to...
(get_arch_from_id): ...This, change return type.
(host_detect_local_cpu): Update and reformat for renames, handle
extensions through common infrastructure.
From-SVN: r234877
James Greenhalgh [Mon, 11 Apr 2016 10:14:59 +0000 (10:14 +0000)]
[Patch AArch64 2/3] Rework the code to print extension strings (pr70133)
gcc/
PR target/70133
* config/aarch64/aarch64-common.c (aarch64_option_extension): Keep
track of a canonical flag name.
(all_extensions): Likewise.
(arch_to_arch_name): Also track extension flags enabled by the arch.
(all_architectures): Likewise.
(aarch64_parse_extension): Move to here.
(aarch64_get_extension_string_for_isa_flags): Take a new argument,
rework.
(aarch64_rewrite_selected_cpu): Update for above change.
* config/aarch64/aarch64-option-extensions.def: Rework the way flags
are handled, such that the single explicit value enabled by an
extension is kept seperate from the implicit values it also enables.
* config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move
to here.
(aarch64_parse_extension): New.
* config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from
here to config/aarch64/aarch64-protos.h.
(aarch64_parse_extension): Move from here to
common/config/aarch64/aarch64-common.c.
(aarch64_option_print): Update.
(aarch64_declare_function_name): Likewise.
(aarch64_start_file): Likewise.
* config/aarch64/driver-aarch64.c (arch_extension): Keep track of
the canonical flag for extensions.
* config.gcc (aarch64*-*-*): Extend regex for capturing extension
flags.
gcc/testsuite/
PR target/70133
* gcc.target/aarch64/mgeneral-regs_4.c: Fix expected output.
* gcc.target/aarch64/target_attr_15.c: Likewise.
From-SVN: r234876
James Greenhalgh [Mon, 11 Apr 2016 10:11:59 +0000 (10:11 +0000)]
[Patch AArch64 1/3] Enable CRC by default for armv8.1-a
gcc/
* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
AARCH64_FL_CRC.
From-SVN: r234875
Segher Boessenkool [Mon, 11 Apr 2016 07:26:36 +0000 (09:26 +0200)]
libcc1: Clean compiler-name.h (PR70173)
Since the file is generated from a Makefile fragment, it needs to be
added to MOSTLYCLEANFILES. The directory itself is still not deleted
(just like the gnattools and gotools directories).
2016-04-11 Segher Boessenkool <segher@kernel.crashing.org>
libcc1/
PR bootstrap/70173
* Makefile.am (MOSTLYCLEANFILES): New, add compiler-name.h .
(compiler-name.h): Shorten recipe so that it fits the line.
* Makefile.in: Regenerate.
From-SVN: r234874
GCC Administrator [Mon, 11 Apr 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234872
Paolo Carlini [Sun, 10 Apr 2016 09:32:46 +0000 (09:32 +0000)]
re PR c++/69066 (SFINAE compilation error on lambda with trailing return type)
2016-04-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/69066
* g++.dg/cpp1y/pr69066.C: New.
From-SVN: r234869
Steven G. Kargl [Sun, 10 Apr 2016 05:53:06 +0000 (05:53 +0000)]
MAINTAINERS (Fortran maintainer): Remove myself.
2016-04-09 Steven G. Kargl <kargl@gcc.gnu.org>
* MAINTAINERS (Fortran maintainer): Remove myself.
From-SVN: r234868
GCC Administrator [Sun, 10 Apr 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234867
Jerry DeLisle [Sat, 9 Apr 2016 19:09:02 +0000 (19:09 +0000)]
re PR fortran/68566 (ICE on using unusable array in reshape (double free or corruption))
2016-04-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/68566
* array.c (match_array_element_spec): Add check for non-integer.
* simplify.c (gfc_simplify_reshape): If source shape is NULL return.
PR fortran/68566
* gfortran.dg/pr36192.f90: Update test.
* gfortran.dg/pr36192_1.f90: Update test.
* gfortran.dg/real_dimension_1.f: Update test.
* gfortran.dg/parameter_array_init_7.f90: New test.
From-SVN: r234864
John David Anglin [Sat, 9 Apr 2016 17:36:24 +0000 (17:36 +0000)]
re PR testsuite/64039 (FAIL: gcc.dg/tree-ssa/ssa-dom-cse-2.c scan-tree-dump optimized "return 28;")
PR testsuite/64039
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: xfail scan-tree-dump on hppa*64*-*-*.
From-SVN: r234863
John David Anglin [Sat, 9 Apr 2016 17:21:50 +0000 (17:21 +0000)]
pr70317.c: Add -fno-common on hppa*-*-hpux*.
* gcc.dg/pr70317.c: Add -fno-common on hppa*-*-hpux*.
From-SVN: r234862
John David Anglin [Sat, 9 Apr 2016 17:15:15 +0000 (17:15 +0000)]
re PR rtl-optimization/66669 (FAIL: gcc.dg/loop-8.c)
PR rtl-optimization/66669
* gcc.dg/loop-8.c: Skip on hppa*-*-*.
From-SVN: r234861
John David Anglin [Sat, 9 Apr 2016 17:09:43 +0000 (17:09 +0000)]
prod-options.c: Adjust scan for hppa*64*-*-*.
* gcc.dg/debug/dwarf2/prod-options.c: Adjust scan for hppa*64*-*-*.
From-SVN: r234860
John David Anglin [Sat, 9 Apr 2016 16:45:31 +0000 (16:45 +0000)]
pic-1.c: Skip on hppa*-*-*.
* gcc.dg/pic-1.c: Skip on hppa*-*-*.
* gcc.dg/pie-1.c: Likewise.
* gcc.dg/pic-3.c: Skip on hppa*64*-*-*.
* gcc.dg/pic-4.c: Likewise.
* gcc.dg/pie-3.c: Likewise.
* gcc.dg/pie-4.c: Likewise.
From-SVN: r234859
John David Anglin [Sat, 9 Apr 2016 16:04:36 +0000 (16:04 +0000)]
uninit-19.c: Fix warning line for hppa*64*-*-*.
* gcc.dg/uninit-19.c: Fix warning line for hppa*64*-*-*.
From-SVN: r234856
John David Anglin [Sat, 9 Apr 2016 15:54:29 +0000 (15:54 +0000)]
re PR tree-optimization/68644 (FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "PHI <p_" 1)
PR tree-optimization/68644
* gcc.dg/tree-ssa/ivopts-lt-2.c: Skip on hppa*-*-*.
From-SVN: r234854
John David Anglin [Sat, 9 Apr 2016 15:43:05 +0000 (15:43 +0000)]
re PR testsuite/64886 (FAIL: gcc.dg/pr64434.c scan-rtl-dump-times expand "Swap operands" 1)
PR rtl-optimization/64886
* gcc.dg/pr64434.c: Skip on hppa*-*-hpux*.
From-SVN: r234852
Tom de Vries [Sat, 9 Apr 2016 15:28:24 +0000 (15:28 +0000)]
Fix pdr accesses order
2016-04-09 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68953
* graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
first to last subscript.
* gcc.dg/graphite/pr68953.c: New test.
From-SVN: r234851
Dominique d'Humieres [Sat, 9 Apr 2016 13:29:32 +0000 (15:29 +0200)]
re PR fortran/70592 (Addressing error in dynamically-allocated character array)
2016-04-09 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/70592
* gfortran.dg/deferred_character_16.f90: New test.
From-SVN: r234850
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