aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2005-06-19 13:27:04 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2005-06-19 13:27:04 +0000
commit9f24cc73613940d9c96c8857b92c805126f34873 (patch)
treef92f890cdee3499a3c956af5f59ec062b73457a5
parentaf12f8ea01180c592d6ab79407b0d6781f86eea7 (diff)
downloadgcc-9f24cc73613940d9c96c8857b92c805126f34873.zip
gcc-9f24cc73613940d9c96c8857b92c805126f34873.tar.gz
gcc-9f24cc73613940d9c96c8857b92c805126f34873.tar.bz2
loop.c (scan_loop): Do not consider insns setting the frame pointer to be candidates for hoisting.
* loop.c (scan_loop): Do not consider insns setting the frame pointer to be candidates for hoisting. From-SVN: r101182
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/loop.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cedf800..af13fe0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-06-19 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * loop.c (scan_loop): Do not consider insns setting the frame
+ pointer to be candidates for hoisting.
+
2005-06-19 Uros Bizjak <uros@kss-loka.si>
* config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, cmpfp_0_xf):
diff --git a/gcc/loop.c b/gcc/loop.c
index a25c1c0..7da65db 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