aboutsummaryrefslogtreecommitdiff
path: root/gcc/local-alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/local-alloc.c')
-rw-r--r--gcc/local-alloc.c16
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. */