don't call be_spill_phis for phis of other reg classes
[libfirm] / ir / be / bemodule.h
1 /*
2  * Author:      Matthias Braun
3  * Date:                11.12.2006
4  * Copyright:   (c) Universitaet Karlsruhe
5  * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
6  */
7 #ifndef BEMODULE_H_
8 #define BEMODULE_H_
9
10 /**
11  * Mark a function as module constructor.
12  * Currently you have to add modules manually in the list in bemodule.c.
13  * However future extensions might allow them to be automatically discovered
14  * when they are marked with BE_REGISTER_MODULE_CONSTRUCTOR
15  */
16 #define BE_REGISTER_MODULE_CONSTRUCTOR(func)
17
18 /**
19  * Mark a function as module destructor.
20  */
21 #define BE_REGISTER_MODULE_DESTRUCTOR(func)
22
23 /**
24  * Call all module constructors
25  */
26 void be_init_modules(void);
27
28 /**
29  * Call all module destructors
30  */
31 void be_quit_modules(void);
32
33 //---------------------------------------------------------------------------
34
35 #include <libcore/lc_opts.h>
36
37 typedef struct be_module_list_entry_t be_module_list_entry_t;
38
39 void be_add_module_to_list(be_module_list_entry_t **list_head, const char *name,
40                            void *module);
41
42 void be_add_module_list_opt(lc_opt_entry_t *grp, const char *name,
43                             const char *description,
44                             be_module_list_entry_t * const * first,
45                             void **var);
46
47 #endif