From a440316492e5356d08770dbac6c6b2da17aadf1b Mon Sep 17 00:00:00 2001
From: DJ Delorie <dj@redhat.com>
Date: Thu, 10 Feb 2011 14:41:26 -0500
Subject: [PATCH] m32c.c (m32c_option_override): Disable
 -fcombine-stack-adjustments until flag value tracking and compare...

* config/m32c/m32c.c (m32c_option_override): Disable
-fcombine-stack-adjustments until flag value tracking and compare
optimization can be rewritten.

From-SVN: r170022
---
 gcc/ChangeLog          | 6 ++++++
 gcc/config/m32c/m32c.c | 5 +++++
 2 files changed, 11 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 463409c6486b..83866c179ec8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-02-10  DJ Delorie  <dj@redhat.com>
+
+	* config/m32c/m32c.c (m32c_option_override): Disable
+	-fcombine-stack-adjustments until flag value tracking and compare
+	optimization can be rewritten.
+
 2011-02-10  Peter Bergner  <bergner@vnet.ibm.com>
 
 	* config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c
index ef0a311518cf..83bf86c2071f 100644
--- a/gcc/config/m32c/m32c.c
+++ b/gcc/config/m32c/m32c.c
@@ -454,6 +454,11 @@ m32c_option_override (void)
      This is always worse than an absolute call.  */
   if (TARGET_A16)
     flag_no_function_cse = 1;
+
+  /* This wants to put insns between compares and their jumps.  */
+  /* FIXME: The right solution is to properly trace the flags register
+     values, but that is too much work for stage 4.  */
+  flag_combine_stack_adjustments = 0;
 }
 
 #undef TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE
-- 
GitLab