diff options
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 2f0b787ee57..d618c9fcf5c 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -985,7 +985,8 @@ set_nonzero_bits_and_sign_copies (rtx x, rtx set, && REGNO (x) >= FIRST_PSEUDO_REGISTER /* If this register is undefined at the start of the file, we can't say what its contents were. */ - && ! REGNO_REG_SET_P (ENTRY_BLOCK_PTR->next_bb->global_live_at_start, REGNO (x)) + && ! REGNO_REG_SET_P + (ENTRY_BLOCK_PTR->next_bb->il.rtl->global_live_at_start, REGNO (x)) && GET_MODE_BITSIZE (GET_MODE (x)) <= HOST_BITS_PER_WIDE_INT) { if (set == 0 || GET_CODE (set) == CLOBBER) @@ -8278,8 +8279,9 @@ reg_nonzero_bits_for_combine (rtx x, enum machine_mode mode, && (reg_stat[REGNO (x)].last_set_label == label_tick || (REGNO (x) >= FIRST_PSEUDO_REGISTER && REG_N_SETS (REGNO (x)) == 1 - && ! REGNO_REG_SET_P (ENTRY_BLOCK_PTR->next_bb->global_live_at_start, - REGNO (x)))) + && ! REGNO_REG_SET_P + (ENTRY_BLOCK_PTR->next_bb->il.rtl->global_live_at_start, + REGNO (x)))) && INSN_CUID (reg_stat[REGNO (x)].last_set) < subst_low_cuid) { *nonzero &= reg_stat[REGNO (x)].last_set_nonzero_bits; @@ -8345,8 +8347,9 @@ reg_num_sign_bit_copies_for_combine (rtx x, enum machine_mode mode, && (reg_stat[REGNO (x)].last_set_label == label_tick || (REGNO (x) >= FIRST_PSEUDO_REGISTER && REG_N_SETS (REGNO (x)) == 1 - && ! REGNO_REG_SET_P (ENTRY_BLOCK_PTR->next_bb->global_live_at_start, - REGNO (x)))) + && ! REGNO_REG_SET_P + (ENTRY_BLOCK_PTR->next_bb->il.rtl->global_live_at_start, + REGNO (x)))) && INSN_CUID (reg_stat[REGNO (x)].last_set) < subst_low_cuid) { *result = reg_stat[REGNO (x)].last_set_sign_bit_copies; @@ -11180,7 +11183,8 @@ get_last_value_validate (rtx *loc, rtx insn, int tick, int replace) || (! (regno >= FIRST_PSEUDO_REGISTER && REG_N_SETS (regno) == 1 && (! REGNO_REG_SET_P - (ENTRY_BLOCK_PTR->next_bb->global_live_at_start, regno))) + (ENTRY_BLOCK_PTR->next_bb->il.rtl->global_live_at_start, + regno))) && reg_stat[j].last_set_label > tick)) { if (replace) @@ -11290,7 +11294,8 @@ get_last_value (rtx x) && (regno < FIRST_PSEUDO_REGISTER || REG_N_SETS (regno) != 1 || (REGNO_REG_SET_P - (ENTRY_BLOCK_PTR->next_bb->global_live_at_start, regno))))) + (ENTRY_BLOCK_PTR->next_bb->il.rtl->global_live_at_start, + regno))))) return 0; /* If the value was set in a later insn than the ones we are processing, @@ -11451,7 +11456,7 @@ reg_dead_at_p (rtx reg, rtx insn) } for (i = reg_dead_regno; i < reg_dead_endregno; i++) - if (REGNO_REG_SET_P (block->global_live_at_start, i)) + if (REGNO_REG_SET_P (block->il.rtl->global_live_at_start, i)) return 0; return 1; @@ -12218,7 +12223,7 @@ distribute_notes (rtx notes, rtx from_insn, rtx i3, rtx i2) was dead, there's nothing left to do. Otherwise, we'll need to do a global life update after combine. */ if (REG_NOTE_KIND (note) == REG_DEAD && place == 0 - && REGNO_REG_SET_P (bb->global_live_at_start, + && REGNO_REG_SET_P (bb->il.rtl->global_live_at_start, REGNO (XEXP (note, 0)))) SET_BIT (refresh_blocks, this_basic_block->index); } |