From 200ab6fd4b218b3e9f5617bcf1d36857b68e0c1e Mon Sep 17 00:00:00 2001
From: Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Date: Fri, 16 Oct 2009 10:09:28 +0000
Subject: [PATCH] s390.c (s390_z10_optimize_cmp): Skip notes when investigating
 previous or next insns.

2009-10-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_z10_optimize_cmp): Skip notes when
	investigating previous or next insns.

From-SVN: r152896
---
 gcc/ChangeLog          | 5 +++++
 gcc/config/s390/s390.c | 4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b51f64818d7a..dea101110588 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-10-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+	* config/s390/s390.c (s390_z10_optimize_cmp): Skip notes when
+	investigating previous or next insns.
+
 2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
 
 	* tree-sra.c (build_ref_for_offset_1): Update comment.
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 3be52d0d9a44..f9f2662e55aa 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -9866,7 +9866,7 @@ s390_z10_optimize_cmp (rtx insn)
 
   /* Swap the COMPARE arguments and its mask if there is a
      conflicting access in the previous insn.  */
-  prev_insn = PREV_INSN (insn);
+  prev_insn = prev_nonnote_insn (insn);
   if (prev_insn != NULL_RTX && INSN_P (prev_insn)
       && reg_referenced_p (*op1, PATTERN (prev_insn)))
     s390_swap_cmp (cond, op0, op1, insn);
@@ -9877,7 +9877,7 @@ s390_z10_optimize_cmp (rtx insn)
      the operands, or if swapping them would cause a conflict
      with the previous insn, issue a NOP after the COMPARE in
      order to separate the two instuctions.  */
-  next_insn = NEXT_INSN (insn);
+  next_insn = next_nonnote_insn (insn);
   if (next_insn != NULL_RTX && INSN_P (next_insn)
       && s390_non_addr_reg_read_p (*op1, next_insn))
     {
-- 
GitLab