diff options
| -rw-r--r-- | llvm/lib/Analysis/MemoryDependenceAnalysis.cpp | 6 | ||||
| -rw-r--r-- | llvm/lib/Analysis/TargetLibraryInfo.cpp | 13 | ||||
| -rw-r--r-- | llvm/lib/IR/Attributes.cpp | 17 | ||||
| -rw-r--r-- | llvm/lib/Target/ARM/ARMConstantIslandPass.cpp | 12 | 
4 files changed, 23 insertions, 25 deletions
diff --git a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp index 3e80bfe1fdf..d1484be0f6f 100644 --- a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp +++ b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp @@ -792,10 +792,8 @@ MemDepResult MemoryDependenceAnalysis::getDependency(Instruction *QueryInst) {  static void AssertSorted(MemoryDependenceAnalysis::NonLocalDepInfo &Cache,                           int Count = -1) {    if (Count == -1) Count = Cache.size(); -  if (Count == 0) return; - -  for (unsigned i = 1; i != unsigned(Count); ++i) -    assert(!(Cache[i] < Cache[i-1]) && "Cache isn't sorted!"); +  assert(std::is_sorted(Cache.begin(), Cache.begin() + Count) && +         "Cache isn't sorted!");  }  #endif diff --git a/llvm/lib/Analysis/TargetLibraryInfo.cpp b/llvm/lib/Analysis/TargetLibraryInfo.cpp index e00f4aed07f..ce388192562 100644 --- a/llvm/lib/Analysis/TargetLibraryInfo.cpp +++ b/llvm/lib/Analysis/TargetLibraryInfo.cpp @@ -52,14 +52,13 @@ static bool hasSinCosPiStret(const Triple &T) {  /// specified target triple.  This should be carefully written so that a missing  /// target triple gets a sane set of defaults.  static void initialize(TargetLibraryInfoImpl &TLI, const Triple &T, -                       const char *const *StandardNames) { -#ifndef NDEBUG +                       ArrayRef<const char *> StandardNames) {    // Verify that the StandardNames array is in alphabetical order. -  for (unsigned F = 1; F < LibFunc::NumLibFuncs; ++F) { -    if (strcmp(StandardNames[F-1], StandardNames[F]) >= 0) -      llvm_unreachable("TargetLibraryInfoImpl function names must be sorted"); -  } -#endif // !NDEBUG +  assert(std::is_sorted(StandardNames.begin(), StandardNames.end(), +                        [](const char *LHS, const char *RHS) { +                          return strcmp(LHS, RHS) < 0; +                        }) && +         "TargetLibraryInfoImpl function names must be sorted");    if (T.getArch() == Triple::r600 ||        T.getArch() == Triple::amdgcn) { diff --git a/llvm/lib/IR/Attributes.cpp b/llvm/lib/IR/Attributes.cpp index bcf7dc365ce..6c01bb64562 100644 --- a/llvm/lib/IR/Attributes.cpp +++ b/llvm/lib/IR/Attributes.cpp @@ -641,14 +641,15 @@ AttributeSet AttributeSet::get(LLVMContext &C,    if (Attrs.empty())      return AttributeSet(); -#ifndef NDEBUG -  for (unsigned i = 0, e = Attrs.size(); i != e; ++i) { -    assert((!i || Attrs[i-1].first <= Attrs[i].first) && -           "Misordered Attributes list!"); -    assert(!Attrs[i].second.hasAttribute(Attribute::None) && -           "Pointless attribute!"); -  } -#endif +  assert(std::is_sorted(Attrs.begin(), Attrs.end(), +                        [](const std::pair<unsigned, Attribute> &LHS, +                           const std::pair<unsigned, Attribute> &RHS) { +                          return LHS.first < RHS.first; +                        }) && "Misordered Attributes list!"); +  assert(std::none_of(Attrs.begin(), Attrs.end(), +                      [](const std::pair<unsigned, Attribute> &Pair) { +                        return Pair.second.hasAttribute(Attribute::None); +                      }) && "Pointless attribute!");    // Create a vector if (unsigned, AttributeSetNode*) pairs from the attributes    // list. diff --git a/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp b/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp index e89757c19ec..55c1684028c 100644 --- a/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp +++ b/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp @@ -340,12 +340,12 @@ namespace {  /// verify - check BBOffsets, BBSizes, alignment of islands  void ARMConstantIslands::verify() {  #ifndef NDEBUG -  for (MachineFunction::iterator MBBI = MF->begin(), E = MF->end(); -       MBBI != E; ++MBBI) { -    MachineBasicBlock *MBB = &*MBBI; -    unsigned MBBId = MBB->getNumber(); -    assert(!MBBId || BBInfo[MBBId - 1].postOffset() <= BBInfo[MBBId].Offset); -  } +  assert(std::is_sorted(MF->begin(), MF->end(), +                        [this](const MachineBasicBlock &LHS, +                               const MachineBasicBlock &RHS) { +                          return BBInfo[LHS.getNumber()].postOffset() < +                                 BBInfo[RHS.getNumber()].postOffset(); +                        }));    DEBUG(dbgs() << "Verifying " << CPUsers.size() << " CP users.\n");    for (unsigned i = 0, e = CPUsers.size(); i != e; ++i) {      CPUser &U = CPUsers[i];  | 

