diff --git a/llvm/lib/Support/SpecialCaseList.cpp b/llvm/lib/Support/SpecialCaseList.cpp index ea417c41c0a7..0ffe4444a179 100644 --- a/llvm/lib/Support/SpecialCaseList.cpp +++ b/llvm/lib/Support/SpecialCaseList.cpp @@ -50,7 +50,7 @@ std::unique_ptr SpecialCaseList::create(const std::vector &Paths, std::string &Error) { std::unique_ptr SCL(new SpecialCaseList()); - for (auto Path : Paths) { + for (const auto &Path : Paths) { ErrorOr> FileOrErr = MemoryBuffer::getFile(Path); if (std::error_code EC = FileOrErr.getError()) { diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp index 8fec80307a6e..1e66b3b0934c 100644 --- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp +++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp @@ -190,8 +190,6 @@ public: MCAsmBackend *llvm::createAMDGPUAsmBackend(const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU) { - Triple TargetTriple(TT); - // Use 64-bit ELF for amdgcn - return new ELFAMDGPUAsmBackend(T, TargetTriple.getArch() == Triple::amdgcn); + return new ELFAMDGPUAsmBackend(T, TT.getArch() == Triple::amdgcn); } diff --git a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp index 71823e470091..9ad7f9cc9d57 100644 --- a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp +++ b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp @@ -642,7 +642,7 @@ void ARMAsmPrinter::emitAttributes() { static_cast(TM); const ARMSubtarget STI(TT, CPU, ArchFS, ATM, ATM.isLittleEndian()); - std::string CPUString = STI.getCPUString(); + const std::string &CPUString = STI.getCPUString(); if (CPUString.find("generic") != 0) { //CPUString doesn't start with "generic" // FIXME: remove krait check when GNU tools support krait cpu diff --git a/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp b/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp index c54a6b26c69a..633d1a476892 100644 --- a/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp +++ b/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp @@ -1401,7 +1401,6 @@ bool HexagonAsmParser::parseInstruction(OperandVector &Operands) { AsmToken const &Token = Parser.getTok(); if (Token.is(AsmToken::Identifier)) { StringRef String = Token.getString(); - AsmToken IDToken = Token; if (String.lower() == "hi") { HiOnly = true; } else if (String.lower() == "lo") { diff --git a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp index 16ec118aba6d..b22a7fb0078f 100644 --- a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp +++ b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp @@ -438,7 +438,7 @@ public: IsCpRestoreSet = false; CpRestoreOffset = -1; - Triple TheTriple(sti.getTargetTriple()); + const Triple &TheTriple = sti.getTargetTriple(); if ((TheTriple.getArch() == Triple::mips) || (TheTriple.getArch() == Triple::mips64)) IsLittleEndian = false; diff --git a/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp b/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp index 50232c384dd2..a3c9657e9647 100644 --- a/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp @@ -117,7 +117,7 @@ void NVPTXAsmPrinter::emitLineNumberAsDotLoc(const MachineInstr &MI) { if (ignoreLoc(MI)) return; - DebugLoc curLoc = MI.getDebugLoc(); + const DebugLoc &curLoc = MI.getDebugLoc(); if (!prevDebugLoc && !curLoc) return; diff --git a/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp b/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp index 4b526fc6efec..cf8ee1d6a16f 100644 --- a/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp +++ b/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp @@ -292,7 +292,7 @@ public: const MCInstrInfo &MII, const MCTargetOptions &Options) : MCTargetAsmParser(Options, STI), MII(MII) { // Check for 64-bit vs. 32-bit pointer mode. - Triple TheTriple(STI.getTargetTriple()); + const Triple &TheTriple = STI.getTargetTriple(); IsPPC64 = (TheTriple.getArch() == Triple::ppc64 || TheTriple.getArch() == Triple::ppc64le); IsDarwin = TheTriple.isMacOSX(); diff --git a/llvm/lib/Transforms/IPO/SampleProfile.cpp b/llvm/lib/Transforms/IPO/SampleProfile.cpp index afafd45bec04..deba6ea0661d 100644 --- a/llvm/lib/Transforms/IPO/SampleProfile.cpp +++ b/llvm/lib/Transforms/IPO/SampleProfile.cpp @@ -445,7 +445,7 @@ void SampleProfileLoader::printBlockWeight(raw_ostream &OS, /// \returns the weight of \p Inst. ErrorOr SampleProfileLoader::getInstWeight(const Instruction &Inst) const { - DebugLoc DLoc = Inst.getDebugLoc(); + const DebugLoc &DLoc = Inst.getDebugLoc(); if (!DLoc) return std::error_code(); diff --git a/llvm/lib/Transforms/Utils/CodeExtractor.cpp b/llvm/lib/Transforms/Utils/CodeExtractor.cpp index 823696d88e65..3d2ee73669bc 100644 --- a/llvm/lib/Transforms/Utils/CodeExtractor.cpp +++ b/llvm/lib/Transforms/Utils/CodeExtractor.cpp @@ -77,15 +77,15 @@ static SetVector buildExtractionBlockSet(IteratorT BBBegin, // Loop over the blocks, adding them to our set-vector, and aborting with an // empty set if we encounter invalid blocks. - for (IteratorT I = BBBegin, E = BBEnd; I != E; ++I) { - if (!Result.insert(*I)) + do { + if (!Result.insert(*BBBegin)) llvm_unreachable("Repeated basic blocks in extraction input"); - if (!isBlockValidForExtraction(**I)) { + if (!isBlockValidForExtraction(**BBBegin)) { Result.clear(); return Result; } - } + } while (++BBBegin != BBEnd); #ifndef NDEBUG for (SetVector::iterator I = std::next(Result.begin()), diff --git a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp index 415de6c591f3..fb6c7f4ffe8f 100644 --- a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp +++ b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp @@ -158,7 +158,7 @@ int main(int argc, char **argv) { // Expand any .dSYM bundles to the individual object files contained therein. std::vector Objects; - for (auto F : InputFilenames) { + for (const auto &F : InputFilenames) { auto Objs = expandBundle(F); Objects.insert(Objects.end(), Objs.begin(), Objs.end()); } diff --git a/llvm/tools/sancov/sancov.cc b/llvm/tools/sancov/sancov.cc index 891304d4f13d..efeb46a1faac 100644 --- a/llvm/tools/sancov/sancov.cc +++ b/llvm/tools/sancov/sancov.cc @@ -894,7 +894,7 @@ public: OS << "\n"; OS << ""; OS << "\n"; - for (auto FileName : Files) { + for (const auto &FileName : Files) { std::pair FC = FileCoverage[FileName]; if (FC.first == 0) { NotCoveredFilesCount++; @@ -915,7 +915,7 @@ public: if (NotCoveredFilesCount) { OS << "
Not Touched Files\n"; OS << "
FileCoverage %Hit (Total) Fns
\n"; - for (auto FileName : Files) { + for (const auto &FileName : Files) { std::pair FC = FileCoverage[FileName]; if (FC.first == 0) OS << "\n"; @@ -927,7 +927,7 @@ public: } // Source - for (auto FileName : Files) { + for (const auto &FileName : Files) { std::pair FC = FileCoverage[FileName]; if (FC.first == 0) continue; @@ -969,7 +969,7 @@ public: FileLoc Loc = FileLoc{FileName, Line}; auto It = AllFnsByLoc.find(Loc); if (It != AllFnsByLoc.end()) { - for (std::string Fn : It->second) { + for (const std::string &Fn : It->second) { OS << ""; }; @@ -1069,7 +1069,7 @@ public: std::vector> MergedCoverage; for (const auto &Pair : CoverageByObjFile) { if (findSanitizerCovFunctions(Pair.first).empty()) { - for (auto FileName : Pair.second) { + for (const auto &FileName : Pair.second) { CovFiles.erase(FileName); } @@ -1159,7 +1159,7 @@ public: // About OS << "
About\n"; OS << "Coverage files:
    "; - for (auto InputFile : CoverageFiles) { + for (const auto &InputFile : CoverageFiles) { llvm::sys::fs::file_status Status; llvm::sys::fs::status(InputFile, Status); OS << "
  • " << stripPathPrefix(InputFile) << " (" @@ -1209,7 +1209,7 @@ int main(int argc, char **argv) { return 0; } else if (Action == PrintCovPointsAction) { // -print-coverage-points doesn't need coverage files. - for (std::string ObjFile : ClInputFiles) { + for (const std::string &ObjFile : ClInputFiles) { printCovPoints(ObjFile, outs()); } return 0; diff --git a/llvm/tools/yaml2obj/yaml2macho.cpp b/llvm/tools/yaml2obj/yaml2macho.cpp index 57f36d6a90d4..9faa767e9a6e 100644 --- a/llvm/tools/yaml2obj/yaml2macho.cpp +++ b/llvm/tools/yaml2obj/yaml2macho.cpp @@ -116,7 +116,7 @@ template <> size_t writeLoadCommandData(MachOYAML::LoadCommand &LC, raw_ostream &OS) { size_t BytesWritten = 0; - for (auto Sec : LC.Sections) { + for (const auto &Sec : LC.Sections) { auto TempSec = constructSection(Sec); OS.write(reinterpret_cast(&(TempSec)), sizeof(MachO::section)); @@ -130,7 +130,7 @@ size_t writeLoadCommandData(MachOYAML::LoadCommand &LC, raw_ostream &OS) { size_t BytesWritten = 0; - for (auto Sec : LC.Sections) { + for (const auto &Sec : LC.Sections) { auto TempSec = constructSection(Sec); TempSec.reserved3 = Sec.reserved3; OS.write(reinterpret_cast(&(TempSec)), diff --git a/llvm/utils/TableGen/RegisterInfoEmitter.cpp b/llvm/utils/TableGen/RegisterInfoEmitter.cpp index 60ddb5c88ece..9bb988f30f18 100644 --- a/llvm/utils/TableGen/RegisterInfoEmitter.cpp +++ b/llvm/utils/TableGen/RegisterInfoEmitter.cpp @@ -990,7 +990,7 @@ RegisterInfoEmitter::runMCDesc(raw_ostream &OS, CodeGenTarget &Target, ArrayRef Order = RC.getOrder(); // Give the register class a legal C name if it's anonymous. - std::string Name = RC.getName(); + const std::string &Name = RC.getName(); RegClassStrings.add(Name);
" << stripPathPrefix(FileName) << "