switch a couple more calls to use array_pod_sort.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60337 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2008-12-01 06:52:57 +00:00
parent 4329c42840
commit a3522000ab
2 changed files with 5 additions and 3 deletions

View File

@ -17,6 +17,7 @@
#include "llvm/Pass.h" #include "llvm/Pass.h"
#include "llvm/ADT/DenseMap.h" #include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/Statistic.h" #include "llvm/ADT/Statistic.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Analysis/ConstantFolding.h" #include "llvm/Analysis/ConstantFolding.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h" #include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Transforms/Utils/Local.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 // 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. // 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. // Create a PHI node at the start of the block for the PRE'd load value.
PHINode *PN = PHINode::Create(LI->getType(), "", LoadBB->begin()); PHINode *PN = PHINode::Create(LI->getType(), "", LoadBB->begin());

View File

@ -41,6 +41,7 @@
#include "llvm/Transforms/Utils/BasicBlockUtils.h" #include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/ADT/Statistic.h" #include "llvm/ADT/Statistic.h"
#include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/CommandLine.h" #include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h" #include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h" #include "llvm/Support/Debug.h"
@ -834,14 +835,14 @@ void LoopUnswitch::RemoveBlockIfDead(BasicBlock *BB,
// Remove phi node entries in successors for this block. // Remove phi node entries in successors for this block.
TerminatorInst *TI = BB->getTerminator(); TerminatorInst *TI = BB->getTerminator();
std::vector<BasicBlock*> Succs; SmallVector<BasicBlock*, 4> Succs;
for (unsigned i = 0, e = TI->getNumSuccessors(); i != e; ++i) { for (unsigned i = 0, e = TI->getNumSuccessors(); i != e; ++i) {
Succs.push_back(TI->getSuccessor(i)); Succs.push_back(TI->getSuccessor(i));
TI->getSuccessor(i)->removePredecessor(BB); TI->getSuccessor(i)->removePredecessor(BB);
} }
// Unique the successors, remove anything with multiple uses. // 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()); Succs.erase(std::unique(Succs.begin(), Succs.end()), Succs.end());
// Remove the basic block, including all of the instructions contained in it. // Remove the basic block, including all of the instructions contained in it.