diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c948ab1607a8d0345c96f4f8e9091d4f2b9a33e4..f628e709a85eeb248317b82f50d3a8b58ad4f9e2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2012-10-12  Jan Hubicka <jh@suse.cz>
+
+	* web.c (web_main): Do not set DF_RD_PRUNE_DEAD_DEFS flag.
+
 2012-10-12  Aaron Gray <aaronngray.lists@gmail.com>
 	    Diego Novillo <dnovillo@google.com>
 
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5cff4875fd8055b7a428f5b884d1ea16e0f80cf6..2f4633e2f99a5e93d94ff21807087812e12a7ee0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2012-10-12  Jan Hubicka <jh@suse.cz>
+
+	* gcc.dg/webizer.c: New testcase.
+
 2012-10-12  Janis Johnson  <janisjo@codesourcery.com>
 
 	* gcc.dg/vect/pr48765.c: Skip for conflicting options, don't
diff --git a/gcc/testsuite/gcc.dg/webizer.c b/gcc/testsuite/gcc.dg/webizer.c
new file mode 100644
index 0000000000000000000000000000000000000000..607bf6884d6b3d5c0197aaf5508d3429fa7933ca
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/webizer.c
@@ -0,0 +1,35 @@
+/* { dg-do run } */
+/* { dg-options "-O3 -funroll-loops" } */
+typedef struct rowbox {
+    int startx ;
+    int endx ;
+    int endx1 ;
+    int startx2 ;
+    int ypos ;
+    int desiredL ;
+} ROWBOX ;
+ROWBOX rowArray1[2] ;
+ROWBOX *rowArray = rowArray1;
+
+int numRows = 2;
+
+int row = 1;
+int block = 0;
+double ckt_size_factor ;
+
+__attribute__ ((noinline))
+configure2()
+{
+  block = 0 ;
+  for( row = 1 ; row <= numRows ; row++ ) {
+      block++ ;
+    if( rowArray[row].endx1 > 0 ) {
+      block++ ;
+    }
+  }
+}
+
+main()
+{
+  configure2();
+}
diff --git a/gcc/web.c b/gcc/web.c
index f60b4b6ad84ea3c080af00b8b5a5dec405f825c3..74904d2c350b1b979312289fb20287368f88774c 100644
--- a/gcc/web.c
+++ b/gcc/web.c
@@ -313,7 +313,8 @@ web_main (void)
   rtx insn;
 
   df_set_flags (DF_NO_HARD_REGS + DF_EQ_NOTES);
-  df_set_flags (DF_RD_PRUNE_DEAD_DEFS);
+  /* We can not RD_PRUNE_DEAD_DEFS, because we care about REG_EQUAL
+     notes.  */
   df_chain_add_problem (DF_UD_CHAIN);
   df_analyze ();
   df_set_flags (DF_DEFER_INSN_RESCAN);