diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2024-10-22 12:47:45 +0100 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2024-10-22 12:47:45 +0100 |
commit | 4e80432c52a18b92899244e8ce3c243f560766a6 (patch) | |
tree | dae1f3902353019579ebcda25b88d65f9792e115 | |
parent | 9f9afc65bb7823db84ceeb7981965916c4a583db (diff) | |
download | gcc-4e80432c52a18b92899244e8ce3c243f560766a6.zip gcc-4e80432c52a18b92899244e8ce3c243f560766a6.tar.gz gcc-4e80432c52a18b92899244e8ce3c243f560766a6.tar.bz2 |
testsuite: Skip pr112305.c for -O[01] on simulators
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.
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr112305.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/torture/pr112305.c b/gcc/testsuite/gcc.dg/torture/pr112305.c index 9d363aa..ea6e044 100644 --- a/gcc/testsuite/gcc.dg/torture/pr112305.c +++ b/gcc/testsuite/gcc.dg/torture/pr112305.c @@ -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() |