Linker: correctly link in dbg.declare
authorManman Ren <mren@apple.com>
Wed, 30 Jan 2013 17:42:15 +0000 (17:42 +0000)
committerManman Ren <mren@apple.com>
Wed, 30 Jan 2013 17:42:15 +0000 (17:42 +0000)
commit1229c0cb10e1c3640253ece03670621d96762e75
treec1c729a50e8ef4340319ac0148226270c38bfcae
parent0f156af8312a0f3ce88e5c006bf2a52691039ceb
Linker: correctly link in dbg.declare

Given source IR:
call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !14), !dbg !15
we used to generate
call void @llvm.dbg.declare(metadata !27, metadata !28), !dbg !29
!27 = metadata !{null}

With this patch, we will correctly generate
call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !27), !dbg !28

Looking up %argc.addr in ValueMap will return null, since %argc.addr is already
correctly set up, we can use identity mapping.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173946 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Utils/ValueMapper.cpp
test/Linker/DbgDeclare.ll [new file with mode: 0644]
test/Linker/DbgDeclare2.ll [new file with mode: 0644]