[llvm-dev] aarch64 does not emit DW_AT_Location

Momchil Velikov via llvm-dev llvm-dev at lists.llvm.org
Tue Jan 21 04:03:03 PST 2020


Hi Kamlesh,

Does it also happen when the parameters are used? From what I quickly
tried, if the parameter is used, clang emits
the location, as expected, e.g. `(DW_OP_breg0 (x0): 0)`

On Tue, Jan 21, 2020 at 11:55 AM kamlesh kumar via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

>
> Hi Devs,
> debug info emitted by llvm does not contain DW_AT_Location for Formal
> parameter
> if it is an aggregate like below case
> 1) aggregate contain more than 4 homogeneous and size more than 128 bits
> i.e.
> typedef struct{
> int a,b,c,d,e;
> }mystruct;
> void foo(mystruct ms){
> }
>
> 2) aggregate contain hetrogeneous type and size more than 128 bits.
> i.e.
> typedef struct{
> int a,b;
> float c,d,e;
> }mystruct;
> void foo(mystruct ms){
>
> }
>
> This occur only when aarch64 is used, not with arm and x86.
> like to know community thoughts wether this can be considered as bug or it
> 's an abi restriction.
>
>
> ./kamlesh
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>


-- 
Compiler scrub, Arm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200121/9710a1d8/attachment-0001.html>


More information about the llvm-dev mailing list