X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbenode.c;h=7c55b6a64eaa5fe89f0711b7dfed316604614ea6;hb=c996ec162f5e73d316884ab4d8feb35ac2e48896;hp=bdd3349b9d27fb2380a2fa42ecca991e444a275b;hpb=f600524c363556c785b85c0dff8792d04f73e252;p=libfirm diff --git a/ir/be/benode.c b/ir/be/benode.c index bdd3349b9..7c55b6a64 100644 --- a/ir/be/benode.c +++ b/ir/be/benode.c @@ -152,6 +152,15 @@ static const ir_op_ops be_node_op_ops; #define K irop_flag_keep #define M irop_flag_uses_memory +static int be_reqs_equal(const be_req_t *req1, const be_req_t *req2) +{ + if(!reg_reqs_equal(&req1->req, &req2->req)) + return 0; + if(req1->flags != req2->flags) + return 0; + + return 1; +} /** * Compare two be node attributes. @@ -167,8 +176,8 @@ static int _node_cmp_attr(const be_node_attr_t *a, const be_node_attr_t *b) { len = ARR_LEN(a->reg_data); for (i = 0; i < len; ++i) { if (a->reg_data[i].reg != b->reg_data[i].reg || - !reg_reqs_equal(&a->reg_data[i].in_req, &b->reg_data[i].in_req) || - !reg_reqs_equal(&a->reg_data[i].req, &b->reg_data[i].req)) + !be_reqs_equal(&a->reg_data[i].in_req, &b->reg_data[i].in_req) || + !be_reqs_equal(&a->reg_data[i].req, &b->reg_data[i].req)) return 1; }