[llvm] r214287 - Don't manually (and forcibly) run the verifier on the entire module from

Bill Wendling isanbard at gmail.com
Tue Jul 29 23:30:34 PDT 2014


Okay. done.

-bw

On Jul 29, 2014, at 11:28 PM, Chandler Carruth <chandlerc at gmail.com> wrote:

> Bill, please merge this into the 3.5 release.
> 
> 
> On Tue, Jul 29, 2014 at 10:44 PM, Chandler Carruth <chandlerc at gmail.com> wrote:
> Author: chandlerc
> Date: Wed Jul 30 00:44:04 2014
> New Revision: 214287
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=214287&view=rev
> Log:
> 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.
> 
> Modified:
>     llvm/trunk/lib/CodeGen/JumpInstrTables.cpp
>     llvm/trunk/test/Verifier/jumptable.ll
> 
> Modified: llvm/trunk/lib/CodeGen/JumpInstrTables.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/JumpInstrTables.cpp?rev=214287&r1=214286&r2=214287&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/JumpInstrTables.cpp (original)
> +++ llvm/trunk/lib/CodeGen/JumpInstrTables.cpp Wed Jul 30 00:44:04 2014
> @@ -251,10 +251,6 @@ FunctionType *JumpInstrTables::transform
>  }
> 
>  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.
> 
> Modified: llvm/trunk/test/Verifier/jumptable.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/jumptable.ll?rev=214287&r1=214286&r2=214287&view=diff
> ==============================================================================
> --- llvm/trunk/test/Verifier/jumptable.ll (original)
> +++ llvm/trunk/test/Verifier/jumptable.ll Wed Jul 30 00:44:04 2014
> @@ -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!
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140729/bd142e86/attachment.html>


More information about the llvm-commits mailing list