[PATCH] D146071: [AIX] unset bit "IsBackChainStored" of traceback table for leaf functions with no stack frame

ChenZheng via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 15 00:35:11 PDT 2023


shchenz added a comment.

We should already have case for leaf/non-leaf functions. Can we also add cases on the boundary conditions for redzone with below MIR?

  ---
  name:            test
  tracksRegLiveness: true
  stack:
    - { id: 0, size: 288, alignment: 16 }
  body: |
    bb.0:
      BLR8 implicit $lr8, implicit $rm
  ...

288 is redzone size for 64-bit PPC.



================
Comment at: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:2137
   // Always store back chain.
-  SecondHalfOfMandatoryField |= MF->getFrameInfo().getFrameSize() ? TracebackTable::IsBackChainStoredMask : 0;
 
----------------
Are you using the wrong diff baseline? Seems like the left side is a local commit of your working branch? In the main trunk, I see
```
  // Always store back chain.
  SecondHalfOfMandatoryField |= TracebackTable::IsBackChainStoredMask;
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146071/new/

https://reviews.llvm.org/D146071



More information about the llvm-commits mailing list