[PATCH, PR 61160] IPA-CP and edges leading to thunks of clones

2014-05-30 Thread Martin Jambor
on x86_64-linux, I will run the test on the 4.9 branch later. OK for both if it passed everywhere? Thanks, Martin 2014-05-28 Martin Jambor PR ipa/61160 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to thunks. testsuite/ * g++.dg/ipa/pr61160

[PATCH, PR 61160] Artificial thunks need combined_args_to_skip

2014-05-30 Thread Martin Jambor
WPA code will be happier using the old indices rather than remapping everything the whole time. I am still in the process of bootstrapping and testing this patch on trunk, I will test it on the 4.9 branch too. OK if it passes everywhere? Thanks, Martin 2014-05-29 Martin Jambor PR

Re: Eliminate write-only variables

2014-06-03 Thread Martin Jambor
On Mon, Jun 02, 2014 at 08:59:35PM +0200, Jan Hubicka wrote: > > > > Yeah, I discussed this with martin today on irc. For aliasing we'd like to > > know whether a decl possibly has its address taken. Currently we only trust > > TREE_ADDRESSABLE for statics - and lto might change those to hidden

[PATCH, PR 61340] Add default label to two switches on enum ipa_ref_use

2014-06-03 Thread Martin Jambor
which we cannot encounter because 1) in ipa-pure-const.c we are not processing aliases and 2) in ipa-reference.c we analyze references of a function to a variable and that cannot be an alias. OK for trunk? Thanks, Martin 2014-06-03 Martin Jambor PR ipa/61340 * ipa-pure-co

[4.8, PR 61393] Disable IPA-CP of transactional memory clones

2014-06-04 Thread Martin Jambor
suite testcase within a few minutes). OK for 4.8? Thanks, Martin 2014-06-04 Martin Jambor PR ipa/61393 * ipa-cp.c (determine_versionability): Pretend that tm_clones are not versionable. diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index d9d69b3..bd45575 100644 --- a/gcc/ipa

[4.9, PR 61393] Disable IPA-CP of transactional memory clones

2014-06-04 Thread Martin Jambor
06-04 Martin Jambor PR ipa/61393 * ipa-cp.c (determine_versionability): Pretend that tm_clones are not versionable. diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 7fb7ae6..93b60d6 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -433,6 +433,8 @@ determine_versionability (s

Re: [PATCH 4/7] Break up determine_known_aggregate_parts

2014-06-06 Thread Martin Jambor
; > OK for trunk after the preceeding patches get in? > > > > Thanks, > > > > Martin > > > > > > 2014-02-19 Martin Jambor > > > > * ipa-prop.c (get_place_in_agg_contents_list): New function. > > (build_agg_jump_func_from

Re: [PATCH, Pointer Bounds Checker 28/x] IPA CP

2014-06-11 Thread Martin Jambor
Hi, On Wed, Jun 11, 2014 at 12:24:57PM +0400, Ilya Enkovich wrote: > Hi, > > This patch fixes IPA CP pass to handle instrumented code correctly. > > Bootstrapped and tested on linux-x86_64. > > Thanks, > Ilya > -- > gcc/ > > 2014-06-11 Ilya Enkovich > > * ipa-cp.c (initialize_node_la

[PATCH, PR 61186]

2014-06-11 Thread Martin Jambor
times). It just seemed quite a lot easier and also avoids making the same mistake elsewhere in future. Bootstrapped and tested on x86_64-linux, I have of course also verified it fixes the bug. OK for trunk? And perhaps also the 4.9 branch? Thanks, Martin 2014-06-11 Martin Jambor PR

Re: [PATCH, Pointer Bounds Checker 28/x] IPA CP

2014-06-17 Thread Martin Jambor
Hi, On Wed, Jun 11, 2014 at 05:47:36PM +0400, Ilya Enkovich wrote: > > Here is fixed verison. I'm fine with the ipa-cp hunks but I cannot approve them, Honza is the right person to ask. Thanks, Martin > > Thanks, > Ilya > -- > gcc/ > > 2014-06-11 Ilya Enkovich > > * cgraph.h (cgra

Re: Regimplification enhancements 3/3

2014-06-17 Thread Martin Jambor
On Mon, Jun 16, 2014 at 01:38:49PM +0200, Richard Biener wrote: > On Mon, Jun 16, 2014 at 12:57 PM, Bernd Schmidt > wrote: > > There's code in regimplification that makes us use an extra temporary > > when we encounter a call returning a non-BLKmode structure. This seems > > somewhat inefficient

Re: [PATCH, PR 61211] Fix a bug in clone_of_p verification

2014-06-17 Thread Martin Jambor
Ping. Thanks, Martin On Sat, May 31, 2014 at 12:46:03AM +0200, Martin Jambor wrote: > Hi, > > after a clone is materialized, its clone_of field is cleared which in > PR 61211 leads to a failure in the skipped_thunk path in clone_of_p in > cgraph.c, which then leads to a

Re: [PATCH, PR 61160] Artificial thunks need combined_args_to_skip

2014-06-17 Thread Martin Jambor
Hi, Ping. Thanks, Martin On Sat, May 31, 2014 at 01:08:31AM +0200, Martin Jambor wrote: > Hi, > > the second issue in PR 61160 is that because artificial thunks > (produced by duplicate_thunk_for_node) do not have > combined_args_to_skip, calls to them do not get actual argu

[PATCH, PR 61540] Do not ICE on impossible devirtualization

2014-06-18 Thread Martin Jambor
but we should not ICE). Fixed thusly. Bootstrapped and tested on x86_64-linux. OK for trunk and the 4.9 branch? Thanks, Martin 2014-06-17 Martin Jambor PR ipa/61540 * ipa-prop.c (impossible_devirt_target): New function. (try_make_edge_direct_virtual_call): Use it

Re: [PATCH, PR 61540] Do not ICE on impossible devirtualization

2014-06-19 Thread Martin Jambor
Hi, On Wed, Jun 18, 2014 at 06:12:34PM +0200, Bernhard Reutner-Fischer wrote: > On 18 June 2014 10:24:16 Martin Jambor wrote: > > >@@ -3002,10 +3014,8 @@ try_make_edge_direct_virtual_call (struct > >cgraph_edge *ie, > > > > if (target) > > { > >-#

Re: [PATCH] Change default for --param allow-...-data-races to off

2014-06-20 Thread Martin Jambor
Hi, On Thu, Jun 19, 2014 at 06:18:47PM +0200, Bernd Edlinger wrote: > Hi, > > from a recent discussion on g...@gcc.gnu.org I have learned that the default > of > --param allow-store-data-races is still 1, and it is causing problems. > Therefore I would like to suggest to change the default of th

Re: [PATCH] Trust TREE_ADDRESSABLE

2014-06-23 Thread Martin Jambor
Hi, On Mon, Jun 23, 2014 at 04:55:36AM +0200, Jan Hubicka wrote: > > > On Fri, 13 Jun 2014, Jan Hubicka wrote: > > > > > > > > > > > > > When you extract the address and use it. For example when you > > > > > do auto-parallelization and outline a part of your function it > > > > > passes arrays

Re: [PATCH] Change default for --param allow-...-data-races to off

2014-06-24 Thread Martin Jambor
. > > > > Thanks, > > Richard. > > > > OK, please go ahead with your patch. Perhaps not unsurprisingly, the patch is very similar. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2014-06-24 Martin Jambor * params.def (PARAM_ALLOW_LOAD_DATA_R

[PATCH 1/3] Generalize IPA-CP lattices

2014-11-13 Thread Martin Jambor
and testing. The patch passes bootstrap and testing on x86_64-linux and has been privately approved by Honza. As per his request I will commit it at some point on Friday after some additional testing on ppc64-aix and 32bit i686. Thanks, Martin 2014-10-17 Martin Jambor * ipa-cp.c

[PATCH 2/3] IPA-CP propagation of polymorphic contexts

2014-11-13 Thread Martin Jambor
. Honza has privately approved the patch and asked me to commit it soon, so I will do that if this testing turns out OK and after some additional tests on ppc64-aix and 32bit i686-linux. Thanks, Martin 2014-11-14 Martin Jambor * ipa-prop.h (ipa_get_jf_pass_through_type_preserved): use

[PATCH 3/3] Remove known_type jump functions, type_preserved flags and more from ipa-prop

2014-11-13 Thread Martin Jambor
l? Thanks, Martin 2014-11-14 Martin Jambor * ipa-prop.h (jump_func_type): Removed value IPA_JF_KNOWN_TYPE. (ipa_pass_through_data): Removed field type_preserved. (ipa_ancestor_jf_data): removed fields type and type_preserved. (ipa_jump_func): Removed field

Re: [PATCH 3/4] First usage of cgraph_summary in ipa-prop pass.

2014-11-14 Thread Martin Jambor
Hi, On Fri, Nov 14, 2014 at 04:23:41PM +0100, Martin Liska wrote: > Patch v3. > > Martin > From 7255ffaf7bb416037baa14499b197bac3be8c222 Mon Sep 17 00:00:00 2001 > From: mliska > Date: Fri, 14 Nov 2014 16:14:28 +0100 > Subject: [PATCH 2/3] First usage of cgraph_summary in ipa-prop pass. > > gc

Re: [PATCH 4/4] Data structure is used for inline_summary struct.

2014-11-14 Thread Martin Jambor
On Fri, Nov 14, 2014 at 05:06:44PM +0100, Jan Hubicka wrote: > > > > > >In a way I would like to see these to be methods of the underlying type > > >rather than > > >virtual methods of the summary, becuase these are operations on the data > > >themselves. > > >I was thinking to model these by spe

[PATCH] Make IPA-CP propagate alignment information of pointers

2014-11-14 Thread Martin Jambor
replace this by a more fancy VRP-based IPA-CP but I think it is worth having this simple addition in 5.0. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2014-11-15 Martin Jambor * ipa-prop.h (ipa_alignment): New type. (ipa_jump_func): New field alignment

Re: [PATCH 4/4] Data structure is used for inline_summary struct.

2014-11-18 Thread Martin Jambor
On Fri, Nov 14, 2014 at 08:59:10PM +0100, Jan Hubicka wrote: > > > > > > > b) with GTY, we cannot call destructor > > > > > > Everything in symbol table is expecitely memory managed (i.e. enver left > > > to be freed by garbage collector). It resists in GTY only to allow linking > > > garbage col

Re: Fix speculation in ipa-cp

2014-11-18 Thread Martin Jambor
Hi, On Sun, Nov 16, 2014 at 12:56:45AM +0100, Jan Hubicka wrote: > Hi, > this patch enables propagation of speculative contextes I promised to fix > after Martin's > merge. There were few bugs that ended up disturbing testsuite: Wonderful, thanks a lot. > > 1) ipa_polymorphic_call_context::co

Re: [PATCH 4/4] Data structure is used for inline_summary struct.

2014-11-18 Thread Martin Jambor
Hi, On Tue, Nov 18, 2014 at 04:39:00PM +0100, Jan Hubicka wrote: > > On Fri, Nov 14, 2014 at 08:59:10PM +0100, Jan Hubicka wrote: > > > > > > > > > > > b) with GTY, we cannot call destructor > > > > > > > > > > Everything in symbol table is expecitely memory managed (i.e. enver > > > > > left >

Re: [PATCH 4/4] Data structure is used for inline_summary struct.

2014-11-18 Thread Martin Jambor
On Tue, Nov 18, 2014 at 07:59:26PM +0100, Jan Hubicka wrote: > > Hi, > > > > On Tue, Nov 18, 2014 at 04:39:00PM +0100, Jan Hubicka wrote: > > > > On Fri, Nov 14, 2014 at 08:59:10PM +0100, Jan Hubicka wrote: > > > > > > > > > > > > > > > b) with GTY, we cannot call destructor > > > > > > > > > >

Re: Audit some ipa passes for optimization attribute

2014-11-18 Thread Martin Jambor
On Tue, Nov 18, 2014 at 09:48:52PM +0100, Jan Hubicka wrote: > Hi, > this patch goes through most of ipa passes: ipa-devirt, ipa-cp, > ipa-pure-const, > ipa-profile and ipa-inline and audits them for opt_for_fn. > I did not converted yet ipa-reference because the code is organized in a way > makin

Re: [PATCH] Make IPA-CP propagate alignment information of pointers

2014-11-18 Thread Martin Jambor
Hi, On Mon, Nov 17, 2014 at 01:05:23PM +0100, Richard Biener wrote: > On Sat, Nov 15, 2014 at 2:04 AM, Martin Jambor wrote: > > Hi, > > > > this patch adds very simple propagation of alignment of pointers to > > IPA-CP. Because I have not attempted to estimat

Re: SRA: don't drop clobbers

2014-11-20 Thread Martin Jambor
Hi, On Mon, Nov 03, 2014 at 10:46:49PM +0100, Marc Glisse wrote: > On Mon, 3 Nov 2014, Marc Glisse wrote: > > >On Mon, 3 Nov 2014, Martin Jambor wrote: > > > >>I just applied your patch on top of trunk revision 217032 on my > > > >Ah, that explains i

[PATCH 1/2, PR 63814] Strengthen cgraph_edge_brings_value_p

2014-11-21 Thread Martin Jambor
where the value is supposed to go and can check that it goes there and not anywhere else. It also adds an extra availability check that was probably missing in it. Bootstrapped and tested on x86_64-linux, and i686-linux. OK for trunk? Thanks, Martin 2014-11-20 Martin Jambor PR ipa

[PATCH 2/2, PR 63814] Do not re-create expanded artificial thunks

2014-11-21 Thread Martin Jambor
uses the flag to identify such expanded thunks. Bootstrapped and tested on x86_64-linux and i686-linux. Honza, do you think this is a good approach? Is the patch OK for trunk? Thanks, Martin 2014-11-21 Martin Jambor * cgraph.h (cgraph_thunk_info): Converted thunk_p to a bit-field

[PATCH, PR 63551] Use proper type in evaluate_conditions_for_known_args

2014-11-21 Thread Martin Jambor
value is taken from the corresponding gimple_cond statement in which types must match. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2014-11-21 Martin Jambor PR ipa/63551 * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Convert

Re: [PATCH, PR 63551] Use proper type in evaluate_conditions_for_known_args

2014-11-21 Thread Martin Jambor
On Fri, Nov 21, 2014 at 09:07:50PM +0100, Martin Jambor wrote: > Hi, > > the testcase of PR 63551 passes a union between a signed and an > unsigned integer between two functions as a parameter. The caller > initializes to an unsigned integer with the highest order bit set, the >

Re: [PATCH, PR 63551] Use proper type in evaluate_conditions_for_known_args

2014-11-22 Thread Martin Jambor
Hi, On Fri, Nov 21, 2014 at 09:18:03PM +0100, Richard Biener wrote: > On November 21, 2014 9:07:50 PM CET, Martin Jambor wrote: > >the testcase of PR 63551 passes a union between a signed and an > >unsigned integer between two functions as a parameter. The caller > >initi

Re: [PATCH, PR 63551] Use proper type in evaluate_conditions_for_known_args

2014-11-24 Thread Martin Jambor
On Sat, Nov 22, 2014 at 07:36:59PM +0100, Richard Biener wrote: > On November 22, 2014 12:45:58 PM CET, Jakub Jelinek wrote: > >On Sat, Nov 22, 2014 at 12:09:46PM +0100, Martin Jambor wrote: > >> 2014-11-21 Martin Jambor > >> > >>PR ipa/6

Re: [PATCH 2/2, PR 63814] Do not re-create expanded artificial thunks

2014-12-01 Thread Martin Jambor
Ping. Thx, Martin On Fri, Nov 21, 2014 at 08:18:12PM +0100, Martin Jambor wrote: > Hi, > > when debugging PR 63814 I noticed that when cgraph_node::create_clone > was using redirect_edge_duplicating_thunks to redirect two edges to a > thunk of a clone, two thunks were create

Re: [PATCH 1/2, PR 63814] Strengthen cgraph_edge_brings_value_p

2014-12-01 Thread Martin Jambor
Ping. Thx, Martin On Fri, Nov 21, 2014 at 07:59:11PM +0100, Martin Jambor wrote: > Hi, > > PR 63814 is caused by cgraph_edge_brings_value_p misidentifying an > edge to an expanded artificial thunk as an edge to the original node, > which then leads to crazy double-cloning a

Re: [PATCH] Make IPA-CP propagate alignment information of pointers

2014-12-01 Thread Martin Jambor
Ping (this is a new feature submitted in stage1 so I'd really appreciate a review before it is going to be deemed "too late"). Thanks, Martin On Wed, Nov 19, 2014 at 12:32:53AM +0100, Martin Jambor wrote: > Hi, > ... > > 2014-11-19 Martin Jambor > >

Re: [PATCH] Make IPA-CP propagate alignment information of pointers

2014-12-02 Thread Martin Jambor
Hi, thanks for the comments. On Mon, Dec 01, 2014 at 11:40:59PM +0100, Jan Hubicka wrote: > > > 2014-11-19 Martin Jambor > > > > > > * ipa-prop.h (ipa_alignment): New type. > > > (ipa_jump_func): New field alignment. > >

Re: [PATCH 2/2, PR 63814] Do not re-create expanded artificial thunks

2014-12-02 Thread Martin Jambor
Hi, On Mon, Dec 01, 2014 at 10:43:19PM +0100, Jan Hubicka wrote: > > On Fri, Nov 21, 2014 at 08:18:12PM +0100, Martin Jambor wrote: > > > Hi, > > > > > > when debugging PR 63814 I noticed that when cgraph_node::create_clone > > > was using redirect_edg

[PATCH, PR 64153] Check type sizes before V_C_Eing in evaluate_conditions_for_known_args

2014-12-02 Thread Martin Jambor
generated assembly is the same as before the commit which introduced the problem). OK for trunk and (after a bootstrap and testing there) the 4.9 branch? Thanks, Martin 2014-12-02 Martin Jambor PR ipa/64153 * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Check

Re: [patch] Fix ICE on unaligned record field

2014-12-03 Thread Martin Jambor
e not double checked that get_inner_reference is cfun-agnostic. Hope it helps, Martin 2014-12-03 Martin Jambor * tree-sra.c (ipa_sra_check_caller_data): New type. (has_caller_p): Removed. (ipa_sra_check_caller): New function. (ipa_sra_preliminary_function_chec

Re: [PATCH] Make IPA-CP propagate alignment information of pointers

2014-12-03 Thread Martin Jambor
Hi, thank you very much for pointing out all the spelling mistakes. I suppose you could tell I was writing this in a hurry :-) Nevertheless I should probably make a habit of spell checking stuff before sending it out. As far as your question is concerned: On Wed, Dec 03, 2014 at 10:53:54AM +0

[PATCH, PR 64192] Add forgotten conversion from bits to bytes

2014-12-05 Thread Martin Jambor
, Martin 2014-12-05 Martin Jambor PR ipa/64192 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Convert alignment from bits to bytes after checking they are byte-aligned. Index: src/gcc/ipa-prop.c

[PATCH, PR 55260] Use correct info in cgraph_edge_brings_all_agg_vals_for_node

2014-02-04 Thread Martin Jambor
thusly. Bootstrapped and tested on trunk on x86_64-linux, bootstrap is still underway on the 4.8 branch where this exact fix is also necessary. OK for both? Thanks, Martin 2014-02-03 Martin Jambor PR ipa/55260 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce

Re: PR ipa/59831 (ipa-cp devirt issues)

2014-02-04 Thread Martin Jambor
Hi, On Fri, Jan 31, 2014 at 07:22:55AM +0100, Jan Hubicka wrote: ... > PR ipa/59831 > * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove. > * ipa-devirt.c (get_poymorphic_call_info_for_decl): Break out from ... > (get_polymorphic_call_info): ... here. >

Re: PR ipa/59831 (ipa-cp devirt issues)

2014-02-04 Thread Martin Jambor
Hi, On Mon, Feb 03, 2014 at 12:52:49AM +0100, Jan Hubicka wrote: > Hi, > this patch fixes the bug in extr_type_from_vtbl_ptr_store that made it to > consider store of construction virtual table or virtual table of virtual base > as store of type's virtual table. > > In the testcase we have after

Re: PR ipa/59831 (ipa-cp devirt issues)

2014-02-05 Thread Martin Jambor
Hi, On Wed, Feb 05, 2014 at 12:47:30AM +0100, Jan Hubicka wrote: > > > - if (TREE_CODE (t) != TREE_BINFO) > > > + /* Try to work out BINFO from virtual table pointer value in > > > replacements. */ > > > + if (!t && agg_reps && !ie->indirect_info->by_ref) > > > > At this point you know that

Re: [RFC] PR 59776 - esra vs gimple_debug

2014-02-08 Thread Martin Jambor
Hi, On Fri, Feb 07, 2014 at 04:37:22PM -0800, Richard Henderson wrote: > On 02/07/2014 03:12 PM, Richard Biener wrote: > > On February 7, 2014 8:35:16 PM GMT+01:00, Richard Henderson > > wrote: > >> In the testcases with the PR, we have a bit of type punning going on, > >> > >> *(int *) &s2.f =

Re: [patch] Fix wrong code with VCE to bit-field type at -O

2014-02-12 Thread Martin Jambor
Hi, On Tue, Feb 11, 2014 at 02:17:04PM +0100, Richard Biener wrote: > Hmm. The intent was of course to only allow truly no-op converts via > VIEW_CONVERT_EXPR - that is, the size of the operand type and the > result type should be the same. So, isn't SRA doing it wrong when > creating the VIEW_C

Re: Fix three issues in ipa-prop

2014-02-17 Thread Martin Jambor
Hi, On Mon, Feb 17, 2014 at 09:40:40AM +0100, Jan Hubicka wrote: > Hi, > Chromium LTO build ICEs on bogus get_binfo_at_offset call. This is caused by > updating pasto bug in update_jump_functions_after_inlining. > > While looking for it I noticed we have other issues here. In particular, when > c

[PATCH, PR 60266] Fix problem with mixing -O0 and -O2 in propagate_constants_accross_call

2014-02-21 Thread Martin Jambor
by bailing out early if there are no parameter descriptors because in that case there is nothing to do in that function anyway. Bootstrap and testing in progress, OK for trunk if it passes? Thanks, Martin 2014-02-21 Martin Jambor PR ipa/60266 * ipa-cp.c

Re: C++ PATCH for lto/53808 (devirtualization of defaulted virtual dtor)

2014-02-27 Thread Martin Jambor
On Thu, Feb 27, 2014 at 04:00:22PM +0100, Richard Biener wrote: > On Thu, Feb 27, 2014 at 3:51 PM, Jason Merrill wrote: > > On 02/27/2014 09:03 AM, Richard Biener wrote: > >>> > >>> Jason Merrill writes: > > Hmm, I wonder why we aren't devirtualizing that call on ia64. > >> > >> I think

[PATCH, PR 60461] Fix loop condition at the end of ipa_modify_call_arguments

2014-03-13 Thread Martin Jambor
bug so for th time being I'm leaving the code alone there. I have bootstrapped and tested the following patch on x86_64-linux on trunk and will commit it there shortly as obvious. Thanks, Martin 2014-03-13 Martin Jambor PR lto/60461 * ipa-prop.c (ipa_modify_call_argu

Re: [PATCH, PR 60461] Fix loop condition at the end of ipa_modify_call_arguments

2014-03-13 Thread Martin Jambor
On Thu, Mar 13, 2014 at 05:19:02PM +0100, Jakub Jelinek wrote: > On Thu, Mar 13, 2014 at 04:56:12PM +0100, Martin Jambor wrote: > > PR lto/60461 > > * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition. > > > > testsuite/ > > *

[PATCH, PR 59176] Mark "zombie" call graph nodes to remove verifier false positive

2014-03-20 Thread Martin Jambor
lways be NULL. So I added a new special value, error_mark_node, to mark this zombie state and taught the verifier to be happy with such nodes. Bootstrapped and tested on x86_64-linux. What do you think? Thanks, Martin 2014-03-19 Martin Jambor PR ipa/5

[PATCH, PR 60419] Clear thunk flag of "zombie" nodes

2014-03-20 Thread Martin Jambor
la Firefox witht the patch (without LTO, partly on purpose, partly because again I'm having issues with LTO after updating FF). OK for trunk? There is the same issue on the 4.8 branch, but the patch does not apply, I'm in the process of preparing it. Thanks, Martin 2014-03-20 Martin

Re: [PATCH, PR 59176] Mark "zombie" call graph nodes to remove verifier false positive

2014-03-20 Thread Martin Jambor
Hi, On Thu, Mar 20, 2014 at 07:40:56PM +0100, Jakub Jelinek wrote: > On Thu, Mar 20, 2014 at 05:07:32PM +0100, Martin Jambor wrote: > > in the PR, verifier claims an edge is pointing to a wrong declaration > > even though it has successfully verified the edge multiple times &

Re: [PATCH, PR 60419] Clear thunk flag of "zombie" nodes

2014-03-21 Thread Martin Jambor
Hi, On Fri, Mar 21, 2014 at 09:41:24AM +0100, Richard Biener wrote: > On Thu, 20 Mar 2014, Martin Jambor wrote: > > > Hi, > > > > in PR 60419 we end up with a call graph node for a thunk that has no > > callee because symtab_remove_unreachable_nodes has determi

Re: [PATCH, PR 59176] Mark "zombie" call graph nodes to remove verifier false positive

2014-03-24 Thread Martin Jambor
Hi, On Fri, Mar 21, 2014 at 09:40:39PM +0100, Jan Hubicka wrote: > > On Thu, 20 Mar 2014, Martin Jambor wrote: > > > > > Hi, > > > > > > On Thu, Mar 20, 2014 at 07:40:56PM +0100, Jakub Jelinek wrote: > > > > On Thu, Mar 20, 2014 at 05:07:3

[PATCH, PR 60600] Handle inconsistent devirtualizations gracefully

2014-03-25 Thread Martin Jambor
Honza in bugzilla and thus I will commit it shortly. Thanks, Martin 2014-03-25 Martin Jambor PR ipa/60600 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type inconsistent devirtualizations to __builtin_unreachable. testsuite/ * g++.dg/ipa/pr60600.C

Re: Remove unused arguments of bulitin_unreachable

2014-12-11 Thread Martin Jambor
Hi, On Thu, Dec 11, 2014 at 07:16:43PM +0100, Jan Hubicka wrote: > > On Thu, Dec 11, 2014 at 06:06:55PM +0100, Jan Hubicka wrote: > > > Hi, > > > in firefox .optimized dumps one can see few places where > > > __builtin_unreachable > > > is called (as a result of devirtualization code proving the

[hsa] Fix wrong conversion ode and verification fallout

2015-01-08 Thread Martin Jambor
originating from default-def gimple SSA names which are not parameters not having a definition. Committed to the branch. Thanks, Martin 2015-01-08 Martin Liska Martin Jambor * hsa-brig.c (emit_cvt_insn): Add near rounding for integer to float conversion

Re: [PATCH, 4.9, PR 61654] Handle newly truly expanded artificial_thunks

2014-09-10 Thread Martin Jambor
On Wed, Sep 03, 2014 at 10:45:34AM +0200, Martin Jambor wrote: > Hi, > > I did not think it was possible, but it can happen that when > duplicate_thunk_for_node creates a duplicate of a thunk which > previously expand_thunk left alone to be expanded into assembly by the > b

[PATCH] Fix overactive reference removal with speculative devirtualization

2014-09-23 Thread Martin Jambor
later. Bootstrapped and tested on x86_64-linux, I have also successfully LTO-built Firefox with the patch (when before it was failing). Thanks, Martin 2014-09-19 Martin Jambor * ipa-prop.c (ipa_edge_duplication_hook): Update controlled_use_count when duplicating a PASS_THROUGH

[hsa] Pass kernel range to libgomp

2014-09-25 Thread Martin Jambor
e hsa branch. Thanks, Martin 2014-09-26 Martin Jambor gcc/ * hsa-gen.c (hsa_dim_array_type, hsa_range_dimnum_decl) (hsa_range_grid_decl, hsa_range_group_decl) (hsa_launch_range_type): New variables. (init_hsa_functions): Also build the type of range stru

[hsa] Introduce hsakernel function attribute

2014-09-25 Thread Martin Jambor
). Bootstrapping only showed there were no warnings, I have tested this with some later patches on a number of OMP testcases. Committed to the HSA branch. Thanks, Martin 2014-09-26 Martin Jambor gcc/ * hsa-gen.c (insert_store_range_dim): Make value parameter a tree. (wrap_hsa

[hsa] Identify simple omp loops

2014-09-25 Thread Martin Jambor
patches on a number of OMP testcases. Committed to the HSA branch. Thanks, Martin 2014-09-26 Martin Jambor * omp-low.c (struct omp_region): New flag kernelize. (analyze_kernelizability): New function. (expand_omp): Call it. New parameter within_parallel, update all

[hsa] Produce naked kernels for simple omp loops

2014-09-25 Thread Martin Jambor
and tested it on a number of OMP testcases and it did not introduce any new failures. Committed to the hsa branch. Thanks, Martin 2014-09-26 Martin Jambor * gimple.c (gimple_build_omp_for): Allocate prev_first_iter. * gimple.h (gimple_statement_omp_for): New field or

[hsa] Upgrade to HSAIL 1.0p

2014-09-25 Thread Martin Jambor
o the HSA branch. Thanks, Martin 2014-09-26 Ganesh Gopalasubramanian Martin Jambor * hsa-brig-format.h: Update to HSA 1.0p. * hsa-brig.c: Remove strtab, directives and debug sections. (hsa_brig_section): New fields section_name and header_byte_

[hsa] Feed OKRA with BRIG and new README.hsa

2014-09-25 Thread Martin Jambor
OKRA world. Verified by running the same set of OMP testcases, committed to the hsa branch. Thanks, Martin libgomp/ 2014-09-26 Saravanan Ekanathan * hsaokra.c (__hsa_launch_kernel): Use BRIG generated by GCC directly to launch kernel. gcc/ 2014-09-26 Martin Jambor

[PATCH, PR 63375] Make SRA check references for volatility

2014-10-01 Thread Martin Jambor
on x86_64-linux. OK for trunk and for the maintained release branches after re-testing there? Thanks, Martin 2014-09-26 Martin Jambor PR tree-optimization/63375 * tree-sra.c (build_access_from_expr_1): Disqualify volatile references. diff --git a/gcc/tree-sra.c b

Re: SRA: don't drop clobbers

2014-11-03 Thread Martin Jambor
Hi, On Mon, Nov 03, 2014 at 01:59:24PM +0100, Marc Glisse wrote: > Hello, > > now that the update_address_taken patch is in, let me re-post the > SRA follow-up. With this patch, testcase pr60517.C (attached) has a > use of an undefined variable at the time of the uninit pass. Sadly, > while this

Re: SRA: don't drop clobbers

2014-11-03 Thread Martin Jambor
Hi, On Mon, Nov 03, 2014 at 05:17:22PM +0100, Marc Glisse wrote: > On Mon, 3 Nov 2014, Martin Jambor wrote: > >On Mon, Nov 03, 2014 at 01:59:24PM +0100, Marc Glisse wrote: > >> > >>now that the update_address_taken patch is in, let me re-post the > >>SRA

[PATCH] Fix dump scan in test devirt-40.C

2014-11-04 Thread Martin Jambor
y. Thanks, Martin gcc/testsuite/ 2014-11-04 Martin Jambor * devirt-40.C: Changed dump to not matching OBJ_TYPE_REF in function body. Index: src/gcc/testsuite/g++.dg/ipa/devirt-40.C === --- src.orig/gcc/testsuite/

Re: [PATCH] Fix dump scan in test devirt-40.C

2014-11-04 Thread Martin Jambor
On Tue, Nov 04, 2014 at 04:47:18PM +0100, Richard Biener wrote: > On Tue, Nov 4, 2014 at 4:37 PM, Martin Jambor wrote: > > Hi, > > > > since revision 216728, testsuite/g++.dg/ipa/devirt-40.C is failing > > because although the tested-for devirtualization does happen, it

Re: [debug-early] emit locals early patchset

2014-11-05 Thread Martin Jambor
On Tue, Oct 28, 2014 at 03:57:43PM +0100, Richard Biener wrote: > On Tue, Oct 28, 2014 at 1:00 AM, Aldy Hernandez wrote: > > Gentlemen! > > > > My apologies for the big patch. In getting locals emitted early (parameters > > and locally scoped variables), I ran into many things which were in need

[PATCH, testsuite, obvious] Do not produce optimized dump in devirt-4[45].C

2014-11-06 Thread Martin Jambor
Hi, g++.dg/ipa/devirt-44.C and g++.dg/ipa/devirt-45.C leave behind an optimized dump which they don't even use. Fixed thusly, tested by runing make -k check RUNTESTFLAGS="dg.exp=ipa/*.C", will commit shortly as obvious. Thanks, Martin 2014-11-06 Martin Jambor * g+

[PATCH] Reset contexts in possible_polymorphic_call_targets properly

2014-11-08 Thread Martin Jambor
outer_type(otr_type) instead, which I believe is the proper way of doing it. However, I had to make that method public to do so. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2014-11-08 Martin Jambor * cgraph.h (clear_outer_type): Make public. Fix comment.

Re: [PATCH, trans-mem, PR 61393] Copy tm_clone field of cgraph_node when cloning the node

2014-08-06 Thread Martin Jambor
Hi, On Wed, Jul 30, 2014 at 06:56:05PM +0200, Martin Jambor wrote: > Hi, > > IPA-CP can wreck havoc to transactional memory support as described in > the summary of the PR in bugzilla. It seems the cause is that IPA-CP > clones of nodes created by trans-mem do not have their tm_c

Re: [PATCH, trans-mem, PR 61393] Copy tm_clone field of cgraph_node when cloning the node

2014-08-07 Thread Martin Jambor
Hi, On Thu, Aug 07, 2014 at 08:10:51AM +0200, Patrick Marlier wrote: > Hi Martin, > > On Wed, Aug 6, 2014 at 4:02 PM, Martin Jambor wrote: > > Hi, > > > > On Wed, Jul 30, 2014 at 06:56:05PM +0200, Martin Jambor wrote: > >> Hi, > >> > >> IPA

Re: [PATCH 005/236] Introduce as_a_nullable

2014-08-13 Thread Martin Jambor
Hi, On Wed, Aug 06, 2014 at 01:19:44PM -0400, David Malcolm wrote: > In many circumstances, is_a_helper ::test assumes that the pointer is > non-NULL, but sometimes you have a pointer of type T that can be NULL. > > Earlier versions of this patch kit made numerous uses of the ternary > operator t

[PATCH 1/2, PR 61654] Handle newly truly expanded artificial_thunks

2014-09-03 Thread Martin Jambor
. Bootstrapped and tested on x86_64-linux and i686-linux (where the bug triggered), OK for trunk and the 4.9 branch? Thanks, Martin 2014-09-01 Martin Jambor PR ipa/61654 * cgraphclones.c (duplicate_thunk_for_node): Copy arguments of the new decl properly. Analyze the new thunk

[PATCH 2/2] Set analyzed flag of unexpanded thunks in expand_thunk

2014-09-03 Thread Martin Jambor
ght it would be much nicer to set the analyzed flag in expand_thunk itself when it returns false, especially given that we probably want to set the flag at as few places as reasonably possible. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2014-09-01 Martin

[PATCH, PR 61986] Produce aggregate replacement nodes in ascending order of offsets

2014-09-03 Thread Martin Jambor
makes us miss an item in the intersection and assert later. The ordering is fixed by the following patch. Bootstrapped and tested on x86_64-linux. OK for the trunk and all problematic branches (4.9 for sure, I am not sure about 4.8 at this moment). Thanks, Martin 2014-09-02 Martin Jambor

[PATCH, PR 62015] Clear aggregate values intersection when jump function flag require us to punt

2014-09-03 Thread Martin Jambor
-linux (so far only on trunk, testing on branches in progress). OK for trunk and all the problematic branches (IIRC both 4.9 and 4.8)? Thanks, Martin 2014-09-02 Martin Jambor PR ipa/62015 * ipa-cp.c (intersect_aggregates_with_edge): Handle impermissible pass-trough

[PATCH] Fix ipa_reduced_postorder with respect to overwritable functions

2011-05-30 Thread Martin Jambor
my problems caused by this went away too). OK for trunk? Thanks, Martin 2011-05-30 Martin Jambor * ipa-utils.c (searchc_env): New field allow_overwritable. (searchc): do not ignore edges to overwritable nodes if indicated by env->allow_overwrita

[PATCH] Make ipa_reduced_postorder number SCCs

2011-05-30 Thread Martin Jambor
number of the component when constructing the linked list of nodes in it. And this is exactly what the patch below does. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2011-05-19 Martin Jambor * ipa-utils.c (ipa_dfs_info): New field scc_no; * ipa

[PATCH, C++] Use of a variable with undefined value in cp/parser.c?

2011-06-06 Thread Martin Jambor
cp_parser_parameter_declaration. All in all, I intend to commit the following in a few days unless someone stops me. Thanks, Martin 2011-06-06 Martin Jambor * parser.c (cp_parser_parameter_declaration_list): Initialize parenthesized_p. Index: src/gcc/cp/parser.c

[PATCH] Better propagation of flags in access trees of SRA

2011-06-07 Thread Martin Jambor
Hi, the way we propagate flags in SRA access tree has evolved in an unfortunate way, this patch simplifies the whole thing while doing exactly the same thing. Bootstrapped and tested on x86_64-linux, OK for trunk? Thanks, Martin 2011-06-06 Martin Jambor * tree-sra.c

Re: Cgraph alias reorg 8/14 (ipa-cp and ipa-prop update)

2011-06-13 Thread Martin Jambor
Hi, On Fri, Jun 10, 2011 at 04:55:43PM +0200, Jan Hubicka wrote: > Hi, > this patch updated ipa-cp and ipa-prop for aliases. It is basically > easy - we don't analyze nodes represneting aliases and when > propagating we skip them, like everywhere else. > > There are two problems I noticed. Fir

[PATCH, PR 48613] Don't stream jump functions if there are none

2011-06-14 Thread Martin Jambor
tions can -and are - dealt elsewhere. Bootstrapped and tested on trunk on x86_64-linux. OK for trunk and subsequently for the 4.6 branch too? Thanks, Martin 2011-06-13 Martin Jambor PR tree-optimization/48613 * ipa-prop.c (ipa_prop_write_jump_functions): Ret

[PATCH, PR 49343] Make SRA cope with some fields with variable offsets

2011-06-15 Thread Martin Jambor
e). Fixed thusly, code closely follows what is in get_ref_base_and_extent but is simpler because we know that function has once already accepted this input. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2011-06-10 Martin Jambor PR tree-optimiza

Re: SRA generates uninitialized var use

2011-06-22 Thread Martin Jambor
Hi, On Tue, Jun 21, 2011 at 06:08:27PM +0200, Richard Guenther wrote: > On Tue, Jun 21, 2011 at 5:51 PM, Xinliang David Li wrote: > > On Tue, Jun 21, 2011 at 1:42 AM, Richard Guenther > > wrote: > >> On Tue, Jun 21, 2011 at 1:28 AM, Xinliang David Li > >> wrote: > >>> Good point -- but why doe

Re: [PATCH] middle-end only piece of middle-end array expressions

2011-06-22 Thread Martin Jambor
Hi, On Tue, Jun 21, 2011 at 05:12:40PM +0200, Richard Guenther wrote: > > This is the middle-end pieces, without the C/C++ frontend changes. > Enough to work on the Fortran parts. > > Doesn't even break bootstrap. > > Richard. > > 2008-04-11 Richard Guenther > > * builtin-attrs.def (

Re: SRA generates uninitialized var use

2011-06-23 Thread Martin Jambor
Hi, On Mon, Jun 20, 2011 at 10:47:58PM +0200, Richard Guenther wrote: > On Mon, Jun 20, 2011 at 6:15 PM, Xinliang David Li wrote: > > It is used to indicate the fact the var decl needs to have a memory > > home (addressable) -- is there another way to do this? this is to > > avoid the following s

[PATCH, PR 49516] Avoid SRA mem-refing its scalar replacements

2011-06-23 Thread Martin Jambor
on i686-linux. I have bootstrapped and tested the patch on x86_64-linux too. I intend to do a full i686 bootstrap and test but so far have not managed to do it. OK for trunk and 4.6 after it is unfrozen? Thanks, Martin 2011-06-22 Martin Jambor PR tree-optimizations/49516

[PATCH, PR 49094] Refrain from creating misaligned accesses in SRA

2011-06-26 Thread Martin Jambor
c++ on sparc64-linux without any issues as well as traditional bootstrap and full testsuite run on x86_64-linux. OK for trunk and for 4.6 when unfrozen? Thanks, Martin 2011-06-24 Martin Jambor PR tree-optimization/49094 * tree-sra.c (potential_alignment_i

<    1   2   3   4   5   6   7   8   9   10   >