mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-03-04 08:27:50 +00:00
[ComplexDeinterleaving] Use MapVector to fix codegen non-determinism.
This commit is contained in:
parent
8cd4ecfa60
commit
4c9223c770
@ -60,6 +60,7 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#include "llvm/CodeGen/ComplexDeinterleavingPass.h"
|
#include "llvm/CodeGen/ComplexDeinterleavingPass.h"
|
||||||
|
#include "llvm/ADT/MapVector.h"
|
||||||
#include "llvm/ADT/Statistic.h"
|
#include "llvm/ADT/Statistic.h"
|
||||||
#include "llvm/Analysis/TargetLibraryInfo.h"
|
#include "llvm/Analysis/TargetLibraryInfo.h"
|
||||||
#include "llvm/Analysis/TargetTransformInfo.h"
|
#include "llvm/Analysis/TargetTransformInfo.h"
|
||||||
@ -258,7 +259,7 @@ private:
|
|||||||
///
|
///
|
||||||
/// %OutsideUser can be `llvm.vector.reduce.fadd` or `fadd` preceding
|
/// %OutsideUser can be `llvm.vector.reduce.fadd` or `fadd` preceding
|
||||||
/// `llvm.vector.reduce.fadd` when unroll factor isn't one.
|
/// `llvm.vector.reduce.fadd` when unroll factor isn't one.
|
||||||
std::map<Instruction *, std::pair<PHINode *, Instruction *>> ReductionInfo;
|
MapVector<Instruction *, std::pair<PHINode *, Instruction *>> ReductionInfo;
|
||||||
|
|
||||||
/// In the process of detecting a reduction, we consider a pair of
|
/// In the process of detecting a reduction, we consider a pair of
|
||||||
/// %ReductionOP, which we refer to as real and imag (or vice versa), and
|
/// %ReductionOP, which we refer to as real and imag (or vice versa), and
|
||||||
|
Loading…
x
Reference in New Issue
Block a user