Re: [PATCH] Fix PR54702 and LTO bootstrap (for me)

2013-10-15 Thread Richard Biener
On Mon, 14 Oct 2013, Mike Stump wrote: > On Sep 25, 2012, at 8:00 AM, Richard Guenther wrote: > > 2012-09-25 Richard Guenther > > > > PR lto/54625 > > * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Do not merge > > cgraph nodes for builtins. > > > > * gcc.dg/lto/pr54702_0.

RE: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0

2013-10-15 Thread Zhenqiang Chen
> -Original Message- > From: Jakub Jelinek [mailto:ja...@redhat.com] > Sent: Monday, October 14, 2013 4:49 PM > To: Zhenqiang Chen > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - > CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) ==

Re: RFA: Remove alias usage from libgcc/sync.c

2013-10-15 Thread Richard Sandiford
Richard Biener writes: >>> Honza? For tailr this boils down to symtab_semantically_equivalent_p (). >>> I suppose we don't want to change that but eventually special case >>> builtins in tailr, thus >>> >>> Index: gcc/tree-tailcall.c >>> ===

Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0

2013-10-15 Thread Jakub Jelinek
On Tue, Oct 15, 2013 at 03:57:23PM +0800, Zhenqiang Chen wrote: > Is it OK? Ok, except two comments apparently still need updating. +/* Optimize X == CST1 || X == CST2 + if popcount (CST1 ^ CST2) == 1 into + (X & ~(CST1 ^ CST2)) == (CST1 & ~(CST1 ^ CST2)). + Similarly for ranges. E.g. +

Re: [PING] [PATCH] PR58143/58227 wrong code at -O3

2013-10-15 Thread Richard Biener
On Sun, Oct 6, 2013 at 2:22 PM, Bernd Edlinger wrote: > Ping! > > > How I should proceed with this patch, is it OK? > > The latest version was posted at: > http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00234.html I have now attached a quick draft of a patch that rewrites the moved stmts to not ex

Re: [PATCH] tree_code_name wrapper

2013-10-15 Thread Richard Biener
On Mon, Oct 14, 2013 at 6:10 PM, Paolo Carlini wrote: > Hi > > > On 10/14/2013 05:43 PM, Paulo Matos wrote: >> >> * cp/error.c (code_to_string): Use new wrapper get_tree_code_name. >> * cp/cxx-pretty-print.c (pp_cxx_assignment_operator): Use new >> wrapper get_tree_code_name. >>

Re: RFA: Remove alias usage from libgcc/sync.c

2013-10-15 Thread Richard Biener
On Tue, Oct 15, 2013 at 9:59 AM, Richard Sandiford wrote: > Richard Biener writes: Honza? For tailr this boils down to symtab_semantically_equivalent_p (). I suppose we don't want to change that but eventually special case builtins in tailr, thus Index: gcc/tree-tailcall

RE: [PATCH] tree_code_name wrapper

2013-10-15 Thread Paulo Matos
> -Original Message- > From: Richard Biener [mailto:richard.guent...@gmail.com] > Sent: 15 October 2013 10:12 > To: Paolo Carlini > Cc: Paulo Matos; gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] tree_code_name wrapper > > > Apart from this please make sure to properly use tabs to inden

Re: [PATCH] tree_code_name wrapper

2013-10-15 Thread Jakub Jelinek
On Tue, Oct 15, 2013 at 09:42:17AM +, Paulo Matos wrote: > Thanks, regarding the indentation I was convinced we used 2 space > indentation with maximum line length of 80 characters. We do, however 8 consecutive spaces in the indentation should be always replaced by a tab. > Should I also subm

[PATCH] More loop distribution TLC

2013-10-15 Thread Richard Biener
The following simplifies code, opportunities exposed by earlier changes. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2013-10-15 Richard Biener * tree-loop-distribution.c (build_empty_rdg): Inline into single user. (rdg_flag_vertex): Inline

[PATCH][LTO] Reduce canonical type hashtable size

2013-10-15 Thread Richard Biener
This finally reduces the size of the pointer-map we use to track hash values for canonical type computation. We only need to keep track of hash values for types that are the canonical type "master". LTO bootstrap and testing running on x86_64-unknown-linux-gnu, I'll commit it after that succeede

[PING^2][PATCH][2 of 2] RTL expansion for zero sign extension elimination with VRP

2013-10-15 Thread Kugan
Hi Eric, Can you please help to review this patch? http://gcc.gnu.org/ml/gcc-patches/2013-10/msg00452.html Thanks, Kugan > +2013-09-25 Kugan Vivekanandarajah > + > + * dojump.c (do_compare_and_jump): Generate rtl without > + zero/sign extension if redundant. > + * cfgexpand.c (exp

[PATCH] Throttle ADDR_EXPR forwprop

2013-10-15 Thread Richard Biener
This restructures the recursion through copies and conversions that forwprop does to ADDR_EXPRs. First this avoids doing forward copy-propagation, that is, a_1 = &x[i_0]; a_2 = a_1; is no longer replaced with a_2 = &x[i_0]; as that performs code sinking. Second, the conversion case was

[Ada] Use of names in input_list of aspect/pragma Initializes

2013-10-15 Thread Arnaud Charlet
This patch corrects the analysis of an initialization item with an input_list to catch cases where input items come from the same related package. -- Source -- -- init.ads package Init with Abstract_State => S, Initializes=> (S => (Emb.SS, Emb.XX, Emb.YY

[PATCH] Fix part of PR58712

2013-10-15 Thread Markus Trippelsdorf
Valgrind complains: ==27870== Conditional jump or move depends on uninitialised value(s) ==27870==at 0x557CDC: cgraph_create_edge_1(cgraph_node*, cgraph_node*, gimple_statement_d*, long, int) (cgraph.c:695) ==27870==by 0x55882E: cgraph_create_edge(cgraph_node*, cgraph_node*, gimple_statem

[Ada] States that act as constituents of other states

2013-10-15 Thread Arnaud Charlet
This patch modifies the legality checks of aspect/pragma Refined_State to ensure that when a state acts as a constituent of another state, the said state has a Part_Of dependency in its corresponding aspect/pragma Abstract_State. -- Source -- -- abstract_state_illegal.a

[Ada] Give better msg for redundant ELSE in IF EXPRESSION

2013-10-15 Thread Arnaud Charlet
We now give a better message for a redundant ELSE part in an IF expression. 1. package Elseelse is 2.function F return Boolean is 3. (if 1 + 1 = 2 then True 4. else False 5. else True); | >>> only one "else" part is allowed

[Ada] Improved redundant null check elimination

2013-10-15 Thread Arnaud Charlet
This change improves the circuitry that is responsible for eliminating checks in the right hand side of short circuit operators, when the left hand side contains a test that guarantees the check can't fail. The following test must show no "raise containt_error" nodes in expanded code: gcc -c k.ad

Re: [PATCH] Fix part of PR58712

2013-10-15 Thread Richard Biener
On Tue, Oct 15, 2013 at 12:31 PM, Markus Trippelsdorf wrote: > Valgrind complains: > ==27870== Conditional jump or move depends on uninitialised value(s) > ==27870==at 0x557CDC: cgraph_create_edge_1(cgraph_node*, cgraph_node*, > gimple_statement_d*, long, int) (cgraph.c:695) > ==27870==by

Fix for reloads_unique_chain_p

2013-10-15 Thread Bernd Schmidt
We have a testcase where we have this insn: (insn:HI 53 55 56 2 (set (reg:SI 214 [ D.1303 ]) (mem:SI (plus:SI (mult:SI (reg/v:SI 219 [ p2 ]) (const_int 4 [0x4])) (reg/v/f:SI 218 [ p1 ])) [3 S4 A32])) 163 which produces the following reloads: Reload 0:

[Ada] Require Elaborate_Body if non-null abstract state is specified

2013-10-15 Thread Arnaud Charlet
If a library level package declaration or generic package declaration contains a non-null abstract state, and does not otherwise require a body, then in accorance with SPARK (LRM 7.1.5(4)), the package must contain a pragma Elaborate_Body. This implements this requirement, as shown in the following

[ARM/AARCH64] Remodel type attribute values for Neon Instructions.

2013-10-15 Thread James Greenhalgh
Hi, The historical neon_type attribute formed groups over the Neon instructions which were well suited for modelling the Cortex-A8 pipeline, but were cumbersome for other processor models. The AArch64 has another classification "simd_type". This is, with a few exceptions, and when augmented by si

[ARM] [1/10] Add new types to describe Neon insns.

2013-10-15 Thread James Greenhalgh
Hi, This patch updates all the types used by the "types" attribute to describe neon instructions. These have, in the past, been designed to support modelling the Cortex-A8 pipeline. We can split these types, and use them to better model other pipelines. This patch adds the new types we plan to

[AArch64] [Neon types 2/10] Update Current type attributes to new Neon Types.

2013-10-15 Thread James Greenhalgh
Hi, This patch transforms: neon_ldm_2 to neon_load1_2reg neon_str_2 to neon_store1_2reg in the aarch64 backend. This is just an administrative change, as we have no cores consuming these types in the aarch64 backend. Tested on aarch64-none-elf with no regressions. Thanks, James --- gcc/

[ARM] [Neon types 9/10] Remove old neon types

2013-10-15 Thread James Greenhalgh
Hi, Now that we have proted the pipeline models, this patch removes the old neon types. Bootstrapped on a chromebook in series and sanity checked. Thanks, James --- gcc/ 2013-10-15 James Greenhalgh * config/arm/types: Remove old neon types. diff --git a/gcc/config/arm/types.md b/g

[ARM] [Neon types 10/10] Remove neon-schedgen.ml

2013-10-15 Thread James Greenhalgh
Hi, After refactoring all the Neon "type" attributes, neon-schedgen.ml is out of date and only serves to distract. This patch removes the script. I've run a bootstrap for arm just to ensure that no funky Make machinery remains. OK? Thanks, James --- 2013-10-15 James Greenhalgh *

[ARM] [Neon types 8/10] Cortex-A7 neon pipeline model

2013-10-15 Thread James Greenhalgh
Hi, This patch updates the A7 pipeline for the new Neon types. Sanity checked and tested with some neon intrinsics code to see schedule quality. Thanks, James --- gcc/ 2013-10-15 James Greenhalgh * config/arm/cortex-a7.md (cortex_a7_neon_type): New. (cortex_a7_neon

Re: [PATCH v2] Fix libgfortran cross compile configury w.r.t newlib

2013-10-15 Thread Marcus Shawcroft
On 1 October 2013 12:40, Marcus Shawcroft wrote: > On 30/09/13 13:40, Marcus Shawcroft wrote: > >>> Well, I thought this patch would work for me, but it does not. It looks >>> like gcc_no_link is set to 'no' on my target because, technically, I can >>> link even if I don't use a linker script. I

[PATCH] Fix IVOPTs introducing undefined signed overflow

2013-10-15 Thread Richard Biener
This makes sure that we do not record a signed GIV that we do not know whether it overflows or not. For the testcase IVOPTs else can end up replacing an unsigned computation with a signed one. Note that alternatively we may decide that it is not desirable for SCEV to return signed { 2147483643,

Re: [PATCH] Fix IVOPTs introducing undefined signed overflow

2013-10-15 Thread Richard Biener
On Tue, 15 Oct 2013, Richard Biener wrote: > > This makes sure that we do not record a signed GIV that we do not > know whether it overflows or not. For the testcase IVOPTs else > can end up replacing an unsigned computation with a signed one. > > Note that alternatively we may decide that it i

Re: patch to canonize unsigned tree-csts

2013-10-15 Thread Kenneth Zadeck
i added the assertion that richard requested and tested this on x86-64. committed as revision 203602. On 10/06/2013 05:13 AM, Richard Sandiford wrote: Kenneth Zadeck writes: On 10/04/2013 01:00 PM, Richard Sandiford wrote: I was hoping Richard would weigh in here. In case not... Kenneth Z

[RFC] By default if-convert only basic blocks that will be vectorized

2013-10-15 Thread Jakub Jelinek
Hi! Especially on i?86/x86_64 if-conversion pass seems to be often a pessimization, but the vectorization relies on it and without it we can't vectorize a lot of the loops. Here is a prototype of a patch that will by default (unless explicit -ftree-loop-if-convert) only if-convert loops internall

Re: [PATCH][ubsan] Add VLA bound instrumentation

2013-10-15 Thread Marek Polacek
Ping^2. Jason, Joseph, are you fine with the C++/C FE changes? Thanks. On Mon, Oct 07, 2013 at 10:17:38PM +0200, Marek Polacek wrote: > Ping. > > On Wed, Sep 25, 2013 at 02:41:32PM +0200, Marek Polacek wrote: > > On Thu, Sep 12, 2013 at 02:26:55PM +0200, Marek Polacek wrote: > > > This patch ad

RE: [PATCH] tree_code_name wrapper

2013-10-15 Thread Paulo Matos
> -Original Message- > From: Jakub Jelinek [mailto:ja...@redhat.com] > Sent: 15 October 2013 10:51 > To: Paulo Matos > Cc: Richard Biener; Paolo Carlini; gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] tree_code_name wrapper > > On Tue, Oct 15, 2013 at 09:42:17AM +, Paulo Matos wrote: >

Re: [PATCH v4 04/20] add configury

2013-10-15 Thread Tom Tromey
Gerald> - When I do a gmake at the top level of the build tree, nothing is Gerald>rebuilt at all. This only happens during `gmake install` [...] Gerald> Is nobody else seeing this? Or is everyone just lucky enough to have Gerald> a recent version of GCC as the default compiler? How exactly

Re: [PING^2][PATCH][2 of 2] RTL expansion for zero sign extension elimination with VRP

2013-10-15 Thread Richard Biener
On Tue, 15 Oct 2013, Kugan wrote: > Hi Eric, > > Can you please help to review this patch? > http://gcc.gnu.org/ml/gcc-patches/2013-10/msg00452.html I think that gimple_assign_is_zero_sign_ext_redundant and its description is somewhat confused. You seem to have two cases here, one being NOP_EXP

Re: [PATCH, i386, MPX, 1/X] Support of Intel MPX ISA. 1/2 Bound type and modes

2013-10-15 Thread Ilya Enkovich
Hey guys, could please someone look at this small patch? It blocks approved MPX ISA support on i386 target. Thanks, Ilya 2013/10/2 Ilya Enkovich : > Ping > > 2013/9/17 Ilya Enkovich : >> Hi, >> >> Here is a patch introducing new type and mode for bounds. It is a part of >> MPX ISA support patch

Re: [PATCH] tree_code_name wrapper

2013-10-15 Thread Richard Biener
On Tue, Oct 15, 2013 at 3:19 PM, Paulo Matos wrote: >> -Original Message- >> From: Jakub Jelinek [mailto:ja...@redhat.com] >> Sent: 15 October 2013 10:51 >> To: Paulo Matos >> Cc: Richard Biener; Paolo Carlini; gcc-patches@gcc.gnu.org >> Subject: Re: [PATCH] tree_code_name wrapper >> >> On

Re: [PATCH] Relax the requirement of reduction pattern in GCC vectorizer.

2013-10-15 Thread Richard Biener
On Sat, Sep 28, 2013 at 3:28 AM, Cong Hou wrote: > The current GCC vectorizer requires the following pattern as a simple > reduction computation: > >loop_header: > a1 = phi < a0, a2 > > a3 = ... > a2 = operation (a3, a1) > > But a3 can also be defined outside of the loop. For ex

[PATCH] Fix profile count updates during tail merging

2013-10-15 Thread Teresa Johnson
This patch fixes a profile count insanity introduced by ssa tail merging. When replacing bb1 with bb2, which has the same successors, the bb counts were being merged, but the successor edge weights were not. Bootstrapped and tested on x86_64-unknown-linux-gnu. Ok for trunk? Thanks, Teresa 2013-1

Re: [PATCH i386 3/8] [AVX512] [15/n] Add AVX-512 patterns: VI48F_512 iterator.

2013-10-15 Thread Kirill Yukhin
Hello, On 11 Oct 10:30, Richard Henderson wrote: > On 10/09/2013 03:29 AM, Kirill Yukhin wrote: > > +(define_insn "avx512f_vec_dup_mem" > > + [(set (match_operand:VI48F_512 0 "register_operand" "=x") > > + (vec_duplicate:VI48F_512 > > + (match_operand: 1 "nonimmediate_operand" "xm")))] > > +

[PATCH] Fix PR58143 and dups

2013-10-15 Thread Richard Biener
This is an alternate fix (see http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00234.html for the other one) for the various PRs that show that LIM exposes undefined signed overflow on paths where it wasn't executed before LIM ultimately leading to a miscompilation. For this fix we rewrite invariant

Re: [PATCH i386 3/8] [AVX512] [16/n] Add AVX-512 patterns: VI48_512 and VI4F_128 iterators.

2013-10-15 Thread Kirill Yukhin
Hello, On 11 Oct 11:21, Richard Henderson wrote: > On 10/09/2013 03:30 AM, Kirill Yukhin wrote: > > +;; Return true if OP is either -1 constant or stored in register. > > +(define_predicate "register_or_constm1_operand" > > + (ior (match_operand 0 "register_operand") > > + (match_test "op ==

Re: [PATCH i386 3/8] [AVX512] [18/n] Add AVX-512 patterns: various RCPs and SQRTs.

2013-10-15 Thread Kirill Yukhin
Hello, On 14 Oct 13:10, Richard Henderson wrote: > On 10/09/2013 03:31 AM, Kirill Yukhin wrote: > > +(define_mode_attr ssefixupmode > > + [(V16SF "V16SI") (V4SF "V4SI") (V8DF "V8DI") (V2DF "V2DI")]) > > + > > Oh, I forgot. How is this different from sseintvecmode? It is definetely a bug. Ok with

RE: [PATCH] Fix PR58143 and dups

2013-10-15 Thread Bernd Edlinger
Hi, On Tue, 15 Oct 2013 15:57:16, Richard Biener wrote: > > This is an alternate fix (see > http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00234.html for the other > one) for the various PRs that show that LIM exposes undefined > signed overflow on paths where it wasn't executed before LIM > ultimat

Re: [PATCH] Fix pr571518.c test case.

2013-10-15 Thread Jack Howarth
On Fri, Jul 05, 2013 at 09:25:52AM -0700, Mike Stump wrote: > On Jul 4, 2013, at 9:17 AM, Marcus Shawcroft wrote: > >* gcc.dg/pr57518.c: Adjust scan-rtl-dump-not pattern. > > [ If you want a review or need an approval, be sure to ask Ok? Just in case > you forgot... ] Ok. > > Thanks.

Re: [PATCH v2] Fix libgfortran cross compile configury w.r.t newlib

2013-10-15 Thread Richard Earnshaw
On 15/10/13 12:31, Marcus Shawcroft wrote: > On 1 October 2013 12:40, Marcus Shawcroft wrote: >> On 30/09/13 13:40, Marcus Shawcroft wrote: >> Well, I thought this patch would work for me, but it does not. It looks like gcc_no_link is set to 'no' on my target because, technically, I can

Re: [ARM/AARCH64] Remodel type attribute values for Neon Instructions.

2013-10-15 Thread Richard Earnshaw
On 15/10/13 12:23, James Greenhalgh wrote: > Hi, > > The historical neon_type attribute formed groups over the Neon > instructions which were well suited for modelling the Cortex-A8 > pipeline, but were cumbersome for other processor models. > > The AArch64 has another classification "simd_type".

Re: [PATCH i386 3/8] [AVX512] [18/n] Add AVX-512 patterns: various RCPs and SQRTs.

2013-10-15 Thread Richard Henderson
On 10/15/2013 06:57 AM, Kirill Yukhin wrote: > Hello, > On 14 Oct 13:10, Richard Henderson wrote: >> On 10/09/2013 03:31 AM, Kirill Yukhin wrote: >>> +(define_mode_attr ssefixupmode >>> + [(V16SF "V16SI") (V4SF "V4SI") (V8DF "V8DI") (V2DF "V2DI")]) >>> + >> >> Oh, I forgot. How is this different

RE: [PATCH] tree_code_name wrapper

2013-10-15 Thread Paulo Matos
> -Original Message- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-ow...@gcc.gnu.org] On > Behalf Of Richard Biener > Sent: 15 October 2013 14:34 > To: Paulo Matos > Cc: Jakub Jelinek; Paolo Carlini; gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] tree_code_name wrapper > > On T

Re: [PATCH] tree_code_name wrapper

2013-10-15 Thread Jakub Jelinek
The ChangeLog is still wrong: On Tue, Oct 15, 2013 at 02:38:31PM +, Paulo Matos wrote: > 2013-10-15 Paulo Matos > > gcc/ > * tree-core.h: Remove extern declaration of tree_code_name. * tree-core.h (tree_code_name): Remove. (or Remove external declaration. etc.). > * t

[Patch] Fix PR58737

2013-10-15 Thread Tim Shen
This memory leak is because forgetting virtual destructor of the base class _Executor. Thanks! -- Tim Shen a.patch Description: Binary data

Re: [PATCH] decide edge's hotness when there is profile info

2013-10-15 Thread Dehao Chen
The patch updated: Index: gcc/cgraph.c === --- gcc/cgraph.c (revision 203609) +++ gcc/cgraph.c (working copy) @@ -877,6 +877,10 @@ cgraph_create_edge_1 (struct cgraph_node *caller, if (call_stmt && caller->call_site_hash) cgra

Re: RFA: Remove alias usage from libgcc/sync.c

2013-10-15 Thread Ian Lance Taylor
On Tue, Oct 15, 2013 at 2:18 AM, Richard Biener wrote: > > Ok for the tailcall parts and the testcase - I'd prefer someone else to > ack the libgcc change. CCing maintainer. The libgcc patch is missing the updates to the comments. This code is confusing enough as it is, having incorrect comment

Re: [PATCH][ubsan] Add VLA bound instrumentation

2013-10-15 Thread Joseph S. Myers
On Tue, 15 Oct 2013, Marek Polacek wrote: > Ping^2. Jason, Joseph, are you fine with the C++/C FE changes? The C changes are fine with me. -- Joseph S. Myers jos...@codesourcery.com

Re: [PATCH] decide edge's hotness when there is profile info

2013-10-15 Thread Teresa Johnson
On Mon, Oct 14, 2013 at 3:26 PM, Dehao Chen wrote: > On Mon, Oct 14, 2013 at 2:50 PM, Jan Hubicka wrote: >>> For my test case, the entire inline instance is optimized away, so >>> there is no info about it in the profile. I can do some fixup in the >>> rebuild_cgraph_edge though. >> >> Yep, I und

Re: [Patch] Fix PR58737

2013-10-15 Thread Paolo Carlini
On 10/15/2013 04:56 PM, Tim Shen wrote: This memory leak is because forgetting virtual destructor of the base class _Executor. Of course. Thanks, Paolo.

Re: [Patch] Fix PR58737

2013-10-15 Thread Tim Shen
On Tue, Oct 15, 2013 at 11:01 AM, Jonathan Wakely wrote: > Great, if it passes the testsuite please commit it. It surely passed -m32 and -m64, and committed :) -- Tim Shen

RE: [PATCH] tree_code_name wrapper

2013-10-15 Thread Paulo Matos
> -Original Message- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-ow...@gcc.gnu.org] On > Behalf Of Jakub Jelinek > Sent: 15 October 2013 15:45 > To: Paulo Matos > Cc: Richard Biener; Paolo Carlini; gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] tree_code_name wrapper > > The

[C++ Patch] PR 58707

2013-10-15 Thread Paolo Carlini
Hi, in order to fix this parsing issue with '>' between square brackets, it seems we have simply to use the parser->greater_than_is_operator_p mechanism. Tested x86_64-linux. Thanks, Paolo. PS: Even if the testcase uses a constexpr array I don't think we need to special case c++11 vs c++98.

Re: *PING* Re: [Patch, Fortran] PR58658 - add missing pointer-assign check for CLASS(*)

2013-10-15 Thread Paul Richard Thomas
Hi Tobias, Have you checked that: subroutine sub(a) class(*),pointer :: a a => null() end subroutine does not give an error? I think that it is why the check was introduced. Cheers Paul On 13 October 2013 09:51, Tobias Burnus wrote: > *PING*: http://gcc.gnu.org/ml/fortran/2013-10/msg00

Re: [Patch] Fix PR58737

2013-10-15 Thread Jonathan Wakely
On 15 October 2013 15:56, Tim Shen wrote: > This memory leak is because forgetting virtual destructor of the base > class _Executor. > > Thanks! Great, if it passes the testsuite please commit it. Thanks for the quick fix, and to Paolo for identifying the cause!

Re: [PATCH] decide edge's hotness when there is profile info

2013-10-15 Thread Dehao Chen
Thanks for the pointer to Honza's patch. The patch does exactly what I need. But it only resides in the instrumentation based FDO path. Can we move the code to more common place (like rebuild_cgraph_edges)? Thanks, Dehao On Tue, Oct 15, 2013 at 7:59 AM, Teresa Johnson wrote: > On Mon, Oct 14, 20

Re: [PATCH] decide edge's hotness when there is profile info

2013-10-15 Thread Teresa Johnson
I'm planning to move it to ipa_profile (pass ipa-profile_estimate) and doing it iteratively. Would that location work? Teresa On Tue, Oct 15, 2013 at 8:40 AM, Dehao Chen wrote: > Thanks for the pointer to Honza's patch. The patch does exactly what I > need. But it only resides in the instrumenta

Re: [PATCH i386 3/8] [AVX512] [19/n] Add AVX-512 patterns: Extracts and converts.

2013-10-15 Thread Richard Henderson
On 10/09/2013 03:31 AM, Kirill Yukhin wrote: > + rtx op1 = operands[1]; > + if (REG_P (op1)) > +op1 = gen_rtx_REG (V16HImode, REGNO (op1)); > + else > +op1 = gen_lowpart (V16HImode, op1); The IF case is incorrect. You need to use gen_lowpart always. > +(define_insn "*avx512f_unpcklpd5

Minor ChangeLog goof

2013-10-15 Thread Jeff Law
Martin put his entry in the wrong ChangeLog. (toplevel instead of inside the gcc subdirectory). Fixed in the obvious way. diff --git a/ChangeLog b/ChangeLog index 63c6cd8..0d3c199 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,3 @@ -2013-10-15 Martin Jambor - - * ipa-utils.h (ipa

Re: [PATCH i386 3/8] [AVX512] [20/n] Add AVX-512 patterns: Misc.

2013-10-15 Thread Richard Henderson
On 10/09/2013 03:31 AM, Kirill Yukhin wrote: > + else if (TARGET_AVX512PF && (write || !TARGET_PREFETCH_SSE)) > +operands[2] = GEN_INT (1); I don't believe you want the TARGET_PREFETCH_SSE check there. That was really to select between SSE and 3dNow prefetch. If we have AVX, we're guaranteed

Re: [PATCH] Add --enable-host-shared configuration option

2013-10-15 Thread Jeff Law
On 10/11/13 14:49, David Malcolm wrote: On Fri, 2013-10-11 at 20:45 +, Joseph S. Myers wrote: On Fri, 11 Oct 2013, David Malcolm wrote: On Thu, 2013-10-10 at 01:05 +, Joseph S. Myers wrote: On Wed, 9 Oct 2013, David Malcolm wrote: This patch adds an "--enable-host-shared" option thr

Re: [C++ Patch] PR 58707

2013-10-15 Thread Jason Merrill
OK. Jason

Re: [PATCH] Add --enable-host-shared configuration option

2013-10-15 Thread Jeff Law
On 10/09/13 18:25, David Malcolm wrote: My JIT branch requires embedding GCC's code as a shared library on the host. To do requires building the host code as position-independent, which unfortunately incurs a small speed hit. Obviously this is an opt-in right now, so I'm not terribly concerned.

Re: [PATCH] decide edge's hotness when there is profile info

2013-10-15 Thread Dehao Chen
Yes, that would work. So let's discard this patch because the fix for comdat can also fix this problem. Thanks, Dehao On Tue, Oct 15, 2013 at 8:42 AM, Teresa Johnson wrote: > I'm planning to move it to ipa_profile (pass ipa-profile_estimate) and > doing it iteratively. Would that location work?

Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0

2013-10-15 Thread Jeff Law
On 10/11/13 20:11, Zhenqiang Chen wrote: -Original Message- From: Jeff Law [mailto:l...@redhat.com] Sent: Friday, October 11, 2013 1:20 PM To: Zhenqiang Chen Cc: gcc-patches@gcc.gnu.org Subject: Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X -

Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0

2013-10-15 Thread Jeff Law
On 10/15/13 02:12, Jakub Jelinek wrote: On Tue, Oct 15, 2013 at 03:57:23PM +0800, Zhenqiang Chen wrote: Is it OK? Ok, except two comments apparently still need updating. +/* Optimize X == CST1 || X == CST2 + if popcount (CST1 ^ CST2) == 1 into + (X & ~(CST1 ^ CST2)) == (CST1 & ~(CST1 ^ CS

Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0

2013-10-15 Thread Jakub Jelinek
On Tue, Oct 15, 2013 at 10:50:39AM -0600, Jeff Law wrote: > I noticed that we're now including rtl.h and tm_p.h in > tree-ssa-reassoc.c, which seems wrong. Isn't that required for BRANCH_COST use? Other option would be to add some dummy wrapper around BRANCH_COST, put that wrapper into some file t

Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0

2013-10-15 Thread Jeff Law
On 10/15/13 10:53, Jakub Jelinek wrote: On Tue, Oct 15, 2013 at 10:50:39AM -0600, Jeff Law wrote: I noticed that we're now including rtl.h and tm_p.h in tree-ssa-reassoc.c, which seems wrong. Isn't that required for BRANCH_COST use? Other option would be to add some dummy wrapper around BRANCH

Re: RFA: Remove alias usage from libgcc/sync.c

2013-10-15 Thread Richard Sandiford
Ian Lance Taylor writes: > On Tue, Oct 15, 2013 at 2:18 AM, Richard Biener > wrote: >> >> Ok for the tailcall parts and the testcase - I'd prefer someone else to >> ack the libgcc change. CCing maintainer. > > The libgcc patch is missing the updates to the comments. This code is > confusing eno

Re: [PATCH] Relax the requirement of reduction pattern in GCC vectorizer.

2013-10-15 Thread Cong Hou
I have corrected the ChangeLog format, and committed this patch. Thank you! Cong On Tue, Oct 15, 2013 at 6:38 AM, Richard Biener wrote: > On Sat, Sep 28, 2013 at 3:28 AM, Cong Hou wrote: >> The current GCC vectorizer requires the following pattern as a simple >> reduction computation: >> >>

Re: RFA: Remove alias usage from libgcc/sync.c

2013-10-15 Thread Ian Lance Taylor
On Tue, Oct 15, 2013 at 10:18 AM, Richard Sandiford wrote: > Ian Lance Taylor writes: >> On Tue, Oct 15, 2013 at 2:18 AM, Richard Biener >> wrote: >>> >>> Ok for the tailcall parts and the testcase - I'd prefer someone else to >>> ack the libgcc change. CCing maintainer. >> >> The libgcc patch

Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) & ~(CST2 - CST1)) == 0

2013-10-15 Thread Jeff Law
On 10/15/13 02:12, Jakub Jelinek wrote: On Tue, Oct 15, 2013 at 03:57:23PM +0800, Zhenqiang Chen wrote: Is it OK? Ok, except two comments apparently still need updating. +/* Optimize X == CST1 || X == CST2 + if popcount (CST1 ^ CST2) == 1 into + (X & ~(CST1 ^ CST2)) == (CST1 & ~(CST1 ^ CS

[GOOGLE] Add flag to enalbe AutoFDO accurate mode

2013-10-15 Thread Dehao Chen
This patch add a new flag to let user to tell compiler that the AutoFDO profile is accurate. So the compiler will assume function without any sample is UNLIKELY_EXECUTED. This could save 10%~20% text section size. Bootstrapped and passed regression test. OK for google-4_8 branch? Thanks, Dehao

Re: patch to canonize unsigned tree-csts

2013-10-15 Thread Richard Sandiford
Thanks for doing this. Kenneth Zadeck writes: > @@ -1204,11 +1204,11 @@ wide_int_to_tree (tree type, const wide_ > } > >wide_int cst = wide_int::from (pcst, prec, sgn); > - int len = int (cst.get_len ()); > - int small_prec = prec & (HOST_BITS_PER_WIDE_INT - 1); > + unsigned int len

Re: patch to canonize unsigned tree-csts

2013-10-15 Thread Richard Sandiford
Richard Sandiford writes: > if (small_prec) > ; > else if (precision == xprecision) > while (len >= 0 && val[len - 1] == -1) > len--; Err, len > 0 obviously.

Re: [PATCH v2 1/4] Ignore access-control keywords when parsing fields.

2013-10-15 Thread Jeff Law
On 09/24/13 11:49, David Malcolm wrote: Classes containing access-control keywords such as "public:" confuse struct_field_seq, leading it to call consume_until_eos i.e. ignore text until after the next semicolon. This leads to the first field after an access-control keyword being ignored by geng

Re: [PATCH v2 2/4] Parse base classes for GTY-marked types

2013-10-15 Thread Jeff Law
On 09/24/13 11:49, David Malcolm wrote: Extend gengtype (and gtype.state reading/writing) so that it is able to parse base classes in simple cases, and only attempt to do it for GTY-marked types. * gengtype-parse.c (require_without_advance): New. (type): For GTY-marked types that

Re: [PATCH v2 4/4] Add documentation about gengtype and inheritance

2013-10-15 Thread Jeff Law
On 09/24/13 11:49, David Malcolm wrote: gcc/ * doc/gty.texi (GTY Options): Add note about inheritance to description of desc and tag. (Inheritance and GTY): New. So what happens if I have a class hierarchy without a gty-user marker which violates the assumptions made by y

[PATCH v2 3/4] Handle simple inheritance in gengtype.

2013-10-15 Thread Jeff Law
Treat GTY structs that have a "desc" as being the root of an inheritance hierarchy. Generate a switch on desc within the marking function with cases for each subclass, visiting all fields of the type (including inherited ones). Don't create marking functions for subclasses, instead using the bas

Re: Apply attribute returns_nonnull in libiberty

2013-10-15 Thread Jeff Law
On 10/11/13 17:21, Marc Glisse wrote: The gcc-specific part now. Bootstrap+testsuite on x86_64-unknown-linux-gnu together with the libiberty patch (well, libgomp.graphite/force-parallel-4.c failed, but that randomly happens). 2013-10-12 Marc Glisse PR tree-optimization/58689 * syst

Re: [patch] combine ICE fix

2013-10-15 Thread Jeff Law
On 10/10/13 10:25, Jakub Jelinek wrote: On Thu, Oct 10, 2013 at 07:26:43AM -0700, Cesar Philippidis wrote: This patch addresses an ICE when building qemu for a Mips target in Yocto. Both gcc-trunk, gcc-4.8 and all of the targets are potentially affected. The problem occurs because the instructio

Re: Apply attribute returns_nonnull in libiberty

2013-10-15 Thread Marc Glisse
On Tue, 15 Oct 2013, Jeff Law wrote: On 10/11/13 17:21, Marc Glisse wrote: The gcc-specific part now. Bootstrap+testsuite on x86_64-unknown-linux-gnu together with the libiberty patch (well, libgomp.graphite/force-parallel-4.c failed, but that randomly happens). 2013-10-12 Marc Glisse

Re: [PATCH] Hoist loop invariant statements containing data refs with zero-step during loop-versioning in vectorization.

2013-10-15 Thread Jeff Law
On 10/14/13 17:31, Cong Hou wrote: Any comment on this patch? Richi replied in the BZ you opened. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58508 Essentially he said emit the load on the edge rather than in the block itself. jeff

Re: [PATCH v2] Fix libgfortran cross compile configury w.r.t newlib

2013-10-15 Thread Tobias Burnus
Marcus Shawcroft wrote:>> 2013-10-01 Marcus Shawcroft >> >> * configure.ac (AC_CHECK_FUNCS_ONCE): Add for exit() then make >> existing AC_CHECK_FUNCS_ONCE dependent on outcome. > > Ping^2 For configure patches, I am never quite sure whether they should be reviewed by a build

Re: *PING* Re: [Patch, Fortran] PR58658 - add missing pointer-assign check for CLASS(*)

2013-10-15 Thread Tobias Burnus
Hi Paul, Paul Richard Thomas wrote: Have you checked that: subroutine sub(a) class(*),pointer :: a a => null() end subroutine does not give an error? I think that it is why the check was introduced. I haven't checked it in particular, but was relying that some test in the library wou

libgomp.texi: Update for OpenMP v4.0

2013-10-15 Thread Tobias Burnus
Hi Jakub, hi all, the attached patch updated the references in libgomp to OpenMP 4.0 and documents the new OpenMPv4 library functions and environment variables. It does *not* update the section about the libgomp API. Additionally, I fixes some bugs (-> omp_get_schedule, omp_set_schedule), ad

Re: Fwd: [PATCH] Scheduling result adjustment to enable macro-fusion

2013-10-15 Thread Jeff Law
On 10/03/13 12:24, Wei Mi wrote: Thanks, Wei Mi. 2013-10-03 Wei Mi * gcc/config/i386/i386.c (memory_address_length): Extract a part of code to rip_relative_addr_p. (rip_relative_addr_p): New Function. (ix86_macro_fusion_p): Ditto. (ix86_macro_fusi

Re: libgomp.texi: Update for OpenMP v4.0

2013-10-15 Thread Jakub Jelinek
On Tue, Oct 15, 2013 at 10:13:32PM +0200, Tobias Burnus wrote: > I used texinfo 4.14a to create the PDF and info file, which didn't > show any warning. Also the output looks okay. (However, I believe > some newer texinfo is picker.) > OK for the trunk? Thanks. Just a few nits: > +@node omp_set_d

Re: [PATCH] Add --enable-host-shared configuration option

2013-10-15 Thread David Malcolm
On Tue, 2013-10-15 at 10:29 -0600, Jeff Law wrote: > On 10/09/13 18:25, David Malcolm wrote: [...] > Presumably other host libraries we depend on such as gmp, mpc, etc are > available in shared (or at least PIC) form as well? Obviously these are > out of our source tree and largely out of our c

Re: [PATCH] Fix PR54702 and LTO bootstrap (for me)

2013-10-15 Thread Mike Stump
On Oct 15, 2013, at 12:45 AM, Richard Biener wrote: > On Mon, 14 Oct 2013, Mike Stump wrote: >> On Sep 25, 2012, at 8:00 AM, Richard Guenther wrote: >>> 2012-09-25 Richard Guenther >>> >>> PR lto/54625 >>> * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Do not merge >>> cgraph n

[PATCH] Another ChangeLog entry in the wrong place

2013-10-15 Thread Jeff Law
I noticed a testsuite entry went into gcc/ChangeLog rather than gcc/testsuite/ChangeLog while looking to see if Paulo's recent patch had already been reviewed & installed. Fixed in the obvious way. commit c7b05d9a220e67fdaaab74aa51c81d14284ed99f Author: Jeff Law Date: Tue Oct 15 14:43:27

Re: [PATCH] Hoist loop invariant statements containing data refs with zero-step during loop-versioning in vectorization.

2013-10-15 Thread Cong Hou
Thank you for your reminder, Jeff! I just noticed Richard's comment. I have modified the patch according to that. The new patch is attached. thanks, Cong On Tue, Oct 15, 2013 at 12:33 PM, Jeff Law wrote: > On 10/14/13 17:31, Cong Hou wrote: >> >> Any comment on this patch? > > Richi replied i

Re: [PATCH] decide edge's hotness when there is profile info

2013-10-15 Thread Jan Hubicka
> Yes, that would work. So let's discard this patch because the fix for > comdat can also fix this problem. Unforutnately ipa-profile-estimate is an IPA pass and as such it does not have access to profile_status_to_function. You can probably just factor this out into a function that can be called

  1   2   >