summaryrefslogtreecommitdiffhomepage
path: root/ir/be/bearch.h
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2015-06-30 17:48:01 +0200
committerMatthias Braun <matze@braunis.de>2015-07-01 07:40:03 +0200
commit474447c7491747fdaf5bc7f8a05ae561fcb31420 (patch)
treeb698d2cc1dddec3e0f5615e9eb58db1ce79f0c03 /ir/be/bearch.h
parentc15ec9596306be5ea62c087d37024f0cac05d490 (diff)
bearch: rework must_be_different constraint
- Rename other_different field to must_be_different - Remove arch_register_req_type_must_be_different, it's enough to see if the must_be_different field is not zero.
Diffstat (limited to 'ir/be/bearch.h')
-rw-r--r--ir/be/bearch.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/ir/be/bearch.h b/ir/be/bearch.h
index dff39da..d36e86c 100644
--- a/ir/be/bearch.h
+++ b/ir/be/bearch.h
@@ -25,13 +25,11 @@
*/
typedef enum arch_register_req_type_t {
/** No special type, but may still have a limited array set. */
- arch_register_req_type_none = 0,
- /** The register must be unequal from some other at the node. */
- arch_register_req_type_must_be_different = 1U << 0,
+ arch_register_req_type_none = 0,
/** The registernumber should be aligned (in case of multiregister values)*/
- arch_register_req_type_aligned = 1U << 1,
+ arch_register_req_type_aligned = 1U << 0,
/** ignore while allocating registers */
- arch_register_req_type_ignore = 1U << 2,
+ arch_register_req_type_ignore = 1U << 1,
} arch_register_req_type_t;
ENUM_BITSET(arch_register_req_type_t)
@@ -229,7 +227,7 @@ struct arch_register_req_t {
/** Bitmask of ins which should use the same register. */
unsigned should_be_same;
/** Bitmask of ins which shall use a different register (must_be_different) */
- unsigned other_different;
+ unsigned must_be_different;
/** Specifies how many sequential registers are required */
unsigned char width;
};
@@ -243,7 +241,7 @@ static inline bool reg_reqs_equal(const arch_register_req_t *req1,
if (req1->type != req2->type ||
req1->cls != req2->cls ||
req1->should_be_same != req2->should_be_same ||
- req1->other_different != req2->other_different ||
+ req1->must_be_different != req2->must_be_different ||
(req1->limited != NULL) != (req2->limited != NULL))
return false;