X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeutil.h;h=cc6e60b62efc8d731683648b27f4f50aff730cf2;hb=4ed245f5007168dab7850942a7ee6b6b29a19817;hp=122e217fc0238dcf9d40fad23c4dd01ccfdfffa6;hpb=8786fa72e7744afaaecdab0d002fc821539b79b9;p=libfirm diff --git a/ir/be/beutil.h b/ir/be/beutil.h index 122e217fc..cc6e60b62 100644 --- a/ir/be/beutil.h +++ b/ir/be/beutil.h @@ -87,6 +87,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,7 +102,27 @@ 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); -#endif +/** + * 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 + * @param suffix A suffix to its file name. + * @param dumper The dump function + */ +void be_dump(ir_graph *irg, const char *suffix, void (*dumper)(ir_graph *, const char *)); + +/** + * 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. @@ -109,3 +130,5 @@ void dump_ir_block_graph_sched(ir_graph *irg, const char *suffix); * @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 */