[llvm] r234963 - Change range-based for-loops to be -Wrange-loop-analysis clean.

David Blaikie dblaikie at gmail.com
Tue Apr 14 18:33:39 PDT 2015


On Tue, Apr 14, 2015 at 6:21 PM, Richard Trieu <rtrieu at google.com> wrote:
> Author: rtrieu
> Date: Tue Apr 14 20:21:15 2015
> New Revision: 234963
>
> URL: http://llvm.org/viewvc/llvm-project?rev=234963&view=rev
> Log:
> Change range-based for-loops to be -Wrange-loop-analysis clean.
> No functionality change.
>
> Modified:
>     llvm/trunk/lib/Analysis/RegionPass.cpp
>     llvm/trunk/lib/CodeGen/WinEHPrepare.cpp
>     llvm/trunk/lib/MC/MCDwarf.cpp
>     llvm/trunk/lib/Object/COFFObjectFile.cpp
>     llvm/trunk/lib/Target/AArch64/AArch64CollectLOH.cpp
>     llvm/trunk/lib/Transforms/Scalar/StructurizeCFG.cpp
>     llvm/trunk/tools/llvm-cxxdump/llvm-cxxdump.cpp
>     llvm/trunk/utils/TableGen/CodeGenRegisters.cpp
>
> Modified: llvm/trunk/lib/Analysis/RegionPass.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/RegionPass.cpp?rev=234963&r1=234962&r2=234963&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/RegionPass.cpp (original)
> +++ llvm/trunk/lib/Analysis/RegionPass.cpp Tue Apr 14 20:21:15 2015
> @@ -199,7 +199,7 @@ public:
>
>    bool runOnRegion(Region *R, RGPassManager &RGM) override {
>      Out << Banner;
> -    for (const auto &BB : R->blocks()) {
> +    for (const auto *BB : R->blocks()) {
>        if (BB)
>          BB->print(Out);
>        else
>
> Modified: llvm/trunk/lib/CodeGen/WinEHPrepare.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/WinEHPrepare.cpp?rev=234963&r1=234962&r2=234963&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/WinEHPrepare.cpp (original)
> +++ llvm/trunk/lib/CodeGen/WinEHPrepare.cpp Tue Apr 14 20:21:15 2015
> @@ -909,7 +909,7 @@ bool WinEHPrepare::outlineHandler(Action
>      // save the association of the blocks in LPadTargetBlocks.  The
>      // return instructions which are created from these branches will be
>      // replaced after all landing pads have been outlined.
> -    for (const auto &MapEntry : VMap) {
> +    for (const auto MapEntry : VMap) {

What's the deal with this change? Is the type small & trivially
copyable & we're suggesting using values instead of references?

>        // VMap maps all values and blocks that were just cloned, but dead
>        // blocks which were pruned will map to nullptr.
>        if (!isa<BasicBlock>(MapEntry.first) || MapEntry.second == nullptr)
>
> Modified: llvm/trunk/lib/MC/MCDwarf.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCDwarf.cpp?rev=234963&r1=234962&r2=234963&view=diff
> ==============================================================================
> --- llvm/trunk/lib/MC/MCDwarf.cpp (original)
> +++ llvm/trunk/lib/MC/MCDwarf.cpp Tue Apr 14 20:21:15 2015
> @@ -803,7 +803,7 @@ static void EmitGenDwarfRanges(MCStreame
>
>    MCOS->SwitchSection(context.getObjectFileInfo()->getDwarfRangesSection());
>
> -  for (const auto sec : Sections) {
> +  for (const auto &sec : Sections) {
>
>      MCSymbol *StartSymbol = sec.second.first;
>      MCSymbol *EndSymbol = sec.second.second;
>
> Modified: llvm/trunk/lib/Object/COFFObjectFile.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/COFFObjectFile.cpp?rev=234963&r1=234962&r2=234963&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Object/COFFObjectFile.cpp (original)
> +++ llvm/trunk/lib/Object/COFFObjectFile.cpp Tue Apr 14 20:21:15 2015
> @@ -262,7 +262,7 @@ std::error_code COFFObjectFile::getSymbo
>    }
>    const section_iterator SecEnd = section_end();
>    uint64_t AfterAddr = UnknownAddressOrSize;
> -  for (const symbol_iterator &SymbI : symbols()) {
> +  for (const symbol_iterator SymbI : symbols()) {

Drop const if we're dropping ref?

>      section_iterator SecI = SecEnd;
>      if (std::error_code EC = SymbI->getSection(SecI))
>        return EC;
>
> Modified: llvm/trunk/lib/Target/AArch64/AArch64CollectLOH.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64CollectLOH.cpp?rev=234963&r1=234962&r2=234963&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/AArch64/AArch64CollectLOH.cpp (original)
> +++ llvm/trunk/lib/Target/AArch64/AArch64CollectLOH.cpp Tue Apr 14 20:21:15 2015
> @@ -328,7 +328,7 @@ static void initReachingDef(const Machin
>          const uint32_t *PreservedRegs = MO.getRegMask();
>
>          // Set generated regs.
> -        for (const auto Entry : RegToId) {
> +        for (const auto &Entry : RegToId) {
>            unsigned Reg = Entry.second;
>            // Use the global register ID when querying APIs external to this
>            // pass.
>
> Modified: llvm/trunk/lib/Transforms/Scalar/StructurizeCFG.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/StructurizeCFG.cpp?rev=234963&r1=234962&r2=234963&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/StructurizeCFG.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/StructurizeCFG.cpp Tue Apr 14 20:21:15 2015
> @@ -887,7 +887,7 @@ void StructurizeCFG::createFlow() {
>  /// no longer dominate all their uses. Not sure if this is really nessasary
>  void StructurizeCFG::rebuildSSA() {
>    SSAUpdater Updater;
> -  for (const auto &BB : ParentRegion->blocks())
> +  for (auto *BB : ParentRegion->blocks())
>      for (BasicBlock::iterator II = BB->begin(), IE = BB->end();
>           II != IE; ++II) {
>
>
> Modified: llvm/trunk/tools/llvm-cxxdump/llvm-cxxdump.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-cxxdump/llvm-cxxdump.cpp?rev=234963&r1=234962&r2=234963&view=diff
> ==============================================================================
> --- llvm/trunk/tools/llvm-cxxdump/llvm-cxxdump.cpp (original)
> +++ llvm/trunk/tools/llvm-cxxdump/llvm-cxxdump.cpp Tue Apr 14 20:21:15 2015
> @@ -355,7 +355,8 @@ static void dumpCXXData(const ObjectFile
>      StringRef SymName = VFTableEntry.second;
>      outs() << VFTableName << '[' << Offset << "]: " << SymName << '\n';
>    }
> -  for (const std::pair<StringRef, ArrayRef<little32_t>> &VBTable : VBTables) {
> +  for (const std::pair<const StringRef, ArrayRef<little32_t>> &VBTable :

Can probably use 'const auto &' here.

> +       VBTables) {
>      StringRef VBTableName = VBTable.first;
>      uint32_t Idx = 0;
>      for (little32_t Offset : VBTable.second) {
> @@ -363,7 +364,8 @@ static void dumpCXXData(const ObjectFile
>        Idx += sizeof(Offset);
>      }
>    }
> -  for (const std::pair<StringRef, CompleteObjectLocator> &COLPair : COLs) {
> +  for (const std::pair<const StringRef, CompleteObjectLocator> &COLPair :
> +       COLs) {
>      StringRef COLName = COLPair.first;
>      const CompleteObjectLocator &COL = COLPair.second;
>      outs() << COLName << "[IsImageRelative]: " << COL.Data[0] << '\n';
> @@ -373,7 +375,8 @@ static void dumpCXXData(const ObjectFile
>      outs() << COLName << "[ClassHierarchyDescriptor]: " << COL.Symbols[1]
>             << '\n';
>    }
> -  for (const std::pair<StringRef, ClassHierarchyDescriptor> &CHDPair : CHDs) {
> +  for (const std::pair<const StringRef, ClassHierarchyDescriptor> &CHDPair :
> +       CHDs) {
>      StringRef CHDName = CHDPair.first;
>      const ClassHierarchyDescriptor &CHD = CHDPair.second;
>      outs() << CHDName << "[AlwaysZero]: " << CHD.Data[0] << '\n';
> @@ -381,14 +384,14 @@ static void dumpCXXData(const ObjectFile
>      outs() << CHDName << "[NumClasses]: " << CHD.Data[2] << '\n';
>      outs() << CHDName << "[BaseClassArray]: " << CHD.Symbols[0] << '\n';
>    }
> -  for (const std::pair<std::pair<StringRef, uint64_t>, StringRef> &BCAEntry :
> -       BCAEntries) {
> +  for (const std::pair<const std::pair<StringRef, uint64_t>, StringRef>

And "const auto &" here too, I suspect.

> +           &BCAEntry : BCAEntries) {
>      StringRef BCAName = BCAEntry.first.first;
>      uint64_t Offset = BCAEntry.first.second;
>      StringRef SymName = BCAEntry.second;
>      outs() << BCAName << '[' << Offset << "]: " << SymName << '\n';
>    }
> -  for (const std::pair<StringRef, BaseClassDescriptor> &BCDPair : BCDs) {
> +  for (const std::pair<const StringRef, BaseClassDescriptor> &BCDPair : BCDs) {

and here

>      StringRef BCDName = BCDPair.first;
>      const BaseClassDescriptor &BCD = BCDPair.second;
>      outs() << BCDName << "[TypeDescriptor]: " << BCD.Symbols[0] << '\n';
> @@ -400,7 +403,7 @@ static void dumpCXXData(const ObjectFile
>      outs() << BCDName << "[ClassHierarchyDescriptor]: " << BCD.Symbols[1]
>             << '\n';
>    }
> -  for (const std::pair<StringRef, TypeDescriptor> &TDPair : TDs) {
> +  for (const std::pair<const StringRef, TypeDescriptor> &TDPair : TDs) {

and here

>      StringRef TDName = TDPair.first;
>      const TypeDescriptor &TD = TDPair.second;
>      outs() << TDName << "[VFPtr]: " << TD.Symbols[0] << '\n';
> @@ -410,7 +413,7 @@ static void dumpCXXData(const ObjectFile
>                           /*UseHexEscapes=*/true)
>          << '\n';
>    }
> -  for (const std::pair<StringRef, ThrowInfo> &TIPair : TIs) {
> +  for (const std::pair<const StringRef, ThrowInfo> &TIPair : TIs) {

and here

>      StringRef TIName = TIPair.first;
>      const ThrowInfo &TI = TIPair.second;
>      auto dumpThrowInfoFlag = [&](const char *Name, uint32_t Flag) {
> @@ -429,7 +432,7 @@ static void dumpCXXData(const ObjectFile
>      dumpThrowInfoSymbol("ForwardCompat", 8);
>      dumpThrowInfoSymbol("CatchableTypeArray", 12);
>    }
> -  for (const std::pair<StringRef, CatchableTypeArray> &CTAPair : CTAs) {
> +  for (const std::pair<const StringRef, CatchableTypeArray> &CTAPair : CTAs) {

And here

>      StringRef CTAName = CTAPair.first;
>      const CatchableTypeArray &CTA = CTAPair.second;
>
> @@ -441,7 +444,7 @@ static void dumpCXXData(const ObjectFile
>           I != E; ++I)
>        outs() << CTAName << '[' << Idx++ << "]: " << I->second << '\n';
>    }
> -  for (const std::pair<StringRef, CatchableType> &CTPair : CTs) {
> +  for (const std::pair<const StringRef, CatchableType> &CTPair : CTs) {

And here

>      StringRef CTName = CTPair.first;
>      const CatchableType &CT = CTPair.second;
>      auto dumpCatchableTypeFlag = [&](const char *Name, uint32_t Flag) {
> @@ -464,14 +467,14 @@ static void dumpCXXData(const ObjectFile
>             << "[CopyCtor]: " << (CT.Symbols[1].empty() ? "null" : CT.Symbols[1])
>             << '\n';
>    }
> -  for (const std::pair<std::pair<StringRef, uint64_t>, StringRef> &VTTPair :
> -       VTTEntries) {
> +  for (const std::pair<const std::pair<StringRef, uint64_t>, StringRef>

And here

> +           &VTTPair : VTTEntries) {
>      StringRef VTTName = VTTPair.first.first;
>      uint64_t VTTOffset = VTTPair.first.second;
>      StringRef VTTEntry = VTTPair.second;
>      outs() << VTTName << '[' << VTTOffset << "]: " << VTTEntry << '\n';
>    }
> -  for (const std::pair<StringRef, StringRef> &TIPair : TINames) {
> +  for (const std::pair<const StringRef, StringRef> &TIPair : TINames) {

And here

>      StringRef TIName = TIPair.first;
>      outs() << TIName << ": " << TIPair.second << '\n';
>    }
>
> Modified: llvm/trunk/utils/TableGen/CodeGenRegisters.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenRegisters.cpp?rev=234963&r1=234962&r2=234963&view=diff
> ==============================================================================
> --- llvm/trunk/utils/TableGen/CodeGenRegisters.cpp (original)
> +++ llvm/trunk/utils/TableGen/CodeGenRegisters.cpp Tue Apr 14 20:21:15 2015
> @@ -1780,7 +1780,7 @@ void CodeGenRegBank::computeRegUnitLaneM
>        const CodeGenRegister *SubRegister = S->second;
>        unsigned LaneMask = SubRegIndex->LaneMask;
>        // Distribute LaneMask to Register Units touched.
> -      for (const auto &SUI : SubRegister->getRegUnits()) {
> +      for (unsigned SUI : SubRegister->getRegUnits()) {
>          bool Found = false;
>          unsigned u = 0;
>          for (unsigned RU : RegUnits) {
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list