mirror of
https://github.com/danog/ir.git
synced 2024-12-02 17:55:40 +01:00
Allow motion of loop invariant bound nodes
Spilling of bound nodes may introduce anti-dependencies, but the previous restriction doesn't fix the possible problems
This commit is contained in:
parent
ae4daf223e
commit
e506c1367d
5
ir_gcm.c
5
ir_gcm.c
@ -126,8 +126,9 @@ static void ir_gcm_schedule_late(ir_ctx *ctx, uint32_t *_blocks, ir_bitset visit
|
||||
ir_block *bb = &ctx->cfg_blocks[b];
|
||||
uint32_t loop_depth = bb->loop_depth;
|
||||
|
||||
if (loop_depth
|
||||
&& !(ctx->binding && ir_binding_find(ctx, ref))) {
|
||||
if (loop_depth) {
|
||||
// TODO: proper support for anti-dependencies between bound nodes ???
|
||||
// && !(ctx->binding && ir_binding_find(ctx, ref))) {
|
||||
uint32_t flags;
|
||||
|
||||
use_list = &ctx->use_lists[ref];
|
||||
|
Loading…
Reference in New Issue
Block a user