Richard Biener [Tue, 16 Feb 2016 08:39:22 +0000 (08:39 +0000)]
re PR tree-optimization/69801 (gcc ICE on valid code on x86_64-linux-gnu in "operand_equal_p")
2016-02-16 Richard Biener <rguenther@suse.de>
PR middle-end/69801
* fold-const.c (operand_equal_p): For COND_EXPR zero operand
mask OEP_ADDRESS_OF.
* gcc.dg/pr69801.c: New testcase.
From-SVN: r233444
GCC Administrator [Tue, 16 Feb 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233441
Alan Modra [Mon, 15 Feb 2016 23:29:17 +0000 (09:59 +1030)]
[RS6000] reload_vsx_from_gprsf splitter
This is PR68973 part 2, caused by the reload_vsx_from_gprsf splitter
emitting an invalid move. The patch also fixes uses of TFmode, which
cannot now be assumed to be IBM double-double.
PR target/68973
* config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
(p8_mtvsrd_df, p8_mtvsrd_sf): New.
(p8_mtvsrd_1, p8_mtvsrd_2): Delete.
(p8_mtvsrwz): New.
(p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
(p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
(p8_fmrgow_<mode>): Likewise.
(reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above
changes.
(reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
(reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
to use movdi_internal64. Remove op0_di.
* config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
From-SVN: r233438
Joseph Myers [Mon, 15 Feb 2016 23:20:26 +0000 (23:20 +0000)]
* sv.po: Update.
From-SVN: r233437
Jerry DeLisle [Mon, 15 Feb 2016 22:31:13 +0000 (22:31 +0000)]
re PR libfortran/69651 ([6 Regession] Usage of unitialized pointer io/list_read.c)
2016-02-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69651
* io/list_read.c: Entire file trailing spaces removed.
(CASE_SEPARATORS): Remove '!'.
(is_separator): Add namelist mode as condition with '!'.
(push_char): Remove un-needed memset. (push_char4): Likewise and remove
'new' pointer. (eat_separator): Remove un-needed use of notify_std.
(read_logical): If '!' bang encountered when not in namelist mode got
bad_logical to give an error. (read_integer): Likewise reject '!'.
(read_character): Remove condition testing c = '!' which is now inside
the is_separator macro. (parse_real): Reject '!' unless in namelist mode.
(read_complex): Reject '!' unless in namelist mode. (read_real): Likewise
reject '!'.
PR libgfortran/69651
* gfortran.dg/read_bang.f90: New test.
* gfortran.dg/read_bang4.f90: New test.
From-SVN: r233436
Jakub Jelinek [Mon, 15 Feb 2016 22:05:12 +0000 (23:05 +0100)]
re PR c++/69658 (Bogus "C99 designator outside aggregate initializer" error)
PR c++/69658
* init.c (expand_default_init): Only call reshape_init
in the direct-initialization from an initializer list case.
* g++.dg/init/pr69658.C: New test.
From-SVN: r233435
Jakub Jelinek [Mon, 15 Feb 2016 21:30:50 +0000 (22:30 +0100)]
re PR c++/69797 (ICE on invalid code on x86_64-linux-gnu in operator[], at vec.h:714)
PR c++/69797
* c-common.c (sync_resolve_size): Diagnose too few arguments
even when params is non-NULL empty vector.
* c-c++-common/pr69797.c: New test.
From-SVN: r233434
Evandro Menezes [Mon, 15 Feb 2016 21:15:49 +0000 (21:15 +0000)]
Add support for the FCCMP insn types
2016-01-21 Evandro Menezes <e.menezes@samsung.com>
gcc/
* config/aarch64/aarch64.md (fccmp): Change insn type.
(fccmpe): Likewise.
* config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
* config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
* config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
* config/arm/xgene1.md (xgene1_fcmp): Likewise.
* config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
* config/arm/types.md (fccmps): Add new insn type.
(fccmpd): Likewise.
From-SVN: r233432
Jason Merrill [Mon, 15 Feb 2016 21:14:05 +0000 (16:14 -0500)]
re PR c++/69753 (bogus: expected primary-expression before ‘>’ token)
PR c++/69753
* search.c (any_dependent_bases_p): Split out...
* name-lookup.c (do_class_using_decl): ...from here.
* call.c (build_new_method_call_1): Don't complain about missing object
if there are dependent bases. Tweak error.
* tree.c (non_static_member_function_p): Remove.
* pt.c (type_dependent_expression_p): A member template of a
dependent type is dependent.
* cp-tree.h: Adjust.
From-SVN: r233431
Jason Merrill [Mon, 15 Feb 2016 21:13:57 +0000 (16:13 -0500)]
re PR c++/68890 (ICE in verify_ctor_sanity, at cp/constexpr.c:2113)
PR c++/68890
* constexpr.c (verify_ctor_sanity): Remove CONSTRUCTOR_NELTS check.
From-SVN: r233430
Bernd Edlinger [Mon, 15 Feb 2016 20:31:45 +0000 (20:31 +0000)]
* alias.c (get_alias_set): Fix a typo in comment.
From-SVN: r233428
Prathamesh Kulkarni [Mon, 15 Feb 2016 17:28:48 +0000 (17:28 +0000)]
target-supports.exp (check_effective_target_section_anchors): Add check for aarch64*-*-*.
2016-02-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
testsuite/
* lib/target-supports.exp (check_effective_target_section_anchors): Add
check for aarch64*-*-*.
From-SVN: r233426
Richard Biener [Mon, 15 Feb 2016 13:49:42 +0000 (13:49 +0000)]
re PR tree-optimization/69595 (Bogus -Warray-bound warning due to missed optimization)
2016-02-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/69595
* match.pd: Complete range test simplification to true.
From-SVN: r233425
Bernd Schmidt [Mon, 15 Feb 2016 12:06:44 +0000 (12:06 +0000)]
Avoid removing sets of a pseudo PIC register in LRA.
PR rtl-optimization/69648
* lra-constraints.c (update_ebb_live_info): Don't remove sets of
pic_offset_table_rtx.
From-SVN: r233424
Bernd Schmidt [Mon, 15 Feb 2016 12:04:13 +0000 (12:04 +0000)]
Don't make something with an autoinc an equivalencing insn (PR69752).
PR rtl-optimization/69752
* ira.c (update_equiv_regs): When looking for more than a single SET,
also take other side effects into account.
From-SVN: r233423
Marcin Kościelnicki [Mon, 15 Feb 2016 11:48:28 +0000 (11:48 +0000)]
S/390: New mcount call sequence for z900+ CPUs in 31-bit mode.
gcc/ChangeLog:
2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
* config/s390/s390.c (s390_function_profiler): Add a new sequence
for z900+ CPUs in 31-bit mode.
From-SVN: r233422
Marcin Kościelnicki [Mon, 15 Feb 2016 10:20:18 +0000 (10:20 +0000)]
S/390: Add -fsplit-stack support
libgcc/ChangeLog:
* config.host: Use t-stack and t-stack-s390 for s390*-*-linux.
* config/s390/morestack.S: New file.
* config/s390/t-stack-s390: New file.
* generic-morestack.c (__splitstack_find): Add s390-specific code.
gcc/ChangeLog:
* common/config/s390/s390-common.c (s390_supports_split_stack):
New function.
(TARGET_SUPPORTS_SPLIT_STACK): New macro.
* config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
* config/s390/s390.c (struct machine_function): New field
split_stack_varargs_pointer.
(s390_register_info): Mark r12 as clobbered if it'll be used as temp
in s390_emit_prologue.
(s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
vararg pointer.
(morestack_ref): New global.
(SPLIT_STACK_AVAILABLE): New macro.
(s390_expand_split_stack_prologue): New function.
(s390_live_on_entry): New function.
(s390_va_start): Use split-stack vararg pointer if appropriate.
(s390_asm_file_end): Emit the split-stack note sections.
(TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
* config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
(UNSPECV_SPLIT_STACK_CALL): New unspec.
(UNSPECV_SPLIT_STACK_DATA): New unspec.
(split_stack_prologue): New expand.
(split_stack_space_check): New expand.
(split_stack_data): New insn.
(split_stack_call): New expand.
(split_stack_call_*): New insn.
(split_stack_cond_call): New expand.
(split_stack_cond_call_*): New insn.
From-SVN: r233421
Richard Biener [Mon, 15 Feb 2016 09:40:01 +0000 (09:40 +0000)]
re PR tree-optimization/69783 (Loop is not vectorized after r233212)
2016-02-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/69783
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
Add trivially correct cases.
* gcc.dg/vect/pr69783.c: New testcase.
From-SVN: r233420
Tom de Vries [Mon, 15 Feb 2016 09:30:31 +0000 (09:30 +0000)]
Don't mark offload symbols with force_output in ltrans
2016-02-15 Tom de Vries <tom@codesourcery.com>
PR lto/69655
* lto-cgraph.c (input_offload_tables): Add and handle bool parameter
do_force_output.
* lto-streamer.h (input_offload_tables): Add and handle bool parameter.
* lto.c (read_cgraph_and_symbols): Call input_offload_tables with
argument.
From-SVN: r233419
Richard Biener [Mon, 15 Feb 2016 08:42:38 +0000 (08:42 +0000)]
re PR tree-optimization/69776 (Wrong optimization with aliasing)
2016-02-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/69776
* tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
* tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
indicate whether we can use TBAA to disambiguate against stores.
Use alias-set zero if not.
(visit_reference_op_store): Do not use TBAA when looking up
redundant stores.
* tree-ssa-pre.c (compute_avail): Use TBAA here.
(eliminate_dom_walker::before_dom_children): But not when looking
up redundant stores.
* gcc.dg/torture/pr69776.c: New testcase.
From-SVN: r233418
GCC Administrator [Mon, 15 Feb 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233417
John David Anglin [Sun, 14 Feb 2016 18:26:00 +0000 (18:26 +0000)]
pa.md (absqi2, [...]): New.
* config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
From-SVN: r233414
Thomas Koenig [Sun, 14 Feb 2016 17:08:44 +0000 (17:08 +0000)]
re PR fortran/60526 (Accepts-invalid: Variable name same as type name)
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
* decl.c (build_sym): If the name has already been defined as a
type, it has a symtree with an upper case letter at the beginning.
If such a symtree exists, issue an error and exit. Don't do
this if there is no corresponding upper case letter.
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
* gfortran.dg/type_decl_4.f90: Reinstated.
From-SVN: r233413
John David Anglin [Sun, 14 Feb 2016 16:29:08 +0000 (16:29 +0000)]
re PR fortran/68746 (FAIL: gfortran.dg/read_dir.f90 -O0 execution test)
PR fortran/68746
* gfortran.dg/read_dir.f90: Xfail on hppa*-*-hpux*.
From-SVN: r233412
Thomas Koenig [Sun, 14 Feb 2016 15:13:39 +0000 (15:13 +0000)]
re PR fortran/60526 (Accepts-invalid: Variable name same as type name)
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
PR bootstrap/69816
* decl.c (build_sym): Reverted previous patch.
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
PR bootstrap/69816
* gfortran.dg/type_decl_4.f90: Removed.
From-SVN: r233411
Thomas Koenig [Sun, 14 Feb 2016 12:23:59 +0000 (12:23 +0000)]
re PR fortran/60526 (Accepts-invalid: Variable name same as type name)
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
* decl.c (build_sym): If the name has already been defined as a
type, issue error and return false.
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
* gfortran.dg/type_decl_4.f90: New test.
From-SVN: r233410
Venkataramanan Kumar [Sun, 14 Feb 2016 07:11:16 +0000 (07:11 +0000)]
Fix some pipe reservations in znver1.md
Fix some pipe reservations in znver1.md
* config/i386/znver1.md
(znver1_pop, znver1_pop_mem,
znver1_load_imov_double_store,
znver1_load_imov_direct_store,
znver1_load_imov_direct_load,
znver1_load_imov_double_load): Add new.
(znver1_insn, znver1_insn_load): Add icmov type.
(znver1_sseavx_fma,
znver1_sseavx_fma_load,
znver1_avx256_fma,
znver1_avx256_fma_load): Fix pipe usage.
From-SVN: r233409
Alan Modra [Sun, 14 Feb 2016 01:48:59 +0000 (12:18 +1030)]
Add missing pr number
From-SVN: r233408
Alan Modra [Sun, 14 Feb 2016 01:43:14 +0000 (12:13 +1030)]
Correct c-torture stkalign test
The test wrongly assumed that a local var will normally not be 64-bit
aligned, causing it to fail on many targets. So the test needs to
pass if a local var *is* normally 64-bit aligned.
* gcc.c-torture/execute/stkalign.c: Revise test.
From-SVN: r233407
Alan Modra [Sun, 14 Feb 2016 01:37:40 +0000 (12:07 +1030)]
PRE_INC with invalid hard reg
PR target/68973
* reloads.c (find_reloads_address_1): For pre/post-inc/dec
with an invalid hard reg, reload just the reg not the entire
pre/post-inc/dec address expression.
From-SVN: r233406
GCC Administrator [Sun, 14 Feb 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233405
Oleg Endo [Sat, 13 Feb 2016 08:43:15 +0000 (08:43 +0000)]
re PR target/67260 ([sh] Register spill bug for sibcall+complex+softfloat)
gcc/testsuite/
PR target/67260
* gcc.target/sh/torture/pr67260.c: Adjust additional options.
From-SVN: r233400
Oleg Endo [Sat, 13 Feb 2016 08:03:44 +0000 (08:03 +0000)]
re PR target/67260 ([sh] Register spill bug for sibcall+complex+softfloat)
gcc/
PR target/67260
* config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
fixed R1_REG scratch reg.
(sibcall_value_pcrel_fdpic): Likewise.
gcc/testsuite/
PR target/67260
* gcc.target/sh/torture/pr67260.c: New.
From-SVN: r233399
John David Anglin [Sat, 13 Feb 2016 01:32:06 +0000 (01:32 +0000)]
pr67964.c: Add dg-require-alias.
* gcc.dg/pr67964.c: Add dg-require-alias.
From-SVN: r233398
Oleg Endo [Sat, 13 Feb 2016 00:50:25 +0000 (00:50 +0000)]
re PR target/67636 ([SH] gcc.target/sh/pr54236-1.c failures)
gcc/
PR target/67636
PR target/64345
* config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
gcc/testsuite/
PR target/67636
PR target/64345
* gcc.target/sh/pr54236-1.c: Adjust optimization level.
From-SVN: r233397
GCC Administrator [Sat, 13 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233396
Ian Lance Taylor [Fri, 12 Feb 2016 22:10:09 +0000 (22:10 +0000)]
runtime: For c-archive/c-shared, install signal handlers synchronously.
This is a port of https://golang.org/cl/18150 to the gccgo runtime.
The previous behaviour of installing the signal handlers in a separate
thread meant that Go initialization raced with non-Go initialization if
the non-Go initialization also wanted to install signal handlers. Make
installing signal handlers synchronous so that the process-wide behavior
is predictable.
Reviewed-on: https://go-review.googlesource.com/19494
From-SVN: r233393
Joseph Myers [Fri, 12 Feb 2016 21:26:33 +0000 (21:26 +0000)]
* eo.po: Update.
From-SVN: r233392
Mike Stump [Fri, 12 Feb 2016 21:23:11 +0000 (21:23 +0000)]
Fix FAIL: special_functions/18_riemann_zeta/check_value.cc (test for excess errors)
From-SVN: r233391
Walter Lee [Fri, 12 Feb 2016 21:21:15 +0000 (21:21 +0000)]
t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
gcc/ChangeLog:
* config/tilepro/t-tilepro: Replace CC_FOR_BUILD with
CXX_FOR_BUILD.
* config/tilegx/t-tilegx: Likewise.
From-SVN: r233390
Walter Lee [Fri, 12 Feb 2016 21:15:43 +0000 (21:15 +0000)]
config.host (tilegx*-*-linux*): remove ti from softfp_int_modes for 32-bit configs.
libgcc/ChangeLog:
* config.host (tilegx*-*-linux*): remove ti from
softfp_int_modes for 32-bit configs.
From-SVN: r233389
Jerry DeLisle [Fri, 12 Feb 2016 21:02:02 +0000 (21:02 +0000)]
re PR fortran/69668 (Error reading namelist opened with DELIM='NONE')
2016-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69668
* gfortran.dg/namelist_88.f90: New test.
From-SVN: r233388
Jerry DeLisle [Fri, 12 Feb 2016 19:52:13 +0000 (19:52 +0000)]
re PR fortran/69668 (Error reading namelist opened with DELIM='NONE')
2016-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69668
* io/list_read.c (read_character): Remove code related to DELIM_NONE.
PR libgfortran/69668
* gfortran.dg/namelist_38.f90: Update test.
* gfortran.dg/namelist_84.f90: Update test.
From-SVN: r233387
David Malcolm [Fri, 12 Feb 2016 19:18:03 +0000 (19:18 +0000)]
PR other/69554: avoid excessive source printing for widely-separated locations
gcc/ChangeLog:
PR other/69554
* diagnostic-show-locus.c (struct line_span): New struct.
(layout::get_first_line): Delete.
(layout::get_last_line): Delete.
(layout::get_num_line_spans): New member function.
(layout::get_line_span): Likewise.
(layout::print_heading_for_line_span_index_p): Likewise.
(layout::get_expanded_location): Likewise.
(layout::calculate_line_spans): Likewise.
(layout::m_first_line): Delete.
(layout::m_last_line): Delete.
(layout::m_line_spans): New field.
(layout::layout): Update comment. Replace m_first_line and
m_last_line with m_line_spans, replacing their initialization
with a call to calculate_line_spans.
(diagnostic_show_locus): When printing source lines and
annotations, rather than looping over a single span
of lines, instead loop over each line_span within
the layout, with an inner loop over the lines within them.
Call the context's start_span callback when changing line spans.
* diagnostic.c (diagnostic_initialize): Initialize start_span.
(diagnostic_build_prefix): Break out the building of the location
part of the string into...
(diagnostic_get_location_text): ...this new function, rewriting
it from nested ternary expressions to a sequence of "if"
statements.
(default_diagnostic_start_span_fn): New function.
* diagnostic.h (diagnostic_start_span_fn): New typedef.
(diagnostic_context::start_span): New field.
(default_diagnostic_start_span_fn): New prototype.
gcc/fortran/ChangeLog:
PR other/69554
* error.c (gfc_diagnostic_start_span): New function.
(gfc_diagnostics_init): Initialize global_dc's start_span.
gcc/testsuite/ChangeLog:
PR other/69554
* gcc.dg/pr69554-1.c: New test.
* gfortran.dg/pr69554-1.F90: New test.
* gfortran.dg/pr69554-2.F90: New test.
* lib/gcc-dg.exp (proc dg-locus): New function.
* lib/gfortran-dg.exp (proc gfortran-dg-test): Update comment to
distinguish between the caret-printing and non-caret-printing
cases. If caret-printing has been explicitly enabled, bail out
without attempting to fix up the output.
From-SVN: r233386
David Malcolm [Fri, 12 Feb 2016 18:37:35 +0000 (18:37 +0000)]
PR driver/69779: fix bogus cleanup code used by libgccjit affecting s390x
gcc/ChangeLog:
PR driver/69779
* gcc.c (driver::finalize): Fix cleanup of "specs".
From-SVN: r233385
David Malcolm [Fri, 12 Feb 2016 17:39:27 +0000 (17:39 +0000)]
PR driver/69265 and 69453: improved suggestions for various misspelled options
gcc/ChangeLog:
PR driver/69265
PR driver/69453
* gcc.c (driver::driver): Initialize m_option_suggestions.
(driver::~driver): Clean up m_option_suggestions.
(suggest_option): Convert to...
(driver::suggest_option): ...this, and split out into
driver::build_option_suggestions and find_closest_string.
(driver::build_option_suggestions): New function, from
first half of suggest_option. Special-case
OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
the sanitizer_opts array. For options of enum types, add the
various enum values to the candidate strings.
(driver::handle_unrecognized_options): Remove "const".
* gcc.h (driver::handle_unrecognized_options): Likewise.
(driver::build_option_suggestions): New decl.
(driver::suggest_option): New decl.
(driver::m_option_suggestions): New field.
* opts-common.c (add_misspelling_candidates): New function.
* opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
and make non-static.
* opts.h (sanitizer_opts): New array decl.
(add_misspelling_candidates): New function decl.
* spellcheck.c (find_closest_string): New function.
* spellcheck.h (find_closest_string): New function decl.
gcc/testsuite/ChangeLog:
PR driver/69265
PR driver/69453
* gcc.dg/spellcheck-options-3.c: New test case.
* gcc.dg/spellcheck-options-4.c: New test case.
* gcc.dg/spellcheck-options-5.c: New test case.
* gcc.dg/spellcheck-options-6.c: New test case.
* gcc.dg/spellcheck-options-7.c: New test case.
* gcc.dg/spellcheck-options-8.c: New test case.
* gcc.dg/spellcheck-options-9.c: New test case.
* gcc.dg/spellcheck-options-10.c: New test case.
From-SVN: r233382
Jakub Jelinek [Fri, 12 Feb 2016 16:49:44 +0000 (17:49 +0100)]
re PR rtl-optimization/69764 (ICE on x86_64-linux-gnu at -O0 (in decompose, at rtl.h:2107))
PR rtl-optimization/69764
PR rtl-optimization/69771
* optabs.c (expand_binop_directly): For shift_optab_p, force
convert_modes with VOIDmode if xop1 has VOIDmode.
* c-c++-common/pr69764.c: New test.
* gcc.dg/torture/pr69771.c: New test.
From-SVN: r233381
Marek Polacek [Fri, 12 Feb 2016 16:40:47 +0000 (16:40 +0000)]
* g++.dg/torture/init-list1.C: New.
From-SVN: r233380
Marek Polacek [Fri, 12 Feb 2016 13:48:01 +0000 (13:48 +0000)]
* gcc.dg/pr69522.c: Add empty dg-options.
From-SVN: r233377
Ilya Enkovich [Fri, 12 Feb 2016 13:17:28 +0000 (13:17 +0000)]
re PR middle-end/69729 ([CHKP] internal compiler error: Segmentation fault)
gcc/
PR target/69729
* lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
to correctly determine instrumentation thunks.
gcc/testsuite/
* g++.dg/lto/lto.exp: Include and init mpx.
* g++.dg/lto/pr69729_0.C: New test.
From-SVN: r233376
Jakub Jelinek [Fri, 12 Feb 2016 11:59:00 +0000 (12:59 +0100)]
re PR ipa/69241 (ICE with noreturn and function that return non-POD)
PR ipa/69241
* ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
type by reference, force lhs on the call.
* g++.dg/ipa/pr69241-4.C: New test.
From-SVN: r233375
Jakub Jelinek [Fri, 12 Feb 2016 11:57:54 +0000 (12:57 +0100)]
re PR ipa/68672 (g++.dg/torture/pr68470.C: ICE: cannot update SSA form: statement uses released SSA name)
PR ipa/68672
* ipa-split.c (split_function): Don't compute/use main_part_return_p.
Compute retval and retbnd early in all cases if split_part_return_p
and return_bb is not EXIT. Remove all clobber stmts and reset
all debug stmts that refer to SSA_NAMEs defined in split part,
except if it is retval, in that case replace the old retval with the
lhs of the call to the split part.
* g++.dg/ipa/pr68672-1.C: New test.
* g++.dg/ipa/pr68672-2.C: New test.
* g++.dg/ipa/pr68672-3.C: New test.
From-SVN: r233374
Kugan Vivekanandarajah [Fri, 12 Feb 2016 06:40:55 +0000 (06:40 +0000)]
revert: re PR tree-optimization/66726 (missed optimization, factor conversion out of COND_EXPR)
2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
revert:
2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/66726
* tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
whose result is used in PHI.
(maybe_optimize_range_tests): Likewise.
(final_range_test_p): Likweise.
From-SVN: r233368
Bernd Schmidt [Fri, 12 Feb 2016 01:50:25 +0000 (01:50 +0000)]
Fix incomplete initialization of the declspec struct.
* c-decl.c (build_null_declspecs): Zero the entire struct.
From-SVN: r233367
Bernd Schmidt [Fri, 12 Feb 2016 01:38:06 +0000 (01:38 +0000)]
Fix obstack use-after-free problems in C frontend, PR69522
c/
PR c/69522
* c-parser.c (c_parser_braced_init): New arg outer_obstack. All
callers changed. If nested_p is true, use it to call
finish_implicit_inits.
* c-tree.h (finish_implicit_inits): Declare.
* c-typeck.c (finish_implicit_inits): New function. Move code
from ...
(push_init_level): ... here.
(set_designator, process_init_element): Call finish_implicit_inits.
testsuite/
PR c/69522
gcc.dg/pr69522.c: New test.
From-SVN: r233366
Patrick Palka [Fri, 12 Feb 2016 01:11:52 +0000 (01:11 +0000)]
Fix PR c++/69098 (bogus errors with static data member template)
gcc/cp/ChangeLog:
PR c++/69098
* pt.c (lookup_and_finish_template_variable): New function,
extracted from ...
(tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: ... here.
(tsubst_qualified_id): Consider that EXPR might be a variable
template.
* typeck.c (check_template_keyword): Don't emit an error
if DECL is a variable template.
gcc/testsuite/ChangeLog:
PR c++/69098
* g++.dg/cpp1y/69098.C: New test.
* g++.dg/cpp1y/69098-2.C: New test.
From-SVN: r233365
Kugan Vivekanandarajah [Fri, 12 Feb 2016 00:24:22 +0000 (00:24 +0000)]
re PR tree-optimization/66726 (missed optimization, factor conversion out of COND_EXPR)
gcc/ChangeLog:
2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/66726
* tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
whose result is used in PHI.
(maybe_optimize_range_tests): Likewise.
(final_range_test_p): Likweise.
From-SVN: r233362
GCC Administrator [Fri, 12 Feb 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233361
Jakub Jelinek [Thu, 11 Feb 2016 23:53:54 +0000 (00:53 +0100)]
cgraph.c: Spelling fixes - behaviour -> behavior and neighbour -> neighbor.
* cgraph.c: Spelling fixes - behaviour -> behavior and
neighbour -> neighbor.
* target.def: Likewise.
* sel-sched.c: Likewise.
* config/mips/mips.c: Likewise.
* config/arc/arc.md: Likewise.
* config/arm/cortex-a57.md: Likewise.
* config/arm/arm.c: Likewise.
* config/arm/neon.md: Likewise.
* config/arm/arm-c.c: Likewise.
* config/vms/vms-c.c: Likewise.
* config/s390/s390.c: Likewise.
* config/i386/znver1.md: Likewise.
* config/i386/i386.c: Likewise.
* config/ia64/hpux-unix2003.h: Likewise.
* config/msp430/msp430.md: Likewise.
* config/rx/rx.c: Likewise.
* config/rx/rx.md: Likewise.
* config/aarch64/aarch64-simd.md: Likewise.
* config/aarch64/aarch64.c: Likewise.
* config/nvptx/nvptx.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/cris/cris.opt: Likewise.
* config/rs6000/rs6000.c: Likewise.
* target.h: Likewise.
* spellcheck.c: Likewise.
* ira-build.c: Likewise.
* tree-inline.c: Likewise.
* builtins.c: Likewise.
* lra-constraints.c: Likewise.
* explow.c: Likewise.
* hwint.h: Likewise.
* targhooks.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* expr.c: Likewise.
* doc/tm.texi: Likewise.
* doc/extend.texi: Likewise.
* doc/install.texi: Likewise.
* doc/md.texi: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* sched-int.h: Likewise.
* match.pd: Likewise.
* sched-ebb.c: Likewise.
* target.def (omit_struct_return_reg): Likewise.
* gimple-ssa-isolate-paths.c: Likewise.
(find_implicit_erroneous_behaviour): Renamed to...
(find_implicit_erroneous_behavior): ... this.
(find_explicit_erroneous_behaviour): Renamed to...
(find_explicit_erroneous_behavior): ... this.
(gimple_ssa_isolate_erroneous_paths): Adjust caller.
gcc/cp/
* error.c: Spelling fixes - behaviour -> behavior and
neighbour -> neighbor.
* decl.c: Likewise.
* typeck.c (cp_build_binary_op): Fix up behavior spelling in
diagnostics.
* init.c (build_delete): Likewise.
gcc/objc/
* objc-act.c: Spelling fixes - behaviour -> behavior and
neighbour -> neighbor.
* objc-map.h: Likewise.
gcc/go/
* gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
neighbour -> neighbor.
* gccgo.texi: Likewise.
gcc/ada/
* prj-tree.ads: Spelling fixes - behaviour -> behavior and
neighbour -> neighbor.
* prep.adb: Likewise.
* prj.ads: Likewise.
* prepcomp.adb: Likewise.
* g-socket.ads: Likewise.
* s-imgrea.adb: Likewise.
* a-calend.adb: Likewise.
* exp_disp.adb: Likewise.
* doc/gnat_ugn/gnat_utility_programs.rst: Likewise.
* g-socket.adb: Likewise.
* sem_ch12.adb: Likewise.
* terminals.c: Likewise.
gcc/testsuite/
* objc.dg/gnu-api-2-method.m: Spelling fixes - behaviour -> behavior
and neighbour -> neighbor.
* objc.dg/attributes/method-nonnull-1.m: Likewise.
* objc.dg/gnu-api-2-class-meta.m: Likewise.
* c-c++-common/Wvarargs.c: Likewise.
* c-c++-common/goacc/host_data-5.c: Likewise.
* obj-c++.dg/gnu-api-2-class-meta.mm: Likewise.
* obj-c++.dg/attributes/method-nonnull-1.mm: Likewise.
* obj-c++.dg/gnu-api-2-method.mm: Likewise.
* gcc.target/aarch64/pr60697.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vqshl.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vrshl.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vqrshl.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vldX.c: Likewise.
* gcc.target/aarch64/aapcs64/ice_2.c: Likewise.
* gcc.target/aarch64/aapcs64/test_23.c: Likewise.
* gcc.target/aarch64/vrnd_f64_1.c: Likewise.
* g++.dg/warn/Wconversion-real-integer-3.C: Likewise.
* g++.dg/lookup/koenig5.C: Likewise.
* g++.dg/ext/no-asm-2.C: Likewise.
* gfortran.dg/bounds_check_array_ctor_3.f90: Likewise.
* gfortran.dg/bounds_check_array_ctor_7.f90: Likewise.
* gfortran.dg/used_types_16.f90: Likewise.
* gfortran.dg/assumed_rank_bounds_1.f90: Likewise.
* gfortran.dg/bounds_check_array_ctor_1.f90: Likewise.
* gfortran.dg/assumed_rank_bounds_2.f90: Likewise.
* gfortran.dg/bounds_check_array_ctor_4.f90: Likewise.
* gfortran.dg/abstract_type_6.f03: Likewise.
* gfortran.dg/bounds_check_array_ctor_5.f90: Likewise.
* gfortran.dg/used_types_15.f90: Likewise.
* gfortran.dg/bounds_check_array_ctor_8.f90: Likewise.
* gfortran.dg/exit_3.f08: Likewise.
* gfortran.dg/open_status_2.f90: Likewise.
* gfortran.dg/derived_pointer_recursion_2.f90: Likewise.
* gfortran.dg/intrinsic_std_1.f90: Likewise.
* gfortran.dg/associate_1.f03: Likewise.
* gfortran.dg/bounds_check_array_ctor_2.f90: Likewise.
* gfortran.dg/intrinsic_std_6.f90: Likewise.
* gfortran.dg/bounds_check_array_ctor_6.f90: Likewise.
* gcc.dg/builtin-object-size-1.c: Likewise.
* gcc.dg/noreturn-6.c: Likewise.
* gcc.dg/builtin-stringop-chk-1.c: Likewise.
* gcc.dg/globalalias.c: Likewise.
* gcc.dg/builtins-config.h: Likewise.
* gcc.dg/pr30457.c: Likewise.
* gcc.c-torture/compile/volatile-1.c: Likewise.
* gcc.c-torture/execute/
20101011-1.c: Likewise.
* c-c++-common/Waddress-1.c: Likewise.
From-SVN: r233358
Jakub Jelinek [Thu, 11 Feb 2016 22:55:02 +0000 (23:55 +0100)]
re PR c/69768 (Bogus -Waddress warning)
PR c/69768
* c-typeck.c (parser_build_binary_op): Strip nops from integer_zerop
arguments for -Waddress warning.
* typeck.c (cp_build_binary_op): cp_fully_fold integer_zerop
arguments for -Waddress warning. Fix up formatting.
* c-c++-common/Waddress-1.c: New test.
From-SVN: r233357
Segher Boessenkool [Thu, 11 Feb 2016 22:26:35 +0000 (23:26 +0100)]
combine: More distribute_notes trouble (PR69737)
PR64682 is a problem in distribute_notes, where it has trouble putting
a REG_DEAD note for a reg that is set twice in the right spot. My fix
for that did the wrong thing for PR69567. And then my attempted fix
for that one made PR64682 fail again.
Instead, let's just lose the note in such complicated cases, like we
already do in certain similar cases.
PR rtl-optimization/64682
PR rtl-optimization/69567
PR rtl-optimization/69737
* combine.c (distribute_notes) <REG_DEAD>: If the register is set
in I2 as well, just lose it.
From-SVN: r233356
Andre Vehreschild [Thu, 11 Feb 2016 16:48:45 +0000 (17:48 +0100)]
re PR fortran/69296 ([F03] Problem with associate and vector subscript)
gcc/fortran/ChangeLog:
2016-02-11 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/69296
* gfortran.h: Added flag to gfc_association_list indicating that
the rank of an associate variable has been guessed only.
* parse.c (parse_associate): Set the guess flag mentioned above
when guessing the rank of an expression.
* resolve.c (resolve_assoc_var): When the rank has been guessed,
make sure, that the guess was correct else overwrite with the actual
rank.
* trans-stmt.c (trans_associate_var): For subref_array_pointers in
class objects, take the span from the _data component.
gcc/testsuite/ChangeLog:
2016-02-11 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/69296
* gfortran.dg/associate_19.f03: New test.
* gfortran.dg/associate_20.f03: New test.
From-SVN: r233351
Oleg Endo [Thu, 11 Feb 2016 14:47:20 +0000 (14:47 +0000)]
pr54089-8.c: Adjust optimization level.
gcc/testsuite/
* gcc.target/sh/pr54089-8.c: Adjust optimization level.
From-SVN: r233346
Kyrylo Tkachov [Thu, 11 Feb 2016 13:27:28 +0000 (13:27 +0000)]
[AArch64] Only update assembler .arch directive when necessary
* config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
New variable.
(aarch64_last_printed_tune_string): Likewise.
(aarch64_declare_function_name): Only output .arch assembler
directive if it will be different from the previously output
directive. Same for .tune comment but only if -dA is set.
(aarch64_start_file): New function.
(TARGET_ASM_FILE_START): Define.
* gcc.target/aarch64/target_attr_15.c: Scan assembly for
.arch armv8-a\n. Add -dA to dg-options.
* gcc.target/aarch64/assembler_arch_1.c: New test.
* gcc.target/aarch64/target_attr_7.c: Add -dA to dg-options.
From-SVN: r233342
Paolo Carlini [Thu, 11 Feb 2016 11:45:10 +0000 (11:45 +0000)]
re PR c++/68726 (ice: tree check: expected tree_vec, have error_mark in comp_template_args_with_info, at cp/pt.c:7890)
/cp
2016-02-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68726
* pt.c (lookup_template_class_1): Check tsubst return value for
error_mark_node.
/testsuite
2016-02-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68726
* g++.dg/cpp0x/pr68726.C: New.
From-SVN: r233340
Paolo Carlini [Thu, 11 Feb 2016 11:44:51 +0000 (11:44 +0000)]
re PR c++/68726 (ice: tree check: expected tree_vec, have error_mark in comp_template_args_with_info, at cp/pt.c:7890)
/cp
2016-02-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68726
* pt.c (lookup_template_class_1): Check tsubst return value for
error_mark_node.
/testsuite
2016-02-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68726
* g++.dg/cpp0x/pr68726.C: New.
From-SVN: r233339
David Malcolm [Thu, 11 Feb 2016 11:26:54 +0000 (11:26 +0000)]
PR plugins/69758: add params.list to PLUGIN_HEADERS
gcc/ChangeLog:
PR plugins/69758
* Makefile.in (PLUGIN_HEADERS): Add params.list.
From-SVN: r233338
Jakub Jelinek [Thu, 11 Feb 2016 10:08:14 +0000 (11:08 +0100)]
re PR target/65313 (Compilation error in lto profiledbootstrap on powerpc64le-unknown-linux-gnu)
PR target/65313
* tree-vect-slp.c (vect_schedule_slp_instance): Avoid
-Wmaybe-uninitialized warning.
From-SVN: r233337
Ilya Enkovich [Thu, 11 Feb 2016 09:26:23 +0000 (09:26 +0000)]
mpx-dg.exp: Fix warning in check_effective_target_mpx test.
gcc/testsuite/
* lib/mpx-dg.exp: Fix warning in check_effective_target_mpx
test.
From-SVN: r233333
Oleg Endo [Thu, 11 Feb 2016 09:12:18 +0000 (09:12 +0000)]
re PR target/69713 (Invalid code of optimization in SH)
gcc/
PR target/69713
* config/sh/sh.md (casesi_worker_0): Add T_REG use.
From-SVN: r233324
Richard Biener [Thu, 11 Feb 2016 08:15:44 +0000 (08:15 +0000)]
pr61034.C: Adjust.
2016-02-11 Richard Biener <rguenther@suse.de>
* g++.dg/tree-ssa/pr61034.C: Adjust.
From-SVN: r233317
Richard Biener [Thu, 11 Feb 2016 08:11:52 +0000 (08:11 +0000)]
re PR rtl-optimization/69291 (wrong code at -O1 for ruby-2.3.0/regcomp.c:985:compile_length_quantifier_node())
2016-02-11 Richard Biener <rguenther@suse.de>
PR rtl-optimization/69291
* ifcvt.c (noce_try_store_flag_constants): Do not allow
subexpressions affected by changing the result.
From-SVN: r233316
GCC Administrator [Thu, 11 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233314
Jason Merrill [Wed, 10 Feb 2016 19:12:32 +0000 (14:12 -0500)]
re PR c++/68926 (decltype and sfinae to check for template instance availability fails to compile)
PR c++/68926
* pt.c (resolve_nondeduced_context): Add complain parm.
(do_auto_deduction): Pass it.
* cvt.c (convert_to_void): Likewise.
* decl.c (cp_finish_decl): Likewise.
* init.c (build_new): Likewise.
* rtti.c (get_tinfo_decl_dynamic): Likewise.
* semantics.c (finish_decltype_type): Likewise.
* typeck.c (decay_conversion): Likewise.
* cp-tree.h: Adjust declaration.
* call.c (standard_conversion): Add complain parm, pass it along.
(implicit_conversion): Pass it.
From-SVN: r233304
Vladimir Makarov [Wed, 10 Feb 2016 18:47:43 +0000 (18:47 +0000)]
Fix PR #.
From-SVN: r233303
Ian Lance Taylor [Wed, 10 Feb 2016 18:30:27 +0000 (18:30 +0000)]
re PR go/66904 (cmd/go: "#cgo pkg-config:" comments do not work with gccgo)
PR go/66904
cmd/go: fix "#cgo pkg-config:" comments with gccgo
Copy of https://golang.org/cl/18790 by Michael Hudson-Doyle.
The unique difficulty of #cgo pkg-config is that the linker flags are recorded
when the package is compiled but (obviously) must be used when the package is
linked into an executable -- so the flags need to be stored on disk somewhere.
As it happens cgo already writes out a _cgo_flags file: nothing uses it
currently, but this change adds it to the lib$pkg.a file when compiling a
package, reads it out when linking (and passes a version of the .a file with
_cgo_flags stripped out of it to the linker). It's all fairly ugly but it works
and I can't really think of any way of reducing the essential level of
ugliness.
Update golang/go#11739.
GCC PR 66904.
Reviewed-on: https://go-review.googlesource.com/19431
From-SVN: r233290
Vladimir Makarov [Wed, 10 Feb 2016 18:01:40 +0000 (18:01 +0000)]
re PR target/69148 (ICE (floating point exception) on s390x-linux-gnu)
2016-02-10 Vladimir Makarov <vmakarov@redhat.com>
PR target/69148
* lra-constraints.c (curr_insn_transform): Find in/out operands
for secondary memory moves. Update dups.
2016-02-10 Vladimir Makarov <vmakarov@redhat.com>
PR target/69468
* gcc.target/s390/pr69148.c: New.
From-SVN: r233283
Jason Merrill [Wed, 10 Feb 2016 15:34:59 +0000 (10:34 -0500)]
re PR c++/69657 (abs() not inlined after including math.h)
PR c++/69657
* name-lookup.c (ambiguous_decl): Call remove_hidden_names.
(lookup_name_real_1): Likewise.
(remove_hidden_names): Handle non-functions too.
From-SVN: r233278
Jason Merrill [Wed, 10 Feb 2016 15:34:52 +0000 (10:34 -0500)]
re PR c++/10200 (Weird clash with same names in different scopes)
PR c++/10200
* parser.c (cp_parser_lookup_name): When looking for a template
after . or ->, only consider class templates.
(cp_parser_postfix_dot_deref_expression): Handle the current
instantiation. Remember a dependent object expression.
* typeck2.c (build_x_arrow): Handle the current instantiation.
From-SVN: r233277
Jason Merrill [Wed, 10 Feb 2016 15:34:45 +0000 (10:34 -0500)]
* ptree.c (debug_tree): Implement for cp_expr.
From-SVN: r233276
Yuri Rumyantsev [Wed, 10 Feb 2016 15:22:17 +0000 (15:22 +0000)]
re PR tree-optimization/69652 ([ICE] verify_ssa fail w/ -O2 -ffast-math -ftree-vectorize)
gcc/
2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/69652
* tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
to nested loop, did source re-formatting, skip debug statements,
add check on statement with volatile operand, remove dead scalar
statements.
gcc/testsuite/
2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/69652
* gcc.dg/torture/pr69652.c: New test.
From-SVN: r233275
Ian Lance Taylor [Wed, 10 Feb 2016 15:14:05 +0000 (15:14 +0000)]
re PR go/68562 (morestack misaligns stack on x86_64)
PR go/68562
* config/i386/morestack.S (__stack_split_initialize): Align
stack.
From-SVN: r233273
Jakub Jelinek [Wed, 10 Feb 2016 15:06:20 +0000 (16:06 +0100)]
re PR ipa/69241 (ICE with noreturn and function that return non-POD)
PR ipa/69241
PR c++/69649
* gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
calls if the return type is TREE_ADDRESSABLE.
* cgraphunit.c (cgraph_node::expand_thunk): Likewise.
* ipa-split.c (split_function): Fix doubled "we" in comment.
Use void return type for the split part even if
!split_point->split_part_set_retval.
* g++.dg/ipa/pr69241-1.C: New test.
* g++.dg/ipa/pr69241-2.C: New test.
* g++.dg/ipa/pr69241-3.C: New test.
* g++.dg/ipa/pr69649.C: New test.
Co-Authored-By: Patrick Palka <ppalka@gcc.gnu.org>
From-SVN: r233271
Uros Bizjak [Wed, 10 Feb 2016 14:41:59 +0000 (15:41 +0100)]
sra-17.c: Add -mcpu=ev4 for target alpha*-*-*.
* gcc.dg/tree-ssa/sra-17.c: Add -mcpu=ev4 for target alpha*-*-*.
* gcc.dg/tree-ssa/sra-18.c: Ditto.
From-SVN: r233270
Bin Cheng [Wed, 10 Feb 2016 14:09:05 +0000 (14:09 +0000)]
re PR tree-optimization/68021 (ice in rewrite_use_nonlinear_expr with -O3)
PR tree-optimization/68021
* tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
when computing the value of biv cand by itself.
gcc/testsuite/ChangeLog
PR tree-optimization/68021
* gcc.dg/tree-ssa/pr68021.c: New test.
From-SVN: r233269
Wilco Dijkstra [Wed, 10 Feb 2016 12:52:23 +0000 (12:52 +0000)]
Enable instruction fusion of dependent AESE; AESMC and AESD; AESIMC pairs.
This can give up to 2x speedup on many AArch64 implementations. Also model
the crypto instructions on Cortex-A57 according to the Optimization Guide.
gcc/
* config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
(cortexa57_tunings): Likewise.
(cortexa72_tunings): Likewise.
(arch_macro_fusion_pair_p): Add support for AES fusion.
* config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
* config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
Allow virtual registers before reload so early scheduling works.
* config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
correct latency and pipeline.
(cortex_a57_crypto_complex): Likewise.
(cortex_a57_crypto_xor): Likewise.
(define_bypass): Add AES bypass.
From-SVN: r233268
Richard Biener [Wed, 10 Feb 2016 12:46:33 +0000 (12:46 +0000)]
re PR tree-optimization/69726 (Bogus warnings with -O3 -Wuninitialized because dead code after if-conversion)
2016-02-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/69726
* passes.def: Add DCE pass before late uninit.
* match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
really fixup if-conversions job.
* gcc.dg/uninit-22.c: New testcase.
From-SVN: r233267
Wilco Dijkstra [Wed, 10 Feb 2016 12:36:03 +0000 (12:36 +0000)]
Enable instruction fusion of AES instructions on ARM for Cortex-A53 and
Cortex-A57.
gcc/
* config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
(arm_cortex_a57_tune): Likewise.
(aarch_macro_fusion_pair_p): Add support for AES fusion.
* config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC
From-SVN: r233266
Eric Botcazou [Wed, 10 Feb 2016 11:22:29 +0000 (11:22 +0000)]
timevar.def (TV_PHASE_DBGINFO): Delete.
* timevar.def (TV_PHASE_DBGINFO): Delete.
(TV_PHASE_CHECK_DBGINFO): Likewise.
* varpool.c (varpool_node::assemble_decl): Do not change timevar.
From-SVN: r233264
Richard Biener [Wed, 10 Feb 2016 08:36:03 +0000 (08:36 +0000)]
re PR tree-optimization/69719 (wrong code at -O3 on x86_64-linux-gnu)
2016-02-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/69719
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
From-SVN: r233262
Andrew Pinski [Wed, 10 Feb 2016 03:13:53 +0000 (03:13 +0000)]
re PR tree-optimization/69282 (aarch64/armhf ICE on SPEC2006 464.h264ref at -O3)
2016-02-09 Andrew Pinski <apinski@cavium.com>
PR tree-opt/69282
* optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
get_vcond_mask_icode returns false.
2016-02-09 Andrew Pinski <apinski@cavium.com>
PR tree-opt/69282
* gcc.c-torture/compile/
20160205-1.c: New testcase.
From-SVN: r233261
Ian Lance Taylor [Wed, 10 Feb 2016 02:16:04 +0000 (02:16 +0000)]
re PR go/69511 (G.gcstack_size uses uintptr instead of size_t)
PR go/69511
runtime: change G gcstack_size field to size_t
Because its address is passed to __splitstack_find, which expects size_t*.
From Dominik Vogt in GCC PR 69511.
Reviewed-on: https://go-review.googlesource.com/19429
From-SVN: r233260
GCC Administrator [Wed, 10 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233259
Joseph Myers [Tue, 9 Feb 2016 23:37:02 +0000 (23:37 +0000)]
* fi.po: Update.
From-SVN: r233256
Michael Meissner [Tue, 9 Feb 2016 22:31:31 +0000 (22:31 +0000)]
re PR bootstrap/68404 (PGO/LTO bootstrap failure on ppc64le)
[gcc]
2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/68404
* config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
an ADDIS that adds a pointer to a large constant that sets the
upper16 bits with a load operation.
[gcc/testsuite]
2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/68404
* gcc.target/powerpc/fusion.c: Rewrite test to use TOC fusion
instead accessing a really large arrray.
* gcc.target/powerpc/fusion3.c: Likewise.
From-SVN: r233255
Mike Stump [Tue, 9 Feb 2016 20:18:10 +0000 (20:18 +0000)]
Ensure stdout is newline terminated for status wrappers.
From-SVN: r233254
Daniel Starke [Tue, 9 Feb 2016 19:16:30 +0000 (19:16 +0000)]
re PR target/65867 (bootstrap fails for mingw32 due to missing header in ssp.c)
2015-04-25 Daniel Starke <daniel.f.starke@freenet.de>
PR target/65867
* ssp.c: Added wincrypt.h include for Windows targets.
From-SVN: r233253
Charles Baylis [Tue, 9 Feb 2016 18:49:05 +0000 (18:49 +0000)]
[ARM] PR68532 Fix up vzip recognition for big endian
gcc/ChangeLog:
2016-02-09 Charles Baylis <charles.baylis@linaro.org>
PR target/68532
* config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
order.
* config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
endian.
(vzipq_s16): Likewise.
(vzipq_s32): Likewise.
(vzipq_f32): Likewise.
(vzipq_u8): Likewise.
(vzipq_u16): Likewise.
(vzipq_u32): Likewise.
(vzipq_p8): Likewise.
(vzipq_p16): Likewise.
From-SVN: r233252
Charles Baylis [Tue, 9 Feb 2016 18:47:55 +0000 (18:47 +0000)]
[ARM] PR68532: Fix up vuzp for big endian
gcc/ChangeLog:
2016-02-09 Charles Baylis <charles.baylis@linaro.org>
PR target/68532
* config/arm/arm.c (neon_endian_lane_map): New function.
(neon_vector_pair_endian_lane_map): New function.
(arm_evpc_neon_vuzp): Allow for big endian lane order.
* config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
endian.
(vuzpq_s16): Likewise.
(vuzpq_s32): Likewise.
(vuzpq_f32): Likewise.
(vuzpq_u8): Likewise.
(vuzpq_u16): Likewise.
(vuzpq_u32): Likewise.
(vuzpq_p8): Likewise.
(vuzpq_p16): Likewise.
gcc/testsuite/ChangeLog:
2016-02-09 Charles Baylis <charles.baylis@linaro.org>
PR target/68532
* gcc.c-torture/execute/pr68532.c: New test.
From-SVN: r233251
Alexandre Oliva [Tue, 9 Feb 2016 18:26:00 +0000 (18:26 +0000)]
re PR target/69634 (-fcompare-debug failure (length) with -O2 -fno-dce -fschedule-insns -fno-tree-vrp @ i686)
2016-02-11 Alexandre Oliva <aoliva@redhat.com>
PR target/69634
* regstat.c (regstat_bb_compute_calls_crossed): Disregard
debug insns.
PR target/69634
* gcc.dg/pr69634.c: New.
From-SVN: r233250