*/
#ifdef NOT_PORTED
-#ifdef HAVE_CONFIG_H
#include "config.h"
-#endif
#include <stdio.h>
#include <stdlib.h>
typedef struct _ssa_destr_env_t {
ir_graph *irg;
const arch_register_class_t *cls;
- const arch_env_t *aenv;
set *vars;
} ssa_destr_env_t;
return vi->values;
}
-static INLINE ir_node *get_first_phi(ir_node **s) {
+static inline ir_node *get_first_phi(ir_node **s) {
int i;
for (i = ARR_LEN(s) - 1; i >= 0; --i) {
int nr, i, build_vals = 0;
ir_node **vals;
- if (arch_get_irn_reg_class(sde->aenv, irn, -1) == NULL)
+ if (arch_get_irn_reg_class_out(irn) == NULL)
return;
vals = get_phi_class(pc, irn);
/* In case this is a 'normal' phi we insert at the
* end of the pred block before cf nodes */
- last_cpy = sched_skip(pred_blk, 0, sched_skip_cf_predicator, (void *)sde->aenv);
+ last_cpy = sched_skip(pred_blk, 0, sched_skip_cf_predicator, NULL);
last_cpy = sched_next(last_cpy);
/* If we detect a loop stop recursion. */
if (!is_Phi(phi))
break;
- if (arch_irn_is(sde->aenv, phi, ignore))
+ if (arch_irn_is(phi, ignore))
continue;
- cls = arch_get_irn_reg_class(sde->aenv, phi, -1);
+ cls = arch_get_irn_reg_class_out(phi);
insert_copies(sde, cls, phi, pos, phi);
}
}
}
-set *be_ssa_destr_simple(ir_graph *irg, const arch_env_t *aenv) {
+set *be_ssa_destr_simple(ir_graph *irg)
+{
ssa_destr_env_t sde;
sde.irg = irg;
- sde.aenv = aenv;
sde.vars = new_set(compare_var_infos, 16);
be_clear_links(irg);