diff options
Diffstat (limited to 'gcc/local-alloc.c')
-rw-r--r-- | gcc/local-alloc.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index 9457074..a01b99a 100644 --- a/gcc/local-alloc.c +++ b/gcc/local-alloc.c @@ -1028,9 +1028,9 @@ update_equiv_regs (void) once and used once. (If it were only set, but not used, flow would have deleted the setting insns.) Hence there can only be one insn in reg_equiv[REGNO].init_insns. */ - gcc_assert (reg_equiv[regno].init_insns != NULL_RTX); - gcc_assert (XEXP (reg_equiv[regno].init_insns, 1) - == NULL_RTX); + if (reg_equiv[regno].init_insns == NULL_RTX + || XEXP (reg_equiv[regno].init_insns, 1) != NULL_RTX) + abort (); equiv_insn = XEXP (reg_equiv[regno].init_insns, 0); /* We may not move instructions that can throw, since @@ -1188,10 +1188,8 @@ block_alloc (int b) while (1) { if (!NOTE_P (insn)) - {
- ++insn_count; - gcc_assert (insn_count <= max_uid); - } + if (++insn_count > max_uid) + abort (); if (insn == BB_HEAD (BASIC_BLOCK (b))) break; insn = PREV_INSN (insn); @@ -2112,8 +2110,8 @@ find_free_reg (enum reg_class class, enum machine_mode mode, int qtyno, #endif /* Validate our parameters. */ - gcc_assert (born_index >= 0); - gcc_assert (born_index < dead_index); + if (born_index < 0 || born_index > dead_index) + abort (); /* Don't let a pseudo live in a reg across a function call if we might get a nonlocal goto. */ |