summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/IR/LLVMContext.cpp22
-rw-r--r--llvm/test/Feature/metadata.ll2
2 files changed, 3 insertions, 21 deletions
diff --git a/llvm/lib/IR/LLVMContext.cpp b/llvm/lib/IR/LLVMContext.cpp
index c62bc0936c4..b6d95c4fcf3 100644
--- a/llvm/lib/IR/LLVMContext.cpp
+++ b/llvm/lib/IR/LLVMContext.cpp
@@ -229,28 +229,10 @@ void LLVMContext::emitError(unsigned LocCookie, const Twine &ErrorStr) {
// Metadata Kind Uniquing
//===----------------------------------------------------------------------===//
-#ifndef NDEBUG
-/// isValidName - Return true if Name is a valid custom metadata handler name.
-static bool isValidName(StringRef MDName) {
- if (MDName.empty())
- return false;
-
- if (!std::isalpha(static_cast<unsigned char>(MDName[0])))
- return false;
-
- for (StringRef::iterator I = MDName.begin() + 1, E = MDName.end(); I != E;
- ++I) {
- if (!std::isalnum(static_cast<unsigned char>(*I)) && *I != '_' &&
- *I != '-' && *I != '.')
- return false;
- }
- return true;
-}
-#endif
-
/// getMDKindID - Return a unique non-zero ID for the specified metadata kind.
unsigned LLVMContext::getMDKindID(StringRef Name) const {
- assert(isValidName(Name) && "Invalid MDNode name");
+ assert(!std::isdigit(Name.front()) &&
+ "Named metadata may not start with a digit");
// If this is new, assign it its ID.
return pImpl->CustomMDKindNames.insert(std::make_pair(
diff --git a/llvm/test/Feature/metadata.ll b/llvm/test/Feature/metadata.ll
index d1cc706fb1f..851e5e75191 100644
--- a/llvm/test/Feature/metadata.ll
+++ b/llvm/test/Feature/metadata.ll
@@ -5,7 +5,7 @@ define void @foo(i32 %x) {
call void @llvm.zonk(metadata !{i32 %x}, i64 0, metadata !1)
store i32 0, i32* null, !whatever !0, !whatever_else !{}, !more !{metadata !"hello"}
store i32 0, i32* null, !whatever !{metadata !"hello", metadata !1, metadata !{}, metadata !2}
- ret void
+ ret void, !_1 !0
}
declare void @llvm.zonk(metadata, i64, metadata) nounwind readnone
OpenPOWER on IntegriCloud