X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Ffirm.h;h=ac677a80ec29d3e67373ed2b16e8c8b6cd4baeff;hb=e350b484176725a82b3fce4ed2466a91c1b37f88;hp=e0b57692d63c3a22038252b1e3a5fc92f0431667;hpb=5730fa61825fcf13cad0686caf219f8980d9e8e8;p=libfirm diff --git a/include/libfirm/firm.h b/include/libfirm/firm.h index e0b57692d..ac677a80e 100644 --- a/include/libfirm/firm.h +++ b/include/libfirm/firm.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -22,7 +22,7 @@ * @brief Central firm header. * @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier * @version $Id$ - * @summary + * @brief * Central FIRM header. * * FIRM is a full graph based intermediate representation in SSA Form @@ -69,6 +69,8 @@ extern "C" { #include "irgraph.h" /* graphs */ #include "typerep.h" /* type representation */ #include "tv.h" /* target values */ +#include "irnode.h" +#include "irop.h" #include "ident.h" /* source code identificators */ /* Functionality */ @@ -80,6 +82,8 @@ extern "C" { #include "irgopt.h" /* optimize ir */ #include "iroptimize.h" /* optimize ir by reassociation */ #include "ircgopt.h" /* Optimizations based on interprocedural graph */ +#include "iropt.h" +#include "irpass.h" /* Pass management */ /* Lowering */ #include "lowering.h" /* lowering of different calls parameters, intrinsic calls, double word types, high-level constructs */ @@ -105,20 +109,14 @@ extern "C" { #include "irgwalk.h" /* Support to walk ir */ #include "irarch.h" /* architecture dependent optimizations */ -#include "archop.h" /* architecture dependent opcodes */ #include "firmstat.h" /* statistics */ #include "dbginfo.h" /* debug support */ #include "seqnumbers.h" /* debug support */ -#include "firm_ycomp.h" /* ycomp debugging support */ - -/* @@@ temporarily for jni builder until preprocessor works. - Then it should be sufficient to include instead - of firm.h as not all enums are needed in the implementation - files. */ #include "irdump.h" +#include "irio.h" #include "irprintf.h" #include "irvrfy.h" @@ -126,116 +124,7 @@ extern "C" { #include "iredges.h" -/* Macros that define the old function names we decided to rename. - Use for compatibility with old implementations. */ -/*#include "old_fctnames.h"*/ - -/** - * libFirm initialization parameters. - */ -struct _firm_parameter_t { - /** - * The size of this structure. init_firm() will only initialize - * this amount of data. This allows to add more fields to this structure - * without breaking compatibility to older source. - */ - unsigned int size; - - /** - * Statistic options. If statistic function where enabled, these - * flags configure it, see enum firmstat_options_t. - */ - unsigned enable_statistics; - - /** - * This function is called, whenever a local variable is - * used before definition. The function should insert a default value, - * and/or raise a compiler error/warning. Note that returning - * an Unknown is allowed here. - */ - uninitialized_local_variable_func_t *initialize_local_func; - - /** - * The interface functions for the type identification module. - * If not set, the default implementation with compare_strict() and - * firm_hash_name() will be used. - */ - type_identify_if_t *ti_if; - - /** - * The interface for the ident module. - * If not set, the default libFirm ident module (using hash sets). - */ - ident_if_t *id_if; - - /** - * The architecture dependent opcode settings. - * If not set, no architecture dependent operations will be used. - */ - const arch_ops_info *arch_op_settings; - - /** - * The default calling convention. - */ - unsigned cc_mask; - - /** - * The debug info that should be used for "builtin" objects. - */ - dbg_info *builtin_dbg; -}; - -typedef struct _firm_parameter_t firm_parameter_t; - -/* Set a version number if it has not been set in environment */ -#ifndef libfirm_VERSION_MAJOR -#define libfirm_VERSION_MAJOR 1 -#endif - -#ifndef libfirm_VERSION_MINOR -#define libfirm_VERSION_MINOR 4 -#endif - -/** - * The Firm version number. - */ -typedef struct _firm_version_t { - unsigned major; - unsigned minor; - const char *revision; - const char *build; -} firm_version_t; - -/** - * Initialize the firm library. - * - * Initializes the firm library. Allocates default data structures. - * Initializes configurable behavior of the library. - * - * @param params A structure containing the parameters of the libFirm. - * - * The parameter struct may be NULL. In that case, the original FIRM behavior - * is conserved. - */ -void init_firm(const firm_parameter_t *params); - -/** - * Frees all memory occupied by the firm library. - */ -void free_firm(void); - -/** - * Returns the libFirm version number. - * If statically linked, always libFirm_VERSION_MAJOR, libFirm_VERSION_MINOR - */ -void firm_get_version(firm_version_t *version); - -#ifdef WITH_LIBCORE -/** - * Read initializations arguments from the .init file. - */ -void firm_init_options(const char *arg_prefix, int argc, const char **argv); -#endif +#include "be.h" #ifdef __cplusplus }