From 8132e41231c16739cd9fdad67d33b61c7c72e292 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Christian=20W=C3=BCrdig?= Date: Thu, 23 Mar 2006 14:19:23 +0000 Subject: [PATCH] clear remat flag in AM nodes --- ir/be/ia32/ia32_optimize.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ir/be/ia32/ia32_optimize.c b/ir/be/ia32/ia32_optimize.c index f624bdd04..dd58b4e2d 100644 --- a/ir/be/ia32/ia32_optimize.c +++ b/ir/be/ia32/ia32_optimize.c @@ -888,6 +888,9 @@ void ia32_optimize_am(ir_node *irn, void *env) { /* set base and index */ set_irn_n(irn, 0, get_irn_n(left, 0)); set_irn_n(irn, 1, get_irn_n(left, 1)); + + /* clear remat flag */ + set_ia32_flags(irn, get_ia32_flags(irn) & ~arch_irn_flags_rematerializable); } } /* check if the node is an address mode candidate */ @@ -1020,6 +1023,9 @@ void ia32_optimize_am(ir_node *irn, void *env) { set_Proj_pred(mem_proj, irn); set_Proj_proj(mem_proj, 1); + /* clear remat flag */ + set_ia32_flags(irn, get_ia32_flags(irn) & ~arch_irn_flags_rematerializable); + DB((mod, LEVEL_1, "merged with %+F and %+F into dest AM\n", load, store)); } } /* if (store) */ @@ -1070,6 +1076,9 @@ void ia32_optimize_am(ir_node *irn, void *env) { set_ia32_frame_ent(irn, get_ia32_frame_ent(left)); set_ia32_ls_mode(irn, get_ia32_ls_mode(left)); + /* clear remat flag */ + set_ia32_flags(irn, get_ia32_flags(irn) & ~arch_irn_flags_rematerializable); + if (is_ia32_use_frame(left)) set_ia32_use_frame(irn); -- 2.20.1