diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2016-10-26 02:57:33 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2016-10-26 02:57:33 +0000 |
commit | 7b7bac367c49b8c5edd1bb7b98d8660047f007c6 (patch) | |
tree | 691c6e9826508eaa45a7f69433818f1676890249 /llvm/unittests/Transforms/Utils/Cloning.cpp | |
parent | 842e46e606b13e29b4136a455ad5d77249a7f9f4 (diff) | |
download | bcm5719-llvm-7b7bac367c49b8c5edd1bb7b98d8660047f007c6.tar.gz bcm5719-llvm-7b7bac367c49b8c5edd1bb7b98d8660047f007c6.zip |
Cloning: Also clone global variable attached metadata.
llvm-svn: 285161
Diffstat (limited to 'llvm/unittests/Transforms/Utils/Cloning.cpp')
-rw-r--r-- | llvm/unittests/Transforms/Utils/Cloning.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/unittests/Transforms/Utils/Cloning.cpp b/llvm/unittests/Transforms/Utils/Cloning.cpp index 032dfa162a2..afb5452faeb 100644 --- a/llvm/unittests/Transforms/Utils/Cloning.cpp +++ b/llvm/unittests/Transforms/Utils/Cloning.cpp @@ -403,6 +403,11 @@ protected: void SetupModule() { OldM = new Module("", C); } void CreateOldModule() { + auto GV = new GlobalVariable( + *OldM, Type::getInt32Ty(C), false, GlobalValue::ExternalLinkage, + ConstantInt::get(Type::getInt32Ty(C), 1), "gv"); + GV->addMetadata(LLVMContext::MD_type, *MDNode::get(C, {})); + DIBuilder DBuilder(*OldM); IRBuilder<> IBuilder(C); @@ -459,4 +464,9 @@ TEST_F(CloneModule, Subprogram) { EXPECT_EQ(SP->getFile()->getFilename(), "filename.c"); EXPECT_EQ(SP->getLine(), (unsigned)4); } + +TEST_F(CloneModule, GlobalMetadata) { + GlobalVariable *NewGV = NewM->getGlobalVariable("gv"); + EXPECT_NE(nullptr, NewGV->getMetadata(LLVMContext::MD_type)); +} } |