From d0bded31fb829dd698b196de015a1eaf3ebb3f49 Mon Sep 17 00:00:00 2001
From: rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu, 9 Feb 2006 22:34:23 +0000
Subject: [PATCH] 	PR rtl-optimization/24762 	* df-scan.c
 (df_bb_refs_record): Record correct registers defined on 	eh edges.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110815 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog | 6 ++++++
 gcc/df-scan.c | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f909aa944094..bdbc2112ef53 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-02-09  Zdenek Dvorak <dvorakz@suse.cz>
+
+	PR rtl-optimization/24762
+	* df-scan.c (df_bb_refs_record): Record correct registers defined on
+	eh edges.
+
 2006-02-09  Zdenek Dvorak <dvorakz@suse.cz>
 
 	* tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed.
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index e6460faa3a69..934f98d05f92 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -1571,7 +1571,8 @@ df_bb_refs_record (struct dataflow *dflow, basic_block bb)
 	  unsigned regno = EH_RETURN_DATA_REGNO (i);
 	  if (regno == INVALID_REGNUM)
 	    break;
-	  df_ref_record (dflow, regno_reg_rtx[i], &regno_reg_rtx[i], bb, NULL,
+	  df_ref_record (dflow, regno_reg_rtx[regno], &regno_reg_rtx[regno],
+			 bb, NULL,
 			 DF_REF_REG_DEF, DF_REF_ARTIFICIAL | DF_REF_AT_TOP,
 			 false);
 	}
-- 
GitLab