diff --git a/lib/Transforms/Scalar/LoopUnrollPass.cpp b/lib/Transforms/Scalar/LoopUnrollPass.cpp index ccc4a248476..0851f436904 100644 --- a/lib/Transforms/Scalar/LoopUnrollPass.cpp +++ b/lib/Transforms/Scalar/LoopUnrollPass.cpp @@ -456,7 +456,7 @@ public: // values for the given Iteration. // Fill in SimplifiedValues map for future use in DCE-estimation. unsigned estimateNumberOfSimplifiedInstructions(unsigned Iteration) { - SmallVector Worklist; + SmallSetVector Worklist; SimplifiedValues.clear(); CountedInstructions.clear(); NumberOfOptimizedInstructions = 0; @@ -474,7 +474,7 @@ public: continue; if (!L->contains(UI)) continue; - Worklist.push_back(UI); + Worklist.insert(UI); } } @@ -491,7 +491,7 @@ public: continue; if (!L->contains(UI)) continue; - Worklist.push_back(UI); + Worklist.insert(UI); } } return NumberOfOptimizedInstructions;