aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2001-07-24 10:54:59 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2001-07-24 08:54:59 +0000
commit8f54d2fffdddf8dab5a7820d284c4aeaa0e837b2 (patch)
treeab2e8ae568de710f7cdef4545f31ea50b0300b44
parent016c22b5b416c34399f4bc4bb63e74b164e64f50 (diff)
downloadgcc-8f54d2fffdddf8dab5a7820d284c4aeaa0e837b2.zip
gcc-8f54d2fffdddf8dab5a7820d284c4aeaa0e837b2.tar.gz
gcc-8f54d2fffdddf8dab5a7820d284c4aeaa0e837b2.tar.bz2
* flow.c (delete_noop_moves): Do not confuse libcall regions.
From-SVN: r44290
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/flow.c8
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ed7a5ae..727bcf9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/flow.c b/gcc/flow.c
index 904684a..5850daf 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -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;
}
}
}