diff options
Diffstat (limited to 'llvm/lib/VMCore/LLVMContext.cpp')
-rw-r--r-- | llvm/lib/VMCore/LLVMContext.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/VMCore/LLVMContext.cpp b/llvm/lib/VMCore/LLVMContext.cpp index 887679e08d3..7d233d99216 100644 --- a/llvm/lib/VMCore/LLVMContext.cpp +++ b/llvm/lib/VMCore/LLVMContext.cpp @@ -62,9 +62,10 @@ bool LLVMContext::RemoveDeadMetadata() { return Changed; while (!DeadMDNodes.empty()) { - const MDNode *N = cast<MDNode>(DeadMDNodes.back()); DeadMDNodes.pop_back(); - if (N->use_empty()) - delete N; + Value *V = DeadMDNodes.back(); DeadMDNodes.pop_back(); + if (const MDNode *N = dyn_cast_or_null<MDNode>(V)) + if (N->use_empty()) + delete N; } } return Changed; |