aboutsummaryrefslogtreecommitdiff
path: root/src/ssa.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-04-20 21:07:47 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-04-20 21:07:47 +0300
commitcb71bb6ad44d5e6ea4d4af4896c23088957cbdb3 (patch)
treedf833624ae4563b83a4e9fa139ced0ccc3e5b25b /src/ssa.c
parent78d992ff3052db9dc98a3074e8a4423760c342f1 (diff)
downloadqbt-cb71bb6ad44d5e6ea4d4af4896c23088957cbdb3.tar.gz
qbt-cb71bb6ad44d5e6ea4d4af4896c23088957cbdb3.zip
fix parallel moves
Diffstat (limited to 'src/ssa.c')
-rw-r--r--src/ssa.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/ssa.c b/src/ssa.c
index 997f078..4283dae 100644
--- a/src/ssa.c
+++ b/src/ssa.c
@@ -41,6 +41,11 @@ static void build_params(struct blk *b, int visited)
b->visited++;
+ if (return_blk(b)) {
+ b->s1 = NULL;
+ b->s2 = NULL;
+ }
+
if (b->s1)
build_params(b->s1, visited);
@@ -102,7 +107,7 @@ static void build_params(struct blk *b, int visited)
if (p.class == NOCLASS)
continue;
- if (has_val(&forward, p))
+ if (has_val(&required, p))
continue;
add_val(&required, p);
@@ -216,7 +221,6 @@ static size_t rename_temps(struct blk *b, size_t i)
}
vec_destroy(&rmap);
-
return i;
}