diff --git a/llvm/lib/IR/DebugInfoMetadata.cpp b/llvm/lib/IR/DebugInfoMetadata.cpp --- a/llvm/lib/IR/DebugInfoMetadata.cpp +++ b/llvm/lib/IR/DebugInfoMetadata.cpp @@ -2093,7 +2093,7 @@ if (NewVM) VM = NewVM; else - VM = ValueAsMetadata::get(UndefValue::get(VM->getValue()->getType())); + VM = ValueAsMetadata::get(PoisonValue::get(VM->getValue()->getType())); } } if (Uniq) { diff --git a/llvm/test/Transforms/GlobalOpt/deadglobal-diarglist-use.ll b/llvm/test/Transforms/GlobalOpt/deadglobal-diarglist-use.ll --- a/llvm/test/Transforms/GlobalOpt/deadglobal-diarglist-use.ll +++ b/llvm/test/Transforms/GlobalOpt/deadglobal-diarglist-use.ll @@ -6,7 +6,7 @@ ; CHECK-NOT: @s -; CHECK: call void @llvm.dbg.value(metadata !DIArgList(ptr undef +; CHECK: call void @llvm.dbg.value(metadata !DIArgList(ptr poison %struct.S = type { i32 }