summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/ValueMapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Transforms/Utils/ValueMapper.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/ValueMapper.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/llvm/lib/Transforms/Utils/ValueMapper.cpp b/llvm/lib/Transforms/Utils/ValueMapper.cpp
index 0e7bcfd236e..d4bfa9dec12 100644
--- a/llvm/lib/Transforms/Utils/ValueMapper.cpp
+++ b/llvm/lib/Transforms/Utils/ValueMapper.cpp
@@ -215,10 +215,6 @@ static Metadata *MapMetadataImpl(const Metadata *MD, ValueToValueMapTy &VM,
const MDNode *Node = cast<MDNode>(MD);
assert(Node->isResolved() && "Unexpected unresolved node");
- auto getMappedOp = [&](Metadata *Op) -> Metadata *{
- return mapMetadataOp(Op, VM, Flags, TypeMapper, Materializer);
- };
-
// If this is a module-level metadata and we know that nothing at the
// module level is changing, then use an identity mapping.
if (Flags & RF_NoModuleLevelChanges)
@@ -233,7 +229,8 @@ static Metadata *MapMetadataImpl(const Metadata *MD, ValueToValueMapTy &VM,
// Fix the operands.
for (unsigned I = 0, E = Node->getNumOperands(); I != E; ++I)
- NewMD->replaceOperandWith(I, getMappedOp(Node->getOperand(I)));
+ NewMD->replaceOperandWith(I, mapMetadataOp(Node->getOperand(I), VM, Flags,
+ TypeMapper, Materializer));
return NewMD;
}
@@ -245,7 +242,7 @@ static Metadata *MapMetadataImpl(const Metadata *MD, ValueToValueMapTy &VM,
// Check all operands to see if any need to be remapped.
for (unsigned I = 0, E = Node->getNumOperands(); I != E; ++I) {
Metadata *Op = Node->getOperand(I);
- Metadata *MappedOp = getMappedOp(Op);
+ Metadata *MappedOp = mapMetadataOp(Op, VM, Flags, TypeMapper, Materializer);
if (Op == MappedOp)
continue;
@@ -253,7 +250,8 @@ static Metadata *MapMetadataImpl(const Metadata *MD, ValueToValueMapTy &VM,
SmallVector<Metadata *, 4> Elts;
Elts.reserve(Node->getNumOperands());
for (I = 0; I != E; ++I)
- Elts.push_back(getMappedOp(Node->getOperand(I)));
+ Elts.push_back(mapMetadataOp(Node->getOperand(I), VM, Flags, TypeMapper,
+ Materializer));
MDNode *NewMD = MDTuple::get(Node->getContext(), Elts);
Dummy->replaceAllUsesWith(NewMD);
OpenPOWER on IntegriCloud