switch a couple more calls to use array_pod_sort.
authorChris Lattner <sabre@nondot.org>
Mon, 1 Dec 2008 06:52:57 +0000 (06:52 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 1 Dec 2008 06:52:57 +0000 (06:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60337 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/JumpThreading.cpp
lib/Transforms/Scalar/LoopUnswitch.cpp

index 35b73beade5e8ae805912fa7d70c5a3246294389..0a02351a7b86603ee8bef6ed4e7920a767474325 100644 (file)
@@ -17,6 +17,7 @@
 #include "llvm/Pass.h"
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/Statistic.h"
+#include "llvm/ADT/STLExtras.h"
 #include "llvm/Analysis/ConstantFolding.h"
 #include "llvm/Transforms/Utils/BasicBlockUtils.h"
 #include "llvm/Transforms/Utils/Local.h"
@@ -380,7 +381,7 @@ bool JumpThreading::SimplifyPartiallyRedundantLoad(LoadInst *LI) {
   
   // Now we know that each predecessor of this block has a value in
   // AvailablePreds, sort them for efficient access as we're walking the preds.
-  std::sort(AvailablePreds.begin(), AvailablePreds.end());
+  array_pod_sort(AvailablePreds.begin(), AvailablePreds.end());
   
   // Create a PHI node at the start of the block for the PRE'd load value.
   PHINode *PN = PHINode::Create(LI->getType(), "", LoadBB->begin());
index 31e875275b86ed65a4723613c1125812085468c3..2bf194dbb73175966f49a44ad83f30c483ce1c74 100644 (file)
@@ -41,6 +41,7 @@
 #include "llvm/Transforms/Utils/BasicBlockUtils.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/ADT/SmallPtrSet.h"
+#include "llvm/ADT/STLExtras.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/Debug.h"
@@ -834,14 +835,14 @@ void LoopUnswitch::RemoveBlockIfDead(BasicBlock *BB,
   
   // Remove phi node entries in successors for this block.
   TerminatorInst *TI = BB->getTerminator();
-  std::vector<BasicBlock*> Succs;
+  SmallVector<BasicBlock*, 4> Succs;
   for (unsigned i = 0, e = TI->getNumSuccessors(); i != e; ++i) {
     Succs.push_back(TI->getSuccessor(i));
     TI->getSuccessor(i)->removePredecessor(BB);
   }
   
   // Unique the successors, remove anything with multiple uses.
-  std::sort(Succs.begin(), Succs.end());
+  array_pod_sort(Succs.begin(), Succs.end());
   Succs.erase(std::unique(Succs.begin(), Succs.end()), Succs.end());
   
   // Remove the basic block, including all of the instructions contained in it.