James Greenhalgh [Wed, 26 Jul 2017 17:40:39 +0000 (17:40 +0000)]
[Patch AArch64 obvious] Unify address costs to generic_addrcost_table
The special case address cost tables for Cortex-A57 and qdf24xx are no
different from the generic address cost table. We should just use the
address cost table directly. If this changes in future, a core is welcome
to add new address cost tables.
gcc/
* config/aarch64/aarch64.c (cortexa57_addrcost_table): Remove.
(qdf24xx_addrcost_table): Likewise.
(cortexa57_tunings): Update to use generic_branch_cost.
(cortexa72_tunings): Likewise.
(cortexa73_tunings): Likewise.
(qdf24xx_tunings): Likewise.
From-SVN: r250585
Jason Merrill [Wed, 26 Jul 2017 17:39:31 +0000 (13:39 -0400)]
P0702R1 - List deduction of vector.
* pt.c (do_class_deduction): Special-case deduction from a single
element of related type.
From-SVN: r250584
Leonid Koppel [Wed, 26 Jul 2017 17:39:26 +0000 (17:39 +0000)]
PR c++/67054 - Inherited ctor with non-default-constructible members
PR c++/67054 - Inherited ctor with non-default-constructible members
* method.c (walk_field_subobs) Consider member initializers (NSDMIs)
when deducing an inheriting constructor.
From-SVN: r250583
James Greenhalgh [Wed, 26 Jul 2017 17:39:12 +0000 (17:39 +0000)]
[Patch AArch64 Obvious] Unify branch costs to generic_branch_cost
All the cores in AArch64 use the pair {1, 3} for their branch costs. As
that is covered by generic_branch_cost, we can just use that directly and
save the tiny amount of redundant code. If in future any core wants to
modify this, they can always add a special-case branch-cost back.
gcc/
* config/aarch64/aarch64.c (cortexa57_branch_cost): Remove.
(thunderx2t99_branch_cost): Likewise.
(cortexa35_tunings): Update to use generic_branch_cost.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(cortexa72_tunings): Likewise.
(cortexa73_tunings): Likewise.
(thunderx2t99_tunings): Likewise.
From-SVN: r250582
Paolo Carlini [Wed, 26 Jul 2017 14:13:15 +0000 (14:13 +0000)]
53984.cc: Fix typo in dg-require directive.
2017-07-26 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/27_io/basic_fstream/53984.cc: Fix typo in dg-require
directive.
From-SVN: r250575
Sebastian Huber [Wed, 26 Jul 2017 12:39:43 +0000 (12:39 +0000)]
[SPARC] Add -mfsmuld option
Add the -mfsmuld option to control the generation of the FsMULd
instruction. In general, this instruction is available in architecture
version V8 and V9 CPUs with FPU. Some CPUs of this category do not
support this instruction properly, e.g. AT697E, AT697F and UT699. Some
CPUs of this category do not implement it in hardware, e.g. LEON3/4 with
GRFPU-lite.
gcc/
* config/sparc/sparc.c (dump_target_flag_bits): Dump MASK_FSMULD.
(sparc_option_override): Honour MASK_FSMULD.
* config/sparc/sparc.h (MASK_FEATURES): Add MASK_FSMULD.
* config/sparc/sparc.md (muldf3_extend): Use TARGET_FSMULD.
* config/sparc/sparc.opt (mfsmuld): New option.
* doc/invoke.texi (mfsmuld): Document option.
From-SVN: r250570
Wilco Dijkstra [Wed, 26 Jul 2017 11:55:03 +0000 (11:55 +0000)]
Disable pr79041-2.c with -mabi=ilp32.
gcc/testsuite/
PR target/79041
* gcc.target/aarch64/pr79041-2.c: Don't run in ILP32.
From-SVN: r250567
Marek Polacek [Wed, 26 Jul 2017 11:53:17 +0000 (11:53 +0000)]
re PR middle-end/70992 (Infinite recursion between fold_build2_stat_loc and fold_binary_loc w/ -fwrapv)
PR middle-end/70992
* tree.c (build2_stat): Don't set TREE_CONSTANT on divisions by zero.
* gcc.dg/overflow-warn-1.c: Adjust dg-error.
* gcc.dg/overflow-warn-2.c: Likewise.
* gcc.dg/overflow-warn-3.c: Likewise.
* gcc.dg/overflow-warn-4.c: Likewise.
* gcc.dg/torture/pr70992-2.c: New test.
* gcc.dg/torture/pr70992.c: New test.
From-SVN: r250566
Richard Biener [Wed, 26 Jul 2017 11:35:45 +0000 (11:35 +0000)]
gimple-match-head.c (do_valueize): Return OP if valueize returns NULL_TREE.
2017-07-26 Richard Biener <rguenther@suse.de>
* gimple-match-head.c (do_valueize): Return OP if valueize
returns NULL_TREE.
(get_def): New helper to get at the def stmt of a SSA name
if valueize allows.
* genmatch.c (dt_node::gen_kids_1): Use get_def instead of
do_valueize to get at the def stmt.
(dt_operand::gen_gimple_expr): Simplify do_valueize calls.
* gcc/testsuite/gcc.dg/pr70920-2.c: Adjust for transform already
happening in ccp1.
* gcc/testsuite/gcc.dg/pr70920-4.c: Likewise.
From-SVN: r250565
Wilco Dijkstra [Wed, 26 Jul 2017 10:49:17 +0000 (10:49 +0000)]
Fix PR46932: Block auto increment on frame pointer
Block auto increment on frame pointer references. This is never
beneficial since the SFP expands into SP+C or FP+C during register
allocation. The generated code for the testcase is now as expected:
str x30, [sp, -32]!
strb w0, [sp, 31]
add x0, sp, 31
bl foo3
ldr x30, [sp], 32
ret
gcc/
PR middle-end/46932
* auto-inc-dec.c (parse_add_or_inc): Block autoinc on sfp.
gcc/testsuite/
PR middle-end/46932
* gcc.dg/pr46932.c: New testcase.
From-SVN: r250564
Martin Liska [Wed, 26 Jul 2017 08:52:37 +0000 (10:52 +0200)]
Move non-local goto expansion after parm_birth_insn (PR sanitize/81186).
2017-07-26 Martin Liska <mliska@suse.cz>
PR sanitize/81186
* function.c (expand_function_start): Make expansion of
nonlocal_goto_save_area after parm_birth_insn.
2017-07-26 Martin Liska <mliska@suse.cz>
PR sanitize/81186
* gcc.dg/asan/pr81186.c: New test.
From-SVN: r250561
Sebastian Huber [Wed, 26 Jul 2017 08:28:12 +0000 (08:28 +0000)]
[SPARC] Drop superfluous MASK_FPU enable
All TARGET_DEFAULT defines set MASK_FPU. There is no need to set it in
some CPU target flags enable.
gcc/
* config/sparc/sparc.c (sparc_option_override): Remove MASK_FPU
from all CPU target flags enable members.
From-SVN: r250557
Richard Biener [Wed, 26 Jul 2017 07:36:07 +0000 (07:36 +0000)]
genmatch.c (dt_simplify::gen): Make iterator vars const.
2017-07-25 Richard Biener <rguenther@suse.de>
* genmatch.c (dt_simplify::gen): Make iterator vars const.
(decision_tree::gen): Make 'type' const.
(write_predicate): Likewise.
From-SVN: r250556
Michael Meissner [Wed, 26 Jul 2017 04:15:23 +0000 (04:15 +0000)]
rs6000.c (rs6000_init_hard_regno_mode_ok): Eliminate TARGET_UPPER_REGS_{DF,DI,SF} usage.
2017-07-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok):
Eliminate TARGET_UPPER_REGS_{DF,DI,SF} usage.
(rs6000_option_override_internal): Likewise.
(rs6000_expand_vector_set): Likewise.
* config/rs6000/rs6000.h (TARGET_UPPER_REGS_DF): Delete.
(TARGET_UPPER_REGS_SF): Likewise.
(TARGET_UPPER_REGS_DI): Likewise.
(TARGET_VEXTRACTUB): Eliminate TARGET_UPPER_REGS_{DF,DI,SF}.
(TARGET_DIRECT_MOVE_64BIT): Likewise.
* config/rs6000/rs6000.md (ALTIVEC_DFORM): Likewise.
(float<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
(Splitters for DI constants in Altivec registers): Likewise.
* config/rs6000/vsx.md (vsx_set_<mode>_p9): Likewise.
(vsx_set_v4sf_p9): Likewise.
(vsx_set_v4sf_p9_zero): Likewise.
(vsx_insert_extract_v4sf_p9): Likewise.
(vsx_insert_extract_v4sf_p9_2): Likewise.
From-SVN: r250555
GCC Administrator [Wed, 26 Jul 2017 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r250554
Carl Love [Tue, 25 Jul 2017 23:16:25 +0000 (23:16 +0000)]
extend.texi: Update the built-in documentation file for the existing built-in functions...
gcc/ChangeLog:
2017-07-25 Carl Love <cel@us.ibm.com>
* doc/extend.texi: Update the built-in documentation file for the
existing built-in functions
vector signed char vec_cnttz (vector signed char);
vector unsigned char vec_cnttz (vector unsigned char);
vector signed short vec_cnttz (vector signed short);
vector unsigned short vec_cnttz (vector unsigned short);
vector signed int vec_cnttz (vector signed int);
vector unsigned int vec_cnttz (vector unsigned int);
vector signed long long vec_cnttz (vector signed long long);
vector unsigned long long vec_cnttz (vector unsigned long long);
gcc/testsuite/ChangeLog:
2017-07-25 Carl Love <cel@us.ibm.com>
* gcc.target/powerpc/builtins-4-p9-runnable.c: Add test file for
vec_cnttz builtins.
From-SVN: r250549
Ian Lance Taylor [Tue, 25 Jul 2017 22:54:23 +0000 (22:54 +0000)]
compiler: clean up unresolved placeholders for pointer types
Add a new helper routine Type::finish_pointer_types that walks through
the pointer type cache and looks for placeholder types that may have
been created at some point before conversion of named types, and
invokes Type::finish_backend() on said placeholders. This is needed
to handle cases where the compiler manufactures a pointer type as part
of lowering, then a placeholder is created for it due to a call to
Type::backend_type_size(), but there is no explicit reference to the
type in user code.
Reviewed-on: https://go-review.googlesource.com/51131
From-SVN: r250548
Jonathan Wakely [Tue, 25 Jul 2017 20:36:06 +0000 (21:36 +0100)]
PR libstdc++/53984 handle exceptions in basic_istream::sentry
PR libstdc++/53984
* include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment.
* include/bits/istream.tcc (basic_istream::sentry): Handle exceptions
during construction.
* include/std/istream: Adjust comments for formatted input functions
and unformatted input functions.
* testsuite/27_io/basic_fstream/53984.cc: New.
* testsuite/27_io/basic_istream/sentry/char/53984.cc: New.
From-SVN: r250545
Jonathan Wakely [Tue, 25 Jul 2017 17:47:52 +0000 (18:47 +0100)]
Remove deprecated iostream members for C++17
* include/bits/ios_base.h (ios_base::io_state, ios_base::open_mode)
(ios_base::seek_dir): Remove for C++17.
* include/std/streambuf (basic_streambuf::stossc): Remove for C++17.
Add deprecated attribute for C++11 and C++14.
* testsuite/27_io/types/1.cc: Don't run for C++17 and later.
* testsuite/27_io/types/4.cc: New.
From-SVN: r250531
Andrew Pinski [Tue, 25 Jul 2017 17:17:46 +0000 (17:17 +0000)]
tree-ssa-uninit.c (warn_uninitialized_vars): Don't warn about memory accesses where the use is for the first operand of a...
2017-07-25 Andrew Pinski <apinski@cavium.com>
* tree-ssa-uninit.c (warn_uninitialized_vars): Don't warn about memory
accesses where the use is for the first operand of a BIT_INSERT.
From-SVN: r250530
Jim Wilson [Tue, 25 Jul 2017 16:06:37 +0000 (16:06 +0000)]
Fix i686-pc-cygwin build failure.
gcc/
PR bootstrap/81521
* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition): Look
for FUNCTION_DECLs in TYPE_FIELDS rather than TYPE_METHODS.
From-SVN: r250529
Jim Wilson [Tue, 25 Jul 2017 14:59:38 +0000 (14:59 +0000)]
Delete files unused since openbsd 2 & 3 support was dropped.
gcc/
* config/i386/gstabs.h: Delete.
* config/i386/openbsd.h, config/i386/t-openbsd: Likewise.
From-SVN: r250527
Uros Bizjak [Tue, 25 Jul 2017 14:48:55 +0000 (16:48 +0200)]
i386.c (ix86_decompose_address): Do not check for register RTX when looking at index_reg or base_reg.
* config/i386/i386.c (ix86_decompose_address): Do not check for
register RTX when looking at index_reg or base_reg.
* config/i386/i386.h (INCOMING_RETURN_ADDR_RTX): Use stack_pointer_rtx.
From-SVN: r250526
Eric Botcazou [Tue, 25 Jul 2017 14:47:16 +0000 (14:47 +0000)]
gimple.c (gimple_assign_set_rhs_with_ops): Do not ask gsi_replace to update EH info here.
* gimple.c (gimple_assign_set_rhs_with_ops): Do not ask gsi_replace
to update EH info here.
ada/
* checks.adb (Apply_Divide_Checks): Ensure that operands are not
evaluated twice.
From-SVN: r250525
Alexander Monakov [Tue, 25 Jul 2017 14:36:03 +0000 (17:36 +0300)]
match.pd: combine successive multiplications by constants
* match.pd ((X * CST1) * CST2): Simplify to X * (CST1 * CST2).
testsuite:
* gcc.dg/tree-ssa/assoc-2.c: Enhance.
* gcc.dg/tree-ssa/slsr-4.c: Adjust.
From-SVN: r250524
Alexander Monakov [Tue, 25 Jul 2017 14:33:39 +0000 (17:33 +0300)]
match.pd: reassociate multiplications
* match.pd ((X * CST) * Y): Reassociate to (X * Y) * CST.
testsuite/
* gcc.dg/tree-ssa/assoc-2.c: New testcase.
From-SVN: r250523
Torsten Duwe [Tue, 25 Jul 2017 14:16:10 +0000 (14:16 +0000)]
c-attribs.c (c_common_attribute_table): Add entry for "patchable_function_entry".
2017-07-07 Torsten Duwe <duwe@suse.de>
c-family/
* c-attribs.c (c_common_attribute_table): Add entry for
"patchable_function_entry".
lto/
* lto-lang.c (lto_attribute_table): Add entry for
"patchable_function_entry".
* common.opt: Introduce -fpatchable-function-entry
command line option, and its variables function_entry_patch_area_size
and function_entry_patch_area_start.
* opts.c (common_handle_option): Add -fpatchable_function_entry_ case,
including a two-value parser.
* target.def (print_patchable_function_entry): New target hook.
* targhooks.h (default_print_patchable_function_entry): New function.
* targhooks.c (default_print_patchable_function_entry): Likewise.
* toplev.c (process_options): Switch off IPA-RA if
patchable function entries are being generated.
* varasm.c (assemble_start_function): Look at the
patchable-function-entry command line switch and current
function attributes and maybe generate NOP instructions by
calling the print_patchable_function_entry hook.
* doc/extend.texi: Document patchable_function_entry attribute.
* doc/invoke.texi: Document -fpatchable_function_entry
command line option.
* doc/tm.texi.in (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY):
New target hook.
* doc/tm.texi: Re-generate.
* c-c++-common/patchable_function_entry-default.c: New test.
* c-c++-common/patchable_function_entry-decl.c: Likewise.
* c-c++-common/patchable_function_entry-definition.c: Likewise.
From-SVN: r250521
Jakub Jelinek [Tue, 25 Jul 2017 13:35:17 +0000 (15:35 +0200)]
re PR target/81532 (insn does not satisfy its constraints: extract_constrain_insn, at recog.c:2213)
PR target/81532
* config/i386/constraints.md (Yd, Ye): Use ALL_SSE_REGS for
TARGET_AVX512DQ rather than TARGET_AVX512BW.
* gcc.target/i386/pr80833-3.c: New test.
* gcc.target/i386/avx512dq-pr81532.c: New test.
* gcc.target/i386/avx512bw-pr81532.c: New test.
From-SVN: r250520
Tamar Christina [Tue, 25 Jul 2017 13:25:36 +0000 (13:25 +0000)]
parsecpu.awk (all_cores): Remove duplicates.
2017-07-25 Tamar Christina <tamar.christina@arm.com>
* config/arm/parsecpu.awk (all_cores): Remove duplicates.
From-SVN: r250519
Richard Biener [Tue, 25 Jul 2017 13:24:51 +0000 (13:24 +0000)]
re PR tree-optimization/81455 (Compile-time hog w/ -O1 -funswitch-loops)
2017-07-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/81455
* tree-ssa-loop-unswitch.c (find_loop_guard): Make sure to
not walk in cycles when looking for guards.
* gcc.dg/pr81455.c: New testcase.
From-SVN: r250518
Richard Biener [Tue, 25 Jul 2017 13:22:31 +0000 (13:22 +0000)]
re PR tree-optimization/81529 (ICE in vectorizable_induction, at tree-vect-loop.c:6613)
2017-07-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/81529
* tree-vect-stmts.c (process_use): Disregard live induction PHIs
when optimizing backedge uses.
* gfortran.dg/pr81529.f90: New testcase.
From-SVN: r250517
David Edelsohn [Tue, 25 Jul 2017 13:11:37 +0000 (13:11 +0000)]
dwarf2asm.c (dw2_asm_output_nstring): Encode double quote character for AIX.
* dwarf2asm.c (dw2_asm_output_nstring): Encode double quote
character for AIX.
* dwarf2out.c (output_macinfo): Copy debug_line_section_label
to dl_section_ref. On AIX, append an expression to subtract
the size of the section length to dl_section_ref.
From-SVN: r250516
Marek Polacek [Tue, 25 Jul 2017 12:06:12 +0000 (12:06 +0000)]
* c-decl.c (grokfield): Remove local variable.
From-SVN: r250513
Wilco Dijkstra [Tue, 25 Jul 2017 12:03:13 +0000 (12:03 +0000)]
re PR target/79041 (aarch64 backend emits R_AARCH64_ADR_PREL_PG_HI21 relocation despite -mpc-relative-literal-loads option being used)
Fix PR79041
Add missing scan assembler to testcase.
gcc/testsuite/
* gcc.target/aarch64/pr79041-2.c: Improve test.
From-SVN: r250512
Jakub Jelinek [Tue, 25 Jul 2017 11:44:49 +0000 (13:44 +0200)]
* ioparm.def: Use 1U << 31 instead of 1 << 31 as flags2 mask.
From-SVN: r250510
Segher Boessenkool [Tue, 25 Jul 2017 11:34:57 +0000 (13:34 +0200)]
Do not silently continue if config.{build,host,gcc} fails
If config.{build,host,gcc} fails, configure currently silently
continues. This then makes it much harder than necessary to notice
you made a stupid pasto in config.gcc (and where exactly).
* configure.ac: If any of the config.* scripts fail, exit 1.
* configure: Regenerate.
From-SVN: r250507
Richard Biener [Tue, 25 Jul 2017 11:28:08 +0000 (11:28 +0000)]
re PR tree-optimization/81410 (-O3 breaks code)
2017-07-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/81410
* gcc.dg/vect/pr81410.c: Do not typedef uint64_t.
From-SVN: r250506
Richard Biener [Tue, 25 Jul 2017 11:05:55 +0000 (11:05 +0000)]
re PR tree-optimization/81546 (ICE at -O3 during GIMPLE pass dom)
2017-07-25 Richard Biener <rguenther@suse.de>
PR middle-end/81546
* tree-ssa-operands.c (verify_imm_links): Remove cap on number
of immediate uses, be more verbose on errors.
From-SVN: r250505
Richard Biener [Tue, 25 Jul 2017 11:02:32 +0000 (11:02 +0000)]
re PR tree-optimization/81510 (ice in operator[], at vec.h:749)
2017-07-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/81510
* tree-vect-loop.c (vect_is_simple_reduction): When the
reduction stmt is not inside the loop bail out.
* gcc.dg/torture/pr81510.c: New testcase.
* gcc.dg/torture/pr81510-2.c: Likewise.
From-SVN: r250504
Richard Biener [Tue, 25 Jul 2017 10:59:15 +0000 (10:59 +0000)]
re PR tree-optimization/81303 (410.bwaves regression caused by r249919)
2017-07-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/81303
* tree-vect-loop-manip.c (vect_loop_versioning): Build
profitability check against LOOP_VINFO_NITERSM1.
From-SVN: r250503
Alexander Monakov [Tue, 25 Jul 2017 10:53:58 +0000 (13:53 +0300)]
domwalk: optimize basic block sorting
* domwalk.c (cmp_bb_postorder): Simplify.
(sort_bbs_postorder): New function. Use it...
(dom_walker::walk): ...here to optimize common cases.
From-SVN: r250502
Martin Liska [Tue, 25 Jul 2017 10:20:23 +0000 (12:20 +0200)]
Fix wrong condition in ipa-visibility.c (PR ipa/81520).
2017-07-25 Martin Liska <mliska@suse.cz>
PR ipa/81520
* ipa-visibility.c (function_and_variable_visibility): Make the redirection
just on target that do supporting aliasing. Fix GNU coding style.
2017-07-25 Martin Liska <mliska@suse.cz>
PR ipa/81520
* gcc.dg/ipa/pr81520.c: New test.
From-SVN: r250501
Sebastian Huber [Tue, 25 Jul 2017 10:06:23 +0000 (10:06 +0000)]
[RTEMS] Add GCC Runtime Library Exception
gcc/
PR libgcc/61152
* config/aarch64/rtems.h: Add GCC Runtime Library Exception.
Format changes.
* config/arm/rtems.h: Likewise.
* config/bfin/rtems.h: Likewise.
* config/i386/rtemself.h: Likewise.
* config/lm32/rtems.h: Likewise.
* config/m32c/rtems.h: Likewise.
* config/m68k/rtemself.h: Likewise.
* config/microblaze/rtems.h: Likewise.
* config/mips/rtems.h: Likewise.
* config/moxie/rtems.h: Likewise.
* config/nios2/rtems.h: Likewise.
* config/powerpcspe/rtems.h: Likewise.
* config/rs6000/rtems.h: Likewise.
* config/rtems.h: Likewise.
* config/sh/rtems.h: Likewise.
* config/sh/rtemself.h: Likewise.
* config/sparc/rtemself.h: Likewise.
From-SVN: r250500
Georg-Johann Lay [Tue, 25 Jul 2017 09:59:44 +0000 (09:59 +0000)]
re PR lto/81487 ([mingw32] ld.exe: error: asprintf failed)
gcc/
PR 81487
* hsa-brig.c (brig_init): Use xasprintf instead of asprintf.
* gimple-pretty-print.c (dump_profile, dump_probability): Same.
* tree-ssa-structalias.c (alias_get_name): Same.
From-SVN: r250499
Marek Polacek [Tue, 25 Jul 2017 09:49:08 +0000 (09:49 +0000)]
re PR c/81364 (Bogus -Wmultistatement-macros warning)
PR c/81364
* c-parser.c (c_parser_else_body): Don't warn about multistatement
macro expansion if the body is in { }.
(c_parser_while_statement): Likewise.
(c_parser_for_statement): Likewise.
* Wmultistatement-macros-12.c: New test.
From-SVN: r250498
Bin Cheng [Tue, 25 Jul 2017 08:31:22 +0000 (08:31 +0000)]
re PR target/81414 (ICE in fma steering on AArch64/cortex-a57)
PR target/81414
* config/aarch64/cortex-a57-fma-steering.c (analyze): Skip fmul/fmac
instructions if no du chain is found.
gcc/testsuite
* gcc.target/aarch64/pr81414.C: New.
From-SVN: r250496
Georg-Johann Lay [Tue, 25 Jul 2017 08:05:11 +0000 (08:05 +0000)]
* config/avr/avr-log.c (avr_log_vadump) ['T']: Print NULL-TREE.
From-SVN: r250495
Richard Biener [Tue, 25 Jul 2017 07:04:07 +0000 (07:04 +0000)]
re PR sanitizer/81505 (ICE in tree-ssa-loop-manip.c:95 with -fsanitize=signed-integer-overflow)
2017-07-25 Richard Biener <rguenther@suse.de>
PR middle-end/81505
* fold-const.c (fold_negate_const): TREE_OVERFLOW should be
sticky.
* gcc.dg/ubsan/pr81505.c: New testcase.
From-SVN: r250494
GCC Administrator [Tue, 25 Jul 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r250493
Daniel Santos [Mon, 24 Jul 2017 22:00:35 +0000 (22:00 +0000)]
PR testsuite/80759 Fix broken tests in ms-sysv.exp
2017-07-24 Daniel Santos <daniel.santos@pobox.com>
PR testsuite/80759
* gcc.target/x86_64/abi/ms-sysv/do-test.S
(ELFFN_BEGIN): Rename to FN_TYPE.
(ELFFN_END): Rename to FN_SIZE.
(ASMNAME): New macro.
(FUNC): Rename to FUNC_BEGIN, use ASMNAME and use .globl instead of
.global.
(FUNC_END): Use ASMNAME.
(test_data_save): Remove.
(test_data_input): Likewise.
(test_data_output: Likewise.
(test_data_fn): Likewise.
(test_data_retaddr): Likewise.
(regs_to_mem): Make globals, use r10 instead of rax.
(mem_to_regs): Likewise.
(do_test_unaligned): Remove .cfi directives, remove pushf/popf, move
body to ms-sysv.c.
(do_test_aligned): Likewise.
* gcc.target/x86_64/abi/ms-sysv/ms-sysv.c:
Add dg-* directives.
(PASTE_STR): New macro.
(ASMNAME): Likewise.
(LOAD_TEST_DATA_ADDR): Likewise.
(TEST_DATA_OFFSET): Likewise.
(do_test_body0): New C function.
(do_test_body): New inline assembly routine.
* gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp
(runtest_ms_sysv): Modify.
From-SVN: r250489
Daniel Santos [Mon, 24 Jul 2017 21:59:57 +0000 (21:59 +0000)]
PR testsuite/80759 Fix -mcall-ms2sysv-xlogues on Darwin and Solaris
2017-07-24 Daniel Santos <daniel.santos@pobox.com>
PR testsuite/80759
* config.host: include i386/t-msabi for darwin and solaris.
* config/i386/i386-asm.h
(ELFFN): Rename to FN_TYPE.
(FN_SIZE): New macro.
(FN_HIDDEN): Likewise.
(ASMNAME): Likewise.
(FUNC_START): Rename to FUNC_BEGIN, use ASMNAME, replace .global with
.globl.
(HIDDEN_FUNC): Use ASMNAME and .globl instead of .global.
(SSE_SAVE): Convert to cpp macro, hard-code offset (always 0x60).
* config/i386/resms64.S: Use SSE_SAVE as cpp macro instead of gas
.macro.
* config/i386/resms64f.S: Likewise.
* config/i386/resms64fx.S: Likewise.
* config/i386/resms64x.S: Likewise.
* config/i386/savms64.S: Likewise.
* config/i386/savms64f.S: Likewise.
From-SVN: r250488
Michael Meissner [Mon, 24 Jul 2017 20:02:33 +0000 (20:02 +0000)]
rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Delete upper-regs options.
[gcc]
2017-07-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Delete
upper-regs options.
(ISA_2_7_MASKS_SERVER): Likewise.
(ISA_3_0_MASKS_IEEE): Likewise.
(OTHER_P8_VECTOR_MASKS): Likewise.
(OTHER_VSX_VECTOR_MASKS): Likewise.
(POWERPC_MASKS): Likewise.
(power7 cpu): Use ISA_2_6_MASKS_SERVER instead of using a
duplicate list of options.
* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Remove
explicit -mupper-regs options.
* config/rs6000/rs6000.opt (-mvsx-scalar-memory): Delete
-mupper-regs* options. Delete -mvsx-scalar-memory, which was an
alias for -mupper-regs-df.
* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Likewise.
(rs6000_init_hard_regno_mode_ok): Likewise.
(rs6000_option_override_internal): Likewise.
(rs6000_opt_masks): Likewise.
* config/rs6000/rs6000.h (TARGET_UPPER_REGS_DF): Define upper regs
options in terms of whether -mvsx or -mpower8-vector was used.
(TARGET_UPPER_REGS_DI): Likewise.
(TARGET_UPPER_REGS_SF): Likewise.
* doc/invoke.texi (RS/6000 and PowerPC Options): Delete the
-mupper-regs-* options.
[gcc/testsuite]
2017-07-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/pr65849-1.c: Delete, test no longer valid
since the upper-regs options have been deleted.
* gcc.target/powerpc/pr65849-2.c: Likewise.
* gcc.target/powerpc/pr80099-1.c: Likewise.
* gcc.target/powerpc/pr80099-2.c: Likewise.
* gcc.target/powerpc/pr80099-3.c: Likewise.
* gcc.target/powerpc/pr80099-4.c: Likewise.
* gcc.target/powerpc/pr80099-5.c: Likewise.
* gcc.target/powerpc/builtins-2-p9-runnable.c: Update test to
support removal of the upper-regs options.
* gcc.target/powerpc/p8vector-fp.c: Likewise.
* gcc.target/powerpc/p8vector-ldst.c: Likewise.
* gcc.target/powerpc/p9-dimode1.c: Likewise.
* gcc.target/powerpc/p9-dimode2.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-1.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-10.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-5.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-9.c: Likewise.
* gcc.target/powerpc/ppc-round.c: Likewise.
* gcc.target/powerpc/pr71720.c: Likewise.
* gcc.target/powerpc/pr72853.c: Likewise.
* gcc.target/powerpc/pr79907.c: Likewise.
* gcc.target/powerpc/pr78953.c: Likewise.
* gcc.target/powerpc/upper-regs-df.c: Likewise.
* gcc.target/powerpc/upper-regs-sf.c: Likewise.
* gcc.target/powerpc/vec-extract-1.c: Likewise.
* gcc.target/powerpc/vec-init-3.c: Likewise.
* gcc.target/powerpc/vec-init-6.c: Likewise.
* gcc.target/powerpc/vec-init-7.c: Likewise.
* gcc.target/powerpc/vec-set-char.c: Likewise.
* gcc.target/powerpc/vec-set-int.c: Likewise.
* gcc.target/powerpc/vec-set-short.c: Likewise.
From-SVN: r250482
Segher Boessenkool [Mon, 24 Jul 2017 19:48:57 +0000 (21:48 +0200)]
passes: Print a header in emergency_dump_function
Currently the emergency dump has no separation whatsoever from any
previous output in the dump file, making it harder than necessary
to find.
* passes.c (emergency_dump_function): Print some empty lines and a
header before the RTL dump.
From-SVN: r250481
Segher Boessenkool [Mon, 24 Jul 2017 19:47:15 +0000 (21:47 +0200)]
cfgrtl: Don't crash in rtl_dump_bb if BB_END(bb) is NULL
Currently rtl_dump_bb crashes if BB_END(bb) is NULL, like it can be
during expand (rtl_dump_bb can be called at any time, by the emergency
dump added recently for example).
This fixes it.
* cfgrtl.c (rtl_dump_bb): Don't call NEXT_INSN on NULL.
From-SVN: r250480
Wilco Dijkstra [Mon, 24 Jul 2017 18:06:37 +0000 (18:06 +0000)]
re PR target/79041 (aarch64 backend emits R_AARCH64_ADR_PREL_PG_HI21 relocation despite -mpc-relative-literal-loads option being used)
Fix PR79041
As described in PR79041, -mcmodel=large -mpc-relative-literal-loads
may be used to avoid generating ADRP/ADD or ADRP/LDR. However both
trunk and GCC7 may still emit ADRP for some constant pool literals.
Fix this by adding a aarch64_pcrelative_literal_loads check.
gcc/
PR target/79041
* config/aarch64/aarch64.c (aarch64_classify_symbol):
Avoid SYMBOL_SMALL_ABSOLUTE for literals with pc-relative literals
gcc/testsuite/
* gcc.target/aarch64/pr79041-2.c: New test.
From-SVN: r250478
Carl Love [Mon, 24 Jul 2017 16:50:22 +0000 (16:50 +0000)]
rs6000-c.c: Add support for built-in functions vector float vec_extract_fp32_from_shorth...
gcc/ChangeLog:
2017-07-24 Carl Love <cel@us.ibm.com>
* config/rs6000/rs6000-c.c: Add support for built-in functions
vector float vec_extract_fp32_from_shorth (vector unsigned short);
vector float vec_extract_fp32_from_shortl (vector unsigned short);
* config/rs6000/altivec.h (vec_extract_fp_from_shorth,
vec_extract_fp_from_shortl): Add defines for the two builtins.
* config/rs6000/rs6000-builtin.def (VEXTRACT_FP_FROM_SHORTH,
VEXTRACT_FP_FROM_SHORTL): Add BU_P9V_OVERLOAD_1 and BU_P9V_VSX_1
new builtins.
* config/rs6000/vsx.md vsx_xvcvhpsp): Add define_insn.
(vextract_fp_from_shorth, vextract_fp_from_shortl): Add define_expands.
* doc/extend.texi: Update the built-in documentation file for the
new built-in function.
gcc/testsuite/ChangeLog:
2017-07-24 Carl Love <cel@us.ibm.com>
* gcc.target/powerpc/builtins-3-p9-runnable.c: Add new test file for
the new built-ins.
From-SVN: r250477
Jakub Jelinek [Mon, 24 Jul 2017 13:02:06 +0000 (15:02 +0200)]
re PR target/81521 (After [r250413] GCC 8.0 doesn't compile for Windows)
PR bootstrap/81521
* tree.def: Remove TYPE_METHODS documentation, adjust TYPE_FIELDS
documentation.
* doc/generic.texi: Likewise.
* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition): Look
for FUNCTION_DECLs in TYPE_FIELDS rather than TYPE_METHODS.
From-SVN: r250476
Jackson Woodruff [Mon, 24 Jul 2017 11:37:09 +0000 (11:37 +0000)]
[AArch64, Patch] Generate MLA when multiply + add vector by scalar
(On behalf of jackson.woodruff@arm.com)
This merges vector multiplies and adds into a single mla instruction
when the multiplication is done by a scalar.
typedef int __attribute__((vector_size(16))) vec;
vec
mla1(vec v0, vec v1, int v2)
{
return v0 + v1 * c;
}
Now generates:
mla1:
fmov s2, w0
mla v0.4s, v1.4s, v2.s[0]
This is also done for the identical case for a multiply followed by a
subtract of vectors with an integer operand on the multiply.
gcc/
2017-07-24 Jackson Woodruff <jackson.woodruff@arm.com>
* config/aarch64/aarch64-simd.md (aarch64_mla_elt_merge<mode>): New.
(aarch64_mls_elt_merge<mode>): Likewise.
gcc/testsuite/
2017-07-24 Jackson Woodruff <jackson.woodruff@arm.com>
* gcc.target/aarch64/simd/vmla_elem_1.c: New.
From-SVN: r250475
Thomas Koenig [Mon, 24 Jul 2017 10:48:57 +0000 (10:48 +0000)]
ChangeLog: Fix typo in date and ommitted PR number.
2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
* ChangeLog: Fix typo in date and ommitted PR number.
From-SVN: r250474
Thomas Koenig [Mon, 24 Jul 2017 10:42:23 +0000 (10:42 +0000)]
unix.c (buf_write): Return early if there is nothing to write.
2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
* io/unix.c (buf_write): Return early if there is
nothing to write.
From-SVN: r250473
Thomas Koenig [Mon, 24 Jul 2017 10:36:30 +0000 (10:36 +0000)]
dump-parse-tree.c (show_symbol): Show binding label if present.
2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
* dump-parse-tree.c (show_symbol): Show binding label if present.
From-SVN: r250472
Thomas Koenig [Mon, 24 Jul 2017 09:50:28 +0000 (09:50 +0000)]
re PR fortran/66102 (dependency mishandling with reallocation on assignment)
2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
Mikael Morin <mikael@gcc.gnu.org>
PR fortran/66102
* fortran/trans-array.c (gfc_conv_resolve_dependencies):
Break if dependency has been found.
2017-07-24 Thomas Koenig <tkoenig@gcc.gnu.org>
Mikael Morin <mikael@gcc.gnu.org>
PR fortran/66102
* gfortran.dg/realloc_on_assign_28.f90: New test.
Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
From-SVN: r250471
GCC Administrator [Mon, 24 Jul 2017 00:17:01 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r250470
Krister Walfridsson [Sun, 23 Jul 2017 23:43:08 +0000 (23:43 +0000)]
config.gcc (*-*-netbsd*): Remove check for NetBSD versions not having __cxa_atexit.
2017-07-23 Krister Walfridsson <krister.walfridsson@gmail.com>
* config.gcc (*-*-netbsd*): Remove check for NetBSD versions not
having __cxa_atexit.
From-SVN: r250466
Michael Collison [Sun, 23 Jul 2017 23:07:12 +0000 (23:07 +0000)]
arm.c (arm_option_override): Deprecate use of -mstructure-size-boundary.
2017-07-23 Michael Collison <michael.collison@arm.com>
* config/arm/arm.c (arm_option_override): Deprecate
use of -mstructure-size-boundary.
* config/arm/arm.opt: Deprecate -mstructure-size-boundary.
* doc/invoke.texi: Deprecate -mstructure-size-boundary.
From-SVN: r250465
Michael Collison [Sun, 23 Jul 2017 22:46:34 +0000 (22:46 +0000)]
Add optimized implementation of mersenne twister for aarch64
2017-07-23 Michael Collison <michael.collison@arm.com>
Add optimized implementation of mersenne twister for aarch64
* config/cpu/aarch64/opt/ext/opt_random.h: New file.
(__arch64_recursion): New function.
(__aarch64_lsr_128): New function.
(__aarch64_lsl_128): New function.
(operator==): New function.
(simd_fast_mersenne_twister_engine): Implement
method _M_gen_rand.
* config/cpu/aarch64/opt/bits/opt_random.h: New file.
* include/ext/random: (simd_fast_mersenne_twister_engine):
add _M_state private array.
From-SVN: r250464
Alexander Monakov [Sun, 23 Jul 2017 18:40:24 +0000 (21:40 +0300)]
fortran: fix pair_cmp qsort comparator
* interface.c (pair_cmp): Fix gfc_symbol comparison. Adjust comment.
From-SVN: r250463
David Edelsohn [Sun, 23 Jul 2017 17:55:19 +0000 (17:55 +0000)]
pr56727-2.c: Limit to powerpc-linux.
* gcc.dg/pr56727-2.c: Limit to powerpc-linux.
* gcc.dg/debug/dwarf2/stacked-qualified-types-3.c: Remove AIX XFAIL.
From-SVN: r250462
Bill Schmidt [Sun, 23 Jul 2017 15:32:37 +0000 (15:32 +0000)]
re PR target/80695 (gratuitous use of stxvx to store multiple pointers)
2017-07-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/80695
* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
Reduce cost estimate for direct moves.
From-SVN: r250461
Uros Bizjak [Sun, 23 Jul 2017 10:28:26 +0000 (12:28 +0200)]
re PR target/80569 (i686: "shrx" instruction generated in 16-bit mode)
PR target/80569
* config/i386/i386.c (ix86_option_override_internal): Disable
BMI, BMI2 and TBM instructions for -m16.
testsuite/ChangeLog:
PR target/80569
* gcc.target/i386/pr80569.c: New test.
From-SVN: r250459
François Dumont [Sun, 23 Jul 2017 08:41:35 +0000 (08:41 +0000)]
re PR libstdc++/81064 (Inline namespace regression)
2017-07-23 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/81064
* include/bits/algorithmfwd.h: Reorganize versioned namespace.
* include/bits/basic_string.h: Likewise.
* include/bits/c++config: Likewise.
* include/bits/deque.tcc: Likewise.
* include/bits/forward_list.h: Likewise.
* include/bits/forward_list.tcc: Likewise.
* include/bits/hashtable_policy.h: Likewise.
* include/bits/list.tcc: Likewise.
* include/bits/move.h: Likewise.
* include/bits/quoted_string.h: Likewise.
* include/bits/random.h: Likewise.
* include/bits/random.tcc: Likewise.
* include/bits/regex.h: Likewise.
* include/bits/regex.tcc: Likewise.
* include/bits/regex_automaton.h: Likewise.
* include/bits/regex_automaton.tcc: Likewise.
* include/bits/regex_compiler.h: Likewise.
* include/bits/regex_compiler.tcc: Likewise.
* include/bits/regex_constants.h: Likewise.
* include/bits/regex_error.h: Likewise.
* include/bits/regex_executor.h: Likewise.
* include/bits/regex_executor.tcc: Likewise.
* include/bits/regex_scanner.h: Likewise.
* include/bits/regex_scanner.tcc: Likewise.
* include/bits/specfun.h: Likewise.
* include/bits/stl_algo.h: Likewise.
* include/bits/stl_algobase.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_iterator.h: Likewise.
* include/bits/stl_iterator_base_funcs.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_relops.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/uniform_int_dist.h: Likewise.
* include/bits/unordered_map.h: Likewise.
* include/bits/unordered_set.h: Likewise.
* include/bits/vector.tcc: Likewise.
* include/c_global/cmath: Likewise.
* include/c_std/cmath: Likewise.
* include/decimal/decimal: Likewise.
* include/decimal/decimal.h: Likewise.
* include/experimental/algorithm: Likewise.
* include/experimental/any: Likewise.
* include/experimental/array: Likewise.
* include/experimental/bits/erase_if.h: Likewise.
* include/experimental/bits/fs_dir.h: Likewise.
* include/experimental/bits/fs_fwd.h: Likewise.
* include/experimental/bits/fs_ops.h: Likewise.
* include/experimental/bits/fs_path.h: Likewise.
* include/experimental/bits/lfts_config.h: Likewise.
* include/experimental/bits/shared_ptr.h: Likewise.
* include/experimental/bits/string_view.tcc: Likewise.
* include/experimental/chrono: Likewise.
* include/experimental/deque: Likewise.
* include/experimental/filesystem: Likewise.
* include/experimental/forward_list: Likewise.
* include/experimental/functional: Likewise.
* include/experimental/iterator: Likewise.
* include/experimental/list: Likewise.
* include/experimental/map: Likewise.
* include/experimental/memory: Likewise.
* include/experimental/memory_resource: Likewise.
* include/experimental/numeric: Likewise.
* include/experimental/optional: Likewise.
* include/experimental/propagate_const: Likewise.
* include/experimental/random: Likewise.
* include/experimental/ratio: Likewise.
* include/experimental/regex: Likewise.
* include/experimental/set: Likewise.
* include/experimental/source_location: Likewise.
* include/experimental/string: Likewise.
* include/experimental/string_view: Likewise.
* include/experimental/system_error: Likewise.
* include/experimental/tuple: Likewise.
* include/experimental/type_traits: Likewise.
* include/experimental/unordered_map: Likewise.
* include/experimental/unordered_set: Likewise.
* include/experimental/utility: Likewise.
* include/experimental/vector: Likewise.
* include/ext/bitmap_allocator.h: Likewise.
* include/ext/codecvt_specializations.h: Likewise.
* include/ext/rope: Likewise.
* include/ext/typelist.h: Likewise.
* include/std/chrono: Likewise.
* include/std/complex: Likewise.
* include/std/functional: Likewise.
* include/std/numeric: Likewise.
* include/std/string_view: Likewise.
* include/std/thread: Likewise.
* include/std/variant: Likewise.
* include/tr1/array: Likewise.
* include/tr1/bessel_function.tcc: Likewise.
* include/tr1/beta_function.tcc: Likewise.
* include/tr1/cmath: Likewise.
* include/tr1/complex: Likewise.
* include/tr1/ell_integral.tcc: Likewise.
* include/tr1/exp_integral.tcc: Likewise.
* include/tr1/functional: Likewise.
* include/tr1/functional_hash.h: Likewise.
* include/tr1/gamma.tcc: Likewise.
* include/tr1/hashtable.h: Likewise.
* include/tr1/hashtable_policy.h: Likewise.
* include/tr1/hypergeometric.tcc: Likewise.
* include/tr1/legendre_function.tcc: Likewise.
* include/tr1/modified_bessel_func.tcc: Likewise.
* include/tr1/poly_hermite.tcc: Likewise.
* include/tr1/poly_laguerre.tcc: Likewise.
* include/tr1/random.h: Likewise.
* include/tr1/random.tcc: Likewise.
* include/tr1/regex: Likewise.
* include/tr1/riemann_zeta.tcc: Likewise.
* include/tr1/shared_ptr.h: Likewise.
* include/tr1/special_function_util.h: Likewise.
* include/tr1/tuple: Likewise.
* include/tr1/type_traits: Likewise.
* include/tr1/unordered_map.h: Likewise.
* include/tr1/unordered_set.h: Likewise.
* include/tr1/utility: Likewise.
* include/tr2/bool_set: Likewise.
* include/tr2/bool_set.tcc: Likewise.
* include/tr2/dynamic_bitset: Likewise.
* include/tr2/dynamic_bitset.tcc: Likewise.
* include/tr2/ratio: Likewise.
* include/tr2/type_traits: Likewise.
* src/c++11/chrono.cc: Likewise.
* src/c++11/compatibility-c++0x.cc: Likewise.
* src/c++11/compatibility-chrono.cc: Likewise.
* src/c++11/cxx11-shim_facets.cc: Likewise.
* src/c++11/hashtable_c++0x.cc: Likewise.
* src/c++11/placeholders.cc: Likewise.
* src/c++11/thread.cc: Likewise.
* src/c++98/bitmap_allocator.cc: Likewise.
* src/c++98/hashtable_tr1.cc: Likewise.
* src/c++98/list.cc: Likewise.
* src/shared/hashtable-aux.cc: Likewise.
* testsuite/20_util/duration/literals/range.cc: Adapt line number.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
* testsuite/20_util/forward/c_neg.cc: Likewise.
* testsuite/20_util/forward/f_neg.cc: Likewise.
* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
* testsuite/26_numerics/random/pr60037-neg.cc: Likewise.
* python/libstdcxx/v6/printers.py: Adapt.
From-SVN: r250458
GCC Administrator [Sun, 23 Jul 2017 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r250457
GCC Administrator [Sat, 22 Jul 2017 00:16:29 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r250451
Carl Love [Sat, 22 Jul 2017 00:16:26 +0000 (00:16 +0000)]
rs6000-c.c (altivec_overloaded_builtins): Add ALTIVEC_BUILTIN_VMULESW...
gcc/ChangeLog:
2017-07-21 Carl Love <cel@us.ibm.com>
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
* config/rs6000/altivec.md (MVULEUW, VMULESW, VMULOUW,
VMULOSW): New enum "unspec" values.
(altivec_vmuleuw, altivec_vmulesw, altivec_vmulouw,
altivec_vmulosw): New patterns.
* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
VMULOSW): Add definitions.
gcc/testsuite/ChangeLog:
2017-07-21 Carl Love <cel@us.ibm.com>
* gcc.target/powerpc/builtins-2.c (vmulosh, vmulouh, vmulesh,
vmuleuh): Fix scan-assembler-times should check for word not half word
instructions.
From-SVN: r250450
Jim Wilson [Fri, 21 Jul 2017 21:56:57 +0000 (21:56 +0000)]
Add RDMA support to falkor port.
gcc/
* config/aarch64/aarch64-cores.def (falkor): Add AARCH64_FL_RDMA.
(qdf24xx): Likewise.
* config/aarch64/aarch64-options-extensions.def (rdma); New.
* config/aarch64/aarch64.h (AARCH64_FL_RDMA): New.
(AARCH64_FL_V8_1): Renumber.
(AARCH64_FL_FOR_ARCH8_1): Add AARCH64_FL_RDMA.
(AARCH64_ISA_RDMA): Use AARCH64_FL_RDMA.
* config/aarch64/arm_neon.h: Use +rdma instead of arch=armv8.1-a.
* doc/invoke.texi (AArch64 Options): Mention +rmda in -march docs. Add
rdma to feature modifiers list.
gcc/testsuite/
* lib/target-supports.exp (add_options_for_arm_v8_1a_neon): Delete
redundant -march option.
(check_effective_target_arm_v8_1a_neon_ok_nocache): Try armv8-a+rdma
in addition to armv8.1-a.
From-SVN: r250444
Ian Lance Taylor [Fri, 21 Jul 2017 20:25:13 +0000 (20:25 +0000)]
syscall: call f?statfs64 on GNU/Linux
We unconditionally set _FILE_OFFSET_BITS to 64 in configure.ac, so we
should unconditionally call the statfs64 and fstatfs64 functions.
These functions should be available on all versions of GNU/Linux since 2.6.
On 64-bit systems they are aliased to statfs/fstatfs, and on 32-bit
systems they use the 64-bit data structures.
Fixes golang/go#20922
Reviewed-on: https://go-review.googlesource.com/50635
From-SVN: r250443
Yury Gribov [Fri, 21 Jul 2017 19:48:51 +0000 (19:48 +0000)]
re PR middle-end/56727 (Recursive call goes through the PLT unnecessarily)
2017-07-21 Yury Gribov <tetra2005@gmail.com>
PR middle-end/56727
* ipa-visibility (function_and_variable_visibility): Convert
recursive PLT call to direct call if appropriate.
* gcc.dg/pr56727-1.c: New test.
* gcc.dg/pr56727-2.c: New test.
From-SVN: r250442
Nathan Sidwell [Fri, 21 Jul 2017 19:23:40 +0000 (19:23 +0000)]
search.c (lookup_conversion_operator): Return overloads.
* search.c (lookup_conversion_operator): Return overloads.
(lookup_fnfields_idx_nolazy): Absorb into ...
(lookup_fnfields_slot_nolaxy): ... here.
(lookup_fnfields_1): Absorb into ...
(lookup_fnfields_slot): ... here.
From-SVN: r250440
Ian Lance Taylor [Fri, 21 Jul 2017 18:27:35 +0000 (18:27 +0000)]
runtime: don't use runtime_lock in __go_get_backtrace_state
If getSiginfo does not know how to determine the PC, it will call
runtime_callers. That can happen in a thread that was started by
non-Go code, in which case the TLS variable g will not be set, in
which case runtime_lock will crash.
Avoid the problem by using atomic operations for the lock. This is OK
since creating a backtrace state is fast and never blocks.
The test case is TestCgoExternalThreadSIGPROF in the runtime package
on a system that getSiginfo doesn't handle specially.
Updates golang/go#20931
Reviewed-on: https://go-review.googlesource.com/50650
From-SVN: r250439
Nathan Sidwell [Fri, 21 Jul 2017 18:11:23 +0000 (18:11 +0000)]
Remove special CDtor METHOD_VEC slots.
* cp-tree.h (CLASSTYPE_CONSTRUCTOR_SLOT,
CLASSTYPE_DESTRUCTOR_SLOT): Delete.
(CLASSTYPE_CONSTRUCTORS): Use lookup_fnfields_slot_nolazy.
(CLASSTYPE_DESTRUCTOR): Likewise.
* class (add_method): Don't use special cdtor slots.
* search.c (lookup_fnfields_idx_nolazy): Likewise.
(look_for_overrides_here): Use lookup_fnfields_slot.
* semantics (classtype_has_nothrow_assign_or_copy_p): Likewise.
From-SVN: r250437
Ian Lance Taylor [Fri, 21 Jul 2017 18:08:01 +0000 (18:08 +0000)]
runtime: handle PPC/PPC64 GNU/Linux in getSiginfo
Updates golang/go#20931
Reviewed-on: https://go-review.googlesource.com/50631
From-SVN: r250436
Tony Reix [Fri, 21 Jul 2017 18:05:08 +0000 (18:05 +0000)]
filetype.awk: Add AIX XCOFF type detection.
* filetype.awk: Add AIX XCOFF type detection.
* configure.ac: Recognize xcoff format.
* Makefile.am (FORMAT_FILES): Add xcoff.c.
* fileline.c: Include <unistd.h>.
(fileline_initialize): Add case for AIX procfs.
* xcoff.c: New file.
* configure, Makefile.in: Rebuild.
From-SVN: r250435
Nathan Sidwell [Fri, 21 Jul 2017 17:58:48 +0000 (17:58 +0000)]
call.c (add_candidates): Move decls to initialization.
* call.c (add_candidates): Move decls to initialization. Don't
use !!.
From-SVN: r250434
Ian Lance Taylor [Fri, 21 Jul 2017 17:50:14 +0000 (17:50 +0000)]
runtime: allocate more stack space in CgoCallbackGC test
Allocate enough stack space so that the test will work on a system
that does not support split stacks.
This test is actually not very meaningful for gccgo at present, but it
doesn't hurt to keep running it.
Updates golang/go#20931
Reviewed-on: https://go-review.googlesource.com/50630
From-SVN: r250433
Steven Munroe [Fri, 21 Jul 2017 17:44:22 +0000 (17:44 +0000)]
Now completeting the mmintrin.h intrinsic headers for PowerPC by
adding the DG tests.
2017-07-21 Steven Munroe <munroesj@gcc.gnu.org>
* gcc.target/powerpc/mmx-check.h: New file.
* gcc.target/powerpc/mmx-packs.c: New file.
* gcc.target/powerpc/mmx-packssdw-1.c: New file.
* gcc.target/powerpc/mmx-packsswb-1.c: New file.
* gcc.target/powerpc/mmx-packuswb-1.c: New file.
* gcc.target/powerpc/mmx-paddb-1.c: New file.
* gcc.target/powerpc/mmx-paddd-1.c: New file.
* gcc.target/powerpc/mmx-paddsb-1.c: New file.
* gcc.target/powerpc/mmx-paddsw-1.c: New file.
* gcc.target/powerpc/mmx-paddusb-1.c: New file.
* gcc.target/powerpc/mmx-paddusw-1.c: New file.
* gcc.target/powerpc/mmx-paddw-1.c: New file.
* gcc.target/powerpc/mmx-pcmpeqb-1.c: New file.
* gcc.target/powerpc/mmx-pcmpeqd-1.c: New file.
* gcc.target/powerpc/mmx-pcmpeqw-1.c: New file.
* gcc.target/powerpc/mmx-pcmpgtb-1.c: New file.
* gcc.target/powerpc/mmx-pcmpgtd-1.c: New file.
* gcc.target/powerpc/mmx-pcmpgtw-1.c: New file.
* gcc.target/powerpc/mmx-pmaddwd-1.c: New file.
* gcc.target/powerpc/mmx-pmulhw-1.c: New file.
* gcc.target/powerpc/mmx-pmullw-1.c: New file.
* gcc.target/powerpc/mmx-pslld-1.c: New file.
* gcc.target/powerpc/mmx-psllw-1.c: New file.
* gcc.target/powerpc/mmx-psrad-1.c: New file.
* gcc.target/powerpc/mmx-psraw-1.c: New file.
* gcc.target/powerpc/mmx-psrld-1.c: New file.
* gcc.target/powerpc/mmx-psrlw-1.c: New file.
* gcc.target/powerpc/mmx-psubb-2.c: New file.
* gcc.target/powerpc/mmx-psubd-2.c: New file.
* gcc.target/powerpc/mmx-psubsb-1.c: New file.
* gcc.target/powerpc/mmx-psubsw-1.c: New file.
* gcc.target/powerpc/mmx-psubusb-1.c: New file.
* gcc.target/powerpc/mmx-psubusw-1.c: New file.
* gcc.target/powerpc/mmx-psubw-2.c: New file.
* gcc.target/powerpc/mmx-punpckhbw-1.c: New file.
* gcc.target/powerpc/mmx-punpckhdq-1.c: New file.
* gcc.target/powerpc/mmx-punpckhwd-1.c: New file.
* gcc.target/powerpc/mmx-punpcklbw-1.c: New file.
* gcc.target/powerpc/mmx-punpckldq-1.c: New file.
* gcc.target/powerpc/mmx-punpcklwd-1.c: New file.
From-SVN: r250432
Andrew Pinski [Fri, 21 Jul 2017 17:16:51 +0000 (17:16 +0000)]
tree-ssa-sccvn.c (vn_nary_op_eq): Check BIT_INSERT_EXPR's operand 1 to see if the types precision matches.
2017-07-21 Andrew Pinski <apinski@cavium.com>
* tree-ssa-sccvn.c (vn_nary_op_eq): Check BIT_INSERT_EXPR's
operand 1 to see if the types precision matches.
* fold-const.c (operand_equal_p): Likewise.
From-SVN: r250431
Jonathan Wakely [Fri, 21 Jul 2017 16:05:10 +0000 (17:05 +0100)]
Add AddressSanitizer annotations to std::vector
* config/allocator/malloc_allocator_base.h [__SANITIZE_ADDRESS__]
(_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define.
* config/allocator/new_allocator_base.h [__SANITIZE_ADDRESS__]
(_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define.
* doc/xml/manual/using.xml (_GLIBCXX_SANITIZE_VECTOR): Document macro.
* include/bits/stl_vector.h [_GLIBCXX_SANITIZE_VECTOR]
(_Vector_impl::_Asan, _Vector_impl::_Asan::_Reinit)
(_Vector_impl::_Asan::_Grow, _GLIBCXX_ASAN_ANNOTATE_REINIT)
(_GLIBCXX_ASAN_ANNOTATE_GROW, _GLIBCXX_ASAN_ANNOTATE_GREW)
(_GLIBCXX_ASAN_ANNOTATE_SHRINK, _GLIBCXX_ASAN_ANNOTATE_BEFORE_DEALLOC):
Define annotation helper types and macros.
(vector::~vector, vector::push_back, vector::pop_back)
(vector::_M_erase_at_end): Add annotations.
* include/bits/vector.tcc (vector::reserve, vector::emplace_back)
(vector::insert, vector::_M_erase, vector::operator=)
(vector::_M_fill_assign, vector::_M_assign_aux)
(vector::_M_insert_rval, vector::_M_emplace_aux)
(vector::_M_insert_aux, vector::_M_realloc_insert)
(vector::_M_fill_insert, vector::_M_default_append)
(vector::_M_shrink_to_fit, vector::_M_range_insert): Annotate.
From-SVN: r250430
Georg-Johann Lay [Fri, 21 Jul 2017 15:58:14 +0000 (15:58 +0000)]
re PR lto/81487 ([mingw32] ld.exe: error: asprintf failed)
lto-plugin/
PR lto/81487
* lto-plugin.c (claim_file_handler): Use xasprintf instead of
asprintf.
[hi!=0]: Swap hi and lo arguments supplied to xasprintf.
From-SVN: r250428
Richard Biener [Fri, 21 Jul 2017 11:32:39 +0000 (11:32 +0000)]
re PR tree-optimization/81303 (410.bwaves regression caused by r249919)
2017-07-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/81303
* tree-vect-data-refs.c (vect_get_peeling_costs_all_drs): Pass
in datarefs vector. Allow NULL dr0 for no peeling cost estimate.
(vect_peeling_hash_get_lowest_cost): Adjust.
(vect_enhance_data_refs_alignment): Likewise. Use
vect_get_peeling_costs_all_drs to compute the penalty for no
peeling to match up costs.
From-SVN: r250424
Richard Biener [Fri, 21 Jul 2017 11:32:01 +0000 (11:32 +0000)]
re PR tree-optimization/81500 (ICE with -O3 in process_use, at tree-vect-stmts.c:506)
2017-06-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/81500
* tree-vect-loop.c (vect_is_simple_reduction): Properly fail if
we didn't identify a reduction path.
* gcc.dg/torture/pr81500.c: New testcase.
From-SVN: r250423
Tom de Vries [Fri, 21 Jul 2017 09:46:22 +0000 (09:46 +0000)]
Add missing edge probabilities in nvptx_goacc_reduction_init
2017-07-21 Tom de Vries <tom@codesourcery.com>
Cesar Philippidis <cesar@codesourcery.com>
PR gcov-profile/81442
* config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Add missing edge
probabilities.
Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r250422
Tom de Vries [Fri, 21 Jul 2017 09:46:05 +0000 (09:46 +0000)]
Add nvptx_override_options_after_change
2017-07-21 Tom de Vries <tom@codesourcery.com>
PR lto/81430
* config/nvptx/nvptx.c (nvptx_override_options_after_change): New
function.
(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define to
nvptx_override_options_after_change.
From-SVN: r250421
Ulrich Drepper [Fri, 21 Jul 2017 08:57:04 +0000 (08:57 +0000)]
dwarf2out.c (output_file_names): Avoid double testing for dwarf_version >= 5.
gcc/
* dwarf2out.c (output_file_names): Avoid double testing for
dwarf_version >= 5.
From-SVN: r250420
Georg-Johann Lay [Fri, 21 Jul 2017 08:20:51 +0000 (08:20 +0000)]
invoke.texi (AVR Built-in Functions): Re-layout section.
gcc/
* doc/invoke.texi (AVR Built-in Functions): Re-layout section.
From-SVN: r250419
Jan Hubicka [Fri, 21 Jul 2017 07:17:57 +0000 (09:17 +0200)]
cfgcleanup.c (flow_find_cross_jump): Do not crossjump across hot/cold regions.
* cfgcleanup.c (flow_find_cross_jump): Do not crossjump across
hot/cold regions.
(try_crossjump_to_edge): Do not punt on partitioned functions.
From-SVN: r250418
Jan Hubicka [Fri, 21 Jul 2017 07:17:22 +0000 (09:17 +0200)]
bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges): Put all BBs reachable only via paths crossing cold region to cold region.
* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
Put all BBs reachable only via paths crossing cold region to cold
region.
* cfgrtl.c (find_bbs_reachable_by_hot_paths): New function.
From-SVN: r250417
Richard Biener [Fri, 21 Jul 2017 07:13:57 +0000 (07:13 +0000)]
re PR tree-optimization/81303 (410.bwaves regression caused by r249919)
2016-07-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/81303
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Take
into account prologue and epilogue iterations when raising
min_profitable_iters to sth at least covering one vector iteration.
From-SVN: r250416
Tamar Christina [Fri, 21 Jul 2017 06:46:05 +0000 (06:46 +0000)]
arm.c (arm_test_cpu_arch_dat): Check for overlap.
2017-07-21 Tamar Christina <tamar.christina@arm.com>
* config/arm/arm.c (arm_test_cpu_arch_dat):
Check for overlap.
From-SVN: r250415
Nathan Sidwell [Fri, 21 Jul 2017 00:27:51 +0000 (00:27 +0000)]
Remove TYPE_METHODS.
gcc/
Remove TYPE_METHODS.
* tree.h (TYPE_METHODS): Delete.
* dwarf2out.c (gen_member_die): Member fns are on TYPE_FIELDS.
* dbxout.c (dbxout_type_fields): Ignore FUNCTION_DECLs.
(dbxout_type_methods): Scan TYPE_FIELDS.
(dbxout_type): Don't check TYPE_METHODS here.
* function.c (use_register_for_decl): Always ignore register for
class types when not optimizing.
* ipa-devirt.c (odr_types_equivalent_p): Delete TYPE_METHODS scan.
* tree.c (free_lang_data_in_type): Stitch out member functions and
templates from TYPE_FIELDS.
(build_distinct_type_copy, verify_type_variant,
verify_type): Member fns are on TYPE_FIELDS.
* tree-dump.c (dequeue_and_dump): No TYPE_METHODS.
* tree-pretty-print.c (dump_generic_node): Likewise.
gcc/cp/
Remove TYPE_METHODS.
* class.c (maybe_warn_about_overly_private_class,
finish_struct_methods, one_inheriting_sig, count_fields,
add_fields_to_record_type, check_field_decls, check_methods,
clone_function_decl, set_method_tm_attributes,
finalize_literal_type_property, check_bases_and_members,
create_vtable_ptr, determine_key_method,
unreverse_member_declarations, finish_struct,
add_vcall_offset_vtbl_entries_1): Member fns are on TYPE_FIELDS.
* decl.c (fixup_anonymous_aggr): Likewise.
* decl2.c (reset_type_linkage_2): Likewise.
* method.c (after_nsdmi_defaulted_late_checks,
lazily_declare_fn): Likewise.
* optimize.c (maybe_thunk_body, maybe_clone_body): Likewise.
* pt.c (instantiate_class_template_1, tsubst_expr,
do_type_instantiation, instantiate_pending_templates): Likewise.
* search.c (lookup_field_1): Likewise.
* semantics.c (finish_member_declaration,
finish_omp_declare_simd_methods): Likewise.
gcc/c-family/
Remove TYPE_METHODS.
* c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
dump_ada_template, print_ada_methods,
print_ada_declaration): Member fns are on TYPE_FIELDS.
gcc/objc/
Remove TYPE_METHODS.
* objc-runtime-shared-support.c (build_ivar_list_initializer):
Don't presume first item is a FIELD_DECL.
gcc/testsuite/
* g++.dg/ext/anon-struct6.C: Adjust diag.
* g++.old-deja/g++.other/anon4.C: Adjust diag.
libcc1/
Remove TYPE_METHODS.
* libcp1plugin.cc (plugin_build_decl): Member fns are on TYPE_FIELDS.
From-SVN: r250413
GCC Administrator [Fri, 21 Jul 2017 00:16:34 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r250412