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

Chandler Carruth chandlerc at gmail.com
Tue Jul 29 23:34:56 PDT 2014


Thanks. There may be a few more.


On Tue, Jul 29, 2014 at 11:30 PM, Bill Wendling <isanbard at gmail.com> wrote:

> 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
>>
>
>
>
> _______________________________________________
> 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/881078d6/attachment.html>


More information about the llvm-commits mailing list