From c482a6511d5e20595bb347f053bcaae28293a886 Mon Sep 17 00:00:00 2001
From: Kai Tietz <ktietz@redhat.com>
Date: Wed, 12 Oct 2011 19:05:07 +0200
Subject: [PATCH] i386.md (simple_return): Disable if TARGET_SEH is active.

        * config/i386/i386.md (simple_return): Disable
        if TARGET_SEH is active.

From-SVN: r179860
---
 gcc/ChangeLog           | 5 +++++
 gcc/config/i386/i386.md | 6 +++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 91531d009a45..f45327e64fce 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-10-12  Kai Tietz  <ktietz@redhat.com>
+
+	* config/i386/i386.md (simple_return): Disable
+	if TARGET_SEH is active.
+
 2011-10-12  Steve Ellcey  <sje@cup.hp.com>
 
 	* config/ia64/ia64.c (ia64_init_builtins): Fix unbalanced parentheses.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index a11a71b6c2e6..b527ad298964 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -11708,9 +11708,13 @@
     }
 })
 
+;; We need to disable this for TARGET_SEH, as otherwise
+;; shrink-wrapped prologue gets enabled too.  This might exceed
+;; the maximum size of prologue in unwind information.
+
 (define_expand "simple_return"
   [(simple_return)]
-  ""
+  "!TARGET_SEH"
 {
   if (crtl->args.pops_args)
     {
-- 
GitLab