[unroll] Make range based for loops a bit more explicit and more
readable.
The biggest thing that was causing me problems is recognizing the
references vs. poniters here. I also found that for maps naming the loop
variable as KeyValue helps make it obvious why you don't actually use it
directly. Finally, using 'auto' instead of 'User *' doesn't seem like
a good tradeoff. Much like with the other cases, I like to know its
a pointer, and 'User' is just as long and tells the reader a lot more.
llvm-svn: 229033
diff --git a/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp b/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
index aabdf06..66e59f3 100644
--- a/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
@@ -461,13 +461,13 @@
NumberOfOptimizedInstructions = 0;
// We start by adding all loads to the worklist.
- for (auto LoadDescr : LoadBaseAddresses) {
+ for (auto &LoadDescr : LoadBaseAddresses) {
LoadInst *LI = LoadDescr.first;
SimplifiedValues[LI] = computeLoadValue(LI, Iteration);
if (CountedInstructions.insert(LI).second)
NumberOfOptimizedInstructions += TTI.getUserCost(LI);
- for (auto U : LI->users()) {
+ for (User *U : LI->users()) {
Instruction *UI = dyn_cast<Instruction>(U);
if (!UI)
continue;
@@ -484,7 +484,7 @@
Instruction *I = Worklist.pop_back_val();
if (!visit(I))
continue;
- for (auto U : I->users()) {
+ for (User *U : I->users()) {
Instruction *UI = dyn_cast<Instruction>(U);
if (!UI)
continue;
@@ -504,8 +504,8 @@
SmallPtrSet<Instruction *, 16> DeadInstructions;
// Start by initializing worklist with simplified instructions.
- for (auto Folded : SimplifiedValues)
- if (auto FoldedInst = dyn_cast<Instruction>(Folded.first)) {
+ for (auto &FoldedKeyValue : SimplifiedValues)
+ if (auto *FoldedInst = dyn_cast<Instruction>(FoldedKeyValue.first)) {
Worklist.push_back(FoldedInst);
DeadInstructions.insert(FoldedInst);
}
@@ -516,7 +516,7 @@
while (!Worklist.empty()) {
Instruction *FoldedInst = Worklist.pop_back_val();
for (Value *Op : FoldedInst->operands()) {
- if (auto I = dyn_cast<Instruction>(Op)) {
+ if (auto *I = dyn_cast<Instruction>(Op)) {
if (!L->contains(I))
continue;
if (SimplifiedValues[I])
@@ -524,7 +524,7 @@
if (I->getNumUses() == 0)
continue;
bool AllUsersFolded = true;
- for (auto U : I->users()) {
+ for (User *U : I->users()) {
Instruction *UI = dyn_cast<Instruction>(U);
if (!SimplifiedValues[UI] && !DeadInstructions.count(UI)) {
AllUsersFolded = false;