From: Andreas Zwinkau Date: Thu, 17 Feb 2011 12:56:12 +0000 (+0000) Subject: Fixes testcase opt/gzip_error X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=a38e5381b0d59f1229c494623bb761f4b844cc67;p=libfirm Fixes testcase opt/gzip_error The backend sometimes creates ProjM with a temporarily broken pn, so the verifier must not check them. [r28392] --- diff --git a/ir/be/ia32/ia32_transform.c b/ir/be/ia32/ia32_transform.c index 5b3de32e7..6832fcfe4 100644 --- a/ir/be/ia32/ia32_transform.c +++ b/ir/be/ia32/ia32_transform.c @@ -1498,8 +1498,13 @@ static ir_node *transform_AM_mem(ir_node *const block, ins[n++] = be_transform_node(pred); } - ins[n++] = am_mem; + if (n==1 && ins[0] == am_mem) { + return am_mem; + /* creating a new Sync and relying on CSE may fail, + * if am_mem is a ProjM, which does not yet verify. */ + } + ins[n++] = am_mem; return new_r_Sync(block, n, ins); } else { ir_node *ins[2];