mirror of
https://github.com/danog/ir.git
synced 2024-12-02 17:55:40 +01:00
Fix inerval flags reseting after coalescing
This commit is contained in:
parent
62b6ddf149
commit
9c4cabd19d
4
ir_ra.c
4
ir_ra.c
@ -1587,7 +1587,9 @@ static void ir_vregs_join(ir_ctx *ctx, uint32_t r1, uint32_t r2)
|
|||||||
|
|
||||||
ctx->live_intervals[r1]->flags |=
|
ctx->live_intervals[r1]->flags |=
|
||||||
IR_LIVE_INTERVAL_COALESCED | (ival->flags & (IR_LIVE_INTERVAL_HAS_HINT_REGS|IR_LIVE_INTERVAL_HAS_HINT_REFS));
|
IR_LIVE_INTERVAL_COALESCED | (ival->flags & (IR_LIVE_INTERVAL_HAS_HINT_REGS|IR_LIVE_INTERVAL_HAS_HINT_REFS));
|
||||||
ctx->live_intervals[r1]->flags &= ~(IR_LIVE_INTERVAL_MEM_PARAM|IR_LIVE_INTERVAL_MEM_LOAD);
|
if (ctx->ir_base[IR_LIVE_POS_TO_REF(ctx->live_intervals[r1]->use_pos->pos)].op != IR_VLOAD) {
|
||||||
|
ctx->live_intervals[r1]->flags &= ~IR_LIVE_INTERVAL_MEM_LOAD;
|
||||||
|
}
|
||||||
ctx->live_intervals[r2] = NULL;
|
ctx->live_intervals[r2] = NULL;
|
||||||
|
|
||||||
// TODO: remember to reuse ???
|
// TODO: remember to reuse ???
|
||||||
|
Loading…
Reference in New Issue
Block a user