# New Ticket Created by Matt Fowles
# Please include the string: [perl #24840]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=24840 >
All~
This patch simply removes some dead code from imcc/cfg.c
I killed the code about 6 months ago, and it does not look like it has
been revived...
All test pass under make test, make testj, make testP, and make test_imcc
Matt
Index: imcc/cfg.c
===================================================================
RCS file: /cvs/public/parrot/imcc/cfg.c,v
retrieving revision 1.56
diff -u -r1.56 cfg.c
--- imcc/cfg.c 6 Dec 2003 15:24:43 -0000 1.56
+++ imcc/cfg.c 7 Jan 2004 23:35:56 -0000
@@ -676,15 +676,9 @@
void
compute_dominators (Parrot_Interp interpreter, IMC_Unit * unit)
{
-#define USE_BFS 1
-
-#if !USE_BFS
- int i, change, pred_index;
-#else
int i, cur, len, succ_index;
int *q;
Set *visited;
-#endif
int n;
Edge *edge;
Set** dominators;
@@ -700,7 +694,6 @@
dominators[i] = set_make_full(n);
}
-#if USE_BFS
q = calloc(n, sizeof(int));
visited = set_make (n);
set_add(visited, 0);
@@ -721,39 +714,10 @@
}
cur++;
}
-#else
- change = 1;
- while(change) {
- change = 0;
-
- /* TODO: This 'for' should be a breadth-first search for speed */
- for (i = 1; i < n; i++) {
- Set *s = set_copy (dominators[i]);
-
- for (edge=unit->bb_list[i]->pred_list;
- edge; edge=edge->pred_next) {
- pred_index = edge->from->index;
- set_intersec_inplace(s, dominators[pred_index]);
- }
-
- set_add(s, i);
-
- if (! set_equal(dominators[i], s) ) {
- change = 1;
- set_free (dominators[i]);
- dominators[i] = s;
- }
- else
- set_free(s);
- }
- }
-#endif
if (interpreter->imc_info->debug & DEBUG_CFG)
dump_dominators(unit);
-#if USE_BFS
free(q);
set_free(visited);
-#endif
}
static void