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 @@ -210,7 +210,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) @@ -426,7 +426,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; } @@ -449,7 +449,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/Support/Parallel.h b/llvm/include/llvm/Support/Parallel.h --- a/llvm/include/llvm/Support/Parallel.h +++ b/llvm/include/llvm/Support/Parallel.h @@ -172,7 +172,7 @@ // overhead on large inputs. size_t NumInputs = std::distance(Begin, End); if (NumInputs == 0) - return std::move(Init); + return Init; size_t NumTasks = std::min(static_cast(MaxTasksPerGroup), NumInputs); std::vector Results(NumTasks, Init); { @@ -204,7 +204,7 @@ for (ResultTy &PartialResult : makeMutableArrayRef(Results.data() + 1, Results.size() - 1)) FinalResult = Reduce(FinalResult, std::move(PartialResult)); - return std::move(FinalResult); + return FinalResult; } #endif @@ -262,7 +262,7 @@ #endif for (IterTy I = Begin; I != End; ++I) Init = Reduce(std::move(Init), Transform(*I)); - return std::move(Init); + return Init; } // Range wrappers. diff --git a/llvm/lib/Bitstream/Reader/BitstreamReader.cpp b/llvm/lib/Bitstream/Reader/BitstreamReader.cpp --- a/llvm/lib/Bitstream/Reader/BitstreamReader.cpp +++ b/llvm/lib/Bitstream/Reader/BitstreamReader.cpp @@ -158,7 +158,7 @@ if (Error Err = JumpToBit(GetCurrentBitNo() + static_cast(NumElts) * EltEnc.getEncodingData())) - return std::move(Err); + return Err; break; case BitCodeAbbrevOp::VBR: assert((unsigned)EltEnc.getEncodingData() <= MaxChunkSize); @@ -171,7 +171,7 @@ break; case BitCodeAbbrevOp::Char6: if (Error Err = JumpToBit(GetCurrentBitNo() + NumElts * 6)) - return std::move(Err); + return Err; break; } continue; @@ -197,7 +197,7 @@ // Skip over the blob. if (Error Err = JumpToBit(NewEnd)) - return std::move(Err); + return Err; } return Code; } @@ -328,7 +328,7 @@ // over tail padding first, in case jumping to NewEnd invalidates the Blob // pointer. if (Error Err = JumpToBit(NewEnd)) - return std::move(Err); + return Err; const char *Ptr = (const char *)getPointerToBit(CurBitPos, NumElts); // If we can return a reference to the data, do so to avoid copying it. @@ -403,7 +403,7 @@ Expected> BitstreamCursor::ReadBlockInfoBlock(bool ReadBlockInfoNames) { if (llvm::Error Err = EnterSubBlock(bitc::BLOCKINFO_BLOCK_ID)) - return std::move(Err); + return Err; BitstreamBlockInfo NewBlockInfo; @@ -423,7 +423,7 @@ case llvm::BitstreamEntry::Error: return None; case llvm::BitstreamEntry::EndBlock: - return std::move(NewBlockInfo); + return NewBlockInfo; case llvm::BitstreamEntry::Record: // The interesting case. break; @@ -433,7 +433,7 @@ if (Entry.ID == bitc::DEFINE_ABBREV) { if (!CurBlockInfo) return None; if (Error Err = ReadAbbrevRecord()) - return std::move(Err); + return Err; // ReadAbbrevRecord installs the abbrev in CurAbbrevs. Move it to the // appropriate BlockInfo. diff --git a/llvm/lib/FileCheck/FileCheck.cpp b/llvm/lib/FileCheck/FileCheck.cpp --- a/llvm/lib/FileCheck/FileCheck.cpp +++ b/llvm/lib/FileCheck/FileCheck.cpp @@ -364,7 +364,7 @@ Err = joinErrors(std::move(Err), LeftOp.takeError()); if (!RightOp) Err = joinErrors(std::move(Err), RightOp.takeError()); - return std::move(Err); + return Err; } return EvalBinop(*LeftOp, *RightOp); @@ -380,7 +380,7 @@ Err = joinErrors(std::move(Err), LeftFormat.takeError()); if (!RightFormat) Err = joinErrors(std::move(Err), RightFormat.takeError()); - return std::move(Err); + return Err; } if (*LeftFormat != ExpressionFormat::Kind::NoFormat && @@ -631,7 +631,7 @@ FileCheckPatternContext *Context, const SourceMgr &SM) { RemainingExpr = RemainingExpr.ltrim(SpaceChars); if (RemainingExpr.empty()) - return std::move(LeftOp); + return LeftOp; // Check if this is a supported operation and select a function to perform // it. @@ -881,7 +881,7 @@ DefinedNumericVariable = *ParseResult; } - return std::move(ExpressionPointer); + return ExpressionPointer; } bool Pattern::parsePattern(StringRef PatternStr, StringRef Prefix, @@ -1230,7 +1230,7 @@ "unable to substitute variable or " "numeric expression: overflow error"); }); - return std::move(Err); + return Err; } // Plop it into the regex at the adjusted offset. diff --git a/llvm/lib/IR/DataLayout.cpp b/llvm/lib/IR/DataLayout.cpp --- a/llvm/lib/IR/DataLayout.cpp +++ b/llvm/lib/IR/DataLayout.cpp @@ -204,7 +204,7 @@ Expected DataLayout::parse(StringRef LayoutDescription) { DataLayout Layout(""); if (Error Err = Layout.parseSpecifier(LayoutDescription)) - return std::move(Err); + return Err; return Layout; } diff --git a/llvm/lib/IR/LLVMRemarkStreamer.cpp b/llvm/lib/IR/LLVMRemarkStreamer.cpp --- a/llvm/lib/IR/LLVMRemarkStreamer.cpp +++ b/llvm/lib/IR/LLVMRemarkStreamer.cpp @@ -133,7 +133,7 @@ if (Error E = Context.getMainRemarkStreamer()->setFilter(RemarksPasses)) return make_error(std::move(E)); - return std::move(RemarksFile); + return RemarksFile; } Error llvm::setupLLVMOptimizationRemarks( diff --git a/llvm/lib/Remarks/BitstreamRemarkParser.cpp b/llvm/lib/Remarks/BitstreamRemarkParser.cpp --- a/llvm/lib/Remarks/BitstreamRemarkParser.cpp +++ b/llvm/lib/Remarks/BitstreamRemarkParser.cpp @@ -265,7 +265,7 @@ break; } if (Error E = Stream.JumpToBit(PreviousBitNo)) - return std::move(E); + return E; return Result; } @@ -315,7 +315,7 @@ if (Error E = validateMagicNumber( StringRef(MagicNumber->data(), MagicNumber->size()))) - return std::move(E); + return E; auto Parser = StrTab ? std::make_unique(Buf, std::move(*StrTab)) @@ -324,7 +324,7 @@ if (ExternalFilePrependPath) Parser->ExternalFilePrependPath = std::string(*ExternalFilePrependPath); - return std::move(Parser); + return Parser; } Expected> BitstreamRemarkParser::next() { @@ -333,7 +333,7 @@ if (!ReadyToParseRemarks) { if (Error E = parseMeta()) - return std::move(E); + return E; ReadyToParseRemarks = true; } @@ -490,7 +490,7 @@ Expected> BitstreamRemarkParser::parseRemark() { BitstreamRemarkParserHelper RemarkHelper(ParserHelper.Stream); if (Error E = RemarkHelper.parse()) - return std::move(E); + return E; return processRemark(RemarkHelper); } @@ -561,7 +561,7 @@ R.Hotness = *Helper.Hotness; if (!Helper.Args) - return std::move(Result); + return Result; for (const BitstreamRemarkParserHelper::Argument &Arg : *Helper.Args) { if (!Arg.KeyIdx) @@ -599,5 +599,5 @@ } } - return std::move(Result); + 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 @@ -2690,7 +2690,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 @@ -670,7 +670,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 @@ -412,7 +412,7 @@ Offset, EC)); if (EC) return EC; - return std::move(Result); + return Result; } ErrorOr> @@ -464,7 +464,7 @@ new (NamedBufferAlloc(Filename)) MemoryBufferMMapFile( RequiresNullTerminator, FD, MapSize, Offset, EC)); if (!EC) - return std::move(Result); + return Result; } auto Buf = WritableMemoryBuffer::getNewUninitMemBuffer(MapSize, Filename); @@ -489,7 +489,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 @@ -1291,7 +1291,7 @@ return errorCodeToError(EC); } #endif - return std::move(Ret); + return Ret; } } // namespace fs 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 @@ -416,7 +416,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) { @@ -442,7 +442,7 @@ mapHNode->Mapping[KeyStr] = std::make_pair(std::move(ValueHNode), KeyNode->getSourceRange()); } - 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 @@ -53,7 +53,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)) { @@ -62,7 +62,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 @@ -76,17 +76,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"; @@ -104,7 +104,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 @@ -113,7 +113,7 @@ assert(!I.isConcrete()); obj["kind"] = "complex"; - return std::move(obj); + return obj; } void JSONEmitter::run(raw_ostream &OS) { 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 @@ -3929,7 +3929,7 @@ auto InsnMatcherOrError = addBuiltinPredicates( SrcGIEquivOrNull, Predicate, InsnMatcher, HasAddedBuiltinMatcher); if (auto Error = InsnMatcherOrError.takeError()) - return std::move(Error); + return Error; if (Predicate.hasGISelPredicateCode()) { if (Predicate.usesOperands()) { @@ -4021,11 +4021,11 @@ if (auto Error = importChildMatcher(Rule, InsnMatcher, PtrChild, true, false, 1, TempOpIdx)) - return std::move(Error); + return Error; if (auto Error = importChildMatcher(Rule, InsnMatcher, ValueChild, false, false, 0, TempOpIdx)) - return std::move(Error); + return Error; return InsnMatcher; } @@ -4076,7 +4076,7 @@ if (auto Error = importChildMatcher(Rule, InsnMatcher, SrcChild, OperandIsAPointer, OperandIsImmArg, OpIdx++, TempOpIdx)) - return std::move(Error); + return Error; } } @@ -4393,7 +4393,7 @@ auto InsertPtOrError = createAndImportSubInstructionRenderer( ++InsertPt, Rule, DstChild, TempRegID); if (auto Error = InsertPtOrError.takeError()) - return std::move(Error); + return Error; return InsertPtOrError.get(); } @@ -4472,7 +4472,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()); @@ -4491,11 +4491,11 @@ if (auto Error = importExplicitDefRenderers(InsertPt, M, DstMIBuilder, Dst) .takeError()) - return std::move(Error); + return Error; if (auto Error = importExplicitUseRenderers(InsertPt, M, DstMIBuilder, Dst) .takeError()) - return std::move(Error); + return Error; return DstMIBuilder; } @@ -4509,7 +4509,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()); @@ -4520,7 +4520,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 @@ -4711,7 +4711,7 @@ auto InsertPtOrError = createAndImportSubInstructionRenderer( ++InsertPt, M, ValChild, TempRegID); if (auto Error = InsertPtOrError.takeError()) - return std::move(Error); + return Error; DstMIBuilder.addRenderer(TempRegID, false, SubIdx); return InsertPt; @@ -4761,7 +4761,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); } @@ -4822,7 +4822,7 @@ DagInit *DefaultOps = DstIOperand.Rec->getValueAsDag("DefaultOps"); if (auto Error = importDefaultOperandRenderers( InsertPt, M, DstMIBuilder, DefaultOps)) - return std::move(Error); + return Error; ++NumDefaultOps; continue; } @@ -4830,7 +4830,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; } @@ -5043,7 +5043,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(); @@ -5083,7 +5083,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()) { @@ -5111,7 +5111,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"); @@ -5199,13 +5199,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); @@ -5226,7 +5226,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") { @@ -5262,7 +5262,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") { @@ -5283,7 +5283,7 @@ M.addAction(0, 1, **SuperClass); M.addAction(0, 2, **SubClass); ++NumPatternImported; - return std::move(M); + return M; } if (DstIName == "SUBREG_TO_REG") { @@ -5307,7 +5307,7 @@ M.addAction(0, 0, **SuperClass); M.addAction(0, 2, **SubClass); ++NumPatternImported; - return std::move(M); + return M; } if (DstIName == "REG_SEQUENCE") { @@ -5331,14 +5331,14 @@ } ++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.