From c515799cd1dcb0df1462738acce002dd6f9f0099 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Wed, 2 Sep 1992 17:08:44 -0600 Subject: [PATCH] caller-save.c (init_caller_save): If we were unable to find a simple insn which meets all its constraints to save... * caller-save.c (init_caller_save): If we were unable to find a simple insn which meets all its constraints to save and restore with a single insn in a mode, then set regno_save_mode to VOIDmode to insure that this mode is never used to caller-save the current register. From-SVN: r2038 --- gcc/caller-save.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gcc/caller-save.c b/gcc/caller-save.c index ed4c7819336..35dc355e4fc 100644 --- a/gcc/caller-save.c +++ b/gcc/caller-save.c @@ -223,11 +223,15 @@ init_caller_save () ok &= constrain_operands (reg_restore_code[i][j], 1); } - if (! ok && j == 1) - { - call_fixed_regs[i] = 1; - SET_HARD_REG_BIT (call_fixed_reg_set, i); - } + if (! ok) + { + regno_save_mode[i][j] = VOIDmode; + if (j == 1) + { + call_fixed_regs[i] = 1; + SET_HARD_REG_BIT (call_fixed_reg_set, i); + } + } } end_sequence (); -- 2.30.2