*** empty log message ***

From-SVN: r1482
This commit is contained in:
Richard Kenner 1992-07-06 18:05:53 -04:00
parent 95393dfdf8
commit 5fd8383e94
1 changed files with 87 additions and 87 deletions

View File

@ -1,5 +1,5 @@
/* Move constant computations out of loops.
Copyright (C) 1987, 1988, 1989, 1991 Free Software Foundation, Inc.
Copyright (C) 1987, 1988, 1989, 1991, 1992 Free Software Foundation, Inc.
This file is part of GNU CC.
@ -97,12 +97,12 @@ static char *loop_invalid;
rtx *loop_number_exit_labels;
/* Holds the number of loop iterations. It is zero if the number could not be
calculated. Must be unsigned long since the number of iterations can
be as high as 2^31-1. For loops with a DImode iterator, this number will
will be zero if the number of loop iterations is too large for an
unsigned long to hold. */
calculated. Must be unsigned since the number of iterations can
be as high as 2^wordsize-1. For loops with a wider iterator, this number
will will be zero if the number of loop iterations is too large for an
unsigned integer to hold. */
unsigned long loop_n_iterations;
unsigned HOST_WIDE_INT loop_n_iterations;
/* Nonzero if there is a subroutine call in the current loop.
(unknown_address_altered is also nonzero in this case.) */
@ -298,7 +298,7 @@ init_loop ()
{
char *free_point = (char *) oballoc (1);
rtx reg = gen_rtx (REG, SImode, 0);
rtx pow2 = gen_rtx (CONST_INT, VOIDmode, 32);
rtx pow2 = GEN_INT (32);
rtx lea;
int i;
@ -307,11 +307,8 @@ init_loop ()
/* We multiply by 2 to reconcile the difference in scale between
these two ways of computing costs. Otherwise the cost of a copy
will be far less than the cost of an add. */
#ifdef REGISTER_MOVE_COST
copy_cost = REGISTER_MOVE_COST (GENERAL_REGS, GENERAL_REGS) * 2;
#else
copy_cost = 2 * 2;
#endif
/* Free the objects we just allocated. */
obfree (free_point);
@ -637,10 +634,10 @@ scan_loop (loop_start, end, nregs)
}
if (GET_RTX_CLASS (GET_CODE (p)) == 'i'
&& find_reg_note (p, REG_LIBCALL, 0))
&& find_reg_note (p, REG_LIBCALL, NULL_RTX))
in_libcall = 1;
else if (GET_RTX_CLASS (GET_CODE (p)) == 'i'
&& find_reg_note (p, REG_RETVAL, 0))
&& find_reg_note (p, REG_RETVAL, NULL_RTX))
in_libcall = 0;
if (GET_CODE (p) == INSN
@ -662,15 +659,15 @@ scan_loop (loop_start, end, nregs)
Otherwise, only use the REG_EQUAL contents if a REG_RETVAL note
is present. */
temp = find_reg_note (p, REG_EQUIV, 0);
temp = find_reg_note (p, REG_EQUIV, NULL_RTX);
if (temp)
src = XEXP (temp, 0), move_insn = 1;
else
{
temp = find_reg_note (p, REG_EQUAL, 0);
temp = find_reg_note (p, REG_EQUAL, NULL_RTX);
if (temp && CONSTANT_P (XEXP (temp, 0)))
src = XEXP (temp, 0), move_insn = 1;
if (temp && find_reg_note (p, REG_RETVAL, 0))
if (temp && find_reg_note (p, REG_RETVAL, NULL_RTX))
{
src = XEXP (temp, 0);
/* A libcall block can use regs that don't appear in
@ -736,7 +733,7 @@ scan_loop (loop_start, end, nregs)
== INSN_UID (reg_single_usage[regno]))
&& n_times_set[REGNO (SET_DEST (set))] == 1
&& ! side_effects_p (SET_SRC (set))
&& ! find_reg_note (p, REG_RETVAL, 0)
&& ! find_reg_note (p, REG_RETVAL, NULL_RTX)
#ifdef SMALL_REGISTER_CLASSES
&& ! (GET_CODE (SET_SRC (set)) == REG
&& REGNO (SET_SRC (set)) < FIRST_PSEUDO_REGISTER)
@ -773,7 +770,7 @@ scan_loop (loop_start, end, nregs)
m->forces = 0;
m->partial = 0;
m->move_insn = move_insn;
m->is_equiv = (find_reg_note (p, REG_EQUIV, 0) != 0);
m->is_equiv = (find_reg_note (p, REG_EQUIV, NULL_RTX) != 0);
m->savemode = VOIDmode;
m->regno = regno;
/* Set M->cond if either invariant_p or consec_sets_invariant_p
@ -785,7 +782,7 @@ scan_loop (loop_start, end, nregs)
m->lifetime = (uid_luid[regno_last_uid[regno]]
- uid_luid[regno_first_uid[regno]]);
m->savings = n_times_used[regno];
if (find_reg_note (p, REG_RETVAL, 0))
if (find_reg_note (p, REG_RETVAL, NULL_RTX))
m->savings += libcall_benefit (p);
n_times_set[regno] = move_insn ? -2 : -1;
/* Add M to the end of the chain MOVABLES. */
@ -807,19 +804,19 @@ scan_loop (loop_start, end, nregs)
/* We must now reset m->move_insn, m->is_equiv, and possibly
m->set_src to correspond to the effects of all the
insns. */
temp = find_reg_note (p, REG_EQUIV, 0);
temp = find_reg_note (p, REG_EQUIV, NULL_RTX);
if (temp)
m->set_src = XEXP (temp, 0), m->move_insn = 1;
else
{
temp = find_reg_note (p, REG_EQUAL, 0);
temp = find_reg_note (p, REG_EQUAL, NULL_RTX);
if (temp && CONSTANT_P (XEXP (temp, 0)))
m->set_src = XEXP (temp, 0), m->move_insn = 1;
else
m->move_insn = 0;
}
m->is_equiv = (find_reg_note (p, REG_EQUIV, 0) != 0);
m->is_equiv = (find_reg_note (p, REG_EQUIV, NULL_RTX) != 0);
}
}
/* If this register is always set within a STRICT_LOW_PART
@ -1025,7 +1022,7 @@ static rtx
libcall_other_reg (insn, equiv)
rtx insn, equiv;
{
rtx note = find_reg_note (insn, REG_RETVAL, 0);
rtx note = find_reg_note (insn, REG_RETVAL, NULL_RTX);
rtx p = XEXP (note, 0);
rtx output = 0;
@ -1100,7 +1097,7 @@ libcall_benefit (last)
rtx insn;
int benefit = 0;
for (insn = XEXP (find_reg_note (last, REG_RETVAL, 0), 0);
for (insn = XEXP (find_reg_note (last, REG_RETVAL, NULL_RTX), 0);
insn != last; insn = NEXT_INSN (insn))
{
if (GET_CODE (insn) == CALL_INSN)
@ -1130,7 +1127,7 @@ skip_consec_insns (insn, count)
/* Do this at start of loop, since INSN is guaranteed to
be an insn here. */
if (GET_CODE (insn) != NOTE
&& (temp = find_reg_note (insn, REG_LIBCALL, 0)))
&& (temp = find_reg_note (insn, REG_LIBCALL, NULL_RTX)))
insn = XEXP (temp, 0);
do insn = NEXT_INSN (insn);
@ -1154,7 +1151,7 @@ ignore_some_movables (movables)
for (m = movables; m; m = m->next)
{
/* Is this a movable for the value of a libcall? */
rtx note = find_reg_note (m->insn, REG_RETVAL, 0);
rtx note = find_reg_note (m->insn, REG_RETVAL, NULL_RTX);
if (note)
{
rtx insn;
@ -1418,6 +1415,11 @@ rtx_equal_for_loop_p (x, y, movables)
{
switch (fmt[i])
{
case 'w':
if (XWINT (x, i) != XWINT (y, i))
return 0;
break;
case 'i':
if (XINT (x, i) != XINT (y, i))
return 0;
@ -1652,14 +1654,14 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
/* If this is the first insn of a library call sequence,
skip to the end. */
if (GET_CODE (p) != NOTE
&& (temp = find_reg_note (p, REG_LIBCALL, 0)))
&& (temp = find_reg_note (p, REG_LIBCALL, NULL_RTX)))
p = XEXP (temp, 0);
/* If this is the last insn of a libcall sequence, then
delete every insn in the sequence except the last.
The last insn is handled in the normal manner. */
if (GET_CODE (p) != NOTE
&& (temp = find_reg_note (p, REG_RETVAL, 0)))
&& (temp = find_reg_note (p, REG_RETVAL, NULL_RTX)))
{
temp = XEXP (temp, 0);
while (temp != p)
@ -1677,7 +1679,7 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
add_label_notes (m->set_src, temp);
i1 = emit_insns_before (temp, loop_start);
if (! find_reg_note (i1, REG_EQUAL, 0))
if (! find_reg_note (i1, REG_EQUAL, NULL_RTX))
REG_NOTES (i1)
= gen_rtx (EXPR_LIST,
m->is_equiv ? REG_EQUIV : REG_EQUAL,
@ -1699,14 +1701,14 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
/* Do this at start of loop, since p is guaranteed to
be an insn here. */
if (GET_CODE (p) != NOTE
&& (temp = find_reg_note (p, REG_LIBCALL, 0)))
&& (temp = find_reg_note (p, REG_LIBCALL, NULL_RTX)))
p = XEXP (temp, 0);
/* If last insn of libcall sequence, move all
insns except the last before the loop. The last
insn is handled in the normal manner. */
if (GET_CODE (p) != NOTE
&& (temp = find_reg_note (p, REG_RETVAL, 0)))
&& (temp = find_reg_note (p, REG_RETVAL, NULL_RTX)))
{
rtx fn_address = 0;
rtx fn_reg = 0;
@ -1748,7 +1750,8 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
if (GET_CODE (next) == CALL_INSN
&& GET_CODE (body) == SET
&& GET_CODE (SET_DEST (body)) == REG
&& (n = find_reg_note (temp, REG_EQUAL, 0)))
&& (n = find_reg_note (temp, REG_EQUAL,
NULL_RTX)))
{
fn_reg = SET_SRC (body);
if (GET_CODE (fn_reg) != REG)
@ -1790,8 +1793,8 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
start_sequence ();
tem = expand_binop
(GET_MODE (reg), and_optab, reg,
gen_rtx (CONST_INT, VOIDmode,
((1 << GET_MODE_BITSIZE (m->savemode)))
GEN_INT ((((HOST_WIDE_INT) 1
<< GET_MODE_BITSIZE (m->savemode)))
- 1),
reg, 1, OPTAB_LIB_WIDEN);
if (tem == 0)
@ -1832,10 +1835,10 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
/* If library call, now fix the REG_NOTES that contain
insn pointers, namely REG_LIBCALL on FIRST
and REG_RETVAL on I1. */
if (temp = find_reg_note (i1, REG_RETVAL, 0))
if (temp = find_reg_note (i1, REG_RETVAL, NULL_RTX))
{
XEXP (temp, 0) = first;
temp = find_reg_note (first, REG_LIBCALL, 0);
temp = find_reg_note (first, REG_LIBCALL, NULL_RTX);
XEXP (temp, 0) = i1;
}
@ -1898,7 +1901,8 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
/* if library call, delete all insn except last, which
is deleted below */
if (temp = find_reg_note (m1->insn, REG_RETVAL, 0))
if (temp = find_reg_note (m1->insn, REG_RETVAL,
NULL_RTX))
{
for (temp = XEXP (temp, 0); temp != m1->insn;
temp = NEXT_INSN (temp))
@ -2662,9 +2666,9 @@ int
addr_overlap_p (other, base, size)
rtx other;
rtx base;
int size;
HOST_WIDE_INT size;
{
int start = 0, end;
HOST_WIDE_INT start = 0, end;
if (GET_CODE (base) == CONST)
base = XEXP (base, 0);
@ -2718,7 +2722,7 @@ consec_sets_invariant_p (reg, n_sets, insn)
code = GET_CODE (p);
/* If library call, skip to end of of it. */
if (code == INSN && (temp = find_reg_note (p, REG_LIBCALL, 0)))
if (code == INSN && (temp = find_reg_note (p, REG_LIBCALL, NULL_RTX)))
p = XEXP (temp, 0);
this = 0;
@ -2730,7 +2734,7 @@ consec_sets_invariant_p (reg, n_sets, insn)
this = invariant_p (SET_SRC (set));
if (this != 0)
value |= this;
else if (temp = find_reg_note (p, REG_EQUAL, 0))
else if (temp = find_reg_note (p, REG_EQUAL, NULL_RTX))
{
this = invariant_p (XEXP (temp, 0));
if (this != 0)
@ -3416,7 +3420,7 @@ strength_reduce (scan_start, end, loop_top, insn_count,
&src_reg, &add_val,
&mult_val))
/* Equivalent expression is a giv. */
|| ((regnote = find_reg_note (p, REG_EQUAL, 0))
|| ((regnote = find_reg_note (p, REG_EQUAL, NULL_RTX))
&& (benefit = general_induction_var (XEXP (regnote, 0),
&src_reg,
&add_val, &mult_val))))
@ -3438,7 +3442,7 @@ strength_reduce (scan_start, end, loop_top, insn_count,
rtx temp;
/* If this is a library call, increase benefit. */
if (find_reg_note (p, REG_RETVAL, 0))
if (find_reg_note (p, REG_RETVAL, NULL_RTX))
benefit += libcall_benefit (p);
/* Skip the consecutive insns, if there are any. */
@ -3449,7 +3453,7 @@ strength_reduce (scan_start, end, loop_top, insn_count,
Do this at start of loop, since INSN is guaranteed to
be an insn here. */
if (GET_CODE (p) != NOTE
&& (temp = find_reg_note (p, REG_LIBCALL, 0)))
&& (temp = find_reg_note (p, REG_LIBCALL, NULL_RTX)))
p = XEXP (temp, 0);
do p = NEXT_INSN (p);
@ -3457,7 +3461,7 @@ strength_reduce (scan_start, end, loop_top, insn_count,
}
record_giv (v, p, src_reg, dest_reg, mult_val, add_val, benefit,
DEST_REG, not_every_iteration, 0, loop_start,
DEST_REG, not_every_iteration, NULL_PTR, loop_start,
loop_end);
}
@ -4681,8 +4685,7 @@ basic_induction_var (x, dest_reg, inc_val, mult_val)
case MINUS:
if (XEXP (x, 0) == dest_reg
&& GET_CODE (XEXP (x, 1)) == CONST_INT)
*inc_val = gen_rtx (CONST_INT, VOIDmode,
- INTVAL (XEXP (x, 1)));
*inc_val = GEN_INT (- INTVAL (XEXP (x, 1)));
else
return 0;
@ -4847,7 +4850,7 @@ simplify_giv_expr (x, benefit)
mode, this can't be a giv. */
if (mode != VOIDmode
&& (GET_MODE_CLASS (mode) != MODE_INT
|| GET_MODE_BITSIZE (mode) > HOST_BITS_PER_INT))
|| GET_MODE_BITSIZE (mode) > HOST_BITS_PER_WIDE_INT))
return 0;
switch (GET_CODE (x))
@ -4943,9 +4946,7 @@ simplify_giv_expr (x, benefit)
return simplify_giv_expr (gen_rtx (PLUS, mode,
XEXP (x, 0),
gen_rtx (MULT, mode,
XEXP (x, 1),
gen_rtx (CONST_INT,
VOIDmode, -1))),
XEXP (x, 1), constm1_rtx)),
benefit);
case MULT:
@ -4978,7 +4979,7 @@ simplify_giv_expr (x, benefit)
case CONST_INT:
/* Product of two constants. */
return gen_rtx (CONST_INT, mode, INTVAL (arg0) * INTVAL (arg1));
return GEN_INT (INTVAL (arg0) * INTVAL (arg1));
case USE:
/* invar * invar. Not giv. */
@ -5013,15 +5014,13 @@ simplify_giv_expr (x, benefit)
return simplify_giv_expr (gen_rtx (MULT, mode,
XEXP (x, 0),
gen_rtx (CONST_INT, VOIDmode,
1 << INTVAL (XEXP (x, 1)))),
GEN_INT ((HOST_WIDE_INT) 1
<< INTVAL (XEXP (x, 1)))),
benefit);
case NEG:
/* "-a" is "a * (-1)" */
return simplify_giv_expr (gen_rtx (MULT, mode,
XEXP (x, 0),
gen_rtx (CONST_INT, VOIDmode, -1)),
return simplify_giv_expr (gen_rtx (MULT, mode, XEXP (x, 0), constm1_rtx),
benefit);
case NOT:
@ -5145,7 +5144,7 @@ consec_sets_giv (first_benefit, p, src_reg, dest_reg,
code = GET_CODE (p);
/* If libcall, skip to end of call sequence. */
if (code == INSN && (temp = find_reg_note (p, REG_LIBCALL, 0)))
if (code == INSN && (temp = find_reg_note (p, REG_LIBCALL, NULL_RTX)))
p = XEXP (temp, 0);
if (code == INSN
@ -5155,12 +5154,12 @@ consec_sets_giv (first_benefit, p, src_reg, dest_reg,
&& ((benefit = general_induction_var (SET_SRC (set), &src_reg,
add_val, mult_val))
/* Giv created by equivalent expression. */
|| ((temp = find_reg_note (p, REG_EQUAL, 0))
|| ((temp = find_reg_note (p, REG_EQUAL, NULL_RTX))
&& (benefit = general_induction_var (XEXP (temp, 0), &src_reg,
add_val, mult_val))))
&& src_reg == v->src_reg)
{
if (find_reg_note (p, REG_RETVAL, 0))
if (find_reg_note (p, REG_RETVAL, NULL_RTX))
benefit += libcall_benefit (p);
count--;
@ -5215,8 +5214,7 @@ express_from (g1, g2)
|| INTVAL (g2->mult_val) % INTVAL (g1->mult_val) != 0)
return 0;
mult = gen_rtx (CONST_INT, VOIDmode,
INTVAL (g2->mult_val) / INTVAL (g1->mult_val));
mult = GEN_INT (INTVAL (g2->mult_val) / INTVAL (g1->mult_val));
add = plus_constant (g2->add_val, - INTVAL (g1->add_val) * INTVAL (mult));
/* Form simplified final result. */
@ -5378,7 +5376,7 @@ product_cheap_p (a, b)
rtl_obstack = &temp_obstack;
start_sequence ();
expand_mult (GET_MODE (a), a, b, 0, 0);
expand_mult (GET_MODE (a), a, b, NULL_RTX, 0);
tmp = gen_sequence ();
end_sequence ();
@ -5500,7 +5498,7 @@ check_dbra_loop (loop_end, insn_count, loop_start)
{
/* register always nonnegative, add REG_NOTE to branch */
REG_NOTES (PREV_INSN (loop_end))
= gen_rtx (EXPR_LIST, REG_NONNEG, 0,
= gen_rtx (EXPR_LIST, REG_NONNEG, NULL_RTX,
REG_NOTES (PREV_INSN (loop_end)));
bl->nonneg = 1;
@ -5525,7 +5523,7 @@ check_dbra_loop (loop_end, insn_count, loop_start)
&& INTVAL (bl->biv->add_val) == -1)
{
REG_NOTES (PREV_INSN (loop_end))
= gen_rtx (EXPR_LIST, REG_NONNEG, 0,
= gen_rtx (EXPR_LIST, REG_NONNEG, NULL_RTX,
REG_NOTES (PREV_INSN (loop_end)));
bl->nonneg = 1;
@ -5623,13 +5621,11 @@ check_dbra_loop (loop_end, insn_count, loop_start)
/* Save some info needed to produce the new insns. */
reg = bl->biv->dest_reg;
jump_label = XEXP (SET_SRC (PATTERN (PREV_INSN (loop_end))), 1);
new_add_val = gen_rtx (CONST_INT, VOIDmode,
- INTVAL (bl->biv->add_val));
new_add_val = GEN_INT (- INTVAL (bl->biv->add_val));
final_value = XEXP (comparison, 1);
start_value = gen_rtx (CONST_INT, VOIDmode,
(INTVAL (XEXP (comparison, 1))
- INTVAL (bl->biv->add_val)));
start_value = GEN_INT (INTVAL (XEXP (comparison, 1))
- INTVAL (bl->biv->add_val));
/* Initialize biv to start_value before loop start.
The old initializing insn will be deleted as a
@ -5666,7 +5662,8 @@ check_dbra_loop (loop_end, insn_count, loop_start)
/* Add new compare/branch insn at end of loop. */
start_sequence ();
emit_cmp_insn (reg, const0_rtx, GE, 0, GET_MODE (reg), 0, 0);
emit_cmp_insn (reg, const0_rtx, GE, NULL_RTX,
GET_MODE (reg), 0, 0);
emit_jump_insn (gen_bge (XEXP (jump_label, 0)));
tem = gen_sequence ();
end_sequence ();
@ -5682,7 +5679,7 @@ check_dbra_loop (loop_end, insn_count, loop_start)
/* Increment of LABEL_NUSES done above. */
/* Register is now always nonnegative,
so add REG_NONNEG note to the branch. */
REG_NOTES (tem) = gen_rtx (EXPR_LIST, REG_NONNEG, 0,
REG_NOTES (tem) = gen_rtx (EXPR_LIST, REG_NONNEG, NULL_RTX,
REG_NOTES (tem));
}
@ -5913,10 +5910,9 @@ maybe_eliminate_biv_1 (x, insn, bl, eliminate_p, where)
&& GET_CODE (v->mult_val) == CONST_INT
&& GET_CODE (v->add_val) == CONST_INT
&& validate_change (insn, &XEXP (x, arg_operand),
gen_rtx (CONST_INT, VOIDmode,
(INTVAL (arg)
* INTVAL (v->mult_val)
+ INTVAL (v->add_val))), 0))
GEN_INT (INTVAL (arg)
* INTVAL (v->mult_val)
+ INTVAL (v->add_val)), 0))
return 1;
/* Otherwise, load it into a register. */
@ -6255,9 +6251,11 @@ get_condition (jump, earliest)
|| (((code == NE
|| (code == LT
&& GET_MODE_CLASS (inner_mode) == MODE_INT
&& GET_MODE_BITSIZE (inner_mode) <= HOST_BITS_PER_INT
&& (GET_MODE_BITSIZE (inner_mode)
<= HOST_BITS_PER_WIDE_INT)
&& (STORE_FLAG_VALUE
& (1 << (GET_MODE_BITSIZE (inner_mode) - 1))))
& ((HOST_WIDE_INT) 1
<< (GET_MODE_BITSIZE (inner_mode) - 1))))
#ifdef FLOAT_STORE_FLAG_VALUE
|| (code == LT
&& GET_MODE_CLASS (inner_mode) == MODE_FLOAT
@ -6268,10 +6266,12 @@ get_condition (jump, earliest)
x = SET_SRC (set);
else if (((code == EQ
|| (code == GE
&& GET_MODE_BITSIZE (inner_mode) <= HOST_BITS_PER_INT
&& (GET_MODE_BITSIZE (inner_mode)
<= HOST_BITS_PER_WIDE_INT)
&& GET_MODE_CLASS (inner_mode) == MODE_INT
&& (STORE_FLAG_VALUE
& (1 << (GET_MODE_BITSIZE (inner_mode) - 1))))
& ((HOST_WIDE_INT) 1
<< (GET_MODE_BITSIZE (inner_mode) - 1))))
#ifdef FLOAT_STORE_FLAG_VALUE
|| (code == GE
&& GET_MODE_CLASS (inner_mode) == MODE_FLOAT
@ -6322,29 +6322,29 @@ get_condition (jump, earliest)
/* Canonicalize any ordered comparison with integers involving equality. */
if (GET_CODE (op1) == CONST_INT)
{
int const_val = INTVAL (op1);
unsigned uconst_val = (unsigned) const_val;
HOST_WIDE_INT const_val = INTVAL (op1);
unsigned HOST_WIDE_INT uconst_val = const_val;
switch (code)
{
case LE:
code = LT;
op1 = gen_rtx (CONST_INT, VOIDmode, const_val + 1);
op1 = GEN_INT (const_val + 1);
break;
case GE:
code = GT;
op1 = gen_rtx (CONST_INT, VOIDmode, const_val - 1);
op1 = GEN_INT (const_val - 1);
break;
case LEU:
code = LTU;
op1 = gen_rtx (CONST_INT, VOIDmode, uconst_val + 1);
op1 = GEN_INT (uconst_val + 1);
break;
case GEU:
code = GTU;
op1 = gen_rtx (CONST_INT, VOIDmode, uconst_val - 1);
op1 = GEN_INT (uconst_val - 1);
break;
}
}
@ -6372,7 +6372,7 @@ rtx
get_condition_for_loop (x)
rtx x;
{
rtx comparison = get_condition (x, 0);
rtx comparison = get_condition (x, NULL_PTR);
if (comparison == 0
|| ! invariant_p (XEXP (comparison, 0))