llvm-link option and test for recent metadata mapping bug
authorTeresa Johnson <tejohnson@google.com>
Sat, 21 Nov 2015 00:35:38 +0000 (00:35 +0000)
committerTeresa Johnson <tejohnson@google.com>
Sat, 21 Nov 2015 00:35:38 +0000 (00:35 +0000)
commit9f474a019f3d5fab2de0c792fd7d6d902084c6b9
tree66ce116dde810c1444eb27b2009fce3db70c9b56
parenteb9a1dc0690f7c01d54682abfbd7eb236465ae9d
llvm-link option and test for recent metadata mapping bug

Summary:
Add a -preserve-modules option to llvm-link that simulates LTO
clients that don't destroy modules as they are linked. This enables
reproduction of a recent bug introduced by a metadata linking change
that was only caught when the modules weren't destroyed before
writing bitcode (LTO on Windows).

See http://llvm.org/viewvc/llvm-project?view=revision&revision=253170
for more details on the original bug and the fix.

Confirmed the new test added here reproduces the failure using the new
option when I suppress the fix.

Reviewers: pcc

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D14818

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253740 91177308-0d34-0410-b5e6-96231b3b80d8
test/Linker/only-needed-named-metadata.ll
tools/llvm-link/llvm-link.cpp