X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firvrfy.c;h=f4ad315bfe8f2202a55c371d279514c497a65a8d;hb=8399216d8aebc713bbda04b6e3e250a1d52b20bf;hp=a7f3ef32f727ca88db8351fffd3eae29799dec2f;hpb=9fe9c20a1570729f1bdd21a6f174ec045d2ff986;p=libfirm diff --git a/ir/ir/irvrfy.c b/ir/ir/irvrfy.c index a7f3ef32f..f4ad315bf 100644 --- a/ir/ir/irvrfy.c +++ b/ir/ir/irvrfy.c @@ -1055,7 +1055,9 @@ int irn_vrfy_irg(ir_node *n, ir_graph *irg) break; - case iro_Store: + case iro_Store: { + entity *target; + op1mode = get_irn_mode(in[1]); op2mode = get_irn_mode(in[2]); op3mode = get_irn_mode(in[3]); @@ -1066,7 +1068,7 @@ int irn_vrfy_irg(ir_node *n, ir_graph *irg) ); ASSERT_AND_RET(mymode == mode_T, "Store node", 0); - entity *target = get_ptr_entity(in[2]); + target = get_ptr_entity(in[2]); if (vrfy_entities && target && get_irg_phase_state(current_ir_graph) == phase_high) { /* * If lowered code, any Sels that add 0 may be removed, causing @@ -1078,6 +1080,7 @@ int irn_vrfy_irg(ir_node *n, ir_graph *irg) } break; + } case iro_Alloc: op1mode = get_irn_mode(in[1]); @@ -1129,6 +1132,20 @@ int irn_vrfy_irg(ir_node *n, ir_graph *irg) ); break; + case iro_Mux: + op1mode = get_irn_mode(in[1]); + op2mode = get_irn_mode(in[2]); + op3mode = get_irn_mode(in[3]); + ASSERT_AND_RET( + /* Mux: BB x b x numP x numP --> numP */ + op1mode == mode_b && + op2mode == mymode && + op3mode == mymode && + mode_is_numP(mymode), + "Mux node", 0 + ); + break; + default: break; }