X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=include%2Flibfirm%2Firio.h;h=0fe4ee5864d7fbafc413e399952aec315ad15176;hb=8cb8730614f09dc3a9966839b0d936f15e9a3412;hp=89ed8b8aebd60588829a7a58c9fba1dd1a651205;hpb=279822e9e2a4f26deaf67b5fe8423b27837a75d7;p=libfirm diff --git a/include/libfirm/irio.h b/include/libfirm/irio.h index 89ed8b8ae..0fe4ee586 100644 --- a/include/libfirm/irio.h +++ b/include/libfirm/irio.h @@ -22,6 +22,9 @@ * @brief Import/export textual representation of firm. * @author Moritz Kroll * @version $Id$ + * + * Note: The file format is not considered stable yet. So expect + * incompatibilities between file formats of different libfirm versions. */ #ifndef FIRM_IR_IRIO_H #define FIRM_IR_IRIO_H @@ -29,16 +32,33 @@ #include #include "firm_types.h" +#include "begin.h" /** - * Exports the given ir graph to the given file in a textual form. + * Exports the whole irp to the given file in a textual form. * - * @param irg the ir graph * @param filename the name of the resulting file * + * Exports all types, all ir graphs, and the constant graph. + */ +FIRM_API void ir_export(const char *filename); + +/** + * same as ir_export but writes to a FILE* + */ +FIRM_API void ir_export_file(FILE *output, const char *outputname); + +/** + * Write the given ir graph to a stream in a textual format + * + * @param irg the ir graph + * @param output output stream the irg is written to + * @param outputname a name for the output stream (used for error messages) + * * Exports the type graph used by the given graph and the graph itself. */ -void ir_export_irg(ir_graph *irg, const char *filename); +FIRM_API void ir_export_irg(ir_graph *irg, FILE *output, + const char *outputname); /** * Imports the data stored in the given file. @@ -47,6 +67,13 @@ void ir_export_irg(ir_graph *irg, const char *filename); * * Imports any type graphs and ir graphs contained in the file. */ -void ir_import(const char *filename); +FIRM_API void ir_import(const char *filename); + +/** + * same as ir_import but imports from a FILE* + */ +FIRM_API void ir_import_file(FILE *input, const char *inputname); + +#include "end.h" #endif