IR: Canonicalize GenericDwarfNode empty headers to null

llvm-svn: 226532
diff --git a/llvm/lib/IR/Metadata.cpp b/llvm/lib/IR/Metadata.cpp
index 9797630..fc1f3e7 100644
--- a/llvm/lib/IR/Metadata.cpp
+++ b/llvm/lib/IR/Metadata.cpp
@@ -753,6 +753,10 @@
                                             ArrayRef<Metadata *> DwarfOps,
                                             StorageType Storage,
                                             bool ShouldCreate) {
+  // Canonicalize empty string to a nullptr.
+  if (Header && Header->getString().empty())
+    Header = nullptr;
+
   unsigned Hash = 0;
   if (Storage == Uniqued) {
     GenericDwarfNodeInfo::KeyTy Key(Tag, Header, DwarfOps);