From: Michael Beck Date: Sat, 19 Apr 2008 21:21:54 +0000 (+0000) Subject: fix r19298: offsets must be fixed for PopMem X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=964aebaae5f9bf41d57592e1cfdc878410c6297e;p=libfirm fix r19298: offsets must be fixed for PopMem [r19337] --- diff --git a/ir/be/ia32/bearch_ia32.c b/ir/be/ia32/bearch_ia32.c index b107c43eb..b199cd662 100644 --- a/ir/be/ia32/bearch_ia32.c +++ b/ir/be/ia32/bearch_ia32.c @@ -385,7 +385,7 @@ static void ia32_set_frame_offset(const void *self, ir_node *irn, int bias) if (get_ia32_frame_ent(irn) == NULL) return; - if (is_ia32_Pop(irn)) { + if (is_ia32_Pop(irn) || is_ia32_PopMem(irn)) { int omit_fp = be_abi_omit_fp(ops->cg->birg->abi); if (omit_fp) { /* Pop nodes modify the stack pointer before calculating the @@ -404,7 +404,7 @@ static int ia32_get_sp_bias(const void *self, const ir_node *node) if (is_ia32_Push(node)) return 4; - if (is_ia32_Pop(node)) + if (is_ia32_Pop(node) || is_ia32_PopMem(node)) return -4; return 0;