Index: gcse.c
===================================================================
--- gcse.c	(revision 173214)
+++ gcse.c	(working copy)
@@ -360,7 +360,6 @@ struct ls_expr
   struct expr * expr;		/* Gcse expression reference for LM.  */
   rtx pattern;			/* Pattern of this mem.  */
   rtx pattern_regs;		/* List of registers mentioned by the mem.  */
-  rtx loads;			/* INSN list of loads seen.  */
   rtx stores;			/* INSN list of stores seen.  */
   struct ls_expr * next;	/* Next in the list.  */
   int invalid;			/* Invalid for some reason.  */
@@ -3300,7 +3299,6 @@ ldst_entry (rtx x)
   ptr->expr         = NULL;
   ptr->pattern      = x;
   ptr->pattern_regs = NULL_RTX;
-  ptr->loads        = NULL_RTX;
   ptr->stores       = NULL_RTX;
   ptr->reaching_reg = NULL_RTX;
   ptr->invalid      = 0;
@@ -3317,7 +3315,6 @@ ldst_entry (rtx x)
 static void
 free_ldst_entry (struct ls_expr * ptr)
 {
-  free_INSN_LIST_list (& ptr->loads);
   free_INSN_LIST_list (& ptr->stores);

   free (ptr);
@@ -3359,13 +3356,6 @@ print_ldst_list (FILE * file)

       print_rtl (file, ptr->pattern);

-      fprintf (file, "\n	 Loads : ");
-
-      if (ptr->loads)
-	print_rtl (file, ptr->loads);
-      else
-	fprintf (file, "(nil)");
-
       fprintf (file, "\n	Stores : ");

       if (ptr->stores)
@@ -3517,9 +3507,7 @@ compute_ld_motion_mems (void)
 		  if (MEM_P (src) && simple_mem (src))
 		    {
 		      ptr = ldst_entry (src);
-		      if (REG_P (dest))
-			ptr->loads = alloc_INSN_LIST (insn, ptr->loads);
-		      else
+		      if (! REG_P (dest))
 			ptr->invalid = 1;
 		    }
 		  else
