llvm/test/Linker/null_mapping_constant.ll
Mehdi Amini d10baa15d2 ValueMapper: fix assertion when null-mapping a constant for linking metadata
Summary:
When RF_NullMapMissingGlobalValues is set, mapValue can return null
for GlobalValue. When mapping the operands of a constant that is
referenced from metadata, we need to handle this case and actually
return null instead of mapping this constant.

Reviewers: dexonsmith, rafael

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271129 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-28 17:26:03 +00:00

12 lines
507 B
LLVM

; RUN: llvm-link %s -S -o - | FileCheck %s
; Check that the constant is not linked and the metadata is correctly referencing a nullptr
; CHECK: !0 = !{!"foo", null, i64 16}
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.12.0"
@foo = external unnamed_addr constant { [4 x i8*], [32 x i8] }, align 32
!llvm.bitsets = !{!0}
!0 = !{!"foo", [4 x i8*]* getelementptr inbounds ({ [4 x i8*], [32 x i8] }, { [4 x i8*], [32 x i8] }* @foo, i32 0, i32 0), i64 16}