diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-11-07 11:26:35 +0100 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-11-07 11:57:38 +0100 |
commit | e58ddb5678f2fb1843c6871399509eacf9cc1371 (patch) | |
tree | 0c8f3c566414b6a3356e4dc937b9f22e0657937c | |
parent | f680124b794b246c8a20f2cb54b2fc7ff989625d (diff) | |
download | sparse-e58ddb5678f2fb1843c6871399509eacf9cc1371.tar.gz |
select: add some testcases for select simplification
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r-- | validation/optim/select-constant-cond.c | 10 | ||||
-rw-r--r-- | validation/optim/select-same-args.c | 9 | ||||
-rw-r--r-- | validation/optim/select-select-true-false0.c | 11 | ||||
-rw-r--r-- | validation/optim/select-select-true-false1.c | 14 | ||||
-rw-r--r-- | validation/optim/select-select-true-true.c | 10 |
5 files changed, 54 insertions, 0 deletions
diff --git a/validation/optim/select-constant-cond.c b/validation/optim/select-constant-cond.c new file mode 100644 index 00000000..a9337e2c --- /dev/null +++ b/validation/optim/select-constant-cond.c @@ -0,0 +1,10 @@ +int t(int p, int a, int b) { return ((p == p) ? a : b) == a; } +int f(int p, int a, int b) { return ((p != p) ? a : b) == b; } + +/* + * check-name: select-constant-cond + * check-command: test-linearize -Wno-decl $file + * + * check-output-ignore + * check-output-returns: 1 + */ diff --git a/validation/optim/select-same-args.c b/validation/optim/select-same-args.c new file mode 100644 index 00000000..403af471 --- /dev/null +++ b/validation/optim/select-same-args.c @@ -0,0 +1,9 @@ +int foo(int p, int a) { return (p ? a : a) == a; } + +/* + * check-name: select-same-args + * check-command: test-linearize -Wno-decl $file + * + * check-output-ignore + * check-output-returns: 1 + */ diff --git a/validation/optim/select-select-true-false0.c b/validation/optim/select-select-true-false0.c new file mode 100644 index 00000000..46bd7667 --- /dev/null +++ b/validation/optim/select-select-true-false0.c @@ -0,0 +1,11 @@ +int fw(int p, int a, int b) { return ((p ? 42 : 0) ? a : b) == ( p ? a : b); } +int bw(int p, int a, int b) { return ((p ? 0 : 42) ? a : b) == ( p ? b : a); } + +/* + * check-name: select-select-true-false0 + * check-command: test-linearize -Wno-decl $file + * check-known-to-fail + * + * check-output-ignore + * check-output-returns: 1 + */ diff --git a/validation/optim/select-select-true-false1.c b/validation/optim/select-select-true-false1.c new file mode 100644 index 00000000..00ffdcd1 --- /dev/null +++ b/validation/optim/select-select-true-false1.c @@ -0,0 +1,14 @@ +int foo(int p) +{ + int t = (p ? 42 : 0); + return (t ? 42 : 0) == ( p ? 42 : 0); +} + +/* + * check-name: select-select-true-false1 + * check-command: test-linearize -Wno-decl $file + * check-known-to-fail + * + * check-output-ignore + * check-output-returns: 1 + */ diff --git a/validation/optim/select-select-true-true.c b/validation/optim/select-select-true-true.c new file mode 100644 index 00000000..e6fa2c89 --- /dev/null +++ b/validation/optim/select-select-true-true.c @@ -0,0 +1,10 @@ +int foo(int p, int a, int b) { return ((p ? 42 : 43) ? a : b) == a ; } + +/* + * check-name: select-select-true-true + * check-command: test-linearize -Wno-decl $file + * check-known-to-fail + * + * check-output-ignore + * check-output-returns: 1 + */ |