aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/optim
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-03-11 09:42:24 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-03-14 23:19:54 +0100
commitdc0297e9166f42f9f27e9c5958c06feb16b95ce8 (patch)
treefd94f4d996d09e2d622834fb4b70afb374575c45 /validation/optim
parentb3875dcaf628705a65adf3c815f52fcffcd280bb (diff)
downloadsparse-dev-dc0297e9166f42f9f27e9c5958c06feb16b95ce8.tar.gz
optim: kill unreachable BBS after CFG simplification
Normal instruction simplification & CSE must not be done on dead block (otherwise it's possible to have unsound situations like having an instruction defining its own operand with possible infinite loops as consequence). This is insured by the main optimization loop but not after BB packing or flow simplification. Fix this by calling kill_unreachabe_bbs() after BB packing and flow simplification. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation/optim')
-rw-r--r--validation/optim/dup-cond0.c1
-rw-r--r--validation/optim/phi-ret.c1
2 files changed, 0 insertions, 2 deletions
diff --git a/validation/optim/dup-cond0.c b/validation/optim/dup-cond0.c
index dc4991cb..0525250c 100644
--- a/validation/optim/dup-cond0.c
+++ b/validation/optim/dup-cond0.c
@@ -13,7 +13,6 @@ static int foo(struct s *s)
/*
* check-name: dup-cond0
* check-command: test-linearize -Wno-decl $file
- * check-known-to-fail
*
* check-output-ignore
* check-output-contains: select
diff --git a/validation/optim/phi-ret.c b/validation/optim/phi-ret.c
index 204366a9..bc3e0474 100644
--- a/validation/optim/phi-ret.c
+++ b/validation/optim/phi-ret.c
@@ -15,7 +15,6 @@ int foo(int p, int q, int v)
/*
* check-name: phi-ret
* check-command: test-linearize -Wno-decl $file
- * check-known-to-fail
*
* check-output-ignore
* check-output-excludes: phi\\.