aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/mem2reg/reload-aliasing.c
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-03-06 05:02:56 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-07-01 00:18:44 +0200
commitb8c17466f25794ff9bf444f058cadf637745a02d (patch)
tree7e12e80b149f0e1e5d4e1c0dbf2e8c51810cea24 /validation/mem2reg/reload-aliasing.c
parent11380d396ac94f6c808f130268c4ac026ac19f14 (diff)
downloadsparse-dev-b8c17466f25794ff9bf444f058cadf637745a02d.tar.gz
testsuite: improve mem2reg testcases
A few tests are added, some have been renamed to better refect their purposes. Finally, some checks have been added or tweaked. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation/mem2reg/reload-aliasing.c')
-rw-r--r--validation/mem2reg/reload-aliasing.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/validation/mem2reg/reload-aliasing.c b/validation/mem2reg/reload-aliasing.c
new file mode 100644
index 00000000..3aad317b
--- /dev/null
+++ b/validation/mem2reg/reload-aliasing.c
@@ -0,0 +1,41 @@
+extern int g, h;
+
+void f00(int *s)
+{
+ g = *s;
+ h = *s;
+}
+
+void f01(int *a, int *b, int *s)
+{
+ *a = *s;
+ *b = *s;
+}
+
+/*
+ * check-name: reload-aliasing.c
+ * check-command: test-linearize -Wno-decl $file
+ *
+ * check-output-start
+f00:
+.L0:
+ <entry-point>
+ load.32 %r2 <- 0[%arg1]
+ store.32 %r2 -> 0[g]
+ load.32 %r4 <- 0[%arg1]
+ store.32 %r4 -> 0[h]
+ ret
+
+
+f01:
+.L2:
+ <entry-point>
+ load.32 %r6 <- 0[%arg3]
+ store.32 %r6 -> 0[%arg1]
+ load.32 %r9 <- 0[%arg3]
+ store.32 %r9 -> 0[%arg2]
+ ret
+
+
+ * check-output-end
+ */