diff options
Diffstat (limited to 'gcc/lra-eliminations.c')
-rw-r--r-- | gcc/lra-eliminations.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/gcc/lra-eliminations.c b/gcc/lra-eliminations.c index 5aa0cb8..24a0dc7 100644 --- a/gcc/lra-eliminations.c +++ b/gcc/lra-eliminations.c @@ -977,6 +977,9 @@ eliminate_regs_in_insn (rtx insn, bool replace_p) } } + if (! validate_p) + return; + /* Substitute the operands; the new values are in the substed_operand array. */ for (i = 0; i < static_id->n_operands; i++) @@ -984,16 +987,13 @@ eliminate_regs_in_insn (rtx insn, bool replace_p) for (i = 0; i < static_id->n_dups; i++) *id->dup_loc[i] = substed_operand[(int) static_id->dup_num[i]]; - if (validate_p) - { - /* If we had a move insn but now we don't, re-recognize it. - This will cause spurious re-recognition if the old move had a - PARALLEL since the new one still will, but we can't call - single_set without having put new body into the insn and the - re-recognition won't hurt in this rare case. */ - id = lra_update_insn_recog_data (insn); - static_id = id->insn_static_data; - } + /* If we had a move insn but now we don't, re-recognize it. + This will cause spurious re-recognition if the old move had a + PARALLEL since the new one still will, but we can't call + single_set without having put new body into the insn and the + re-recognition won't hurt in this rare case. */ + id = lra_update_insn_recog_data (insn); + static_id = id->insn_static_data; } /* Spill pseudos which are assigned to hard registers in SET. Add |