summaryrefslogtreecommitdiff
path: root/gcc/loop-doloop.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2005-04-01 14:17:36 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2005-04-01 14:17:36 +0000
commitb5e624c6dc2cfbc1bc41fc4f4b70a320f0f0cadb (patch)
tree2faae66acc9a81f1dddcb31724e669a2eb325a04 /gcc/loop-doloop.c
parent71df4441367b6ed747ccc97431f1a63fc68ee00b (diff)
downloadgcc-b5e624c6dc2cfbc1bc41fc4f4b70a320f0f0cadb.tar.gz
local-alloc.c (update_equiv_regs): Use gcc_assert, gcc_unreachable.
* local-alloc.c (update_equiv_regs): Use gcc_assert, gcc_unreachable. (block_alloc, find_free_reg): Likewise. * loop-doloop.c (doloop_modify): Likewise. * loop-invariant.c (record_use): Likewise. * loop-iv.c (get_biv_step_1, get_biv_step, iv_analyze, get_iv_value, canon_condition, eliminate_implied_condition, eliminate_implied_condition, simplify_using_initial_values, shorten_into_mode, canonicalize_iv_subregs, iv_number_of_iterations): Likewise. * loop-unroll.c (expand_var_during_unrolling): Likewise. * loop-unswitch.c (compare_and_jump_seq, unswitch_single_loop, unswitch_loop): Likewise. * loop.c (INSN_LUID, loop_optimize, rtx_equal_for_loop_p, move_movables, replace_call_address, find_and_verify_loops, rtx_equal_for_prefetch_p, fold_rtx_mult_add, loop_iterations, record_giv, final_giv_value, general_induction_var, simplify_giv_expr, extension_within_bounds_p, try_copy_prop, loop_giv_dump): Likewise. From-SVN: r97394
Diffstat (limited to 'gcc/loop-doloop.c')
-rw-r--r--gcc/loop-doloop.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c
index 8968b10ab7e..c6ef37e84d6 100644
--- a/gcc/loop-doloop.c
+++ b/gcc/loop-doloop.c
@@ -299,21 +299,17 @@ doloop_modify (struct loop *loop, struct niter_desc *desc,
{
case NE:
/* Currently only NE tests against zero and one are supported. */
- if (XEXP (condition, 1) == const1_rtx)
+ noloop = XEXP (condition, 1);
+ if (noloop != const0_rtx)
{
+ gcc_assert (noloop == const1_rtx);
increment_count = true;
- noloop = const1_rtx;
}
- else if (XEXP (condition, 1) == const0_rtx)
- noloop = const0_rtx;
- else
- abort ();
break;
case GE:
/* Currently only GE tests against zero are supported. */
- if (XEXP (condition, 1) != const0_rtx)
- abort ();
+ gcc_assert (XEXP (condition, 1) == const0_rtx);
noloop = constm1_rtx;
@@ -330,7 +326,7 @@ doloop_modify (struct loop *loop, struct niter_desc *desc,
/* Abort if an invalid doloop pattern has been generated. */
default:
- abort ();
+ gcc_unreachable ();
}
if (increment_count)