From e194cd6d03d91631334d9d5e55b506036f423cc8 Mon Sep 17 00:00:00 2001 From: dim Date: Wed, 30 Dec 2015 11:46:15 +0000 Subject: Vendor import of llvm trunk r256633: https://llvm.org/svn/llvm-project/llvm/trunk@256633 --- lib/MC/MCSubtargetInfo.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'lib/MC/MCSubtargetInfo.cpp') diff --git a/lib/MC/MCSubtargetInfo.cpp b/lib/MC/MCSubtargetInfo.cpp index 9210cf5..dc864d3 100644 --- a/lib/MC/MCSubtargetInfo.cpp +++ b/lib/MC/MCSubtargetInfo.cpp @@ -32,8 +32,8 @@ void MCSubtargetInfo::InitMCProcessorInfo(StringRef CPU, StringRef FS) { CPUSchedModel = &MCSchedModel::GetDefaultSchedModel(); } -void MCSubtargetInfo::setDefaultFeatures(StringRef CPU) { - FeatureBits = getFeatures(CPU, "", ProcDesc, ProcFeatures); +void MCSubtargetInfo::setDefaultFeatures(StringRef CPU, StringRef FS) { + FeatureBits = getFeatures(CPU, FS, ProcDesc, ProcFeatures); } MCSubtargetInfo::MCSubtargetInfo( @@ -77,13 +77,12 @@ FeatureBitset MCSubtargetInfo::ApplyFeatureFlag(StringRef FS) { const MCSchedModel &MCSubtargetInfo::getSchedModelForCPU(StringRef CPU) const { assert(ProcSchedModels && "Processor machine model not available!"); - unsigned NumProcs = ProcDesc.size(); -#ifndef NDEBUG - for (size_t i = 1; i < NumProcs; i++) { - assert(strcmp(ProcSchedModels[i - 1].Key, ProcSchedModels[i].Key) < 0 && - "Processor machine model table is not sorted"); - } -#endif + size_t NumProcs = ProcDesc.size(); + assert(std::is_sorted(ProcSchedModels, ProcSchedModels+NumProcs, + [](const SubtargetInfoKV &LHS, const SubtargetInfoKV &RHS) { + return strcmp(LHS.Key, RHS.Key) < 0; + }) && + "Processor machine model table is not sorted"); // Find entry const SubtargetInfoKV *Found = -- cgit v1.1