Skip to content

Commit 4c9223c

Browse files
committed
[ComplexDeinterleaving] Use MapVector to fix codegen non-determinism.
1 parent 8cd4ecf commit 4c9223c

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
//===----------------------------------------------------------------------===//
6161

6262
#include "llvm/CodeGen/ComplexDeinterleavingPass.h"
63+
#include "llvm/ADT/MapVector.h"
6364
#include "llvm/ADT/Statistic.h"
6465
#include "llvm/Analysis/TargetLibraryInfo.h"
6566
#include "llvm/Analysis/TargetTransformInfo.h"
@@ -258,7 +259,7 @@ class ComplexDeinterleavingGraph {
258259
///
259260
/// %OutsideUser can be `llvm.vector.reduce.fadd` or `fadd` preceding
260261
/// `llvm.vector.reduce.fadd` when unroll factor isn't one.
261-
std::map<Instruction *, std::pair<PHINode *, Instruction *>> ReductionInfo;
262+
MapVector<Instruction *, std::pair<PHINode *, Instruction *>> ReductionInfo;
262263

263264
/// In the process of detecting a reduction, we consider a pair of
264265
/// %ReductionOP, which we refer to as real and imag (or vice versa), and

0 commit comments

Comments
 (0)