From d205caad226fbc47eab6a9feeab775e92a16ff2d Mon Sep 17 00:00:00 2001 From: Maxim Kuvyrkov Date: Fri, 24 Oct 2014 08:22:49 +0000 Subject: [PATCH] Disable max_issue when scheduling for register pressure * haifa-sched.c (sched_init): Disable max_issue when scheduling for register pressure. From-SVN: r216623 --- gcc/ChangeLog | 5 +++++ gcc/haifa-sched.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ac5f97baeba..fa8674601a4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-10-24 Maxim Kuvyrkov + + * haifa-sched.c (sched_init): Disable max_issue when scheduling for + register pressure. + 2014-10-24 Maxim Kuvyrkov * haifa-sched.c (cached_first_cycle_multipass_dfa_lookahead,) diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index b78d6972fe1..f64f3f59ed9 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -6863,7 +6863,10 @@ sched_init (void) else issue_rate = 1; - if (targetm.sched.first_cycle_multipass_dfa_lookahead) + if (targetm.sched.first_cycle_multipass_dfa_lookahead + /* Don't use max_issue with reg_pressure scheduling. Multipass + scheduling and reg_pressure scheduling undo each other's decisions. */ + && sched_pressure == SCHED_PRESSURE_NONE) dfa_lookahead = targetm.sched.first_cycle_multipass_dfa_lookahead (); else dfa_lookahead = 0; -- 2.30.2