[PATCH] Move versionable flag from inline summary to cgraph_node.local

2011-09-03 Thread Martin Jambor
Hi, we have agreed on this list recently that the versionable flag should be moved from the inline summary to the local part of struct cgraph_node because it has nothing to do with inlining and is computed by ipa-prop and used only by ipa-cp. This patch does exactly that. Bootstrapped and tested

[PATCH] Better comparison of BINFOs in IPA-CP

2011-09-03 Thread Martin Jambor
Hi, the patch below improves the comparisons of BINFOs in IPA-CP. The problem is that we can read different BINFOs for the same type (or a base type component) from the LTO summaries because BINFOs coming from different compilation units are not unified. Because we now have the BINFO_VTABLE avai

Re: [RFC] Split -mrecip

2011-09-03 Thread Uros Bizjak
On Sat, Sep 3, 2011 at 11:11 PM, Uros Bizjak wrote: > On Sat, Sep 3, 2011 at 5:42 PM, Michael Matz wrote: > >>> > I've decided to not use four new bits from target_flags, and instead >>> > created a new mask (recip_mask).  Four bits would have fit in target >>> > bits right now,  but in the futur

Re: [PATCH] Remove bogus TYPE_IS_SIZETYPE special-casing in extract_muldiv_1

2011-09-03 Thread Richard Kenner
> So what's your opinion on the "bug" that triggered the patch in question?\ > Namely extract_muldiv_1 folding > > (((10240 - (sizetype) first) + 1) * 8) /[cl] 8 > > to > > ((sizetype) first * 0x0fff8 + 81928) /[cl] 8 > > to > > ((sizetype) first * 2305843009213693951 + 10241) I t

Re: [PATCH] Remove bogus TYPE_IS_SIZETYPE special-casing in extract_muldiv_1

2011-09-03 Thread Richard Kenner
> And as you are here now, can you shed some light on the weird > decision to make sizetype TYPE_UNSIGNED but sign-extended > at the same time? ;) Basically, to make division work properly given that the type is unsigned.

Re: [PATCH] Remove bogus TYPE_IS_SIZETYPE special-casing in extract_muldiv_1

2011-09-03 Thread Richard Kenner
> So what's your opinion on the "bug" that triggered the patch in question? > Namely extract_muldiv_1 folding > > (((10240 - (sizetype) first) + 1) * 8) /[cl] 8 > > to > > ((sizetype) first * 0x0fff8 + 81928) /[cl] 8 > > to > > ((sizetype) first * 2305843009213693951 + 10241) > >

Re: [RFC] Split -mrecip

2011-09-03 Thread Uros Bizjak
On Sat, Sep 3, 2011 at 5:42 PM, Michael Matz wrote: >> > I've decided to not use four new bits from target_flags, and instead >> > created a new mask (recip_mask).  Four bits would have fit in target >> > bits right now,  but in the future we might want to add more >> > specialization, like modes

demangle C++ extern "C" functions

2011-09-03 Thread Marc Glisse
Hello, this patch is obviously related to PR c++/2316 ("g++ fails to overload on language linkage") but seems fairly independent. Currently, the demangler recognizes 'Y' for extern "C" functions and ignores it. The patch makes it print extern "C" after the function type: _Z1aIFYviEEvPT_ void

Re: [PATCH] Remove bogus TYPE_IS_SIZETYPE special-casing in extract_muldiv_1

2011-09-03 Thread Richard Guenther
On Sat, Sep 3, 2011 at 10:37 PM, Richard Guenther wrote: > On Sat, Sep 3, 2011 at 9:47 PM, Richard Kenner > wrote: >> Let me jump in on this a little bit, since much of the code in this area >> was originally written by me. >> >>> Are all sizetype (sub-)expressions always of value in that range?

Re: [PATCH] Remove bogus TYPE_IS_SIZETYPE special-casing in extract_muldiv_1

2011-09-03 Thread Richard Guenther
On Sat, Sep 3, 2011 at 9:47 PM, Richard Kenner wrote: > Let me jump in on this a little bit, since much of the code in this area > was originally written by me. > >> Are all sizetype (sub-)expressions always of value in that range? >> What do we do about the fact that sizetype is unsigned, so -x a

Re: [PATCH] Remove bogus TYPE_IS_SIZETYPE special-casing in extract_muldiv_1

2011-09-03 Thread Richard Kenner
Let me jump in on this a little bit, since much of the code in this area was originally written by me. > Are all sizetype (sub-)expressions always of value in that range? > What do we do about the fact that sizetype is unsigned, so -x always > overflows for x != 0? Thus, do we need to disable all

Re: Propagate BB predicates in ipa-inline-analysis

2011-09-03 Thread Jan Hubicka
> tree-ssa-forwprop.c I presume? That one misses calling fold_stmt when > it propagates things. Yep. > > > : > >  iftmp.1_9 = 0; > > > > : > >  # iftmp.1_2 = PHI <1(4), 0(5)> > >  D.2739_10 = __builtin_constant_p (iftmp.1_2); > > But I wonder how it manages to do something to the above ... (are

Re: Propagate BB predicates in ipa-inline-analysis

2011-09-03 Thread Richard Guenther
On Sat, Sep 3, 2011 at 6:41 PM, Jan Hubicka wrote: >> Jan Hubicka wrote: >> >> >     (edge_execution_predicate): Rewrite as... >> >     (set_cond_stmt_execution_predicate): ... this function; handle >> >     __builtin_constant_p. >> >> This causes ICEs when building recent Linux kernels with the >

Re: rfa: remove get_var_ann (was: Fix PR50260)

2011-09-03 Thread Richard Guenther
On Sat, Sep 3, 2011 at 5:31 PM, Michael Matz wrote: > Hi, > > On Sat, 3 Sep 2011, Richard Guenther wrote: > >> >> As I feared the call to get_var_ann in set_is_used right now really >> >> is still needed, privatizing it hence isn't that straight forward. >> > >> > After pondering I concluded that

Re: [PATCH] Remove bogus TYPE_IS_SIZETYPE special-casing in extract_muldiv_1

2011-09-03 Thread Richard Guenther
On Sat, Sep 3, 2011 at 5:08 PM, Eric Botcazou wrote: >> Well, for real-world code I believe that.  But see all the recent testcases >> for corner-cases of our signed-overflow stuff, they all require >> hand-crafted testcases involving INT_MIN, no inlining and even -ftrapv. >> What I meant to say i

PATCH: PR bootstrap/50237: [4.7 regression] bootstrap comparison failure for libcpp/lex.o

2011-09-03 Thread H.J. Lu
Hi, .init_array is enabled only if linker can take input .ctors sections with input .init_array sections to generate the single output .init_array section in the right order so that GCC is compatible with existing .o files. Not all linkers support it even if they support .init_array section. Sin

Re: Propagate BB predicates in ipa-inline-analysis

2011-09-03 Thread Jan Hubicka
> Jan Hubicka wrote: > > > (edge_execution_predicate): Rewrite as... > > (set_cond_stmt_execution_predicate): ... this function; handle > > __builtin_constant_p. > > This causes ICEs when building recent Linux kernels with the > CONFIG_TRACE_BRANCH_PROFLING option. This reduced test

[committed] Define "return" pattern on pa

2011-09-03 Thread John David Anglin
This change defines a "return" insn pattern on pa to improve return optimization when no epilogue is needed. Tested on hppa2.0w-hp-hpux11.11 and hppa-unknown-linux-gnu. Committed to trunk. Defining a "return" pattern fixes PR middle-end/50232 on PA. Dave -- J. David Anglin

Re: [RFC] Split -mrecip

2011-09-03 Thread Michael Matz
Hi, On Sat, 3 Sep 2011, Uros Bizjak wrote: > > I've decided to not use four new bits from target_flags, and instead > > created a new mask (recip_mask).  Four bits would have fit in target > > bits right now,  but in the future we might want to add more > > specialization, like modes for which

Re: rfa: remove get_var_ann (was: Fix PR50260)

2011-09-03 Thread Michael Matz
Hi, On Sat, 3 Sep 2011, Richard Guenther wrote: > >> As I feared the call to get_var_ann in set_is_used right now really > >> is still needed, privatizing it hence isn't that straight forward. > > > > After pondering I concluded that it's not necessary to call > > set_is_used for variables with

Re: [PATCH] Remove bogus TYPE_IS_SIZETYPE special-casing in extract_muldiv_1

2011-09-03 Thread Eric Botcazou
> Well, for real-world code I believe that. But see all the recent testcases > for corner-cases of our signed-overflow stuff, they all require > hand-crafted testcases involving INT_MIN, no inlining and even -ftrapv. > What I meant to say is, given Ada can construct arbitrary layouted types it >

Re: [PATCH] Fix Ada bootstrap failure

2011-09-03 Thread Eric Botcazou
> Then your original patch is ok with removing the size == 0 check I added. Bootstrapped/regtested on x86_64-suse-linux and applied, thanks. -- Eric Botcazou

Re: [PATCH, Atom] Improve AGU stalls avoidance optimization

2011-09-03 Thread Uros Bizjak
... Sent again, with correct Cc and subject line ... Hello! > Here is a patch which adds few more splits for AGU stalls avoidance on > Atom. It also fixes cost model and detects AGU stalls more > efficiently. > > Bootstrapped and checked on x86_64-linux. > > 2011-09-02  Enkovich Ilya   > >      

Re:

2011-09-03 Thread Uros Bizjak
Hello! > Here is a patch which adds few more splits for AGU stalls avoidance on > Atom. It also fixes cost model and detects AGU stalls more > efficiently. > > Bootstrapped and checked on x86_64-linux. > > 2011-09-02 Enkovich Ilya > > * config/i386/i386-protos.h (ix86_lea_outperforms): Ne

[Patch, Fortran] PR44646 - Add parser support for DO CONCURRENT

2011-09-03 Thread Tobias Burnus
Recently, I came across PR 44646, where I wrote a bit more than a year ago: "I have an embryonic patch for it". Well, I found it again, did some polishing - and here it is. This patch implements the parsing/diagnostic for "DO[,] CONCURRENT for-all-header", e.g. do concurrent (i = 1:5) A

Re: [RFC] Split -mrecip

2011-09-03 Thread Uros Bizjak
On Wed, Aug 31, 2011 at 6:16 PM, Michael Matz wrote: > I'd like to have tighter control over the individual situations that > -mrecip handles, and I think the user might appreciate this too.  Hence > I've introduced four new target options -mrecip-div, -mrecip-sqrt, > -mrecip-vec-div and -mrecip-

Re: [PATCH] Remove bogus TYPE_IS_SIZETYPE special-casing in extract_muldiv_1

2011-09-03 Thread Richard Guenther
On Sat, Sep 3, 2011 at 11:24 AM, Eric Botcazou wrote: >> Well, even when sign-extended there is a constant you can't negate >> without overflow.  I would start digging for a testcase with >> such case - but as said, testcases involving TYPE_IS_SIZETYPE are >> very hard to generate for me. > > We r

Re: [PATCH] Fix Ada bootstrap failure

2011-09-03 Thread Richard Guenther
On Sat, Sep 3, 2011 at 11:09 AM, Eric Botcazou wrote: >> I'm not sure we want to create a the replacement decl with DECL_SIZE zero >> though, so I suppose instead of making sure align is BITS_PER_UNIT >> shouldn't we make sure that size is at least 1?  I fear we might run into >> other odd problem

Re: [PATCH] Remove bogus TYPE_IS_SIZETYPE special-casing in extract_muldiv_1

2011-09-03 Thread Eric Botcazou
> Well, even when sign-extended there is a constant you can't negate > without overflow. I would start digging for a testcase with > such case - but as said, testcases involving TYPE_IS_SIZETYPE are > very hard to generate for me. We run thousands of Ada tests every night on many platforms and ne

Re: [PATCH] Fix Ada bootstrap failure

2011-09-03 Thread Eric Botcazou
> I'm not sure we want to create a the replacement decl with DECL_SIZE zero > though, so I suppose instead of making sure align is BITS_PER_UNIT > shouldn't we make sure that size is at least 1? I fear we might run into > other odd problems with zero-size autos. The cfgexpand.c code already does

Re: rfa: remove get_var_ann (was: Fix PR50260)

2011-09-03 Thread Richard Guenther
On Sat, Sep 3, 2011 at 3:51 AM, Michael Matz wrote: > Hi, > > On Fri, 2 Sep 2011, Michael Matz wrote: > >> > > Ok.  Time to make get_var_ann private? >> >> As I feared the call to get_var_ann in set_is_used right now really is >> still needed, privatizing it hence isn't that straight forward. > >

Re: Fix PR50260

2011-09-03 Thread Richard Guenther
On Fri, Sep 2, 2011 at 8:40 PM, Michael Matz wrote: > Hi, > > On Fri, 2 Sep 2011, Michael Matz wrote: > >> Hi, >> >> On Fri, 2 Sep 2011, Richard Guenther wrote: >> >> > > Currently regstrapping on x86_64-linux (without Ada).  Okay for trunk? >> > >> > Ok.  Time to make get_var_ann private? >> >> Y

Re: Propagate BB predicates in ipa-inline-analysis

2011-09-03 Thread Richard Guenther
On Fri, Sep 2, 2011 at 7:42 PM, Ulrich Weigand wrote: > Jan Hubicka wrote: > >>       (edge_execution_predicate): Rewrite as... >>       (set_cond_stmt_execution_predicate): ... this function; handle >>       __builtin_constant_p. > > This causes ICEs when building recent Linux kernels with the >

Re: [PATCH] Fix Ada bootstrap failure

2011-09-03 Thread Richard Guenther
On Fri, Sep 2, 2011 at 6:55 PM, Eric Botcazou wrote: >> And this is the real fix.  Richard, do you want me to apply (part of it)? A varaint of the patch is ok, > In fact I'd even propose to revert the fold_builtin_alloca_for_var part of > your patch and apply mine entirely, as eliminating alloca