diff --git a/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h b/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h --- a/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h +++ b/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h @@ -744,7 +744,7 @@ if (Msg.empty()) return None; - return std::move(Msg); + return Msg; } StringRef getTagDescription() const override { diff --git a/llvm/include/llvm/Bitstream/BitstreamReader.h b/llvm/include/llvm/Bitstream/BitstreamReader.h --- a/llvm/include/llvm/Bitstream/BitstreamReader.h +++ b/llvm/include/llvm/Bitstream/BitstreamReader.h @@ -209,7 +209,7 @@ unsigned BitsLeft = NumBits - BitsInCurWord; if (Error fillResult = fillCurWord()) - return std::move(fillResult); + return fillResult; // If we run out of data, abort. if (BitsLeft > BitsInCurWord) @@ -425,7 +425,7 @@ // We read and accumulate abbrev's, the client can't do anything with // them anyway. if (Error Err = ReadAbbrevRecord()) - return std::move(Err); + return Err; continue; } @@ -448,7 +448,7 @@ // If we found a sub-block, just skip over it and check the next entry. if (Error Err = SkipBlock()) - return std::move(Err); + return Err; } } diff --git a/llvm/include/llvm/DebugInfo/CodeView/CVRecord.h b/llvm/include/llvm/DebugInfo/CodeView/CVRecord.h --- a/llvm/include/llvm/DebugInfo/CodeView/CVRecord.h +++ b/llvm/include/llvm/DebugInfo/CodeView/CVRecord.h @@ -100,14 +100,14 @@ Reader.setOffset(Offset); if (auto EC = Reader.readObject(Prefix)) - return std::move(EC); + return EC; if (Prefix->RecordLen < 2) return make_error(cv_error_code::corrupt_record); Reader.setOffset(Offset); ArrayRef RawData; if (auto EC = Reader.readBytes(RawData, Prefix->RecordLen + sizeof(uint16_t))) - return std::move(EC); + return EC; return codeview::CVRecord(RawData); } diff --git a/llvm/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h b/llvm/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h --- a/llvm/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h +++ b/llvm/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h @@ -48,7 +48,7 @@ template static Expected deserializeAs(CVSymbol Symbol) { T Record(static_cast(Symbol.kind())); if (auto EC = deserializeAs(Symbol, Record)) - return std::move(EC); + return EC; return Record; } diff --git a/llvm/include/llvm/Object/ELF.h b/llvm/include/llvm/Object/ELF.h --- a/llvm/include/llvm/Object/ELF.h +++ b/llvm/include/llvm/Object/ELF.h @@ -601,7 +601,7 @@ ": expected SHT_STRTAB, but got " + object::getELFSectionTypeName( getHeader()->e_machine, Section->sh_type))) - return std::move(E); + return E; auto V = getSectionContentsAsArray(Section); if (!V) diff --git a/llvm/include/llvm/Object/ELFObjectFile.h b/llvm/include/llvm/Object/ELFObjectFile.h --- a/llvm/include/llvm/Object/ELFObjectFile.h +++ b/llvm/include/llvm/Object/ELFObjectFile.h @@ -948,7 +948,7 @@ ELFObjectFile::create(MemoryBufferRef Object) { auto EFOrErr = ELFFile::create(Object.getBuffer()); if (Error E = EFOrErr.takeError()) - return std::move(E); + return E; auto EF = std::move(*EFOrErr); auto SectionsOrErr = EF.sections(); diff --git a/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp b/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp --- a/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp +++ b/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp @@ -34,11 +34,11 @@ if (Pos != End) { if (Pos->intersects(R)) - return std::move(Pos); + return Pos; if (Pos != Begin) { auto Iter = Pos - 1; if (Iter->intersects(R)) - return std::move(Iter); + return Iter; } } diff --git a/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp b/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp --- a/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp +++ b/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp @@ -585,7 +585,7 @@ auto Impl = std::make_shared(Symbol.kind()); if (auto EC = Impl->fromCodeViewSymbol(Symbol)) - return std::move(EC); + return EC; Result.Symbol = Impl; return Result; } diff --git a/llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp b/llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp --- a/llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp +++ b/llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp @@ -671,7 +671,7 @@ auto Impl = std::make_shared>(Type.kind()); if (auto EC = Impl->fromCodeViewRecord(Type)) - return std::move(EC); + return EC; Result.Leaf = Impl; return Result; } diff --git a/llvm/lib/Support/APFloat.cpp b/llvm/lib/Support/APFloat.cpp --- a/llvm/lib/Support/APFloat.cpp +++ b/llvm/lib/Support/APFloat.cpp @@ -2507,7 +2507,7 @@ /* Scan the text. */ StringRef::iterator p = str.begin(); if (Error Err = interpretDecimal(p, str.end(), &D)) - return std::move(Err); + return Err; /* Handle the quick cases. First the case of no significant digits, i.e. zero, and then exponents that are obviously too large or too diff --git a/llvm/lib/Support/JSON.cpp b/llvm/lib/Support/JSON.cpp --- a/llvm/lib/Support/JSON.cpp +++ b/llvm/lib/Support/JSON.cpp @@ -513,7 +513,7 @@ if (P.checkUTF8()) if (P.parseValue(E)) if (P.assertEnd()) - return std::move(E); + return E; return P.takeError(); } char ParseError::ID = 0; diff --git a/llvm/lib/Support/MemoryBuffer.cpp b/llvm/lib/Support/MemoryBuffer.cpp --- a/llvm/lib/Support/MemoryBuffer.cpp +++ b/llvm/lib/Support/MemoryBuffer.cpp @@ -128,7 +128,7 @@ if (!Buf) return make_error_code(errc::not_enough_memory); memcpy(Buf->getBufferStart(), InputData.data(), InputData.size()); - return std::move(Buf); + return Buf; } std::unique_ptr @@ -398,7 +398,7 @@ Offset, EC)); if (EC) return EC; - return std::move(Result); + return Result; } ErrorOr> @@ -450,7 +450,7 @@ new (NamedBufferAlloc(Filename)) MemoryBufferMMapFile( RequiresNullTerminator, FD, MapSize, Offset, EC)); if (!EC) - return std::move(Result); + return Result; } auto Buf = WritableMemoryBuffer::getNewUninitMemBuffer(MapSize, Filename); @@ -475,7 +475,7 @@ Offset += *ReadBytes; } - return std::move(Buf); + return Buf; } ErrorOr> diff --git a/llvm/lib/Support/Path.cpp b/llvm/lib/Support/Path.cpp --- a/llvm/lib/Support/Path.cpp +++ b/llvm/lib/Support/Path.cpp @@ -1263,7 +1263,7 @@ return errorCodeToError(EC); } #endif - return std::move(Ret); + return Ret; } } diff --git a/llvm/lib/Support/YAMLTraits.cpp b/llvm/lib/Support/YAMLTraits.cpp --- a/llvm/lib/Support/YAMLTraits.cpp +++ b/llvm/lib/Support/YAMLTraits.cpp @@ -388,7 +388,7 @@ break; SQHNode->Entries.push_back(std::move(Entry)); } - return std::move(SQHNode); + return SQHNode; } else if (MappingNode *Map = dyn_cast(N)) { auto mapHNode = std::make_unique(N); for (KeyValueNode &KVN : *Map) { @@ -413,7 +413,7 @@ break; mapHNode->Mapping[KeyStr] = std::move(ValueHNode); } - return std::move(mapHNode); + return mapHNode; } else if (isa(N)) { return std::make_unique(N); } else { diff --git a/llvm/lib/TableGen/JSONBackend.cpp b/llvm/lib/TableGen/JSONBackend.cpp --- a/llvm/lib/TableGen/JSONBackend.cpp +++ b/llvm/lib/TableGen/JSONBackend.cpp @@ -54,7 +54,7 @@ json::Array array; for (unsigned i = 0, limit = Bits->getNumBits(); i < limit; i++) array.push_back(translateInit(*Bits->getBit(i))); - return std::move(array); + return array; } else if (auto *Int = dyn_cast(&I)) { return Int->getValue(); } else if (auto *Str = dyn_cast(&I)) { @@ -65,7 +65,7 @@ json::Array array; for (auto val : *List) array.push_back(translateInit(*val)); - return std::move(array); + return array; } // Init subclasses that we return as JSON objects containing a @@ -79,17 +79,17 @@ if (auto *Def = dyn_cast(&I)) { obj["kind"] = "def"; obj["def"] = Def->getDef()->getName(); - return std::move(obj); + return obj; } else if (auto *Var = dyn_cast(&I)) { obj["kind"] = "var"; obj["var"] = Var->getName(); - return std::move(obj); + return obj; } else if (auto *VarBit = dyn_cast(&I)) { if (auto *Var = dyn_cast(VarBit->getBitVar())) { obj["kind"] = "varbit"; obj["var"] = Var->getName(); obj["index"] = VarBit->getBitNum(); - return std::move(obj); + return obj; } } else if (auto *Dag = dyn_cast(&I)) { obj["kind"] = "dag"; @@ -107,7 +107,7 @@ args.push_back(std::move(arg)); } obj["args"] = std::move(args); - return std::move(obj); + return obj; } // Final fallback: anything that gets past here is simply given a @@ -116,7 +116,7 @@ assert(!I.isConcrete()); obj["kind"] = "complex"; - return std::move(obj); + return obj; } void JSONEmitter::run(raw_ostream &OS) { diff --git a/llvm/lib/XRay/Profile.cpp b/llvm/lib/XRay/Profile.cpp --- a/llvm/lib/XRay/Profile.cpp +++ b/llvm/lib/XRay/Profile.cpp @@ -90,7 +90,7 @@ CurrentOffset = Offset; Path.push_back(FuncId); } while (FuncId != 0); - return std::move(Path); + return Path; } static Expected readData(DataExtractor &Extractor, @@ -137,7 +137,7 @@ std::vector Path; for (auto Node = It->second; Node; Node = Node->Caller) Path.push_back(Node->Func); - return std::move(Path); + return Path; } Profile::PathID Profile::internPath(ArrayRef P) { @@ -308,7 +308,7 @@ if (auto E = P.addBlock(Profile::Block{Profile::ThreadID{Header.Thread}, {{P.internPath(Path), std::move(Data)}}})) - return std::move(E); + return E; } return P; @@ -393,7 +393,7 @@ std::vector>( PathsData.begin(), PathsData.end()), })) - return std::move(E); + return E; } return P; diff --git a/llvm/tools/obj2yaml/elf2yaml.cpp b/llvm/tools/obj2yaml/elf2yaml.cpp --- a/llvm/tools/obj2yaml/elf2yaml.cpp +++ b/llvm/tools/obj2yaml/elf2yaml.cpp @@ -800,7 +800,7 @@ ELFDumper::dumpNoBitsSection(const Elf_Shdr *Shdr) { auto S = std::make_unique(); if (Error E = dumpCommonSection(Shdr, *S)) - return std::move(E); + return E; S->Size = Shdr->sh_size; return S.release(); @@ -811,7 +811,7 @@ ELFDumper::dumpNoteSection(const Elf_Shdr *Shdr) { auto S = std::make_unique(); if (Error E = dumpCommonSection(Shdr, *S)) - return std::move(E); + return E; auto ContentOrErr = Obj.getSectionContents(Shdr); if (!ContentOrErr) @@ -847,7 +847,7 @@ ELFDumper::dumpHashSection(const Elf_Shdr *Shdr) { auto S = std::make_unique(); if (Error E = dumpCommonSection(Shdr, *S)) - return std::move(E); + return E; auto ContentOrErr = Obj.getSectionContents(Shdr); if (!ContentOrErr) @@ -888,7 +888,7 @@ ELFDumper::dumpGnuHashSection(const Elf_Shdr *Shdr) { auto S = std::make_unique(); if (Error E = dumpCommonSection(Shdr, *S)) - return std::move(E); + return E; auto ContentOrErr = Obj.getSectionContents(Shdr); if (!ContentOrErr) @@ -1085,7 +1085,7 @@ Expected ELFDumper::dumpGroup(const Elf_Shdr *Shdr) { auto S = std::make_unique(); if (Error E = dumpCommonSection(Shdr, *S)) - return std::move(E); + return E; // Get symbol with index sh_info. This symbol's name is the signature of the group. Expected SymbolName = getSymbolName(Shdr->sh_link, Shdr->sh_info); @@ -1121,7 +1121,7 @@ "Section type is not SHT_MIPS_ABIFLAGS"); auto S = std::make_unique(); if (Error E = dumpCommonSection(Shdr, *S)) - return std::move(E); + return E; auto ContentOrErr = Obj.getSectionContents(Shdr); if (!ContentOrErr) diff --git a/llvm/utils/TableGen/GlobalISelEmitter.cpp b/llvm/utils/TableGen/GlobalISelEmitter.cpp --- a/llvm/utils/TableGen/GlobalISelEmitter.cpp +++ b/llvm/utils/TableGen/GlobalISelEmitter.cpp @@ -3791,7 +3791,7 @@ if (auto Error = importChildMatcher(Rule, InsnMatcher, SrcChild, OperandIsAPointer, OperandIsImmArg, OpIdx++, TempOpIdx)) - return std::move(Error); + return Error; } } @@ -4063,7 +4063,7 @@ auto InsertPtOrError = createAndImportSubInstructionRenderer( ++InsertPt, Rule, DstChild, TempRegID); if (auto Error = InsertPtOrError.takeError()) - return std::move(Error); + return Error; return InsertPtOrError.get(); } @@ -4142,7 +4142,7 @@ const TreePatternNode *Dst) { auto InsertPtOrError = createInstructionRenderer(M.actions_end(), M, Dst); if (auto Error = InsertPtOrError.takeError()) - return std::move(Error); + return Error; action_iterator InsertPt = InsertPtOrError.get(); BuildMIAction &DstMIBuilder = *static_cast(InsertPt->get()); @@ -4162,7 +4162,7 @@ if (auto Error = importExplicitUseRenderers(InsertPt, M, DstMIBuilder, Dst) .takeError()) - return std::move(Error); + return Error; return DstMIBuilder; } @@ -4176,7 +4176,7 @@ // TODO: Assert there's exactly one result. if (auto Error = InsertPtOrError.takeError()) - return std::move(Error); + return Error; BuildMIAction &DstMIBuilder = *static_cast(InsertPtOrError.get()->get()); @@ -4187,7 +4187,7 @@ InsertPtOrError = importExplicitUseRenderers(InsertPtOrError.get(), M, DstMIBuilder, Dst); if (auto Error = InsertPtOrError.takeError()) - return std::move(Error); + return Error; // We need to make sure that when we import an INSERT_SUBREG as a // subinstruction that it ends up being constrained to the correct super @@ -4359,7 +4359,7 @@ auto InsertPtOrError = importExplicitUseRenderer(InsertPt, M, DstMIBuilder, ValChild); if (auto Error = InsertPtOrError.takeError()) - return std::move(Error); + return Error; InsertPt = InsertPtOrError.get(); DstMIBuilder.addRenderer(SubIdx); } @@ -4420,7 +4420,7 @@ DagInit *DefaultOps = DstIOperand.Rec->getValueAsDag("DefaultOps"); if (auto Error = importDefaultOperandRenderers( InsertPt, M, DstMIBuilder, DefaultOps)) - return std::move(Error); + return Error; ++NumDefaultOps; continue; } @@ -4428,7 +4428,7 @@ auto InsertPtOrError = importExplicitUseRenderer(InsertPt, M, DstMIBuilder, Dst->getChild(Child)); if (auto Error = InsertPtOrError.takeError()) - return std::move(Error); + return Error; InsertPt = InsertPtOrError.get(); ++Child; } @@ -4629,7 +4629,7 @@ llvm::to_string(*P.getDstPattern())); if (auto Error = importRulePredicates(M, P.getPredicates())) - return std::move(Error); + return Error; // Next, analyze the pattern operators. TreePatternNode *Src = P.getSrcPattern(); @@ -4669,7 +4669,7 @@ auto InsnMatcherOrError = createAndImportSelDAGMatcher(M, InsnMatcherTemp, Src, TempOpIdx); if (auto Error = InsnMatcherOrError.takeError()) - return std::move(Error); + return Error; InstructionMatcher &InsnMatcher = InsnMatcherOrError.get(); if (Dst->isLeaf()) { @@ -4697,7 +4697,7 @@ // We're done with this pattern! It's eligible for GISel emission; return // it. ++NumPatternImported; - return std::move(M); + return M; } return failedImport("Dst pattern root isn't a known leaf"); @@ -4787,13 +4787,13 @@ auto DstMIBuilderOrError = createAndImportInstructionRenderer(M, InsnMatcher, Src, Dst); if (auto Error = DstMIBuilderOrError.takeError()) - return std::move(Error); + return Error; BuildMIAction &DstMIBuilder = DstMIBuilderOrError.get(); // Render the implicit defs. // These are only added to the root of the result. if (auto Error = importImplicitDefRenderers(DstMIBuilder, P.getDstRegs())) - return std::move(Error); + return Error; DstMIBuilder.chooseInsnToMutate(M); @@ -4814,7 +4814,7 @@ // We're done with this pattern! It's eligible for GISel emission; return // it. ++NumPatternImported; - return std::move(M); + return M; } if (DstIName == "EXTRACT_SUBREG") { @@ -4845,7 +4845,7 @@ // We're done with this pattern! It's eligible for GISel emission; return // it. ++NumPatternImported; - return std::move(M); + return M; } if (DstIName == "INSERT_SUBREG") { @@ -4890,14 +4890,14 @@ M.addAction(0, 0, **SuperClass); M.addAction(0, 2, **SubClass); ++NumPatternImported; - return std::move(M); + return M; } M.addAction(0); // We're done with this pattern! It's eligible for GISel emission; return it. ++NumPatternImported; - return std::move(M); + return M; } // Emit imm predicate table and an enum to reference them with.