Re: [PATCH][RFA/RFC] Stack clash mitigation patch 01/08

2017-07-13 Thread Jeff Law
On 07/13/2017 06:37 PM, David Malcolm wrote: > On Tue, 2017-07-11 at 15:19 -0600, Jeff Law wrote: > > [...] > >> diff --git a/gcc/opts.c b/gcc/opts.c >> index 7460c2b..61f5bb0 100644 >> --- a/gcc/opts.c >> +++ b/gcc/opts.c >> @@ -2243,6 +2243,19 @@ common_handle_option (struct gcc_options >>

Re: [PATCH][RFA/RFC] Stack clash mitigation patch 01/08

2017-07-13 Thread Jeff Law
On 07/13/2017 05:37 PM, Segher Boessenkool wrote: > On Thu, Jul 13, 2017 at 04:38:00PM -0600, Jeff Law wrote: >> On 07/13/2017 03:32 PM, Segher Boessenkool wrote: > -fstack-check=clash is itself not such a super name either. It's not > checking stack, and it isn't clashing: it just does a

Re: [PATCH][RFA/RFC] Stack clash mitigation patch 01/08

2017-07-13 Thread David Malcolm
On Tue, 2017-07-11 at 15:19 -0600, Jeff Law wrote: [...] > diff --git a/gcc/opts.c b/gcc/opts.c > index 7460c2b..61f5bb0 100644 > --- a/gcc/opts.c > +++ b/gcc/opts.c > @@ -2243,6 +2243,19 @@ common_handle_option (struct gcc_options > *opts, > opts->x_flag_stack_check =

[PATCH/AARCH64] Decimal floating point support for AARCH64

2017-07-13 Thread Andrew Pinski
Hi, This patch adds Decimal floating point support to aarch64. It is the base support in that since there is no hardware support for DFP, it just defines the ABI. The ABI I chose is that _Decimal32 is treated like float, _Decimal64 is treated like double and _Decimal128 is treated like long

Re: [PATCH][RFA/RFC] Stack clash mitigation 0/9

2017-07-13 Thread Segher Boessenkool
On Thu, Jul 13, 2017 at 05:10:33PM -0600, Jeff Law wrote: > 2. ABI mandates that *sp always contain a backchain pointer (ppc) > >>> > >>> In the ELFv2 ABI a backchain is not required. GCC still always has > >>> one afaik. I'll find out more. > >> Please do. I was under the impression it

Re: [PATCH][RFA/RFC] Stack clash mitigation patch 01/08

2017-07-13 Thread Segher Boessenkool
On Thu, Jul 13, 2017 at 04:38:00PM -0600, Jeff Law wrote: > On 07/13/2017 03:32 PM, Segher Boessenkool wrote: > >>> -fstack-check=clash is itself not such a super name either. It's not > >>> checking stack, and it isn't clashing: it just does a store to every > >>> page the stack will touch

Re: RFC: stack/heap collision vulnerability and mitigation with GCC

2017-07-13 Thread Jeff Law
On 06/28/2017 12:45 AM, Florian Weimer wrote: > * Richard Earnshaw: > >> I can't help but feel there's a bit of a goode olde mediaeval witch hunt >> going on here. As Wilco points out, we can never defend against a >> function that is built without probe operations but skips the entire >> guard

Re: [PATCH][RFA/RFC] Stack clash mitigation 0/9

2017-07-13 Thread Jeff Law
On 07/13/2017 04:48 PM, Segher Boessenkool wrote: > On Thu, Jul 13, 2017 at 11:28:17AM -0600, Jeff Law wrote: >> On 07/12/2017 04:44 PM, Segher Boessenkool wrote: >>> On Tue, Jul 11, 2017 at 03:19:36PM -0600, Jeff Law wrote: Examples of implicit probes include >>> 2. ABI mandates that

Re: [PATCH], PR target/81193, Add warning for using __builtin_cpu_* on old PowerPC GLIBC's

2017-07-13 Thread Segher Boessenkool
On Thu, Jul 13, 2017 at 05:56:07PM -0400, Michael Meissner wrote: > Given we have the macro __BUILTIN_CPU_SUPPORTS__, I could change the test to > use that instead of a dg-requires and drop ppc_cpu_supports_hw_available. Ah that would be nice, good idea! Segher

Re: [PATCH][RFA/RFC] Stack clash mitigation patch 02/08

2017-07-13 Thread Jeff Law
On 07/12/2017 07:44 PM, Segher Boessenkool wrote: > On Tue, Jul 11, 2017 at 03:20:12PM -0600, Jeff Law wrote: >> * conifg/mips/mips.c (mips_expand_prologue): Likewise. > > Typo ("conifg"). Will fix. > >> --- a/gcc/defaults.h >> +++ b/gcc/defaults.h >> @@ -1408,8 +1408,11 @@ see the files

Re: [PATCH][RFA/RFC] Stack clash mitigation 0/9

2017-07-13 Thread Segher Boessenkool
On Thu, Jul 13, 2017 at 11:28:17AM -0600, Jeff Law wrote: > On 07/12/2017 04:44 PM, Segher Boessenkool wrote: > > On Tue, Jul 11, 2017 at 03:19:36PM -0600, Jeff Law wrote: > >> Examples of implicit probes include > > > >> 2. ABI mandates that *sp always contain a backchain pointer (ppc) > > >

Re: [PATCH][RFA/RFC] Stack clash mitigation patch 01/08

2017-07-13 Thread Jeff Law
On 07/13/2017 03:32 PM, Segher Boessenkool wrote: > Hi again, > > On Wed, Jul 12, 2017 at 09:56:09PM -0600, Jeff Law wrote: FWIW -fstack-check=specific is dreadfully named. I haven't tried to address that. >>> >>> -fstack-check=clash is itself not such a super name either. It's not

[PATCH] scheduler bug fix for AArch64 insn fusing SCHED_GROUP usage

2017-07-13 Thread Jim Wilson
The AArch64 port uses SCHED_GROUP to mark instructions that get fused at issue time, to ensure that they will be issued together. However, in the scheduler, use of a SCHED_GROUP forces all other instructions to issue in the next cycle. This is wrong for AArch64 ports using insn fusing which can

Re: [PATCH], PR target/81193, Add warning for using __builtin_cpu_* on old PowerPC GLIBC's

2017-07-13 Thread Michael Meissner
On Thu, Jul 13, 2017 at 03:57:08PM -0500, Segher Boessenkool wrote: > On Wed, Jul 12, 2017 at 07:19:27PM -0400, Michael Meissner wrote: > > Hmmm, I didn't realize that gcc 6.x also supported __builtin_cpu_*. I > > imagine > > we will need backports there as well. > > Okay for 6 too if needed

Re: [PATCH][RFA/RFC] Stack clash mitigation patch 01/08

2017-07-13 Thread Segher Boessenkool
Hi again, On Wed, Jul 12, 2017 at 09:56:09PM -0600, Jeff Law wrote: > >> FWIW -fstack-check=specific is dreadfully named. I haven't tried to > >> address that. > > > > -fstack-check=clash is itself not such a super name either. It's not > > checking stack, and it isn't clashing: it just does a

Re: [BUILDROBOT] RISC-V: ‘profile_probability’ has not been declared

2017-07-13 Thread Jan-Benedict Glaw
Hi Jeff! On Thu, 2017-07-13 14:43:52 -0600, Jeff Law wrote: > On 07/13/2017 02:39 PM, Jan-Benedict Glaw wrote: > > On Thu, 2017-06-29 14:27:41 +0200, Jan Hubicka wrote: > >> this is second step of the profile maintenance revamp. It implements > >>

Re: c-family PATCH to improve -Wsign-compare (PR c/81417)

2017-07-13 Thread David Malcolm
On Thu, 2017-07-13 at 16:39 -0400, Eric Gallager wrote: > On 7/13/17, David Malcolm wrote: > > On Thu, 2017-07-13 at 18:33 +0200, Marek Polacek wrote: > > > A tiny patch for -Wsign-compare so that is also prints the types > > > when > > > reporting a warning. > > > > > >

Re: [PATCH], PR target/81193, Add warning for using __builtin_cpu_* on old PowerPC GLIBC's

2017-07-13 Thread Segher Boessenkool
On Wed, Jul 12, 2017 at 07:19:27PM -0400, Michael Meissner wrote: > Hmmm, I didn't realize that gcc 6.x also supported __builtin_cpu_*. I imagine > we will need backports there as well. Okay for 6 too if needed there (do testcases warn us for that?) Thanks, Segher

Re: [PATCH, rs6000] Add support for vec_extract_fp_from_shorth() and vec_extract_fp_from_short

2017-07-13 Thread Segher Boessenkool
Hi Carl, On Wed, Jul 12, 2017 at 04:08:20PM -0700, Carl Love wrote: > * config/rs6000/vsx.md(vsx_xvcvhpsp): Add define_insn. Space before (. > +;; Generate xvcvhpsp instruction > +(define_insn "vsx_xvcvhpsp" > + [(set (match_operand:V4SF 0 "vsx_register_operand" "=wa") > +

[PATCH] Improve bswap on nop non-base_addr reshuffles (PR tree-optimization/81396)

2017-07-13 Thread Jakub Jelinek
Hi! As mentioned in the PR, the following testcase started using recently BIT_FIELD_REFs instead of MEM_REFs and thus the bswap pass, while it properly determines the very long sequence of stmts is a nop transformation, throws that away and doesn't optimize it, and no other optimizations are able

[PATCH] Misc libquadmath backports from upstram glibc (PR libquadmath/65757)

2017-07-13 Thread Jakub Jelinek
Hi! This patch is a manual backport of the 2012-2017 sysdeps/ieee754/ldbl-128/ glibc changes into libquadmath. As mentioned in the PR, which has detailed git diff commands, I've left *jnl.c, *lgamma* and x2y2m1l.c changes so far, those were too large, and the long double -> _Float128 and

Re: [BUILDROBOT] RISC-V: ‘profile_probability’ has not been declared

2017-07-13 Thread Palmer Dabbelt
On Thu, 13 Jul 2017 13:43:52 PDT (-0700), l...@redhat.com wrote: > On 07/13/2017 02:39 PM, Jan-Benedict Glaw wrote: >> Hi Jan, >> hi Kito, Palmer and Andrew! >> >> On Thu, 2017-06-29 14:27:41 +0200, Jan Hubicka wrote: >>> this is second step of the profile maintenance revamp. It

Re: [BUILDROBOT] RISC-V: ‘profile_probability’ has not been declared

2017-07-13 Thread Jeff Law
On 07/13/2017 02:39 PM, Jan-Benedict Glaw wrote: > Hi Jan, > hi Kito, Palmer and Andrew! > > On Thu, 2017-06-29 14:27:41 +0200, Jan Hubicka wrote: >> this is second step of the profile maintenance revamp. It implements >> profile_probability type which is pretty much symmetric

[PATCH] Fix ICE on _Fract division (PR tree-optimization/81428)

2017-07-13 Thread Jakub Jelinek
Hi! _Fract types can't express 1, other spots that call build_one_cst already make sure that the type is integral or uses the !ALL_FRACT_MODE_P (TYPE_MODE (type)) check I've added in this patch. Bootstrapped/regtested on x86_64-linux and i686-linux and tested with a cross to arm on the

Re: c-family PATCH to improve -Wsign-compare (PR c/81417)

2017-07-13 Thread Eric Gallager
On 7/13/17, David Malcolm wrote: > On Thu, 2017-07-13 at 18:33 +0200, Marek Polacek wrote: >> A tiny patch for -Wsign-compare so that is also prints the types when >> reporting a warning. >> >> Bootstrapped/regtested on x86_64-linux and ppc64le-redhat-linux, ok >> for trunk?

[BUILDROBOT] RISC-V: ‘profile_probability’ has not been declared (was: Convert profile probabilities to new type)

2017-07-13 Thread Jan-Benedict Glaw
Hi Jan, hi Kito, Palmer and Andrew! On Thu, 2017-06-29 14:27:41 +0200, Jan Hubicka wrote: > this is second step of the profile maintenance revamp. It implements > profile_probability type which is pretty much symmetric to profile_count > except that it implements fixed point

[PATCH] Fix wrong-code aggregate propagate_with_phi bug (PR tree-optimization/81365)

2017-07-13 Thread Jakub Jelinek
Hi! As mentioned in the PR, for aggregate copies we fail to verify there are no loads in between the PHI and the aggregate copy that could alias with the lhs of the copy, which is needed, because we want to hoist the aggregate copy onto predecessor edges of the bb with the PHI. The following

Re: [PATCH] gcc/doc: list what version each attribute was introduced in

2017-07-13 Thread Eric Gallager
On 7/7/17, Jeff Law wrote: > On 07/06/2017 07:25 AM, Daniel P. Berrange wrote: >> There are several hundred named attribute keys that have been >> introduced over many GCC releases. Applications typically need >> to be compilable with multiple GCC versions, so it is important >>

Re: c-family PATCH to improve -Wsign-compare (PR c/81417)

2017-07-13 Thread David Malcolm
On Thu, 2017-07-13 at 18:33 +0200, Marek Polacek wrote: > A tiny patch for -Wsign-compare so that is also prints the types when > reporting a warning. > > Bootstrapped/regtested on x86_64-linux and ppc64le-redhat-linux, ok > for trunk? Looks like it always display the types in the order signed

Re: [DOC PATCH, i386] Fix PR 81294, _subborrow_u64 argument order inconsistent with intrinsic reference

2017-07-13 Thread Jakub Jelinek
On Thu, Jul 13, 2017 at 09:26:25PM +0200, Uros Bizjak wrote: > IMO, we should change only gcc-7 release branch, so developers can > test for gcc-7.2+ to determine which release swapped arguments of > mentioned intrinsics. Agreed. > The attached doc patch adds commented-out generic gcc-7.2 entry

Re: gotools patch committed: Test runtime, misc/cgo/{test,testcarchive}

2017-07-13 Thread Ian Lance Taylor
On Thu, Jun 29, 2017 at 11:40 PM, Uros Bizjak wrote: > >> This patch to the gotools Makefile adds tests to `make check`. We now >> test the runtime package using the newly built go tool, and test that >> cgo works by running the misc/cgo/test and misc/cgo/testcarchive >>

Re: [PATCH] match.pd: reassociate multiplications with constants

2017-07-13 Thread Alexander Monakov
On Thu, 13 Jul 2017, Marc Glisse wrote: > I notice that we do not turn (X*10)*10 into X*100 in GIMPLE. Sorry, could you clarify what you mean here? I think we certainly do that, just not via match.pd, but in 'associate:' case of fold_binary_loc. > Relying on inner expressions being folded can

[committed] diagnostics: fix crash when consolidating out-of-order fix-it hints (PR c/81405)

2017-07-13 Thread David Malcolm
PR c/81405 identifies a crash when printing fix-it hints from -Wmissing-braces when there are excess elements. The fix-it hints are bogus (which I've filed separately as PR c/81432), but they lead to a crash within the fix-it consolidation logic I added in r247548, in line_corrections::add_hint.

Re: [DOC PATCH, i386] Fix PR 81294, _subborrow_u64 argument order inconsistent with intrinsic reference

2017-07-13 Thread Uros Bizjak
On Tue, Jul 4, 2017 at 10:51 PM, Jakub Jelinek wrote: > On Tue, Jul 04, 2017 at 10:41:26PM +0200, Uros Bizjak wrote: >> Hello! >> >> Apparently, Intel changed operand order with the new intrinsic >> reference release version. Attached patch updates gcc intrinsic >> headers

Re: [PATCH] match.pd: reassociate multiplications with constants

2017-07-13 Thread Marc Glisse
On Thu, 13 Jul 2017, Alexander Monakov wrote: This is a followup to https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01545.html Recently due to a fix for PR 80800 GCC has lost the ability to reassociate signed multiplications chains to go from 'X * CST1 * Y * CST2' to 'X * Y * (CST1 * CST2)'.

Home Owners List

2017-07-13 Thread Donna Bombardier
Hi, I'm Donna. Would you be interested in reaching out to "Newly Home Owners List" with opt-in and licensed to be sold? We also have data for Home Owners List,Mortgage with Home Owners List,Real Estate Agents/Brokers List,Condo Owners List,Real Estate Investors list Rentals List,Pool Owners

Re: C PATCH to display types when printing a conversion warning (PR c/81233)

2017-07-13 Thread Martin Sebor
On 07/13/2017 08:18 AM, Marek Polacek wrote: This patch improves diagnostic in the C FE by printing the types when reporting a problem with a conversion. E.g., instead of warning: assignment from incompatible pointer type you'll now get warning: assignment to 'int *' from incompatible

Re: [PATCH][RFA/RFC] Stack clash mitigation 0/9

2017-07-13 Thread Jakub Jelinek
On Thu, Jul 13, 2017 at 11:28:17AM -0600, Jeff Law wrote: > On 07/12/2017 04:44 PM, Segher Boessenkool wrote: > > On Tue, Jul 11, 2017 at 03:19:36PM -0600, Jeff Law wrote: > >> Examples of implicit probes include > > > >> 2. ABI mandates that *sp always contain a backchain pointer (ppc) > > >

Re: [rs6000] Avoid rotates of floating-point modes

2017-07-13 Thread Segher Boessenkool
Hi Richard, On Wed, Jul 12, 2017 at 05:33:42PM +0100, Richard Sandiford wrote: > The little-endian VSX code uses rotates to swap the two 64-bit halves of > 128-bit scalar modes. This is fine for TImode and V1TImode, but it > isn't really valid to use RTL rotates on floating-point modes like >

Re: [PATCH][RFA/RFC] Stack clash mitigation 0/9

2017-07-13 Thread Jeff Law
On 07/13/2017 11:32 AM, Jakub Jelinek wrote: > On Thu, Jul 13, 2017 at 11:28:17AM -0600, Jeff Law wrote: >> On 07/12/2017 04:44 PM, Segher Boessenkool wrote: >>> On Tue, Jul 11, 2017 at 03:19:36PM -0600, Jeff Law wrote: Examples of implicit probes include >>> 2. ABI mandates that *sp

Re: [PATCH][RFA/RFC] Stack clash mitigation 0/9

2017-07-13 Thread Jeff Law
On 07/12/2017 04:44 PM, Segher Boessenkool wrote: > On Tue, Jul 11, 2017 at 03:19:36PM -0600, Jeff Law wrote: >> Examples of implicit probes include > >> 2. ABI mandates that *sp always contain a backchain pointer (ppc) > > In the ELFv2 ABI a backchain is not required. GCC still always has >

[PATCH] update edge profile info in nvptx.c

2017-07-13 Thread Cesar Philippidis
The recent basic block profiling changes broke a couple of libgomp OpenACC execution tests involving reductions with nvptx offloading. For gang and worker reductions, the nvptx BE updates the original reduction variable using a lock-free atomic algorithm. This lock-free algorithm utilizes a

[PATCH] match.pd: reassociate multiplications with constants

2017-07-13 Thread Alexander Monakov
Hi, This is a followup to https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01545.html Recently due to a fix for PR 80800 GCC has lost the ability to reassociate signed multiplications chains to go from 'X * CST1 * Y * CST2' to 'X * Y * (CST1 * CST2)'. The fix to that PR prevents extract_muldiv

c-family PATCH to improve -Wsign-compare (PR c/81417)

2017-07-13 Thread Marek Polacek
A tiny patch for -Wsign-compare so that is also prints the types when reporting a warning. Bootstrapped/regtested on x86_64-linux and ppc64le-redhat-linux, ok for trunk? 2017-07-13 Marek Polacek PR c/81417 * c-warn.c (warn_for_sign_compare): Print the

Re: [Patch][Aarch64] Refactor comments in aarch64_print_operand

2017-07-13 Thread James Greenhalgh
On Thu, Jul 13, 2017 at 04:35:55PM +0100, Jackson Woodruff wrote: > Hi James, > > I've addressed the issues discussed below. > > OK for trunk? I one last comment, otherwise, this looks good: > +/* Print operand X to file F in a target specific manner according to CODE. > + The acceptable

Re: [PATCH] Remove Pascal language in source code.

2017-07-13 Thread Pedro Alves
On 07/13/2017 03:59 PM, Jeff Law wrote: > The only concern I'd have here is the bits in dbxout.[ch] might > effectively be the best documentation of the dbxout format that exists. > Thus, dropping something like N_SO_PASCAL loses that historical > documentation. FYI, there's a texinfo document

Re: [Patch][Aarch64] Refactor comments in aarch64_print_operand

2017-07-13 Thread Jackson Woodruff
Hi James, I've addressed the issues discussed below. OK for trunk? Jackson On 07/13/2017 10:03 AM, James Greenhalgh wrote: On Tue, Jul 11, 2017 at 05:29:11PM +0100, Jackson Woodruff wrote: Hi all, This patch refactors comments in config/aarch64/aarch64.c aarch64_print_operand to provide a

Re: [PATCH] Remove Pascal language in source code.

2017-07-13 Thread Jeff Law
On 07/11/2017 08:30 AM, Martin Liška wrote: > Hi. > > Similar for GNU Pascal language. > > Patch can bootstrap on ppc64le-redhat-linux and survives regression tests. > > Ready to be installed? > > Martin > > gcc/ChangeLog: > > 2017-07-11 Martin Liska > > * dbxout.c

C PATCH to display types when printing a conversion warning (PR c/81233)

2017-07-13 Thread Marek Polacek
This patch improves diagnostic in the C FE by printing the types when reporting a problem with a conversion. E.g., instead of warning: assignment from incompatible pointer type you'll now get warning: assignment to 'int *' from incompatible pointer type 'char *' or instead of

Re: [PATCH] Move static chain and non-local goto init after NOTE_INSN_FUNCTION_BEG (PR sanitize/81186).

2017-07-13 Thread Martin Liška
On 06/30/2017 04:03 PM, Michael Matz wrote: > So you need to find some other solution of setting up the stack for ASAN. > And it'd be best if that solution doesn't require inserting code inside > the above sequence of parameter setup instructions, and you certainly > can't call any functions

[RFC][PATCH] Do refactoring of attribute functions and move them to attribs.[hc].

2017-07-13 Thread Martin Liška
Hi. It's request for comment where I mechanically moved attribute-related function to attribs.[hc]. Patch can bootstrap on ppc64le-redhat-linux and survives regression tests. Thoughts? Martin >From f4322151ebcd8cf71fd677317ef0a74374b0db5e Mon Sep 17 00:00:00 2001 From: marxin

Re: [PATCH v2][RFC] Canonize names of attributes.

2017-07-13 Thread Martin Liška
On 07/11/2017 05:52 PM, Jason Merrill wrote: > On Tue, Jul 11, 2017 at 9:37 AM, Martin Liška wrote: >> On 07/03/2017 11:00 PM, Jason Merrill wrote: >>> On Mon, Jul 3, 2017 at 5:52 AM, Martin Liška wrote: On 06/30/2017 09:34 PM, Jason Merrill wrote: >

Re: [PATCH] Cleanup #2 of Pascal references.

2017-07-13 Thread Jason Merrill
OK. On Thu, Jul 13, 2017 at 4:10 AM, Martin Liška wrote: > Thanks Jason, I'm sending patch #2. > > Ready for trunk? > Martin

RE: [PATCH 6/7] [ARC] Deprecate mexpand-adddi option.

2017-07-13 Thread Claudiu Zissulescu
> > This looks fine, though the commit message tells me it's not a good > idea, but it would be nice to know _why_ it's not good. Might be nice > to know for future reference. > Again LRA, expand time subregs are not handled by LRA, as far as I can tell. Moreover, this option is by default

Re: [PATCH 7/7] [ARC] Consolidate PIC implementation.

2017-07-13 Thread Andrew Burgess
* Claudiu Zissulescu [2017-06-01 15:34:57 +0200]: > This patch refactors a number of functions and compiler hooks into using a > single function which checks if a rtx is suited for pic or not. Removed > functions are arc_legitimate_pc_offset_p and

Re: [PATCH 6/7] [ARC] Deprecate mexpand-adddi option.

2017-07-13 Thread Andrew Burgess
* Claudiu Zissulescu [2017-06-01 15:34:56 +0200]: > From: claziss > > Emitting subregs in the expand is not a good idea. Deprecate this > option. > > gcc/ > 2017-04-26 Claudiu Zissulescu > > *

Re: Introduce Statement Frontier Notes and Location Views

2017-07-13 Thread Alexandre Oliva
On Jul 5, 2017, Alexandre Oliva wrote: > This patch implements statement frontier notes and location views, > concepts originally proposed in the GCC Summit back in 2010. See > https://people.redhat.com/aoliva/papers/sfn/ for details on the > original design. There's a

RE: [PATCH 5/7] [ARC] Enable indexed loads for elf targers.

2017-07-13 Thread Claudiu Zissulescu
> The change looks fine, but it would be nice if the commit message > explained _why_ we are default off for Linux and on for Elf, I think > more text in the commit message on this sort of thing will help future > developers understand why things are the way they are. > This explanation is quite

C++ PATCH to C++17 class deduction from init-list

2017-07-13 Thread Jason Merrill
P0512 corrected the specification of C++17 class template argument deduction to work more like constructor overload resolution in initialization; in particular, this means that we should do the same two-phase overload resolution for a class with a list constructor. This patch implements that, so

RE: [PATCH 4/7] [ARC] [LRA] Avoid emitting COND_EXEC during expand.

2017-07-13 Thread Claudiu Zissulescu
> This seems fine, your description "does not always work." is a bit > of a tease :) it would be nice to know _why_ it doesn't work, or at > least a description of what problem you're seeing. > As far as I can see, LRA doesn't handle very well the conditional execution patterns, as it

Re: [PATCH] Add quotes to error messages related to Sanitizers.

2017-07-13 Thread Martin Liška
On 07/11/2017 07:45 PM, David Malcolm wrote: > On Mon, 2017-07-10 at 11:36 +0200, Martin Liška wrote: >> Hi. >> >> This adds missing quotes to various error messages related to >> AddressSanitizer. >> Patch can bootstrap on ppc64le-redhat-linux and survives regression >> tests. >> >> Ready to be

[PATCH] PR c++/80287 add new testcase

2017-07-13 Thread Yvan Roux
Hi, as discussed in the PR, this patch adds a new reduced testcase which doesn't rely on c++17 features, this is a prereq to the backport of the fix into GCC 6 branch which is impacted by this issue. Validated on x86, ARM and AArch64 targets. Ok for trunk ? and maybe on gcc-7-branch ? Thanks,

Re: [PATCH 5/7] [ARC] Enable indexed loads for elf targers.

2017-07-13 Thread Andrew Burgess
* Claudiu Zissulescu [2017-06-01 15:34:55 +0200]: > gcc/ > 2017-02-28 Claudiu Zissulescu > > * config/arc/arc.opt (mindexed-loads): Use initial value > TARGET_INDEXED_LOADS_DEFAULT. > (mauto-modify-reg): Use initial

Re: [PATCH 4/7] [ARC] [LRA] Avoid emitting COND_EXEC during expand.

2017-07-13 Thread Andrew Burgess
* Claudiu Zissulescu [2017-06-01 15:34:54 +0200]: > Emmitting COND_EXEC rtxes during expand does not always work. > > gcc/ > 2017-01-10 Claudiu Zissulescu > > * config/arc/arc.md (clzsi2): Expand to an arc_clzsi2 instruction >

Re: [PATCH][ARC] Add support for naked functions.

2017-07-13 Thread Andrew Burgess
* Claudiu Zissulescu [2017-06-19 11:52:31 +0200]: > From: claziss > > Hi Andrew, > > Apologizes for the disconfort, please find the patch that works on the head. > > Thanks, > Claudiu > > gcc/ > 2016-12-13 Claudiu Zissulescu

Re: [ping #4][patch] Fix PR80929: Realistic PARALLEL cost in seq_cost.

2017-07-13 Thread Georg-Johann Lay
On 12.07.2017 21:36, Segher Boessenkool wrote: On Wed, Jul 12, 2017 at 03:30:00PM +0200, Georg-Johann Lay wrote: On 12.07.2017 14:11, Segher Boessenkool wrote: On Tue, Jul 11, 2017 at 10:47:27AM +0200, Georg-Johann Lay wrote: This small addition improves costs of PARALLELs in

Re: Add support to trace comparison instructions and switch statements

2017-07-13 Thread Dmitry Vyukov via gcc-patches
On Thu, Jul 13, 2017 at 12:41 PM, Wish Wu wrote: > Hi > > In fact, under linux with "return address" and file "/proc/self/maps", > we can give unique id for every comparison. Yes, it's doable. But you expressed worries about performance hit of merging callbacks for different

Re: Add support to trace comparison instructions and switch statements

2017-07-13 Thread Wish Wu
Hi In fact, under linux with "return address" and file "/proc/self/maps", we can give unique id for every comparison. For fuzzing, we may give 3 bits for every comparison as marker of if "<", "==" or ">" is showed. :D With Regards Wish Wu of Ant-financial Light-Year Security Lab On Thu, Jul

RE: [Arm] Obsoleting Command line option -mstructure-size-boundary in eabi configurations

2017-07-13 Thread Michael Collison
Updated per Richard's comments and suggestions. Okay for trunk? 2017-07-10 Michael Collison * config/arm/arm.c (arm_option_override): Deprecate use of -mstructure-size-boundary. * config/arm/arm.opt: Deprecate -mstructure-size-boundary.

Re: [PATCH][RFA/RFC] Stack clash mitigation 0/9

2017-07-13 Thread Michael Matz
Hello, On Tue, 11 Jul 2017, Jeff Law wrote: > This patch series is designed to mitigate the problems exposed by the > stack-clash exploits. As I've noted before, the way to address this > class of problems is via a good stack probing strategy. > > This has taken much longer than expected to

Re: Add support to trace comparison instructions and switch statements

2017-07-13 Thread Wish Wu
Hi In my perspective: 1. Do we need to assign unique id for every comparison ? Yes, I suggest to implement it like -fsanitize-coverage=trace-pc-guard . Because some fuzzing targets may invoke dlopen() like functions to load libraries(modules) after fork(), while these libraries are

[ARM, VXworks] Fix build

2017-07-13 Thread Richard Earnshaw (lists)
My patch last week to address selection of be8 linking mode broke the build for vxworks. It turns out that this port is one of the few remaining that is still not based on the EABI/AAPCS. This patch fixes the build, but I've not really tested it beyond building the core compiler binaries.

Re: [PATCH][RFA/RFC] Stack clash mitigation 0/9

2017-07-13 Thread Christophe Lyon
Hi Jeff, On 11 July 2017 at 23:19, Jeff Law wrote: > This patch series is designed to mitigate the problems exposed by the > stack-clash exploits. As I've noted before, the way to address this > class of problems is via a good stack probing strategy. > > This has taken much

[77/77] Add a complex_mode class

2017-07-13 Thread Richard Sandiford
This patch adds another machine_mode wrapper for modes that are known to be COMPLEX_MODE_P. There aren't yet many places that make use of it, but that might change in future. 2017-07-13 Richard Sandiford Alan Hayward

[76/77] Add a scalar_mode_pod class

2017-07-13 Thread Richard Sandiford
This patch adds a scalar_mode_pod class and uses it to replace the machine_mode in fixed_value. 2017-07-13 Richard Sandiford Alan Hayward David Sherwood gcc/ * coretypes.h

[75/77] Use scalar_mode in the AArch64 port

2017-07-13 Thread Richard Sandiford
Similar to the previous scalar_int_mode patch. 2017-07-13 Richard Sandiford Alan Hayward David Sherwood gcc/ * config/aarch64/aarch64-protos.h (aarch64_gen_adjusted_ldpstp):

Re: [Patch][Aarch64] Refactor comments in aarch64_print_operand

2017-07-13 Thread James Greenhalgh
On Tue, Jul 11, 2017 at 05:29:11PM +0100, Jackson Woodruff wrote: > Hi all, > > This patch refactors comments in config/aarch64/aarch64.c > aarch64_print_operand > to provide a table of aarch64 specific formating options. > > I've tested the patch with a bootstrap and testsuite run on aarch64. >

[74/77] Various small scalar_mode changes

2017-07-13 Thread Richard Sandiford
This patch uses scalar_mode in a few miscellaneous places: - Previous patches mean mode_to_vector can take a scalar_mode without further changes. - Implicit promotion is limited to scalar types (affects promote_mode and sdbout_parms) 2017-07-13 Richard Sandiford

[73/77] Pass scalar_mode to scalar_mode_supported_p

2017-07-13 Thread Richard Sandiford
This patch makes the preferred_simd_mode target hook take a scalar_mode rather than a machine_mode. 2017-07-13 Richard Sandiford Alan Hayward David Sherwood gcc/ * target.def

[72/77] Pass scalar_mode to scalar_mode_supported_p

2017-07-13 Thread Richard Sandiford
This patch makes the scalar_mode_supported_p target hook take a scalar_mode rather than a machine_mode. 2017-07-13 Richard Sandiford Alan Hayward David Sherwood gcc/ * target.def

[69/77] Split scalar-only part out of convert_mode

2017-07-13 Thread Richard Sandiford
This patch splits the final scalar-only part of convert_mode out into its own subroutine and treats the modes as scalar_modes there. 2017-07-13 Richard Sandiford Alan Hayward David Sherwood

[70/77] Make expand_fix/float check for scalar modes

2017-07-13 Thread Richard Sandiford
The expand_float code: /* Unsigned integer, and no way to convert directly. Convert as signed, then unconditionally adjust the result. */ and the expand_fix code: /* For an unsigned conversion, there is one more way to do it. If we have a signed conversion, we generate code that

[71/77] Use opt_scalar_mode for mode iterators

2017-07-13 Thread Richard Sandiford
This patch uses opt_scalar_mode when iterating over scalar modes. 2017-07-13 Richard Sandiford Alan Hayward David Sherwood gcc/ * coretypes.h (opt_scalar_mode): New typedef.

[68/77] Use scalar_mode for is_int_mode/is_float_mode pairs

2017-07-13 Thread Richard Sandiford
This patch uses scalar_mode for code that operates only on MODE_INT and MODE_FLOAT. 2017-07-13 Richard Sandiford Alan Hayward David Sherwood gcc/ * omp-expand.c (expand_omp_atomic):

[66/77] Use scalar_mode for constant integers

2017-07-13 Thread Richard Sandiford
This patch treats the mode associated with an integer constant as a scalar_mode. We can't use the more natural-sounding scalar_int_mode because we also use (const_int 0) for bounds-checking modes. (It might be worth adding a bounds-specific code instead, but that's for another day.) This

[67/77] Use scalar_mode in fixed-value.*

2017-07-13 Thread Richard Sandiford
This patch makes the fixed-value.* routines use scalar_mode. It would be possible to define special classes for these modes, as for scalar_int_mode and scalar_float_mode, but at the moment nothing would benefit from them. In particular, there's no use case that would help select between one class

[65/77] Add a SCALAR_TYPE_MODE macro

2017-07-13 Thread Richard Sandiford
This patch adds a SCALAR_TYPE_MODE macro, along the same lines as SCALAR_INT_TYPE_MODE and SCALAR_FLOAT_TYPE_MODE. It also adds two instances of as_a to c_common_type, when converting an unsigned fixed-point SCALAR_TYPE_MODE to the equivalent signed mode. 2017-07-13 Richard Sandiford

[64/77] Add a scalar_mode class

2017-07-13 Thread Richard Sandiford
This patch adds a scalar_mode class that can hold any scalar mode, specifically: - scalar integers - scalar floating-point values - scalar fractional modes - scalar accumulator modes - pointer bounds modes To start with this patch uses this type for GET_MODE_INNER. Later patches add

[63/77] Simplifications after type switch

2017-07-13 Thread Richard Sandiford
This patch makes a few simplifications after the previous mechanical machine_mode->scalar_int_mode change. 2017-07-13 Richard Sandiford Alan Hayward David Sherwood gcc/ * expmed.c

[61/77] Use scalar_int_mode in the AArch64 port

2017-07-13 Thread Richard Sandiford
This patch makes the AArch64 port use scalar_int_mode in various places. Other ports won't need this kind of change; we only need it for AArch64 because of the variable-sized SVE modes. The only change in functionality is in the rtx_costs handling of CONST_INT. If the caller doesn't supply a

[62/77] Big machine_mode to scalar_int_mode replacement

2017-07-13 Thread Richard Sandiford
This patch changes the types of various things from machine_mode to scalar_int_mode, in cases where (after previous patches) simply changing the type is enough on its own. The patch does nothing other than that. 2017-07-13 Richard Sandiford Alan

[59/77] Add a rtx_jump_table_data::get_data_mode helper

2017-07-13 Thread Richard Sandiford
This patch adds a helper function to get the mode of the addresses or offsets in a jump table. It also changes the final.c code to use rtx_jump_table_data over rtx or rtx_insn in cases where it needed to use the new helper. This in turn meant adding a safe_dyn_cast equivalent of safe_as_a, to

[60/77] Pass scalar_int_modes to do_jump_by_parts_*

2017-07-13 Thread Richard Sandiford
The callers of do_jump_by_parts_* had already established that the modes were MODE_INTs, so this patch passes the modes down as scalar_int_modes. 2017-07-13 Richard Sandiford Alan Hayward David Sherwood

[58/77] Use scalar_int_mode in a try_combine optimisation

2017-07-13 Thread Richard Sandiford
This patch uses scalar_int_modes for: /* If I2 is setting a pseudo to a constant and I3 is setting some sub-part of it to another constant, merge them by making a new constant. */ This was already implicit, but the danger with checking only CONST_SCALAR_INT_P is that it can include

[56/77] Use the more specific type when two modes are known to be equal

2017-07-13 Thread Richard Sandiford
This patch adjusts a couple of cases in which we had established that two modes were equal and happened to be using the one with the more general type instead of the one with the more specific type. 2017-07-13 Richard Sandiford Alan Hayward

[57/77] Use scalar_int_mode in expand_expr_addr_expr

2017-07-13 Thread Richard Sandiford
This patch rewrites the condition: if (tmode != address_mode && tmode != pointer_mode) tmode = address_mode; to the equivalent: tmode == pointer_mode ? pointer_mode : address_mode The latter has the advantage that the result is naturally a scalar_int_mode; a later mechanical patch

[55/77] Use scalar_int_mode in simplify_const_unary_operation

2017-07-13 Thread Richard Sandiford
The main scalar integer block in simplify_const_unary_operation had the condition: if (CONST_SCALAR_INT_P (op) && width > 0) where "width > 0" was a roundabout way of testing != VOIDmode. This patch replaces it with a check for a scalar_int_mode instead. It also uses the number of bits in the

[54/77] Add explicit int checks for alternative optab implementations

2017-07-13 Thread Richard Sandiford
expand_unop can expand narrow clz, clrsb, ctz, bswap, parity and ffs operations using optabs for wider modes. These expansions apply only to scalar integer modes (and not for example to vectors), so the patch adds explicit checks for that. 2017-07-13 Richard Sandiford

[53/77] Pass a mode to const_scalar_mask_from_tree

2017-07-13 Thread Richard Sandiford
The caller of const_scalar_mask_from_tree has proven that the mode is a MODE_INT, so this patch passes it down as a scalar_int_mode. It also expands the comment a little. 2017-07-13 Richard Sandiford Alan Hayward

[52/77] Use scalar_int_mode in extract/store_bit_field

2017-07-13 Thread Richard Sandiford
After a certain point, extract_bit_field and store_bit_field ensure that they're dealing with integer modes or BLKmode MEMs. This patch uses scalar_int_mode and opt_scalar_int_mode for those parts. 2017-07-13 Richard Sandiford Alan Hayward

  1   2   >