mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-03 10:54:42 +00:00
Using Inst->setMetadata(..., NULL) should be safe to remove metadata even when
there is non of that type to remove. This fixes a crasher in the particular case where the instruction has metadata but no metadata storage in the context (this is only possible if the instruction has !dbg but no other metadata info). llvm-svn: 147285
This commit is contained in:
parent
d448dfaa25
commit
b3f57c8028
@ -470,9 +470,11 @@ void Instruction::setMetadata(unsigned KindID, MDNode *Node) {
|
||||
}
|
||||
|
||||
// Otherwise, we're removing metadata from an instruction.
|
||||
assert(hasMetadataHashEntry() &&
|
||||
getContext().pImpl->MetadataStore.count(this) &&
|
||||
assert((hasMetadataHashEntry() ==
|
||||
getContext().pImpl->MetadataStore.count(this)) &&
|
||||
"HasMetadata bit out of date!");
|
||||
if (!hasMetadataHashEntry())
|
||||
return; // Nothing to remove!
|
||||
LLVMContextImpl::MDMapTy &Info = getContext().pImpl->MetadataStore[this];
|
||||
|
||||
// Common case is removing the only entry.
|
||||
|
Loading…
x
Reference in New Issue
Block a user