Use is_Bad() where appropriate
[libfirm] / ir / ir / ircgopt.c
index 0f72657..ac84200 100644 (file)
@@ -64,6 +64,11 @@ void gc_irgs(int n_keep, entity ** keep_arr) {
 
   if (!get_opt_dead_method_elimination()) return;
 
+  if (n_keep >= get_irp_n_irgs()) {
+    /* Shortcut. Obviously we have to keep all methods. */
+    return;
+  }
+
   /* Mark entities that are alive.  */
   if (n_keep > 0) {
     entity ** marked = NEW_ARR_F(entity *, n_keep);