[PATCH] D77010: [OpenMP] set_bits iterator yields unsigned elements, no reference (NFC).

2020-03-29 Thread Florian Hahn via Phabricator via cfe-commits
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).

2020-03-29 Thread Reid Kleckner via Phabricator via cfe-commits
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).

2020-03-29 Thread Florian Hahn via Phabricator via cfe-commits
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