diff options
author | Sergey Grechanik <mouseentity@ispras.ru> | 2011-08-11 11:55:11 +0000 |
---|---|---|
committer | Alexander Monakov <amonakov@gcc.gnu.org> | 2011-08-11 15:55:11 +0400 |
commit | ca31ca94f9b8fbd928024cd1eff183cebfdb5c56 (patch) | |
tree | 99107d4b6e3546fc25c9b5e080a9d0f9afb90b21 | |
parent | f0898307231190ca62014affb960f8f1f2fced59 (diff) | |
download | gcc-ca31ca94f9b8fbd928024cd1eff183cebfdb5c56.zip gcc-ca31ca94f9b8fbd928024cd1eff183cebfdb5c56.tar.gz gcc-ca31ca94f9b8fbd928024cd1eff183cebfdb5c56.tar.bz2 |
sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge only if producer writes to the register given by regno.
2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
* sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
only if producer writes to the register given by regno.
From-SVN: r177658
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/sel-sched-ir.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0ea71d9..97a1664 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,9 @@ 2011-08-11 Sergey Grechanik <mouseentity@ispras.ru> + + * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge + only if producer writes to the register given by regno. + +2011-08-11 Sergey Grechanik <mouseentity@ispras.ru> Alexander Monakov <amonakov@ispras.ru> * sched-deps.c (sched_get_condition_with_rev): Rename to ... diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index c7e365a..4878460 100644 --- a/gcc/sel-sched-ir.c +++ b/gcc/sel-sched-ir.c @@ -3227,7 +3227,8 @@ has_dependence_note_reg_use (int regno) pro_spec_checked_ds = INSN_SPEC_CHECKED_DS (has_dependence_data.pro); pro_spec_checked_ds = ds_get_max_dep_weak (pro_spec_checked_ds); - if (pro_spec_checked_ds != 0) + if (pro_spec_checked_ds != 0 + && bitmap_bit_p (INSN_REG_SETS (has_dependence_data.pro), regno)) /* Merge BE_IN_SPEC bits into *DSP. */ *dsp = ds_full_merge (*dsp, pro_spec_checked_ds, NULL_RTX, NULL_RTX); |