diff options
author | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-02 01:19:41 +0000 |
---|---|---|
committer | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-02 01:19:41 +0000 |
commit | b2a24b6fe7d661e7f76d4ceef5f83518d94ea87e (patch) | |
tree | 76bc59934b6b1579b33f4044e5c80df3e20d331b /gcc/rtlanal.c | |
parent | 7e9e2d8d43b2ac5b090e20f1f132a83347301243 (diff) | |
download | gcc-b2a24b6fe7d661e7f76d4ceef5f83518d94ea87e.tar.gz |
2004-04-01 Andrew Pinski <pinskia@physics.uc.edu>
* rtlanal.c (find_reg_note): Manually
unswitch the loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80347 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r-- | gcc/rtlanal.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 3f3a4289d63..c66cc9adc8c 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -1911,10 +1911,16 @@ find_reg_note (rtx insn, enum reg_note kind, rtx datum) /* Ignore anything that is not an INSN, JUMP_INSN or CALL_INSN. */ if (! INSN_P (insn)) return 0; + if (datum == 0) + { + for (link = REG_NOTES (insn); link; link = XEXP (link, 1)) + if (REG_NOTE_KIND (link) == kind) + return link; + return 0; + } for (link = REG_NOTES (insn); link; link = XEXP (link, 1)) - if (REG_NOTE_KIND (link) == kind - && (datum == 0 || datum == XEXP (link, 0))) + if (REG_NOTE_KIND (link) == kind && datum == XEXP (link, 0)) return link; return 0; } |