public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ipa/66760] New: [4.9/5/6 Regression] compile time regression in IPA inline analysis on PR26854 testcase
@ 2015-07-04 10:02 bonzini at gnu dot org
2015-07-04 10:02 ` [Bug ipa/66760] " bonzini at gnu dot org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: bonzini at gnu dot org @ 2015-07-04 10:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66760
Bug ID: 66760
Summary: [4.9/5/6 Regression] compile time regression in IPA
inline analysis on PR26854 testcase
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: ipa
Assignee: unassigned at gcc dot gnu.org
Reporter: bonzini at gnu dot org
Target Milestone: ---
PR26854 is spending a lot of time in alias stmt walking
alias stmt walking : 272.52 (65%) (-O2)
alias stmt walking : 116.06 (67%) (-O1)
walk_aliased_vdefs has a high % of time spent, but the time is spent in bitmap
operations rather than the callbacks!
This is because the callback is the trivial mark_modified function. The guilty
walk_aliased_vdefs invocation is parm_ref_data_preserved_p, invoked from
ipa_load_from_parm_agg and in turn from unmodified_parm_or_parm_agg_item.
Memoization via parms_ainfo seems like a plan.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ipa/66760] [4.9/5/6 Regression] compile time regression in IPA inline analysis on PR26854 testcase
2015-07-04 10:02 [Bug ipa/66760] New: [4.9/5/6 Regression] compile time regression in IPA inline analysis on PR26854 testcase bonzini at gnu dot org
@ 2015-07-04 10:02 ` bonzini at gnu dot org
2015-07-06 7:15 ` rguenth at gcc dot gnu.org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: bonzini at gnu dot org @ 2015-07-04 10:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66760
Paolo Bonzini <bonzini at gnu dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |compile-time-hog
CC| |hubicka at gcc dot gnu.org
--- Comment #1 from Paolo Bonzini <bonzini at gnu dot org> ---
Testcase: http://www.math.purdue.edu/~lucier/gcc/test-files/bugzilla/1/all.i.gz
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ipa/66760] [4.9/5/6 Regression] compile time regression in IPA inline analysis on PR26854 testcase
2015-07-04 10:02 [Bug ipa/66760] New: [4.9/5/6 Regression] compile time regression in IPA inline analysis on PR26854 testcase bonzini at gnu dot org
2015-07-04 10:02 ` [Bug ipa/66760] " bonzini at gnu dot org
@ 2015-07-06 7:15 ` rguenth at gcc dot gnu.org
2015-07-08 14:47 ` jamborm at gcc dot gnu.org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-07-06 7:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66760
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2015-07-06
CC| |jamborm at gcc dot gnu.org
Target Milestone|--- |4.9.4
Ever confirmed|0 |1
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
I've already questioned the compile-time cost of those at introduction time.
It is limited by fbi->aa_walked but only if fbi is passed which it is not
when called via ipa_load_from_parm_agg. Changing the interface to pass
the counter separately and add one to inline_summary similar to the ones
in func_body_info could fix this.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ipa/66760] [4.9/5/6 Regression] compile time regression in IPA inline analysis on PR26854 testcase
2015-07-04 10:02 [Bug ipa/66760] New: [4.9/5/6 Regression] compile time regression in IPA inline analysis on PR26854 testcase bonzini at gnu dot org
2015-07-04 10:02 ` [Bug ipa/66760] " bonzini at gnu dot org
2015-07-06 7:15 ` rguenth at gcc dot gnu.org
@ 2015-07-08 14:47 ` jamborm at gcc dot gnu.org
2015-07-13 11:59 ` jamborm at gcc dot gnu.org
2015-07-23 16:10 ` [Bug ipa/66760] [4.9/5 " jamborm at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: jamborm at gcc dot gnu.org @ 2015-07-08 14:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66760
--- Comment #3 from Martin Jambor <jamborm at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #2)
> I've already questioned the compile-time cost of those at introduction time.
> It is limited by fbi->aa_walked but only if fbi is passed which it is not
> when called via ipa_load_from_parm_agg. Changing the interface to pass
> the counter separately and add one to inline_summary similar to the ones
> in func_body_info could fix this.
Right. And me and Honza have meant to do that for a long time.
Hopefully this PR will finally force us to sit down and make inliner
use these limiting provisions too.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ipa/66760] [4.9/5/6 Regression] compile time regression in IPA inline analysis on PR26854 testcase
2015-07-04 10:02 [Bug ipa/66760] New: [4.9/5/6 Regression] compile time regression in IPA inline analysis on PR26854 testcase bonzini at gnu dot org
` (2 preceding siblings ...)
2015-07-08 14:47 ` jamborm at gcc dot gnu.org
@ 2015-07-13 11:59 ` jamborm at gcc dot gnu.org
2015-07-23 16:10 ` [Bug ipa/66760] [4.9/5 " jamborm at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: jamborm at gcc dot gnu.org @ 2015-07-13 11:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66760
--- Comment #4 from Martin Jambor <jamborm at gcc dot gnu.org> ---
Paolo has submitted a patch for this issue to the mailing list:
https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00984.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ipa/66760] [4.9/5 Regression] compile time regression in IPA inline analysis on PR26854 testcase
2015-07-04 10:02 [Bug ipa/66760] New: [4.9/5/6 Regression] compile time regression in IPA inline analysis on PR26854 testcase bonzini at gnu dot org
` (3 preceding siblings ...)
2015-07-13 11:59 ` jamborm at gcc dot gnu.org
@ 2015-07-23 16:10 ` jamborm at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: jamborm at gcc dot gnu.org @ 2015-07-23 16:10 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66760
--- Comment #6 from Martin Jambor <jamborm at gcc dot gnu.org> ---
Author: jamborm
Date: Thu Jul 23 16:09:56 2015
New Revision: 226114
URL: https://gcc.gnu.org/viewcvs?rev=226114&root=gcc&view=rev
Log:
2015-07-23 Martin Jambor <mjambor@suse.cz>
Backport from mainline r225838.
2015-07-15 Paolo Bonzini <bonzini@gnu.org>
Martin Jambor <mjambor@suse.cz>
PR ipa/66760
* ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
struct func_body_info* instead of struct ipa_node_params*, expecting
fbi->info to be filled in. Replace throughout. Adjust call to
ipa_load_from_parm_agg.
(set_cond_stmt_execution_predicate): Accept struct func_body_info*
instead of struct ipa_node_params*. Adjust calls to other functions
so that they pass either fbi or fbi->info.
(set_switch_stmt_execution_predicate): Likewise.
(will_be_nonconstant_predicate): Likewise.
(compute_bb_predicates): Likewise.
(estimate_function_body_sizes): Move asserts earlier. Fill in
struct func_body_info, replace parms_info with fbi.info. Adjust
calls to functions that now accept struct func_body_info.
* ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
(struct func_body_info): Likewise.
(ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
remove static. Adjust callers.
(ipa_load_from_parm_agg): Remove.
* ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
(func_body_info): Likewise.
(ipa_load_from_parm_agg): Adjust prototype.
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/ipa-inline-analysis.c
branches/gcc-5-branch/gcc/ipa-prop.c
branches/gcc-5-branch/gcc/ipa-prop.h
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-07-23 16:10 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-04 10:02 [Bug ipa/66760] New: [4.9/5/6 Regression] compile time regression in IPA inline analysis on PR26854 testcase bonzini at gnu dot org
2015-07-04 10:02 ` [Bug ipa/66760] " bonzini at gnu dot org
2015-07-06 7:15 ` rguenth at gcc dot gnu.org
2015-07-08 14:47 ` jamborm at gcc dot gnu.org
2015-07-13 11:59 ` jamborm at gcc dot gnu.org
2015-07-23 16:10 ` [Bug ipa/66760] [4.9/5 " jamborm at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).