summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-04-04 04:59:56 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-04-04 04:59:56 +0000
commit8e65f8ddfd88fa6b88152ee914b36a67c051f610 (patch)
tree46bf2f44ff5aa43ab78dda5e1266327f2490944e
parenta017306063c847f08a14f8d3bf627dd19e6d79a2 (diff)
downloadbcm5719-llvm-8e65f8ddfd88fa6b88152ee914b36a67c051f610.tar.gz
bcm5719-llvm-8e65f8ddfd88fa6b88152ee914b36a67c051f610.zip
ValueMapper: Remove old FIXMEs; almost NFC
Remove a few old FIXMEs from the original commit of the Metadata/Value split in r223802. These are commented out assertions to the effect that calls between mapValue and mapMetadata never return nullptr. (The only behaviour change is that Mapper::mapSimpleMetadata memoizes the nullptr return.) When I originally rewrote the mapping code, I thought we could be stricter in the new metadata hierarchy and never return nullptr when RF_NullMapMissingGlobalValues was off. It's still not entirely clear to me why these assertions failed (a few months ago, I had a theory that I forgot to write down, but that's helping no one). Understood or not, I no longer see how these commented-out assertions would be useful. I'm relegating them to the annals of source control before making significant changes to ValueMapper.cpp. llvm-svn: 265282
-rw-r--r--llvm/lib/Transforms/Utils/ValueMapper.cpp22
1 files changed, 1 insertions, 21 deletions
diff --git a/llvm/lib/Transforms/Utils/ValueMapper.cpp b/llvm/lib/Transforms/Utils/ValueMapper.cpp
index 78f4618aef9..8d3fc94d08a 100644
--- a/llvm/lib/Transforms/Utils/ValueMapper.cpp
+++ b/llvm/lib/Transforms/Utils/ValueMapper.cpp
@@ -185,12 +185,6 @@ Value *Mapper::mapValue(const Value *V) {
if (MD == MappedMD || (!MappedMD && (Flags & RF_IgnoreMissingEntries)))
return VM[V] = const_cast<Value *>(V);
- // FIXME: This assert crashes during bootstrap, but I think it should be
- // correct. For now, just match behaviour from before the metadata/value
- // split.
- //
- // assert((MappedMD || (Flags & RF_NullMapMissingGlobalValues)) &&
- // "Referenced metadata value not in value map");
return VM[V] = MetadataAsValue::get(V->getContext(), MappedMD);
}
@@ -296,12 +290,6 @@ Metadata *Mapper::mapMetadataOp(Metadata *Op) {
if (Flags & RF_IgnoreMissingEntries)
return Op;
- // FIXME: This assert crashes during bootstrap, but I think it should be
- // correct. For now, just match behaviour from before the metadata/value
- // split.
- //
- // assert((Flags & RF_NullMapMissingGlobalValues) &&
- // "Referenced metadata not in value map!");
return nullptr;
}
@@ -388,15 +376,7 @@ Optional<Metadata *> Mapper::mapSimpleMetadata(const Metadata *MD) {
(!MappedV && (Flags & RF_IgnoreMissingEntries)))
return mapToSelf(MD);
- // FIXME: This assert crashes during bootstrap, but I think it should be
- // correct. For now, just match behaviour from before the metadata/value
- // split.
- //
- // assert((MappedV || (Flags & RF_NullMapMissingGlobalValues)) &&
- // "Referenced metadata not in value map!");
- if (MappedV)
- return mapToMetadata(MD, ValueAsMetadata::get(MappedV));
- return nullptr;
+ return mapToMetadata(MD, MappedV ? ValueAsMetadata::get(MappedV) : nullptr);
}
assert(isa<MDNode>(MD) && "Expected a metadata node");
OpenPOWER on IntegriCloud