Re: [PATCH GCC][4/5]Improve loop distribution to handle hmmer

2017-06-07 Thread kugan
Hi Bin, + +/* In reduced dependence graph RDG for loop distribution, return true if + dependence between references DR1 and DR2 may create dependence cycle + and such dependence cycle can't be resolved by runtime alias check. */ + +static bool +possible_data_dep_cycle_p (struct graph *rdg,

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

2017-06-07 Thread Martin Sebor
On 06/07/2017 02:12 PM, Martin Sebor wrote: On 06/07/2017 02:01 PM, Marc Glisse wrote: On Wed, 7 Jun 2017, Bernhard Reutner-Fischer wrote: On 7 June 2017 16:46:53 CEST, Martin Sebor wrote: On 06/07/2017 02:23 AM, Richard Biener wrote: On Wed, Jun 7, 2017 at 5:26 AM,

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

2017-06-07 Thread Jason Merrill
On 06/06/2017 03:24 PM, Martin Sebor wrote: + /* Iterate over copy and move assignment overloads. */ + + for (ovl_iterator oi (fns); oi; ++oi) +{ + tree f = *oi; + + bool accessible = !access || !(TREE_PRIVATE (f) || TREE_PROTECTED (f)); + + /* Skip template assignment

Re: [PATCH 1/2] x86,s390: add compiler memory barriers when expanding atomic_thread_fence (PR 80640)

2017-06-07 Thread Alexander Monakov
On Fri, 26 May 2017, Alexander Monakov wrote: > > Ping. > > Ping^2? Ping^3. > > (to be clear, patch 2/2 is my previous followup in this thread, I forgot to > > adjust the subject line; it should have said: > > "[PATCH 2/2] x86: add compiler memory barriers when expanding atomic_load"). > > > >

Re: Reorgnanization of profile count maintenance code, part 1

2017-06-07 Thread Segher Boessenkool
On Wed, Jun 07, 2017 at 11:11:08PM +0200, Jan Hubicka wrote: > > On Tue, Jun 06, 2017 at 10:25:29PM +0200, Jan Hubicka wrote: > > > > On Thu, Jun 01, 2017 at 01:35:56PM +0200, Jan Hubicka wrote: > > > > > + /* FIXME: shrink wrapping violates this sanity check. */ > > > > > +

Re: Handle data dependence relations with different bases

2017-06-07 Thread Richard Sandiford
Richard Biener writes: >>> How does this look? Changes since v1: >>> >>> - Added access_fn_component_p to check for valid access function components. >>> >>> - Added access_fn_components_comparable_p instead of using >>> types_compatibloe_p directly. >>> >>> - Added

Re: [PATCH, rs6000] PR 80982 gcc.target/powerpc/builtins-3-runnable.c fails starting with its introduction in r248846

2017-06-07 Thread Segher Boessenkool
On Wed, Jun 07, 2017 at 12:16:09PM -0700, Carl E. Love wrote: > Bug 80982 - gcc.target/powerpc/builtins-3-runnable.c fails starting with > its introduction in r248846. > > The failure was due to GEN_INT (8) being out of bounds. Once that was > fixed, the order of the arguments also needed

Re: [PATCH, rs6000] Fix vec_mulo and vec_mule builtin implementations

2017-06-07 Thread Segher Boessenkool
On Tue, Jun 06, 2017 at 03:55:28PM -0700, Carl E. Love wrote: > 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

Re: Reorgnanization of profile count maintenance code, part 1

2017-06-07 Thread Jan Hubicka
> On Tue, Jun 06, 2017 at 10:25:29PM +0200, Jan Hubicka wrote: > > > 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 <=

Re: Containers default initialization

2017-06-07 Thread François Dumont
On 05/06/2017 13:31, Jonathan Wakely wrote: On 04/06/17 22:26 +0200, François Dumont wrote: Hi I have eventually adapt the test to all containers and the result is successful for map/set/unordered_map/unordered_set. It is failing for deque/list/forward_list/vector/vector. I even try

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

2017-06-07 Thread Joseph Myers
On Wed, 7 Jun 2017, Bernhard Reutner-Fischer wrote: > It's like optimizing foo() to a random built-in but maybe that's just > me. If your libc provides a define to a standard function for these > under a compat knob then fine but otherwise you should fix that. > *shrug*. Joseph? It's the

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

2017-06-07 Thread Martin Sebor
On 06/07/2017 02:01 PM, Marc Glisse wrote: On Wed, 7 Jun 2017, Bernhard Reutner-Fischer wrote: On 7 June 2017 16:46:53 CEST, Martin Sebor wrote: On 06/07/2017 02:23 AM, Richard Biener wrote: On Wed, Jun 7, 2017 at 5:26 AM, Martin Sebor wrote: Note I'd

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

2017-06-07 Thread Marc Glisse
On Wed, 7 Jun 2017, Bernhard Reutner-Fischer wrote: On 7 June 2017 16:46:53 CEST, Martin Sebor wrote: On 06/07/2017 02:23 AM, Richard Biener wrote: On Wed, Jun 7, 2017 at 5:26 AM, Martin Sebor wrote: Note I'd be _much_ more sympathetic to simply

[PATCH, rs6000] PR 80982 gcc.target/powerpc/builtins-3-runnable.c fails starting with its introduction in r248846

2017-06-07 Thread Carl E. Love
GCC Maintainers: The support for vec_doublel () builtin didn't get re-tested on BE before submission. The following buzilla was filed against the builtin support. Bug 80982 - gcc.target/powerpc/builtins-3-runnable.c fails starting with its introduction in r248846. The failure was due to

Re: C/C++ PATCH to implement -Wmultiline-expansion (PR c/80116)

2017-06-07 Thread Pedro Alves
Hi Marek, Nice warning! Just to confirm, would the patch warn with code like: const char * target_xfer_status_to_string (enum target_xfer_status status) { #define CASE(X) case X: return #X switch (status) { CASE(TARGET_XFER_E_IO); CASE(TARGET_XFER_UNAVAILABLE);

Re: Reorgnanization of profile count maintenance code, part 1

2017-06-07 Thread Segher Boessenkool
On Tue, Jun 06, 2017 at 10:25:29PM +0200, Jan Hubicka wrote: > > 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 >

Re: C/C++ PATCH to implement -Wmultiline-expansion (PR c/80116)

2017-06-07 Thread Marek Polacek
On Fri, Jun 02, 2017 at 03:50:12PM -0600, Martin Sebor wrote: > On 06/02/2017 10:52 AM, Marek Polacek wrote: > > On Thu, Jun 01, 2017 at 04:17:24PM -0600, Martin Sebor wrote: > > > Very nice. I think David already suggested handling other statements > > > besides if (do/while), so let me just add

Re: [PATCH] multiarch support for non-glibc linux systems

2017-06-07 Thread Bernhard Reutner-Fischer
On 7 June 2017 19:22:43 CEST, Szabolcs Nagy wrote: >Current multiarch directory name is always *-linux-gnu* on linux, >this patch configures different names for uclibc and musl targets. >(tested by the debian rebootstrap scripts for various *-linux-musl >and *-linux-uclibc

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

2017-06-07 Thread Bernhard Reutner-Fischer
On 7 June 2017 16:46:53 CEST, Martin Sebor wrote: >On 06/07/2017 02:23 AM, Richard Biener wrote: >> On Wed, Jun 7, 2017 at 5:26 AM, Martin Sebor >wrote: Note I'd be _much_ more sympathetic to simply canonicalizing all of bzero and bcopy to

Re: [PATCH] libgo: fix support for ia64

2017-06-07 Thread Ian Lance Taylor
On Tue, Jun 6, 2017 at 6:11 AM, Andreas Schwab wrote: > This adds support for ia64 in lfstack. Thanks. Committed to mainline. Ian > diff --git a/libgo/go/runtime/lfstack_64bit.go > b/libgo/go/runtime/lfstack_64bit.go > index b314a3ba21..99dcec02de 100644 > ---

[PATCH] multiarch support for non-glibc linux systems

2017-06-07 Thread Szabolcs Nagy
Current multiarch directory name is always *-linux-gnu* on linux, this patch configures different names for uclibc and musl targets. (tested by the debian rebootstrap scripts for various *-linux-musl and *-linux-uclibc targets see debian bug #861588) gcc/ 2017-06-07 Szabolcs Nagy

Re: [PATCH/AARCH64] Improve/correct ThunderX 1 cost model for Arith_shift

2017-06-07 Thread James Greenhalgh
On Fri, Dec 30, 2016 at 10:05:26PM -0800, Andrew Pinski wrote: > Hi, > Currently for the following function: > int f(int a, int b) > { > return a + (b <<7); > } > > GCC produces: > add w0, w0, w1, lsl 7 > But for ThunderX 1, it is better if the instruction was split allowing > better

Re: [PATCH] PR libstdc++/81002 fix std::basic_regex range constructor

2017-06-07 Thread Jonathan Wakely
On 07/06/17 16:45 +0100, Jonathan Wakely wrote: Apparently std::basic_regex construction from forward iterators has never worked, because the call to __compile_nfa doesn't give the traits type. This reorders the template parameters so that only the traits type needs to be given explicitly, and

Re: [PING][PATCH][ARM]Use different startfile and endfile for elf target when generating shared object.

2017-06-07 Thread Renlin Li
Ping ~ On 14/12/16 15:33, Renlin Li wrote: Ping~ Regards, Renlin On 16/06/16 12:04, Renlin Li wrote: Hi all, GCC has startfile and endfile spec string built into it. startfile is used to specify objects files to include at the start of the link process. While endfile, on the other hand, is

Re: [PATCH] gcov: Add block_info::block_info (PR gcov-profile/80911).

2017-06-07 Thread Jan Hubicka
> > 2017-05-29 Martin Liska > > PR gcov-profile/80911 > * gcov.c (block_info::block_info): New constructor. OK, thanks! Honza > --- > gcc/gcov.c | 11 +++ > 1 file changed, 11 insertions(+) > > diff --git a/gcc/gcov.c b/gcc/gcov.c > index

Re: Fix profile updating in cfgbuild

2017-06-07 Thread Jan Hubicka
> > { > >-bb->count += e->count; > >+if (e->count.initialized_p ()) > >+ { > >+bb->count += e->count; > >+initialized_src = true; > >+ } > >+else > >+ uninitialized_src = false; >

Re: [PATCH v2] Generate reproducible output independently of the build-path

2017-06-07 Thread Ximin Luo
Ximin Luo: > Joseph Myers: >> On Tue, 11 Apr 2017, Ximin Luo wrote: >> >>> Copyright disclaimer >>> >>> >>> I dedicate these patches to the public domain by waiving all of my rights to >>> the work worldwide under copyright law, including all related and >>> neighboring >>>

Re: Fix profile updating in cfgbuild

2017-06-07 Thread Bernhard Reutner-Fischer
On 7 June 2017 08:44:13 CEST, Jan Hubicka wrote: >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

[PATCH] Add C++17 deduction guide for std::basic_regex (P0433R2, partial)

2017-06-07 Thread Jonathan Wakely
C++17 deduction guide for std::basic_regex. * include/bits/regex.h (basic_regex): Add deduction guide from P0433. * testsuite/28_regex/basic_regex/ctors/deduction.cc: New. Tested powerpc64le-linux, committed to trunk. commit 9f523df8e7338b52277b6f4942b85cb75de1cb6a Author:

[PATCH] PR libstdc++/81002 fix std::basic_regex range constructor

2017-06-07 Thread Jonathan Wakely
Apparently std::basic_regex construction from forward iterators has never worked, because the call to __compile_nfa doesn't give the traits type. This reorders the template parameters so that only the traits type needs to be given explicitly, and the iterator type can be deduced. PR

[PATCH, GCC/testsuite/ARM] Allow arm_arch_*_ok to test several macros

2017-06-07 Thread Thomas Preudhomme
Hi, The general arm_arch_*_ok procedures check architecture availability by substituting macros inside a defined preprocessor operator. This limits them to only check definition of only one macro and force ARMv7VE to be special cased. This patch takes advantage of the fact that architecture

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

2017-06-07 Thread DJ Delorie
"REIX, Tony" writes: > It appears that XNEWVEC() calls xmalloc which prints a message and > calls xexit if malloc fails. Objection removed then ;-) > So, yes, we check if (strtab == NULL) though there is no way that > XDELETEVEC(NULL) breaks something. However, it is a

Re: [Patch, fortran] PR35339 Optimize implied do loops in io statements

2017-06-07 Thread Renlin Li
171.swim fails on aarch64-linux as well. I dis a bisect and confirm it's r248877 causing the miscompare. Regards, Renlin On 06/06/17 12:05, Markus Trippelsdorf wrote: On 2017.06.05 at 22:39 +0200, Nicolas Koenig wrote: With all the style fixes committed as r248877. 171_swim fails now. I

Re: [PATCH][GCC][ARM] Adjust costs so udiv is preferred over sdiv when both are valid. [Patch (2/2)]

2017-06-07 Thread Tamar Christina
Hi Kyrill, I have updated the patch and regtested on arm-none-linux-gnueabihf. OK for trunk? Thanks, Tamar From: Tamar Christina Sent: Wednesday, June 7, 2017 11:15:49 AM To: Kyrill Tkachov; GCC Patches Cc: nd; Ramana Radhakrishnan; Richard Earnshaw;

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

2017-06-07 Thread Martin Sebor
On 06/07/2017 02:23 AM, Richard Biener wrote: On Wed, Jun 7, 2017 at 5:26 AM, Martin Sebor wrote: 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

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

2017-06-07 Thread David Edelsohn
On Wed, Jun 7, 2017 at 10:22 AM, REIX, Tony wrote: > Hi David, > > I'll fix the code incorrectly indented. I already have fixed the indentation in my copy. > > About your comment about our code looking for TEXT section by looking at > string ".text" , please note that our

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

2017-06-07 Thread REIX, Tony
Hi David, I'll fix the code incorrectly indented. About your comment about our code looking for TEXT section by looking at string ".text" , please note that our patch fixes a file called "simple-object-xcoff.c" : SIMPLE. Do not expect us to handle more than required. However, are you sure

Re: [PATCH, rs6000] Fold vector shifts in GIMPLE

2017-06-07 Thread Bill Schmidt
> On Jun 6, 2017, at 11:37 AM, Will Schmidt wrote: > > On Thu, 2017-06-01 at 10:15 -0500, Bill Schmidt wrote: >>> On Jun 1, 2017, at 2:48 AM, Richard Biener >>> wrote: >>> >>> On Wed, May 31, 2017 at 10:01 PM, Will Schmidt >>>

[C++ PATCH] Bitfield layout

2017-06-07 Thread Nathan Sidwell
There are some exciting rules for laying out a bitfield whose type is longer than its underlying type. Essentially you have to go find the longest supported type no longer than the requested size, use that and then insert a bunch on inaccessible padding. The code implementing that rule was

Re: RFC: [PATCH] Add warn_if_not_aligned attribute

2017-06-07 Thread H.J. Lu
On Tue, Jun 6, 2017 at 5:11 PM, Martin Sebor wrote: > 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

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

2017-06-07 Thread REIX, Tony
Hi DJ A) XNEWVEC 1) ./include/libiberty.h: It appears that XNEWVEC() calls xmalloc which prints a message and calls xexit if malloc fails. #define XNEWVEC(T, N) ((T *) xmalloc (sizeof (T) * (N))) /* Allocate memory without fail. If malloc fails, this will print a message to

[PATCH] Add C++17 deduction guide for std::basic_string (P0433R2, partial)

2017-06-07 Thread Jonathan Wakely
This adds the deduction guide for std::basic_string. The standard says the guide needs to be constrained to only match types that meet (an unspecified subset of) the requirements of InputIterators and Allocators. I've added a new __is_allocator trait for that, which checks for a nested value_type

Re: MinGW compilation warnings in libiberty's waitpid.c

2017-06-07 Thread Joel Brobecker
> I ended up not having time before going on holiday. If the resync > hasn't already been done, I'll do it now. Thanks for doing that, Iain! -- Joel

[PATCH v2][PING] Add no_tail_call attribute

2017-06-07 Thread Yuri Gribov
On Mon, May 29, 2017 at 8:14 AM, Yuri Gribov wrote: > Hi all, > > As discussed in > https://sourceware.org/ml/libc-alpha/2017-01/msg00455.html , some > libdl functions rely on return address to figure out the calling > DSO and then use this information in computation (e.g.

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

2017-06-07 Thread Andreas Schwab
On Jun 07 2017, Robin Dapp wrote: >> http://gcc.gnu.org/ml/gcc-testresults/2017-06/msg00297.html > > What machine is this running on? On a G5. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5

[PATCH][GCC][AArch64] optimize float immediate moves (2 /4) - HF/DF/SF mode.

2017-06-07 Thread Tamar Christina
Hi All, This patch adds support for creating floating point constants using mov immediate instructions. The movi SIMD instruction can be used for HFmode and SFmode constants, eg. for -0.0f we generate: movi v0.2s, 0x80, lsl 24 More complex constants can be generated using an

[PATCH][GCC][AArch64] optimize float immediate moves (3 /4) - testsuite.

2017-06-07 Thread Tamar Christina
Hi All, This patch adds new tests to cover the newly generated code from this patch series. Regression tested on aarch64-none-linux-gnu and no regressions. OK for trunk? Thanks, Tamar gcc/testsuite/ 2017-06-07 Tamar Christina Bilyan Borisov

[PATCH][GCC][AArch64] Inline calls to lrint when possible

2017-06-07 Thread Tamar Christina
Hi All, This patch allows the inlining of lrint when -fno-math-errno assuming that errno does not need to be set when the rounded value is not representable as a long. The case void f(double *a, long *b, double x) { *a = __builtin_rint(x); *b = __builtin_lrint(x); } now

[PATCH][GCC][AArch64] optimize float immediate moves (1 /4) - infrastructure.

2017-06-07 Thread Tamar Christina
Hi All, This patch lays the ground work to fix the immediate moves for floats to use a combination of mov, movi, fmov instead of ldr and adrp to load float constants that fit within the 16-bit limit of movz. The idea behind it is that these are used quite often in masks etc and we can get a

[PATCH][GCC][AArch64] optimize integer immediate moves with partial masks.

2017-06-07 Thread Tamar Christina
Hi All, This patch optimizes integer moves for cases where where the move could be done move efficiently using a smaller mode. For example: long long f1(void) { return 0x; } long f2(void) { return 0x; } generates: f1: mov w0, 4294927974 ret

[PATCH][GCC][AARCH64]Bad code-gen for structure/block/unaligned memory access

2017-06-07 Thread Tamar Christina
Hi All, This patch allows larger bitsizes to be used as copy size when the target does not have SLOW_UNALIGNED_ACCESS. It also provides an optimized routine for MEM to REG copying which avoid reconstructing the value piecewise on the stack and instead uses a combination of shifts and ORs.

Re: [PATCH GCC8][31/33]Set range information for niter bound of vectorized loop

2017-06-07 Thread Bin.Cheng
On Wed, May 24, 2017 at 2:48 PM, Richard Biener wrote: > On Mon, May 22, 2017 at 7:13 PM, Bin.Cheng wrote: >> On Fri, May 19, 2017 at 1:51 PM, Richard Biener >> wrote: >>> On Mon, May 15, 2017 at 5:58 PM, Bin.Cheng

Re: [PATCH GCC8][32/33]Save niter check for vect peeling if loop versioning is required

2017-06-07 Thread Bin.Cheng
On Thu, May 11, 2017 at 12:06 PM, Richard Biener wrote: > On Tue, Apr 18, 2017 at 12:54 PM, Bin Cheng wrote: >> Hi, >> When loop versioning is required in vectorization, we can merge niter check >> for vect >> peeling with the check for loop

Re: [PATCH] PR c++/80990 use cv-qualifiers in class template argument deduction

2017-06-07 Thread Nathan Sidwell
On 06/06/2017 03:07 PM, Jonathan Wakely wrote: This fixes class template argument deduction so that cv-qualifiers are not ignored. Bootstrapped and tested powerpc64le-linux. OK for trunk? PR c++/80990 * pt.c (do_class_deduction): Build qualified type. ok -- Nathan Sidwell

Re: [PATCH GCC8][30/33]Fold more type conversion into binary arithmetic operations

2017-06-07 Thread Bin.Cheng
On Wed, May 17, 2017 at 1:27 PM, Richard Biener wrote: > On Mon, May 15, 2017 at 5:56 PM, Bin.Cheng wrote: >> On Thu, May 11, 2017 at 11:54 AM, Richard Biener >> wrote: >>> On Tue, Apr 18, 2017 at 12:53 PM, Bin Cheng

Re: [PATCH GCC8][29/33]New register pressure estimation

2017-06-07 Thread Bin.Cheng
On Wed, May 17, 2017 at 1:24 PM, Richard Biener wrote: > On Mon, May 15, 2017 at 5:50 PM, Bin.Cheng wrote: >> On Thu, May 11, 2017 at 11:39 AM, Richard Biener >> wrote: >>> On Tue, Apr 18, 2017 at 12:53 PM, Bin Cheng

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

2017-06-07 Thread Robin Dapp
> http://gcc.gnu.org/ml/gcc-testresults/2017-06/msg00297.html What machine is this running on? power4 BE? The tests are compiled with --with-cpu-64=power4 apparently. I cannot reproduce this on power7 -m32. Is it possible to get more detailed logs or machine access to reproduce? Regards Robin

Re: [PATCH GCC][4/5]Improve loop distribution to handle hmmer

2017-06-07 Thread Bin.Cheng
On Wed, Jun 7, 2017 at 11:03 AM, Richard Biener wrote: > On Fri, Jun 2, 2017 at 1:51 PM, Bin Cheng wrote: >> Hi, >> This is the main patch of the change. It improves loop distribution by >> versioning loop under >> runtime alias check conditions,

Re: Handle data dependence relations with different bases

2017-06-07 Thread Richard Biener
On Wed, May 31, 2017 at 8:56 AM, Richard Sandiford wrote: > Ping > > Richard Sandiford writes: >> Richard Biener writes: >>> On Thu, May 4, 2017 at 7:21 PM, Richard Sandiford >>>

RE: [PATCH][GCC][ARM] Adjust costs so udiv is preferred over sdiv when both are valid. [Patch (2/2)]

2017-06-07 Thread Tamar Christina
Hi Kyrill, > diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index > b24143e32e2f10f3b150f7ed0df4fabb3cc8..ecc7688b1db6309a4dd694a8e > 254e64abe14d7e3 100644 > --- a/gcc/config/arm/arm.c > +++ b/gcc/config/arm/arm.c > @@ -9258,6 +9258,8 @@ arm_rtx_costs_internal (rtx x, enum rtx_code

Re: Use base inequality for some vector alias checks

2017-06-07 Thread Richard Biener
On Wed, May 31, 2017 at 8:56 AM, Richard Sandiford wrote: > Ping > > Richard Sandiford writes: >> This patch checks whether two data references x and y cannot >> partially overlap and so are independent whenever != >> We can then use

Re: [PATCH][GCC][ARM] Adjust costs so udiv is preferred over sdiv when both are valid. [Patch (2/2)]

2017-06-07 Thread Kyrill Tkachov
On 02/05/17 16:37, Tamar Christina wrote: Hi All, This patch adjusts the cost model so that when both sdiv and udiv are possible it prefers udiv over sdiv. This was done by making sdiv slightly more expensive instead of making udiv cheaper to keep the baseline costs of a division the same as

Re: [PATCH GCC][4/5]Improve loop distribution to handle hmmer

2017-06-07 Thread Richard Biener
On Fri, Jun 2, 2017 at 1:51 PM, Bin Cheng wrote: > Hi, > This is the main patch of the change. It improves loop distribution by > versioning loop under > runtime alias check conditions, as well as better partition fusion. As > described in comments, > the patch basically

Re: [PATCH][GCC][ARM] Adjust costs so udiv is preferred over sdiv when both are valid. [Patch (2/2)]

2017-06-07 Thread Tamar Christina
Ping From: gcc-patches-ow...@gcc.gnu.org on behalf of Tamar Christina Sent: Monday, May 15, 2017 9:32:55 AM To: GCC Patches Cc: nd; Kyrylo Tkachov; Ramana Radhakrishnan; Richard Earnshaw;

Re: [PATCH GCC][5/5]Enable tree loop distribution at -O3 and above optimization levels.

2017-06-07 Thread Richard Biener
On Wed, Jun 7, 2017 at 10:49 AM, Bin.Cheng wrote: > On Wed, Jun 7, 2017 at 9:33 AM, Richard Biener > wrote: >> On Wed, Jun 7, 2017 at 10:07 AM, Bin.Cheng wrote: >>> On Tue, Jun 6, 2017 at 6:47 PM, Jeff Law

[PATCH][GRAPHITE] Fix PR79483

2017-06-07 Thread Richard Biener
When the order of visiting dominator children in domwalk changed GRAPHITE falls foul of relying on a particular order BBs are visited when computing the original schedule from the vector of pbbs. The following restores an order that I believe might work. In the end the original schedule should

[PATCH] Another testsuite fallout of PR80928

2017-06-07 Thread Richard Biener
2017-06-07 Richard Biener PR tree-optimization/80928 * gcc.dg/vect/slp-13.c: Adjust patterns with vect_pack_trunc. * gcc.dg/vect/slp-13-big-array.c: Likewise. Index: gcc/testsuite/gcc.dg/vect/slp-13.c

Re: [Patch, ARM, testsuite] Add -mfloat-abi=hard to arm_neon_ok

2017-06-07 Thread Christophe Lyon
Hi, On 2 June 2017 at 16:19, Christophe Lyon wrote: > Hi, > > I have recently updated the dejagnu version I use for > cross-testing arm and aarch64 toolchains to 1.6+. One of the side > effects was mentioned by Jonathan in >

[PATCH] Fix PR80928 fallout

2017-06-07 Thread Richard Biener
The trivial one at least. Committed. Richard. 2017-06-07 Richard Biener PR tree-optimization/80928 * gcc.dg/vect/slp-perm-8.c: Avoid vectorizing loop computing check_results. Index: gcc/testsuite/gcc.dg/vect/slp-perm-8.c

Re: [PATCH] gcov: Add block_info::block_info (PR gcov-profile/80911).

2017-06-07 Thread Tom de Vries
On 05/30/2017 11:41 AM, Martin Liška wrote: Hello. Following patch adds default constructor that initializes all fields in block_info. Which fixes the 77 corrupted gcno regressions that currently show up when compiling trunk with g++ 4.4.3. Patch can bootstrap on ppc64le-redhat-linux

[C++ PATCH] Fix genericization ICE (PR c++/80984)

2017-06-07 Thread Jakub Jelinek
Hi! As the testcase shows, BLOCK_VARS of the outermost scope can contain decls other than VAR_DECL that have DECL_NAME identical to what we are looking for, in this case a LABEL_DECL. The code is looking for the VAR_DECL that has been NRV optimized, and while e.g. DECL_HAS_VALUE_EXPR_P is

Re: [PATCH GCC][5/5]Enable tree loop distribution at -O3 and above optimization levels.

2017-06-07 Thread Bin.Cheng
On Wed, Jun 7, 2017 at 9:33 AM, Richard Biener wrote: > On Wed, Jun 7, 2017 at 10:07 AM, Bin.Cheng wrote: >> On Tue, Jun 6, 2017 at 6:47 PM, Jeff Law wrote: >>> On 06/02/2017 05:52 AM, Bin Cheng wrote: Hi, This patch

Re: [PATCH GCC][1/5]Factor out interface checking if runtime alias check is possible

2017-06-07 Thread Richard Biener
On Fri, Jun 2, 2017 at 1:50 PM, Bin Cheng wrote: > Hi, > This is the first patch in the series improving tree loop distribution. It > factors out an > interface checking if runtime alias check is possible in order to resolve > data dependence. > This interface is used in

Re: [PATCH GCC][2/5]Extend graph data structure

2017-06-07 Thread Richard Biener
On Fri, Jun 2, 2017 at 1:51 PM, Bin Cheng wrote: > Hi, > This patch extends graph data structure in two ways: > 1) Passes private data to callback function of for_each_edge. > 2) Adds new callback function to graph traversing functions like > graphds_scc and graphds_dfs. >

Re: [PATCH GCC][3/5]Move pass ivcanon upward in compilation process

2017-06-07 Thread Richard Biener
On Fri, Jun 2, 2017 at 1:51 PM, Bin Cheng wrote: > Hi, > This patch moves pass ivcanon before loop distribution. Pass loop split > could create > loops with limited niters. Such loop should be unrolled before loop > distribution (or graphite), > rather than after. > >

Re: [PATCH GCC][5/5]Enable tree loop distribution at -O3 and above optimization levels.

2017-06-07 Thread Richard Biener
On Wed, Jun 7, 2017 at 10:07 AM, Bin.Cheng wrote: > On Tue, Jun 6, 2017 at 6:47 PM, Jeff Law wrote: >> On 06/02/2017 05:52 AM, Bin Cheng wrote: >>> Hi, >>> This patch enables -ftree-loop-distribution by default at -O3 and above >>> optimization levels.

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

2017-06-07 Thread Richard Biener
On Wed, Jun 7, 2017 at 5:26 AM, Martin Sebor wrote: >> 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 >

Re: [PATCH][2/2] early LTO debug, main part

2017-06-07 Thread Richard Biener
On Fri, 19 May 2017, Richard Biener wrote: > > This is a repost of the main part of the early LTO debug support. > The only changes relative to the last post is in the dwarf2out.c > pieces due to Jasons review and Jakubs introduction of > DW_OP_GNU_variable_value. > > I've also adjusted

Re: [PATCH][1/2] Early LTO debug, simple-object part

2017-06-07 Thread Richard Biener
On Fri, 19 May 2017, Richard Biener wrote: > > This is a repost (unchanged) of the simple-object ELF support for > early LTO debug transfer from IL object to a separate debug-only object > file. > > Bootstrapped and tested on x86_64-unknown-linux-gnu. Ping. > Richard. > > 2017-05-19

Re: [PATCH GCC][5/5]Enable tree loop distribution at -O3 and above optimization levels.

2017-06-07 Thread Bin.Cheng
On Tue, Jun 6, 2017 at 6:47 PM, Jeff Law wrote: > On 06/02/2017 05:52 AM, Bin Cheng wrote: >> Hi, >> This patch enables -ftree-loop-distribution by default at -O3 and above >> optimization levels. >> Bootstrap and test at O2/O3 on x86_64 and AArch64. is it OK? >> >> Note I

[PATCH] MIPS16/GCC: Emit bounds checking as RTL in `casesi'

2017-06-07 Thread Maciej W. Rozycki
Hi, Further to my changes made last November here is an update to the MIPS16 `casesi' pattern making it emit bounds checking as RTL rather than having it as hardcoded assembly within the `casesi_internal_mips16_' dispatcher. See below for how PR tree-optimization/51513 has prevented me from

Fix profile updating in cfgbuild

2017-06-07 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: