diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-08-18 20:48:27 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-08-18 21:07:11 +0300 |
| commit | 4af5176d6377958a457da3e5f671ce21540fad70 (patch) | |
| tree | 04e7f2fe66e7c2e05f6a47b0c8108cf407ee6c93 /src/ssa.c | |
| parent | cdbe058f69f1db9c552e1b4a1ec5f94c12fc48a2 (diff) | |
| download | qbt-4af5176d6377958a457da3e5f671ce21540fad70.tar.gz qbt-4af5176d6377958a457da3e5f671ce21540fad70.zip | |
add tests and fixes on top of 674438
Diffstat (limited to 'src/ssa.c')
| -rw-r--r-- | src/ssa.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -72,6 +72,9 @@ top: } b = vect_pop(struct blk *, stack); + if (done(b, visited)) + goto top; + if (return_blk(b)) { b->s1 = NULL; b->s2 = NULL; @@ -185,13 +188,16 @@ top: } b = vect_pop(struct blk *, stack); + if (done(b, visited)) + goto top; + if (!entered(b, visited)) { vec_append(&stack, &b); if (b->s1) vec_append(&stack, &b->s1); - if (b->s2) + if (b->s2 && b->s2 != b->s1) vec_append(&stack, &b->s2); enter(b); |
