diff options
author | Michael Zolotukhin <mzolotukhin@apple.com> | 2018-04-20 07:56:00 +0000 |
---|---|---|
committer | Michael Zolotukhin <mzolotukhin@apple.com> | 2018-04-20 07:56:00 +0000 |
commit | 79cb54b2d9b81c71667580b7e7835052796276fa (patch) | |
tree | c52c26ad1dc0ebd1de5886c85a761a6bf3aff08d /llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp | |
parent | 45571780617feb60784c7743d718970d2dfe8e5b (diff) | |
download | bcm5719-llvm-79cb54b2d9b81c71667580b7e7835052796276fa.tar.gz bcm5719-llvm-79cb54b2d9b81c71667580b7e7835052796276fa.zip |
[SSAUpdaterBulk] Use SmallVector instead of SmallPtrSet for uses.
llvm-svn: 330398
Diffstat (limited to 'llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp b/llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp index cd264a8c63f..5321b4374cd 100644 --- a/llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp +++ b/llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp @@ -61,7 +61,7 @@ void SSAUpdaterBulk::AddUse(unsigned Var, Use *U) { assert(Rewrites.find(Var) != Rewrites.end() && "Should add variable first!"); DEBUG(dbgs() << "SSAUpdater: Var=" << Var << ": added a use" << *U->get() << " in " << getUserBB(U)->getName() << "\n"); - Rewrites[Var].Uses.insert(U); + Rewrites[Var].Uses.push_back(U); } /// Return true if the SSAUpdater already has a value for the specified variable @@ -171,7 +171,10 @@ void SSAUpdaterBulk::RewriteAllUses(DominatorTree *DT, } // Rewrite actual uses with the inserted definitions. - for (auto U : R.Uses) { + SmallPtrSet<Use *, 4> ProcessedUses; + for (Use *U : R.Uses) { + if (!ProcessedUses.insert(U).second) + continue; Value *V = computeValueAt(getUserBB(U), R, DT); Value *OldVal = U->get(); // Notify that users of the existing value that it is being replaced. |