start register allocator again, fix typo
[libfirm] / ir / be / beutil.h
index d44902d..6e676de 100644 (file)
@@ -64,14 +64,6 @@ static INLINE int is_data_node(const ir_node *irn)
        return 0;
 }
 
-/**
- * Make each constant local to its use.
- * This duplicates all constants in order to simulate a realistic
- * register pressure.
- * @param irg The graph.
- */
-void localize_consts(ir_graph *irg);
-
 /**
  * Dump a vcg graph containing the controlflow graph, the schedule and
  * allocated registers.
@@ -87,6 +79,7 @@ static INLINE FILE *ffopen(const char *base, const char *ext, const char *mode)
        char buf[1024];
 
        snprintf(buf, sizeof(buf), "%s.%s", base, ext);
+       buf[sizeof(buf) - 1] = '\0';
        if (! (out = fopen(buf, mode))) {
                fprintf(stderr, "Cannot open file %s in mode %s\n", buf, mode);
                return NULL;
@@ -101,6 +94,13 @@ static INLINE FILE *ffopen(const char *base, const char *ext, const char *mode)
  */
 void dump_ir_block_graph_sched(ir_graph *irg, const char *suffix);
 
+/**
+ * Dump a extended block graph with schedule edges.
+ * @param irg The graph.
+ * @param suffix A suffix to its file name.
+ */
+void dump_ir_extblock_graph_sched(ir_graph *irg, const char *suffix);
+
 /**
  * Dumps a graph and numbers all dumps.
  * @param irg    The graph
@@ -109,8 +109,12 @@ void dump_ir_block_graph_sched(ir_graph *irg, const char *suffix);
  */
 void be_dump(ir_graph *irg, const char *suffix, void (*dumper)(ir_graph *, const char *));
 
-
-#endif /* _BEUTIL_H */
+/**
+ * Returns the number of reachable nodes in an irg.
+ * @param irg The irg.
+ * @return The number of reachable nodes.
+ */
+unsigned get_num_reachable_nodes(ir_graph *irg);
 
 /**
  * Search for an irn in @p accept.
@@ -118,3 +122,5 @@ void be_dump(ir_graph *irg, const char *suffix, void (*dumper)(ir_graph *, const
  * @return The first node out of accept if found. Else NULL is returned.
  */
 ir_node *dom_up_search(pset *accept, ir_node *start_point_exclusive);
+
+#endif /* _BEUTIL_H */