aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-06-11 15:16:51 -0700
committerRichard Henderson <rth@gcc.gnu.org>2002-06-11 15:16:51 -0700
commitd27bab4c02174515503b311062ba90626ae4c1d2 (patch)
tree6bf56f4ccb96bdeb6fa74fa58351f15bc5dfe8c8
parentbc2a8f0842d35e20fca44bca813de15f200f3d7f (diff)
downloadgcc-d27bab4c02174515503b311062ba90626ae4c1d2.zip
gcc-d27bab4c02174515503b311062ba90626ae4c1d2.tar.gz
gcc-d27bab4c02174515503b311062ba90626ae4c1d2.tar.bz2
* caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
From-SVN: r54527
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/caller-save.c5
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9ca4c68..b765062 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2002-06-11 Richard Henderson <rth@redhat.com>
+ * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
+
+2002-06-11 Richard Henderson <rth@redhat.com>
+
* defaults.h (EH_FRAME_SECTION_NAME): Don't define if
DWARF2_UNWIND_INFO is false.
diff --git a/gcc/caller-save.c b/gcc/caller-save.c
index 920bafd..2c6e5ac 100644
--- a/gcc/caller-save.c
+++ b/gcc/caller-save.c
@@ -208,6 +208,10 @@ init_caller_save ()
PUT_MODE (test_reg, mode);
PUT_MODE (test_mem, mode);
+ /* Force re-recognition of the modified insns. */
+ INSN_CODE (saveinsn) = -1;
+ INSN_CODE (restinsn) = -1;
+
reg_save_code[i][mode] = recog_memoized (saveinsn);
reg_restore_code[i][mode] = recog_memoized (restinsn);
@@ -234,6 +238,7 @@ init_caller_save ()
reg_save_code[i][mode] = -1;
reg_restore_code[i][mode] = -1;
}
+
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
for (j = 1; j <= MOVE_MAX_WORDS; j++)
if (reg_save_code [i][regno_save_mode[i][j]] == -1)