[PATCH] D68945: [DebugInfo] Don't translate dbg.addr and similar intrinsics into indirect DBG_VALUEs
Mikael Holmén via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 16 02:55:06 PDT 2019
uabelho added a comment.
Hi,
I'm struggling with a case for my out-of-tree target where I think debug info is wrong with this change.
Before Isel we have:
call void @llvm.dbg.value(metadata i16 %x, metadata !20, metadata !DIExpression(DW_OP_LLVM_convert, 16, DW_ATE_signed, DW_OP_LLVM_convert, 32, DW_ATE_signed, DW_OP_stack_value)), !dbg !13
And before this change we got the following after Isel:
DBG_VALUE %fixed-stack.1, 0, !"bar_y", !DIExpression(DW_OP_LLVM_convert, 16, DW_ATE_signed, DW_OP_LLVM_convert, 32, DW_ATE_signed, DW_OP_stack_value)
With this change, we instead get this after Isel:
DBG_VALUE %fixed-stack.1, $noreg, !"bar_y", !DIExpression(DW_OP_LLVM_convert, 16, DW_ATE_signed, DW_OP_LLVM_convert, 32, DW_ATE_signed, DW_OP_deref, DW_OP_stack_value)
Isn't the DW_OP_deref inserted in the wrong place? I think it should be done before the DW_OP_LLVM_convert:s rather than after?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D68945/new/
https://reviews.llvm.org/D68945
More information about the llvm-commits
mailing list