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