From f81e79b5b4875091d95227d6e13997e3981b9181 Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Wed, 15 Aug 2007 20:08:43 +0000 Subject: [PATCH] re PR target/32963 (ICE in failed_reload, could not find a spill register) PR target/32963 caller-save.c (reg_save_code): Set invalide status on restore code. From-SVN: r127523 --- gcc/ChangeLog | 5 +++++ gcc/caller-save.c | 2 ++ 2 files changed, 7 insertions(+) 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 + + PR target/32963 + * caller-save.c (reg_save_code): Set invalide status on restore code. + 2007-08-15 Diego Novillo * 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);