diff options
author | Steve Ellcey <sje@cup.hp.com> | 2007-08-15 20:08:43 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2007-08-15 20:08:43 +0000 |
commit | f81e79b5b4875091d95227d6e13997e3981b9181 (patch) | |
tree | ff75b5886e4098fc54e9cc257274e59919c0a3fd | |
parent | 336e494f860ab137e0e6f9f916f40aa8ed39af41 (diff) | |
download | gcc-f81e79b5b4875091d95227d6e13997e3981b9181.zip gcc-f81e79b5b4875091d95227d6e13997e3981b9181.tar.gz gcc-f81e79b5b4875091d95227d6e13997e3981b9181.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/caller-save.c | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f7e3103..f63862a 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 82672e0..26ac50e 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); |