summaryrefslogtreecommitdiff
path: root/packages/gcc/gcc-3.3.3/gcc34-15089.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gcc/gcc-3.3.3/gcc34-15089.patch')
-rw-r--r--packages/gcc/gcc-3.3.3/gcc34-15089.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/packages/gcc/gcc-3.3.3/gcc34-15089.patch b/packages/gcc/gcc-3.3.3/gcc34-15089.patch
index e69de29bb2..3b7a056e63 100644
--- a/packages/gcc/gcc-3.3.3/gcc34-15089.patch
+++ b/packages/gcc/gcc-3.3.3/gcc34-15089.patch
@@ -0,0 +1,19 @@
+2004-04-29 Philip Blundell <philb@gnu.org>
+
+ * loop.c (scan_loop): Don't delete SET of a hard register.
+
+Index: loop.c
+===================================================================
+RCS file: /cvs/gcc/gcc/gcc/loop.c,v
+retrieving revision 1.488.2.3
+diff -u -r1.488.2.3 loop.c
+--- gcc/gcc/loop.c 14 Feb 2004 14:46:03 -0000 1.488.2.3
++++ gcc/gcc/loop.c 28 Apr 2004 22:02:53 -0000
+@@ -929,6 +929,7 @@
+ || (! (GET_CODE (SET_SRC (set)) == REG
+ && (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. */