aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorQuentin Carbonneaux <[email protected]>2025-03-14 13:09:21 +0100
committerQuentin Carbonneaux <[email protected]>2025-03-14 13:09:21 +0100
commitf3ca2577372eaae7056db24982abfc54be8f4cc1 (patch)
treebdc83176ce62fa780981605f85e58c91c19f9edd /test
parent1cb255cb045d1e531d5e7e6961ac90bb6f7a0474 (diff)
gvn/gcm review
- Many stylistic nits. - Removed blkmerge(). - Some minor bug fixes. - GCM reassoc is now "sink"; a pass that moves trivial ops in their target block with the same goal of reducing register pressure, but starting from instructions that benefit from having their inputs close.
Diffstat (limited to 'test')
-rw-r--r--test/copy.ssa15
-rw-r--r--test/gvn1.ssa (renamed from test/gvn-live-dead.ssa)0
-rw-r--r--test/gvn2.ssa (renamed from test/non0jnz.ssa)0
3 files changed, 15 insertions, 0 deletions
diff --git a/test/copy.ssa b/test/copy.ssa
new file mode 100644
index 0000000..5c2a4d0
--- /dev/null
+++ b/test/copy.ssa
@@ -0,0 +1,15 @@
+export function w $f() {
+@start
+ %x0 =w loadsb $a
+ # the extension must not be eliminated
+ # even though the load already extended
+ %x1 =l extsb %x0
+ %c =w ceql %x1, -1
+ ret %c
+}
+
+# >>> driver
+# char a = -1;
+# extern int f();
+# int main() { return !(f() == 1); }
+# <<<
diff --git a/test/gvn-live-dead.ssa b/test/gvn1.ssa
index d47f05b..d47f05b 100644
--- a/test/gvn-live-dead.ssa
+++ b/test/gvn1.ssa
diff --git a/test/non0jnz.ssa b/test/gvn2.ssa
index 33f9a96..33f9a96 100644
--- a/test/non0jnz.ssa
+++ b/test/gvn2.ssa