]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: torture: add LLVM testcase for DSE vs. -ftrivial-auto-var-init=
authorSam James <sam@gentoo.org>
Fri, 13 Dec 2024 04:42:29 +0000 (04:42 +0000)
committerSam James <sam@gentoo.org>
Fri, 3 Jan 2025 16:49:44 +0000 (16:49 +0000)
This testcase came up in a recent LLVM bug report [0] for DSE vs
-ftrivial-auto-var-init=. Add it to our testsuite given that area
could do with better coverage.

[0] https://github.com/llvm/llvm-project/issues/119646

gcc/testsuite/ChangeLog:

* gcc.dg/torture/dse-trivial-auto-var-init.c: New test.

Co-authored-by: Andrew Pinski <pinskia@gmail.com>
gcc/testsuite/gcc.dg/torture/dse-trivial-auto-var-init.c [new file with mode: 0644]

diff --git a/gcc/testsuite/gcc.dg/torture/dse-trivial-auto-var-init.c b/gcc/testsuite/gcc.dg/torture/dse-trivial-auto-var-init.c
new file mode 100644 (file)
index 0000000..5a3d4c4
--- /dev/null
@@ -0,0 +1,17 @@
+/* Testcase for LLVM bug: https://github.com/llvm/llvm-project/issues/119646 */
+/* { dg-do run } */
+/* { dg-additional-options "-ftrivial-auto-var-init=zero" } */
+
+int b = 208;
+[[gnu::noinline]]
+void f(int *e, int a) {
+  *e = !!b;
+  if (a)
+    __builtin_trap();
+}
+int main(void) {
+  b = 0;
+  f(&b, 0);
+  if (b != 0)
+    __builtin_trap();
+}