Hi, the test guality/ipa-sra-1.c stopped working after r14-5628-g53ba8d669550d3 because the variable from which the values of removed parameters could be calculated is also removed with it. Fixed with this patch which stops a function from returning a constant.
I have also noticed that the XFAILed test passes at -O0 -O1 and -Og on all (three) targets I have tried, not just aarch64, so I extended the xfail exception accordingly. Tested by running make -k check-gcc RUNTESTFLAGS="guality.exp=ipa-sra-1.c" on x86_64-linux, aarch64-linux and ppc64le-linux. I hope it is obvious change for me to commit without approval which I will do later today. Thanks, Martin gcc/testsuite/ChangeLog: 2024-02-14 Martin Jambor <mjam...@suse.cz> * gcc.dg/guality/ipa-sra-1.c (get_val1): Move up in the file. (get_val2): Likewise. (bar): Do not return a constant. Extend xfail exception for all targets. --- gcc/testsuite/gcc.dg/guality/ipa-sra-1.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gcc/testsuite/gcc.dg/guality/ipa-sra-1.c b/gcc/testsuite/gcc.dg/guality/ipa-sra-1.c index 9ef4eac93a7..55267c6f838 100644 --- a/gcc/testsuite/gcc.dg/guality/ipa-sra-1.c +++ b/gcc/testsuite/gcc.dg/guality/ipa-sra-1.c @@ -1,6 +1,10 @@ /* { dg-do run } */ /* { dg-options "-g -fno-ipa-icf" } */ +int __attribute__((noipa)) +get_val1 (void) {return 20;} +int __attribute__((noipa)) +get_val2 (void) {return 7;} void __attribute__((noipa)) use (int x) @@ -12,8 +16,8 @@ static int __attribute__((noinline)) bar (int i, int k) { asm ("" : "+r" (i)); - use (i); /* { dg-final { gdb-test . "k" "3" { xfail { ! { aarch64*-*-* && { any-opts "-O0" "-O1" "-Og" } } } } } } */ - return 6; + use (i); /* { dg-final { gdb-test . "k" "3" { xfail { ! { *-*-*-* && { any-opts "-O0" "-O1" "-Og" } } } } } } */ + return 6 + get_val1(); } volatile int v; @@ -30,11 +34,6 @@ foo (int i, int k) volatile int v; -int __attribute__((noipa)) -get_val1 (void) {return 20;} -int __attribute__((noipa)) -get_val2 (void) {return 7;} - int main (void) { -- 2.43.0