[llvm] r231842 - Add new LLVM_OPTIMIZED_TABLEGEN build setting which configures, builds and uses a release tablegen build when LLVM is configured with assertions enabled.

Sean Silva via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 23 15:35:54 PDT 2016


Could you please update http://llvm.org/docs/CMake.html? (docs/CMake.rst)

On Wed, Mar 23, 2016 at 2:32 PM, Sean Silva <chisophugis at gmail.com> wrote:

> Could you please update http://llvm.org/docs/CMake.html? (docs/CMake.rst)
>
>
> -- Sean Silva
>
> On Tue, Mar 10, 2015 at 1:48 PM, Chris Bieneman <beanz at apple.com> wrote:
>
>> Author: cbieneman
>> Date: Tue Mar 10 15:48:02 2015
>> New Revision: 231842
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=231842&view=rev
>> Log:
>> Add new LLVM_OPTIMIZED_TABLEGEN build setting which configures, builds
>> and uses a release tablegen build when LLVM is configured with assertions
>> enabled.
>>
>> Summary: This change leverages the cross-compiling functionality in the
>> build system to build a release tablegen executable for use during the
>> build.
>>
>> Reviewers: resistor, rnk
>>
>> Reviewed By: rnk
>>
>> Subscribers: rnk, joker.eph, llvm-commits
>>
>> Differential Revision: http://reviews.llvm.org/D7349
>>
>> Modified:
>>     llvm/trunk/CMakeLists.txt
>>     llvm/trunk/cmake/modules/TableGen.cmake
>>
>> Modified: llvm/trunk/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=231842&r1=231841&r2=231842&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/CMakeLists.txt (original)
>> +++ llvm/trunk/CMakeLists.txt Tue Mar 10 15:48:02 2015
>> @@ -350,6 +350,11 @@ if(LLVM_DISABLE_LLVM_DYLIB_ATEXIT)
>>    set(DISABLE_LLVM_DYLIB_ATEXIT 1)
>>  endif()
>>
>> +option(LLVM_OPTIMIZED_TABLEGEN "Force TableGen to be built with
>> optimization" OFF)
>> +if(CMAKE_CROSSCOMPILING OR (LLVM_OPTIMIZED_TABLEGEN AND
>> LLVM_ENABLE_ASSERTIONS))
>> +  set(LLVM_USE_HOST_TOOLS ON)
>> +endif()
>> +
>>  # All options referred to from HandleLLVMOptions have to be specified
>>  # BEFORE this include, otherwise options will not be correctly set on
>>  # first cmake run
>> @@ -536,9 +541,9 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
>>  include_directories( ${LLVM_INCLUDE_DIR} ${LLVM_MAIN_INCLUDE_DIR})
>>
>>  # when crosscompiling import the executable targets from a file
>> -if(CMAKE_CROSSCOMPILING)
>> +if(LLVM_USE_HOST_TOOLS)
>>    include(CrossCompile)
>> -endif(CMAKE_CROSSCOMPILING)
>> +endif(LLVM_USE_HOST_TOOLS)
>>
>>  if( ${CMAKE_SYSTEM_NAME} MATCHES FreeBSD )
>>    # On FreeBSD, /usr/local/* is not used by default. In order to build
>> LLVM
>>
>> Modified: llvm/trunk/cmake/modules/TableGen.cmake
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/TableGen.cmake?rev=231842&r1=231841&r2=231842&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/cmake/modules/TableGen.cmake (original)
>> +++ llvm/trunk/cmake/modules/TableGen.cmake Tue Mar 10 15:48:02 2015
>> @@ -91,7 +91,7 @@ macro(add_tablegen target project)
>>    # Effective tblgen executable to be used:
>>    set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN} PARENT_SCOPE)
>>
>> -  if(CMAKE_CROSSCOMPILING)
>> +  if(LLVM_USE_HOST_TOOLS)
>>      if( ${${project}_TABLEGEN} STREQUAL "${target}" )
>>        set(${project}_TABLEGEN_EXE "${LLVM_NATIVE_BUILD}/bin/${target}")
>>        set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN_EXE}
>> PARENT_SCOPE)
>>
>>
>> _______________________________________________
>> 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/20160323/8577e591/attachment.html>


More information about the llvm-commits mailing list