X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Firtypeinfo.h;h=45eaa912eb3f35ad6b2397c0b4c195a297a02a41;hb=97bcf6f245eba55a1d3b25a7be543b367ab9c276;hp=2db2257662226bd3cca9caab38b5fd603982c408;hpb=c021732d2f0c04113e6afd153a7a9be38e40ca6f;p=libfirm diff --git a/include/libfirm/irtypeinfo.h b/include/libfirm/irtypeinfo.h index 2db225766..45eaa912e 100644 --- a/include/libfirm/irtypeinfo.h +++ b/include/libfirm/irtypeinfo.h @@ -22,7 +22,6 @@ * @brief Data structure to hold type information for nodes. * @author Goetz Lindenmaier * @date 28.8.2003 - * @version $Id$ * @brief * Data structure to hold type information for nodes. * @@ -44,7 +43,7 @@ * variable is initialized by init_irtypeinfo(). The type is freed by * free_irtypeinfo(). */ -FIRM_DLL ir_type *initial_type; +FIRM_API ir_type *initial_type; @@ -57,11 +56,13 @@ FIRM_DLL ir_type *initial_type; * Calling set/get_irn_typeinfo_type() is invalid before calling init. Requires memory * in the order of MIN(\, \#irnodes). */ -FIRM_DLL void init_irtypeinfo(void); -FIRM_DLL void free_irtypeinfo(void); +FIRM_API void init_irtypeinfo(void); +/** Frees memory used by the type information module */ +FIRM_API void free_irtypeinfo(void); /* ------------ Irgraph state handling. ------------------------------- */ +/** typeinfo information state */ typedef enum { ir_typeinfo_none, /**< No typeinfo computed, calls to set/get_irn_typeinfo_type() are invalid. */ @@ -71,8 +72,10 @@ typedef enum { because of other transformations. */ } ir_typeinfo_state; -FIRM_DLL void set_irg_typeinfo_state(ir_graph *irg, ir_typeinfo_state s); -FIRM_DLL ir_typeinfo_state get_irg_typeinfo_state(const ir_graph *irg); +/** Sets state of typeinfo information in graph @p irg to @p state. */ +FIRM_API void set_irg_typeinfo_state(ir_graph *irg, ir_typeinfo_state state); +/** Returns state of typeinfo information in graph @p irg. */ +FIRM_API ir_typeinfo_state get_irg_typeinfo_state(const ir_graph *irg); /** Returns accumulated type information state information. * @@ -80,21 +83,22 @@ FIRM_DLL ir_typeinfo_state get_irg_typeinfo_state(const ir_graph *irg); * consistent. Returns ir_typeinfo_inconsistent if at least one irg has inconsistent * or no type information. Returns ir_typeinfo_none if no irg contains type information. */ -FIRM_DLL ir_typeinfo_state get_irp_typeinfo_state(void); -FIRM_DLL void set_irp_typeinfo_state(ir_typeinfo_state s); -/** If typeinfo is consistent, sets it to inconsistent. */ -FIRM_DLL void set_irp_typeinfo_inconsistent(void); +FIRM_API ir_typeinfo_state get_irp_typeinfo_state(void); +/** Sets state of typeinfo information for the current program to @p state */ +FIRM_API void set_irp_typeinfo_state(ir_typeinfo_state state); +/** Sets state of typeinfo information for the current program to #ir_typeinfo_inconsistent */ +FIRM_API void set_irp_typeinfo_inconsistent(void); /* ------------ Irnode type information. ------------------------------ */ /** Accessing the type information. * * These routines only work properly if the ir_graph is in state - * ir_typeinfo_consistent or ir_typeinfo_inconsistent. They - * assume current_ir_graph set properly. + * ir_typeinfo_consistent or ir_typeinfo_inconsistent. */ -FIRM_DLL ir_type *get_irn_typeinfo_type(const ir_node *n); -FIRM_DLL void set_irn_typeinfo_type(ir_node *n, ir_type *tp); +FIRM_API ir_type *get_irn_typeinfo_type(const ir_node *n); +/** Sets type information of procedure graph node @p node to type @p type. */ +FIRM_API void set_irn_typeinfo_type(ir_node *node, ir_type *type); #include "end.h"