aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/mem2reg/broken-phi02.c
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-09-11 12:25:36 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-11-13 14:16:51 +0100
commit6e3ab84b12b2a0c783799f21f4413b610a5f2093 (patch)
treeae417c5dece4c3aa2e40a4e6ef01c53a81c47734 /validation/mem2reg/broken-phi02.c
parent22eaf158a163d38f724df20efdf8a5e5ee68c58e (diff)
downloadsparse-dev-6e3ab84b12b2a0c783799f21f4413b610a5f2093.tar.gz
add testcase for mem2reg/SSA conversion
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation/mem2reg/broken-phi02.c')
-rw-r--r--validation/mem2reg/broken-phi02.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/validation/mem2reg/broken-phi02.c b/validation/mem2reg/broken-phi02.c
new file mode 100644
index 00000000..69776e0f
--- /dev/null
+++ b/validation/mem2reg/broken-phi02.c
@@ -0,0 +1,28 @@
+int foo(int a, int b)
+{
+ int x;
+ int i;
+
+ if (a)
+ i = 0;
+ else
+ i = 1;
+
+ x = 0;
+ if (b)
+ x = i;
+ return x;
+}
+
+/*
+ * check-name: broken-phi02
+ * check-description:
+ * This is an indirect test to check correctness of phi-node placement.
+ * The misplaced phi-node for 'i' (not at the meet point but where 'i'
+ * is used) causes a missed select-conversion at later stage.
+ *
+ * check-command: test-linearize -Wno-decl $file
+ * check-known-to-fail
+ * check-output-ignore
+ * check-output-contains: select\\.
+ */