public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/1] Avoid exponential behavior in scheduler and better logging
@ 2023-11-20 12:06 Maxim Kuvyrkov
  2023-11-20 12:06 ` [PATCH 1/1] sched-deps.cc (find_modifiable_mems): Avoid exponential behavior Maxim Kuvyrkov
                   ` (9 more replies)
  0 siblings, 10 replies; 37+ messages in thread
From: Maxim Kuvyrkov @ 2023-11-20 12:06 UTC (permalink / raw)
  To: gcc-patches; +Cc: Maxim Kuvyrkov, Bernd Schmidt, Vladimir Makarov, Jeff Law

Hi,

This patch series fixes exponential behavior in scheduler's find_modifiable_mems().  This fixes PRs [1] and [2], which are compilation time and memory hogs.

The first patch in the series is the actual fix (bootstrapped and regtested on aarch64-linux-gnu), and follow up patches will be improvements to scheduler's logging infrastructure, that enabled me to debug this problem.  As-is, the scheduler has good logging of the actual scheduling process, but calculation of instruction dependencies has almost no logging.

Please don't delay review of the PRs fix to wait for logging patches to be published, as it'll take me another week to clean them up.

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96388
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111554

Maxim Kuvyrkov (1):
  sched-deps.cc (find_modifiable_mems): Avoid exponential behavior

 gcc/sched-deps.cc | 45 +++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 41 insertions(+), 4 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2024-01-17 18:54 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-20 12:06 [PATCH 0/1] Avoid exponential behavior in scheduler and better logging Maxim Kuvyrkov
2023-11-20 12:06 ` [PATCH 1/1] sched-deps.cc (find_modifiable_mems): Avoid exponential behavior Maxim Kuvyrkov
2023-11-20 13:09   ` Richard Biener
2023-11-20 13:42     ` Maxim Kuvyrkov
2023-11-20 13:45       ` Richard Biener
2023-11-20 14:48         ` [PATCH v2] " Maxim Kuvyrkov
2023-11-20 18:59         ` [PATCH 1/1] " Maxim Kuvyrkov
2023-11-20 13:52   ` Alexander Monakov
2023-11-20 14:39     ` Maxim Kuvyrkov
2023-11-20 16:30       ` Alexander Monakov
2023-11-21 10:32         ` Maxim Kuvyrkov
2023-11-21 11:05           ` Alexander Monakov
2023-11-22 11:14 ` [PATCH v3 0/8] Avoid exponential behavior in scheduler and better logging Maxim Kuvyrkov
2023-11-22 11:14 ` [PATCH v3 1/8] sched-deps.cc (find_modifiable_mems): Avoid exponential behavior Maxim Kuvyrkov
2024-01-15 12:56   ` Maxim Kuvyrkov
2024-01-15 18:26     ` Vladimir Makarov
2024-01-16 14:52     ` Jeff Law
2024-01-17  6:51       ` Richard Biener
2024-01-17  7:39         ` Maxim Kuvyrkov
2024-01-17 15:02           ` Richard Biener
2024-01-17 15:05             ` Maxim Kuvyrkov
2024-01-17 15:44               ` Maxim Kuvyrkov
2024-01-17 18:54             ` H.J. Lu
2023-11-22 11:14 ` [PATCH v3 2/8] Unify implementations of print_hard_reg_set() Maxim Kuvyrkov
2023-11-22 15:04   ` Vladimir Makarov
2023-11-22 11:14 ` [PATCH v3 3/8] Simplify handling of INSN_ and EXPR_LISTs in sched-rgn.cc Maxim Kuvyrkov
2024-01-15 12:59   ` Maxim Kuvyrkov
2023-11-22 11:14 ` [PATCH v3 4/8] Improve and fix sched-deps.cc: dump_dep() and dump_lists() Maxim Kuvyrkov
2024-01-15 13:01   ` Maxim Kuvyrkov
2023-11-22 11:14 ` [PATCH v3 5/8] Add a bit more logging scheduler's dependency analysis Maxim Kuvyrkov
2024-01-15 13:04   ` Maxim Kuvyrkov
2023-11-22 11:14 ` [PATCH v3 6/8] sched_deps.cc: Simplify initialization of dependency contexts Maxim Kuvyrkov
2024-01-15 13:05   ` Maxim Kuvyrkov
2023-11-22 11:14 ` [PATCH v3 7/8] Improve logging of register data in scheduler dependency analysis Maxim Kuvyrkov
2024-01-15 13:06   ` Maxim Kuvyrkov
2023-11-22 11:14 ` [PATCH v3 8/8] Improve logging of scheduler dependency analysis context Maxim Kuvyrkov
2024-01-15 13:08   ` Maxim Kuvyrkov

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).