diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@gmail.com> | 2014-10-24 08:22:49 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <mkuvyrkov@gcc.gnu.org> | 2014-10-24 08:22:49 +0000 |
commit | d205caad226fbc47eab6a9feeab775e92a16ff2d (patch) | |
tree | e3a4c4a1f69cf4742cca89d0b8883d6bc4fac9b0 /gcc | |
parent | 8aec463b10bd41bc184305458abfcc657fac4883 (diff) | |
download | gcc-d205caad226fbc47eab6a9feeab775e92a16ff2d.zip gcc-d205caad226fbc47eab6a9feeab775e92a16ff2d.tar.gz gcc-d205caad226fbc47eab6a9feeab775e92a16ff2d.tar.bz2 |
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')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/haifa-sched.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ac5f97b..fa86746 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2014-10-24 Maxim Kuvyrkov <maxim.kuvyrkov@gmail.com> + * haifa-sched.c (sched_init): Disable max_issue when scheduling for + register pressure. + +2014-10-24 Maxim Kuvyrkov <maxim.kuvyrkov@gmail.com> + * haifa-sched.c (cached_first_cycle_multipass_dfa_lookahead,) (cached_issue_rate): Remove. Use dfa_lookahead and issue_rate instead. (max_issue, choose_ready, sched_init): Update. diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index b78d697..f64f3f59 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; |