Use "const auto &" in range based for loops
This previous code added in r216842 most likely created unnecessary copies.
Reported-by: Duncan P. N. Exon Smith <dexonsmith@apple.com>
llvm-svn: 217507
diff --git a/polly/lib/CodeGen/CodeGeneration.cpp b/polly/lib/CodeGen/CodeGeneration.cpp
index f215e57..c9f7c3f 100644
--- a/polly/lib/CodeGen/CodeGeneration.cpp
+++ b/polly/lib/CodeGen/CodeGeneration.cpp
@@ -488,7 +488,7 @@
// Copy the current value map into all vector maps if the key wasn't
// available yet. This is needed in case vector codegen is performed in
// OpenMP subfunctions.
- for (auto KV : ValueMap)
+ for (const auto &KV : ValueMap)
for (int i = 0; i < VectorDimensions; ++i)
VectorMap[i].insert(KV);
@@ -561,7 +561,7 @@
SetVector<Value *> Values;
// The clast variables
- for (auto I : ClastVars)
+ for (const auto &I : ClastVars)
Values.insert(I.second);
// Find the temporaries that are referenced in the clast statements'
@@ -583,12 +583,12 @@
ClastStmtCodeGen::updateWithValueMap(OMPGenerator::ValueToValueMapTy &VMap) {
std::set<Value *> Inserted;
- for (auto I : ClastVars) {
+ for (const auto &I : ClastVars) {
ClastVars[I.first] = VMap[I.second];
Inserted.insert(I.second);
}
- for (auto I : VMap) {
+ for (const auto &I : VMap) {
if (Inserted.count(I.first))
continue;
@@ -1060,7 +1060,7 @@
}
virtual void printScop(raw_ostream &OS) const {
- for (auto PI : ParallelLoops)
+ for (const auto &PI : ParallelLoops)
OS << "Parallel loop with iterator '" << PI << "' generated\n";
}