rs6000: Don't push stack frame for AIX when debugging and -fcompare-debug.
authorDavid Edelsohn <dje.gcc@gmail.com>
Thu, 9 Apr 2020 16:43:22 +0000 (12:43 -0400)
committerDavid Edelsohn <dje.gcc@gmail.com>
Sun, 26 Apr 2020 02:57:35 +0000 (22:57 -0400)
commit50929dd318a8171bad96b748491e9678f828e25e
treed0e30a1e6d76665430ecbe1c1e740fcb1bc2f548
parent9b933c99cb6eed76ad77d2131ec40223a7d9603f
rs6000: Don't push stack frame for AIX when debugging and -fcompare-debug.

AIX pushes a stack frame when debugging is enabled.  With -fcompare-debug
this generates comparison failures because code geneation is different.
This patch disables the stack push for -fcompare-debug that only is used
for internal testing and not for normal debug information generation that
will be consumed by AIX tools.

This patch also removes xfails from testsuite testcases that use
-fcompare-debug and no longer fail on AIX without the stack push difference.

        * config/rs6000/rs6000-logue.c (rs6000_stack_info): Don't push a
        stack frame when debugging and flag_compare_debug is enabled.

testsuite/
        * g++.dg/debug/dwarf2/pr61433.C: Unfail AIX.
        * g++.dg/opt/pr48549.C: Same.
        * g++.dg/opt/pr60002.C: Same.
        * g++.dg/opt/pr80436.C: Same.
        * g++.dg/opt/pr83084.C: Same.
        * g++.dg/other/pr42685.C: Same.
        * gcc.dg/pr41241.c: Same.
        * gcc.dg/pr42629.c: Same.
        * gcc.dg/pr42630.c: Same.
        * gcc.dg/pr42719.c: Same.
        * gcc.dg/pr42728.c: Same.
        * gcc.dg/pr42889.c: Same.
        * gcc.dg/pr42916.c: Same.
        * gcc.dg/pr43084.c: Same.
        * gcc.dg/pr43670.c: Same.
        * gcc.dg/pr44023.c: Same.
        * gcc.dg/pr44971.c: Same.
        * gcc.dg/pr45449.c: Same.
        * gcc.dg/pr46771.c: Same.
        * gcc.dg/pr47684.c: Same.
        * gcc.dg/pr47881.c: Same.
        * gcc.dg/pr48768.c: Same.
        * gcc.dg/pr50017.c: Same.
        * gcc.dg/pr56023.c: Same.
        * gcc.dg/pr64935-1.c: Same.
        * gcc.dg/pr64935-2.c: Same.
        * gcc.dg/pr65521.c: Same.
        * gcc.dg/pr65779.c: Same.
        * gcc.dg/pr65980.c: Same.
        * gcc.dg/pr66688.c: Same.
        * gcc.dg/pr70405.c: Same.
        * gcc.dg/vect/pr49352.c: Same.
44 files changed:
gcc/ChangeLog
gcc/config/rs6000/rs6000-logue.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/debug/dwarf2/pr61433.C
gcc/testsuite/g++.dg/debug/pr46583.C
gcc/testsuite/g++.dg/debug/pr47106.C
gcc/testsuite/g++.dg/debug/pr56294.C
gcc/testsuite/g++.dg/debug/pr56819.C
gcc/testsuite/g++.dg/debug/pr71432.C
gcc/testsuite/g++.dg/debug/pr84704.C
gcc/testsuite/g++.dg/opt/pr48549.C
gcc/testsuite/g++.dg/opt/pr60002.C
gcc/testsuite/g++.dg/opt/pr80436.C
gcc/testsuite/g++.dg/opt/pr83084.C
gcc/testsuite/g++.dg/other/pr42685.C
gcc/testsuite/gcc.dg/pr41241.c
gcc/testsuite/gcc.dg/pr41345.c
gcc/testsuite/gcc.dg/pr42629.c
gcc/testsuite/gcc.dg/pr42630.c
gcc/testsuite/gcc.dg/pr42631.c
gcc/testsuite/gcc.dg/pr42719.c
gcc/testsuite/gcc.dg/pr42728.c
gcc/testsuite/gcc.dg/pr42889.c
gcc/testsuite/gcc.dg/pr42916.c
gcc/testsuite/gcc.dg/pr43084.c
gcc/testsuite/gcc.dg/pr43670.c
gcc/testsuite/gcc.dg/pr44023.c
gcc/testsuite/gcc.dg/pr44971.c
gcc/testsuite/gcc.dg/pr45449.c
gcc/testsuite/gcc.dg/pr46771.c
gcc/testsuite/gcc.dg/pr47684.c
gcc/testsuite/gcc.dg/pr47881.c
gcc/testsuite/gcc.dg/pr48768.c
gcc/testsuite/gcc.dg/pr50017.c
gcc/testsuite/gcc.dg/pr56023.c
gcc/testsuite/gcc.dg/pr64935-1.c
gcc/testsuite/gcc.dg/pr64935-2.c
gcc/testsuite/gcc.dg/pr65521.c
gcc/testsuite/gcc.dg/pr65779.c
gcc/testsuite/gcc.dg/pr65980.c
gcc/testsuite/gcc.dg/pr66688.c
gcc/testsuite/gcc.dg/pr70405.c
gcc/testsuite/gcc.dg/torture/pr59166.c
gcc/testsuite/gcc.dg/vect/pr49352.c