* REG_NONNEG confusion
@ 2000-06-08 17:10 John Wehle
0 siblings, 0 replies; only message in thread
From: John Wehle @ 2000-06-08 17:10 UTC (permalink / raw)
To: gcc
rtl.texi says:
@findex REG_NONNEG
@item REG_NONNEG
The register @var{op} is known to have a nonnegative value when this
insn is reached. This is used so that decrement and branch until zero
instructions, such as the m68k dbra, can be matched.
The @code{REG_NONNEG} note is added to insns only if the machine
description has a @samp{decrement_and_branch_until_zero} pattern.
loop.c contains
/* 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)));
I don't see the register being specified as part of the note. Is the
documentation wrong or the code? Personally I'm inclined to change the
code.
BTW, any reason to restrict REG_NONNEG to machine descriptions which
have decrement_and_branch_until_zero? I was thinking of having VRP
always add them to simple branches since it can basically be done for
"free".
-- John
-------------------------------------------------------------------------
| Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com |
| John Wehle | Fax: 1-215-540-5495 | |
-------------------------------------------------------------------------
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2000-06-08 17:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-06-08 17:10 REG_NONNEG confusion John Wehle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).