don't read Block after it is freed.  This fixes PR1684

llvm-svn: 42204
diff --git a/llvm/lib/CodeGen/DwarfWriter.cpp b/llvm/lib/CodeGen/DwarfWriter.cpp
index 121ef1d..ed4de7d 100644
--- a/llvm/lib/CodeGen/DwarfWriter.cpp
+++ b/llvm/lib/CodeGen/DwarfWriter.cpp
@@ -1301,7 +1301,9 @@
       ValuesSet.InsertNode(Value, Where);
       Values.push_back(Value);
     } else {
+      // Already exists, reuse the previous one.
       delete Block;
+      Block = cast<DIEBlock>(Value);
     }
   
     Die->AddValue(Attribute, Block->BestForm(), Value);