diff --git a/llvm/lib/Transforms/Utils/Linker.cpp b/llvm/lib/Transforms/Utils/Linker.cpp index 094c46fef84b..c23de0a1786d 100644 --- a/llvm/lib/Transforms/Utils/Linker.cpp +++ b/llvm/lib/Transforms/Utils/Linker.cpp @@ -105,7 +105,7 @@ static Value *RemapOperand(const Value *In, map &LocalMap, if (const ConstantArray *CPA = dyn_cast(CPV)) { const std::vector &Ops = CPA->getValues(); std::vector Operands(Ops.size()); - for (unsigned i = 0; i < Ops.size(); ++i) + for (unsigned i = 0, e = Ops.size(); i != e; ++i) Operands[i] = cast(RemapOperand(Ops[i], LocalMap, GlobalMap)); Result = ConstantArray::get(cast(CPA->getType()), Operands); @@ -154,7 +154,7 @@ static Value *RemapOperand(const Value *In, map &LocalMap, } // Cache the mapping in our local map structure... - LocalMap.insert(std::make_pair(In, const_cast(CPV))); + LocalMap.insert(std::make_pair(In, Result)); return Result; }