diff --git a/llvm/include/llvm/CodeGen/DIE.h b/llvm/include/llvm/CodeGen/DIE.h --- a/llvm/include/llvm/CodeGen/DIE.h +++ b/llvm/include/llvm/CodeGen/DIE.h @@ -464,6 +464,8 @@ } DIEValue &operator=(const DIEValue &X) { + if (&Val == &X.Val) + return *this; destroyVal(); Ty = X.Ty; Attribute = X.Attribute;