* @date 26.03.2007
* @version $Id$
*/
-#ifdef HAVE_CONFIG_H
#include "config.h"
-#endif
#include "bestate.h"
ir_node *end_state;
} block_info_t;
-static INLINE
+static inline
block_info_t *new_block_info(struct obstack *obst, ir_node *block)
{
block_info_t *res = obstack_alloc(obst, sizeof(*res));
return res;
}
-static INLINE
+static inline
block_info_t *get_block_info(ir_node *block)
{
assert(irn_visited(block));
return (block_info_t*) get_irn_link(block);
}
-static INLINE
+static inline
spill_info_t *create_spill_info(minibelady_env_t *env, ir_node *state)
{
spill_info_t *spill_info = obstack_alloc(&env->obst, sizeof(spill_info[0]));
return spill_info;
}
-static INLINE
+static inline
spill_info_t *get_spill_info(minibelady_env_t *env, const ir_node *node)
{
spill_info_t *spill_info
static
void spill_phi(minibelady_env_t *env, ir_node *phi)
{
- ir_graph *irg = get_irn_irg(phi);
- ir_node *block = get_nodes_block(phi);
- int i, arity = get_irn_arity(phi);
- ir_node **in = alloca(arity * sizeof(in[0]));
- ir_node *spill_to_kill = NULL;
+ ir_graph *irg = get_irn_irg(phi);
+ ir_node *block = get_nodes_block(phi);
+ int arity = get_irn_arity(phi);
+ ir_node **in = ALLOCAN(ir_node*, arity);
+ ir_node *spill_to_kill = NULL;
spill_info_t *spill_info;
+ int i;
/* does a spill exist for the phis value? */
spill_info = get_spill_info(env, phi);
len = ARR_LEN(phis);
for(i = 0; i < len; ++i) {
ir_node *phi = phis[i];
- be_set_phi_flags(phi, arch_irn_flags_ignore);
arch_set_irn_register(phi, env.reg);
}
be_ssa_construction_destroy(&senv);