common spilling things
[libfirm] / ir / be / bespill.h
1 /**
2  * Author:      Daniel Grund
3  * Date:                29.09.2005
4  * Copyright:   (c) Universitaet Karlsruhe
5  * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
6  */
7
8 #ifndef BESPILL_H_
9 #define BESPILL_H_
10
11 #include "set.h"
12 #include "pset.h"
13
14 #include "be_t.h"
15 #include "irnode.h"
16
17 typedef struct _spill_env_t {
18         const be_main_session_env_t *session;
19         set *spill_ctxs;
20         pset *mem_phis;         /**< all phis which must be converted to memory phis */
21 } spill_env_t;
22
23 int be_set_cmp_spillctx(const void *a, const void *b, size_t n);
24
25 ir_node *be_spill_node(spill_env_t *senv, ir_node *to_spill);
26
27 void be_remove_spilled_phis(spill_env_t *senv);
28
29
30 #endif /*BESPILL_H_*/