mirror of
https://github.com/danog/ir.git
synced 2024-12-03 18:18:31 +01:00
Fixed inactive interval splitting
This commit is contained in:
parent
b9fc218604
commit
1b88d998c8
2
ir_ra.c
2
ir_ra.c
@ -3106,12 +3106,12 @@ spill_current:
|
|||||||
IR_ASSERT(other->type != IR_VOID);
|
IR_ASSERT(other->type != IR_VOID);
|
||||||
IR_LOG_LSRA_CONFLICT(" ---- Conflict with inactive", other, overlap);
|
IR_LOG_LSRA_CONFLICT(" ---- Conflict with inactive", other, overlap);
|
||||||
// TODO: optimal split position (this case is not tested)
|
// TODO: optimal split position (this case is not tested)
|
||||||
|
child = ir_split_interval_at(ctx, other, overlap);
|
||||||
if (prev) {
|
if (prev) {
|
||||||
prev->list_next = other = other->list_next;
|
prev->list_next = other = other->list_next;
|
||||||
} else {
|
} else {
|
||||||
*inactive = other = other->list_next;
|
*inactive = other = other->list_next;
|
||||||
}
|
}
|
||||||
child = ir_split_interval_at(ctx, other, overlap);
|
|
||||||
ir_add_to_unhandled(unhandled, child);
|
ir_add_to_unhandled(unhandled, child);
|
||||||
IR_LOG_LSRA(" ---- Queue", child, "");
|
IR_LOG_LSRA(" ---- Queue", child, "");
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
Reference in New Issue
Block a user