summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/IR/MetadataTest.cpp
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-01-19 18:45:35 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-01-19 18:45:35 +0000
commitde03a8b38d88d278e39e6218ab2f0f7de6a3c161 (patch)
tree1e5857cdfe031c5770da02b20821b5f35806da3f /llvm/unittests/IR/MetadataTest.cpp
parentf13404536548c6de78369726250fd252f534808b (diff)
downloadbcm5719-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.cpp30
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);
}
OpenPOWER on IntegriCloud