From 840b5d58c3fb34bb2c55bb267206e70de8dcf160 Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Wed, 30 Jul 2014 05:44:04 +0000 Subject: [PATCH] Don't manually (and forcibly) run the verifier on the entire module from the jump instruction table pass. First, the verifier is already built into all the tools. The test case is adapted to just run llvm-as demonstrating that we still catch the broken module. Second, the verifier is *extremely* slow. This was responsible for very significant compile time regressions. If you have deployed a Clang binary anywhere from r210280 to this commit, you really want to re-deploy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214287 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/JumpInstrTables.cpp | 4 ---- test/Verifier/jumptable.ll | 3 +-- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/CodeGen/JumpInstrTables.cpp b/lib/CodeGen/JumpInstrTables.cpp index 61ef722dce5..750f71f6022 100644 --- a/lib/CodeGen/JumpInstrTables.cpp +++ b/lib/CodeGen/JumpInstrTables.cpp @@ -251,10 +251,6 @@ FunctionType *JumpInstrTables::transformType(FunctionType *FunTy) { } bool JumpInstrTables::runOnModule(Module &M) { - // Make sure the module is well-formed, especially with respect to jumptable. - if (verifyModule(M)) - return false; - JITI = &getAnalysis(); // Get the set of jumptable-annotated functions. diff --git a/test/Verifier/jumptable.ll b/test/Verifier/jumptable.ll index 5f4cd3fe4f4..81984eeb187 100644 --- a/test/Verifier/jumptable.ll +++ b/test/Verifier/jumptable.ll @@ -1,4 +1,4 @@ -; RUN: not llc <%s 2>&1 | FileCheck %s +; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s define i32 @f() jumptable { ret i32 0 @@ -6,4 +6,3 @@ define i32 @f() jumptable { ; CHECK: Attribute 'jumptable' requires 'unnamed_addr' ; CHECK: i32 ()* @f -; CHECK: LLVM ERROR: Broken function found, compilation aborted!