Re: Reorgnanization of profile count maintenance code, part 1

2017-06-06 Thread Jan Hubicka
> Hi! > > On Thu, Jun 01, 2017 at 01:35:56PM +0200, Jan Hubicka wrote: > > + /* FIXME: shrink wrapping violates this sanity check. */ > > + gcc_checking_assert ((num >= 0 > > + && (num <= REG_BR_PROB_BASE > > + || den <= REG_BR_PROB_BASE)

Go patch committed: fix types used in interface method tables

2017-06-06 Thread Ian Lance Taylor
This patch by Than McIntosh fixes the types that the Go frontend passes to the middle-end for interface method tables. The Go frontend was using Go function types for values that are actually C function pointers. The value is a pointer either way, but clearly the type should be correct. Bootstra

Re: add VxWorks specific crtstuff implementation files for Ada runtimes

2017-06-06 Thread Olivier Hainque
Hi Nathan, > On Jun 5, 2017, at 12:58 , Nathan Sidwell wrote: > > On 06/02/2017 11:58 AM, Olivier Hainque wrote: >> Hello, > >> 2017-06-02 Olivier Hainque >> ada/ >> * vx_crtbegin_auto.c: New file. >> * vx_crtbegin.c: New file. >> * vx_crtbegin.inc: New file. >> * vx

Re: [PATCH] vec_merge + vec_duplicate + vec_concat simplification

2017-06-06 Thread Marc Glisse
On Tue, 6 Jun 2017, Kyrill Tkachov wrote: Another vec_merge simplification that's missing is transforming: (vec_merge (vec_duplicate x) (vec_concat (y) (z)) (const_int N)) into (vec_concat x z) if N == 1 (0b01) or (vec_concat y x) if N == 2 (0b10) Do we have a canonicalization somewhere that g

Re: [PATCH] warn on mem calls modifying objects of non-trivial types (PR 80560)

2017-06-06 Thread Martin Sebor
On 06/05/2017 07:53 PM, Martin Sebor wrote: On 06/05/2017 01:13 PM, Martin Sebor wrote: On 06/05/2017 10:07 AM, Martin Sebor wrote: Maybe I should use a different approach and instead of trying to see if a function is deleted use trivially_xible to see if it's usable. That will mean changing t

[PATCH, rs6000] Fix vec_mulo and vec_mule builtin implementations

2017-06-06 Thread Carl E. Love
GCC Maintainers: The support for the vec_mulo and vec_mule that was recently submitted has a couple of bugs. Specifically, they were implemented with int/unsigned int args and return int/unsigned int. The return types should have been long long/unsigned long long. Additionally it was noted that

Re: RFC: [PATCH] Add warn_if_not_aligned attribute

2017-06-06 Thread H.J. Lu
On Tue, Jun 6, 2017 at 10:34 AM, Martin Sebor wrote: > On 06/06/2017 10:59 AM, H.J. Lu wrote: >> >> On Tue, Jun 6, 2017 at 9:10 AM, Martin Sebor wrote: >>> >>> On 06/06/2017 10:07 AM, Martin Sebor wrote: On 06/05/2017 11:45 AM, H.J. Lu wrote: > > > On Mon, Jun 5, 2017 a

[C++ PATCH] Spell correction tweak

2017-06-06 Thread Nathan Sidwell
Spelling correction blew up for me on the modules branch because suggest_alternatives_for was using the raw namespace accessor. That led me to reconsider the behaviour. This patch implements qualified name lookup (which it used to do), but ignoring using directives (which is new). That way

Re: [PATCH,AIX] Enable libiberty to read AIX XCOFF

2017-06-06 Thread David Edelsohn
Tony, This patch generally looks good to me -- it clearly is an incremental improvement. One of the libiberty maintainers, such as Ian, needs to approve the patch. https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01181.html + if (strcmp (name, ".text") == 0) +textptr = scnptr; The ab

Re: [PATCH,AIX] Enable XCOFF in libbacktrace on AIX

2017-06-06 Thread David Edelsohn
Tony, This patch seems like a reasonable start for the minimal libbacktrace framework needed by GCC Go. The libbacktrace maintainer, Ian, needs to approve the patch. https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01186.html I'll defer to Ian on the style of the fileline.c changes. Thanks, David

Re: [PATCH,AIX] Enable libiberty to read AIX XCOFF

2017-06-06 Thread DJ Delorie
David Edelsohn writes: > This patch generally looks good to me -- it clearly is an incremental > improvement. One of the libiberty maintainers, such as Ian, needs to > approve the patch. As AIX maintainer, I think you have the authority to approve patches like this, which only affect your OS.

Re: RFC: [PATCH] Add warn_if_not_aligned attribute

2017-06-06 Thread Martin Sebor
On 06/06/2017 04:57 PM, H.J. Lu wrote: On Tue, Jun 6, 2017 at 10:34 AM, Martin Sebor wrote: On 06/06/2017 10:59 AM, H.J. Lu wrote: On Tue, Jun 6, 2017 at 9:10 AM, Martin Sebor wrote: On 06/06/2017 10:07 AM, Martin Sebor wrote: On 06/05/2017 11:45 AM, H.J. Lu wrote: On Mon, Jun 5, 201

Re: [PR80693] drop value of parallel SETs dropped by combine

2017-06-06 Thread Alexandre Oliva
On May 18, 2017, Alexandre Oliva wrote: > When an insn used by combine has multiple SETs, only the non-REG_UNUSED > set is used: others will end up dropped on the floor. We have to take > note of the dropped REG_UNUSED SETs, clearing their cached values, so > that, even if the REGs remain used (

Re: Clarify define_insn documentation

2017-06-06 Thread Jeff Law
On 06/06/2017 12:55 PM, Richard Sandiford wrote: > This patch tries to clarify some of the restrictions on define_insn > conditions, and also on the use of "#". > > OK to install? > > Richard > > > 2017-06-06 Richard Sandiford > > gcc/ > * doc/md.texi: Clarify the restrictions on a de

Re: [PATCH] Another extract_muldiv-induced overflow (PR sanitizer/80932)

2017-06-06 Thread Jeff Law
On 06/06/2017 04:31 AM, Marek Polacek wrote: > Another case of extract_muldiv running off the rails. Here it did a wrong > distribution; turning > > ((A * x) - (B * x)) * -6 > > into > > (A' * x) - (B' * x) > > incurred an overflow in the subtraction. The fix is essentially the same > as

Re: SSA range class and removal of VR_ANTI_RANGEs

2017-06-06 Thread Jeff Law
On 05/23/2017 05:28 AM, Nathan Sidwell wrote: > On 05/23/2017 06:48 AM, Aldy Hernandez wrote: > >> The class can live outside of his work, as can be demonstrated by the >> attached patch. With it, I was able to rewrite the post-VRP range >> information to use this class and get rid of VR_ANTI_RAN

Re: SSA range class and removal of VR_ANTI_RANGEs

2017-06-06 Thread Jeff Law
On 05/23/2017 08:34 AM, Jakub Jelinek wrote: > On Tue, May 23, 2017 at 10:29:58AM -0400, David Malcolm wrote: >>> Do we really want methods starting with capital letters? >>> I understand why you can't use union, but I don't think we use >>> CamelCase >>> anywhere. >> >> FWIW in the JIT, I have a c

Re: [PATCH] handle bzero/bcopy in DSE and aliasing (PR 80933, 80934)

2017-06-06 Thread Martin Sebor
Note I'd be _much_ more sympathetic to simply canonicalizing all of bzero and bcopy to memset / memmove and be done with all the above complexity. Attached is an updated patch along these lines. Please let me know if it matches your expectations. FWIW, although I don't feel too strongly about

Re: [PATCH][4/4] SLP induction vectorization

2017-06-06 Thread Michael Meissner
On Tue, Jun 06, 2017 at 09:38:04AM +0200, Richard Biener wrote: > On Sat, 3 Jun 2017, Richard Biener wrote: > > > On June 3, 2017 1:38:14 AM GMT+02:00, Michael Meissner > > wrote: > > >On Fri, Jun 02, 2017 at 03:22:27PM +0200, Richard Biener wrote: > > >> > > >> This implements vectorization of

Fix profile updating in cfgbuild

2017-06-06 Thread Jan Hubicka
Hi the following patch makes cfgbuild to preserve profile when loops are introduced at RTL level (not very well, but at least do not throw it all away) and also avoids re-computing probabilities when there are no changes to CFG. Bootstrapped/regtested x86_64-linux. Comitted. Honza Index: cfgbuil

Re: [PATCH 0/5 v3] Vect peeling cost model

2017-06-06 Thread Robin Dapp
> Patch 6 breaks no-vfa-vect-57.c on powerpc. Which CPU model (power6/7/8?) and which compile options (-maltivec/ -mpower8-vector?) have been used for running and compiling the test? As discussed in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80925 this has an influence on the cost function and

[PING^2][RFC, PATCH][ASAN] Implement dynamic allocas/VLAs sanitization.​

2017-06-06 Thread Maxim Ostapenko
Hi, I would like to ping this patch: https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01374.html Thanks, -Maxim

Re: [PATCH][4/4] SLP induction vectorization

2017-06-06 Thread Richard Biener
On Sat, 3 Jun 2017, Richard Biener wrote: > On June 3, 2017 1:38:14 AM GMT+02:00, Michael Meissner > wrote: > >On Fri, Jun 02, 2017 at 03:22:27PM +0200, Richard Biener wrote: > >> > >> This implements vectorization of SLP inductions (in the not outer > >loop > >> vectorization case for now). >

Re: Reorgnanization of profile count maintenance code, part 1

2017-06-06 Thread Jan Hubicka
> On Thu, Jun 1, 2017 at 4:35 AM, Jan Hubicka wrote: > > Index: profile.c > > === > > --- profile.c (revision 248684) > > +++ profile.c (working copy) > > @@ -67,6 +67,10 @@ along with GCC; see the file COPYING3. > > > > #include

Initialize EXIT_BLOCK count when profiling

2017-06-06 Thread Jan Hubicka
Hi, this patch makes the count initialization loop to also visit EXIT_BLOCK. Profiledbootstrapped/regtested x86_64-linux, comitted. Honza * profile.c (compute_branch_probabilities): Also initialize EXIT_BLOCK profile. Index: profile.c =

Initialize profile in ipa-split

2017-06-06 Thread Jan Hubicka
Hi, this patch makes return block profile to be initialized after splitting. profiledbootstrapped/regtested x86_64-linux, comitted. Honza * ipa-split.c (split_function): Initialize return bb profile. Index: ipa-split.c === --

Update profile in gimple_find_sub_bbs

2017-06-06 Thread Jan Hubicka
Hi, gimple_find_sub_bbs misses any profile updating code. While this is legacy function it seems it is in tree for quite a while. This patch adds similar logic to RTL's variant. Profiledbootstraped/regtested x86_64-linux, comitted. Honza * predict.c (tree_estimate_probability_bb): Add L

Fix profile updating in shrink wrapping

2017-06-06 Thread Jan Hubicka
Hi, shrink-wrap misses profile update in handle_simple_exit. Profiledbootstrapped/regtested x86_64-linux, comitted. Honza * shrink-wrap.c (handle_simple_exit): Update profile. (try_shrink_wrapping): Upate profile. Index: shrink-wrap.c =

[PATCH] Simplify vec_merge of vec_duplicate with const_vector

2017-06-06 Thread Kyrill Tkachov
Hi all, I'm trying to improve some of the RTL-level handling of vector lane operations on aarch64 and that involves dealing with a lot of vec_merge operations. One simplification that I noticed missing from simplify-rtx are combinations of vec_merge with vec_duplicate. In this particular case:

<    1   2