[0/1] Avoid exponential behavior in scheduler and better logging

Message ID 20231120120649.672893-1-maxim.kuvyrkov@linaro.org
Headers
Series Avoid exponential behavior in scheduler and better logging |

Message

Maxim Kuvyrkov Nov. 20, 2023, 12:06 p.m. UTC
  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(-)