From ca31ca94f9b8fbd928024cd1eff183cebfdb5c56 Mon Sep 17 00:00:00 2001 From: Sergey Grechanik Date: Thu, 11 Aug 2011 11:55:11 +0000 Subject: [PATCH] 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 * 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 --- gcc/ChangeLog | 5 +++++ gcc/sel-sched-ir.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0ea71d96932..97a16649d0e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-08-11 Sergey Grechanik + + * 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 Alexander Monakov diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index c7e365a9904..4878460f882 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); -- 2.30.2