diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cedf800e5f8..af13fe0f2cf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-06-19 Ulrich Weigand + + * loop.c (scan_loop): Do not consider insns setting the frame + pointer to be candidates for hoisting. + 2005-06-19 Uros Bizjak * config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, cmpfp_0_xf): diff --git a/gcc/loop.c b/gcc/loop.c index a25c1c0cbac..7da65db0d3d 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -1135,6 +1135,7 @@ scan_loop (struct loop *loop, int flags) if (! in_libcall && (set = single_set (p)) && REG_P (SET_DEST (set)) + && SET_DEST (set) != frame_pointer_rtx #ifdef PIC_OFFSET_TABLE_REG_CALL_CLOBBERED && SET_DEST (set) != pic_offset_table_rtx #endif