aboutsummaryrefslogtreecommitdiffstats
path: root/test/regression/ifconv.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/regression/ifconv.c')
-rw-r--r--test/regression/ifconv.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/regression/ifconv.c b/test/regression/ifconv.c
index dcbf43e5..e12a394c 100644
--- a/test/regression/ifconv.c
+++ b/test/regression/ifconv.c
@@ -83,6 +83,26 @@ float sdoz(float x, float y)
return x >= y ? x - y : 0.0f;
}
+/* Examples where constant propagation should take place */
+
+int constprop1(int x)
+{
+ int n = 0;
+ return n ? x : 42;
+}
+
+int constprop2(int x)
+{
+ int n = 1;
+ return n ? x : 42;
+}
+
+int constprop3(int x, int y)
+{
+ int n = 0;
+ return x < n ? y - 1 : y + 1;
+}
+
/* Test harness */
#define TESTI(call) printf(#call " = %d\n", call)