diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-01-19 18:45:35 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-01-19 18:45:35 +0000 |
commit | de03a8b38d88d278e39e6218ab2f0f7de6a3c161 (patch) | |
tree | 1e5857cdfe031c5770da02b20821b5f35806da3f /llvm/unittests/IR/MetadataTest.cpp | |
parent | f13404536548c6de78369726250fd252f534808b (diff) | |
download | bcm5719-llvm-de03a8b38d88d278e39e6218ab2f0f7de6a3c161.tar.gz bcm5719-llvm-de03a8b38d88d278e39e6218ab2f0f7de6a3c161.zip |
IR: Add isUniqued() and isTemporary()
Change `MDNode::isDistinct()` to only apply to 'distinct' nodes (not
temporaries), and introduce `MDNode::isUniqued()` and
`MDNode::isTemporary()` for the other two possibilities.
llvm-svn: 226482
Diffstat (limited to 'llvm/unittests/IR/MetadataTest.cpp')
-rw-r--r-- | llvm/unittests/IR/MetadataTest.cpp | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/llvm/unittests/IR/MetadataTest.cpp b/llvm/unittests/IR/MetadataTest.cpp index 83fd0c164f6..930bebfef0a 100644 --- a/llvm/unittests/IR/MetadataTest.cpp +++ b/llvm/unittests/IR/MetadataTest.cpp @@ -274,9 +274,33 @@ TEST_F(MDNodeTest, getDistinct) { ASSERT_EQ(Empty, MDNode::get(Context, None)); } -TEST_F(MDNodeTest, TempIsDistinct) { - MDNode *T = MDNode::getTemporary(Context, None); - EXPECT_TRUE(T->isDistinct()); +TEST_F(MDNodeTest, isUniqued) { + MDNode *U = MDTuple::get(Context, None); + MDNode *D = MDTuple::getDistinct(Context, None); + MDNode *T = MDTuple::getTemporary(Context, None); + EXPECT_TRUE(U->isUniqued()); + EXPECT_FALSE(D->isUniqued()); + EXPECT_FALSE(T->isUniqued()); + MDNode::deleteTemporary(T); +} + +TEST_F(MDNodeTest, isDistinct) { + MDNode *U = MDTuple::get(Context, None); + MDNode *D = MDTuple::getDistinct(Context, None); + MDNode *T = MDTuple::getTemporary(Context, None); + EXPECT_FALSE(U->isDistinct()); + EXPECT_TRUE(D->isDistinct()); + EXPECT_FALSE(T->isDistinct()); + MDNode::deleteTemporary(T); +} + +TEST_F(MDNodeTest, isTemporary) { + MDNode *U = MDTuple::get(Context, None); + MDNode *D = MDTuple::getDistinct(Context, None); + MDNode *T = MDTuple::getTemporary(Context, None); + EXPECT_FALSE(U->isTemporary()); + EXPECT_FALSE(D->isTemporary()); + EXPECT_TRUE(T->isTemporary()); MDNode::deleteTemporary(T); } |