Skip to content

Commit

Permalink
LSR: Minor cleanup after Daniel's patch.
Browse files Browse the repository at this point in the history
Combine the Inserted an Done sets into a Visited set.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220623 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
atrick committed Oct 25, 2014
1 parent abb11dd commit 916ba45
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions lib/Transforms/Scalar/LoopStrengthReduce.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3116,14 +3116,13 @@ bool LSRInstance::InsertFormula(LSRUse &LU, unsigned LUIdx, const Formula &F) {
void
LSRInstance::CollectLoopInvariantFixupsAndFormulae() {
SmallVector<const SCEV *, 8> Worklist(RegUses.begin(), RegUses.end());
SmallPtrSet<const SCEV *, 8> Inserted;
SmallPtrSet<const SCEV *, 32> Done;
SmallPtrSet<const SCEV *, 32> Visited;

while (!Worklist.empty()) {
const SCEV *S = Worklist.pop_back_val();

// Don't process the same SCEV twice
if (!Done.insert(S))
if (!Visited.insert(S))
continue;

if (const SCEVNAryExpr *N = dyn_cast<SCEVNAryExpr>(S))
Expand All @@ -3134,7 +3133,6 @@ LSRInstance::CollectLoopInvariantFixupsAndFormulae() {
Worklist.push_back(D->getLHS());
Worklist.push_back(D->getRHS());
} else if (const SCEVUnknown *US = dyn_cast<SCEVUnknown>(S)) {
if (!Inserted.insert(US)) continue;
const Value *V = US->getValue();
if (const Instruction *Inst = dyn_cast<Instruction>(V)) {
// Look for instructions defined outside the loop.
Expand Down

0 comments on commit 916ba45

Please sign in to comment.