[PATCH] tree-sra: Do not refresh readonly decls (PR 100453)

2021-06-15 Thread Martin Jambor
. Bootstrapped and tested on x86_64-linux, i686-linux and aarch64-linux (this time With Ada enabled on all three platforms). OK for trunk? Thanks, Martin gcc/ChangeLog: 2021-06-11 Martin Jambor PR tree-optimization/100453 * tree-sra.c (create_access): Disqualify any const

Re: [PATCH 0.5/2] ipa-sra: Restructure how cloning and call redirection communicate (PR 93385)

2021-06-09 Thread Martin Jambor
ly re-based and re-tested version is below. Thanks, Martin On Mon, May 10 2021, Martin Jambor wrote: > Hi, > > On Mon, May 10 2021, Richard Biener wrote: >> I've tried to have a look at this patch but it does a lot of IPA specific >> refactoring(?), so the actual DC

Re: [PATCH] tree-sra: Avoid refreshing into const base decls (PR 100453)

2021-05-21 Thread Martin Jambor
Hi, On Mon, May 17 2021, Eric Botcazou wrote: >> sorry for breaking Ada over the weekend, however... > > No problem. > >> None of the non-ACATS tests fail for me without doing a bootstrap, but I >> did manage to reproduce this one (by the way, there really should be a >> documentation on how to ru

Re: [PATCH 1.0/2] ipa-sra: Introduce a mini-DCE to tree-inline.c (PR 93385)

2021-05-21 Thread Martin Jambor
Hi, On Tue, May 11 2021, Richard Biener wrote: > On Mon, May 10, 2021 at 8:52 PM Martin Jambor wrote: [...] >> @@ -969,6 +969,97 @@ ipa_param_body_adjustments::carry_over_param (tree t) >>return new_parm; >> } >> >> +/* Return true if BLOCKS_TO_COPY is N

Re: [PATCH 0.5/2] ipa-sra: Restructure how cloning and call redirection communicate (PR 93385)

2021-05-21 Thread Martin Jambor
-linux. OK for trunk? Thanks, Martin 2021-05-19 Martin Jambor PR ipa/93385 * symtab-clones.h (clone_info): Removed member param_adjustments. * ipa-param-manipulation.h: Adjust initial comment to reflect how we deal with pass-through splits now

Re: [PATCH] tree-sra: Avoid refreshing into const base decls (PR 100453)

2021-05-17 Thread Martin Jambor
Hi Eric, sorry for breaking Ada over the weekend, however... On Fri, May 14 2021, Eric Botcazou wrote: >> Looks like this caused: >> >> === acats tests === >> FAIL: c41325a None of the non-ACATS tests fail for me without doing a bootstrap, but I did manage to reproduce this on

Re: [PATCH] tree-sra: Avoid refreshing into const base decls (PR 100453)

2021-05-15 Thread Martin Jambor
Hi, On Fri, May 14 2021, Eric Botcazou wrote: >> Looks like this caused: >> >> === acats tests === >> FAIL: c41325a >> FAIL: c45347d >> FAIL: c74402a >> FAIL: c95085m >> FAIL: cc3601a >> >> === gnat tests === >> >> FAIL: gnat.dg/addr12.adb (test for exc

[PATCH] tree-sra: Avoid refreshing into const base decls (PR 100453)

2021-05-13 Thread Martin Jambor
trunk? Thanks, Martin gcc/ChangeLog: 2021-05-12 Martin Jambor PR tree-optimization/100453 * tree-sra.c (sra_modify_assign): All const base accesses do not need refreshing, not just those from decl_pool. (sra_modify_assign): Do not refresh into a const base decl

Re: [PATCH] ipa/100513 - fix SSA_NAME_DEF_STMT corruption in IPA param manip

2021-05-11 Thread Martin Jambor
Hi, On Tue, May 11 2021, Richard Biener wrote: > This fixes unintended clobbering of SSA_NAME_DEF_STMT of the > cloned/inlined from SSA name during IPA parameter manipulation > of call stmt LHSs. gimple_call_set_lhs adjusts SSA_NAME_DEF_STMT > of the lhs to the stmt being modified but when > ipa_

Re: [PATCH 1.0/2] ipa-sra: Introduce a mini-DCE to tree-inline.c (PR 93385)

2021-05-10 Thread Martin Jambor
bootstrap this morning. I will of course bootstrap it independently too. What do you think? Martin gcc/ChangeLog: 2021-05-10 Martin Jambor PR ipa/93385 * ipa-param-manipulation.h (class ipa_param_body_adjustments): New members m_dead_stmts and m_dead_ssas.

Re: [PATCH 0.5/2] ipa-sra: Restructure how cloning and call redirection communicate (PR 93385)

2021-05-10 Thread Martin Jambor
th the second one they make up pretty much exactly the original one (modulo m_new_call_arg_modification_info) which I did bootstrap this morning. I will of course bootstrap it independently too. What do you think? Martin 2021-05-10 Martin Jambor PR ipa/93385 * symtab-clo

Re: [PATCH 2/2] ipa-sra: Improve debug info for removed parameters (PR 93385)

2021-05-10 Thread Martin Jambor
On Mon, May 10 2021, Richard Biener wrote: > On Tue, Apr 27, 2021 at 5:26 PM Martin Jambor wrote: >> >> Hi, >> >> Whereas the previous patch fixed issues with code left behind after >> IPA-SRA removed a parameter but only reset all affected debug bind >>

[PATCH] ipa: Get rid of IPA_NODE_REF and IPA_EDGE_REF

2021-05-10 Thread Martin Jambor
of these non-mechanical changes should be specifically called out in the ChangeLog. I also removed the IS_VALID_JUMP_FUNC_INDEX macro because it not used anywhere. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin gcc/ChangeLog: 2021-05-07 Martin Jambor * ipa

[PATCH] ipa-sra: Do not bail out when callers cannot be cloned

2021-04-27 Thread Martin Jambor
not sure what to think of the transaction related ones. (I have seen IPA-SRA remove unused return values of functions marked as malloc, so the alloc_align could also be dealt with but I am not sure how important it is.) Thanks, Martin gcc/ChangeLog: 2021-04-12 Martin Jambor * ipa

[PATCH 2/2] ipa-sra: Improve debug info for removed parameters (PR 93385)

2021-04-27 Thread Martin Jambor
ral and so needs a bit more work. Bootstrapped and tested on x86_64-linux, i686-linux and aarch64-linux. Also LTO-bootstrapped and LTO-profiledbootstrapped on x86_64-linux. OK for trunk? Thanks, Martin gcc/ChangeLog: 2021-03-29 Martin Jambor PR ipa/93385 * ipa-param-mani

[PATCH 1/2] ipa-sra: Introduce a mini-DCE to tree-inline.c (PR 93385)

2021-04-27 Thread Martin Jambor
/reference and 3) a delta to the index where va_args may start. Bootstrapped and tested on x86_64-linux, i686-linux and aarch64-linux. Also LTO-bootstrapped and LTO-profiledbootstrapped on x86_64-linux. OK for trunk? Thanks, Martin gcc/ChangeLog: 2021-03-24 Martin Jambor PR ipa/93385

Re: [PATCH] Test simlified call in cgraph_node::analyze().

2021-04-21 Thread Martin Jambor
Hi, On Wed, Apr 21 2021, Martin Liška wrote: > As mentioned and explained in the PR, the calls are redundant. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? Yes. Thanks, Martin > Thanks, > Martin > > gcc/ChangeLog: > > PR ipa/98815

Re: [PATCH 4/4] Remove dead components from MAINTAINERS.

2021-04-21 Thread Martin Jambor
Arnaud Charlet > Ada front endEric Botcazou > > Ada front endPierre-Marie de Rodat > -BRIG (HSAIL) front end Pekka Jääskeläinen > > -BRIG (HSAIL) front end Martin Jambor > c++

Re: [PATCH 0/4] Remove BRIG FE and libhsail

2021-04-21 Thread Martin Jambor
Hi, On Wed, Apr 21 2021, Martin Liska wrote: > Based on the discussion with Martin Jambor, I'm suggesting removal > of the HSA front-end and BRIG FE. Both were marked as obsolete in GCC 11. > > Ready to be installed once GCC 11.1 is released? Yes, it is. Thanks for prepar

Re: [wwwdocs] Add znver3 support to changes.html

2021-04-20 Thread Martin Jambor
Hi, I'd like to ping the following, since we already have an RC. Thanks, On Tue, Apr 13 2021, Martin Jambor wrote: > Hi, > > Martin Liška correctly observed that the newly added support for AMD > zenver3 in GCC 11 and 10.3 is not reflected in the changes.html files. > >

[wwwdocs] Add znver3 support to changes.html

2021-04-13 Thread Martin Jambor
Hi, Martin Liška correctly observed that the newly added support for AMD zenver3 in GCC 11 and 10.3 is not reflected in the changes.html files. Would the following be OK? Thanks, Martin diff --git a/htdocs/gcc-10/changes.html b/htdocs/gcc-10/changes.html index d5166879..d9971ffb 100644 --- a/

[PATCH] ipa-sra: Release dead LHS SSA_NAME when removing it (PR 99951)

2021-04-08 Thread Martin Jambor
hanks, Martin gcc/ChangeLog: 2021-04-08 Martin Jambor PR ipa/99951 * ipa-param-manipulation.c (ipa_param_adjustments::modify_call): If removing a call statement LHS SSA name, release it. --- gcc/ipa-param-manipulation.c | 4 1 file changed, 4 insertions(+) diff --git

[PATCH] sra: Fix bug in grp_write propagation (PR 97009)

2021-03-31 Thread Martin Jambor
grp_write flag. Bootstrap and testing on top of trunk and the gcc-10 branch is underway and I also plan to backport this to gcc-9. OK if they pass? Thanks, Martin gcc/ChangeLog: 2021-03-31 Martin Jambor PR tree-optimization/97009 * tree-sra.c (access_or_its_child_wri

[GCC 12 PATCH 2/2] ipa-sra: Improve debug info for removed parameters (PR 93385)

2021-03-30 Thread Martin Jambor
artin gcc/ChangeLog: 2021-03-29 Martin Jambor PR ipa/93385 * ipa-param-manipulation.h (class ipa_param_body_adjustments): New members remap_with_debug_expressions, m_dead_ssa_debug_equiv, m_dead_stmt_debug_equiv and prepare_debug_expressions. Added pa

[GCC 12 PATCH 1/2] ipa-sra: Introduce a mini-DCE to tree-inline.c (PR 93385)

2021-03-30 Thread Martin Jambor
any feedback. Thanks, Martin gcc/ChangeLog: 2021-03-24 Martin Jambor PR ipa/93385 * symtab-clones.h (clone_info): Removed member param_adjustments. * ipa-param-manipulation.h: Adjust initial comment to reflect how we deal with pass-through splits now

[PATCH 2/2] ipa-sra: Improve debug info for removed parameters (PR 93385)

2021-03-12 Thread Martin Jambor
nly stage1 material, your call. It has passed bootstrap, and (profiled) LTO bootstrap and testing on x86_64-linux. Thanks, Martin gcc/ChangeLog: 2021-03-10 Martin Jambor PR ipa/93385 * ipa-param-manipulation.h (class ipa_param_body_adjustments): New

[PATCH 1/2] ipa-sra: Introduce a mini-DCE to tree-inline.c (PR 93385)

2021-03-12 Thread Martin Jambor
using call summaries in GCC 12. (Or we can of course decide to do nothing for 11.1 and wait for the final patch in GCC 12.) Thanks, Martin gcc/ChangeLog: 2021-03-10 Martin Jambor PR ipa/93385 * ipa-param-manipulation.h (class ipa_param_body_adjustments): New

Re: ipa-sra is mostly disabled by -mlongcall

2021-03-11 Thread Martin Jambor
Hi, On Thu, Mar 11 2021, Alexandre Oliva wrote: > Several ipa-sra tests fail because -mlongcall on powerpc is a > TYPE_ATTRIBUTE, and those disable ipa-sra. > > This local workaround disables -mlongcall for the failing tests on > powerpc*-*-vxworks*, so they get a chance to run even in kernel mode

[PATCH] ipa: Check that scalar types that IPA-CP comes up with are sane (PR99122)

2021-03-05 Thread Martin Jambor
propagations. I have looked at the effect of the patch on WPA of Firefox and did not have any. I have bootstrapped and LTO bootstrapped and tested the patch on x86_64-linux. OK for trunk? And perhaps later for GCC 10 too? Thanks gcc/ChangeLog: 2021-02-26 Martin Jambor PR ipa/99122

Re: [RFC][patch for gcc12][version 1] add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc

2021-02-19 Thread Martin Jambor
On Thu, Feb 18 2021, Qing Zhao via Gcc-patches wrote: > (CC’ing Kees Cook on this topic) > > Hi, > > This is the first version of the complete patch for the new security feature > for GCC: > > Initialize automatic variables with new first class option > -ftrivial-auto-var-init=[uninitialized|pa

Re: [PATCH] ipa: Fix resolving speculations through cgraph_edge::set_call_stmt (PR 98078)

2021-02-18 Thread Martin Jambor
Hi, ping, please. Martin On Thu, Jan 21 2021, Martin Jambor wrote: > Hi, > > in the PR 98078 testcase, speculative call-graph edges which were > created by IPA-CP are confirmed during inlining but > cgraph_edge::set_call_stmt does not take it very well. > > Th

Re: [PATCH][X86] Enable X86_TUNE_AVX256_UNALIGNED_{LOAD, STORE}_OPTIMAL for generic tune [PR target/98172]

2021-02-04 Thread Martin Jambor
Hi, On Thu, Jan 28 2021, Richard Biener wrote: > On Thu, Jan 28, 2021 at 7:32 AM Hongtao Liu via Gcc-patches > wrote: >> >> Hi: >>GCC11 will be the system GCC 2 years from now, and for the >> processors then, they shouldn't even need to split a 256-bit vector >> into 2 128-bits vectors. >>

[PATCH] Deprecate the BRIG/HSAIL front-end (Was: Re: [committed] doc: Remove HSAIL from Language Standards)

2021-01-26 Thread Martin Jambor
Hi, On Wed, Jan 06 2021, Gerald Pfeifer wrote: > On Mon, 4 Jan 2021, Martin Jambor wrote: >> Given that nobody bothered to update the FE to HSAIL 1.2 (which is 2.5 >> years old) and it is unlikely to have many users, maybe it is time to >> deprecate the FE in GCC 11 (I gues

[PATCH] ipa: Fix resolving speculations through cgraph_edge::set_call_stmt (PR 98078)

2021-01-21 Thread Martin Jambor
link it is deemed very important. Bootstrapped and tested on x86_64-linux, also profile-LTO-bootstrapped on the same system. OK for trunk? What about gcc10, where we cannot trigger it but I suppose the bug is there? Thanks, Martin gcc/ChangeLog: 2021-01-20 Martin Jambor PR ipa/

Re: [PATCH 1/4] Remove build dependence on HSA run-time

2021-01-19 Thread Martin Jambor
. > > This is commit b8d89b03db5f212919e4571671ebb4f5f8b1e19d (r242749) "Remove > build dependence on HSA run-time": > > On 2016-11-22T14:27:44+0100, Martin Jambor wrote: >> --- a/libgomp/plugin/configfrag.ac >> +++ b/libgomp/plugin/configfrag.ac > >>

[PATCH] ipa-sra: Do not remove return values needed because of non-call EH (PR 98690)

2021-01-18 Thread Martin Jambor
w has been bootstrapped and tested on x86_64. OK for trunk and then for the gcc-10 branch? Thanks, Martin gcc/ChangeLog: 2021-01-18 Martin Jambor PR ipa/98690 * ipa-sra.c (ssa_name_only_returned_p): New parameter fun. Check whether non-call exceptions allow removal of a

[PATCH] ipa: Adjust cgraph verifier to materialization on demand (PR 98222)

2021-01-17 Thread Martin Jambor
do and reported edges to pointing to a wrong place. Fixed with the following patch, which has been pre-approved by Honza. Bootstrapped and tested on x86_64-linux, pushed to master. Martin gcc/ChangeLog: 2021-01-15 Martin Jambor PR ipa/98222 * cgraph.c (clone_of_p): Check

[PATCH] Testcase for old PR 47059

2021-01-08 Thread Martin Jambor
Hi, I stumbled across PR 47059 from 2010 which has been addressed by store-merging. I am going to close it but would like to add its testcase too. OK for trunk? Thanks, Martin gcc/testsuite/ChangeLog: 2021-01-08 Martin Jambor PR tree-optimization/47059 * gcc.dg/tree-ssa

Re: [committed] doc: Remove HSAIL from Language Standards

2021-01-04 Thread Martin Jambor
Hi Gerald, On Tue, Dec 29 2020, Gerald Pfeifer wrote: > On Tue, 29 Dec 2020, Martin Jambor wrote: >>> commit 7e999bd84f47205dc44b0f2dc90b53b3c888ca48 >>> Author: Gerald Pfeifer >>> Date: Mon Dec 28 21:41:55 2020 +0100 >>> >>&g

Re: [committed] doc: Remove HSAIL from Language Standards

2020-12-29 Thread Martin Jambor
Hi Gerald, On Mon, Dec 28 2020, Gerald Pfeifer wrote: > Pushed. > > There's quite a number of further references in gcc/doc; is anyone > planning on continuing the deprecation and removing the actual bits? > > Gerald > > > commit 7e999bd84f47205dc44b0f2dc90b53b3c888ca48 > Author: Gerald Pfeifer

Re: [PATCH][DOC] Document my changes in GCC 11.

2020-12-22 Thread Martin Jambor
On Tue, Dec 22 2020, Martin Liška wrote: > On 12/22/20 12:46 PM, Jonathan Wakely wrote: >> On Tue, 22 Dec 2020 at 08:29, Martin Liška wrote: [...] >>> + >>> + >>> +New command-line options: >>> + >>> +>> href="https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#index-fno

Re: [PATCH] ipa: do not DECL_IS_MALLOC for void fns

2020-12-02 Thread Martin Jambor
Hi, On Wed, Dec 02 2020, Jan Hubicka wrote: >> We create an IPA SRA (which has DECL_IS_MALLOC set to false), but later >> IPA pure const propagates malloc attributes. I think we should not set >> it for a void returning functions. >> >> Patch can bootstrap on x86_64-linux-gnu and survives regress

Re: [PATCH] ipa: special pass-through op for Fortran strides

2020-11-23 Thread Martin Jambor
Hi Jeff, On Fri, Nov 20 2020, Jeff Law wrote: > On 6/12/20 3:25 PM, Martin Jambor wrote: >> [...] >> >> 2020-06-12 Martin Jambor >> >> * ipa-prop.h (ipa_pass_through_data): Expand comment describing >> operation. >> * ipa-prop.c (a

Re: [PATCH] ipa-cp: Avoid unwanted multiple propagations (PR 97816)

2020-11-20 Thread Martin Jambor
cost a tiny bit more than the estimated time benefit but both increases were small. Bootstrapped and LTO bootstrapped on x86_64-linux. OK for trunk? Thanks, Martin gcc/ChangeLog: 2020-11-20 Martin Jambor PR ipa/97816 * ipa-cp.c (safe_add): Removed

[PATCH] ipa-cp: Avoid unwanted multiple propagations (PR 97816)

2020-11-13 Thread Martin Jambor
not seem to matter much. The patch passes bootstrap and testing on x86_64-linux. I plan to start LTO bootstrap straight away. OK for trunk if I don't find any issues? Martin gcc/ChangeLog: 2020-11-13 Martin Jambor PR ipa/97816 * ipa-cp.c (safe_add): Re

[PATCH] ipa-cp: One more safe_add (PR 97816)

2020-11-13 Thread Martin Jambor
and tested on x86_64-linux. Thanks, Martin gcc/ChangeLog: 2020-11-13 Martin Jambor PR ipa/97816 * ipa-cp.c (value_topo_info::propagate_effects): Use safe_add instead of a simple addition. --- gcc/ipa-cp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -

Re: [PATCH 2/2] loops: Invoke lim after successful loop interchange

2020-11-12 Thread Martin Jambor
Hi, On Wed, Nov 11 2020, Richard Biener wrote: > On Mon, 9 Nov 2020, Martin Jambor wrote: > >> this patch modifies the loop invariant pass so that is can operate >> only on a single requested loop and its sub-loops and ignore the rest >> of the function, much like it

[PATCH] cgraph: Avoid segfault when attempting to dump NULL clone_info

2020-11-12 Thread Martin Jambor
the following obvious extra checks which I will commit after an obligatory round of bootstrap and testing. Thanks, Martin gcc/ChangeLog: 2020-11-12 Martin Jambor * cgraphclones.c (cgraph_node::materialize_clone): Check that clone info is not NULL before attempting to dump it

[PATCH] ipa-cp: Work with time benefits and frequencies in sreals

2020-11-12 Thread Martin Jambor
. Bootstrapped, LTO-bootstrapped and tested on x86_64-linux, OK for trunk? Thanks, Martin gcc/ChangeLog: 2020-11-11 Martin Jambor * ipa-cp.c (class ipcp_value_base): Change the type of local_time_benefit and prop_time_benefit to sreal. Adjust the constructor initializer

[PATCH 2/2] loops: Invoke lim after successful loop interchange

2020-11-09 Thread Martin Jambor
oop optimizers, I expect that there will be requests to adjust the patch during the review. Still, it fixes a performance regression against GCC 9 and so I hope to address the concerns in time to get it into GCC 11. Thanks, Martin gcc/ChangeLog: 2020-11-08 Martin Jambor * gimple-l

[PATCH 1/2] cfgloop: Extend loop iteration macros to loop only over sub-loops

2020-11-09 Thread Martin Jambor
the two patches on x86_64-linux and aarch64-linux. OK for trunk once the follow-up patch is accepted too? Thanks, Martin gcc/ChangeLog: 2020-10-29 Martin Jambor * cfgloop.h (loop_iterator::loop_iterator): Add parameter to the constructor, make it iterate over sub-loops if non

ipa-cp: New debug counters for IPA-CP

2020-10-30 Thread Martin Jambor
testing on x86_64-linux. OK for trunk? Thanks, Martin gcc/ChangeLog: 2020-10-30 Martin Jambor * dbgcnt.def (ipa_cp_values): New counter. (ipa_cp_vr): Likewise. * ipa-cp.c (decide_about_value): Check and bump ipa_cp_values debug counter

Re: Materialize clones on demand

2020-10-23 Thread Martin Jambor
right thing at WPA time (still > not good idea for production patch). I did not test this path. > > Martin (Jambor), Jakub, there is one FIXME in ipa-param-manipulation. > We seem to ICE when we redirect to a call before callee is materialized > (this should be possible to trigger on

Re: [PATCH] LTO: get_section: add new argument

2020-10-22 Thread Martin Jambor
Hi, On Thu, Oct 22 2020, Martin Liška wrote: > All right, there's a patch that works for me. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin > From 33c58cab6bc0d779b11e7ffb36bfb485d73d6816 Mon Sep 17 00:00:00 2001 > From: Mar

Re: [PATCH] cplxlower: Avoid a transform when looking at a default definition

2020-10-19 Thread Martin Jambor
Hi, On Sat, Oct 17 2020, Richard Biener wrote: > On October 16, 2020 8:46:39 PM GMT+02:00, Martin Jambor > wrote: >>Hi, >> >>in PR 97456, IPA-SRA triggers a bug in tree-complex.c where it >>converts: >> >> >> a$_M_value_21 = COMPLEX_EXPR ;

[PATCH] cplxlower: Avoid a transform when looking at a default definition

2020-10-16 Thread Martin Jambor
and the gcc-10 branch? Thanks, Martin gcc/ChangeLog: 2020-10-16 Martin Jambor PR tree-optimization/97456 * tree-complex.c (set_component_ssa_name): Do not replace ignored decl default definitions with new component vars. Reorder if conditions. gcc/testsuite

Re: [PATCH] IPA: compare VRP types.

2020-10-15 Thread Martin Jambor
On Thu, Oct 15 2020, Martin Liška wrote: > Hello. > > As mentioned in the PR, since 74ca1c01d02e548f32aa26f9a887dcc0730703fb we > wrongly > merge a pair of VRP ranges with a different TREE_TYPE (in the PR one is char > and second > one is short). Then we merge 2 ranges and make an anti-range and

Re: Fix possible overflow in ipa-fnsummary

2020-10-14 Thread Martin Jambor
Hi, On Wed, Oct 14 2020, Jan Hubicka wrote: > Hi, > while looking into jump functions I noticed that offset_map in > ipa-fnsummary is array of integers while everywhere else the offsets are > HOST_WIDE_INTs (for good reason since the offsets are pointer > adjustments moreover multplied by UNIT_SIZ

Re: Support ofsetted parameters in local modref

2020-10-14 Thread Martin Jambor
Hi, On Wed, Oct 14 2020, Jan Hubicka wrote: > Hi, > here is updated patch with cap on number of iterations. > I set the limit to 8 and bootstrapped it with additional assert that the > limit is not met, it did not fire. > > Bootstrapped/regtested x86_64-linux, OK? > > gcc/ChangeLog: > > 2020-10-14

Re: Fix handling of access ranges in ipa-modref

2020-10-13 Thread Martin Jambor
Hi, On Sun, Oct 11 2020, Jan Hubicka wrote: > Hi, > this patch fixes the range tracking in argument and re-enables it for clones > (the bug that broke dealII and x264 benchmarks) > > It turned out that there was three problems > 1) for SRA/ipa-cp clones we did not update summarries to represent n

Re: [PATCH 4/6] ipa: Multiple predicates for loop properties, with frequencies

2020-10-02 Thread Martin Jambor
make >> iteration counts or strides of frequent loops compile time constant. >> >> gcc/ChangeLog: >> >> 2020-09-03 Martin Jambor >> >> * ipa-fnsummary.h (ipa_freqcounting_predicate): New type. >> (ipa_fn_summary)

[PATCH] ipa-prop: Fix multiple-target speculation resolution

2020-10-01 Thread Martin Jambor
for trunk? Thanks, Martin gcc/ChangeLog: 2020-09-30 Martin Jambor PR ipa/96394 * ipa-prop.c (update_indirect_edges_after_inlining): Do not add resolved speculation edges to vector of new direct edges even in presence of multiple speculative direct edges for a

Re: [PATCH 6/6] ipa-cp: Separate and increase the large-unit parameter

2020-09-30 Thread Martin Jambor
Hi, On Wed, Sep 30 2020, Richard Biener wrote: > On Tue, Sep 29, 2020 at 9:31 PM Jan Hubicka wrote: >> >> > >> > gcc/ChangeLog: >> > >> > 2020-09-07 Martin Jambor >> > >> > * params.opt (ipa-cp-large-unit-insns): New param

[PATCH 1/6] ipa: Bundle vectors describing argument values

2020-09-29 Thread Martin Jambor
stack ones. Unfortunately, I don't think the structure embedded in ipa_call_context can be made constant because we need to manipulate and deallocate it when in cache. gcc/ChangeLog: 2020-09-01 Martin Jambor * ipa-prop.h (ipa_auto_call_arg_values): New type. (

[PATCH 5/6] ipa-cp: Add dumping of overall_size after cloning

2020-09-29 Thread Martin Jambor
When experimenting with IPA-CP parameters, especially when looking into exchange2_r, it has been very useful to know what the value of overall_size is at different stages of the decision process. This patch therefore adds it to the generated dumps. gcc/ChangeLog: 2020-09-07 Martin Jambor

[PATCH 4/6] ipa: Multiple predicates for loop properties, with frequencies

2020-09-29 Thread Martin Jambor
cumulative frequency of loops with the property. This second property is then used by IPA-CP to much more aggressively boost its heuristic score for cloning opportunities which make iteration counts or strides of frequent loops compile time constant. gcc/ChangeLog: 2020-09-03 Martin Jambor

[PATCH 2/6] ipa: Introduce ipa_cached_call_context

2020-09-29 Thread Martin Jambor
set and can be dropped if deemed superfluous. gcc/ChangeLog: 2020-09-02 Martin Jambor * ipa-fnsummary.h (ipa_cached_call_context): New forward declaration and class. (class ipa_call_context): Make friend ipa_cached_call_context. Moved methods duplicate_from

[PATCH 3/6] ipa: Bundle estimates of ipa_call_context::estimate_size_and_time

2020-09-29 Thread Martin Jambor
into one output structure. gcc/ChangeLog: 2020-09-02 Martin Jambor * ipa-inline-analysis.c (do_estimate_edge_time): Adjusted to use ipa_call_estimates. (do_estimate_edge_size): Likewise. (do_estimate_edge_hints): Likewise. * ipa-fnsummary.h (struct

[PATCH 0/6] IPA cleanups and IPA-CP improvements for 548.exchange2_r

2020-09-29 Thread Martin Jambor
? Thanks, Martin Martin Jambor (6): ipa: Bundle vectors describing argument values ipa: Introduce ipa_cached_call_context ipa: Bundle estimates of ipa_call_context::estimate_size_and_time ipa: Multiple predicates for loop properties, with frequencies ipa-cp: Add dumping of overall_size

[PATCH 6/6] ipa-cp: Separate and increase the large-unit parameter

2020-09-29 Thread Martin Jambor
se the IPA-CP limit further. I plan to experiment with IPA-CP tuning on a larger set of programs. Meanwhile, mainly to address the 548.exchange2_r regression, I'm suggesting this simple change. gcc/ChangeLog: 2020-09-07 Martin Jambor * params.opt (ipa-cp-large-unit-insns)

Re: [PATCH] Fix UBSAN errors in ipa-cp.

2020-09-23 Thread Martin Jambor
Hi, On Wed, Sep 23 2020, Martin Liška wrote: > There's patch that does that. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin > From ff5f78110684ed9aedde15d19e856b3acf649971 Mon Sep 17 00:00:00 2001 > From: Martin Liska > Dat

Re: [PATCH] Fix UBSAN errors in ipa-cp.

2020-09-23 Thread Martin Jambor
Hi, On Wed, Sep 23 2020, Jan Hubicka wrote: >> There's patch that does that. >> >> Patch can bootstrap on x86_64-linux-gnu and survives regression tests. >> >> Ready to be installed? >> Thanks, >> Martin > >> From ff5f78110684ed9aedde15d19e856b3acf649971 Mon Sep 17 00:00:00 2001 >> From: Martin

RE: [PATCH] ipa-inline: Improve growth accumulation for recursive calls

2020-09-11 Thread Martin Jambor
Hi, On Fri, Sep 11 2020, Tamar Christina wrote: > Hi Martin, > >> On Fri, Aug 21 2020, Tamar Christina wrote: >> >> >> >> Honza's changes have been motivated to big extent as an enabler for >> >> IPA-CP heuristics changes to actually speed up 548.exchange2_r. >> >> >> >> On my AMD Zen2 machine, th

RE: [PATCH] ipa-inline: Improve growth accumulation for recursive calls

2020-09-08 Thread Martin Jambor
Hi, On Fri, Aug 21 2020, Tamar Christina wrote: >> >> Honza's changes have been motivated to big extent as an enabler for IPA-CP >> heuristics changes to actually speed up 548.exchange2_r. >> >> On my AMD Zen2 machine, the run-time of exchange2 was 358 seconds two >> weeks ago, this week it is 4

[PATCH 6/6] ipa-cp: Separate and increase the large-unit parameter

2020-09-07 Thread Martin Jambor
trunk? Thanks, Martin gcc/ChangeLog: 2020-09-07 Martin Jambor * params.opt (ipa-cp-large-unit-insns): New parameter. * ipa-cp.c (get_max_overall_size): Use the new parameter. --- gcc/ipa-cp.c | 2 +- gcc/params.opt | 4 2 files changed, 5 insertions(+), 1 deletion(-

[PATCH 5/6] ipa-cp: Add dumping of overall_size after cloning

2020-09-07 Thread Martin Jambor
bootstrapped on x86_64 as a part of the whole series. OK for trunk? Thanks, Martin gcc/ChangeLog: 2020-09-07 Martin Jambor * ipa-cp.c (estimate_local_effects): Add overeall_size to dumped string. (decide_about_value): Add dumping new overall_size. --- gcc/ipa-cp.c | 6

[PATCH 4/6] ipa: Multiple predicates for loop properties, with frequencies

2020-09-07 Thread Martin Jambor
-bootstrapped) the series up to this patch in particular, this week I did so for the whole patch set. OK for trunk? Thanks, Martin gcc/ChangeLog: 2020-09-03 Martin Jambor * ipa-fnsummary.h (ipa_freqcounting_predicate): New type. (ipa_fn_summary): Change the type of

[PATCH 3/6] ipa: Bundle estimates of ipa_call_context::estimate_size_and_time

2020-09-07 Thread Martin Jambor
parameters into one output structure. Last week I bootstrapped and tested (and LTO-bootstrapped) the series up to this patch in particular, this week I did so for the whole patch set. OK for trunk? Thanks, Martin gcc/ChangeLog: 2020-09-02 Martin Jambor * ipa-inline-analysis.c

[PATCH 2/6] ipa: Introduce ipa_cached_call_context

2020-09-07 Thread Martin Jambor
patch set and can be dropped if deemed superfluous. Last week I bootstrapped and tested (and LTO-bootstrapped) this patch individually, this week I did so for the whole patch set. OK for trunk? Thanks, Martin gcc/ChangeLog: 2020-09-02 Martin Jambor * ipa-fnsummary.h

[PATCH 1/6] ipa: Bundle vectors describing argument values

2020-09-07 Thread Martin Jambor
patch set. OK for trunk? Thanks, Martin gcc/ChangeLog: 2020-09-01 Martin Jambor * ipa-prop.h (ipa_auto_call_arg_values): New type. (class ipa_call_arg_values): Likewise. (ipa_get_indirect_edge_target): Replaced vector arguments with ipa_call_arg_valu

Re: [PATCH] Fix ICE in ipa-cp due to cost addition overflow (PR 96806)

2020-08-31 Thread Martin Jambor
Hi, On Mon, Aug 31 2020, Feng Xue OS wrote: >>> gcc/ >>> PR tree-optimization/96806 > >> the component is "ipa," please change that when you commit the patch. > Mistake has been made, I'v pushed it. Is there a way to correct it? git push > --force? There is. You need to wait until tomor

Re: [PATCH] Fix ICE in ipa-cp due to cost addition overflow (PR 96806)

2020-08-31 Thread Martin Jambor
Hi, On Mon, Aug 31 2020, Feng Xue OS wrote: > This patch is to fix a bug that cost that is used to evaluate clone candidate > becomes negative due to integer overflow. > > Feng > --- > 2020-08-31 Feng Xue > > gcc/ > PR tree-optimization/96806 the component is "ipa," please change that

Re: [PATCH 3/n] ipa: Simplify interface of ipa_call_context::estimate_size_and_time

2020-08-30 Thread Martin Jambor
; >> > What >> > about keeping them separate and inventing ipa_call_estimates structure >> > to hold the reults? >> >> I can but unless you do not like the first patch and want me to re-write >> it or just not do anything like it, I don't think it m

Re: [PATCH 3/n] ipa: Simplify interface of ipa_call_context::estimate_size_and_time

2020-08-29 Thread Martin Jambor
o anything like it, I don't think it matters because the structures will almost always lie next to each other on the user's stack. Martin >> >> >> gcc/ChangeLog: >> >> 2020-08-28 Martin Jambor >> >> * ipa-fnsummary.h (class ip

Re: [PATCH] ipa: Merge vectors describing argument values into one type

2020-08-29 Thread Martin Jambor
Hi, On Sat, Aug 29 2020, Jan Hubicka wrote: >> Hi, >> >> this large patch is a semi-mechanical change which aims to replace >> uses of separate vectors about known scalar values (usually called >> known_vals or known_csts), known aggregate values (known_aggs), known >> virtual call contexts (know

[PATCH 3/n] ipa: Simplify interface of ipa_call_context::estimate_size_and_time

2020-08-28 Thread Martin Jambor
-linux. OK for master on top of the previous two patches? Thanks, Martin gcc/ChangeLog: 2020-08-28 Martin Jambor * ipa-fnsummary.h (class ipa_call_context): Changed declaration of estimate_size_and_time to accept two booleans. Added an overload of the method without

[PATCH] sra: Avoid SRAing if there is an aout-of-bounds access (PR 96820)

2020-08-28 Thread Martin Jambor
potentially arising from that are basically hypothetical. Bootstrapped and tested on x86_64-linux. OK for master and then for gcc-10 branch? Thanks, Martin gcc/ChangeLog: 2020-08-28 Martin Jambor PR tree-optimization/96820 * tree-sra.c (create_access): Disqualify

[PATCH 2/n] ipa: Add more intuitive ways of constructing ipa_call_context

2020-08-27 Thread Martin Jambor
. Anyway, assuming it passes bootstrap and testing (on x86_64-linux) and the previous patch is ACKed, is this one on top of it OK too? Thanks, Martin gcc/ChangeLog: 2020-08-28 Martin Jambor * ipa-fnsummary.h (class ipa_call_context): New static member methods for_inlined_edge

[PATCH] ipa: Merge vectors describing argument values into one type

2020-08-27 Thread Martin Jambor
master if it passes? Thanks, Martin gcc/ChangeLog: 2020-08-27 Martin Jambor * ipa-prop.h (ipa_call_arg_values): New type. (ipa_get_indirect_edge_target): Replaced vector arguments with ipa_call_arg_values in declaration. * ipa-fnsummary.h

[PATCH] sra: Bail out when encountering accesses with negative offsets (PR 96730)

2020-08-24 Thread Martin Jambor
-10 branch? Thanks, Martin gcc/ChangeLog: 2020-08-24 Martin Jambor PR tree-optimization/96730 * tree-sra.c (create_access): Disqualify any aggregate with negative offset access. (build_ref_for_model): Add assert that offset is non-negative. gcc/testsuite

Re: [PATCH] ipa-inline: Improve growth accumulation for recursive calls

2020-08-20 Thread Martin Jambor
Hi, On Thu, Aug 20 2020, Richard Sandiford wrote: >> >> >> Really appreciate for your detailed explanation. BTW, My previous patch >> for PGO build on exchange2 takes this similar method by setting each cloned >> node to 1/10th of the frequency several month agao :) >> >> https://gcc.gnu.org/pipe

std:vec for classes with constructor? (Was: Re: [patch] multi-range implementation for value_range (irange))

2020-08-05 Thread Martin Jambor
On Fri, Jul 31 2020, Aldy Hernandez via Gcc-patches wrote: > [...] > > * ipa-cp changes from vec to std::vec. > > We are using std::vec to ensure constructors are run, which they aren't > in our internal vec<> implementation. Although we usually steer away > from using std::vec because of inte

Re: [committed] libstdc++: Constrain reverse_iterator and move_iterator conversions [LWG 3435]

2020-07-31 Thread Martin Jambor
Hi Jonathan, On Wed, Jul 22 2020, Jonathan Wakely via Gcc-patches wrote: > libstdc++-v3/ChangeLog: > > * include/bits/stl_iterator.h (reverse_iterator): Constrain > converting constructor and converting assignment operator. > Access source iterator's data member directly instead

Re: [PATCH] ipa/96291: don't crash on unoptimized lto functions

2020-07-27 Thread Martin Jambor
Hi, On Mon, Jul 27 2020, Richard Biener via Gcc-patches wrote: > On Sat, Jul 25, 2020 at 8:35 PM Sergei Trofimovich via Gcc-patches > wrote: >> >> From: Sergei Trofimovich >> >> In PR ipa/96291 the test contained an SCC with one >> unoptimized function. This tricked ipa-cp into NULL dereference.

Re: [PATCH] ipa/96291: don't crash on unoptimized lto functions

2020-07-27 Thread Martin Jambor
Hi, On Sat, Jul 25 2020, Sergei Trofimovich wrote: > From: Sergei Trofimovich > > In PR ipa/96291 the test contained an SCC with one > unoptimized function. This tricked ipa-cp into NULL dereference. > > has_undead_caller_from_outside_scc_p() did not take into account > that unoptimized funtions

Re: [PATCH] ipa-fnsummary: Fix ICE with switch predicates [PR96130]

2020-07-13 Thread Martin Jambor
On Fri, Jul 10 2020, Jakub Jelinek wrote: > Hi! > > The following testcase ICEs since r10-3199. > There is a switch with default label, where the controlling expression has > range just 0..7 and there are case labels for all those 8 values, but > nothing has yet optimized away the default. > Since

[PATCH] ipa-sra: Avoid transitive splits with type mismatches (PR 96040)

2020-07-03 Thread Martin Jambor
top of it finishes. Thanks, Martin gcc/ChangeLog: 2020-07-03 Martin Jambor PR ipa/96040 * ipa-sra.c (all_callee_accesses_present_p): Do not accept type mismatched accesses. gcc/testsuite/ChangeLog: 2020-07-03 Martin Jambor PR ipa/96040 * gcc.dg

[PATCH] ipa-sra: Prevent constructing debug info from wrong argument

2020-07-01 Thread Martin Jambor
strap on top of the gcc-10 branch is underway? OK for both if it passes? Thanks, Martin gcc/ChangeLog: 2020-07-01 Martin Jambor PR guality/95343 * ipa-param-manipulation.c (ipa_param_adjustments::modify_call): Adjust argument index if necessary. gcc/testsuite/ChangeL

Re: drop -aux{dir,base}, revamp -dump{dir,base}

2020-06-23 Thread Martin Jambor
Hi, On Tue, Jun 23 2020, Alexandre Oliva wrote: > Hello, Thomas, > > On Jun 9, 2020, Thomas Schwinge wrote: > >> We're trying to scan 'variables.hsail.brig.*', but for input file name >> 'variables.hsail.brig', we're now creating: > > I understand this was fixed by Martin Jambor's last week's pa

Re: [PATCH] ipa: special pass-through op for Fortran strides

2020-06-16 Thread Martin Jambor
Hi, On Mon, Jun 15 2020, Jan Hubicka wrote: >> On Fri, Jun 12, 2020 at 11:28 PM Martin Jambor wrote: >> > >> > Hi, >> > >> > when Fortran functions pass array descriptors they receive as a >> > parameter to another function, they actually rebuil

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