[llvm-commits] [llvm] r163480 - /llvm/trunk/lib/Transforms/Scalar/DeadStoreElimination.cpp

Benjamin Kramer benny.kra at googlemail.com
Sun Sep 9 09:44:06 PDT 2012


Author: d0k
Date: Sun Sep  9 11:44:05 2012
New Revision: 163480

URL: http://llvm.org/viewvc/llvm-project?rev=163480&view=rev
Log:
DSE: Poking holes into a SetVector is expensive, avoid it if possible.

Modified:
    llvm/trunk/lib/Transforms/Scalar/DeadStoreElimination.cpp

Modified: llvm/trunk/lib/Transforms/Scalar/DeadStoreElimination.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/DeadStoreElimination.cpp?rev=163480&r1=163479&r2=163480&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/DeadStoreElimination.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/DeadStoreElimination.cpp Sun Sep  9 11:44:05 2012
@@ -775,15 +775,15 @@
           LiveAllocas.push_back(*I);
       }
 
-      for (SmallVector<Value*, 8>::iterator I = LiveAllocas.begin(),
-           E = LiveAllocas.end(); I != E; ++I)
-        DeadStackObjects.remove(*I);
-
       // If all of the allocas were clobbered by the call then we're not going
       // to find anything else to process.
-      if (DeadStackObjects.empty())
+      if (DeadStackObjects.size() == LiveAllocas.size())
         break;
 
+      for (SmallVector<Value*, 8>::iterator I = LiveAllocas.begin(),
+           E = LiveAllocas.end(); I != E; ++I)
+        DeadStackObjects.remove(*I);
+
       continue;
     }
 





More information about the llvm-commits mailing list