[PATCH] D71504: [PowerPC] Enable sret arguments.

Zarko Todorovski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 17 05:32:54 PST 2019


ZarkoCA added a comment.

> We added the fatal_error in the previous patch in order to keep the patch as small and focused as possible. For back-end implementation everything should just work: we allocate a frame index for the object on the stack and pass a pointer to the frame-object as the argument. At that point its simply another pointer argument. As Hubert mentions though there is front-end (clang/CodeGen) work that is needed for generating the correct IR for AIX argument passing.

I don't know what happens in the case where the front-end doesn't handle some cases correctly but the back-end does.  Is there a danger in enabling this in the back-end knowing we don't get correct IR for complex types for AIX?  Is there an error in the front-end for those before we get to this step?



================
Comment at: llvm/test/CodeGen/PowerPC/aix-sret-param.ll:1
-; RUN: not llc -mtriple powerpc-ibm-aix-xcoff < %s 2>&1 | FileCheck %s
-; RUN: not llc -mtriple powerpc64-ibm-aix-xcoff < %s 2>&1 | FileCheck %s
+; RUN: llc -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 -mattr=-altivec \
+; RUN: -stop-after=machine-cp < %s | FileCheck --check-prefixes=MIR,MIR32 %s
----------------
Do we need '-verify-machineinstrs` in these tests? 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D71504





More information about the llvm-commits mailing list