From 5288f9994e6c40009edfaed50bc79b0cf8fb42af Mon Sep 17 00:00:00 2001
From: Kenneth Zadeck <zadeck@naturalbridge.com>
Date: Sun, 12 Oct 2008 21:16:57 +0000
Subject: [PATCH] re PR target/37808 (Revision 141067 breaks Linux/x86)

2008-10-12  Kenneth Zadeck <zadeck@naturalbridge.com>

	PR middle-end/37808
	* df-scan.c (df_ref_change_reg_with_loc_1): Added test to make
	sure that ref has valid bb.

From-SVN: r141078
---
 gcc/ChangeLog | 6 ++++++
 gcc/df-scan.c | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a7da2148d27b..5368a7c16962 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-10-12  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	PR middle-end/37808
+	* df-scan.c (df_ref_change_reg_with_loc_1): Added test to make
+	sure that ref has valid bb.
+	
 2008-10-12  Richard Henderson  <rth@redhat.com>
 
 	PR middle-end/37447
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index ec0d12edc540..761ba79121ce 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -1980,7 +1980,8 @@ df_ref_change_reg_with_loc_1 (struct df_reg_info *old_df,
 	    DF_REF_PREV_REG (new_df->reg_chain) = the_ref;
 	  new_df->reg_chain = the_ref;
 	  new_df->n_refs++;
-	  df_set_bb_dirty (DF_REF_BB (the_ref));
+	  if (DF_REF_BB (the_ref))
+	    df_set_bb_dirty (DF_REF_BB (the_ref));
 
 	  /* Need to sort the record again that the ref was in because
 	     the regno is a sorting key.  First, find the right
-- 
GitLab