diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 246e3daaabe..8f0b2953731 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-06-08 Richard Henderson + + PR target/21721 + * config/ia64/ia64.c (emit_predicate_relation_info): Skip p0. + 2005-06-08 Eric Botcazou PR target/21889 diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index ca4723e006f..d175a842ae6 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -7420,7 +7420,9 @@ emit_predicate_relation_info (void) && NOTE_LINE_NUMBER (NEXT_INSN (head)) == NOTE_INSN_BASIC_BLOCK) head = NEXT_INSN (head); - for (r = PR_REG (0); r < PR_REG (64); r += 2) + /* Skip p0, which may be thought to be live due to (reg:DI p0) + grabbing the entire block of predicate registers. */ + for (r = PR_REG (2); r < PR_REG (64); r += 2) if (REGNO_REG_SET_P (bb->global_live_at_start, r)) { rtx p = gen_rtx_REG (BImode, r);