From: Philip Blundell Date: Fri, 25 Jun 2004 21:48:38 +0000 (+0000) Subject: re PR tree-optimization/15089 (local register variable with a specified register... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6ef30017a0e7c6855a1e679f6934f65260845b5d;p=gcc.git re PR tree-optimization/15089 (local register variable with a specified register is bad) PR wrong-code/15089 * loop.c (scan_loop): Do not move user-specified register assignments. From-SVN: r83684 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f015ca46904..8886dc59d52 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-06-25 Philip Blundell + + PR wrong-code/15089 + * loop.c (scan_loop): Do not move user-specified register + assignments. + 2004-06-25 DJ Delorie * c-common.h (warn_cast_qual, warn_missing_format_attribute, diff --git a/gcc/loop.c b/gcc/loop.c index aafb18c02f9..28507b37e20 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -931,6 +931,7 @@ scan_loop (struct loop *loop, int flags) || (! (REG_P (SET_SRC (set)) && (REGNO (SET_SRC (set)) < FIRST_PSEUDO_REGISTER)))) + && regno >= FIRST_PSEUDO_REGISTER /* This test is not redundant; SET_SRC (set) might be a call-clobbered register and the life of REGNO might span a call. */