summaryrefslogtreecommitdiffhomepage
path: root/ir/be/bearch.h
diff options
context:
space:
mode:
authorChristoph Mallon <mallon@cs.uni-saarland.de>2015-07-07 18:31:02 +0200
committerChristoph Mallon <mallon@cs.uni-saarland.de>2015-07-07 18:37:48 +0200
commite725136641c442773622bf14e1e88fd7e56fb1e7 (patch)
tree24187715529c6833a7660c5655deee3f3302aead /ir/be/bearch.h
parentb55890346a70dcafbbcce8eefe6ffd3da8a32f67 (diff)
be: Do not consider should_be_same in reg_req_has_constraint().
This is not a hard constraint like the others and does not break the register allocation, if a Perm is pushed across the node with should_be_same. This restores the behavior before the register constraint reorganization and removes lots of xchgs in the testsuite again.
Diffstat (limited to 'ir/be/bearch.h')
-rw-r--r--ir/be/bearch.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/ir/be/bearch.h b/ir/be/bearch.h
index 8181329..6c06523 100644
--- a/ir/be/bearch.h
+++ b/ir/be/bearch.h
@@ -236,8 +236,7 @@ static inline bool reg_reqs_equal(const arch_register_req_t *req1,
static inline bool reg_req_has_constraint(const arch_register_req_t *req)
{
- return req->limited != NULL || req->should_be_same != 0
- || req->must_be_different != 0 || req->ignore || req->aligned;
+ return req->limited || req->must_be_different != 0 || req->ignore || req->aligned;
}
/**