IR: fieldIsMDNode() should be false for MDString
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 17 Feb 2015 22:34:15 +0000 (22:34 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 17 Feb 2015 22:34:15 +0000 (22:34 +0000)
Simplify the code.  It has been a while since the schema has been so
"flexible".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229573 91177308-0d34-0410-b5e6-96231b3b80d8

lib/IR/DebugInfo.cpp

index 76b21d8d09dc771b8abd9dc456372a440acd8561..9a7ff062de061059e5a9d23e7a467a627f6187eb 100644 (file)
@@ -385,16 +385,9 @@ bool DIObjCProperty::Verify() const {
 }
 
 /// \brief Check if a field at position Elt of a MDNode is a MDNode.
-///
-/// We currently allow an empty string and an integer.
-/// But we don't allow a non-empty string in a MDNode field.
 static bool fieldIsMDNode(const MDNode *DbgNode, unsigned Elt) {
-  // FIXME: This function should return true, if the field is null or the field
-  // is indeed a MDNode: return !Fld || isa<MDNode>(Fld).
   Metadata *Fld = getField(DbgNode, Elt);
-  if (Fld && isa<MDString>(Fld) && !cast<MDString>(Fld)->getString().empty())
-    return false;
-  return true;
+  return !Fld || isa<MDNode>(Fld);
 }
 
 /// \brief Check if a field at position Elt of a MDNode is a MDString.