Commit 29660710 authored by Christian Würdig's avatar Christian Würdig
Browse files

fixed handling of other_same/other_different constraint handling

[r13871]
parent 9005e7f9
...@@ -329,13 +329,13 @@ extern char *arch_register_req_format(char *buf, size_t len, ...@@ -329,13 +329,13 @@ extern char *arch_register_req_format(char *buf, size_t len,
} }
if(arch_register_req_is(req, should_be_same)) { if(arch_register_req_is(req, should_be_same)) {
const ir_node *same = get_irn_n(node, req->other_same); const ir_node *same = get_irn_n(skip_Proj_const(node), req->other_same);
ir_snprintf(tmp, sizeof(tmp), " same to: %+F", same); ir_snprintf(tmp, sizeof(tmp), " same to: %+F", same);
strncat(buf, tmp, len); strncat(buf, tmp, len);
} }
if(arch_register_req_is(req, should_be_different)) { if(arch_register_req_is(req, should_be_different)) {
const ir_node *different = get_irn_n(node, req->other_different); const ir_node *different = get_irn_n(skip_Proj_const(node), req->other_different);
ir_snprintf(tmp, sizeof(tmp), " different to: %+F", different); ir_snprintf(tmp, sizeof(tmp), " different to: %+F", different);
strncat(buf, tmp, len); strncat(buf, tmp, len);
} }
......
...@@ -429,7 +429,7 @@ static void dump_affinities_walker(ir_node *irn, void *env) { ...@@ -429,7 +429,7 @@ static void dump_affinities_walker(ir_node *irn, void *env) {
req = arch_get_register_req(raenv->aenv, irn, pos); req = arch_get_register_req(raenv->aenv, irn, pos);
if (arch_register_req_is(req, should_be_same)) { if (arch_register_req_is(req, should_be_same)) {
ir_node *other = get_irn_n(irn, req->other_same); ir_node *other = get_irn_n(skip_Proj(irn), req->other_same);
if(arch_irn_is(raenv->aenv, other, ignore)) { if(arch_irn_is(raenv->aenv, other, ignore)) {
vi2 = be_get_var_info(other); vi2 = be_get_var_info(other);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment