summaryrefslogtreecommitdiffhomepage
path: root/ir/be/beprefalloc.c
diff options
context:
space:
mode:
authorChristoph Mallon <christoph.mallon@gmx.de>2016-03-19 21:38:05 +0100
committerChristoph Mallon <christoph.mallon@gmx.de>2016-03-21 09:11:28 +0100
commitac50d9045566f9c1e0e2f58256958097f5d9b128 (patch)
treefcba64fb23da232db4417f6da4ed69fb38e4d354 /ir/be/beprefalloc.c
parente093e4847f92fb2283e9b45e8b513f4115774501 (diff)
be: Remove flag 'aligned' from register requirements.
It is the default for width != 1 now. Work on this never was finished, so it probably does not work anyway.
Diffstat (limited to 'ir/be/beprefalloc.c')
-rw-r--r--ir/be/beprefalloc.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/ir/be/beprefalloc.c b/ir/be/beprefalloc.c
index 81aa0b9..e0fa7fd 100644
--- a/ir/be/beprefalloc.c
+++ b/ir/be/beprefalloc.c
@@ -690,7 +690,7 @@ static void assign_reg(ir_node const *const block, ir_node *const node, arch_reg
continue;
/* alignment constraint? */
if (width > 1) {
- if (req->aligned && (final_reg_index % width) != 0)
+ if (final_reg_index % width != 0)
continue;
bool fine = true;
for (unsigned r0 = r+1; r0 < r+width; ++r0) {
@@ -1104,13 +1104,14 @@ static void enforce_constraints(ir_nodeset_t *live_nodes, ir_node *node,
bool good = true;
be_foreach_use(node, cls, req, op, op_req,
/* are there any limitations for the i'th operand? */
- if (req->width > 1)
- double_width = true;
const arch_register_t *reg = arch_get_irn_register(op);
unsigned reg_index = reg->index;
- if (req->aligned && !is_aligned(reg_index, req->width)) {
- good = false;
- continue;
+ if (req->width != 1) {
+ double_width = true;
+ if (!is_aligned(reg_index, req->width)) {
+ good = false;
+ continue;
+ }
}
if (req->limited == NULL)
continue;
@@ -1515,9 +1516,8 @@ static void allocate_coalesce_block(ir_node *block, void *data)
const arch_register_req_t *phi_req = cls->class_req;
if (req->width > 1) {
arch_register_req_t *new_req = allocate_reg_req(irg);
- new_req->cls = cls;
- new_req->width = req->width;
- new_req->aligned = req->aligned;
+ new_req->cls = cls;
+ new_req->width = req->width;
phi_req = new_req;
}
ir_node *phi = be_new_Phi(block, n_preds, phi_ins, mode,