summaryrefslogtreecommitdiff
path: root/gcc/caller-save.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-11 22:16:51 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-11 22:16:51 +0000
commit694a344c0b30abb8441105d0bf9e6b49679e7add (patch)
tree6bf56f4ccb96bdeb6fa74fa58351f15bc5dfe8c8 /gcc/caller-save.c
parent5908b37c0d83a57660c5d8e356cb3abb4c7fc0cc (diff)
downloadgcc-694a344c0b30abb8441105d0bf9e6b49679e7add.tar.gz
* caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54527 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/caller-save.c')
-rw-r--r--gcc/caller-save.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/caller-save.c b/gcc/caller-save.c
index 920bafd241b..2c6e5ac79d1 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)