-static void peephole_IncSP_IncSP(ir_node *node);
-
-#if 0
-static void peephole_ia32_Store_IncSP_to_push(ir_node *node)
-{
- ir_node *base = get_irn_n(node, n_ia32_Store_base);
- ir_node *index = get_irn_n(node, n_ia32_Store_index);
- ir_node *mem = get_irn_n(node, n_ia32_Store_mem);
- ir_node *incsp = base;
- ir_node *val;
- ir_node *noreg;
- ir_graph *irg;
- ir_node *block;
- dbg_info *dbgi;
- ir_mode *mode;
- ir_node *push;
- ir_node *proj;
- int offset;
- int node_offset;
-
- /* nomem inidicates the store doesn't alias with anything else */
- if(!is_NoMem(mem))
- return;
-
- /* find an IncSP in front of us, we might have to skip barriers for this */
- while(is_Proj(incsp)) {
- ir_node *proj_pred = get_Proj_pred(incsp);
- if(!be_is_Barrier(proj_pred))
- return;
- incsp = get_irn_n(proj_pred, get_Proj_proj(incsp));
- }
- if(!be_is_IncSP(incsp))
- return;
-
- peephole_IncSP_IncSP(incsp);
-
- /* must be in the same block */
- if(get_nodes_block(incsp) != get_nodes_block(node))
- return;
-
- if(!is_ia32_NoReg_GP(index) || get_ia32_am_sc(node) != NULL) {
- panic("Invalid storeAM found (%+F)", node);
- }
-
- /* we should be the store to the end of the stackspace */
- offset = be_get_IncSP_offset(incsp);
- mode = get_ia32_ls_mode(node);
- node_offset = get_ia32_am_offs_int(node);
- if(node_offset != offset - get_mode_size_bytes(mode))
- return;
-
- /* we can use a push instead of the store */
- irg = current_ir_graph;
- block = get_nodes_block(node);
- dbgi = get_irn_dbg_info(node);
- noreg = ia32_new_NoReg_gp(cg);
- base = be_get_IncSP_pred(incsp);
- val = get_irn_n(node, n_ia32_Store_val);
- push = new_rd_ia32_Push(dbgi, irg, block, noreg, noreg, mem, val, base);
-
- proj = new_r_Proj(irg, block, push, mode_M, pn_ia32_Push_M);
-
- be_set_IncSP_offset(incsp, offset - get_mode_size_bytes(mode));
-
- sched_add_before(node, push);
- sched_remove(node);
-
- be_peephole_before_exchange(node, proj);
- exchange(node, proj);
- be_peephole_after_exchange(proj);
-}
-
-static void peephole_ia32_Store(ir_node *node)
-{
- peephole_ia32_Store_IncSP_to_push(node);
-}
-#endif
-