Moved the survive dce stuff to irgopt.[ch]
authorSebastian Hack <hack@ipd.info.uni-karlsruhe.de>
Wed, 15 Mar 2006 12:49:57 +0000 (12:49 +0000)
committerSebastian Hack <hack@ipd.info.uni-karlsruhe.de>
Wed, 15 Mar 2006 12:49:57 +0000 (12:49 +0000)
[r7446]

ir/common/Makefile.in
ir/common/survive_dce.c [deleted file]
ir/common/survive_dce.h [deleted file]

index 0a8cc32..29642ef 100644 (file)
@@ -22,7 +22,7 @@ SOURCES = $(INSTALL_HEADERS)
 SOURCES += Makefile.in                                                 \
        error.c firm_common.c firm.c firmwalk.c                 \
        error.h firm_common_t.h statistics.c debug.c old_fctnames.h \
-       irtools.c irtools.h survive_dce.c survive_dce.h
+       irtools.c irtools.h
 
 include $(topdir)/MakeRules
 
diff --git a/ir/common/survive_dce.c b/ir/common/survive_dce.c
deleted file mode 100644 (file)
index c574a25..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-
-#include "pmap.h"
-
-#include "irnode_t.h"
-#include "irhooks.h"
-#include "irgwalk.h"
-
-#include "survive_dce.h"
-
-struct _survive_dce_t {
-       pmap *places;
-       pmap *new_places;
-       hook_entry_t dead_node_elim;
-       hook_entry_t dead_node_elim_subst;
-};
-
-static void dead_node_hook(void *context, ir_graph *irg, int start)
-{
-       survive_dce_t *sd = context;
-
-       /* Create a new map before the dead node elimination is performed. */
-       if(start) {
-               sd->new_places = pmap_create_ex(pmap_count(sd->places));
-       }
-
-       /* Patch back all nodes if dead node elimination is over and something is to be done. */
-       else {
-               pmap_destroy(sd->places);
-               sd->places     = sd->new_places;
-               sd->new_places = NULL;
-       }
-}
-
-static void dead_node_subst_hook(void *context, ir_graph *irg, ir_node *old, ir_node *nw)
-{
-       survive_dce_t *sd = context;
-       ir_node **place    = (ir_node **) pmap_get(sd->places, old);
-
-       /* If the node is to be patched back, do it. */
-       if(place) {
-               *place = nw;
-               pmap_insert(sd->new_places, nw, (void *) place);
-       }
-}
-
-survive_dce_t *new_survive_dce(void)
-{
-       survive_dce_t *res = xmalloc(sizeof(res[0]));
-       res->places     = pmap_create();
-       res->new_places = NULL;
-
-       res->dead_node_elim.hook._hook_dead_node_elim = dead_node_hook;
-       res->dead_node_elim.context                   = res;
-       res->dead_node_elim.next                      = NULL;
-
-       res->dead_node_elim_subst.hook._hook_dead_node_elim_subst = dead_node_subst_hook;
-       res->dead_node_elim_subst.context = res;
-       res->dead_node_elim_subst.next    = NULL;
-
-       register_hook(hook_dead_node_elim, &res->dead_node_elim);
-       register_hook(hook_dead_node_elim_subst, &res->dead_node_elim_subst);
-       return res;
-}
-
-void free_survive_dce(survive_dce_t *sd)
-{
-       pmap_destroy(sd->places);
-       unregister_hook(hook_dead_node_elim, &sd->dead_node_elim);
-       unregister_hook(hook_dead_node_elim_subst, &sd->dead_node_elim_subst);
-       free(sd);
-}
-
-void survive_dce_register_irn(survive_dce_t *sd, ir_node **place)
-{
-       if(*place != NULL)
-               pmap_insert(sd->places, *place, (void *) place);
-}
-
-void survive_dce_register_pmap(survive_dce_t *sd, pmap *m)
-{
-       pmap_entry *ent;
-
-       for(ent = pmap_first(m); ent; ent = pmap_next(m))
-               survive_dce_register_irn(sd, (ir_node **) &ent->value);
-}
diff --git a/ir/common/survive_dce.h b/ir/common/survive_dce.h
deleted file mode 100644 (file)
index 803b788..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * A facility for nodes to "survive" the dead code elimination.
- */
-
-#ifndef _FIRM_SURVIVE_DCE_H
-#define _FIRM_SURVIVE_DCE_H
-
-#include "pmap.h"
-
-typedef struct _survive_dce_t survive_dce_t;
-
-/**
- * Make a new dead code survive instance.
- */
-survive_dce_t *new_survive_dce(void);
-
-/**
- * Free a dead node survive instance.
- */
-void           free_survive_dce(survive_dce_t *sd);
-
-/**
- * Register a storage place for a node.
- * @param sd The survive dead code private data.
- * @param place A pointer to a node pointer which shall be actualized.
- * The location given by <code>place</code> will be updated with the substitute
- * of the node it is currently pointing to after dead node elimination.
- */
-void survive_dce_register_irn(survive_dce_t *sd, ir_node **place);
-
-/**
- * Register a map to survive the dce.
- * All value parts of the map's entries are assumed to be ir node pointers
- * and are registered with survive_dce_register_irn().
- * @param sd    The survive dce private data.
- * @param m     The map.
- */
-void survive_dce_register_pmap(survive_dce_t *sd, pmap *m);
-
-#endif