[PowerPC][AIX] Set the HasAlloca flag in the AIX Traceback Table only if R31 is used...
authorZarko Todorovski <zarko@ca.ibm.com>
Mon, 23 Aug 2021 18:34:35 +0000 (14:34 -0400)
committerZarko Todorovski <zarko@ca.ibm.com>
Mon, 23 Aug 2021 19:20:41 +0000 (15:20 -0400)
commitb575bbd0c78c462d2fd7ca4c1a2ae76632d2a6bc
tree5f8c16d312c65612305cf815729544c45d348be3
parent5d7d2f0d2e7b137e68337b0b472130b61d9f305e
[PowerPC][AIX] Set the HasAlloca flag in the AIX Traceback Table only if R31 is used as a frame pointer

After c063946476e083a9a0c5bd397337d1ece4742ec6 usage of R31 doesn't necessarily mean
that alloca is used. The `TracebackTable::IsAllocaUsedMask` flag should be set only
when R31 is used as a frame pointer.

On AIX the `function calls alloca' bit seems to be set whenever R31 is
set up as a frame pointer, even when there is no alloca call.

Reviewed By: lkail

Differential Revision: https://reviews.llvm.org/D108141
llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
llvm/test/CodeGen/PowerPC/aix-alloca-r31.ll [new file with mode: 0644]
llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-clobber-register.ll