diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9b94c5541d6e718de99bd2e9bc9a3544eabbd23f..26d1be8b1ebb8a6ab9790ce7d44dffa8ab575741 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2013-03-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/56716
+	* tree-ssa-structalias.c (perform_var_substitution): Adjust
+	dumping for ref nodes.
+
 2013-03-27  Martin Jambor  <mjambor@suse.cz>
 
 	PR tree-optimization/55334
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index c588e876b2bb2cca836c96927bef13bc8a835dfa..37751a74fd5dc65acaccc6137e05fcbc02aa23bb 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -2292,18 +2292,37 @@ perform_var_substitution (constraint_graph_t graph)
       {
 	unsigned j = si->node_mapping[i];
 	if (j != i)
-	  fprintf (dump_file, "%s node id %d (%s) mapped to SCC leader "
-		   "node id %d (%s)\n",
-		    bitmap_bit_p (graph->direct_nodes, i)
-		    ? "Direct" : "Indirect", i, get_varinfo (i)->name,
-		    j, get_varinfo (j)->name);
+	  {
+	    fprintf (dump_file, "%s node id %d ",
+		     bitmap_bit_p (graph->direct_nodes, i)
+		     ? "Direct" : "Indirect", i);
+	    if (i < FIRST_REF_NODE)
+	      fprintf (dump_file, "\"%s\"", get_varinfo (i)->name);
+	    else
+	      fprintf (dump_file, "\"*%s\"",
+		       get_varinfo (i - FIRST_REF_NODE)->name);
+	    fprintf (dump_file, " mapped to SCC leader node id %d ", j);
+	    if (j < FIRST_REF_NODE)
+	      fprintf (dump_file, "\"%s\"\n", get_varinfo (j)->name);
+	    else
+	      fprintf (dump_file, "\"*%s\"\n",
+		       get_varinfo (j - FIRST_REF_NODE)->name);
+	  }
 	else
-	  fprintf (dump_file,
-		   "Equivalence classes for %s node id %d (%s): pointer %d"
-		   ", location %d\n",
-		   bitmap_bit_p (graph->direct_nodes, i)
-		   ? "direct" : "indirect", i, get_varinfo (i)->name,
-		   graph->pointer_label[i], graph->loc_label[i]);
+	  {
+	    fprintf (dump_file,
+		     "Equivalence classes for %s node id %d ",
+		     bitmap_bit_p (graph->direct_nodes, i)
+		     ? "direct" : "indirect", i);
+	    if (i < FIRST_REF_NODE)
+	      fprintf (dump_file, "\"%s\"", get_varinfo (i)->name);
+	    else
+	      fprintf (dump_file, "\"*%s\"",
+		       get_varinfo (i - FIRST_REF_NODE)->name);
+	    fprintf (dump_file,
+		     ": pointer %d, location %d\n",
+		     graph->pointer_label[i], graph->loc_label[i]);
+	  }
       }
 
   /* Quickly eliminate our non-pointer variables.  */