mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-21 19:20:21 +02:00
Correct misplaced check for already visited blocks
This commit is contained in:
parent
1bd169cfa3
commit
f42a251ff1
3 changed files with 15 additions and 6 deletions
|
@ -1983,15 +1983,15 @@ _jit_update(jit_state_t *_jit, jit_node_t *node,
|
|||
goto restart;
|
||||
}
|
||||
block = _jitc->blocks.ptr + label->v.w;
|
||||
if (bmp_tst(label->v.w))
|
||||
continue;
|
||||
bmp_set(label->v.w);
|
||||
jit_regset_and(&ztmp, mask, &block->reglive);
|
||||
if (jit_regset_set_p(&ztmp)) {
|
||||
jit_regset_ior(live, live, &ztmp);
|
||||
jit_regset_com(&ztmp, &ztmp);
|
||||
jit_regset_and(mask, mask, &ztmp);
|
||||
}
|
||||
if (bmp_tst(label->v.w))
|
||||
continue;
|
||||
bmp_set(label->v.w);
|
||||
if (jit_regset_set_p(mask) == 0)
|
||||
return;
|
||||
/* restore mask if branch is conditional */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue