From: Matthias Braun Date: Mon, 5 Dec 2016 08:15:57 +0000 (+0000) Subject: TableGen/AsmMatcherEmitter: Trust that stable_sort works X-Git-Tag: llvmorg-4.0.0-rc1~3009 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ec0b0b548e1cfbe9ea4e9d3fc1c0f68e753818a0;p=platform%2Fupstream%2Fllvm.git TableGen/AsmMatcherEmitter: Trust that stable_sort works A debug build of AsmMatcherEmitter would use a quadratic algorithm to check whether std::stable_sort() actually sorted. Let's hope the authors of our C++ standard library did that testing for us. Removing the check gives a 3x speedup in the X86 case. llvm-svn: 288655 --- diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp index a403ab7..a8a984d 100644 --- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp +++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp @@ -2719,16 +2719,6 @@ void AsmMatcherEmitter::run(raw_ostream &OS) { const std::unique_ptr &b){ return *a < *b;}); -#ifndef NDEBUG - // Verify that the table is now sorted - for (auto I = Info.Matchables.begin(), E = Info.Matchables.end(); I != E; - ++I) { - for (auto J = I; J != E; ++J) { - assert(!(**J < **I)); - } - } -#endif // NDEBUG - DEBUG_WITH_TYPE("instruction_info", { for (const auto &MI : Info.Matchables) MI->dump();