From: Richard Henderson Date: Tue, 11 Jun 2002 22:16:51 +0000 (-0700) Subject: * caller-save.c (init_caller_save): Clear INSN_CODE each iteration. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d27bab4c02174515503b311062ba90626ae4c1d2;p=gcc.git * caller-save.c (init_caller_save): Clear INSN_CODE each iteration. From-SVN: r54527 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9ca4c687f75..b765062cea1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-06-11 Richard Henderson + + * caller-save.c (init_caller_save): Clear INSN_CODE each iteration. + 2002-06-11 Richard Henderson * defaults.h (EH_FRAME_SECTION_NAME): Don't define if 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)