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 mjam...@suse.cz wrote: @@ -3002,10 +3014,8 @@ try_make_edge_direct_virtual_call (struct cgraph_edge *ie, if (target) { -#ifdef ENABLE_CHECKING - gcc_assert

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 this

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 as addresses.

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

2014-06-24 Thread Martin Jambor
? Thanks, Martin 2014-06-24 Martin Jambor mjam...@suse.cz * params.def (PARAM_ALLOW_LOAD_DATA_RACES) (PARAM_ALLOW_PACKED_LOAD_DATA_RACES) (PARAM_ALLOW_PACKED_STORE_DATA_RACES): Removed. (PARAM_ALLOW_STORE_DATA_RACES): Set default to zero. * opts.c

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

2014-06-25 Thread Martin Jambor
Hi, On Mon, Jun 23, 2014 at 01:38:03PM +0100, James Greenhalgh wrote: On Thu, Jun 19, 2014 at 12:49:55PM +0100, Martin Jambor wrote: Hi, On Wed, Jun 18, 2014 at 06:12:34PM +0200, Bernhard Reutner-Fischer wrote: On 18 June 2014 10:24:16 Martin Jambor mjam...@suse.cz wrote

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

2014-06-25 Thread Martin Jambor
Hi, On Wed, Jun 25, 2014 at 03:14:31PM -0600, Jeff Law wrote: On 06/24/14 14:19, Martin Jambor wrote: On Mon, Jun 23, 2014 at 03:35:01PM +0200, Bernd Edlinger wrote: Hi Martin, Well actually, I am not sure if we ever wanted to have a race condition here. Have you seen any impact

[PATCH] Fix the inconsident devirtualization typo and consolidate the related code

2014-06-25 Thread Martin Jambor
quite bit more but I believe this patch is small enough to even be considered for the 4.9 branch, so I stopped there now. Bootstrapped and tested on trunk on x86_64-linux, I am running the bootstrap on the 4.9 branch now. OK for both or at least for the trunk? Thanks, Martin 2014-06-25 Martin

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

2014-06-27 Thread Martin Jambor
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 arguments removed, while the actual functions do loose

Re: [PATCH 1/7] Add missing documentation of four IPA-CP params

2014-07-15 Thread Martin Jambor
On Mon, Jun 30, 2014 at 01:06:55AM +0200, Gerald Pfeifer wrote: On Tue, 10 Jun 2014, Gerald Pfeifer wrote: On Wed, 21 May 2014, Martin Jambor wrote: +@item ipa-cp-loop-hint-bonus +When IPA-CP determines that a cloning candidate would make the number +of iterations of a loop known, it adds

[PATCH, testcase, committed] Exit with zero status from g++.dg/ipa/pr61160-3.C

2014-07-22 Thread Martin Jambor
Hi, in order to avoid spurious testsuite failures, I've checked in the following obvious patch so that the testcase always returns zero. I have verified it still properly tests for non-existence of the bug. Thanks, Martin 2014-07-22 Martin Jambor mjam...@suse.cz PR ipa/61160

Re: [PATCH, PR61776] verify_flow_info failed: control flow in the middle of basic block with -fprofile-generate

2014-07-23 Thread Martin Jambor
Hi, On Wed, Jul 23, 2014 at 11:51:37AM +0200, Richard Biener wrote: On Mon, Jul 21, 2014 at 7:06 PM, Wei Mi w...@google.com wrote: Hi, This patch is to fix: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61776 It records func decls whose const/pure flags are reset during

Re: Regimplification enhancements 3/3

2014-07-24 Thread Martin Jambor
Hi, sorry for late reply, I've been on vacation and then preparing for Cauldron. Anyway... On Mon, Jun 30, 2014 at 05:13:13PM +0200, Bernd Schmidt wrote: On 06/17/2014 04:54 PM, Martin Jambor wrote: Weird... does the following (untested) patch help? diff --git a/gcc/tree-sra.c b/gcc/tree

Re: [PATCH, testcase, committed] Exit with zero status from g++.dg/ipa/pr61160-3.C

2014-07-24 Thread Martin Jambor
On Tue, Jul 22, 2014 at 06:31:32PM +0200, Martin Jambor wrote: Hi, in order to avoid spurious testsuite failures, I've checked in the following obvious patch so that the testcase always returns zero. I have verified it still properly tests for non-existence of the bug. ...and here goes

[PATCH] Make sra_modify_assign's stmt prameter gimple (as opposed to gimple *)

2014-07-25 Thread Martin Jambor
? Thanks, Martin 2014-07-25 Martin Jambor mjam...@suse.cz * tree-sra.c (sra_modify_constructor_assign): Change type of stmt parameter to gimple. (sra_modify_assign): Likewise. diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 7fa6b4f..ba7d159 100644 --- a/gcc/tree-sra.c

Re: [PATCH] Make sra_modify_assign's stmt prameter gimple (as opposed to gimple *)

2014-07-30 Thread Martin Jambor
Hi, On Fri, Jul 25, 2014 at 10:56:10AM -0700, Sebastian Pop wrote: On Fri, Jul 25, 2014 at 9:50 AM, Martin Jambor mjam...@suse.cz wrote: Hi, parameter stmt of sra_modify_assign and sra_modify_constructor_assign is currently gimple*, although there is no need for the extra level

[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 mjam...@suse.cz

[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 mjam...@suse.cz * ipa-prop.h

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

2014-11-13 Thread Martin Jambor
, Martin 2014-11-14 Martin Jambor mjam...@suse.cz * 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 mli...@suse.cz Date: Fri, 14 Nov 2014 16:14:28 +0100 Subject: [PATCH 2/3] First usage of cgraph_summary in ipa-prop pass.

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 specual constructor

[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 mjam...@suse.cz * ipa-prop.h (ipa_alignment): New type. (ipa_jump_func): New

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 collected object from

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)

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 to be freed by garbage

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 Everything in symbol table is

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 making it

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 mjam...@suse.cz wrote: Hi, this patch adds very simple propagation of alignment of pointers to IPA-CP. Because I have not attempted to estimate profitability

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 it, thanks. This patch is a follow-up to r217034. Still, 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 mjam...@suse.cz

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

2014-11-21 Thread Martin Jambor
and then 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 mjam...@suse.cz * cgraph.h (cgraph_thunk_info): Converted thunk_p

[PATCH, PR 63551] Use proper type in evaluate_conditions_for_known_args

2014-11-21 Thread Martin Jambor
the 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 mjam...@suse.cz PR ipa/63551 * ipa-inline-analysis.c (evaluate_conditions_for_known_args

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 callee loads the data

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 mjam...@suse.cz wrote: the testcase of PR 63551 passes a union between a signed and an unsigned integer between two functions as a parameter. The caller initializes

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 ja...@redhat.com wrote: On Sat, Nov 22, 2014 at 12:09:46PM +0100, Martin Jambor wrote: 2014-11-21 Martin Jambor mjam...@suse.cz PR ipa/63551 * ipa-inline

[hsa] Pass kernel range to libgomp

2014-09-25 Thread Martin Jambor
branch. Thanks, Martin 2014-09-26 Martin Jambor mjam...@suse.cz 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

[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 mjam...@suse.cz gcc/ * hsa-gen.c (insert_store_range_dim): Make value parameter a tree

[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 mjam...@suse.cz * omp-low.c (struct omp_region): New flag kernelize. (analyze_kernelizability): New function. (expand_omp): Call it. New parameter

[hsa] Produce naked kernels for simple omp loops

2014-09-25 Thread Martin Jambor
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 mjam...@suse.cz * gimple.c (gimple_build_omp_for): Allocate prev_first_iter. * gimple.h (gimple_statement_omp_for): New field

[hsa] Upgrade to HSAIL 1.0p

2014-09-25 Thread Martin Jambor
to the HSA branch. Thanks, Martin 2014-09-26 Ganesh Gopalasubramanian ganesh.gopalasubraman...@amd.com Martin Jambor mjam...@suse.cz * hsa-brig-format.h: Update to HSA 1.0p. * hsa-brig.c: Remove strtab, directives and debug sections. (hsa_brig_section): New fields

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

2014-09-25 Thread Martin Jambor
-09-26 Martin Jambor mjam...@suse.cz * README2.hsa: Rewritten from scratch. --- gcc/README.hsa| 432 +++--- libgomp/hsaokra.c | 40 ++--- 2 files changed, 159 insertions(+), 313 deletions(-) diff --git a/gcc/README.hsa b/gcc/README.hsa

[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 mjam...@suse.cz PR tree-optimization/63375 * tree-sra.c (build_access_from_expr_1): Disqualify volatile references. diff --git a/gcc

Re: [RFC, PATCH]: Introduction of callgraph annotation class

2014-10-16 Thread Martin Jambor
Hi, On Wed, Oct 15, 2014 at 06:26:34PM +0200, Martin Liska wrote: Hello. Following patch introduces a new class called callgraph_annotation. Idea behind the patch is to provide a generic interface one can use to register custom info related to a cgraph_node. As you know, symbol_table

Re: [RFC, PATCH]: Introduction of callgraph annotation class

2014-10-16 Thread Martin Jambor
Hi, On Thu, Oct 16, 2014 at 01:44:05PM +0200, Richard Biener wrote: On Thu, Oct 16, 2014 at 1:40 PM, Jan Hubicka hubi...@ucw.cz wrote: I don't like generic annotation facilities at all. Would it be possible Why? Because it's the way to hell if the IL has magic things only one pass

[PATCH, PR 60647] Check that actual argument types match those of formal parameters before IPA-SRA

2014-03-28 Thread Martin Jambor
on x86_64-linux. OK for trunk? Thanks, Martin 2014-03-28 Martin Jambor mjam...@suse.cz PR middle-end/60647 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to callsite_arguments_match_p. Updated all callers. Also check types of corresponding formal

[PATCH, PR 60640] When creating virtual clones, clone thunks too

2014-03-28 Thread Martin Jambor
fixable that it) and passes bootstrap and testing on x86_64-linux. OK for trunk? Thanks, Martin 2014-03-26 Martin Jambor mjam...@suse.cz * cgraph.h (cgraph_clone_node): New parameter added to declaration. Adjust all callers. * cgraphclones.c (build_function_type_skip_args

Re: [PATCH, PR 60640] When creating virtual clones, clone thunks too

2014-04-01 Thread Martin Jambor
the testcases on trunk (it does not apply to 4.8, I have not looked how easily fixable that it) and passes bootstrap and testing on x86_64-linux. OK for trunk? Thanks, Martin 2014-03-26 Martin Jambor mjam...@suse.cz * cgraph.h (cgraph_clone_node): New parameter added

[PATCH] Simple enhancements to dumping in ipa.c and ipa-cp.c

2014-04-02 Thread Martin Jambor
60727. I included the patch in a recent bootstrap and testing and it of course passes. OK for trunk now? Or later? Thanks, Martin 2014-04-01 Martin Jambor mjam...@suse.cz * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and mention gcc_unreachable before failing

[PATCH] Disable IPA-SRA for always_inline functions

2014-04-02 Thread Martin Jambor
on x86_64-linux. OK for trunk now or in the next stsge1? Thanks, Martin 2014-04-01 Martin Jambor mjam...@suse.cz * tree-sra.c (ipa_sra_preliminary_function_checks): Skip always_inline functions. Index: src/gcc/tree-sra.c

Re: [PATCH] Simple enhancements to dumping in ipa.c and ipa-cp.c

2014-04-02 Thread Martin Jambor
Hi, On Wed, Apr 02, 2014 at 06:08:27PM +0200, Jan Hubicka wrote: On Wed, 2 Apr 2014, Martin Jambor wrote: Hi, recently I've been looking into a number of bugs involving symtab_remove_unreachable_nodes in one way or another and I have always started by applying the hunk below

Re: [PATCH, PR 60640] When creating virtual clones, clone thunks too

2014-04-04 Thread Martin Jambor
verify_edge_corresponds_to_fndecl. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2014-03-31 Martin Jambor mjam...@suse.cz * cgraph.h (cgraph_clone_node): New parameter added to declaration. Adjust all callers. * cgraph.c (clone_of_p): Also return

[PATCH, 4.8, PR 60640] Disable IPA-CP through thunks

2014-04-04 Thread Martin Jambor
Hi, on the 4.8 branch, I'd like to fix the bug by simply never propagating through thunks. There is very little pre-IPA devirtualization going on and so this should have minimal impact. Bootstrapped and tested on x86_64. OK for the branch? Thanks, Martin 2014-04-01 Martin Jambor mjam

[PATCH, 4.7, PR 60640] Disable IPA-CP through thunks

2014-04-04 Thread Martin Jambor
Martin Jambor mjam...@suse.cz PR ipa/60640 * ipa-cp.c (propagate_constants_accross_call): Do not propagate accross thunks. testsuite/ * g++.dg/ipa/pr60640-1.C: New test. * g++.dg/ipa/pr60640-2.C: Likewise. * g++.dg/ipa/pr60640-3.C: Likewise. diff

Re: Fix wrong code issue in ipa-devirt

2014-04-08 Thread Martin Jambor
Hi, On Tue, Apr 08, 2014 at 06:13:27AM +0200, Jan Hubicka wrote: Hi, while looking into devirtualization dumps, I noticed that I got one false typed out as true. Not sure what I was thinking of. Martin, this may fix the wrong code issue you see in Firefox, hopefully. it did not segfault

Re: [PATCH][C++] Fix PR60761, diagnostics in clones

2014-04-09 Thread Martin Jambor
Hi, On Tue, Apr 08, 2014 at 01:58:06PM +0200, Richard Biener wrote: This fixes PR60761 by dumping decl context of function clones as origin with clone appended instead of built-in that now appears after we (compared to 4.8) clear DECL_LANG_SPECIFIC. Thus for the testcase in PR60761 we now

Re: [PATCH] Disable IPA-SRA for always_inline functions

2014-04-14 Thread Martin Jambor
Hi, On Wed, Apr 02, 2014 at 02:29:55PM +0200, Richard Biener wrote: On Wed, 2 Apr 2014, Martin Jambor wrote: Hi, when dealing with a PR yesterday I have noticed that IPA-SRA was modifying an always_inline function which is useless work since the function must then be inlined anyway

[PATCH] Do not run IPA transform phases multiple times

2014-04-14 Thread Martin Jambor
transformation of IPA-CP multiple times when we previously did and added asserts to check that no other caller of tree_function_versioning expects to have the vector copied. Bootstrapped and tested on x86_64-linux, OK for trunk? Thanks, Martin 2014-04-10 Martin Jambor mjam...@suse.cz

[PATCH] Make SRA tolerate most throwing statements

2014-04-15 Thread Martin Jambor
on x86_64-linux, bootstrap and testing of this exact one is currently underway. OK for trunk? Eric, if and once this gets in, can you please add the testcase from your original post to the suite? Thanks, Martin 2014-04-15 Martin Jambor mjam...@suse.cz * tree-sra.c (single_non_eh_succ

Re: [PATCH] Make SRA tolerate most throwing statements

2014-04-17 Thread Martin Jambor
On Wed, Apr 16, 2014 at 11:22:28AM +0200, Richard Biener wrote: On Tue, 15 Apr 2014, Martin Jambor wrote: Hi, back in January in http://gcc.gnu.org/ml/gcc-patches/2014-01/msg00848.html Eric pointed out a testcase where the problem was SRA not scalarizing an aggregate because

Re: [PATCH] Do not run IPA transform phases multiple times

2014-04-18 Thread Martin Jambor
2014-04-18 Martin Jambor mjam...@suse.cz * cgraphclones.c (cgraph_function_versioning): Copy ipa_transforms_to_apply instead of asserting it is empty. Index: src/gcc/cgraphclones.c === --- src.orig/gcc/cgraphclones.c

Re: [PATCH] Do not run IPA transform phases multiple times

2014-04-18 Thread Martin Jambor
, is it OK for trunk if it passes? Thanks, Martin 2014-04-18 Martin Jambor mjam...@suse.cz * cgraphclones.c (cgraph_function_versioning): Copy ipa_transforms_to_apply instead of asserting it is empty. Index: src/gcc/cgraphclones.c

Re: [PATCH] Do not run IPA transform phases multiple times

2014-04-22 Thread Martin Jambor
On Fri, Apr 18, 2014 at 03:08:09PM +0200, Martin Jambor wrote: On Fri, Apr 18, 2014 at 01:49:36PM +0200, Jakub Jelinek wrote: It reproduces on x86_64 too, I guess the reason why you aren't seeing this is that you might have too old assembler that doesn't support avx2 instructions (you

[PATCH] Make SRA create statements with the correct alias type

2014-04-25 Thread Martin Jambor
and tested on x86_64-linux. OK for trunk? Thanks, Martin 2014-04-24 Martin Jambor mjam...@suse.cz * tree-sra.c (sra_modify_expr): Generate new memory accesses with same alias type as the original statement. (subreplacement_assignment_data): New type

[PATCH] Make ipa-prop analyze BBs in DOM order

2014-04-25 Thread Martin Jambor
with it. OK for trunk? Thanks, Martin 2014-02-12 Martin Jambor mjam...@suse.cz PR tree-optimization/53787 * params.def (PARAM_IPA_CP_LOOP_HINT_BONUS): New param. * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to analysis_done, update all uses. * ipa

[PATCH] Optionally trap on impossible devirtualization

2014-04-25 Thread Martin Jambor
branch, with the patch it will abort. Bootstrapped and tested (with the option on) on x86_64-linux, I have also successfully LTO built Firefox with it. If I add some documentation, would like to see this in trunk? Thanks, Martin 2014-04-03 Martin Jambor mjam...@suse.cz * cgraph.c

Re: [PATCH] Optionally trap on impossible devirtualization

2014-04-28 Thread Martin Jambor
On Mon, Apr 28, 2014 at 11:10:41AM +0200, Jakub Jelinek wrote: On Mon, Apr 28, 2014 at 11:05:06AM +0200, Richard Biener wrote: On Fri, Apr 25, 2014 at 5:35 PM, Martin Jambor mjam...@suse.cz wrote: Hi, the patch below might be useful for testcase preparation and debugging compiler

Re: [PATCH 0/3] Compile-time gimple checking, without typedefs

2014-05-06 Thread Martin Jambor
On Mon, May 05, 2014 at 09:53:49PM +0200, Jakub Jelinek wrote: On Mon, May 05, 2014 at 01:44:06PM -0600, Jeff Law wrote: On 05/05/14 11:37, Richard Biener wrote: Well, I hope that Andrew doesn't do without a namespace (and I still don't believe in what he tries to achieve without laying

[PATCH, PR 60897] Clear DECL_LANG_SPECIFIC when creating ISRA clones

2014-05-07 Thread Martin Jambor
. Bootstrapped and tested on x86_64-linux. OK for trunk? Also, although I have not tested it there yet, I suppose this should also be committed to the 4.9 branch. Thanks, Martin 2014-04-22 Martin Jambor mjam...@suse.cz PR ipa/60897 * ipa-prop.c (ipa_modify_formal_parameters): Reset

[PATCH, PR 61090] Pass gsi to build_ref_for_model in sra_modify_expr

2014-05-15 Thread Martin Jambor
the source. This means we may encounter an ARRAY_REF and need an iterator for producing potential extra statements. Fixed simply by the following patch which provides the iterator we have at hand. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2014-05-14 Martin Jambor mjam

[PATCH, PR 61085] Add missing type_preserved check

2014-05-15 Thread Martin Jambor
on both trunk and the 4.9 branch. OK for both? Thanks, Martin 2014-05-15 Martin Jambor mjam...@suse.cz PR ipa/61085 * ipa-prop.c (update_indirect_edges_after_inlining): Check type_preserved flag when the indirect edge is polymorphic. testsuite/ * g++.dg/ipa

Re: Eliminate write-only variables

2014-05-18 Thread Martin Jambor
Hi, On Fri, May 16, 2014 at 07:25:59PM +0200, Jan Hubicka wrote: ... * varpool.c (dump_varpool_node): Dump write-only flag. * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream write-only flag. * tree-cfg.c (execute_fixup_cfg): Remove statements

Re: Eliminate write-only variables

2014-05-20 Thread Martin Jambor
Hi, On Fri, May 16, 2014 at 07:25:59PM +0200, Jan Hubicka wrote: Hi, this patch adds code to remove write only static variables. While analyzing effectivity of LTO on firefox, I noticed that surprisingly large part of binary's data segment is occupied by these. Fixed thus. (this is quite

[PATCH 0/7] ipa-prop escape analysis

2014-05-21 Thread Martin Jambor
Hi, this patch series implements ipa-prop escape and clobber analysis and then more advanced jump function building on top of them. Better descriptions of individual patches are in their corresponding email messages, they however need to be applied in this order and so I'm sending them in this

[PATCH 1/7] Add missing documentation of four IPA-CP params

2014-05-21 Thread Martin Jambor
this by this separate patch which I'd like to propose also for 4.9 because it is missing there as well. Checked by running make info. OK for both branches? Thanks, Martin 2014-05-16 Martin Jambor mjam...@suse.cz * doc/invoke.texi (Optimize Options): Document parameters ipa-cp

[PATCH 7/7] Plug ipa-prop escape analysis into gimple_call_arg_flags

2014-05-21 Thread Martin Jambor
still but for example in gamess that number raises from 5.21% to 7.66%. Thanks, Martin 2014-04-30 Martin Jambor mjam...@suse.cz * gimple.c: Include cgraph.h. (gimple_call_arg_flags): Also query bitmaps in cgraph_node. Index: src/gcc/gimple.c

[PATCH 5/7] Advanced aggregate jump function construction

2014-05-21 Thread Martin Jambor
with it. I'm sure there will be comments but eventually I'd like to commit this to trunk. Thanks, Martin 2014-02-18 Martin Jambor mjam...@suse.cz * ipa-prop.h (ipa_agg_jf_item): New fields size and only_unescaped. * ipa-prop.c (ipa_known_agg_contents_list): Moved up, new fields

[PATCH 6/7] Real aggregate contents merge and application of deltas

2014-05-21 Thread Martin Jambor
. Bootstrapped and tested on x86_64 where it also passes LTO bootstrap and is able to LTO build Firefox. Thanks, Martin 2014-02-25 Martin Jambor mjam...@suse.cz * ipa-prop.c (ipa_bb_info): New field own_begin_agg_cnt. (apply_agg_contents_deltas): New parameters fbi and own

[PATCH 4/7] Break up determine_known_aggregate_parts

2014-05-21 Thread Martin Jambor
and even possibly filtering out useful information. Bootstrapped and tested and LTO-bootstrapped on x86_64-linux. OK for trunk after the preceeding patches get in? Thanks, Martin 2014-02-19 Martin Jambor mjam...@suse.cz * ipa-prop.c (get_place_in_agg_contents_list): New function

[PATCH 2/7] Analyze BBs in DOM order in ipa-prop.c

2014-05-21 Thread Martin Jambor
it and LTO built Firefox with it. Thanks, Martin 2014-05-15 Martin Jambor mjam...@suse.cz PR tree-optimization/53787 * params.def (PARAM_IPA_CP_LOOP_HINT_BONUS): New param. * ipa-prop.h (ipa_node_params): Rename uses_analysis_done to analysis_done, update all uses

Re: Eliminate write-only variables

2014-05-21 Thread Martin Jambor
Hi, On Wed, May 21, 2014 at 05:10:55AM +0200, Jan Hubicka wrote: Unfortunately, this commit has caused the following ICE for me when LTO building 471.omnetpp from SPEC 2006 or Firefox (but not libxul, something that gets built earlier): lto1: internal compiler error: in

Re: [PATCH 7/7] Plug ipa-prop escape analysis into gimple_call_arg_flags

2014-05-22 Thread Martin Jambor
Hi, On Wed, May 21, 2014 at 04:27:32PM +0200, Richard Biener wrote: On Wed, May 21, 2014 at 3:16 PM, Martin Jambor mjam...@suse.cz wrote: Hi, this demonstrates how results of ipa-prop escape analysis from previous patches can be used at a later stage of compilation by directly

Re: [PATCH 3/7] IPA-CP escape and clobber analysis

2014-05-23 Thread Martin Jambor
in that paper some seven years ago) Modified flags are propagated only from callees to callers, of course. On Wed, May 21, 2014 at 04:50:33PM +0200, Richard Biener wrote: On Wed, May 21, 2014 at 3:16 PM, Martin Jambor mjam...@suse.cz wrote: Hi, this patch is rather big but not overly complicated

[PATCH] Remove now unnecessary bailout from split_live_ranges_for_shrink_wrap

2014-05-23 Thread Martin Jambor
above. So this patch does that. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2014-05-23 Martin Jambor mjam...@suse.cz * ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on subreg uses. diff --git a/gcc/ira.c b/gcc/ira.c index b9caad7

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

2014-05-30 Thread Martin Jambor
the trunk and the 4.9 branch. OK for both? Thanks, Martin 2014-05-30 Martin Jambor mjam...@suse.cz PR ipa/61211 * cgraph.c (clone_of_p): Allow skipped_branch to deal with expanded clones. diff --git a/gcc/cgraph.c b/gcc/cgraph.c index ff65b86..f18f977 100644 --- a/gcc

[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 mjam...@suse.cz PR ipa/61160 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to thunks. testsuite/ * g

[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 mjam

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
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 mjam...@suse.cz PR ipa/61340

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

2014-06-04 Thread Martin Jambor
testcase within a few minutes). OK for 4.8? Thanks, Martin 2014-06-04 Martin Jambor mjam...@suse.cz 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

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

2014-06-04 Thread Martin Jambor
Martin Jambor mjam...@suse.cz 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

Re: [PATCH 4/7] Break up determine_known_aggregate_parts

2014-06-06 Thread Martin Jambor
Martin Jambor mjam...@suse.cz * ipa-prop.c (get_place_in_agg_contents_list): New function. (build_agg_jump_func_from_list): Likewise. (determine_known_aggregate_parts): Renamed to determine_locally_known_aggregate_parts. Moved some functionality to the two functions

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 ilya.enkov...@intel.com * ipa-cp.c

[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 mjam

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 ilya.enkov...@intel.com *

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 ber...@codesourcery.com 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

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 false positive verification

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 arguments removed, while

[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 mjam...@suse.cz PR ipa/61540 * ipa-prop.c (impossible_devirt_target): New function

[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 mjam...@suse.cz PR ipa/55260 * ipa-cp.c

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 early

  1   2   3   4   5   6   7   8   9   10   >