]> granicus.if.org Git - llvm/commitdiff
Merging r214287:
authorBill Wendling <isanbard@gmail.com>
Wed, 30 Jul 2014 06:21:43 +0000 (06:21 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 30 Jul 2014 06:21:43 +0000 (06:21 +0000)
------------------------------------------------------------------------
r214287 | chandlerc | 2014-07-29 22:44:04 -0700 (Tue, 29 Jul 2014) | 9 lines

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/branches/release_35@214288 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/JumpInstrTables.cpp
test/Verifier/jumptable.ll

index 61ef722dce525a27e9a9550989f6bb6b9669fbc8..750f71f6022e4b2ad2fdf93f0b5abee9b6f72e50 100644 (file)
@@ -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<JumpInstrTableInfo>();
 
   // Get the set of jumptable-annotated functions.
index 5f4cd3fe4f45876a5f7cdcac2cc69c1bc0636102..81984eeb187feeaab6014f129ff1061b1cedaff5 100644 (file)
@@ -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!