* @author Sebastian Hack, Michael Beck
* @version $Id$
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include "config.h"
#include "obst.h"
#include "offset.h"
arch_set_irn_register(proj, reg);
/* if the proj projects a ignore register or a node which is set to ignore, propagate this property. */
- if (arch_register_type_is(reg, ignore) || arch_irn_is(env->birg->main_env->arch_env, in[n], ignore))
+ if (arch_register_type_is(reg, ignore) || arch_irn_is(in[n], ignore))
flags |= arch_irn_flags_ignore;
- if (arch_irn_is(env->birg->main_env->arch_env, in[n], modify_sp))
+ if (arch_irn_is(in[n], modify_sp))
flags |= arch_irn_flags_modify_sp;
be_node_set_flags(irn, pos, flags);
typedef struct fix_stack_walker_env_t {
node_array sp_nodes;
- const arch_env_t *arch_env;
} fix_stack_walker_env_t;
/**
{
fix_stack_walker_env_t *env = data;
- if (arch_irn_is(env->arch_env, node, modify_sp)) {
+ if (arch_irn_is(node, modify_sp)) {
assert(get_irn_mode(node) != mode_M && get_irn_mode(node) != mode_T);
ARR_APP1(ir_node*, env->sp_nodes, node);
}
fix_stack_walker_env_t walker_env;
walker_env.sp_nodes = NEW_ARR_F(ir_node*, 0);
- walker_env.arch_env = birg->main_env->arch_env;
irg_walk_graph(birg->irg, collect_stack_nodes_walker, NULL, &walker_env);
len = ARR_LEN(phis);
for(i = 0; i < len; ++i) {
ir_node *phi = phis[i];
- be_set_phi_reg_req(walker_env.arch_env, phi, &env->sp_req);
- be_set_phi_flags(walker_env.arch_env, phi, arch_irn_flags_ignore | arch_irn_flags_modify_sp);
+ be_set_phi_reg_req(phi, &env->sp_req);
+ be_set_phi_flags(phi, arch_irn_flags_ignore | arch_irn_flags_modify_sp);
arch_set_irn_register(phi, env->arch_env->sp);
}
be_ssa_construction_destroy(&senv);