]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: Skip pr112305.c for -O[01] on simulators
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 22 Oct 2024 11:47:45 +0000 (12:47 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Tue, 22 Oct 2024 11:47:45 +0000 (12:47 +0100)
gcc.dg/torture/pr112305.c contains an inner loop that executes
0x8000_0014 times and an outer loop that executes 5 times, giving about
10 billion total executions of the inner loop body.  At -O2 and above we
are able to remove the inner loop, but at -O1 we keep a no-op loop:

        dls     lr, r3
.L3:
        subs    r3, r3, #1
        le      lr, .L3

and at -O0 we of course don't optimise.

This can lead to long execution times on simulators, possibly
triggering a timeout.

gcc/testsuite
* gcc.dg/torture/pr112305.c: Skip at -O0 and -O1 for simulators.

gcc/testsuite/gcc.dg/torture/pr112305.c

index 9d363aaac9d426f806ed8c7a6e9470a334b36151..ea6e044529d1e3e100f6ba50e972e997ed743804 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-require-effective-target int32plus } */
+/* { dg-skip-if "long-running loop" { simulator } { "-O0" "-O1" } } */
 
 int a;
 void b()