mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-30 16:17:05 +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:
		| @@ -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. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user