[MachineOutliner][NFC] Move yet another std::vector out of a loop
authorJessica Paquette <jpaquette@apple.com>
Thu, 6 Dec 2018 00:26:21 +0000 (00:26 +0000)
committerJessica Paquette <jpaquette@apple.com>
Thu, 6 Dec 2018 00:26:21 +0000 (00:26 +0000)
Once again, following the wisdom of the LLVM Programmer's Manual.

I think that's enough refactoring for today. :)

llvm-svn: 348439

llvm/lib/CodeGen/MachineOutliner.cpp

index c5f4766..a99f85f 100644 (file)
@@ -519,18 +519,19 @@ public:
       RS = RepeatedSubstring();
       N = nullptr;
 
+      // Each leaf node represents a repeat of a string.
+      std::vector<SuffixTreeNode *> LeafChildren;
+
       // Continue visiting nodes until we find one which repeats more than once.
       while (!ToVisit.empty()) {
         SuffixTreeNode *Curr = ToVisit.back();
         ToVisit.pop_back();
+        LeafChildren.clear();
 
         // Keep track of the length of the string associated with the node. If
         // it's too short, we'll quit.
         unsigned Length = Curr->ConcatLen;
 
-        // Each leaf node represents a repeat of a string.
-        std::vector<SuffixTreeNode *> LeafChildren;
-
         // Iterate over each child, saving internal nodes for visiting, and
         // leaf nodes in LeafChildren. Internal nodes represent individual
         // strings, which may repeat.