[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

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: 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

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

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

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: [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 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 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 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] 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

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

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

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

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] 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 2/2] ipa-cp: One more use of ipa_vr_supported_type_p

2024-09-11 Thread Martin Jambor
Hi, Since we have the predicate, this patch converts one more check for essentially the same thing into its use. It has passed a bootstrap and testsuite on x86_64. I believe it is obvious enough that I can commit it myself and so will do so later today. Thanks, Martin 2024-09-11 Martin

[PATCH 1/2] ipa: Rename ipa_supports_p to ipa_vr_supported_type_p

2024-09-11 Thread Martin Jambor
, Martin gcc/ChangeLog: 2024-09-06 Martin Jambor * ipa-cp.h (ipa_supports_p): Rename to ipa_vr_supported_type_p. * ipa-cp.cc (ipa_vr_operation_and_type_effects): Adjust called function name. (propagate_vr_across_jump_function): Likewise. * ipa-prop.cc

Re: PING^5 [PATCH] rs6000: Adjust -fpatchable-function-entry* support for dual entry [PR112980]

2024-08-27 Thread Martin Jambor
Hi, On Fri, Aug 09 2024, Kewen.Lin wrote: > Hi, > > Gentle ping this patch: > > https://gcc.gnu.org/pipermail/gcc-patches/2024-May/651025.html I'd like to second this ping, please. Thank you, Martin > > BR, > Kewen > >>> on 2024/7/12 00:15, Martin J

Re: [PATCH 2/2] ipa: Move pass_ipa_cdtor_merge before pass_ipa_cp and pass_ipa_sra

2024-08-27 Thread Martin Jambor
Hello, and ping please. Martin On Fri, Aug 09 2024, Martin Jambor wrote: > Hello, > > and ping please. > > Martin > > On Fri, Jul 26 2024, Martin Jambor wrote: >> Hi, >> >> when looking at PR 115815 we realized that it would make sense to make >>

Re: [PATCH 1/2] ipa: Treat static constructors and destructors as non-local (PR 115815)

2024-08-27 Thread Martin Jambor
Hello, and ping please. Martin On Fri, Aug 09 2024, Martin Jambor wrote: > Hello, > > and ping please. > > Martin > > On Fri, Jul 26 2024, Martin Jambor wrote: >> Hi, >> >> in PR 115815, IPA-SRA thought it had control over all invocations of a >>

[PATCH] sra: Avoid risking x87 magling binary representation of a replacement (PR 58416)

2024-08-19 Thread Martin Jambor
, unfortunately. Thanks, Martin gcc/ChangeLog: 2024-08-19 Martin Jambor PR target/58416 * tree-sra.cc (types_risk_mangled_binary_repr_p): New function. (sort_and_splice_var_accesses): Use it. (propagate_subaccesses_from_rhs): Likewise. gcc/testsuite/ChangeLog

Re: [PATCH 2/2] ipa: Move pass_ipa_cdtor_merge before pass_ipa_cp and pass_ipa_sra

2024-08-09 Thread Martin Jambor
Hello, and ping please. Martin On Fri, Jul 26 2024, Martin Jambor wrote: > Hi, > > when looking at PR 115815 we realized that it would make sense to make > calls to functions originally declared static constructors and > destructors created by pass_ipa_cdtor_merge visible to

Re: [PATCH 1/2] ipa: Treat static constructors and destructors as non-local (PR 115815)

2024-08-09 Thread Martin Jambor
Hello, and ping please. Martin On Fri, Jul 26 2024, Martin Jambor wrote: > Hi, > > in PR 115815, IPA-SRA thought it had control over all invocations of a > (recursive) static destructor but it did not see the implied > invocation which led to the original being left behind and

[PATCH 2/2] ipa: Move pass_ipa_cdtor_merge before pass_ipa_cp and pass_ipa_sra

2024-07-26 Thread Martin Jambor
, Martin gcc/ChangeLog: 2024-07-25 Martin Jambor * passes.def: Move pass_ipa_cdtor_merge before pass_ipa_cp and pass_ipa_sra. --- gcc/passes.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/passes.def b/gcc/passes.def index b06d6d45f63..33b2c10c9c9 100644

[PATCH 1/2] ipa: Treat static constructors and destructors as non-local (PR 115815)

2024-07-26 Thread Martin Jambor
: 2024-07-25 Martin Jambor PR ipa/115815 * cgraph.cc (cgraph_node_cannot_be_local_p_1): Also check DECL_STATIC_CONSTRUCTOR and DECL_STATIC_DESTRUCTOR. * ipa-visibility.cc (non_local_p): Likewise. (cgraph_node::local_p): Delete extraneous line of tabs

Re: [PATCH] rs6000: Adjust -fpatchable-function-entry* support for dual entry [PR112980]

2024-07-11 Thread Martin Jambor
Hi, can I add myself to the bunch of people who are pinging this? Having this in will make our life easier. Thanks a lot, Martin On Wed, May 08 2024, Kewen.Lin wrote: > Hi, > > As the discussion in PR112980, although the current > implementation for -fpatchable-function-entry* conforms > with

[commited, gcc13] ipa: Compare jump functions in ICF (PR 113907)

2024-05-14 Thread Martin Jambor
-13 branch. Martin gcc/ChangeLog: 2024-05-14 Martin Jambor PR ipa/113907 * ipa-prop.h (ipa_jump_functions_equivalent_p): Declare. (values_equal_for_ipcp_p): Likewise. * ipa-prop.cc (ipa_agg_pass_through_jf_equivalent_p): New function

[PATCH] sra: Do not leave work for DSE (that it can sometimes not perform)

2024-05-03 Thread Martin Jambor
benefit, could it possibly be backported to gcc-14 branch even if it is not a regression (at least not in the last decade) in a few weeks? Thanks, Martin gcc/ChangeLog: 2024-04-18 Martin Jambor * tree-sra.cc (sra_modify_assign): Remove the original statement also when dealing

Re: [wwwdocs] Add znver5 to GCC 14 changes

2024-05-03 Thread Martin Jambor
Hi Gerald, On Fri, May 03 2024, Gerald Pfeifer wrote: > Hi Martin, > > On Thu, 2 May 2024, Martin Jambor wrote: >> + GCC now supports AMD CPUs based on the znver5 core via >> +-march=znver5. Based on ISA extensions enabled on >> +a znver4 core, the switch

[wwwdocs] Add znver5 to GCC 14 changes

2024-05-02 Thread Martin Jambor
Hello, based on input from AMD, I'd like to commit the following to the wwwdocs repo to point out new support for Zen 5 based AMD CPUs in GCC 14? Is it OK? Any suggestions, comments or questions? Thanks, Martin diff --git a/htdocs/gcc-14/changes.html b/htdocs/gcc-14/changes.html index 8dfbf

Re: [wwwdocs] Porting-to-14: Mention new pragma GCC Target behavior

2024-05-02 Thread Martin Jambor
Hi, On Wed, May 01 2024, Gerald Pfeifer wrote: > On Tue, 30 Apr 2024, Martin Jambor wrote: >> +Pragma GCC Target now affects preprocessor >> symbols > > Note the id: should be "gcc-target-pragma", though I even suggest to > simplify and say "target-pr

Re: [wwwdocs] Porting-to-14: Mention new pragma GCC Target behavior

2024-04-30 Thread Martin Jambor
Hi, On Thu, Apr 25 2024, Jakub Jelinek wrote: > On Thu, Apr 25, 2024 at 02:34:22PM +0200, Martin Jambor wrote: >> when looking at a package build issue with GCC 14, Michal Jireš noted a >> different behavior of pragma GCC Target. This snippet tries to describe >> the gist of

[wwwdocs] Porting-to-14: Mention new pragma GCC Target behavior

2024-04-25 Thread Martin Jambor
Hello, when looking at a package build issue with GCC 14, Michal Jireš noted a different behavior of pragma GCC Target. This snippet tries to describe the gist of the problem. I have left it in the C section even though it is not really C specific, but could not think of a good name for a new se

Re: [PATCH] contrib/check-params-in-docs.py: Ignore target-specific params

2024-04-12 Thread Martin Jambor
Hi, On Fri, Apr 12 2024, Filip Kastl wrote: > On Thu 2024-04-11 20:51:55, Thomas Schwinge wrote: >> Hi! >> >> On 2024-04-11T19:52:51+0200, Martin Jambor wrote: >> > contrib/check-params-in-docs.py is a script that checks that all >> > options reported wi

[PATCH] contrib/check-params-in-docs.py: Ignore gcn-preferred-vectorization-factor

2024-04-11 Thread Martin Jambor
configured. This patch makes the script silently about this particular fact. I'll push the patch as obvious momentarily. Martin contrib/ChangeLog: 2024-04-11 Martin Jambor * check-params-in-docs.py (ignored): Add gcn-preferred-vectorization-factor. --- contrib/check-p

[wwwdocs, committed] Fix link to "Feature Test Macros" in "Porting to GCC 14" page

2024-04-10 Thread Martin Jambor
Hi, Michal Jireš found out that the link to Feature Test Macros on the Porting to GCC 14 page was broken, it misses a "/latest/" directory in the middle of the path. I'll commit the following as obvious. Thanks, Martin --- htdocs/gcc-14/porting_to.html | 2 +- 1 file changed, 1 insertion(+),

Re: [PATCH] ICF&SRA: Make ICF and SRA agree on padding

2024-04-08 Thread Martin Jambor
Hello, On Sun, Apr 07 2024, Xi Ruoyao wrote: > On Thu, 2024-04-04 at 23:19 +0200, Martin Jambor wrote: >> The patch has been approved by Honza in Bugzilla. (I hope.  He did write >> it looked reasonable.)  Together with the patch for PR 113907, it has >> passed bootstrap,

[PATCH] ipa: Force args obtined through pass-through maps to the expected type (PR 113964)

2024-04-05 Thread Martin Jambor
, the reporter has also run the testsuite with this patch on riscv64 and reported in Bugzilla there were no issues. OK for master and GCC 13? Thanks, Martin gcc/ChangeLog: 2024-04-04 Martin Jambor PR ipa/113964 * ipa-param-manipulation.cc (ipa_param_adjustments::modify

[PATCH] ICF&SRA: Make ICF and SRA agree on padding

2024-04-04 Thread Martin Jambor
Martin Jambor PR ipa/113359 * ipa-icf-gimple.h (func_checker): New members safe_for_total_scalarization_p, m_total_scalarization_limit_known_p and m_total_scalarization_limit. (func_checker::func_checker): Initialize new member variables. * ipa-icf

[PATCH] ipa: Compare jump functions in ICF (PR 113907)

2024-04-04 Thread Martin Jambor
. Martin gcc/ChangeLog: 2024-03-20 Martin Jambor PR ipa/113907 * ipa-prop.h (class ipa_vr): Declare new overload of a member function equal_p. (ipa_jump_functions_equivalent_p): Declare. * ipa-prop.cc (ipa_vr::equal_p): New function

Re: [PATCH] ipa: Avoid duplicate replacements in IPA-SRA transformation phase

2024-03-28 Thread Martin Jambor
Hello, and ping, please. (In my copy I have fixed the formatting issue spotted by Jakub.) Martin On Fri, Mar 15 2024, Martin Jambor wrote: > Hi, > > when the analysis part of IPA-SRA figures out that it would split out > a scalar part of an aggregate which is known by IPA-CP

Re: [PATCH] tree-optimization/113727 - bogus SRA with BIT_FIELD_REF

2024-03-20 Thread Martin Jambor
Hello, On Tue, Mar 19 2024, Richard Biener wrote: > When SRA analyzes BIT_FIELD_REFs it handles writes and not byte > aligned reads differently from byte aligned reads. Instead of > trying to create replacements for the loaded portion the former > cases try to replace the base object while keepin

[PATCH] ipa: Avoid duplicate replacements in IPA-SRA transformation phase

2024-03-15 Thread Martin Jambor
mplicating the source code to optimize for this unlikely case is worth it but if need be, it can of course be done. Bootstrapped and tested on x86_64-linux. OK for master and eventually also the gcc-13 branch? Thanks, Martin gcc/ChangeLog: 2024-03-15 Martin Jambor PR ipa/111571

[PATCH] ipa: Fix C++ member ptr indirect inlining (PR 114254, PR 108802)

2024-03-08 Thread Martin Jambor
ickly), I'm fine with pushing them to master now but I can also wait until the next stage 1. Thanks, Martin gcc/ChangeLog: 2024-03-06 Martin Jambor PR ipa/108802 PR ipa/114254 * ipa-prop.cc (ipa_get_stmt_member_ptr_load_param): Fix case looking at COMP

Re: [PATCH] ipa: Avoid excessive removing of SSAs (PR 113757)

2024-03-07 Thread Martin Jambor
Hello, and ping please. Martin On Thu, Feb 08 2024, Martin Jambor wrote: > Hi, > > PR 113757 shows that the code which was meant to debug-reset and > remove SSAs defined by LHSs of calls redirected to > __builtin_unreachable can trigger also when speculative > devirtualizat

[PATCH] ipa: Create indirect call edges also for lambdas

2024-02-21 Thread Martin Jambor
for master even now? Thanks, Martin gcc/ChangeLog: 2024-02-20 Martin Jambor PR ipa/108802 * ipa-prop.cc (ipa_get_stmt_member_ptr_load_param): Also recognize loads from a pointer parameter. (ipa_analyze_indirect_call_uses): Likewise. gcc/testsuite/ChangeLog

[PATCH] ipa: Convert lattices from pure array to vector (PR 113476)

2024-02-19 Thread Martin Jambor
On Tue, Feb 13 2024, Martin Jambor wrote: > On Mon, Feb 12 2024, Jan Hubicka wrote: >>> Believe it or not, even though I have re-worked the internals of the >>> lattices completely, the array itself is older than my involvement with >>> GCC (or at least with ipa-cp.

[PATCH] testsuite: Fix guality/ipa-sra-1.c to work with return IPA-VRP

2024-02-14 Thread Martin Jambor
nge for me to commit without approval which I will do later today. Thanks, Martin gcc/testsuite/ChangeLog: 2024-02-14 Martin Jambor * gcc.dg/guality/ipa-sra-1.c (get_val1): Move up in the file. (get_val2): Likewise. (bar): Do not return a constant. Extend xfail exc

Re: [PATCH] ipa: call destructors on lattices before freeing them (PR 113476)

2024-02-14 Thread Martin Jambor
::meet_with_1 on the preprocessed source >> (dwarf2out.i) attached to Bugzilla. The patch also passes bootstrap and >> LTO bootstrap and testing on x86_64-linux. >> >> OK for master? >> >> Thanks, >> >> Martin >> >> >&g

Re: [PATCH] ipa: call destructors on lattices before freeing them (PR 113476)

2024-02-13 Thread Martin Jambor
On Mon, Feb 12 2024, Jan Hubicka wrote: >> Believe it or not, even though I have re-worked the internals of the >> lattices completely, the array itself is older than my involvement with >> GCC (or at least with ipa-cp.c ;-). >> >> So it being an array and not a vector is historical coincidence, a

Re: [PATCH] ipa: call destructors on lattices before freeing them (PR 113476)

2024-02-12 Thread Martin Jambor
t_with_1 on the preprocessed source >> (dwarf2out.i) attached to Bugzilla. The patch also passes bootstrap and >> LTO bootstrap and testing on x86_64-linux. >> >> OK for master? >> >> Thanks, >> >> Martin >> >> >> gcc/ChangeLog:

[PATCH] ipa: call destructors on lattices before freeing them (PR 113476)

2024-02-12 Thread Martin Jambor
, Martin gcc/ChangeLog: 2024-02-09 Martin Jambor PR tree-optimization/113476 * ipa-prop.h (ipa_node_params::~ipa_node_params): Moved... * ipa-cp.cc (ipa_node_params::~ipa_node_params): ...here. Added destruction of lattices. --- gcc/ipa-cp.cc | 17

Re: [RFC] GCC Security policy

2024-02-12 Thread Martin Jambor
Hi, On Fri, Feb 09 2024, Siddhesh Poyarekar wrote: > On 2024-02-09 10:38, Martin Jambor wrote: >> If anyone is interested in scoping this and then mentoring this as a >> Google Summer of Code project this year then now is the right time to >> speak up! > > I can help

Re: [RFC] GCC Security policy

2024-02-09 Thread Martin Jambor
Hi, On Tue, Aug 08 2023, Richard Biener via Gcc-patches wrote: > On Tue, Aug 8, 2023 at 2:33 PM Siddhesh Poyarekar wrote: >> >> On 2023-08-08 04:16, Richard Biener wrote: >> > On Mon, Aug 7, 2023 at 7:30 PM David Edelsohn via Gcc-patches >> > wrote: >> >> >> >> FOSS Best Practices recommends tha

[PATCH] ipa: Avoid excessive removing of SSAs (PR 113757)

2024-02-08 Thread Martin Jambor
have also LTO-bootstrapped and LTO-profilebootstrapped the patch on x86_64-linux. OK for master? Thanks, Martin gcc/ChangeLog: 2024-02-07 Martin Jambor PR ipa/113757 * tree-inline.cc (redirect_all_calls): Remove code adding SSAs to id->killed_new_ssa_names.

Re: [PATCH] ipa-cp: Fix check for exceeding param_ipa_cp_value_list_size (PR 113490)

2024-01-24 Thread Martin Jambor
ractice the limit >> is of course very likely to be the same, but I fixed this aspect of >> the condition too. I briefly audited all other uses of opt_for_fn in >> ipa-cp.cc and all the others looked OK. >> >> Bootstrapped and tested on x86_64-linux. OK for maste

[PATCH] ipa-cp: Fix check for exceeding param_ipa_cp_value_list_size (PR 113490)

2024-01-20 Thread Martin Jambor
of opt_for_fn in ipa-cp.cc and all the others looked OK. Bootstrapped and tested on x86_64-linux. OK for master? Thanks, Martin gcc/ChangeLog: 2024-01-19 Martin Jambor PR ipa/113490 * ipa-cp.cc (ipcp_lattice::add_value): Bail out if value count is equal or greater

[PATCH] sra: Disqualify bases of operands of asm gotos

2024-01-17 Thread Martin Jambor
r ASM gotos, we need to punt. Bootstrapped and tested on x86_64-linux, OK for master? It will need some tweaking for release branches, is it in principle OK for them too (after testing)? Thanks, Martin gcc/ChangeLog: 2024-01-17 Martin Jambor PR tree-optimization/110422 *

Re: [PATCH] sra: Partial fix for BITINT_TYPEs [PR113120]

2024-01-17 Thread Martin Jambor
Hi, On Wed, Jan 10 2024, Jakub Jelinek wrote: > Hi! > > As changed in other parts of the compiler, using > build_nonstandard_integer_type is not appropriate for arbitrary precisions, > especially if the precision comes from a BITINT_TYPE or something based on > that, build_nonstandard_integer_type

[PATCH] ipa: Self-DCE of uses of removed call LHSs (PR 108007)

2024-01-16 Thread Martin Jambor
d-LTO-bootstrap and testing on x86_64-linux, bootstrap, LTO-bootstrap and testing on ppc64le-linux and bootstrap and LTO-bootstrap on Aarch64, testsuite there is still running, OK if it passes? Thanks Martin gcc/ChangeLog: 2024-01-12 Martin Jambor PR ipa/108007 PR ipa/1

Re: [wwwdocs] gcc-14/changes.html: OpenMP - improve wording

2024-01-09 Thread Martin Jambor
Hi Tobias, On Mon, Jan 08 2024, Tobias Burnus wrote: > The attached patch there was no patch attached to your message. Martin > does a tiny updated to the OpenMP features (AMD GCN > now also has an optimized memcpy_rect not only nvptx), but the main > change is some shifting around to make it

Re: [PATCH] tree-optimization/111807 - ICE in verify_sra_access_forest

2023-12-13 Thread Martin Jambor
ries 5190319 tbaa queries (0.129265 per modref query) 1341403 base compares (0.033408 per modref query) PTA query stats: pt_solution_includes: 36784449 disambiguations, 46141210 queries pt_solutions_intersect: 4519320 disambiguations, 17082083 queries gcc/ChangeLog: 2023-12-13 Martin

[PATCH] SRA: Force gimple operand in an additional corner case (PR 112822)

2023-12-12 Thread Martin Jambor
time. Despite the above, is the patch OK for master? Thanks, Martin gcc/ChangeLog: 2023-12-12 Martin Jambor PR tree-optimization/112822 * tree-sra.cc (load_assign_lhs_subreplacements): Invoke force_gimple_operand_gsi also when LHS has partial stores and RHS

Re: [PATCH] tree-sra: Avoid returns of references to SRA candidates

2023-11-29 Thread Martin Jambor
Hi, On Tue, Nov 28 2023, Jan Hubicka wrote: >> On Tue, 28 Nov 2023, Martin Jambor wrote: >> >> > On Tue, Nov 28 2023, Richard Biener wrote: >> > > On Mon, 27 Nov 2023, Martin Jambor wrote: >> > > >> > >> Hi, >> > >>

Re: [PATCH] tree-sra: Avoid returns of references to SRA candidates

2023-11-28 Thread Martin Jambor
On Tue, Nov 28 2023, Richard Biener wrote: > On Mon, 27 Nov 2023, Martin Jambor wrote: > >> Hi, >> >> The enhancement to address PR 109849 contained an importsnt thinko, >> and that any reference that is passed to a function and does not >> escape, must also no

[PATCH] tree-sra: Avoid returns of references to SRA candidates

2023-11-27 Thread Martin Jambor
: 2023-11-27 Martin Jambor PR tree-optimization/112711 PR tree-optimization/112721 * tree-sra.cc (build_access_from_call_arg): New parameter CAN_BE_RETURNED, disqualify any candidate passed by reference if it is true. Adjust leading comment

Re: [PATCH] sra: SRA of non-escaped aggregates passed by reference to calls

2023-11-24 Thread Martin Jambor
Hello, thanks a lot for your review. On Fri, Nov 17 2023, Richard Biener wrote: > On Thu, 16 Nov 2023, Martin Jambor wrote: > >> Hello, >> >> PR109849 shows that a loop that heavily pushes and pops from a stack >> implemented by a C++ std::vec results in slow code

Re: libstdc++: Speed up push_back

2023-11-24 Thread Martin Jambor
Hello, On Thu, Nov 23 2023, Jonathan Wakely wrote: > On Thu, 23 Nov 2023 at 15:34, Jan Hubicka wrote: >> [...] >> >> I also wonder, if default operator new and malloc can be handled as not >> reading/modifying anything visible to the user code. > > No, there's no way to know if the default oper

[PATCH] Bump LTO_minor_version

2023-11-20 Thread Martin Jambor
g06ee3438a4fcf9 has changed LTO format and therefore we should bump the minor version of the GCC 13 LTO format. gcc/ChangeLog: 2023-11-20 Martin Jambor * lto-streamer.h (LTO_minor_version): Bump. --- gcc/lto-streamer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) dif

Re: Propagate value ranges of return values

2023-11-20 Thread Martin Jambor
Hi, thanks for working on this. On Sun, Nov 19 2023, Jan Hubicka wrote: > Hi, > this is updated version which also adds testuiste compensation > I lost earlier while maintaining the patch in my testing tree. > There are quite few testcases that use constant return values to hide > something from

[PATCH] sra: SRA of non-escaped aggregates passed by reference to calls

2023-11-16 Thread Martin Jambor
nning both on these two architectures but as I'm sending this). OK for master? Thanks, Martin gcc/ChangeLog: 2023-11-16 Martin Jambor PR middle-end/109849 * tree-sra.cc (passed_by_ref_in_call): New. (sra_initialize): Allocate passed_by_ref_in_call. (s

[PATCH] gcc/configure: Regenerate

2023-11-07 Thread Martin Jambor
On Mon, Nov 06 2023, Martin Jambor wrote: > [...] > > I'm not sure what that means, whether a wrong version of > autoconf/automake was used (though when I accidentally tried that, it > has always complained loudly) or if some environment difference can > cause this. Perh

[PATCH] Fix configure script comments(!?!) (Was: Re: [PATCH] genemit: Split insn-emit.cc into ten files)

2023-11-06 Thread Martin Jambor
Hello, On Thu, Oct 12 2023, Robin Dapp wrote: > [...] > gcc/ChangeLog: > > PR bootstrap/84402 > PR target/111600 > > * Makefile.in: Handle split insn-emit.cc. > * configure: Regenerate. > * configure.ac: Add --with-insnemit-partitions. > * genemit.cc (output_pee

[PATCH] Fortran: Fix generate_error library function fnspec

2023-11-03 Thread Martin Jambor
apped and tested on x86_64-linux. OK for master? 2023-11-02 Martin Jambor * trans-decl.cc (gfc_build_builtin_function_decls): Fix fnspec of generate_error. --- gcc/fortran/trans-decl.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/fortran/trans-decl

Re: [PATCH 2/3] ipa: Prune any IPA-CP aggregate constants known by modref to be killed (111157)

2023-10-30 Thread Martin Jambor
Hello, On Thu, Oct 05 2023, Jan Hubicka wrote: >> gcc/ChangeLog: >> >> 2023-09-19 Martin Jambor >> >> PR ipa/57 >> * ipa-prop.h (struct ipa_argagg_value): Newf flag killed. >> * ipa-modref.cc (ipcp_argagg_and_kill_overlap_p): New

Re: Darwin: Replace environment runpath with embedded [PR88590]

2023-10-30 Thread Martin Jambor
Hello Iain, On Tue, Aug 15 2023, FX Coudert via Gcc-patches wrote: > [...] > From e1cf04cadb9fa065fb3f7d6bccf9ed6f1e9e3fc1 Mon Sep 17 00:00:00 2001 > From: Iain Sandoe > Date: Sun, 28 Mar 2021 14:48:17 +0100 > Subject: [PATCH 2/4] Darwin: Allow for configuring Darwin to use embedded > runpath.

[PATCH 2/3] ipa: Prune any IPA-CP aggregate constants known by modref to be killed (111157)

2023-10-05 Thread Martin Jambor
tch It does not try to look up anything in the load lists, this will be done as a follow-up in order to ease review. gcc/ChangeLog: 2023-09-19 Martin Jambor PR ipa/57 * ipa-prop.h (struct ipa_argagg_value): Newf flag killed. * ipa-modref.cc (ipcp_argagg_and_kill_over

[PATCH 3/3] ipa: Limit pruning of IPA-CP aggregate constants if there are loads

2023-10-05 Thread Martin Jambor
103669 (to get a clobber/kill) in a way that ipa-modref can still track things. Therefore I am not sure if we actually want this patch. gcc/ChangeLog: 2023-10-04 Martin Jambor * ipa-modref.cc (ipcp_argagg_and_access_must_overlap_p): New function

[PATCH 1/3] ipa-cp: Templatize filtering of m_agg_values

2023-10-05 Thread Martin Jambor
gcc.dg/ipa/pr108959.c. gcc/ChangeLog: 2023-09-13 Martin Jambor PR ipa/57 * ipa-prop.h (ipcp_transformation): New member function template remove_argaggs_if. * ipa-sra.cc (zap_useless_ipcp_results): Use remove_argaggs_if to filter aggreagate constants

[PATCH] Revert "ipa: Self-DCE of uses of removed call LHSs (PR 108007)"

2023-10-05 Thread Martin Jambor
Hello, I am going to commit the following patch to fix PR 111688 (bootstrap on ppc64le broken) and will re-fix 108007 (issues with IPA-SRA when user explicitely turns off DCE) when I figure out what's going wrong. Sorry for the breakage, Martin [PATCH] Revert "ipa: Self-DCE of uses of removed

[committed] ipa-modref: Fix dumping

2023-10-03 Thread Martin Jambor
obvious after including it in a bootstrap and testing on an x86_64-linux. Thanks, Martin gcc/ChangeLog: 2023-09-21 Martin Jambor * ipa-modref.h (modref_summary::dump): Make const. * ipa-modref.cc (modref_summary::dump): Likewise. (dump_lto_records): Dump to out instead of

Re: [PATCH] ipa: Self-DCE of uses of removed call LHSs (PR 108007)

2023-10-03 Thread Martin Jambor
er uses of SSAs does not bring them up. During tree-inline they are handled especially at the end, I assume in order to make sure that relative ordering of UIDs are the same with and without debug info. This means that during tree-inline we need to make a hash of killed SSAs, that we already hav

  1   2   3   4   5   6   7   8   9   10   >