On leon3-elf and presumably on other targets, the test fails due to
differences in calling conventions and other reasons, that add extra
gimple stmts that prevent the expected optimization at the expected
point.  The optimization takes place anyway, just a little later, so
tolerate that.

Regstrapped on x86_64-linux-gnu, also tested with gcc-14 targeting
leon3-elf.  Ok to install?


for  gcc/testsuite/ChangeLog

        PR tree-optimization/108357
        * gcc.dg/tree-ssa/pr108357.c: Tolerate later optimization.
---
 gcc/testsuite/gcc.dg/tree-ssa/pr108357.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr108357.c 
b/gcc/testsuite/gcc.dg/tree-ssa/pr108357.c
index 44c457b7a9777..7dff235f89278 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr108357.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr108357.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-tree-threadfull1" } */
+/* { dg-options "-O2 -fdump-tree-optimized" } */
 
 static char b;
 static unsigned c;
@@ -19,4 +19,7 @@ int main()
   f(g);
 }
 
-/* { dg-final { scan-tree-dump-not "foo" "threadfull1" } } */
+/* We expect threadfull1 to eliminate the call to foo(), but not all targets
+   manage that at that point.  Calling conventions (mandatory promotion) play a
+   role, but there's more than that.  */
+/* { dg-final { scan-tree-dump-not "foo" "optimized" } } */

-- 
Alexandre Oliva, happy hacker            https://FSFLA.org/blogs/lxo/
   Free Software Activist                   GNU Toolchain Engineer
More tolerance and less prejudice are key for inclusion and diversity
Excluding neuro-others for not behaving ""normal"" is *not* inclusive

Reply via email to