From bff98546fbd1c180408ece566a68b6d1e3a90bc6 Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Thu, 13 Dec 2007 20:05:37 +0100
Subject: [PATCH] re PR rtl-optimization/32636
 (25_algorithms/search_n/iterator.cc: miscompiled on hppa2.0w-hp-hpux11.11)

	PR rtl-optimization/32636
	* df-scan.c (df_get_entry_block_def_set): Set struct_value_rtx
	regno in entry_block_defs even if HAVE_prologue && epilogue_completed.

From-SVN: r130907
---
 gcc/ChangeLog | 6 ++++++
 gcc/df-scan.c | 8 ++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1a5c210f4dfd..1fa4ade707c9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/32636
+	* df-scan.c (df_get_entry_block_def_set): Set struct_value_rtx
+	regno in entry_block_defs even if HAVE_prologue && epilogue_completed.
+
 2007-12-13  Uros Bizjak  <ubizjak@gmail.com>
 	    Richard Guenther  <rguenther@suse.de>
 
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index cc6866b6b789..6367accec2a7 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -3530,12 +3530,12 @@ df_get_entry_block_def_set (bitmap entry_block_defs)
       bitmap_set_bit (entry_block_defs, STATIC_CHAIN_REGNUM);
 #endif
 #endif
-      
-      r = targetm.calls.struct_value_rtx (current_function_decl, true);
-      if (r && REG_P (r))
-	bitmap_set_bit (entry_block_defs, REGNO (r));
     }
 
+  r = targetm.calls.struct_value_rtx (current_function_decl, true);
+  if (r && REG_P (r))
+    bitmap_set_bit (entry_block_defs, REGNO (r));
+
   if ((!reload_completed) || frame_pointer_needed)
     {
       /* Any reference to any pseudo before reload is a potential
-- 
GitLab