[doc] Re: install.texi and alpha

2019-08-19 Thread Gerald Pfeifer
On Sun, 12 Mar 2017, Gerald Pfeifer wrote: >> References to dependencies on really, really old versions of >> binutils (talking 10+ years here) which I think we can remove. >> Let me follow-up with some of you with concrete suggestions >> around that. > > The alpha*-*-* section currently has this

Re: [PATCH] issue consistent warning for past-the-end array stores (PR 91457)

2019-08-19 Thread Martin Sebor
On 8/19/19 8:10 AM, Richard Biener wrote: On Sat, Aug 17, 2019 at 12:43 AM Martin Sebor wrote: With the recent enhancement to the strlen handling of multibyte stores the g++.dg/warn/Warray-bounds-4.C for zero-length arrays started failing on hppa (and probably elsewhere as well). This is part

Re: [PATCH 2/8] bpf: new GCC port

2019-08-19 Thread Jim Wilson
On Mon, Aug 19, 2019 at 5:01 AM Segher Boessenkool wrote: > > On Thu, Aug 15, 2019 at 12:22:46AM +0200, Jose E. Marchesi wrote: > > --- a/configure > > +++ b/configure > > @@ -754,6 +754,7 @@ infodir > > docdir > > oldincludedir > > includedir > > +runstatedir > > localstatedir > > sharedstat

Re: [EXTERNAL]Re: [PATCH 1/2][MIPS] Emit .note.GNU-stack for soft-float linux targets.

2019-08-19 Thread Jeff Law
On 8/12/19 9:21 AM, Dragan Mladjenovic wrote: > On 09.08.2019. 23:31, Jeff Law wrote: >> On 8/5/19 4:47 AM, Dragan Mladjenovic wrote: >>> From: "Dragan Mladjenovic" >>> >>> gcc/ChangeLog: >>> >>> 2019-08-05 Dragan Mladjenovic >>> >>> * config/mips/linux.h (NEED_INDICATE_EXEC_STACK): Define

Re: [PATCHv5] Fix not 8-byte aligned ldrd/strd on ARMv5 (PR 89544)

2019-08-19 Thread Jeff Law
On 8/15/19 1:47 PM, Bernd Edlinger wrote: > On 8/15/19 6:29 PM, Richard Biener wrote: Please split it into the parts for the PR and parts making the asserts not trigger. >>> Yes, will do. >>> > Okay, here is the rest of the PR 89544 fix, > actually just an optimization, making the la

Re: [PATCH] Improve DSE to handle redundant zero initializations.

2019-08-19 Thread Jeff Law
On 8/19/19 1:53 PM, Matthew Beliveau wrote: >> Jeff > > DSE-3.patch > > Bootstrapped/regtested on x86_64-linux, ok for trunk? > > 2019-08-19 Matthew Beliveau > > * tree-ssa-dse.c (dse_optimize_redundant_stores): Improved check to > catch more redundant zero initialization cases.

Re: [PATCH,i386] Don't use errno when freestanding (was: config/i386/xmmintrin.h: Only #include if __STDC_HOSTED__)

2019-08-19 Thread Jeff Law
On 8/18/19 10:29 AM, Gerald Pfeifer wrote: > On Sat, 9 Dec 2017, Jakub Jelinek wrote: >>> Some users on FreeBSD noticed a problem when trying to use GCC to >>> build things in a standalone environment that manifests itself as >>> >>> /usr/local/lib/gcc/x86_64-unknown-freebsd11.0/6.3.0/include/xmmin

Re: [PATCH] Intrinsic documentation for DIM, MOD and MODULO.

2019-08-19 Thread Jeff Law
On 8/19/19 10:19 AM, Steve Kargl wrote: > On Mon, Aug 19, 2019 at 09:08:12AM -0600, Jeff Law wrote: >> On 8/19/19 3:11 AM, Mark Eggleston wrote: >>> The intrinsics DIM, MOD and MODULO can accept arguments of different >>> kinds and return values with the larger of the two kinds. Notes to this >>> e

Re: [PATCH] Adding _Dependent_ptr type qualifier in C part 1/3

2019-08-19 Thread Joseph Myers
On Tue, 30 Jul 2019, Martin Sebor wrote: > On 7/30/19 1:13 AM, Akshat Garg wrote: > > Hi, > > This patch includes C front-end code for a type qualifier _Dependent_ptr. > > Just some very high-level comments/questions. I only followed > the _Dependent_ptr discussion from a distance and I'm likely

Re: [13/13] Add a pass_by_reference flag to function_arg_info

2019-08-19 Thread Jeff Law
On 8/19/19 9:24 AM, Richard Sandiford wrote: > This patch adds a flag that tells targets whether an argument > has been converted to pass-by-reference form. This replaces > assign_parm_data_one::passed_pointer in function.c. > > The flag is set automatically for places that call > apply_pass_by_r

Re: [12/13] Make calls.c use function_arg_info internally

2019-08-19 Thread Jeff Law
On 8/19/19 9:23 AM, Richard Sandiford wrote: > This patch makes the two main calls.c argument-processing > routines track the state of the argument in a function_arg_info > instead of using separate mode variables. > > > 2019-08-19 Richard Sandiford > > gcc/ > * calls.c (emit_library_ca

Re: [11/13] Make function.c use function_arg_info internally

2019-08-19 Thread Jeff Law
On 8/19/19 9:22 AM, Richard Sandiford wrote: > This patch adds a function_arg_info field to assign_parm_data_one, > so that: > > - passed_type -> arg.type > - promoted_mode -> arg.mode > - named_arg -> arg.named > > We can then pass this function_arg_info directly to the converted > hooks.

Re: Fix up -fexcess-precision handling in LTO (was Re: [GCC][middle-end] Add rules to strip away unneeded type casts in expressions (2nd patch))

2019-08-19 Thread Joseph Myers
On Tue, 30 Jul 2019, Jakub Jelinek wrote: > Furthermore, some comments claimed that the proper EXCESS_PRECISION_STANDARD > handling requires FE support, but that also doesn't seem to be the case > these days, some FEs even just use EXCESS_PRECISION_STANDARD by default > (go, D). > > So, the follo

Re: [PATCH] PR libstdc++/91371 make std::is_function handle other calling conventions

2019-08-19 Thread Jonathan Wakely
On 16/08/19 16:35 +0100, Jonathan Wakely wrote: The x86 attributes such as ms_abi, stdcall, fastcall etc. alter the function type, which means that functions with one of those attributes do not match any of the partial specializations of std::is_function. Rather than duplicating the list for eve

Go patch committed: New debugging functions

2019-08-19 Thread Ian Lance Taylor
This Go patch by Than McIntosh adds some new debugging output methods/functions, to dump named objects, package bindings, and the top level Gogo package list. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE =

Re: [10/13] Add a apply_pass_by_reference_rules helper

2019-08-19 Thread Jeff Law
On 8/19/19 9:21 AM, Richard Sandiford wrote: > This patch adds a helper routine that applies pass-by-reference > semantics to an existing function_arg_info. > > The c6x part means that c6x_function_arg and c6x_function_arg_advance > see the same "named" value as pass_by_reference did, rather than

Re: [09/13] Use function_arg_info for TARGET_MUST_PASS_IN_STACK

2019-08-19 Thread Jeff Law
On 8/19/19 9:20 AM, Richard Sandiford wrote: > Use function_arg_info for TARGET_MUST_PASS_IN_STACK. > > The hook is passed the promoted mode instead of the original type mode. > > The expr.h reference in the documentation is no longer correct, but > pointing to calls.h or calls.c doesn't help muc

Merge from trunk to gccgo branch

2019-08-19 Thread Ian Lance Taylor
I've merged trunk revision 274678 to the gccgo branch. Ian

Re: [08/13] Use function_arg_info for TARGET_CALLEE_COPIES

2019-08-19 Thread Jeff Law
On 8/19/19 9:19 AM, Richard Sandiford wrote: > Use function_arg_info for TARGET_CALLEE_COPIES. > > The hook is passed the unpromoted type mode instead of the promoted mode. > > The aarch64 definition is redundant, but worth keeping for emphasis. > > > 2019-08-19 Richard Sandiford > > gcc/ >

Re: [07/13] Use function_arg_info for TARGET_FUNCTION_ARG_ADVANCE

2019-08-19 Thread Jeff Law
On 8/19/19 9:18 AM, Richard Sandiford wrote: > Use function_arg_info for TARGET_FUNCTION_ARG_ADVANCE. > > There seems to be a bit of confusion around this one. Almost all > callers pass the same arguments as TARGET_FUNCTION_ARG, meaning > that the mode is the promoted mode rather than the type mo

Re: [06/13] Use function_arg_info for TARGET_FUNCTION_(INCOMING_)ARG

2019-08-19 Thread Jeff Law
On 8/19/19 9:16 AM, Richard Sandiford wrote: > This patch makes both TARGET_FUNCTION_ARG and > TARGET_FUNCTION_INCOMING_ARG take a function_arg_info. > They have to be done together since many targets use the > same function for both. > > The hooks are passed the promoted mode instead of the origi

Re: [05/13] Use function_arg_info for TARGET_SETUP_INCOMING_ARGS

2019-08-19 Thread Jeff Law
On 8/19/19 9:16 AM, Richard Sandiford wrote: > Use function_arg_info for TARGET_SETUP_INCOMING_ARGS. > > The hook is passed the promoted mode instead of the original type mode. > > > 2019-08-19 Richard Sandiford > > gcc/ > * target.def (setup_incoming_varargs): Take a function_arg_info

Re: [04/13] Use function_arg_info for TARGET_PASS_BY_REFERENCE

2019-08-19 Thread Jeff Law
On 8/19/19 9:15 AM, Richard Sandiford wrote: > Use function_arg_info for TARGET_PASS_BY_REFERENCE. > > The hook is passed the unpromoted type mode instead of the promoted mode. > > > 2019-08-19 Richard Sandiford > > gcc/ > * target.def (pass_by_reference): Take a function_arg_info inst

Re: [03/13] Use function_arg_info for TARGET_ARG_PARTIAL_BYTES

2019-08-19 Thread Jeff Law
On 8/19/19 9:14 AM, Richard Sandiford wrote: > This patch adds the function_arg_info class and uses it for > TARGET_ARG_PARTIAL_BYTES. > > The hook is passed the promoted mode instead of the original type mode. > > The arguments aren't mentioned in the documentation, which is why the > target.def

Re: [PATCH V2 6/8] bpf: adjust GCC testsuite to eBPF limitations

2019-08-19 Thread jose . marchesi
> It also seems like rather than checking for ebpf on files with large > stacks, we should be using the generic mechanisms to defined the allowed > size of the stack (mentioned in prior review) & mark test which use too > much space. This would almost certainly

Re: [PATCH V2 2/8] bpf: new GCC port

2019-08-19 Thread Richard Sandiford
In addition to Segher's comments: jema...@gnu.org (Jose E. Marchesi) writes: > [...] > +/* This file contains the definition of the kernel helpers that are > + available to eBPF programs. > + > + The primary source for information on kernel helpers is the > + linux/include/uapi/linux/bpf.h f

Re: [PATCH] Improve DSE to handle redundant zero initializations.

2019-08-19 Thread Matthew Beliveau
Hello, This should have the changes you wanted! Thank you, Matthew Beliveau On Fri, Aug 16, 2019 at 12:30 PM Jeff Law wrote: > > On 8/13/19 9:09 AM, Matthew Beliveau wrote: > > Hello, > > > > This should have the changes you all asked for! Let me know if I > > missed anything! > > > > Thank you

Re: [02/13] Add must_pass_va_arg_in_stack

2019-08-19 Thread Jeff Law
On 8/19/19 9:12 AM, Richard Sandiford wrote: > This patch splits out another idiom from the va_arg gimplification > routines, so that there's only one place to update later. > > > 2019-08-19 Richard Sandiford > > gcc/ > * calls.h (must_pass_va_arg_in_stack): Declare. > * calls.c (

Re: [01/13] Add pass_va_arg_by_reference

2019-08-19 Thread Jeff Law
On 8/19/19 9:11 AM, Richard Sandiford wrote: > This patch splits out a common idiom from the va_arg gimplification > routines, so that there's only one place to update later. > > > 2019-08-19 Richard Sandiford > > gcc/ > * calls.h (pass_va_arg_by_reference): Declare. > * calls.c (

Re: [PATCH V2 6/8] bpf: adjust GCC testsuite to eBPF limitations

2019-08-19 Thread Jeff Law
On 8/19/19 8:23 AM, Jose E. Marchesi wrote: > > [...] > > * gcc.dg/Wframe-larger-than-2.c: Likewise. > > * gcc.dg/Wframe-larger-than.c: Likewise. > > * gcc.dg/Wrestrict-11.c: Likewise. > So I think we probably want an effective target check for indirect

Re: [PATCH 1/2] gcc/riscv: Include more registers in SIBCALL_REGS

2019-08-19 Thread Andrew Waterman
x5 is used as an alternate link register, so using it for sibcalls will confuse hardware return-address stacks and reduce performance for implementations that have one. The reason I excluded a0-a7 is that those are used to pass arguments to the sibcallee. It's of course possible that's more restr

New Chinese (simplified) PO file for 'gcc' (version 9.1.0)

2019-08-19 Thread Translation Project Robot
Hello, gentle maintainer. This is a message from the Translation Project robot. A revised PO file for textual domain 'gcc' has been submitted by the Chinese (simplified) team of translators. The file is available at: https://translationproject.org/latest/gcc/zh_CN.po (This file, 'gcc-9.1.0

[PATCH 2/2] gcc/riscv: Add a mechanism to remove some calls to _riscv_save_0

2019-08-19 Thread Andrew Burgess
When using the -msave-restore flag we end up with calls to _riscv_save_0 and _riscv_restore_0. These functions adjust the stack and save or restore the return address. Due to grouping multiple save/restore stub functions together the save/restore 0 calls actually save s0, s1, s2, and the return a

[PATCH 1/2] gcc/riscv: Include more registers in SIBCALL_REGS

2019-08-19 Thread Andrew Burgess
The current SIBCALL_REGS are x6, x7, and x28 to x31. These are all caller saved registers, however, they are not all of the caller saved registers. I don't see any reason why we couldn't add t1, and a0 to a7 into this set, and this is what this patch does. gcc/ChangeLog: * config/riscv/

[PATCH 0/2] RISCV: Reduce code size when compiling with -msave-restore

2019-08-19 Thread Andrew Burgess
The following two patches are an attempt at further reducing code size when compiling with -msave-restore by attempting to claw back some of the tail call cases where we currently include a call to __riscv_save_0 and __riscv_restore_0. Any feedback, or suggestions for improvements, or for better a

libgo patch committed: Stricter GC checking

2019-08-19 Thread Ian Lance Taylor
This libgo patch by Cherry Zhang enables stricter GC checking in libgo. With https://golang.org/cl/190599 (https://gcc.gnu.org/ml/gcc-patches/2019-08/msg01220.html), along with what we do in greyobject, we ensure that we only mark allocated heap objects. As a result we can be more strict in GC:

Re: [PATCH 0/3] add support for POD struct convention (PR 61339)

2019-08-19 Thread Jason Merrill
On Wed, Aug 14, 2019, 11:44 AM Pedro Alves wrote: > On 7/12/19 9:24 AM, Jakub Jelinek wrote: > > I'd just arrange that when being compiled with clang we compile with > > -Wno-mismatched-tags to get rid of their misdesigned warning and not add > > such misdesigned warning to GCC, that will just he

Re: C++ PATCH for c++/81676 - bogus -Wunused warnings in constexpr if

2019-08-19 Thread Marek Polacek
On Fri, Aug 16, 2019 at 06:20:20PM -0700, Jason Merrill wrote: > On 8/16/19 2:29 PM, Marek Polacek wrote: > > This patch is an attempt to fix the annoying -Wunused-but-set-* warnings > > that > > tend to occur with constexpr if. When we have something like > > > >template < typename T > > >

Re: [PATCH], Patch #2 of 10, Add RTL prefixed attribute

2019-08-19 Thread Segher Boessenkool
Hi Mike, Some comments on this patch: On Wed, Aug 14, 2019 at 05:59:13PM -0400, Michael Meissner wrote: > Due to some of the existing load and store insns not using the traditional > operands[0] and operands[1], the functions that test whether an insn is > prefixed only use the insn and not the o

Re: [AArch64] Tweak handling of fp moves via int registers

2019-08-19 Thread James Greenhalgh
On Wed, Aug 07, 2019 at 07:12:19PM +0100, Richard Sandiford wrote: > The AArch64 port uses define_splits to prefer moving certain float > constants via integer registers over loading them from memory. E.g.: > > (set (reg:SF X) (const_double:SF C)) > > splits to: > > (set (reg:SI tmp) (c

Re: PR90724 - ICE with __sync_bool_compare_and_swap with -march=armv8.2-a

2019-08-19 Thread James Greenhalgh
On Thu, Aug 15, 2019 at 02:11:25PM +0100, Prathamesh Kulkarni wrote: > On Thu, 8 Aug 2019 at 11:22, Prathamesh Kulkarni > wrote: > > > > On Thu, 1 Aug 2019 at 15:34, Prathamesh Kulkarni > > wrote: > > > > > > On Thu, 25 Jul 2019 at 11:56, Prathamesh Kulkarni > > > wrote: > > > > > > > > On Wed,

Re: [PATCH 0/2] PR libstdc++/41861 Add full steady_clock support to condition_variable

2019-08-19 Thread Mike Crowe
On Monday 15 July 2019 at 17:47:47 +0100, Mike Crowe wrote: > The pthread_cond_clockwait function was recently added[1] to glibc, > and is due to be released in glibc 2.30. If this function is available > in the C library it can be used it to fix > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41861

Re: [PING][AArch64] Use scvtf fbits option where appropriate

2019-08-19 Thread James Greenhalgh
On Mon, Jul 08, 2019 at 04:41:06PM +0100, Joel Hutton wrote: > On 01/07/2019 18:03, James Greenhalgh wrote: > > >> gcc/testsuite/ChangeLog: > >> > >> 2019-06-12 Joel Hutton > >> > >> * gcc.target/aarch64/fmul_scvtf_1.c: New test. > > This testcase will fail on ILP32 targets where unsi

Re: [PATCH] Intrinsic documentation for DIM, MOD and MODULO.

2019-08-19 Thread Steve Kargl
On Mon, Aug 19, 2019 at 09:08:12AM -0600, Jeff Law wrote: > On 8/19/19 3:11 AM, Mark Eggleston wrote: > > The intrinsics DIM, MOD and MODULO can accept arguments of different > > kinds and return values with the larger of the two kinds. Notes to this > > effect have been added as they were missing

Re: [patch][aarch64]: add intrinsics for vld1(q)_x4 and vst1(q)_x4

2019-08-19 Thread James Greenhalgh
On Thu, Aug 15, 2019 at 12:28:27PM +0100, Kyrill Tkachov wrote: > Hi all, > > On 8/6/19 10:51 AM, Richard Earnshaw (lists) wrote: > On 18/07/2019 18:18, James Greenhalgh wrote: > > On Mon, Jun 10, 2019 at 06:21:05PM +0100, Sylvia Taylor wrote: > >> Greetings, > >> > >> This patch adds the intrinsi

Re: [aarch64] PR target/91386 Use copy_rtx to avoid modifying original insns in peep2 pattern

2019-08-19 Thread Richard Earnshaw (lists)
On 09/08/2019 17:15, Richard Earnshaw (lists) wrote: PR target/91386 is a situation where a peephole2 pattern substitution is discarded late because the selected instructions contain frame-related notes that we cannot redistribute (because the pattern has more than one insn in the output).  Unfor

[wwwdocs] Document C++ news in GCC 10 Release Notes

2019-08-19 Thread Marek Polacek
I'm of the mind that we should advertise some of the new cool C++ changes going into GCC 10, esp. those that are user-visible. Checking this in. Index: changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-10/changes.html,v retrievi

Re: [PATCH][ARM] Remove remaining Neon DImode support

2019-08-19 Thread Wilco Dijkstra
  ping      Remove the remaining Neon adddi3, subdi3 and negdi2 patterns.  As a result  adddi3, subdi3 and negdi2 can now always be expanded early irrespectively of  whether Neon is available.  Also expand the extenddi patterns at the same  time.  Several Neon arch attributes are no long

Re: [PATCH][ARM] Cleanup DImode shifts

2019-08-19 Thread Wilco Dijkstra
  ping      Like the logical operations, expand all shifts early rather than only  sometimes.  The Neon shift expansions are never emitted (not even with  -fneon-for-64bits), so they are not useful.  So all the late expansions  and Neon shift patterns can be removed, and shifts are mor

Re: [PATCH][ARM] Cleanup logical DImode operations

2019-08-19 Thread Wilco Dijkstra
  ping       Cleanup the logical DImode operations since the current implementation is way  too complicated.  Thumb-1, Thumb-2, VFP/Neon and iwMMXt all work differently,  resulting in a bewildering number of expansions, patterns and splits across  several md files.  All this complexity

Re: [PATCH][AArch64] Fix symbol offset limit

2019-08-19 Thread Wilco Dijkstra
  ping      In aarch64_classify_symbol symbols are allowed full-range offsets on relocations.  This means the offset can use all of the +/-4GB offset, leaving no offset available  for the symbol itself.  This results in relocation overflow and link-time errors  for simple expressions

Re: [PATCH][ARM] Switch to default sched pressure algorithm

2019-08-19 Thread Wilco Dijkstra
ping Currently the Arm backend selects the alternative sched pressure algorithm. The issue is that this doesn't take register pressure into account, and so it causes significant additional spilling on Arm where there are only 14 allocatable registers.  SPEC2006 shows significant codesize

Re: [PATCH] Add --with-static-standard-libraries to the top level

2019-08-19 Thread Tom Tromey
> "Jonathan" == Jonathan Wakely writes: Jonathan> Given that the problem does exist, I think being able to disable the Jonathan> GCC build flags for non-GCC components in the build tree makes sense. Jonathan> I'm not sure if Jeff deferring to me means I can approve the patch Jonathan> (normal

[13/13] Add a pass_by_reference flag to function_arg_info

2019-08-19 Thread Richard Sandiford
This patch adds a flag that tells targets whether an argument has been converted to pass-by-reference form. This replaces assign_parm_data_one::passed_pointer in function.c. The flag is set automatically for places that call apply_pass_by_reference_rules. Places that apply pass-by-reference manu

[12/13] Make calls.c use function_arg_info internally

2019-08-19 Thread Richard Sandiford
This patch makes the two main calls.c argument-processing routines track the state of the argument in a function_arg_info instead of using separate mode variables. 2019-08-19 Richard Sandiford gcc/ * calls.c (emit_library_call_value_1): Merge arg and orig_arg into a single fun

[11/13] Make function.c use function_arg_info internally

2019-08-19 Thread Richard Sandiford
This patch adds a function_arg_info field to assign_parm_data_one, so that: - passed_type -> arg.type - promoted_mode -> arg.mode - named_arg -> arg.named We can then pass this function_arg_info directly to the converted hooks. Between the initialisation of the assign_parm_data_one and the

[10/13] Add a apply_pass_by_reference_rules helper

2019-08-19 Thread Richard Sandiford
This patch adds a helper routine that applies pass-by-reference semantics to an existing function_arg_info. The c6x part means that c6x_function_arg and c6x_function_arg_advance see the same "named" value as pass_by_reference did, rather than pass_by_reference seeing "true" and the others seeing "

[09/13] Use function_arg_info for TARGET_MUST_PASS_IN_STACK

2019-08-19 Thread Richard Sandiford
Use function_arg_info for TARGET_MUST_PASS_IN_STACK. The hook is passed the promoted mode instead of the original type mode. The expr.h reference in the documentation is no longer correct, but pointing to calls.h or calls.c doesn't help much either. I just left this as-is since it's not related

[08/13] Use function_arg_info for TARGET_CALLEE_COPIES

2019-08-19 Thread Richard Sandiford
Use function_arg_info for TARGET_CALLEE_COPIES. The hook is passed the unpromoted type mode instead of the promoted mode. The aarch64 definition is redundant, but worth keeping for emphasis. 2019-08-19 Richard Sandiford gcc/ * target.def (callee_copies): Take a function_arg_info ins

[07/13] Use function_arg_info for TARGET_FUNCTION_ARG_ADVANCE

2019-08-19 Thread Richard Sandiford
Use function_arg_info for TARGET_FUNCTION_ARG_ADVANCE. There seems to be a bit of confusion around this one. Almost all callers pass the same arguments as TARGET_FUNCTION_ARG, meaning that the mode is the promoted mode rather than the type mode. But the calls.c handling for normal typed arguments

[06/13] Use function_arg_info for TARGET_FUNCTION_(INCOMING_)ARG

2019-08-19 Thread Richard Sandiford
This patch makes both TARGET_FUNCTION_ARG and TARGET_FUNCTION_INCOMING_ARG take a function_arg_info. They have to be done together since many targets use the same function for both. The hooks are passed the promoted mode instead of the original type mode. 2019-08-19 Richard Sandiford gcc/

[05/13] Use function_arg_info for TARGET_SETUP_INCOMING_ARGS

2019-08-19 Thread Richard Sandiford
Use function_arg_info for TARGET_SETUP_INCOMING_ARGS. The hook is passed the promoted mode instead of the original type mode. 2019-08-19 Richard Sandiford gcc/ * target.def (setup_incoming_varargs): Take a function_arg_info instead of a mode and tree. * doc/tm.texi: R

[04/13] Use function_arg_info for TARGET_PASS_BY_REFERENCE

2019-08-19 Thread Richard Sandiford
Use function_arg_info for TARGET_PASS_BY_REFERENCE. The hook is passed the unpromoted type mode instead of the promoted mode. 2019-08-19 Richard Sandiford gcc/ * target.def (pass_by_reference): Take a function_arg_info instead of a mode, type and named flag. * doc/tm.

[03/13] Use function_arg_info for TARGET_ARG_PARTIAL_BYTES

2019-08-19 Thread Richard Sandiford
This patch adds the function_arg_info class and uses it for TARGET_ARG_PARTIAL_BYTES. The hook is passed the promoted mode instead of the original type mode. The arguments aren't mentioned in the documentation, which is why the target.def change is so small. The patch changes "true" to "arg.name

[02/13] Add must_pass_va_arg_in_stack

2019-08-19 Thread Richard Sandiford
This patch splits out another idiom from the va_arg gimplification routines, so that there's only one place to update later. 2019-08-19 Richard Sandiford gcc/ * calls.h (must_pass_va_arg_in_stack): Declare. * calls.c (must_pass_va_arg_in_stack): New function. * config/

[01/13] Add pass_va_arg_by_reference

2019-08-19 Thread Richard Sandiford
This patch splits out a common idiom from the va_arg gimplification routines, so that there's only one place to update later. 2019-08-19 Richard Sandiford gcc/ * calls.h (pass_va_arg_by_reference): Declare. * calls.c (pass_va_arg_by_reference): New function. * config/a

[00/13] Pass an argument descriptor to target hooks

2019-08-19 Thread Richard Sandiford
For the SVE calling conventions, function_arg and function_arg_advance need to know whether an argument is being passed by reference or not. The simplest way of providing that information would have been to add a new parameter, or convert the "named" parameter into a bitmask. But it seemed cleaner

Re: [PATCH] Intrinsic documentation for DIM, MOD and MODULO.

2019-08-19 Thread Jeff Law
On 8/19/19 3:11 AM, Mark Eggleston wrote: > The intrinsics DIM, MOD and MODULO can accept arguments of different > kinds and return values with the larger of the two kinds. Notes to this > effect have been added as they were missing from the documentation. > > Please find attached the patch. > >

[PATCH] Use tail-recursion in SCEV SCC finding where possible

2019-08-19 Thread Richard Biener
The following applies manual tail-recusion transform to add chains SLP generates. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2019-08-19 Richard Biener PR tree-optimization/91403 * tree-scalar-evolution.c (follow_ssa_edge_binary): Inline

Re: [PATCH 3/9] operand_equal_p: add support for OBJ_TYPE_REF.

2019-08-19 Thread Jan Hubicka
> On Fri, Aug 16, 2019 at 2:07 PM Jan Hubicka wrote: > > > > > > > > When we compare OBJ_TYPE_REF_TOKEN and OBJ_TYPE_REF_OBJECT > > > and they are equal, are there cases where types_same_for_odr returns > > > false? > > > > OBJ_TYPE_REF_OBJECT is pointer to the instance, OBJ_TYPE_REF_TOKEN is > >

Re: [PATCH V2 6/8] bpf: adjust GCC testsuite to eBPF limitations

2019-08-19 Thread Jose E. Marchesi
[...] > * gcc.dg/Wframe-larger-than-2.c: Likewise. > * gcc.dg/Wframe-larger-than.c: Likewise. > * gcc.dg/Wrestrict-11.c: Likewise. So I think we probably want an effective target check for indirect calls rather than checking explicitly for ebpf in all these files.

Re: [PATCH] issue consistent warning for past-the-end array stores (PR 91457)

2019-08-19 Thread Richard Biener
On Sat, Aug 17, 2019 at 12:43 AM Martin Sebor wrote: > > With the recent enhancement to the strlen handling of multibyte > stores the g++.dg/warn/Warray-bounds-4.C for zero-length arrays > started failing on hppa (and probably elsewhere as well). This > is partly the result of the added detection

Re: [PATCH V2 5/8] bpf: make target-supports.exp aware of eBPF

2019-08-19 Thread Jose E. Marchesi
Hi Seguer! Thanks for reviewing :) > @@ -538,6 +539,9 @@ proc check_effective_target_stack_size { } { > if [target_info exists gcc,stack_size] { > return 1 > } > +if [istarget bpf-*-*] { > + return 1 > +} You should still set the prop

Re: [PATCH V2 5/8] bpf: make target-supports.exp aware of eBPF

2019-08-19 Thread Jose E. Marchesi
> --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > > @@ -546,7 +550,11 @@ proc check_effective_target_stack_size { } { > proc dg-effective-target-value { effective_target } { > if { "$effective_target" == "stack_size" } {

Re: [RFA] [tree-optimization/80576] Handle non-constant sizes in DSE

2019-08-19 Thread Richard Biener
On Fri, Aug 16, 2019 at 8:15 PM Jeff Law wrote: > > On 8/16/19 12:09 PM, Marc Glisse wrote: > > On Fri, 16 Aug 2019, Jeff Law wrote: > > > >> This patch improves our ability to detect dead stores by handling cases > >> where the size memcpy, memset, strncpy, etc call is not constant. This > >> ad

Re: [PATCH 2/3] Add simplify rules for wrapped binary operations.

2019-08-19 Thread Richard Biener
On Fri, Aug 16, 2019 at 2:17 PM Robin Dapp wrote: > > > So - what are you really after? (sorry if I don't remeber, testcase(s) > > are missing > > from this patch) > > > > To me it seems that 1) loses information if A + CST was done in a signed > > type > > and we know that overflow doesn't happe

Re: [PATCH V2 3/8] bpf: new libgcc port

2019-08-19 Thread Jose E. Marchesi
Hi Jeff. First of all, thanks for reviewing the port. > +++ b/libgcc/config/bpf/t-bpf > @@ -0,0 +1,24 @@ > +HOST_LIBGCC2_CFLAGS += -O0 > +LIB2ADDEH = I'd like to understand the motivation behind the -O0, but otherwise I don't see anything particularly concerning here. O

Re: [PATCH 3/9] operand_equal_p: add support for OBJ_TYPE_REF.

2019-08-19 Thread Richard Biener
On Fri, Aug 16, 2019 at 2:07 PM Jan Hubicka wrote: > > > > > When we compare OBJ_TYPE_REF_TOKEN and OBJ_TYPE_REF_OBJECT > > and they are equal, are there cases where types_same_for_odr returns false? > > OBJ_TYPE_REF_OBJECT is pointer to the instance, OBJ_TYPE_REF_TOKEN is > index in the vtable or

Re: [PATCH 10/N] Use const_tree more in IPA ICF.

2019-08-19 Thread Richard Biener
On Fri, Aug 16, 2019 at 1:06 PM Martin Liška wrote: > > Hi. > > The patch is a mechanical clean up that changes some > functions and data structures to use const_tree instead > of tree. I think this kind of changes are obvious. Richard. > Martin

Re: Canonicalization of compares performed as side-effect operations

2019-08-19 Thread Richard Earnshaw (lists)
On 14/08/2019 08:48, Eric Botcazou wrote: [Sorry for the delay, I missed your question...] Interesting. Does it work for the general case of a reverse subtract, which I need to handle as wel? Not clear, Visium only uses it for SNE and combined NEG/SNE. I worked through the logic. I'm pre

Re: PC-relative TLS support

2019-08-19 Thread Segher Boessenkool
On Fri, Aug 16, 2019 at 11:29:30AM +0930, Alan Modra wrote: > On Thu, Aug 15, 2019 at 01:24:07PM -0500, Segher Boessenkool wrote: > > On Thu, Aug 15, 2019 at 01:35:10PM +0930, Alan Modra wrote: > > > Supporting TLS for -mpcrel turns out to be relatively simple, in part > > > due to deciding that !T

Re: [PATCH] Fix 300.twolf regression caused by STV

2019-08-19 Thread Richard Biener
On Mon, 19 Aug 2019, Richard Biener wrote: > > Uros noted that STV with !TImode isn't supposed to run before combine. > The following adjusts things accordingly and now the pass runs twice > for TARGET_64BIT. I've also adjusted another gpr->xmm move to > use (vec_merge (vec_duplicate..)) style r

[PATCH] Fix 300.twolf regression caused by STV

2019-08-19 Thread Richard Biener
Uros noted that STV with !TImode isn't supposed to run before combine. The following adjusts things accordingly and now the pass runs twice for TARGET_64BIT. I've also adjusted another gpr->xmm move to use (vec_merge (vec_duplicate..)) style rather than using a subreg. This isn't strictly necces

Re: [PATCH 2/8] bpf: new GCC port

2019-08-19 Thread Segher Boessenkool
On Thu, Aug 15, 2019 at 12:22:46AM +0200, Jose E. Marchesi wrote: > --- a/configure > +++ b/configure > @@ -754,6 +754,7 @@ infodir > docdir > oldincludedir > includedir > +runstatedir > localstatedir > sharedstatedir > sysconfdir (etc.) You seem to have generated this with the wrong versio

Re: [PATCH V2 8/8] bpf: add myself as the maintainer for the eBPF port

2019-08-19 Thread Segher Boessenkool
On Sat, Aug 17, 2019 at 02:50:56AM +0200, Jose E. Marchesi wrote: > diff --git a/MAINTAINERS b/MAINTAINERS > index 5d8402949bc..bcf81e8f337 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -57,6 +57,7 @@ arm portRamana Radhakrishnan > > arm port Kyrylo Tkachov

Re: [PATCH V2 6/8] bpf: adjust GCC testsuite to eBPF limitations

2019-08-19 Thread Segher Boessenkool
On Sun, Aug 18, 2019 at 07:33:20PM -0600, Jeff Law wrote: > On 8/16/19 6:50 PM, Jose E. Marchesi wrote: > So I think we probably want an effective target check for indirect calls > rather than checking explicitly for ebpf in all these files. +1 > It also seems like rather than checking for ebpf o

Re: [PATCH V2 5/8] bpf: make target-supports.exp aware of eBPF

2019-08-19 Thread Segher Boessenkool
Hi Jose, On Sat, Aug 17, 2019 at 02:50:53AM +0200, Jose E. Marchesi wrote: > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -526,7 +526,8 @@ proc check_effective_target_trampolines { } { >|| [istarget nvptx-*-*] >|| [istarget hppa2.0w

Re: [PATCH] BOZ Documentation update

2019-08-19 Thread Mark Eggleston
On 16/08/2019 15:55, Steve Kargl wrote: On Fri, Aug 16, 2019 at 03:25:03PM +0100, Mark Eggleston wrote: In section 6.1.10 BOZ literal constants of the gfortran manual (gfortran.pdf) the final paragraph refers to integer overflow error. As a result of Steve Kargl's work on BOZ constants these e

[PATCH] Intrinsic documentation for DIM, MOD and MODULO.

2019-08-19 Thread Mark Eggleston
The intrinsics DIM, MOD and MODULO can accept arguments of different kinds and return values with the larger of the two kinds. Notes to this effect have been added as they were missing from the documentation. Please find attached the patch. ChangeLog: gcc/fortran/ChangeLog     Mark Eggleston

[Ada] Generate ada_target_properties

2019-08-19 Thread Pierre-Marie de Rodat
Generate target-dependent info into a file named ada_target_properties. This information is used by tools for static analysis: they need to know the size of standard types for a given run-time library. This metadata is meant to be saved at the root of the run-time directory. Tested on x86_64-pc-li

[Ada] Process type extensions for -gnatw.h

2019-08-19 Thread Pierre-Marie de Rodat
This patch enables gap detection in type extensions. With the -gnatw.h switch, on 64-bit machines, the following test should get warnings: gcc -c gaps.ads -gnatw.h gaps.ads:16:07: warning: 48-bit gap before component "Comp2" gaps.ads:17:07: warning: 8-bit gap before component "Comp3" package Gap

[Ada] Add formal function parameter equality to SPARK containers

2019-08-19 Thread Pierre-Marie de Rodat
This patch adds a formal function parameter "=" (L, R : Element_Type) to SPARK containers. The equality that is used by default for Element_Type after this patch is the primitive equality and not the predefined any more. It also allows to use any function with the appropriate signature for the equa

[Ada] Incorrect code for -gnateV switch

2019-08-19 Thread Pierre-Marie de Rodat
This patch corrects the code generated by the -gnateV switch in the case of a private type whose full type is a modular type, removing spurious run-time failures. In addition, this corrects the initialization of exception occurrences in exception handlers to avoid leaving data uninitialized, which

[Ada] Suppress warnings on unreferenced parameters of dispatching ops

2019-08-19 Thread Pierre-Marie de Rodat
If the -gnatwf switch is used to activate warnings on unreferenced formal parameters, the warning is no longer given if the subprogram is dispatching, because such warnings tend to be noise. It is quite common to have a parameter that is necessary just because the subprogram is overriding, or just

[Ada] Crash on object initialization that is call to expression function

2019-08-19 Thread Pierre-Marie de Rodat
This patch fixes a compiler abort on an object declaration for a class-wide type whose expression is a call to an expression function that returns type extension. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-08-19 Ed Schonberg gcc/ada/ * sem_res.adb (Resolve_Call): A call t

[Ada] Conversion routines between GNAT.OS_Lib.OS_Time and long integer

2019-08-19 Thread Pierre-Marie de Rodat
The new routines convert back and forth between private type OS_Time and a long integer which can be used in package Ada.Calendar.Conversions routines to convert to Ada.Calendar.Time. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-08-19 Dmitriy Anisimkov gcc/ada/ * libgnat/s-

[Ada] Lift restriction on instantiations that are compilation units

2019-08-19 Thread Pierre-Marie de Rodat
This change lifts the restriction that was still present in the new on-demand instantiation scheme for the body of generics instantiated in non-main units. The instantiations that are compilation units were still dealt with in the old-fashioned way, that is to say the decision of instantiating the

[Ada] Fix incorrect stub generation for types in instances

2019-08-19 Thread Pierre-Marie de Rodat
This fixes a fallout of a recent change clearing the Is_Generic_Actual_Type on the implicit full view of a private actual type in an instance. This flag is used to help disambiguating formal types instantiated on the same actual type within an instance, but it should be cleared outside the instanc

[Ada] Fix bogus compilation error with Elaborate_Body and -gnatN

2019-08-19 Thread Pierre-Marie de Rodat
This fixes a bogus compilation error when a unit with SPARK_Mode containing a pragma Elaborate_Body is with-ed by a generic unit containing an inlined subprogram, and front-end inlining is enabled. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-08-19 Eric Botcazou gcc/ada/ *

[Ada] Fix internal error on subprogram instantiation with -gnatzc

2019-08-19 Thread Pierre-Marie de Rodat
This fixes a fallout of the recent change keeping the Is_Generic_Instance flag on the wrapper package built for the instantiation of a generic subprogram. There is no need to visit the Instance_Spec of an N_Subprogram_Instantiation node anymore because the regular processing for an N_Package_Decla

  1   2   >