#include "ia32_finish.h"
#include "ia32_new_nodes.h"
#include "ia32_map_regs.h"
+#include "ia32_common_transform.h"
#include "ia32_transform.h"
#include "ia32_dbg_stat.h"
#include "ia32_optimize.h"
stc = new_rd_ia32_Stc(dbg, irg, block);
arch_set_irn_register(cg->arch_env, stc,
&ia32_flags_regs[REG_EFLAGS]);
+ sched_add_before(irn, stc);
adc = new_rd_ia32_Adc(dbg, irg, block, noreg, noreg, nomem, not,
in1, stc);
/* remove the old sub */
sched_remove(irn);
- be_kill_node(irn);
+ kill_node(irn);
DBG_OPT_SUB2NEGADD(irn, res);
}
if (get_ia32_am_arity(irn) != ia32_am_binary)
return;
- base = get_irn_n(irn, 0);
- index = get_irn_n(irn, 1);
+ base = get_irn_n(irn, n_ia32_base);
+ index = get_irn_n(irn, n_ia32_index);
reg_base = arch_get_irn_register(arch_env, base);
reg_index = arch_get_irn_register(arch_env, index);
foreach_out_edge_safe(irn, edge, next) {
ir_node *node = get_edge_src_irn(edge);
int pn = get_Proj_proj(node);
- if(pn == 0) {
+ if (pn == pn_ia32_res) {
exchange(node, irn);
- } else if(pn == pn_ia32_mem) {
+ } else if (pn == pn_ia32_mem) {
set_Proj_pred(node, load);
set_Proj_proj(node, pnmem);
}