From cb71bb6ad44d5e6ea4d4af4896c23088957cbdb3 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sat, 20 Apr 2024 21:07:47 +0300 Subject: fix parallel moves --- src/ssa.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/ssa.c') 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; } -- cgit v1.3