[ThinLTO/LTO] Don't link in unneeded metadata
[oota-llvm.git] / lib / Transforms / Utils / ValueMapper.cpp
index 00ee3385981b4fe635648206c47ac4ce5f5eb4c9..1add78e01657ff8a2277451a103f1fb8887348fd 100644 (file)
@@ -197,6 +197,10 @@ static Metadata *mapMetadataOp(Metadata *Op,
                                ValueMaterializer *Materializer) {
   if (!Op)
     return nullptr;
+
+  if (Materializer && !Materializer->isMetadataNeeded(Op))
+    return nullptr;
+
   if (Metadata *MappedOp = MapMetadataImpl(Op, DistinctWorklist, VM, Flags,
                                            TypeMapper, Materializer))
     return MappedOp;