[PATCH] D73709: [PowerPC] Create a FixedStack object for CR save in linkage area.

Sean Fertile via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 7 08:18:19 PST 2020


sfertile marked 2 inline comments as done.
sfertile added inline comments.


================
Comment at: llvm/test/CodeGen/PowerPC/ppc64-alloca-crspill.ll:31
+
+; CHECK-NEXT: stack:
+; CHECK-NEXT:   - { id: 0, name: '<unnamed alloca>', type: variable-sized, offset: -8,
----------------
sfertile wrote:
> I'm not sure why the offset of the variably size object is -8, which overlaps with the fixed save slot for the frame pointer. It might be that the offset is not a valid field for variably sized objects? I'm going to investigate this now
> 
> 
If I add multiple allocas they are all at offset -8, so the field must not mean anything for dynamic objects.


================
Comment at: llvm/test/CodeGen/PowerPC/ppc64-alloca-crspill.ll:36
+; CHECK-NEXT:       debug-info-location: '' }
+; CHECK-NEXT:   - { id: 1, name: '', type: default, offset: -16, size: 8, alignment: 8,
+; CHECK-NEXT:       stack-id: default, callee-saved-register: '', callee-saved-restored: true,
----------------
sfertile wrote:
> I suspect this stack object is padding for keeping the stack pointer 16 byte aligned: 32 byte linkage area + 8 bytes spill for $x31 would have only been 8 bytes.
Not padding, we allocate this object for scavenging purposes.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D73709





More information about the llvm-commits mailing list