johannes 02/12/02 17:45:06 Modified: live/gcc3/gcc loop.c Log: Roll in FSF-approved fix (needed for SPEC compilation) Revision Changes Path 1.29 +7 -0 src/live/gcc3/gcc/loop.c Index: loop.c =================================================================== RCS file: /cvs/Darwin/src/live/gcc3/gcc/loop.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- loop.c 2002/10/24 23:43:03 1.28 +++ loop.c 2002/12/03 01:45:04 1.29 @@ -3294,6 +3294,13 @@ && REGNO (x) < FIRST_PSEUDO_REGISTER && call_used_regs[REGNO (x)]) return 0; + /* Out-of-range regs can occur when we are called from unrolling. + These have always been created by the unroller and are set in + the loop, hence are never invariant. */ + + if (REGNO (x) >= regs->num) + return 0; + if (regs->array[REGNO (x)].set_in_loop < 0) return 2;