diff options
| author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2021-03-26 00:41:22 +0100 |
|---|---|---|
| committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2021-04-02 20:50:34 +0200 |
| commit | 8b89204e0d7e2caaaa03ff8ed79da5bf6f2e1b36 (patch) | |
| tree | b8b7390e92c502e625d3af68268382637ec4c76a /validation/optim/multi-phisrc.c | |
| parent | 78183a155b833ded168e9f72055a8a0f01a5ad46 (diff) | |
| download | sparse-dev-8b89204e0d7e2caaaa03ff8ed79da5bf6f2e1b36.tar.gz | |
fix remove_merging_phisrc()
The current implementation of remove_merging_phisrc() can't work correctly
when these phi-sources belong to a basic block with several children
to the same target basic block (this happens commonly with OP_SWITCH).
Fix this by directly scanning the source basic block for the presence
of any phi-source. Once identified, the processing is kept unchanged:
remove these phi-sources if a sibling phi-source will 'overwrite' them
in the target block.
Fixes: 2fdaca9e7175e62f08d259f5cb3ec7c9725bba68
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation/optim/multi-phisrc.c')
| -rw-r--r-- | validation/optim/multi-phisrc.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/validation/optim/multi-phisrc.c b/validation/optim/multi-phisrc.c index c6f21f2d..ff31c083 100644 --- a/validation/optim/multi-phisrc.c +++ b/validation/optim/multi-phisrc.c @@ -17,7 +17,6 @@ void foo(int p, int a) /* * check-name: multi-phisrc * check-command: test-linearize -Wno-decl $file - * check-known-to-fail * * check-output-ignore * check-output-excludes: phi |
