+Wed Jun 14 03:39:58 EDT 2000 John Wehle (john@feith.com)
+
+ * ifcvt.c (EDGE_COMPLEX): Move definition ...
+ * basic-block.h (EDGE_COMPLEX): ... here.
+
+ * loop.c (check_dbra_loop): Specify the register when
+ generating REG_NONNEG notes and don't generate duplicates.
+
2000-06-13 Jakub Jelinek <jakub@redhat.com>
* tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define.
% (-INTVAL (bl->biv->add_val))) == 0)
{
/* register always nonnegative, add REG_NOTE to branch */
- REG_NOTES (PREV_INSN (loop_end))
- = gen_rtx_EXPR_LIST (REG_NONNEG, NULL_RTX,
- REG_NOTES (PREV_INSN (loop_end)));
+ if (! find_reg_note (jump, REG_NONNEG, NULL_RTX))
+ REG_NOTES (jump)
+ = gen_rtx_EXPR_LIST (REG_NONNEG, bl->biv->dest_reg,
+ REG_NOTES (jump));
bl->nonneg = 1;
return 1;
&& ! reg_set_between_p (bl->biv->dest_reg, p, loop_start)
&& INTVAL (bl->biv->add_val) == -1)
{
- REG_NOTES (PREV_INSN (loop_end))
- = gen_rtx_EXPR_LIST (REG_NONNEG, NULL_RTX,
- REG_NOTES (PREV_INSN (loop_end)));
+ if (! find_reg_note (jump, REG_NONNEG, NULL_RTX))
+ REG_NOTES (jump)
+ = gen_rtx_EXPR_LIST (REG_NONNEG, bl->biv->dest_reg,
+ REG_NOTES (jump));
bl->nonneg = 1;
return 1;
/* 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, NULL_RTX,
+ REG_NOTES (tem) = gen_rtx_EXPR_LIST (REG_NONNEG, reg,
REG_NOTES (tem));
}
bl->nonneg = 1;