diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/IR/Metadata.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/IR/Metadata.cpp b/llvm/lib/IR/Metadata.cpp index e3a4684..6fb7494 100644 --- a/llvm/lib/IR/Metadata.cpp +++ b/llvm/lib/IR/Metadata.cpp @@ -339,7 +339,8 @@ void ReplaceableMetadataImpl::SalvageDebugInfo(const Constant &C) { ValueAsMetadata *MD = I->second; using UseTy = std::pair<void *, std::pair<MetadataTracking::OwnerTy, uint64_t>>; - // Copy out uses and update value of Constant used by debug info metadata with undef below + // Copy out uses and update value of Constant used by debug info metadata with + // poison below SmallVector<UseTy, 8> Uses(MD->UseMap.begin(), MD->UseMap.end()); for (const auto &Pair : Uses) { @@ -349,7 +350,7 @@ void ReplaceableMetadataImpl::SalvageDebugInfo(const Constant &C) { // Check for MetadataAsValue. if (isa<MetadataAsValue *>(Owner)) { cast<MetadataAsValue *>(Owner)->handleChangedMetadata( - ValueAsMetadata::get(UndefValue::get(C.getType()))); + ValueAsMetadata::get(PoisonValue::get(C.getType()))); continue; } if (!isa<Metadata *>(Owner)) @@ -359,7 +360,7 @@ void ReplaceableMetadataImpl::SalvageDebugInfo(const Constant &C) { continue; if (isa<DINode>(OwnerMD)) { OwnerMD->handleChangedOperand( - Pair.first, ValueAsMetadata::get(UndefValue::get(C.getType()))); + Pair.first, ValueAsMetadata::get(PoisonValue::get(C.getType()))); } } } |