mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
R600: fix DenseMap with pointer key iteration in the structurizer
Use a MapVector on types where the iteration order matters. Otherwise we doesn't always produce a deterministic output. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177999 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3fbb8408db
commit
43770272fb
@ -17,6 +17,7 @@
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "llvm/ADT/SCCIterator.h"
|
||||
#include "llvm/ADT/MapVector.h"
|
||||
#include "llvm/Analysis/RegionInfo.h"
|
||||
#include "llvm/Analysis/RegionIterator.h"
|
||||
#include "llvm/Analysis/RegionPass.h"
|
||||
@ -40,13 +41,14 @@ typedef SmallVector<BBValuePair, 2> BBValueVector;
|
||||
|
||||
typedef SmallPtrSet<BasicBlock *, 8> BBSet;
|
||||
|
||||
typedef DenseMap<PHINode *, BBValueVector> PhiMap;
|
||||
typedef MapVector<PHINode *, BBValueVector> PhiMap;
|
||||
typedef MapVector<BasicBlock *, BBVector> BB2BBVecMap;
|
||||
|
||||
typedef DenseMap<DomTreeNode *, unsigned> DTN2UnsignedMap;
|
||||
typedef DenseMap<BasicBlock *, PhiMap> BBPhiMap;
|
||||
typedef DenseMap<BasicBlock *, Value *> BBPredicates;
|
||||
typedef DenseMap<BasicBlock *, BBPredicates> PredMap;
|
||||
typedef DenseMap<BasicBlock *, BasicBlock*> BB2BBMap;
|
||||
typedef DenseMap<BasicBlock *, BBVector> BB2BBVecMap;
|
||||
|
||||
// The name for newly created blocks.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user