Re: Remove vtable_method field in cgraph_node

2011-04-20 Thread Martin Jambor
Hi, On Sun, Apr 17, 2011 at 06:34:59PM +0200, Jan Hubicka wrote: > Hi, > > this patch drops vtable_method filed. I never understood what it is > about but reading PR20991 I am convinced that we hit the same > problem with work on new devirutalization code. I implemented what > Mark describe as "i

Re: [PATCH] Fix incorrect devirtualization (PR middle-end/48661)

2011-04-20 Thread Martin Jambor
Hi, On Tue, Apr 19, 2011 at 09:07:35AM +0200, Jakub Jelinek wrote: > On Mon, Apr 18, 2011 at 03:33:18PM -0700, Jason Merrill wrote: > > On 04/18/2011 02:40 PM, Jakub Jelinek wrote: > > >If TREE_BINFO has BV_VCALL_INDEX set, this needs to be dynamically > > >adjusted, but none of the callers are pr

Re: [PATCH] Fix incorrect devirtualization (PR middle-end/48661)

2011-04-20 Thread Martin Jambor
Hi, On Tue, Apr 19, 2011 at 02:15:18AM +0200, Jan Hubicka wrote: > Actually what happens here is that CCP devirtualize by propagating the > constructors and due to Richard's new code to drop OBJ_TYPE_REF we finally get > a direct call. This is all good and desirable. > > I think good solution wo

Re: [PATCH] Fix incorrect devirtualization (PR middle-end/48661)

2011-04-20 Thread Martin Jambor
Hi, On Wed, Apr 20, 2011 at 04:38:25PM +0200, Jan Hubicka wrote: > > Hi, > > > > On Tue, Apr 19, 2011 at 02:15:18AM +0200, Jan Hubicka wrote: > > > Actually what happens here is that CCP devirtualize by propagating the > > > constructors and due to Richard's new code to drop OBJ_TYPE_REF we > >

[PATCH, PR 48585] Do not create edges when materializing zombie clones

2011-04-22 Thread Martin Jambor
ng to commit it now even though it's Friday :-) Thanks, Martin 2011-04-22 Martin Jambor PR middle-end/48585 * tree-inline.c (copy_bb): Create new edges only for analyzed nodes. Index: s

[PATCH, C++] Remove unused cp_fold_obj_type_ref

2011-04-22 Thread Martin Jambor
it passes. Thanks, Martin 2011-04-22 Martin Jambor * class.c (cp_fold_obj_type_ref): Remove. * cp-tree.h (cp_fold_obj_type_ref): Remove declaration. Index: src/gcc/cp/class.c === --- src.orig/gcc/cp/class.c +++

[PATCH] Make cgraph_preserve_function_body_p accept a node instead of decl

2011-04-28 Thread Martin Jambor
nux without problems. OK for trunk? Thanks, Martin 2011-04-22 Martin Jambor * cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph node instead of a decl. Update all callers. * cgraph.h: Update declaration. Index: src/gcc/cgraphuni

Re: [PATCH] Make cgraph_preserve_function_body_p accept a node instead of decl

2011-04-28 Thread Martin Jambor
Hi, On Thu, Apr 28, 2011 at 03:39:11PM +0200, Richard Guenther wrote: > On Thu, Apr 28, 2011 at 3:31 PM, Martin Jambor wrote: > > Hi, > > > > when I was removing the cgraph_node function I noticed that > > cgraph_preserve_function_body_p takes a tree decl paramet

[PATCH] Cleanup of cgraph topological ordering functions

2011-04-29 Thread Martin Jambor
and assigns th aux pointers to them. Finally, propagate() function in ipa-reference.c seemed to make an extra topological sorting for no good reason so I removed that. Bootstrapped and tested on x86_64-linux. OK for trunk? Thanks, Martin 2011-04-29 Martin Jambor * cgraph.h

[PATCH] Tweaks to the interface between ipa-inline-analysis and ipa-cp/ipa-prop

2011-05-12 Thread Martin Jambor
y the function body accordingly. The infrastructure required is not trivial but it is probably something to think about. I have bootstrapped and tested this patch on x86_64-linux without any issues. OK for trunk? Thanks, Martin 2011-05-10 Martin Jambor * ipa-p

[PATCH] Marking SCCs in ipa_reduced_postorder

2011-05-12 Thread Martin Jambor
on x86_64-linux. Is it OK for trunk? Thanks, Martin 2011-05-02 Martin Jambor * ipa-utils.c (searchc): Update low_link to lowest DFN of a SCC. Index: src/gcc/ipa-utils.c === --- src.orig/gcc/ipa-utils.c +++ src/gcc/ipa-u

[c++, PR 47714] Reset the addressable flag of thunk PARM_DECLs

2011-03-09 Thread Martin Jambor
can potentially postpone the release so my plan is to take the liberty and commit it if no-one stops me in the next few hours. Needless to say, the patch has been successfully bootstrapped and tested on x86_64-linux. Thanks, Martin 2011-03-08 Martin Jambor PR tree-optimization

[PATCH, 4.6] Do not create new cgraph noes in the verifier

2011-03-11 Thread Martin Jambor
obvious and the verifier is disabled with release checking and so I'd prefer to commit it now. Is it OK? Bootstrapped and tested on x86_63-linux without any problems. Thanks, Martin 2011-03-10 Martin Jambor * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node inste

[PATCH, 4.7] Have all inlining destinations "analyzed"

2011-03-11 Thread Martin Jambor
Hi, after I simply moved id->dst_node->analyzed check from expand_call_inline to optimize_inline_calls I tried asserting it there instead. When running testsuite I found out this works for everything but mudflap which adds new nodes late with cgraph_add_new_function which runs the inliner on node

[testsuite] Remove explicit -O2 from gcc.c-torture/compile/pr44686.c

2011-03-17 Thread Martin Jambor
Hi, I'm about to check in the following as obvious. The explicit -O2 defeats the different O levels the torture mechanism tries. Tested on x86_64-linux by running make -k check RUNTESTFLAGS="compile.exp=pr44686.c" and verifying all tests passed. Thanks, Martin Index: gcc/testsuite/gcc.c-t

Re: [PATCH, 4.7] Have all inlining destinations "analyzed"

2011-03-18 Thread Martin Jambor
patch slightly to do that. Is the explanation above enough to persuade you that the adjusted patch below is correct? (Or is there something else I still miss?) I'm about to re-bootstrap it, just to make sure it still passes. Thanks, Martin 2011-03-18 Martin Jambor * t

[PATCH 0/4] Remove (lots of) lazy call graph node construction

2011-03-19 Thread Martin Jambor
Hi, I believe the general consensus is that lazy call graph node creation is no longer a good idea and a few of us have seen bugs caused by a creation of a node when we did not expect it. Therefore I embarked on getting rid of it. In the process I quickly realized it would be difficult to do tha

[PATCH 3/4] A tweak to fortran -> call graph interface

2011-03-19 Thread Martin Jambor
Hi, it seems to me that fortran can call cgraph_create_node directly without checking for its existence first. Thanks, Martin 2011-03-18 Martin Jambor * trans-decl.c (gfc_generate_function_code): Call cgraph_create_node instead of cgraph_get_create_node. Index: src/gcc

[PATCH 2/4] Tweaks to C++ -> call graph interface

2011-03-19 Thread Martin Jambor
(parts of) this after the big patch is committed, it would be a nice cleanup too. Thanks, Martin 2011-03-18 Martin Jambor cp/ * class.c (cp_fold_obj_type_ref): Call cgraph_get_node instead of cgraph_get_create_node. * decl2.c (cxx_callgraph_analyze_expr): Call

[PATCH 4/4] Tweaks to objc -> call graph interface

2011-03-19 Thread Martin Jambor
Hi, thi is really only based on successful testing and not much analyzis of the context but it seems that we don't need lazy node construction here. It would be nice not to have it after the big patch gets in. Thanks, Martin 2011-03-18 Martin Jambor * objc-

[PATCH 1/4] Remove cgraph_node function and fixup all callers

2011-03-19 Thread Martin Jambor
171141.) Thanks, Martin 2011-03-18 Martin Jambor * cgraph.h (cgraph_node): Remove function declaration. (cgraph_create_node): Declare. (cgraph_get_create_node): Likewise. (cgraph_do_get_node): New function. * cgraph.c (cgraph_create_node): Renamed to

Re: [PATCH, 4.7] Have all inlining destinations "analyzed"

2011-03-24 Thread Martin Jambor
Ping. Thanks, Martin -- On Sat, Mar 19, 2011 at 01:48:36AM +0100, Martin Jambor wrote: Hi, On Fri, Mar 11, 2011 at 03:30:53PM +0100, Jan Hubicka wrote: > > Index: src/gcc/cg

Re: [PATCH 1/4] Remove cgraph_node function and fixup all callers

2011-03-25 Thread Martin Jambor
Hi, On Wed, Mar 23, 2011 at 10:08:53AM +0100, Jan Hubicka wrote: > > 2011-03-18 Martin Jambor > > > > * cgraph.h (cgraph_node): Remove function declaration. > > (cgraph_create_node): Declare. > > (cgraph_get_create_node): Likewise. > >

[PATCH] Simple cgraph_node() -> cgraph_get_node() conversions

2011-03-25 Thread Martin Jambor
with the more complex parts). Is this OK for trunk now? Thanks, Martin 2011-03-25 Martin Jambor * except.c (set_nothrow_function_flags): Call cgraph_get_node instead of cgraph_node. * final.c (rest_of_clean_state): Likewise. * gimple-iterator.c

Re: [PATCH 1/4] Remove cgraph_node function and fixup all callers

2011-03-28 Thread Martin Jambor
Hi, On Fri, Mar 25, 2011 at 05:55:24PM +0100, Jan Hubicka wrote: > > > > Index: src/gcc/passes.c > > > > === > > > > --- src.orig/gcc/passes.c 2011-03-19 01:16:23.0 +0100 > > > > +++ src/gcc/passes.c2011-03-19 01:54:

[PATCH, PR 48195] Move around ipa_check_create_node_params and ipa_check_create_edge_args

2011-03-29 Thread Martin Jambor
Hi, PR 48195 happens because analyze_node in ipa-inline can be called from add_new_function hook and thus bypass calls for ipa_check_create_node_params and ipa_check_create_edge_args in inline_generate_summary. The two functions are required to reallocate info arrays if necessary before calling i

[PATCH 0/7] Change of call graph interface - cgraph_node function removal

2011-04-06 Thread Martin Jambor
Hi, I'm sending this email describing the set of patches also to the gcc mailing list because quite a few people do not follow the gcc-patches mailing list (where I am sending the individual patches). The patch set changes the interface of call graph and tries to avoid lazy call graph node creati

[PATCH 3/7] cgraph_node -> cgraph_get_node with asserts

2011-04-06 Thread Martin Jambor
cause. Therefore I have added checking asserts to guard this does not happen. Bootstrapped and tested separately on x86_64-linux without any problems, tests on other platforms (together with the other patches) in progress. OK for trunk? Thanks, Martin 2011-04-06 Martin Jambor * tree

[PATCH 2/7] cgraph_node -> cgraph_get_node conversions accepting NULL results

2011-04-06 Thread Martin Jambor
problems, tests on other platforms (together with the other patches) in progress. OK for trunk? Thanks, Martin 2011-04-06 Martin Jambor gcc/ * cgraph.c (cgraph_local_info): Call cgraph_get_node instead of cgraph_node, handle NULL return value. (cgraph_global_info

[PATCH 5/7] Tweaks to C++ -> call graph interface

2011-04-06 Thread Martin Jambor
(parts of) this after the big patch is committed, it would be a nice cleanup too. Bootstrapped and tested on x86_64-linux without any problems, tests on other platforms in progress. Thanks, Martin 2011-04-06 Martin Jambor cp/ * class.c (cp_fold_obj_type_ref): Call cgraph_get_node

[PATCH 7/7] Tweaks to objc -> call graph interface

2011-04-06 Thread Martin Jambor
86 in progress. Thanks, Martin 2011-04-06 Martin Jambor * objc-act.c (mark_referenced_methods): Call cgraph_get_node instead of cgraph_get_create_node and assert it does not returns NULL. Index: src/gcc/objc/objc-

[PATCH 6/7] A tweak to fortran -> call graph interface

2011-04-06 Thread Martin Jambor
Hi, it seems to me that fortran can call cgraph_create_node directly without checking for its existence first. Bootstrapped and tested on x86_64-linux without any problems, tests on i686 in progress. Thanks, Martin 2011-03-18 Martin Jambor * trans-decl.c

[PATCH 1/7] Simple cgraph_node -> cgraph_get_node conversions

2011-04-06 Thread Martin Jambor
is immediately dereferenced and so would segfault anyway. Bootstrapped and tested separately on x86_64-linux without any problems, tests on other platforms (together with the other patches) in progress. OK for trunk? Thanks, Martin 2011-04-06 Martin Jambor * except.c

[PATCH 4/7] Removal of cgraph_node function

2011-04-06 Thread Martin Jambor
. Bootstrapped and tested separately on x86_64-linux without any problems, tests on other platforms (together with the other patches) in progress. OK for trunk? Thanks, Martin 2011-04-06 Martin Jambor * cgraph.h (cgraph_node): Remove function declaration. (cgraph_create_node): Declare

Re: [PATCH 2/7] cgraph_node -> cgraph_get_node conversions accepting NULL results

2011-04-11 Thread Martin Jambor
Hi, On Mon, Apr 11, 2011 at 12:18:24PM +0200, Jan Hubicka wrote: > > 2011-04-06 Martin Jambor > > > > gcc/ > > * cgraph.c (cgraph_local_info): Call cgraph_get_node instead > > of cgraph_node, handle NULL return value. > > (cgraph_global_info)

Re: [PATCH 4/7] Removal of cgraph_node function

2011-04-11 Thread Martin Jambor
Hi, On Mon, Apr 11, 2011 at 12:28:36PM +0200, Jan Hubicka wrote: > > 2011-04-06 Martin Jambor > > > > * cgraph.h (cgraph_node): Remove function declaration. > > (cgraph_create_node): Declare. > > (cgraph_get_create_node): Likewise. > > &g

Re: [PATCH] testsuite: Add necessary dejagnu directives to pr115815_0.c

2024-10-18 Thread Martin Jambor
Hi, On Mon, Oct 14 2024, Martin Jambor wrote: > Hi, > > I have received an email from the Linaro infrastructure that the test > gcc.dg/lto/pr115815_0.c which I added is failing on arm-eabi and I > realized that not only it is missing dg-require-effective-target > global_constr

[PATCH] tree-sra: Avoid SRAing arguments to a function returning_twice (PR 117142)

2024-10-22 Thread Martin Jambor
. OK for master and all active release branches (though for gcc 13 and 12 the condition will probable be elsewhere, IIRC)? Thanks, Martin gcc/ChangeLog: 2024-10-21 Martin Jambor PR tree-optimization/117142 * tree-sra.cc (build_access_from_call_arg): Disqualify any

[PATCH] testsuite: Add necessary dejagnu directives to pr115815_0.c

2024-10-14 Thread Martin Jambor
: make -k check-gcc RUNTESTFLAGS="lto.exp=*pr115815*" OK for master (and than to be part of the backports which I still need to do)? Thanks, Martin gcc/testsuite/ChangeLog: 2024-10-14 Martin Jambor * gcc.dg/lto/pr115815_0.c: Add dejagu directives. --- gcc/testsuite/

[PATCH 4/8] ipa: Better value ranges for zero pointer constants

2024-11-05 Thread Martin Jambor
ed on x86_64-linux, the whole patch series has additionally passed LTO and profiled-LTO bootstrap on the same platform and a bootstrap and testsuite on ppc64-linux. Aarch64-linux bootstrap and testing is in progress. OK for master is that passes too? Thanks, Martin gcc/ChangeLog: 2024-11-01 M

[PATCH 8/8] ipa: Improve how we derive value ranges from IPA invariants

2024-11-05 Thread Martin Jambor
bootstrap on the same platform and a bootstrap and testsuite on ppc64-linux. Aarch64-linux bootstrap and testing is in progress. OK for master is that passes too? Thanks, Martin gcc/ChangeLog: 2024-11-04 Martin Jambor * ipa-prop.h (ipa_get_range_from_ip_invariant): Declare

[PATCH 5/8] ipa: Update value range jump functions during inlining

2024-11-05 Thread Martin Jambor
passes too? Thanks, Martin gcc/ChangeLog: 2024-11-01 Martin Jambor * ipa-cp.h: Forward declare class ipa_vr. (ipa_vr_operation_and_type_effects) Declare. * ipa-cp.cc (ipa_vr_operation_and_type_effects): Make public. * ipa-prop.cc

[PATCH 3/8] ipa: Skip type conversions in jump function constructions

2024-11-05 Thread Martin Jambor
, the whole patch series has additionally passed LTO and profiled-LTO bootstrap on the same platform and a bootstrap and testsuite on ppc64-linux. Aarch64-linux bootstrap and testing is in progress. OK for master is that passes too? Thanks, Martin gcc/ChangeLog: 2024-11-01 Martin Jambor

[PATCH 6/8] ipa: Introduce a one jump function dumping function

2024-11-05 Thread Martin Jambor
? Thanks, Martin gcc/ChangeLog: 2024-11-01 Martin Jambor * ipa-prop.h (ipa_dump_jump_function): Declare. * ipa-prop.cc (ipa_dump_jump_function): New function. (ipa_print_node_jump_functions_for_edge): Move printing of individual jump functions to the new function

[PATCH 7/8] ipa: Verify that const jump functions have corresponding value range

2024-11-05 Thread Martin Jambor
passed LTO and profiled-LTO bootstrap on the same platform and a bootstrap and testsuite on ppc64-linux. Aarch64-linux bootstrap and testing is in progress. OK for master is that passes too? Thanks, Martin gcc/ChangeLog: 2024-11-04 Martin Jambor * ipa-cp.cc (ipa_check_const_jf_vr): New

Re: [PATCH 7/8] ipa: Verify that const jump functions have corresponding value range

2024-11-05 Thread Martin Jambor
On Tue, Nov 05 2024, Jan Hubicka wrote: >> 2024-11-04 Martin Jambor >> >> * ipa-cp.cc (ipa_check_const_jf_vr): New function. >> (ipa_value_range_from_jfunc): Call it when checking and when >> dealing with a constant jump function. >>

[PATCH 1/8] ipa: Fix jump function copying

2024-11-05 Thread Martin Jambor
. Thanks, Martin gcc/ChangeLog: 2024-11-01 Martin Jambor * ipa-prop.cc (ipa_duplicate_jump_function): New function. (ipa_edge_args_sum_t::duplicate): Move individual jump function copying to ipa_duplicate_jump_function. --- gcc/ipa-prop.cc | 187

[PATCH 2/8] ipa: Rationalize IPA-VR computations across pass-through jump functions

2024-11-05 Thread Martin Jambor
, the whole patch series has additionally passed LTO and profiled-LTO bootstrap on the same platform and a bootstrap and testsuite on ppc64-linux. Aarch64-linux bootstrap and testing is in progress. OK for master is that passes too? Thanks, Martin gcc/ChangeLog: 2024-11-01 Martin Jambor

Re: [PATCH 5/8] ipa: Update value range jump functions during inlining

2024-11-27 Thread Martin Jambor
Hello, I believe all questions regarding the patch below have been answered and so I would like to ping it. Thanks, Martin On Tue, Nov 05 2024, Martin Jambor wrote: > Hi, > > when inlining (during the analysis phase) a call graph edge, we update > all pass-through jump functions c

Re: [PATCH 3/8] ipa: Skip type conversions in jump function constructions

2024-11-27 Thread Martin Jambor
Hi, On Fri, Nov 15 2024, Richard Biener wrote: > On Fri, Nov 15, 2024 at 1:45 PM Jan Hubicka wrote: >> >> > >> > The patch only ever skips just one conversion, never a chain of them and >> > deliberately so, for the reasons shown in the example. >> > >> > However, I have just realized that combin

Re: [PATCH 4/8] ipa: Better value ranges for zero pointer constants

2024-11-28 Thread Martin Jambor
Hi, On Fri, Nov 15 2024, Martin Jambor wrote: > Hi, > > On Thu, Nov 07 2024, Aldy Hernandez wrote: >> Jan Hubicka writes: >> >>>> > 2024-11-01 Martin Jambor >>>> > >>>> > * ipa-prop.cc (ipa_compute_jump_function

Re: [PATCH 5/8] ipa: Update value range jump functions during inlining

2024-11-15 Thread Martin Jambor
ally passed LTO and profiled-LTO bootstrap on the same platform >> and a bootstrap and testsuite on ppc64-linux. Aarch64-linux bootstrap >> and testing is in progress. OK for master is that passes too? >> >> Thanks, >> >> Martin >> >> >&

Re: [PATCH 4/8] ipa: Better value ranges for zero pointer constants

2024-11-15 Thread Martin Jambor
Hi, On Thu, Nov 07 2024, Aldy Hernandez wrote: > Jan Hubicka writes: > >>> > 2024-11-01 Martin Jambor >>> > >>> > * ipa-prop.cc (ipa_compute_jump_functions_for_edge): When creating >>> > value-range jump functions from po

Re: [PATCH 3/8] ipa: Skip type conversions in jump function constructions

2024-11-14 Thread Martin Jambor
Hi, On Tue, Nov 05 2024, Jan Hubicka wrote: >> gcc/ChangeLog: >> >> 2024-11-01 Martin Jambor >> >> * ipa-prop.cc (skip_a_conversion_op): New function. >> (ipa_compute_jump_functions_for_edge): Use it. >> >> gcc/tests

Re: [PATCH 7/8] ipa: Verify that const jump functions have corresponding value range

2024-11-18 Thread Martin Jambor
Hi, On Thu, Nov 07 2024, Aldy Hernandez wrote: > Aldy Hernandez writes: > >> Martin Jambor writes: >> >>> Hi, >>> >>> Because the simplified way of extracting value ranges from functions >>> does not look at scalar constants (as one of the v

Re: [COMMITED] [lto] ipcp don't propagate where not needed

2024-11-27 Thread Martin Jambor
On Wed, Nov 06 2024, Michal Jires wrote: > On Wed, 2024-11-06 at 17:33:50 +, Jonathan Wakely wrote: >> >> If there's going to be a constructor then it should initialize the members. >> >> Otherwise, your original patch was better, because you could write >> this to get an all-zeros object: >>

[PATCH] ipa-cp: Fix constant dumping

2024-11-14 Thread Martin Jambor
d overloaded variant though it uses the printing function added in the aforementioned commit instead of printing it itself. gcc/ChangeLog: 2024-11-13 Martin Jambor * ipa-prop.h (ipa_print_constant_value): Declare. * ipa-prop.cc (ipa_print_constant_value): Make public.

Re: [PATCH 5/8] ipa: Update value range jump functions during inlining

2024-11-15 Thread Martin Jambor
Hi, On Fri, Nov 15 2024, Jan Hubicka wrote: >> >> On 11/15/24 10:19, Jan Hubicka wrote: >> > > I have seen this happen when the result of the intersection is an empty >> > > set (one of the few comments in value-range.h actually describes an >> > > undefined range as an "empty range"). I have on

Re: [PATCH] tree-sra: Avoid SRAing arguments to a function returning_twice (PR 117142)

2024-11-14 Thread Martin Jambor
-linux when applied on top of the gcc-13 release branch and I plan to commit it there tomorrow. After some two more weeks I plan to do the same on top of gcc-12. Martin gcc/ChangeLog: 2024-11-14 Martin Jambor PR tree-optimization/117142 * tree-sra.cc (scan_function): Disqualify

Re: [PATCH 1/8] ipa: Fix jump function copying

2024-11-14 Thread Martin Jambor
Hello Josef, On Tue, Nov 05 2024, Josef Melcr wrote: > Hi! > > On 11/5/24 12:06, Martin Jambor wrote: >> +/* Copy information from SRC_JF to DST_JF which correstpond to call graph >> edges >> + SRC and DST. */ >> + >> +static void >> +ipa_duplicate

Re: [PATCH 3/8] ipa: Skip type conversions in jump function constructions

2024-12-03 Thread Martin Jambor
Hi, sorry for re-posting this but my mail client broke threading when saving the email as Draft somehow and I really hope to still get this testcase working for GCC 15: On Fri, Nov 15 2024, Richard Biener wrote: > On Fri, Nov 15, 2024 at 1:45 PM Jan Hubicka wrote: >> > >> > The patch only ever s

Re: [PATCH v2 1/7] Add tunables for input buffer

2025-02-04 Thread Martin Jambor
Hello Andi, On Sat, Jan 25 2025, Andi Kleen wrote: > From: Andi Kleen > > The input machinery to read the source code independent of the lexer > has a range of hard coded maximum array sizes that can impact performance. > Make them tunable. > > input.cc is part of libcommon so it cannot direct ac

Re: [PATCH] ipa-cp: Perform operations in the appropriate types (PR 118097)

2025-02-07 Thread Martin Jambor
Hello, and a gentle ping, please. Martin On Fri, Jan 24 2025, Martin Jambor wrote: > Hi, > > the following version of the patch has one of the testcase adjusted to > use long long and so pass also on 32bit i386 (and hopefully 32bit Arm > too), otherwise it has not changed from w

[PATCH] ipa-sra: Avoid clashes with ipa-cp when pulling accesses across calls (PR 118243)

2025-02-10 Thread Martin Jambor
master and (assuming it applies cleanly and passes the checks there too) to all active release branches? Thanks, Martin gcc/ChangeLog: 2025-02-10 Martin Jambor PR ipa/118243 * ipa-sra.cc (pull_accesses_from_callee): New parameters caller_ipcp_ts and param_idx. Check

[PATCH] lto: Add an entry for cold attribute to lto_gnu_attributes

2025-02-10 Thread Martin Jambor
g assert to the redirect_to_unreachable function to make sure it has the intended effect. LTO-bootstrapped and tested on x86_64-linux. OK for master? Thanks, Martin gcc/ChangeLog: 2025-02-03 Martin Jambor PR lto/118125 * ipa-fnsummary.cc (redirect_to_unreachable): Add checking asse

Re: rs6000: Add -msplit-patch-nops (PR112980)

2025-02-12 Thread Martin Jambor
Hello, On Fri, Jan 10 2025, Martin Jambor wrote: > Hello, > > On Wed, Dec 11 2024, Martin Jambor wrote: >> Hello, >> >> even though it is not my work, I would like to ping this patch. Having >> it upstream would really help us a lot. >> > > Please, p

Re: rs6000: Add -msplit-patch-nops (PR112980)

2024-12-11 Thread Martin Jambor
Hello, even though it is not my work, I would like to ping this patch. Having it upstream would really help us a lot. Thank you very much in advance, Martin On Wed, Nov 13 2024, Michael Matz wrote: > Hello, > > this is essentially > > https://gcc.gnu.org/pipermail/gcc-patches/2024-May/6510

Re: [PATCH 3/8] ipa: Skip type conversions in jump function constructions

2024-12-17 Thread Martin Jambor
Hi, On Tue, Dec 03 2024, Richard Biener wrote: > On Tue, Dec 3, 2024 at 12:09 PM Martin Jambor wrote: >> On Fri, Nov 15 2024, Richard Biener wrote: >> > On Fri, Nov 15, 2024 at 1:45 PM Jan Hubicka wrote: >> >> > >> >> > The patch only ever skip

Re: [PATCH 8/8] ipa: Improve how we derive value ranges from IPA invariants

2024-12-17 Thread Martin Jambor
n progress. OK for master is that passes too? >> >> Thanks, >> >> Martin >> >> >> gcc/ChangeLog: >> >> 2024-11-04 Martin Jambor >> >> * ipa-prop.h (ipa_get_range_from_ip_invariant): Declare. >> (ipa_ran

Re: [PATCH 4/8] ipa: Better value ranges for zero pointer constants

2024-12-17 Thread Martin Jambor
On Fri, Nov 15 2024, Martin Jambor wrote: > Hi, > > On Thu, Nov 07 2024, Aldy Hernandez wrote: >> Jan Hubicka writes: >> >>>> > 2024-11-01 Martin Jambor >>>> > >>>> > * ipa-prop.cc (ipa_compute_jump_functions_for_edge

Re: rs6000: Add -msplit-patch-nops (PR112980)

2025-01-10 Thread Martin Jambor
Hello, On Wed, Dec 11 2024, Martin Jambor wrote: > Hello, > > even though it is not my work, I would like to ping this patch. Having > it upstream would really help us a lot. > Please, pretty please, consider reviewing this in time for GCC 15, having it upstream would really he

[PATCH] ipa-cp: Perform operations in the appropriate types (PR 118097)

2025-01-22 Thread Martin Jambor
GCC 16, we could relax this and allow conversions like for scalars. Bootstrapped, LTO-bootstrapped and tested on x86_64-linux. OK for master? Thanks, Honza gcc/ChangeLog: 2025-01-20 Martin Jambor PR ipa/118097 * ipa-cp.cc (ipa_get_jf_arith_result): Adjust comment

Re: [PATCH] ipa-cp: Perform operations in the appropriate types (PR 118097)

2025-01-24 Thread Martin Jambor
and allow conversions like for scalars. gcc/ChangeLog: 2025-01-20 Martin Jambor PR ipa/118097 * ipa-cp.cc (ipa_get_jf_arith_result): Adjust comment. (ipa_get_jf_pass_through_result): Removed. (ipa_value_from_jfunc): Use directly ipa_get_jf_arith_result,

[PATCH] tree-ssa-dce: Avoid creating invalid BBs with no outgoing edge (PR117892)

2025-01-27 Thread Martin Jambor
alone even when they otherwise appear to be dead. Interestingly, our CFG verifier does not report this. I'll put on my todo list to add a test for it in the next stage 1. Bootstrapped and tested on x86_64-linux, OK for master? Thanks, Martin gcc/ChangeLog: 2025-01-27 Martin Jambor

Re: [PATCH] tree-ssa-dce: Avoid creating invalid BBs with no outgoing edge (PR117892)

2025-01-28 Thread Martin Jambor
Hi, On Tue, Jan 28 2025, Richard Biener wrote: > On Mon, 27 Jan 2025, Martin Jambor wrote: > >> Hi, >> >> Zhendong Su and Michal Jireš found out that our gimple DSE pass can, >> under fairly specific conditions, remove a noreturn call which then >> leaves be

[PATCH] MAINTAINERS: Make contrib/check-MAINTAINERS.py happy

2025-01-13 Thread Martin Jambor
This commit makes the contrib/check-MAINTAINERS.py script happy about our MAINTAINERS file. I hope that it knows best how things ought to be and so am committing this as obvious. ChangeLog: 2025-01-13 Martin Jambor * MAINTAINERS: Fix the name order of the Write After Approval

Subject: [PATCH] ipa-cp: Make dumping of bit masks representing -1 nicer

2025-01-04 Thread Martin Jambor
er now? Thanks, Martin gcc/ChangeLog: 2025-01-03 Martin Jambor * ipa-cp.cc (ipcp_print_widest_int): New function. (ipcp_store_vr_results): Use it. (ipcp_bits_lattice::print): Likewise. Fix formatting. --- gcc/ipa-cp.cc | 20 +--- 1 file changed, 17 i

[PATCH] ipa-cp: Fold-convert values when necessary (PR 118138)

2025-01-04 Thread Martin Jambor
? Thanks, Martin gcc/ChangeLog: 2025-01-03 Martin Jambor PR ipa/118138 * ipa-cp.cc (ipacp_value_safe_for_type): Return the appropriate type instead of a bool, accept NULL_TREE VALUEs. (propagate_vals_across_arith_jfunc): Use the new returned value of

[PATCH] ipa: Do not modify cgraph edges from thunk clones during inlining (PR116572)

2025-03-14 Thread Martin Jambor
on x86_64. It has been approved by Honza in person so I will commit it a few moments. I also plan to backport it to gcc-14 in a few weeks. Thanks, Martin gcc/ChangeLog: 2025-03-13 Martin Jambor PR ipa/116572 * cgraph.cc (cgraph_update_edges_for_call_stmt): Do not update

[PATCH] sra: Avoid creating TBAA hazards (PR118924)

2025-04-05 Thread Martin Jambor
ll active release branches? Thanks, Martin gcc/ChangeLog: 2025-03-24 Martin Jambor PR tree-optimization/118924 * tree-ssa-alias-compare.h (types_equal_for_same_type_for_tbaa_p): Declare. * tree-ssa-alias.cc (types_equal_for_same_type_for_tbaa_p): Make pub

Re: [PATCH 2/7] ipa-cp: Make propagation of bits in IPA-CP aware of type conversions (PR119318)

2025-04-08 Thread Martin Jambor
s precision there. This implements just that, using the >> newly collected and streamed types of the operations involved. >> >> Bootstrapped and tested and LTO bootstrapped on x86_64-linux. OK for >> master? >> >> Thanks, >> >> Martin >> >

[PATCH 4/7] ipa-cp: Use the stored and streamed pass-through types in ipa-vr (PR118785)

2025-03-31 Thread Martin Jambor
This patch revisits the fix for PR 118785 and intead of deducing the necessary operation type it just uses the value collected and streamed by an earlier patch. gcc/ChangeLog: Bootstrapped and tested and LTO bootstrapped on x86_64-linux. OK for master? Thanks, Martin 2025-03-20 Martin

[RFC PATCH 6/7] ipa: Remove type checks in arithmetic pass-through jfunc construction

2025-03-31 Thread Martin Jambor
-21 Martin Jambor * ipa-prop.cc (compute_complex_assign_jump_func): Remove test for comparison operation or type compatibility of LHS and RHS1. (analyze_agg_content_value): Likewise. --- gcc/ipa-prop.cc | 11 +-- 1 file changed, 1 insertion(+), 10 deletions

[RFC PATCH 7/7] ipa: Allow a type conversion in construction of aggregate jump functions

2025-03-31 Thread Martin Jambor
case. Bootstrapped and tested and LTO bootstrapped on x86_64-linux but my plan is to propose this only in the next stage 1. Thanks, Martin gcc/ChangeLog: 2025-03-24 Martin Jambor * ipa-prop.cc (is_a_safe_conversion_stmt_p): New function. (skip_a_safe_conversion_op): Moved up

[PATCH 5/7] ipa-cp: Use the collected pass-through types to propagate constants (PR118097)

2025-03-31 Thread Martin Jambor
: 2025-03-20 Martin Jambor PR ipa/118097 * ipa-cp.cc (ipa_get_jf_arith_result): Require res_operand for anything except NOP_EXPR or ADDR_EXPR, document it and remove the code trying to deduce it. (ipa_value_from_jfunc): Use the stored and streamed type of

[PATCH 3/7] ipa-cp: Make dumping of widest_ints even more sane

2025-03-31 Thread Martin Jambor
e the function not only to print bits but also to print masks where values like these can also occur. Bootstrapped and tested and LTO bootstrapped on x86_64-linux. OK for master? Thanks, Martin gcc/ChangeLog: 2025-03-21 Martin Jambor * ipa-cp.cc (ipcp_print_widest_int): Also

[PATCH 0/7] Fix PRs 118097, 118785 and 119318 by storing and streaming operation type

2025-03-31 Thread Martin Jambor
type rather than relying on expr_type_first_operand_type_p. The last two patches in the series are only meant as an RFC and I'd like to commit them only in the next stage 1 as they then take the approach one step further and allow for more propagation. Martin Martin Jambor (7): ipa: Recor

[PATCH 2/7] ipa-cp: Make propagation of bits in IPA-CP aware of type conversions (PR119318)

2025-03-31 Thread Martin Jambor
streamed types of the operations involved. Bootstrapped and tested and LTO bootstrapped on x86_64-linux. OK for master? Thanks, Martin gcc/ChangeLog: 2025-03-20 Martin Jambor PR ipa/119318 * ipa-cp.cc (ipcp_bits_lattice::meet_with_1): Set all mask bits not covered by

[PATCH 1/7] ipa: Record and stream result types of arithemetic jump functions

2025-03-31 Thread Martin Jambor
signedness. This patch does the recorsing and streaming, the following one adds the use of the date. Bootstrapped and tested and LTO bootstrapped on x86_64-linux. OK for master? Thanks, Martin gcc/ChangeLog: 2025-03-20 Martin Jambor PR ipa/118097 PR ipa/118785 PR ipa

Re: [PATCH] Fix a pasto in ao_compare::compare_ao_refs

2025-03-14 Thread Martin Jambor
On Thu, Mar 13 2025, Richard Biener wrote: > On Mon, Mar 10, 2025 at 11:59 PM Martin Jambor wrote: >> >> Hi, >> >> when reading the function ao_compare::compare_ao_refs I came accross >> what I believe to ba a copy-and-paste error which this patch fixes. >>

Re: [PATCH 1/7] ipa: Record and stream result types of arithemetic jump functions

2025-04-08 Thread Martin Jambor
>> >> Thanks, >> >> Martin >> >> >> gcc/ChangeLog: >> >> 2025-03-20 Martin Jambor >> >> PR ipa/118097 >> PR ipa/118785 >> PR ipa/119318 >> * ipa-prop.h (ipa_pass_through_data): New fiel

Re: [PATCH 1/7] ipa: Record and stream result types of arithemetic jump functions

2025-04-11 Thread Martin Jambor
>> >> Thanks, >> >> Martin >> >> >> gcc/ChangeLog: >> >> 2025-03-20 Martin Jambor >> >> PR ipa/118097 >> PR ipa/118785 >> PR ipa/119318 >> * ipa-prop.h (ipa_pass_through_data): New fiel

Re: [PATCH 2/7] ipa-cp: Make propagation of bits in IPA-CP aware of type conversions (PR119318)

2025-04-11 Thread Martin Jambor
Hello, On Wed, Apr 09 2025, Martin Jambor wrote: > Hi, > > On Tue, Apr 08 2025, Jan Hubicka wrote: >>> After the propagation of constants and value ranges, it turns out >>> that the propagation of known bits also needs to be made aware of any >>> interm

Re: [PATCH] sra: Avoid creating TBAA hazards (PR118924)

2025-04-07 Thread Martin Jambor
Hi, On Tue, Apr 01 2025, Richard Biener wrote: > On Mon, 31 Mar 2025, Martin Jambor wrote: > >> Hi, >> >> the testcase in PR 118924, when compiled on Aarch64, contains an >> gimple aggregate assignment statement in between different types which >> are types

Re: [PATCH] ipa-cp: Fix up ipcp_print_widest_int

2025-04-15 Thread Martin Jambor
Hi, On Tue, Apr 15 2025, Jakub Jelinek wrote: > On Mon, Mar 31, 2025 at 03:34:07PM +0200, Martin Jambor wrote: >> This patch just introduces a form of dumping of widest ints that only >> have zeros in the lowest 128 bits so that instead of printing >> thousands of f&#x

[PATCH] ipa-bit-cp: Fix adjusting value according to mask (PR119803)

2025-04-15 Thread Martin Jambor
. Thanks, Martin gcc/ChangeLog: 2025-04-15 Martin Jambor PR ipa/119803 * ipa-cp.cc (ipcp_bits_lattice::meet_with_1): Move m_value adjustmed according to m_mask below the adjustment of the latter according to cap_mask. Optimize the calculation of cap_mask a bit

Re: [PATCH] ipa-cp: Fix up ipcp_print_widest_int

2025-04-15 Thread Martin Jambor
Hi, On Tue, Apr 15 2025, Jakub Jelinek wrote: > On Tue, Apr 15, 2025 at 02:17:46PM +0200, Martin Jambor wrote: >> Hi, >> >> On Tue, Apr 15 2025, Jakub Jelinek wrote: >> > On Mon, Mar 31, 2025 at 03:34:07PM +0200, Martin Jambor wrote: >> >> This patch j

Re: [PATCH 1/2] icf: Remove nop code from sem_function::init.

2025-04-22 Thread Martin Jambor
Hi, On Thu, Apr 17 2025, Andrew Pinski wrote: > Here we had: > node = node; > Which does nothing so let's remove it. > > gcc/ChangeLog: > > * ipa-icf.cc (sem_function::init): Remove assignment of node from > itself. I'm not sure if you meant to push this as obvious or whether you were lo

Re: [PATCH 2/2] icf: Remove unused constructors of sem_function and sem_variable

2025-04-22 Thread Martin Jambor
Hi, On Thu, Apr 17 2025, Andrew Pinski wrote: > The constructors for sem_function and sem_variable that just > passes the bitmap obstack and NOT the cgraph node was unused > so let's remove it. > > gcc/ChangeLog: > > * ipa-icf.cc (sem_function::sem_function): Remove > the obstack argum

Re: [PATCH 3/5] ipa: Dump cgraph_node UID instead of order into ipa-clones dump file

2025-04-30 Thread Martin Jambor
Hi, On Wed, Apr 30 2025, Michal Jires wrote: > On Mon, 2025-04-28 at 16:10:58 +0200, Martin Jambor wrote: >> Hi, >> >> starting with GCC 15 the order is not unique for any symtab_nodes but >> m_uid is, I believe we ought to dump the latter in the ipa-clones dump, &g

<    12   13   14   15   16   17   18   >