OSDN Git Service

2001-08-29 Andrew MacLeod <amacleod@redhat.com>
authoramacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Aug 2001 21:43:41 +0000 (21:43 +0000)
committeramacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Aug 2001 21:43:41 +0000 (21:43 +0000)
* gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
note should not be considered outside the libcall block.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45276 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/gcse.c

index 9c1b07c..cbf514b 100644 (file)
@@ -1,3 +1,8 @@
+2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
+       note should not be considered outside the libcall block.
+
 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
index 2a33a15..029c5b6 100644 (file)
@@ -2545,10 +2545,12 @@ compute_hash_table (set_p)
        if (INSN_P (insn))
          {
            if (find_reg_note (insn, REG_LIBCALL, NULL_RTX))
-             in_libcall_block = 1;
-           else if (find_reg_note (insn, REG_RETVAL, NULL_RTX))
-             in_libcall_block = 0;
-           hash_scan_insn (insn, set_p, in_libcall_block);
+              in_libcall_block = 1;
+            else if (set_p && find_reg_note (insn, REG_RETVAL, NULL_RTX))
+              in_libcall_block = 0;
+            hash_scan_insn (insn, set_p, in_libcall_block);
+            if (!set_p && find_reg_note (insn, REG_RETVAL, NULL_RTX))
+              in_libcall_block = 0;
        }
     }