mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
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:
parent
4329c42840
commit
a3522000ab
@ -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());
|
||||||
|
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user