[PATCH] D77010: [OpenMP] set_bits iterator yields unsigned elements, no reference (NFC).
This revision was automatically updated to reflect the committed changes. Closed by commit rG99913ef3d14f: [OpenMP] set_bits iterator yields unsigned elements, no reference (NFC). (authored by fhahn). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77010/new/ https://reviews.llvm.org/D77010 Files: llvm/lib/Frontend/OpenMP/OMPContext.cpp Index: llvm/lib/Frontend/OpenMP/OMPContext.cpp === --- llvm/lib/Frontend/OpenMP/OMPContext.cpp +++ llvm/lib/Frontend/OpenMP/OMPContext.cpp @@ -79,8 +79,8 @@ LLVM_DEBUG({ dbgs() << "[" << DEBUG_TYPE << "] New OpenMP context with the following properties:\n"; -for (const auto : ActiveTraits.set_bits()) { - TraitProperty Property = TraitProperty(SetBitsIt); +for (unsigned Bit : ActiveTraits.set_bits()) { + TraitProperty Property = TraitProperty(Bit); dbgs() << "\t " << getOpenMPContextTraitPropertyFullName(Property) << "\n"; } @@ -127,8 +127,8 @@ // relation is not required to be strict. if (VMI0.RequiredTraits.count() >= VMI1.RequiredTraits.count()) return false; - for (const auto : VMI0.RequiredTraits.set_bits()) -if (!VMI1.RequiredTraits.test(SetBitsIt)) + for (unsigned Bit : VMI0.RequiredTraits.set_bits()) +if (!VMI1.RequiredTraits.test(Bit)) return false; if (!isSubset(VMI0.ConstructTraits, VMI1.ConstructTraits)) return false; @@ -139,8 +139,8 @@ const VariantMatchInfo , const OMPContext , SmallVectorImpl *ConstructMatches) { - for (const auto : VMI.RequiredTraits.set_bits()) { -TraitProperty Property = TraitProperty(SetBitsIt); + for (unsigned Bit : VMI.RequiredTraits.set_bits()) { +TraitProperty Property = TraitProperty(Bit); bool IsActiveTrait = Ctx.ActiveTraits.test(unsigned(Property)); if (!IsActiveTrait) { @@ -191,8 +191,8 @@ APInt Score(64, 1); unsigned NoConstructTraits = VMI.ConstructTraits.size(); - for (const auto : VMI.RequiredTraits.set_bits()) { -TraitProperty Property = TraitProperty(SetBitsIt); + for (unsigned Bit : VMI.RequiredTraits.set_bits()) { +TraitProperty Property = TraitProperty(Bit); // If there is a user score attached, use it. if (VMI.ScoreMap.count(Property)) { const APInt = VMI.ScoreMap.lookup(Property); Index: llvm/lib/Frontend/OpenMP/OMPContext.cpp === --- llvm/lib/Frontend/OpenMP/OMPContext.cpp +++ llvm/lib/Frontend/OpenMP/OMPContext.cpp @@ -79,8 +79,8 @@ LLVM_DEBUG({ dbgs() << "[" << DEBUG_TYPE << "] New OpenMP context with the following properties:\n"; -for (const auto : ActiveTraits.set_bits()) { - TraitProperty Property = TraitProperty(SetBitsIt); +for (unsigned Bit : ActiveTraits.set_bits()) { + TraitProperty Property = TraitProperty(Bit); dbgs() << "\t " << getOpenMPContextTraitPropertyFullName(Property) << "\n"; } @@ -127,8 +127,8 @@ // relation is not required to be strict. if (VMI0.RequiredTraits.count() >= VMI1.RequiredTraits.count()) return false; - for (const auto : VMI0.RequiredTraits.set_bits()) -if (!VMI1.RequiredTraits.test(SetBitsIt)) + for (unsigned Bit : VMI0.RequiredTraits.set_bits()) +if (!VMI1.RequiredTraits.test(Bit)) return false; if (!isSubset(VMI0.ConstructTraits, VMI1.ConstructTraits)) return false; @@ -139,8 +139,8 @@ const VariantMatchInfo , const OMPContext , SmallVectorImpl *ConstructMatches) { - for (const auto : VMI.RequiredTraits.set_bits()) { -TraitProperty Property = TraitProperty(SetBitsIt); + for (unsigned Bit : VMI.RequiredTraits.set_bits()) { +TraitProperty Property = TraitProperty(Bit); bool IsActiveTrait = Ctx.ActiveTraits.test(unsigned(Property)); if (!IsActiveTrait) { @@ -191,8 +191,8 @@ APInt Score(64, 1); unsigned NoConstructTraits = VMI.ConstructTraits.size(); - for (const auto : VMI.RequiredTraits.set_bits()) { -TraitProperty Property = TraitProperty(SetBitsIt); + for (unsigned Bit : VMI.RequiredTraits.set_bits()) { +TraitProperty Property = TraitProperty(Bit); // If there is a user score attached, use it. if (VMI.ScoreMap.count(Property)) { const APInt = VMI.ScoreMap.lookup(Property); ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D77010: [OpenMP] set_bits iterator yields unsigned elements, no reference (NFC).
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. Lgtm, thanks, I was seeing this locally Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77010/new/ https://reviews.llvm.org/D77010 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D77010: [OpenMP] set_bits iterator yields unsigned elements, no reference (NFC).
fhahn created this revision. fhahn added reviewers: jdoerfert, rnk. Herald added subscribers: llvm-commits, guansong, hiraditya. Herald added a project: LLVM. BitVector::set_bits() returns an iterator range yielding unsinged elements, which always will be copied while const & gives the impression that there will be no copy. Newer version of clang complain: warning: loop variable 'SetBitsIt' is always a copy because the range of type 'iterator_range' (aka 'iterator_range >') does not return a reference [-Wrange-loop-analysis] Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D77010 Files: llvm/lib/Frontend/OpenMP/OMPContext.cpp Index: llvm/lib/Frontend/OpenMP/OMPContext.cpp === --- llvm/lib/Frontend/OpenMP/OMPContext.cpp +++ llvm/lib/Frontend/OpenMP/OMPContext.cpp @@ -79,8 +79,8 @@ LLVM_DEBUG({ dbgs() << "[" << DEBUG_TYPE << "] New OpenMP context with the following properties:\n"; -for (const auto : ActiveTraits.set_bits()) { - TraitProperty Property = TraitProperty(SetBitsIt); +for (unsigned Bit : ActiveTraits.set_bits()) { + TraitProperty Property = TraitProperty(Bit); dbgs() << "\t " << getOpenMPContextTraitPropertyFullName(Property) << "\n"; } @@ -127,8 +127,8 @@ // relation is not required to be strict. if (VMI0.RequiredTraits.count() >= VMI1.RequiredTraits.count()) return false; - for (const auto : VMI0.RequiredTraits.set_bits()) -if (!VMI1.RequiredTraits.test(SetBitsIt)) + for (unsigned Bit : VMI0.RequiredTraits.set_bits()) +if (!VMI1.RequiredTraits.test(Bit)) return false; if (!isSubset(VMI0.ConstructTraits, VMI1.ConstructTraits)) return false; @@ -139,8 +139,8 @@ const VariantMatchInfo , const OMPContext , SmallVectorImpl *ConstructMatches) { - for (const auto : VMI.RequiredTraits.set_bits()) { -TraitProperty Property = TraitProperty(SetBitsIt); + for (unsigned Bit : VMI.RequiredTraits.set_bits()) { +TraitProperty Property = TraitProperty(Bit); bool IsActiveTrait = Ctx.ActiveTraits.test(unsigned(Property)); if (!IsActiveTrait) { @@ -191,8 +191,8 @@ APInt Score(64, 1); unsigned NoConstructTraits = VMI.ConstructTraits.size(); - for (const auto : VMI.RequiredTraits.set_bits()) { -TraitProperty Property = TraitProperty(SetBitsIt); + for (unsigned Bit : VMI.RequiredTraits.set_bits()) { +TraitProperty Property = TraitProperty(Bit); // If there is a user score attached, use it. if (VMI.ScoreMap.count(Property)) { const APInt = VMI.ScoreMap.lookup(Property); Index: llvm/lib/Frontend/OpenMP/OMPContext.cpp === --- llvm/lib/Frontend/OpenMP/OMPContext.cpp +++ llvm/lib/Frontend/OpenMP/OMPContext.cpp @@ -79,8 +79,8 @@ LLVM_DEBUG({ dbgs() << "[" << DEBUG_TYPE << "] New OpenMP context with the following properties:\n"; -for (const auto : ActiveTraits.set_bits()) { - TraitProperty Property = TraitProperty(SetBitsIt); +for (unsigned Bit : ActiveTraits.set_bits()) { + TraitProperty Property = TraitProperty(Bit); dbgs() << "\t " << getOpenMPContextTraitPropertyFullName(Property) << "\n"; } @@ -127,8 +127,8 @@ // relation is not required to be strict. if (VMI0.RequiredTraits.count() >= VMI1.RequiredTraits.count()) return false; - for (const auto : VMI0.RequiredTraits.set_bits()) -if (!VMI1.RequiredTraits.test(SetBitsIt)) + for (unsigned Bit : VMI0.RequiredTraits.set_bits()) +if (!VMI1.RequiredTraits.test(Bit)) return false; if (!isSubset(VMI0.ConstructTraits, VMI1.ConstructTraits)) return false; @@ -139,8 +139,8 @@ const VariantMatchInfo , const OMPContext , SmallVectorImpl *ConstructMatches) { - for (const auto : VMI.RequiredTraits.set_bits()) { -TraitProperty Property = TraitProperty(SetBitsIt); + for (unsigned Bit : VMI.RequiredTraits.set_bits()) { +TraitProperty Property = TraitProperty(Bit); bool IsActiveTrait = Ctx.ActiveTraits.test(unsigned(Property)); if (!IsActiveTrait) { @@ -191,8 +191,8 @@ APInt Score(64, 1); unsigned NoConstructTraits = VMI.ConstructTraits.size(); - for (const auto : VMI.RequiredTraits.set_bits()) { -TraitProperty Property = TraitProperty(SetBitsIt); + for (unsigned Bit : VMI.RequiredTraits.set_bits()) { +TraitProperty Property = TraitProperty(Bit); // If there is a user score attached, use it. if (VMI.ScoreMap.count(Property)) { const APInt = VMI.ScoreMap.lookup(Property); ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits