X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_transform.c;h=41ae3496a3b1d085dae4602a8bdbc1d1dad2bef7;hb=a950773f1f6101a90fae9c565e4f236b0300327c;hp=931dfdccd61df30e622cf008eb97fe6c5e8ff6d0;hpb=8aebbe05e8187de9c16c43850b58295b4584ad8a;p=libfirm diff --git a/ir/be/ia32/ia32_transform.c b/ir/be/ia32/ia32_transform.c index 931dfdccd..41ae3496a 100644 --- a/ir/be/ia32/ia32_transform.c +++ b/ir/be/ia32/ia32_transform.c @@ -2969,7 +2969,7 @@ static ir_node *gen_Conv(ir_node *node) { ir_node *res = NULL; if (src_mode == mode_b) { - assert(mode_is_int(tgt_mode)); + assert(mode_is_int(tgt_mode) || mode_is_reference(tgt_mode)); /* nothing to do, we already model bools as 0/1 ints */ return be_transform_node(op); } @@ -4309,6 +4309,7 @@ static ir_node *gen_Proj_l_FloattoLL(ir_node *node) { long pn = get_Proj_proj(node); ir_node *load; ir_node *proj; + ia32_attr_t *attr; load = new_rd_ia32_Load(dbgi, irg, block, frame, noreg, new_pred); SET_IA32_ORIG_NODE(load, ia32_get_old_node_name(env_cg, node)); @@ -4317,10 +4318,10 @@ static ir_node *gen_Proj_l_FloattoLL(ir_node *node) { set_ia32_ls_mode(load, mode_Iu); /* we need a 64bit stackslot (fist stores 64bit) even though we only load * 32 bit from it with this particular load */ - ia32_attr_t *attr = get_ia32_attr(load); + attr = get_ia32_attr(load); attr->data.need_64bit_stackent = 1; - if(pn == pn_ia32_l_FloattoLL_res_high) { + if (pn == pn_ia32_l_FloattoLL_res_high) { add_ia32_am_offs_int(load, 4); } else { assert(pn == pn_ia32_l_FloattoLL_res_low);