From 799e56a9ae40adb682d7cd2b9a69e0e3a2802977 Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Mon, 19 Jan 2015 20:37:44 +0000 Subject: [PATCH] IR: Add MDLocation::getTemporary() llvm-svn: 226502 --- llvm/include/llvm/IR/Metadata.h | 5 +++++ llvm/unittests/IR/MetadataTest.cpp | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/llvm/include/llvm/IR/Metadata.h b/llvm/include/llvm/IR/Metadata.h index 6f02ee1..2b37412 100644 --- a/llvm/include/llvm/IR/Metadata.h +++ b/llvm/include/llvm/IR/Metadata.h @@ -945,6 +945,11 @@ public: Metadata *InlinedAt = nullptr) { return getImpl(Context, Line, Column, Scope, InlinedAt, Distinct); } + static MDLocation *getTemporary(LLVMContext &Context, unsigned Line, + unsigned Column, Metadata *Scope, + Metadata *InlinedAt = nullptr) { + return getImpl(Context, Line, Column, Scope, InlinedAt, Temporary); + } unsigned getLine() const { return MDNodeSubclassData; } unsigned getColumn() const { return SubclassData16; } diff --git a/llvm/unittests/IR/MetadataTest.cpp b/llvm/unittests/IR/MetadataTest.cpp index 9515f0d..498728e 100644 --- a/llvm/unittests/IR/MetadataTest.cpp +++ b/llvm/unittests/IR/MetadataTest.cpp @@ -483,6 +483,14 @@ TEST_F(MDLocationTest, getDistinct) { EXPECT_EQ(L1, MDLocation::get(Context, 2, 7, N)); } +TEST_F(MDLocationTest, getTemporary) { + MDNode *N = MDNode::get(Context, None); + MDLocation *L = MDLocation::getTemporary(Context, 2, 7, N); + EXPECT_TRUE(L->isTemporary()); + EXPECT_FALSE(L->isResolved()); + MDNode::deleteTemporary(L); +} + typedef MetadataTest MetadataAsValueTest; TEST_F(MetadataAsValueTest, MDNode) { -- 2.7.4