summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/caller-save.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f7e31038460..f63862ada0c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2007-08-15 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/32963
+ * caller-save.c (reg_save_code): Set invalide status on restore code.
+
2007-08-15 Diego Novillo <dnovillo@google.com>
* tree-ssa-alias.c (compute_memory_partitions): Use
diff --git a/gcc/caller-save.c b/gcc/caller-save.c
index 82672e0c915..26ac50eadd1 100644
--- a/gcc/caller-save.c
+++ b/gcc/caller-save.c
@@ -113,6 +113,7 @@ reg_save_code (int reg, enum machine_mode mode)
if (!HARD_REGNO_MODE_OK (reg, mode))
{
cached_reg_save_code[reg][mode] = -1;
+ cached_reg_restore_code[reg][mode] = -1;
return -1;
}
@@ -124,6 +125,7 @@ reg_save_code (int reg, enum machine_mode mode)
/* Force re-recognition of the modified insns. */
INSN_CODE (saveinsn) = -1;
+ INSN_CODE (restinsn) = -1;
cached_reg_save_code[reg][mode] = recog_memoized (saveinsn);
cached_reg_restore_code[reg][mode] = recog_memoized (restinsn);