diff options
Diffstat (limited to 'gcc/reload.c')
-rw-r--r-- | gcc/reload.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 529cd14..3e563d0 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -2321,7 +2321,7 @@ operands_match_p (rtx x, rtx y) return 0; case LABEL_REF: - return XEXP (x, 0) == XEXP (y, 0); + return LABEL_REF_LABEL (x) == LABEL_REF_LABEL (y); case SYMBOL_REF: return XSTR (x, 0) == XSTR (y, 0); @@ -4221,16 +4221,17 @@ find_reloads (rtx_insn *insn, int replace, int ind_levels, int live_known, this instruction. */ if (GET_CODE (substitution) == LABEL_REF && !find_reg_note (insn, REG_LABEL_OPERAND, - XEXP (substitution, 0)) + LABEL_REF_LABEL (substitution)) /* For a JUMP_P, if it was a branch target it must have already been recorded as such. */ && (!JUMP_P (insn) - || !label_is_jump_target_p (XEXP (substitution, 0), + || !label_is_jump_target_p (LABEL_REF_LABEL (substitution), insn))) { - add_reg_note (insn, REG_LABEL_OPERAND, XEXP (substitution, 0)); - if (LABEL_P (XEXP (substitution, 0))) - ++LABEL_NUSES (XEXP (substitution, 0)); + add_reg_note (insn, REG_LABEL_OPERAND, + LABEL_REF_LABEL (substitution)); + if (LABEL_P (LABEL_REF_LABEL (substitution))) + ++LABEL_NUSES (LABEL_REF_LABEL (substitution)); } } |