OSDN Git Service

* flow.c (delete_noop_moves): Do not confuse libcall regions.
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jul 2001 08:54:59 +0000 (08:54 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jul 2001 08:54:59 +0000 (08:54 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44290 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/flow.c

index ed7a5ae..727bcf9 100644 (file)
@@ -1,3 +1,7 @@
+Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * flow.c (delete_noop_moves): Do not confuse libcall regions.
+
 2001-07-23  Richard Henderson  <rth@redhat.com>
 
        * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
index 904684a..5850daf 100644 (file)
@@ -4327,9 +4327,11 @@ delete_noop_moves (f)
          next = NEXT_INSN (insn);
          if (INSN_P (insn) && noop_move_p (insn))
            {
-             if (insn == bb->end)
-               bb->end = PREV_INSN (insn);
-             flow_delete_insn (insn);
+             /* Do not call flow_delete_insn here to not confuse backward
+                pointers of LIBCALL block.  */
+             PUT_CODE (insn, NOTE);
+             NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
+             NOTE_SOURCE_FILE (insn) = 0;
            }
        }
     }