diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 52b3a4dc765de1aa47c853c7c42f09cec4e58226..7cc49fa929ed149dd6148272dc35b068e496dee4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
 
+	PR middle-end/56461
+	* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Call
+	pointer_set_destroy on not_executed_last_iteration.
+
 	PR middle-end/56461
 	* tree-vect-loop.c (vectorizable_reduction): Release vect_defs
 	vector.
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c
index 7ba7416f37af5f3a0a15028cf8a8e7ec8941643f..744fa71a95d47e51ec0c7ec3207152b19b82706d 100644
--- a/gcc/tree-ssa-loop-niter.c
+++ b/gcc/tree-ssa-loop-niter.c
@@ -3293,6 +3293,7 @@ maybe_lower_iteration_bound (struct loop *loop)
     }
   BITMAP_FREE (visited);
   queue.release ();
+  pointer_set_destroy (not_executed_last_iteration);
 }
 
 /* Records estimates on numbers of iterations of LOOP.  If USE_UNDEFINED_P