diff options
author | Christian Konig <christian.koenig@amd.com> | 2013-03-26 10:24:20 +0000 |
---|---|---|
committer | Christian Konig <christian.koenig@amd.com> | 2013-03-26 10:24:20 +0000 |
commit | 90b45124cdb383e6b2b813d57e2eefc0caa985fc (patch) | |
tree | 463a8cce9bbabe5552c83448bcad4455a6ec8b7d /llvm | |
parent | 7ef76c1cd8a473977a2b99143b762d61ec265ebc (diff) | |
download | bcm5719-llvm-90b45124cdb383e6b2b813d57e2eefc0caa985fc.tar.gz bcm5719-llvm-90b45124cdb383e6b2b813d57e2eefc0caa985fc.zip |
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>
llvm-svn: 177999
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Target/R600/AMDGPUStructurizeCFG.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/R600/AMDGPUStructurizeCFG.cpp b/llvm/lib/Target/R600/AMDGPUStructurizeCFG.cpp index b723433c161..dea43b874c6 100644 --- a/llvm/lib/Target/R600/AMDGPUStructurizeCFG.cpp +++ b/llvm/lib/Target/R600/AMDGPUStructurizeCFG.cpp @@ -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. |