[llvm-dev] [SelectionDAG] DbgValue nodes aren't transferred

Vedant Kumar via llvm-dev llvm-dev at lists.llvm.org
Fri Mar 9 15:18:49 PST 2018


+ Adrian, Joshua
+ Jonas, since he contributed the transferDbgValues change in DAGTypeLegalizer::SetExpandedInteger

> On Mar 8, 2018, at 5:44 PM, Se Jong Oh via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi,
>  
> I have a problem that dbg_value nodes are not transferred when integer DAG nodes are promoted. For example, an i32 add node is promoted to a i64 add node by DAGTypeLegalizer::PromoteIntegerResult and its dbg_value node is not transferred to the new node. 
>  
> t9: i32 = add nsw t5, t8 à  t31: i64 = add t30, t7   ; the dbg_value node is not transferred to the new i64 add node.
>  
> For expansion, DAGTypeLegalizer::SetExpandedInteger calls transferDbgValues() but I couldn’t find any place to call trasnferDbgValues() for integer type promotion in DAGTypeLegalizer ::SetPromotedInteger and other places.

Maybe the right place to do this is within the PromoteIntRes_ helper for sign extensions?

best,
vedant

> I am wondering If I miss anything or the legalization needs to call transferDbgValues() for this case.
>  
> I found this problem because a recently added unittest, DebugInfo/X86/linear-dbg-value.ll fails for my project, and the x86 and aarch64 backends don’t have this problem since they don’t promote i32 add nodes.
>  
> Thanks,
> Sejong
>  
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180309/c7aec625/attachment.html>


More information about the llvm-dev mailing list