[Lldb-commits] [PATCH] D62702: [ABI] Fix SystemV ABI to handle nested aggregate type returned in register

Jim Ingham via lldb-commits lldb-commits at lists.llvm.org
Fri May 31 14:47:34 PDT 2019


There was a plan - which Adrian may remember more about - to have some API from clang where you could pass in a function signature and have it return dwarf expressions for the locations of all the input parameters, and of the return value directly on exit.  That would be the handiest form, dwarf expressions should be up to the task even for complex return types, and they are a form both sides know how to handle.  Then the whole of this "GetReturnValue" on the lldb side would be "call this API and and run the dwarf expression to fetch the value."  All the knowledge of how where values are returned would then be properly in clang/llvm.

I don't know what the status of this design is, however...

Jim


> On May 31, 2019, at 2:41 PM, Saleem Abdulrasool via Phabricator <reviews at reviews.llvm.org> wrote:
> 
> compnerd requested changes to this revision.
> compnerd added a comment.
> This revision now requires changes to proceed.
> 
> Actually, I think that we should extend `CompilerType` and `TypeSystem` to expose Clang's knowledge of whether a type is passed in a register by means of using `clang::RecordDecl::isPassInRegisters`
> 
> 
> Repository:
>  rLLDB LLDB
> 
> CHANGES SINCE LAST ACTION
>  https://reviews.llvm.org/D62702/new/
> 
> https://reviews.llvm.org/D62702
> 
> 
> 



More information about the lldb-commits mailing list