summaryrefslogtreecommitdiff
path: root/gcc/haifa-sched.c
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@gmail.com>2014-10-24 08:22:49 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2014-10-24 08:22:49 +0000
commitd205caad226fbc47eab6a9feeab775e92a16ff2d (patch)
treee3a4c4a1f69cf4742cca89d0b8883d6bc4fac9b0 /gcc/haifa-sched.c
parent8aec463b10bd41bc184305458abfcc657fac4883 (diff)
downloadgcc-d205caad226fbc47eab6a9feeab775e92a16ff2d.tar.gz
Disable max_issue when scheduling for register pressure
* haifa-sched.c (sched_init): Disable max_issue when scheduling for register pressure. From-SVN: r216623
Diffstat (limited to 'gcc/haifa-sched.c')
-rw-r--r--gcc/haifa-sched.c5
1 files changed, 4 insertions, 1 deletions
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;