aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>2000-08-22 20:24:10 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2000-08-22 21:24:10 +0100
commit1eb994b78bbf91c6f9161e4fa9f5a14b567ca20e (patch)
tree5c8fd877d09bd3a56adfe66f641f66a3632e08ab
parentf6a542deced2bd9cbe288ac334486148b5badf51 (diff)
downloadgcc-1eb994b78bbf91c6f9161e4fa9f5a14b567ca20e.zip
gcc-1eb994b78bbf91c6f9161e4fa9f5a14b567ca20e.tar.gz
gcc-1eb994b78bbf91c6f9161e4fa9f5a14b567ca20e.tar.bz2
toplev.c (rest_of_compilation): Rebuild label notes after post-reload splitting pass if...
* toplev.c (rest_of_compilation): Rebuild label notes after post-reload splitting pass if new labels have been created. From-SVN: r35892
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/toplev.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7bf3b85..55b82b1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Tue Aug 22 21:21:05 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * toplev.c (rest_of_compilation): Rebuild label notes after
+ post-reload splitting pass if new labels have been created.
+
2000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
* diagnostic.h (output_buffer_state): New macro.
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 225549a..55ff15d 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -3380,7 +3380,12 @@ rest_of_compilation (decl)
/* If optimizing, then go ahead and split insns now since we are about
to recompute flow information anyway. */
if (optimize > 0)
- split_all_insns (0);
+ {
+ int old_labelnum = max_label_num ();
+
+ split_all_insns (0);
+ rebuild_label_notes_after_reload |= old_labelnum != max_label_num ();
+ }
/* Register allocation and reloading may have turned an indirect jump into
a direct jump. If so, we must rebuild the JUMP_LABEL fields of