[PATCH] Mechanical renaming in ipa-prop.c

2011-10-26 Thread Martin Jambor
ends and which have type "struct param_analysis_info *") to parm_ainfos. Bootstrapped and tested on x86_64-linux without any issues. OK for trunk? Thanks, Martin 2011-10-25 Martin Jambor * ipa-prop.c (compute_pass_through_member_ptrs): Ren

[PATCH] Pass through jump functions for addressable (scalar) parameters

2011-10-26 Thread Martin Jambor
-not-modified mechanism are not too strict for this purpose. The patch is supposed to be applied on top of the one I have just sent that renames all parm_infos to parm_ainfos. I have successfully bootstrapped and tested it on x86_64-linux. OK for trunk? Thanks, Martin 2011-10-26 Martin Jambor

[PATCH, devirtualization] Detect the new type in type change detection

2011-10-26 Thread Martin Jambor
this patch makes the produced executable run for only 7 seconds instead of about 20 on my 4 year old i686 desktop (with -Ofast). Anyway, the patch passes bootstrap and testsuite on x86_64-linux. What do you think, is it a good idea for trunk now? Thanks, Martin 2011-10-21 Martin Jambor

Re: [PATCH] Pass through jump functions for addressable (scalar) parameters

2011-10-27 Thread Martin Jambor
Hi, On Thu, Oct 27, 2011 at 03:07:10PM +0200, Richard Guenther wrote: > On Wed, Oct 26, 2011 at 8:25 PM, Martin Jambor wrote: > > Hi, > > > > > > > > 2011-10-26  Martin Jambor   > > > >        * ipa-prop.c (mark_modified): Moved up in the file. >

Re: [PATCH, devirtualization] Detect the new type in type change detection

2011-10-27 Thread Martin Jambor
Hi, On Thu, Oct 27, 2011 at 11:06:02AM +0200, Richard Guenther wrote: > On Thu, Oct 27, 2011 at 1:22 AM, Martin Jambor wrote: > > Hi, > > > > I've been asked by Maxim Kuvyrkov to revive the following patch which > > has not made it to 4.6.  Currently, when type ba

Re: [PATCH, devirtualization] Detect the new type in type change detection

2011-10-31 Thread Martin Jambor
On Fri, Oct 28, 2011 at 11:21:23AM +0200, Richard Guenther wrote: > On Thu, Oct 27, 2011 at 9:54 PM, Martin Jambor wrote: > > Hi, > > > > On Thu, Oct 27, 2011 at 11:06:02AM +0200, Richard Guenther wrote: > >> On Thu, Oct 27, 2011 at 1:22 AM, Martin Jambor wrote:

Re: [google] ThreadSanitizer instrumentation pass (issue 5303083)

2011-11-01 Thread Martin Jambor
Hi, sorry that I'm not using the fancy web tool but I do not want to use my google account and gmail address in particular for work-related stuff. On Tue, Nov 01, 2011 at 06:05:46PM +, davi...@google.com wrote: > ... > > http://codereview.appspot.com/5303083/diff/1/gcc/tree-tsan.c#newcode6

Re: [PATCH] Add capability to run several iterations of early optimizations

2011-11-01 Thread Martin Jambor
Hi, On Fri, Oct 28, 2011 at 04:06:20PM -0700, Matt wrote: > ... > > I agree (of course). Having the knob will be very useful for testing > and determining the acceptance criteria for the later "smartness". > While terminating early would be a nice optimization, the feature is > still intrinsical

Re: [PATCH, devirtualization] Detect the new type in type change detection

2011-11-01 Thread Martin Jambor
Hi, On Tue, Nov 01, 2011 at 10:37:10AM +0100, Richard Guenther wrote: > On Mon, Oct 31, 2011 at 5:58 PM, Martin Jambor wrote: > > On Fri, Oct 28, 2011 at 11:21:23AM +0200, Richard Guenther wrote: > >> On Thu, Oct 27, 2011 at 9:54 PM, Martin Jambor wrote: > >> > Hi

[PATCH, devirtualization] Intraprocedural devirtualization pass

2011-11-01 Thread Martin Jambor
hanks, Martin 2011-10-31 Martin Jambor * ipa-cp.c (ipa_value_from_known_type_jfunc): Moved to... * ipa-prop.c (ipa_binfo_from_known_type_jfunc): ...here, exported and updated all callers. (intraprocedural_devirtualization): New function. (gate_intra_devirtualiz

Re: [PATCH, devirtualization] Intraprocedural devirtualization pass

2011-11-02 Thread Martin Jambor
Hi, On Wed, Nov 02, 2011 at 11:02:48AM +0100, Richard Guenther wrote: > On Tue, Nov 1, 2011 at 11:06 PM, Martin Jambor wrote: > > Hi, > > > > the patch below is the second (and last) revived type-based > > devirtualization patch that did not make it to 4.6.  It deals

Re: [PATCH] [Annotalysis] Fix ICE caused by ipa-sra optimization.

2011-11-04 Thread Martin Jambor
Hi, On Thu, Nov 03, 2011 at 09:09:24AM -0700, Delesley Hutchins wrote: > Let's try this again; perhaps I should learn to use e-mail. :-) > > This patch fixes an ICE caused when the ipa-sra optimization deletes > function arguments that are referenced from within a thread safety > attribute.  It

Re: [PATCH] [Annotalysis] Fix ICE caused by ipa-sra optimization.

2011-11-11 Thread Martin Jambor
Hi, On Fri, Nov 04, 2011 at 08:01:41AM -0700, Delesley Hutchins wrote: > Thanks for the suggestion. Unfortunately, knowing the original > declaration doesn't help me; I also need to know the original > arguments that were passed at the call site, before those arguments > were removed by ipa-sra.

PATCH, PR 50605] Handle MEM_REFs in is_gimple_ip_invariant_address

2011-11-11 Thread Martin Jambor
nly changing decl_address_invariant_p to decl_address_ip_invariant_p). Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2011-11-11 Martin Jambor PR tree-optimization/50605 * gimple.c (is_gimple_ip_invariant_address): Also handle MEM_REFs of IPA inv

[PATCH] Set current_function_decl in {push,pop}_cfun and push_struct_function

2012-08-09 Thread Martin Jambor
o get some feedback in case I was doing something else wrong (I also do not know whether anyone but Ian can modify the go front-end). I have also LTO-built Mozilla Firefox with the patch. Well, what do you think? Martin 2012-08-08 Martin Jambor * function.c (push_cfun): Check old cu

Re: [PATCH 2/3] Incorporate aggregate jump functions into inlining analysis

2012-08-11 Thread Martin Jambor
Hi, On Fri, Aug 10, 2012 at 04:39:44PM +0200, Martin Jambor wrote: > On Fri, Aug 10, 2012 at 05:12:31AM +0200, Jan Hubicka wrote: > > > Hi, > > > > > ... > > > > > > > 2012-07-31 Martin Jambor > > > > > > PR f

Re: [PATCH] Set current_function_decl in {push,pop}_cfun and push_struct_function

2012-08-15 Thread Martin Jambor
Hi, On Fri, Aug 10, 2012 at 04:57:41PM +0200, Eric Botcazou wrote: > > - ada/gcc-interface/utils.c:rest_of_subprog_body_compilation calls > > dump_function which in turns calls dump_function_to_file which calls > > push_cfun. But Ada front end has its idea of the > > current_function_decl a

Re: [PATCH 2/3] Incorporate aggregate jump functions into inlining analysis

2012-08-15 Thread Martin Jambor
Hi, On Fri, Aug 10, 2012 at 05:12:31AM +0200, Jan Hubicka wrote: > > Do you have any data on memory usage? I was originally concerned > about memory use of the whole predicate thingy on WPA level. > Eventually we could add simple inheritance on conditions and sort > them into mutiple vectors if

Re: [PATCH] Set current_function_decl in {push,pop}_cfun and push_struct_function

2012-08-21 Thread Martin Jambor
On Wed, Aug 15, 2012 at 05:21:04PM +0200, Martin Jambor wrote: > Hi, > > On Fri, Aug 10, 2012 at 04:57:41PM +0200, Eric Botcazou wrote: > > > - ada/gcc-interface/utils.c:rest_of_subprog_body_compilation calls > > > dump_function which in turns calls dump_f

Re: [PATCH] Set current_function_decl in {push,pop}_cfun and push_struct_function

2012-08-22 Thread Martin Jambor
Hi, On Tue, Aug 21, 2012 at 01:30:47PM +0200, Richard Guenther wrote: > On Tue, Aug 21, 2012 at 1:27 PM, Martin Jambor wrote: > > On Wed, Aug 15, 2012 at 05:21:04PM +0200, Martin Jambor wrote: > >> Hi, > >> > >> On Fri, Aug 10, 2012 at 04:57:41PM +0200, Eri

Re: [PATCH] Set current_function_decl in {push,pop}_cfun and push_struct_function

2012-08-24 Thread Martin Jambor
Hi, On Wed, Aug 22, 2012 at 03:37:48PM +0200, Richard Guenther wrote: > On Wed, Aug 22, 2012 at 3:04 PM, Martin Jambor wrote: > > On Tue, Aug 21, 2012 at 01:30:47PM +0200, Richard Guenther wrote: > >> On Tue, Aug 21, 2012 at 1:27 PM, Martin Jambor wrote: > >> >

Re: Inline hints

2012-08-27 Thread Martin Jambor
Hi, On Sun, Aug 19, 2012 at 07:43:45AM +0200, Jan Hubicka wrote: > > * gcc.dg/ipa/iinline-1.c: Update testcase to test inline hints. > > * ipa-inline.c (want_inline_small_function_p): Bypass > inline limits for hinted functions. > (edge_badness): Dump hints; decreas

Re: Inline hints

2012-08-29 Thread Martin Jambor
increase after inlning > > > +EDGE. */ > > > + > > > + static inline inline_hints > > > + estimate_edge_hints (struct cgraph_edge *edge) > > > + { > > > + inline_hints ret; > > > + if ((int)VEC_length

Re: Loop iterations inline hint

2012-08-29 Thread Martin Jambor
Hi, On Tue, Aug 21, 2012 at 08:55:02AM +0200, Jan Hubicka wrote: > > Hi, > this patch adds a hint that if inlining makes bounds on loop iterations known, > it is probably good idea. This is primarely targetting Fortran's array > descriptors, but should be generally useful. > > Fortran will stil

[PATCH, PR 54394] Compute loops when generating inline summaries

2012-08-29 Thread Martin Jambor
-29 Martin Jambor PR middle-end/54394 * ipa-inline-analysis.c (estimate_function_body_sizes): Compute dominance info and loops whenever optimizing. Index: src/gcc/ipa-inline-analysis.c === --- src.orig/gcc/

[PATCH 3/3] Compute predicates for phi node results in ipa-inline-analysis.c

2012-08-30 Thread Martin Jambor
can reason about substantially more PHI nodes. This patch makes us produce loop bounds hint for the pr48636.f90 testcase. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2012-08-29 Martin Jambor * ipa-inline-analysis.c (phi_result_unknown_predicate): New

[PATCH, PR 54409] Remapping inlining predicates fix

2012-08-30 Thread Martin Jambor
restrictive, we can still happily use non-aggregate and by-value conditions when offset map is negative, that only means that by-ref stuff is not guaranteed to survive. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2012-08-30 Martin Jambor PR middle-end/54409

Re: [PATCH, PR 54394] Compute loops when generating inline summaries

2012-08-31 Thread Martin Jambor
atch re-calculates it for early inliner too. > > > > Bootstrapped and tested on x86_64-linux, fixes fatigue run-time on > > an x86_64-linux and i686-linux for me. What do you think? > > > > Thanks, > > > > Martin > > > > > > 2012-08-

Re: [PATCH, PR 54394] Compute loops when generating inline summaries

2012-08-31 Thread Martin Jambor
rofile guessing is > off, > so just initialize it to 0 for early inliner. > Thanks. For the record, this is what I have committed. Martin 2012-08-31 Martin Jambor PR middle-end/54394 * ipa-inline-analysis.c (estimate_function_body_sizes): Compute do

Re: [PATCH 3/3] Compute predicates for phi node results in ipa-inline-analysis.c

2012-08-31 Thread Martin Jambor
Hi, On Fri, Aug 31, 2012 at 10:52:28AM +0200, Jan Hubicka wrote: > > Hi, > > > > this is a new version of the patch which makes ipa analysis produce > > predicates for PHI node results, at least at the bottom of the > > simplest diamond and semi-diamond CFG subgraphs. This time I also > > analyz

Re: [PATCH 3/3] Compute predicates for phi node results in ipa-inline-analysis.c

2012-08-31 Thread Martin Jambor
Hi, On Thu, Aug 30, 2012 at 05:11:35PM +0200, Martin Jambor wrote: > this is a new version of the patch which makes ipa analysis produce > predicates for PHI node results, at least at the bottom of the > simplest diamond and semi-diamond CFG subgraphs. This time I also > analyze th

Re: [PATCH 3/3] Compute predicates for phi node results in ipa-inline-analysis.c

2012-09-04 Thread Martin Jambor
On Tue, Sep 04, 2012 at 11:27:47AM +0200, Richard Guenther wrote: > On Mon, Sep 3, 2012 at 5:52 PM, Jan Hubicka wrote: > >> On Fri, Aug 31, 2012 at 7:24 PM, Martin Jambor wrote: > >> > Hi, > >> > > >> > On Thu, Aug 30, 2012 at 05:11:35PM +0200, Ma

[PATCH] Fix bogus use of cfun in gen_subprogram_die and premark_used_types

2012-09-04 Thread Martin Jambor
2012-08-30 Martin Jambor * dwarf2out.c (dwarf2out_abstract_function): Do not change cfun. (premark_used_types): New parameter fun, use it instead of cfun. (gen_subprogram_die): Use DECL_STRUCT_FUNCTION (decl) instead of cfun, also pass it to premark_used_type

Re: [PATCH] Fix bogus use of cfun in gen_subprogram_die and premark_used_types

2012-09-05 Thread Martin Jambor
Hi, On Tue, Sep 04, 2012 at 04:26:43PM +0200, Richard Guenther wrote: > On Tue, Sep 4, 2012 at 3:12 PM, Martin Jambor wrote: > > Hi, > > > > while looking into how to remove push/pop_cfun from dwarf2out.c, I > > have noticed the following wrong use of cfun in premark_u

[PATCH] New PARAM_IPA_MAX_AGG_ITEMS instead of a #define

2012-09-06 Thread Martin Jambor
Martin Jambor * params.def (PARAM_IPA_MAX_AGG_ITEMS): New parameter. * ipa-prop.c: Include params.h. (IPA_MAX_AFF_JF_ITEMS): Removed. (determine_known_aggregate_parts): Use param value of PARAM_IPA_MAX_AGG_ITEMS instead of IPA_MAX_AFF_JF_ITEMS

Re: [PATCH] Combine location with block using block_locations

2012-09-12 Thread Martin Jambor
Hi, On Wed, Sep 12, 2012 at 04:17:45PM +0200, Michael Matz wrote: > Hi, > > On Wed, 12 Sep 2012, Michael Matz wrote: > > > > Hm, but we shouldn't end up streaming any BLOCKs at this point (nor > > > local TYPE_DECLs). Those are supposed to be in the local function > > > sections only where no

Re: [PATCH] Combine location with block using block_locations

2012-09-12 Thread Martin Jambor
Hi, On Wed, Sep 12, 2012 at 04:47:11PM +0200, Richard Guenther wrote: > On Wed, Sep 12, 2012 at 4:37 PM, Martin Jambor wrote: > > On Wed, Sep 12, 2012 at 04:17:45PM +0200, Michael Matz wrote: > >> On Wed, 12 Sep 2012, Michael Matz wrote: > >> > >> > >

Re: Loop stride optimization hint

2012-09-12 Thread Martin Jambor
Hi, On Wed, Sep 12, 2012 at 07:57:16PM +0200, Jan Hubicka wrote: > Hi, > for Fortran one of common reason to inline is because array descriptor is > known and defines > loop stride. This patch makes ipa-inline-analysis to notice these cases. > > Bootstrapped/regtested x86_64-linux, will commit

Re: [PATCH] Combine location with block using block_locations

2012-09-19 Thread Martin Jambor
x. Honza pre-approved it on IRC so unless there are any objections within a few hours I'm going to commit it. (The patch does not introduce any of the asserts Michael's patch had because, as far as I my grep told me, IS_UNKNOWN_LOCATION is not in trunk yet and I suppose the pre-approva

Make cfun_push and cfun_pop also change current_function_decl

2012-09-19 Thread Martin Jambor
. I have bootstrapped and tested the patch on x86_64-linux and have also LTO-built Firefox with it. OK for trunk? Thanks, Martin 2012-09-12 Martin Jambor * function.c (push_cfun): Check old current_function_decl matches old cfun, set new current_function_decl to the decl of

Re: [PATCH] Combine location with block using block_locations

2012-09-20 Thread Martin Jambor
On Thu, Sep 20, 2012 at 03:26:29PM +0200, Paolo Carlini wrote: > On 09/20/2012 03:04 PM, Paolo Carlini wrote: > >are all ICEs like the below. Apparently PCHs are required, I can't > >reproduce outside the testsuite, without the library PCHs. > Take this only as a vague hint: I'm seeing many pch-rel

Re: [patch] split FRAME variables back into pieces

2012-09-21 Thread Martin Jambor
Hi, On Fri, Sep 21, 2012 at 12:48:16PM +0200, Eric Botcazou wrote: > ... > > As of doing it in SRA what I'd do there is special-case FRAME for both > > candidate consideration (so you get around the addressable issue) > > and replacement generation. > > OK, but you need to be able to split the

Re: [patch] split FRAME variables back into pieces

2012-09-21 Thread Martin Jambor
On Fri, Sep 21, 2012 at 01:32:25PM +0200, Richard Guenther wrote: ... > Yes, most of the SRA heuristic games make it complicated and ugly, > especially as it is isn't clearly separate analysis / decision / transform > phases. TLC welcome ;) > While I agree that the heuristics of SRA is surpris

Re: Rewrite lto-symtab to work on symbol table

2012-09-24 Thread Martin Jambor
Hi, On Tue, Sep 18, 2012 at 03:35:45PM +0200, Jan Hubicka wrote: > Hi, > this patch reorganize lto-symtab to work across symtab's symbol table instead > of building its own. This simplifies things a bit and with the previous > changes it is rather straighforward - i.e. replace all uses of > lto_s

Re: [wwwdocs] Update coding conventions for C++

2012-06-26 Thread Martin Jambor
Hi, On Mon, Jun 25, 2012 at 03:26:01PM -0700, Lawrence Crowl wrote: ... > > I have no idea. I don't use emacs. The two-space rule for members > > comes from the wiki. The one-space rule for protection labels is > > common practice. If folks want something else, changes are fine > > with me. I

Re: [wwwdocs] Update coding conventions for C++

2012-06-27 Thread Martin Jambor
Hi, On Tue, Jun 26, 2012 at 11:06:15AM -0700, Lawrence Crowl wrote: > On 6/26/12, Martin Jambor wrote: > > On Mon, Jun 25, 2012 at 03:26:01PM -0700, Lawrence Crowl wrote: > > > > I have no idea. I don't use emacs. The two-space rule for > > > > members co

[trunk, 4.7, PR 38474] Avoid unnecessary vdef walks in compute_known_type_jump_func

2012-06-29 Thread Martin Jambor
without any problems. Because of Richi's comment #63 in bugzilla, I assume it is approved for both trunk and the branch too and will commit it on Monday, unless someone objects. Thanks, Martin 2012-06-27 Martin Jambor PR middle-end/38474 * ipa-p

[4.6, PR 38474] Avoid unnecessary vdef walks in compute_known_type_jump_func

2012-06-29 Thread Martin Jambor
bootstrap and test it on x86_64-linux and if no-one objects, I will commit it to the branch on Monday because it is also rather obvious and quite like the approved patch for newer code. Thanks, Martin 2012-06-29 Martin Jambor pr middle-end/38474 * ipa-prop.c

[PATCH 2/3] Incorporate aggregate jump functions into inlining analysis

2012-07-02 Thread Martin Jambor
. The patch passes bootstrap and testing on x86_64-linux. Also, this patch alone makes us inline the function bar in testcase of PR 48636 in comment #4. Thanks for all comments and suggestions, Martin 2012-06-29 Martin Jambor PR fortran/48636 * ipa-inline.h (condition): New

[PATCH 3/3] Compute predicates for phi node results in ipa-inline-analysis.c

2012-07-02 Thread Martin Jambor
part of it. Thanks for all comments and suggestions, Martin 2012-05-30 Martin Jambor * ipa-inline-analysis.c (known_phi_condition_for_bb): New function. (predicate_for_phi_result): Likewise. (estimate_function_body_sizes): Use the above two f

[PATCH 2/3] Incorporate aggregate jump functions into inlining analysis

2012-08-02 Thread Martin Jambor
function bar in testcase of PR 48636 in comment #4. It also passes bootstrap and testing on x86_64-linux. I successfully LTO-built Firefox with it too. Thanks for all comments and suggestions, Martin 2012-07-31 Martin Jambor PR fortran/48636 * ipa-inline.h (condition): New

Re: [PATCH 2/3] Incorporate aggregate jump functions into inlining analysis

2012-08-03 Thread Martin Jambor
On Thu, Aug 02, 2012 at 09:28:11PM +0200, Martin Jambor wrote: > Hi, > > this patch uses the aggregate jump functions created by the previous > patch in the series to determine benefits of inlining a particular > call graph edge. It has not changed much since the last time I post

Re: [PATCH] Proper use of decl_function_context in dwar2out.c

2012-04-27 Thread Martin Jambor
8, 2012 at 12:18 PM, Jakub Jelinek wrote: > > On Thu, Mar 08, 2012 at 12:06:46PM +0100, Martin Jambor wrote: > >>        /* For local statics lookup proper context die.  */ > >> -      if (TREE_STATIC (decl) && decl_function_context (decl)) > >> -    

Re: [PATCH] Support for known unknown alignment

2012-04-27 Thread Martin Jambor
Hi, On Tue, Apr 24, 2012 at 12:31:38PM +0200, Martin Jambor wrote: > Hi, > > On Mon, Apr 23, 2012 at 03:30:19PM +0200, Richard Guenther wrote: > > On Mon, 23 Apr 2012, Martin Jambor wrote: > > > > > Hi, > > > > > > On Mon, Apr 23, 2012 at 12:5

Re: Symbol table 6/many: Symbol table hashes

2012-05-03 Thread Martin Jambor
Hi, a bit late, but I do have two tiny comments nevertheless... On Mon, Apr 16, 2012 at 06:09:40PM +0200, Jan Hubicka wrote: > Hi, > this patch moves cgraph/varpool hashes into symbol table hashes, so the > symbol table is actually almost a symbol table ;) > Work done. > > Bootstrapped/regtested

Re: [C++ Patch] fix semi-random template specialization ICE

2012-05-04 Thread Martin Jambor
Hi, On Thu, May 03, 2012 at 03:17:23PM -0300, Alexandre Oliva wrote: > I've recently started getting “libstdc++-v3/include/functional:2057:63: > internal compiler error: tree check: expected tree_vec, have error_mark > in comp_template_args_with_info, at cp/pt.c:7038” on i686-linux-gnu, > building

[PATCH] Fix memory leak in inline_merge_summary

2012-05-23 Thread Martin Jambor
4.7 branch...? Thanks, Martin 2012-05-23 Martin Jambor * ipa-inline-analysis.c (inline_merge_summary): Free operand_map. Index: src/gcc/ipa-inline-analysis.c === --- src.orig/gcc/ipa-inline-analysis.c +++ src/gcc/ipa

[PATCH 0/5] Aggregate jump functions

2012-05-31 Thread Martin Jambor
Hi, this patch set extends the current jump functions we use in ipa-prop.[ch], ipa-inline-analysis.c and ipa-cp.c to also carry information about aggregates passed across function calls in a parameter, regardless whether by value or only by reference. The long term goal is that these description

[PATCH 1/5] Access methods for jump functions

2012-05-31 Thread Martin Jambor
), dumping functions and streaming because they are a bit special and simple too. There is also a tiny amount of other cleanup. Bootstrapped separately on x86_64-linux. OK for trunk? Thanks, Martin 2012-05-03 Martin Jambor * ipa-prop.h (ipa_get_jf_known_type_offset): New function

[PATCH 5/5] Compute predicates for phi node results in ipa-inline-analysis.c

2012-05-31 Thread Martin Jambor
gestions, Martin 2012-05-30 Martin Jambor * ipa-inline-analysis.c (known_phi_condition_for_bb): New function. (predicate_for_phi_result): Likewise. (estimate_function_body_sizes): Use the above two functions. (inline_analyze_function): Calculate and free domina

[PATCH 4/5] Incorporate aggregate jump functions to inlining analysis

2012-05-31 Thread Martin Jambor
testing on x86_64-linux. Also, this patch alone makes us inline the function bar in testcase of PR 48636 in comment #4. Thanks for all comments and suggestions, Martin 2012-05-30 Martin Jambor PR fortran/48636 * ipa-inline.h (condition): New fields offset and agg_contents

[PATCH 2/5] Build aggregate jump functions

2012-05-31 Thread Martin Jambor
nctions with known listed exceptions but that is not currently implemented and is left for later. However, this patch does not use the collected data in any way, that is what two subsequent patches do. The patch passes bootstrap and testing on x86_64-linux. Martin 2012-05-30

[PATCH 3/5] Use aggregate jump functions in indirect inlining

2012-05-31 Thread Martin Jambor
we do not inline wrong function. For now, I needed to moved on and so kept the type check as it is. It is however ugly and I plan to return to this later. The patch passed bootstrap and testing on x86_64-linux. Thanks, Martin 2012-05-30 Martin Jambor * cgraph.h (cgraph_indirect

Re: [RFC] Fix SRA with respect of BIT_FIELD_REF

2012-06-01 Thread Martin Jambor
Hi, On Fri, Jun 01, 2012 at 11:31:20AM +0200, Richard Guenther wrote: > On Fri, Jun 1, 2012 at 6:02 AM, Andrew Pinski > wrote: > > Hi, > >  When I modified GCC to change the majority of bitfield accesses > > which were done via component ref to BIT_FIELD_REF, SRA messes up > > because when it doe

[PATCH, PR 49923] Check for misaligned accesses before doing SRA

2011-08-05 Thread Martin Jambor
and the 4.6 branch? Thanks, Martin 2011-08-04 Martin Jambor PR middle-end/49923 * tree-sra.c (access_precludes_ipa_sra_p): Also check access memory alignment. * testsuite/gcc.dg/tree-ssa/pr49923.c: New test. Index: src/gcc/tree-sra.c

[PATCH, LTO] Re-assign BINFOs when unifying types

2011-08-10 Thread Martin Jambor
trunk? Thanks, Martin 2011-08-03 Martin Jambor * lto.c (uniquify_nodes): Use main variant's BINFO too. Index: src/gcc/lto/lto.c === --- src.orig/gcc/lto/lto.c +++ src/gcc/lto/lto.c @@ -720,6 +720,8 @@ uniquify_

[RFC PATCH] Make devirtualization use BINFO_VTABLE instead of BINFO_VIRTUALS

2011-08-10 Thread Martin Jambor
indicated above. I certainly believe we should do something like this for 4.7 because of the memory improvements. Thanks, Martin 2011-08-09 Martin Jambor * cgraph.h (cgraph_indirect_call_info): Removed field thunk_delta. * gimple-fold.c (gimple_get_virt_method_for_binfo): Rewritten

[PATCH PING] Remove obsolete alias check in cgraph_redirect_edge_call_stmt_to_callee

2011-08-30 Thread Martin Jambor
ing patch therefore removes it. Bootstrapped and tested again on x86_64-linux yesterday, OK for trunk? Thanks, Martin 2011-07-08 Martin Jambor * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Alias check removed. Index: src/gcc/cgraphuni

Re: [PATCH, PR 49886] Prevent fnsplit from changing signature when there are type attributes

2011-08-30 Thread Martin Jambor
Ping. Re-bootstrapped and re-tested yesterday on x86_64-linux. THanks, Martin On Fri, Jul 29, 2011 at 10:55:31PM +0200, Martin Jambor wrote: > Hi, > > On Thu, Jul 28, 2011 at 06:52:05PM +0200, Martin Jambor wrote: > > pass_split_functions is happy to split functions

Re: Fix PR50260

2011-09-01 Thread Martin Jambor
Hi, On Thu, Sep 01, 2011 at 02:41:15PM +0200, Michael Matz wrote: > Hi, > > the last change in ipa-split generated a new use of a previously unused > PARM_DECL. When one does this one has to call add_referenced_var. Not > doing so can cause segfault when accessing the (not initialized) var >

[PATCH] Make devirtualization use BINFO_VTABLE instead of BINFO_VIRTUALS

2011-09-01 Thread Martin Jambor
expected testing output. So, OK for trunk? Thanks, Martin 2011-08-31 Martin Jambor * cgraph.h (cgraph_indirect_call_info): Removed field thunk_delta. * gimple-fold.c (gimple_get_virt_method_for_binfo): Rewritten to use BINFO_VTABLE. Parameter delta removed, all

[PATCH] Enable IPA-CP on functions with variable number of arguments or type attributes

2011-09-02 Thread Martin Jambor
in the run-time on this benchmark, though). OK for trunk? Thanks, Martin 2011-09-01 Martin Jambor * ipa-prop.h (ipa_node_params): Removed fields called_with_var_arguments and node_versionable. (ipa_set_called_with_variable_arg): Removed. (ipa_is_called

Re: [PATCH, PR 49886] Prevent fnsplit from changing signature when there are type attributes

2011-09-02 Thread Martin Jambor
Hi, On Wed, Aug 31, 2011 at 09:33:03AM +0200, Richard Guenther wrote: > On Tue, Aug 30, 2011 at 6:50 PM, Martin Jambor wrote: > > Ping.  Re-bootstrapped and re-tested yesterday on x86_64-linux. > > Ok. Does this also apply (maybe in modifed form) to the 4.6 branch? > B

Re: [PATCH] Make devirtualization use BINFO_VTABLE instead of BINFO_VIRTUALS

2011-09-02 Thread Martin Jambor
ctures (with BINFO_VIRTUALs being freed in free_lang_data now)? > > > 2011-08-31 Martin Jambor > > > > * cgraph.h (cgraph_indirect_call_info): Removed field thunk_delta. > > * gimple-fold.c (gimple_get_virt_method_for_binfo): Rewritten to u

[PATCH] Store jump functions in a VECtor

2011-09-02 Thread Martin Jambor
t (which was able to display some complicated pages). OK for trunk? Thanks, Martin 2011-09-02 Martin Jambor * ipa-prop.h (ipa_jump_func_t): New typedef. (struct ipa_edge_args): Removed field argument_count, field jump_functions turned into a vector. (ipa_s

[PATCH] Better comparison of BINFOs in IPA-CP

2011-09-03 Thread Martin Jambor
trunk? Thanks, Martin 2011-09-02 Martin Jambor * ipa-cp.c (values_equal_for_ipcp_p): When comparing BINFOs, compare their BINFO_VTABLE, Index: src/gcc/ipa-cp.c === --- src.orig/gcc/ipa-cp.c +++ src/gcc/ipa-cp.c

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

2011-09-03 Thread Martin Jambor
tested on x86_64-linux. I have LTO-built Firefox with it too. OK for trunk? Thanks, Martin 2011-09-03 Martin Jambor * ipa-inline.h (struct inline_summary): Move versionable flag... * cgraph.h (struct cgraph_local_info): ...here * ipa-cp.c (determine_versionability): Use

Re: [testsuite]: Fix gcc.dg/ipa/ipcp-3.c

2011-09-05 Thread Martin Jambor
Hi, On Mon, Sep 05, 2011 at 02:08:18PM +0200, Georg-Johann Lay wrote: > This test case contains expression 1 << 18 which leads to FAIL for targets > with > sizeof(int) < 4. > > The mask seems not to be relevant for the test and can be set to, e.g. 14. > I have created the testcase by modifying

[PATCH, 4.6] Revert fix for PR 49886

2011-09-06 Thread Martin Jambor
49886 is XFAILed by this patch but that means it XPASSes with LTO. This is the best I could do in reasonable time though, it has taken me quite a lot of time already. Thanks, Martin 2011-09-06 Martin Jambor Revert 2011-09-02 Martin Jambor PR middle-end/49886

Re: [PATCH] Better comparison of BINFOs in IPA-CP

2011-09-06 Thread Martin Jambor
on the same platform (I lost the actual > > numbers but the new test returned true hundreds of times in both > > these cases). OK for trunk? > > > > Thanks, > > > > Martin > > > > > > 2011-09-02 Martin Jam

[PATCH] Make SRA produce integer replacements for enumeration types

2011-09-06 Thread Martin Jambor
yet). OK? Thanks, Martin 2011-09-05 Martin Jambor PR tree-optimization/49911 * tree-sra.c (analyze_access_subtree): Change type of to-be-replaced enumerations to the corresponding plain integer type. Index: src/gcc/

[PATCH, PR 50301] Missing checks of number of actual arguments in IPA-CP

2011-09-06 Thread Martin Jambor
and where we currently can get an out-of-bounds VECtor failure. Bootstrapped and tested on x86_64-linux, I have verified gmaess LTO-builds with it. OK for trunk? Thanks, Martin 2011-09-06 Martin Jambor PR middle-end/50301 * ipa-cp.c (find_more_values_for_callers_subset

Re: [Patch, testsuite] Skip case ipa-sra-2.c for strict_align target.

2011-09-07 Thread Martin Jambor
Hi, On Wed, Sep 07, 2011 at 11:35:53AM +0200, Richard Guenther wrote: > On Wed, Sep 7, 2011 at 9:47 AM, Terry Guo wrote: > > Hello, > > > > The SRA optimization requires the reference to struct/union member must be > > aligned to their natural boundary e.g. (int *) must be aligned to 4 byte > > b

Re: [PATCH] Make SRA produce integer replacements for enumeration types

2011-09-07 Thread Martin Jambor
Hi, On Wed, Sep 07, 2011 at 10:08:29AM +0200, Richard Guenther wrote: > On Tue, 6 Sep 2011, Martin Jambor wrote: > > the patch below makes SRA produce intere type replacements when it > > currently produces enumeration type ones because this then may cause > > VRP to assume w

[PATCH, testsuite, committed] Add -fstrict-enums to pr49911.C

2011-09-07 Thread Martin Jambor
Hi, I forgot to add -fstrict-enums flag totestsuite/g++.dg/tree-ssa/pr49911.C. Committed as obvious. Thanks, Martin

[PATCH, PR 50287] Do not create SSA names for unused non-register parameters in IPA-split

2011-09-07 Thread Martin Jambor
s, Martin 2011-09-06 Martin Jambor PR tree-optimization/50287 * ipa-split.c (split_function): Do not create SSA names for non-gimple-registers. * testsuite/gcc.dg/torture/pr50287.c: New test. Index: src/gcc/testsuite/gcc.dg/torture

Re: New SPU failures (Re: [PATCH, PR 49923] Check for misaligned accesses before doing SRA)

2011-09-09 Thread Martin Jambor
e (TREE_CODE (t) == COMPONENT_REF) if (DECL_PACKED (TREE_OPERAND (t, 1))) { encountered_packed = true; break; } else t = TREE_OPERAND (t, 0); if (!encountered_packed) align = MAX (TYPE_ALIGN (TREE_TYPE (exp)), align);

[PATCH, 4.4] Backport of the fix for PR 49886 (again)

2011-09-16 Thread Martin Jambor
difference from the previously approved patch is exactly what has been approved for trunk (and finally seems to work), I will commit this on Monday unless someone objects. Thanks, Martin 2011-09-15 Martin Jambor PR middle-end/49886 * ipa-split.c (split_function): Do not change

[PATCH] Do not store/stream binfos in jump functions

2011-09-16 Thread Martin Jambor
f LTO-building Firefox with it. OK for trunk? Thanks, Martin 2011-09-15 Martin Jambor * ipa-prop.h (jump_func_type): Updated comments. (ipa_known_type_data): New type. (ipa_jump_func): Use it to describe known type jump functions. * ipa-p

Re: [PATCH] Do not store/stream binfos in jump functions

2011-09-19 Thread Martin Jambor
Hi, On Fri, Sep 16, 2011 at 04:29:44PM +0200, Jan Hubicka wrote: > > > > * ipa-prop.h (jump_func_type): Updated comments. > > (ipa_known_type_data): New type. > > (ipa_jump_func): Use it to describe known type jump functions. > > * ipa-prop.c (ipa_print_node_jump_functions_for_edg

Re: [PATCH] Do not store/stream binfos in jump functions

2011-09-23 Thread Martin Jambor
ert I added to ipa_value_from_known_type_jfunc. Therefore I have committed a slightly different version with that assert replaced by a test. Thanks, Martin 2011-09-23 Martin Jambor * ipa-prop.h (jump_func_type): Updated comments. (ipa_known_type_data): New t

Re: [PR 47382] We cannot simply fold OBJ_TYPE_REF at all in 4.6

2011-09-23 Thread Martin Jambor
Hi, On Thu, Sep 22, 2011 at 06:36:43PM +1200, Maxim Kuvyrkov wrote: > On 9/02/2011, at 6:53 AM, Martin Jambor wrote: > > > > > This patch basically disables all intraprocedural devirtualization > > simply because that transformation relies on assumptions that no >

Re: Preserve callee cgraph edges when callgraph profiles sections are requested. (issue5101042)

2011-09-23 Thread Martin Jambor
Hi, On Thu, Sep 22, 2011 at 04:24:47PM -0700, Xinliang David Li wrote: > ok for google branches. > > (Did a little digging -- the remove pass is added because ipa-inline > did not do a good job updating the call graph so there might be some > inconsistency. However the affinity information needs

Re: Fix type of SRAed enum accesses

2011-09-27 Thread Martin Jambor
Hi, On Tue, Sep 27, 2011 at 03:26:03PM +0100, Richard Sandiford wrote: > This patch fixes a miscompilation of stage1 c-parser.o in an ARM bootstrap. > When an access to an enum field was SRAed, a component ref used the type > of the integer temporary variable instead of the type of the enum. > It

Re: [PATCH] Don't assume that constants can clobber vtbl

2011-10-10 Thread Martin Jambor
Hi, sorry that taking care of the devirtualization patches takes me longer than expected for various reasons. But I have not forgotten about this. On Sat, Oct 01, 2011 at 01:58:57PM +1300, Maxim Kuvyrkov wrote: > This patch makes detect_type_change analysis assume that only ADDR_EXPRs can > be

Re: [PATCH] Don't assume that constants can clobber vtbl

2011-10-10 Thread Martin Jambor
On Mon, Oct 10, 2011 at 05:05:14PM +0200, Martin Jambor wrote: > Hi, > > sorry that taking care of the devirtualization patches takes me longer > than expected for various reasons. But I have not forgotten about > this. Ah, please ignore the attachment, I was trying to persuade

[PATCH 0/3] Fixing expansion of misaligned MEM_REFs on strict-alignment targets

2012-03-12 Thread Martin Jambor
Hi, this is another iteration of my effort to fix expansion of misaligned memory accesses on strict-alignment platforms (which was suggested by Richi in http://gcc.gnu.org/ml/gcc-patches/2011-08/msg00931.html, my previous attempt was posted as http://gcc.gnu.org/ml/gcc-patches/2012-02/msg01378.htm

[PATCH 1/3] Misaligned top level MEM_REFs on LHS of assignments

2012-03-12 Thread Martin Jambor
even if the other patches still undergo review. Thanks, Martin 2012-03-08 Martin Jambor * expr.c (expand_assignment): Handle misaligned scalar writes to memory through top-level MEM_REFs by calling store_bit_field. * testsuite/gcc.dg/misaligned-expand-2.c: New test

[PATCH 3/3] Misaligned MEM_REF reads

2012-03-12 Thread Martin Jambor
2012-03-09 Martin Jambor * expr.c (expand_expr_real_1): handle misaligned scalar reads from memory through MEM_REFs by calling extract_bit_field. * testsuite/gcc.dg/misaligned-expand-1.c: New test. Index: src/gcc/expr.c

[PATCH 2/3] Move MEM_REF expansion to a new function

2012-03-12 Thread Martin Jambor
nd ia64-linux. Thanks in advance for any comments, Martin 2012-03-09 Martin Jambor * expr.c (expand_mem_ref_to_mem_rtx): New function. (expand_assignment): Call it when expanding a MEM_REF on the LHS. (expand_expr_real_1): Likewis

<    10   11   12   13   14   15   16   17   18   >