Index: include/llvm/Analysis/VectorUtils.h =================================================================== --- include/llvm/Analysis/VectorUtils.h +++ include/llvm/Analysis/VectorUtils.h @@ -121,7 +121,7 @@ /// /// If the optional TargetTransformInfo is provided, this function tries harder /// to do less work by only looking at illegal types. -DenseMap +std::map computeMinimumValueSizes(ArrayRef Blocks, DemandedBits &DB, const TargetTransformInfo *TTI=nullptr); Index: lib/Analysis/VectorUtils.cpp =================================================================== --- lib/Analysis/VectorUtils.cpp +++ lib/Analysis/VectorUtils.cpp @@ -438,7 +438,7 @@ return InsertEltInst->getOperand(1); } -DenseMap +std::map llvm::computeMinimumValueSizes(ArrayRef Blocks, DemandedBits &DB, const TargetTransformInfo *TTI) { @@ -451,7 +451,7 @@ SmallPtrSet Visited; DenseMap DBits; SmallPtrSet InstructionSet; - DenseMap MinBWs; + std::map MinBWs; // Determine the roots. We work bottom-up, from truncs or icmps. bool SeenExtFromIllegalType = false; @@ -497,7 +497,7 @@ // If we encounter a type that is larger than 64 bits, we can't represent // it so bail out. if (DB.getDemandedBits(I).getBitWidth() > 64) - return DenseMap(); + return std::map(); uint64_t V = DB.getDemandedBits(I).getZExtValue(); DBits[Leader] |= V; Index: lib/Transforms/Vectorize/LoopVectorize.cpp =================================================================== --- lib/Transforms/Vectorize/LoopVectorize.cpp +++ lib/Transforms/Vectorize/LoopVectorize.cpp @@ -325,7 +325,7 @@ // can be validly truncated to. The cost model has assumed this truncation // will happen when vectorizing. void vectorize(LoopVectorizationLegality *L, - DenseMap MinimumBitWidths) { + std::map MinimumBitWidths) { MinBWs = MinimumBitWidths; Legal = L; // Create a new empty loop. Unlink the old loop and connect the new one. @@ -546,7 +546,7 @@ /// Map of scalar integer values to the smallest bitwidth they can be legally /// represented as. The vector equivalents of these values should be truncated /// to this type. - DenseMap MinBWs; + std::map MinBWs; LoopVectorizationLegality *Legal; // Record whether runtime check is added. @@ -1501,7 +1501,7 @@ /// Map of scalar integer values to the smallest bitwidth they can be legally /// represented as. The vector equivalents of these values should be truncated /// to this type. - DenseMap MinBWs; + std::map MinBWs; /// The loop that we evaluate. Loop *TheLoop;