<div dir="ltr">I just commited the fix in r308512. I'll ping hwennborg to make sure it get's cherry-picked onto the 5.0 branch.<div><br></div><div>Cheers,</div><div>Philip</div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-07-19 21:23 GMT+02:00 Michael Kruse <span dir="ltr"><<a href="mailto:llvm-commits@meinersbur.de" target="_blank">llvm-commits@meinersbur.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Philip,<br>
<br>
the buildbots have steps, one in which it compiles:<br>
<br>
make<br>
(<a href="http://lab.llvm.org:8011/builders/polly-amd64-linux/builds/9227/steps/build/logs/stdio" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/<wbr>builders/polly-amd64-linux/<wbr>builds/9227/steps/build/logs/<wbr>stdio</a>)<br>
<br>
and in other it checks:<br>
<br>
make check-polly<br>
(<a href="http://lab.llvm.org:8011/builders/polly-amd64-linux/builds/9227/steps/test_polly/logs/stdio" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/<wbr>builders/polly-amd64-linux/<wbr>builds/9227/steps/test_polly/<wbr>logs/stdio</a>)<br>
<br>
That is, opt is always rebuilt before check-polly runs.<br>
<br>
No idea why no-one else complained about it.<br>
<br>
I can confirm that the patch works for me, but I prefer reviewing<br>
using Phabricator than by-email.<br>
<span class="HOEnZb"><font color="#888888"><br>
Michael<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
2017-07-19 21:07 GMT+02:00 Philip Pfaffe <<a href="mailto:philip.pfaffe@gmail.com">philip.pfaffe@gmail.com</a>>:<br>
> I don't want to push this out if there aren't any buildbots testing it. The<br>
> patch fixes the problem for me. Does it work for you? Any idea why it didn't<br>
> break anyone else?<br>
><br>
> I'll commit the fix if you can confirm that it actually works.<br>
><br>
> Cheers,<br>
> Philip<br>
><br>
> 2017-07-19 15:26 GMT+02:00 Philip Pfaffe <<a href="mailto:philip.pfaffe@gmail.com">philip.pfaffe@gmail.com</a>>:<br>
>><br>
>> Removing the dependency on llvm-config and opt was not intended! Aren't<br>
>> there any buildbots testing this?<br>
>><br>
>> If so, can you try if this patch works for you?<br>
>> --- a/test/CMakeLists.txt<br>
>> +++ b/test/CMakeLists.txt<br>
>> @@ -28,14 +28,15 @@ if(NOT LLVM_MAIN_SRC_DIR)<br>
>>    if ("${POLLY_TEST_EXTRA_PATHS}" STREQUAL "${LLVM_TOOLS_BINARY_DIR}")<br>
>>      set(POLLY_TEST_EXTRA_PATHS "")<br>
>>    endif()<br>
>> +  set(POLLY_TEST_DEPS LLVMPolly)<br>
>>  else ()<br>
>>    set(LLVM_OPT "${LLVM_TOOLS_BINARY_DIR}/opt"<wbr>)<br>
>>    set(LLVM_FILECHECK "${LLVM_TOOLS_BINARY_DIR}/<wbr>FileCheck")<br>
>>    set(LLVM_NOT "${LLVM_TOOLS_BINARY_DIR}/not"<wbr>)<br>
>>    set(POLLY_TEST_EXTRA_PATHS "")<br>
>> +  set(POLLY_TEST_DEPS llvm-config opt LLVMPolly FileCheck not)<br>
>>  endif()<br>
>><br>
>> -set(POLLY_TEST_DEPS LLVMPolly)<br>
>>  if (POLLY_BUNDLED_ISL)<br>
>>    list(APPEND POLLY_TEST_DEPS polly-isl-test)<br>
>>  endif()<br>
>><br>
>> 2017-07-19 13:52 GMT+02:00 Michael Kruse <<a href="mailto:llvm-commits@meinersbur.de">llvm-commits@meinersbur.de</a>>:<br>
>>><br>
>>> A post-commit review.<br>
>>><br>
>>> 2017-07-11 13:24 GMT+02:00 Philip Pfaffe via llvm-commits<br>
>>> <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>>:<br>
>>> > Author: pfaffe<br>
>>> > Date: Tue Jul 11 04:24:25 2017<br>
>>> > New Revision: 307650<br>
>>> ><br>
>>> > URL: <a href="http://llvm.org/viewvc/llvm-project?rev=307650&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=307650&view=rev</a><br>
>>> > Log:<br>
>>> > [Polly][CMake] Use the CMake Package instead of llvm-config in<br>
>>> > out-of-tree builds<br>
>>><br>
>>> Could you please remove the "[Polly]" tag before committing? There is<br>
>>> no point of it in the Polly repository. Thank you.<br>
>>><br>
>>><br>
>>><br>
>>> > Summary:<br>
>>> > As of now, Polly uses llvm-config to set up LLVM dependencies in an<br>
>>> > out-of-tree build.<br>
>>> ><br>
>>> > This is problematic for two reasons:<br>
>>> > 1) Right now, in-tree and out-of-tree builds in fact do different<br>
>>> > things. E.g., in an in-tree build, libPolly depends on a handful of LLVM<br>
>>> > libraries, while in an out-of-tree build it depends on all of them. This<br>
>>> > means that we often need to treat both paths seperately.<br>
>>> > 2) I'm specifically unhappy with the way libPolly is linked right now,<br>
>>> > because it just blindly links against all the LLVM libs. That doesn't make a<br>
>>> > lot of sense. For instance, one of these libs is LLVMTableGen, which<br>
>>> > contains a command line definition of a -o option. This means that I can not<br>
>>> > link an out-of-tree libPolly into a tool which might want to offer a -o<br>
>>> > option as well.<br>
>>> ><br>
>>> > This patch (mostly) drop the use of llvm-config  in favor of LLVMs<br>
>>> > exported cmake package. However, building Polly with unittests requires<br>
>>> > access to the gtest sources (in the LLVM source tree). If we're building<br>
>>> > against an LLVM installation, this source tree is unavailable and must<br>
>>> > specified. I'm using llvm-config to provide a default in this case.<br>
>>> ><br>
>>> > Reviewers: Meinersbur, grosser<br>
>>> ><br>
>>> > Reviewed By: grosser<br>
>>> ><br>
>>> > Subscribers: tstellar, bollu, chapuni, mgorny, pollydev, llvm-commits<br>
>>> ><br>
>>> > Differential Revision: <a href="https://reviews.llvm.org/D33299" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D33299</a><br>
>>> ><br>
>>> > Modified:<br>
>>> >     polly/trunk/CMakeLists.txt<br>
>>> >     polly/trunk/cmake/CMakeLists.<wbr>txt<br>
>>> >     polly/trunk/lib/CMakeLists.txt<br>
>>> >     polly/trunk/test/CMakeLists.<wbr>txt<br>
>>> >     polly/trunk/test/lit.cfg<br>
>>> >     polly/trunk/test/<a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">lit.site.cfg.<wbr>in</a><br>
>>> ><br>
>>> > Modified: polly/trunk/CMakeLists.txt<br>
>>> > URL:<br>
>>> > <a href="http://llvm.org/viewvc/llvm-project/polly/trunk/CMakeLists.txt?rev=307650&r1=307649&r2=307650&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/polly/trunk/<wbr>CMakeLists.txt?rev=307650&r1=<wbr>307649&r2=307650&view=diff</a><br>
>>> ><br>
>>> > ==============================<wbr>==============================<wbr>==================<br>
>>> > --- polly/trunk/CMakeLists.txt (original)<br>
>>> > +++ polly/trunk/CMakeLists.txt Tue Jul 11 04:24:25 2017<br>
>>> > @@ -4,112 +4,57 @@ if (NOT DEFINED LLVM_MAIN_SRC_DIR)<br>
>>> >    cmake_minimum_required(VERSION 3.4.3)<br>
>>> ><br>
>>> >    # Where is LLVM installed?<br>
>>> > -  set(LLVM_INSTALL_ROOT "" CACHE PATH "Root of LLVM install.")<br>
>>> > -  # Check if the LLVM_INSTALL_ROOT valid.<br>
>>> > -  if( NOT EXISTS ${LLVM_INSTALL_ROOT}/include/<wbr>llvm )<br>
>>> > -    message(FATAL_ERROR "LLVM_INSTALL_ROOT (${LLVM_INSTALL_ROOT}) is<br>
>>> > not a valid LLVM installation.")<br>
>>> > -  endif(NOT EXISTS ${LLVM_INSTALL_ROOT}/include/<wbr>llvm)<br>
>>> > -  # FileCheck, not and llvm-lit are not install by default, warn the<br>
>>> > user to copy them.<br>
>>> > -  if( NOT EXISTS ${LLVM_INSTALL_ROOT}/bin/<wbr>FileCheck<br>
>>> > -      OR NOT EXISTS ${LLVM_INSTALL_ROOT}/bin/not<br>
>>> > -      OR NOT EXISTS ${LLVM_INSTALL_ROOT}/bin/llvm-<wbr>lit )<br>
>>> > -    message(WARNING "'FileCheck', 'not' and 'llvm-lit' are required by<br>
>>> > running regress tests, "<br>
>>> > -                    "but they are not installed! Please copy them to "<br>
>>> > -                    "${LLVM_INSTALL_ROOT}/bin.")<br>
>>> > -  endif()<br>
>>> > -  # Add the llvm header path.<br>
>>> > -  include_directories(${LLVM_<wbr>INSTALL_ROOT}/include/)<br>
>>> > +  find_package(LLVM CONFIG REQUIRED)<br>
>>> > +  set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})<br>
>>> > +  include(HandleLLVMOptions)<br>
>>> > +  include(AddLLVM)<br>
>>> ><br>
>>> > -  # Get LLVM's own libraries.<br>
>>> > -  execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/<wbr>llvm-config"<br>
>>> > --libs<br>
>>> > -                  OUTPUT_VARIABLE LLVM_LIBS<br>
>>> > -                  OUTPUT_STRIP_TRAILING_<wbr>WHITESPACE)<br>
>>> > -<br>
>>> > -  # Get the system librarys that will link into LLVM.<br>
>>> > -  execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/<wbr>llvm-config"<br>
>>> > --system-libs<br>
>>> > -                  OUTPUT_VARIABLE LLVM_SYSTEM_LIBS<br>
>>> > -                  OUTPUT_STRIP_TRAILING_<wbr>WHITESPACE)<br>
>>> > -  message(STATUS "System libs required by LLVM: ${LLVM_SYSTEM_LIBS}")<br>
>>> > -<br>
>>> > -  # Determine where LLVM stores its libraries.<br>
>>> > -  execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/<wbr>llvm-config"<br>
>>> > --libdir<br>
>>> > -                  OUTPUT_VARIABLE LLVM_LIBRARY_DIR<br>
>>> > -                  OUTPUT_STRIP_TRAILING_<wbr>WHITESPACE)<br>
>>> > -  link_directories("${LLVM_<wbr>LIBRARY_DIR}")<br>
>>> > -<br>
>>> > -  # Now set the header paths.<br>
>>> > -  execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/<wbr>llvm-config"<br>
>>> > --includedir<br>
>>> > -                  OUTPUT_VARIABLE LLVM_INCLUDE_DIR<br>
>>> > -                  OUTPUT_STRIP_TRAILING_<wbr>WHITESPACE)<br>
>>> > -  include_directories( ${LLVM_INCLUDE_DIR} )<br>
>>> > -<br>
>>> > -  # Get the TARGET_TRIPLE<br>
>>> > -  execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/<wbr>llvm-config"<br>
>>> > --host-target<br>
>>> > -                  OUTPUT_VARIABLE TARGET_TRIPLE<br>
>>> > -                  OUTPUT_STRIP_TRAILING_<wbr>WHITESPACE)<br>
>>> > -<br>
>>> > -  # And then set the cxx flags.<br>
>>> > -  execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/<wbr>llvm-config"<br>
>>> > --cxxflags<br>
>>> > -                  OUTPUT_VARIABLE LLVM_CXX_FLAGS<br>
>>> > -                  OUTPUT_STRIP_TRAILING_<wbr>WHITESPACE)<br>
>>> > -  set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS})<br>
>>> > -<br>
>>> > -  # Check LLVM_ENABLE_ASSERTIONS<br>
>>> > -  execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/<wbr>llvm-config"<br>
>>> > --assertion-mode<br>
>>> > -                  OUTPUT_VARIABLE LLVM_ENABLE_ASSERTIONS<br>
>>> > -                  OUTPUT_STRIP_TRAILING_<wbr>WHITESPACE)<br>
>>> > -  # Copied from LLVM's HandleLLVMOptions.cmake<br>
>>> > -  if( LLVM_ENABLE_ASSERTIONS )<br>
>>> > -    # MSVC doesn't like _DEBUG on release builds. See PR 4379.<br>
>>> > -    if( NOT MSVC )<br>
>>> > -      add_definitions( -D_DEBUG )<br>
>>> > -    endif()<br>
>>> > -    # On non-Debug builds cmake automatically defines NDEBUG, so we<br>
>>> > -    # explicitly undefine it:<br>
>>> > -    if( NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" )<br>
>>> > -      add_definitions( -UNDEBUG )<br>
>>> > -      # Also remove /D NDEBUG to avoid MSVC warnings about conflicting<br>
>>> > defines.<br>
>>> > -      foreach (flags_var_to_scrub<br>
>>> > -          CMAKE_CXX_FLAGS_RELEASE<br>
>>> > -          CMAKE_CXX_FLAGS_RELWITHDEBINFO<br>
>>> > -          CMAKE_CXX_FLAGS_MINSIZEREL<br>
>>> > -          CMAKE_C_FLAGS_RELEASE<br>
>>> > -          CMAKE_C_FLAGS_RELWITHDEBINFO<br>
>>> > -          CMAKE_C_FLAGS_MINSIZEREL)<br>
>>> > -        string (REGEX REPLACE "(^| )[/-]D *NDEBUG($| )" " "<br>
>>> > -          "${flags_var_to_scrub}" "${${flags_var_to_scrub}}")<br>
>>> > -      endforeach()<br>
>>> > -    endif()<br>
>>> > -  endif()<br>
>>> > +  # Add the llvm header path.<br>
>>> > +  include_directories(${LLVM_<wbr>INCLUDE_DIRS})<br>
>>> ><br>
>>> >    # Sources available, too?<br>
>>> > -  execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/<wbr>llvm-config"<br>
>>> > --src-root<br>
>>> > -                  OUTPUT_VARIABLE MAIN_SRC_DIR<br>
>>> > -                  OUTPUT_STRIP_TRAILING_<wbr>WHITESPACE)<br>
>>> > -  set(LLVM_SOURCE_ROOT ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source<br>
>>> > tree")<br>
>>> > +  if (LLVM_BUILD_MAIN_SRC_DIR)<br>
>>> > +    set(LLVM_SOURCE_ROOT ${LLVM_BUILD_MAIN_SRC_DIR} CACHE PATH<br>
>>> > +      "Path to LLVM source tree")<br>
>>> > +  else()<br>
>>> > +    execute_process(COMMAND "${LLVM_TOOLS_BINARY_DIR}/<wbr>llvm-config"<br>
>>> > --src-root<br>
>>> > +      OUTPUT_VARIABLE MAIN_SRC_DIR<br>
>>> > +      OUTPUT_STRIP_TRAILING_<wbr>WHITESPACE)<br>
>>> > +    set(LLVM_SOURCE_ROOT ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM<br>
>>> > source tree")<br>
>>> > +  endif()<br>
>>> ><br>
>>> >    # Enable unit tests if available.<br>
>>> >    set(UNITTEST_DIR ${LLVM_SOURCE_ROOT}/utils/<wbr>unittest)<br>
>>> >    if(EXISTS ${UNITTEST_DIR}/googletest/<wbr>include/gtest/gtest.h)<br>
>>> > -    add_library(gtest<br>
>>> > -      ${UNITTEST_DIR}/googletest/<wbr>src/gtest-all.cc<br>
>>> > -      ${UNITTEST_DIR}/googlemock/<wbr>src/gmock-all.cc<br>
>>> > -    )<br>
>>> > -    target_include_directories(<wbr>gtest<br>
>>> > -      PUBLIC<br>
>>> > -      "${UNITTEST_DIR}/googletest/<wbr>include"<br>
>>> > -      "${UNITTEST_DIR}/googlemock/<wbr>include"<br>
>>> > -<br>
>>> > -      PRIVATE<br>
>>> > -      "${UNITTEST_DIR}/googletest"<br>
>>> > -      "${UNITTEST_DIR}/googlemock"<br>
>>> > -    )<br>
>>> > -    target_link_libraries(gtest -lpthread)<br>
>>> > +    # The build tree already exports the gtest target, which we can<br>
>>> > reuse<br>
>>> > +    if (TARGET gtest)<br>
>>> > +      # LLVM Doesn't export gtest's include directorys, so do that<br>
>>> > here<br>
>>> > +      set_target_properties(gtest<br>
>>> > +        PROPERTIES INTERFACE_INCLUDE_DIRECTORIES<br>
>>> > +<br>
>>> > "${UNITTEST_DIR}/googletest/<wbr>include;${UNITTEST_DIR}/<wbr>googlemock/include"<br>
>>> > +        )<br>
>>> > +      set(POLLY_GTEST_AVAIL 1)<br>
>>> > +    else()<br>
>>> > +      add_library(gtest<br>
>>> > +        ${UNITTEST_DIR}/googletest/<wbr>src/gtest-all.cc<br>
>>> > +        ${UNITTEST_DIR}/googlemock/<wbr>src/gmock-all.cc<br>
>>> > +        )<br>
>>> > +      target_include_directories(<wbr>gtest<br>
>>> > +        PUBLIC<br>
>>> > +        "${UNITTEST_DIR}/googletest/<wbr>include"<br>
>>> > +        "${UNITTEST_DIR}/googlemock/<wbr>include"<br>
>>> > +<br>
>>> > +        PRIVATE<br>
>>> > +        "${UNITTEST_DIR}/googletest"<br>
>>> > +        "${UNITTEST_DIR}/googlemock"<br>
>>> > +        )<br>
>>> > +      target_link_libraries(gtest -lpthread)<br>
>>> ><br>
>>> > -    add_library(gtest_main ${UNITTEST_DIR}/UnitTestMain/<wbr>TestMain.cpp)<br>
>>> > -    target_link_libraries(gtest_<wbr>main gtest)<br>
>>> > +      add_library(gtest_main<br>
>>> > ${UNITTEST_DIR}/UnitTestMain/<wbr>TestMain.cpp)<br>
>>> > +      target_link_libraries(gtest_<wbr>main gtest)<br>
>>> ><br>
>>> > -    set(POLLY_GTEST_AVAIL 1)<br>
>>> > +      set(POLLY_GTEST_AVAIL 1)<br>
>>> > +    endif()<br>
>>> >    endif()<br>
>>> ><br>
>>> >    # Make sure the isl c files are built as fPIC<br>
>>> ><br>
>>> > Modified: polly/trunk/cmake/CMakeLists.<wbr>txt<br>
>>> > URL:<br>
>>> > <a href="http://llvm.org/viewvc/llvm-project/polly/trunk/cmake/CMakeLists.txt?rev=307650&r1=307649&r2=307650&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/polly/trunk/cmake/<wbr>CMakeLists.txt?rev=307650&r1=<wbr>307649&r2=307650&view=diff</a><br>
>>> ><br>
>>> > ==============================<wbr>==============================<wbr>==================<br>
>>> > --- polly/trunk/cmake/CMakeLists.<wbr>txt (original)<br>
>>> > +++ polly/trunk/cmake/CMakeLists.<wbr>txt Tue Jul 11 04:24:25 2017<br>
>>> > @@ -1,9 +1,4 @@<br>
>>> >  # Keep this in sync with llvm/cmake/CMakeLists.txt!<br>
>>> > -if (LLVM_INSTALL_ROOT)<br>
>>> > -  # this simplifies things down the road, by not requiring to<br>
>>> > distinguish<br>
>>> > -  # between in-tree and out of tree builds<br>
>>> > -  set(LLVM_BINARY_DIR ${LLVM_INSTALL_ROOT})<br>
>>> > -endif()<br>
>>> ><br>
>>> >  set(LLVM_INSTALL_PACKAGE_DIR "lib${LLVM_LIBDIR_SUFFIX}/<wbr>cmake/llvm")<br>
>>> >  set(POLLY_INSTALL_PACKAGE_DIR "lib${LLVM_LIBDIR_SUFFIX}/<wbr>cmake/polly")<br>
>>> ><br>
>>> > Modified: polly/trunk/lib/CMakeLists.txt<br>
>>> > URL:<br>
>>> > <a href="http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CMakeLists.txt?rev=307650&r1=307649&r2=307650&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/polly/trunk/lib/<wbr>CMakeLists.txt?rev=307650&r1=<wbr>307649&r2=307650&view=diff</a><br>
>>> ><br>
>>> > ==============================<wbr>==============================<wbr>==================<br>
>>> > --- polly/trunk/lib/CMakeLists.txt (original)<br>
>>> > +++ polly/trunk/lib/CMakeLists.txt Tue Jul 11 04:24:25 2017<br>
>>> > @@ -79,59 +79,42 @@ if (GPU_CODEGEN)<br>
>>> >    target_link_libraries(Polly PollyPPCG)<br>
>>> >  endif ()<br>
>>> ><br>
>>> > -# Add Polly's LLVM dependencies.<br>
>>> > -# When built inside the LLVM source tree, these are CMake targets that<br>
>>> > will<br>
>>> > -# depend on their dependencies and CMake ensures they are added in the<br>
>>> > right<br>
>>> > -# order.<br>
>>> > -# If Polly is built independently, just add all LLVM libraries.<br>
>>> > LLVM_ROOT_DIR<br>
>>> > -# might have been configured to compile to individual libraries or a<br>
>>> > single<br>
>>> > -# libLLVM.so (called dylib), reported by llvm-config, so there is no<br>
>>> > fixed list<br>
>>> > -# of required libraries.<br>
>>> > -if (DEFINED LLVM_MAIN_SRC_DIR)<br>
>>> ><br>
>>> > -  # Polly-ACC requires the NVPTX backend to work. Ask LLVM about its<br>
>>> > libraries.<br>
>>> > -  set(nvptx_libs)<br>
>>> > -  if (GPU_CODEGEN)<br>
>>> > -    # This call emits an error if they NVPTX backend is not enable.<br>
>>> > -    llvm_map_components_to_<wbr>libnames(nvptx_libs NVPTX)<br>
>>> > -  endif ()<br>
>>> > +# Polly-ACC requires the NVPTX backend to work. Ask LLVM about its<br>
>>> > libraries.<br>
>>> > +set(nvptx_libs)<br>
>>> > +if (GPU_CODEGEN)<br>
>>> > +  # This call emits an error if they NVPTX backend is not enable.<br>
>>> > +  llvm_map_components_to_<wbr>libnames(nvptx_libs NVPTX)<br>
>>> > +endif ()<br>
>>> ><br>
>>> > -  if (LLVM_LINK_LLVM_DYLIB)<br>
>>> > -    # The shlib/dylib contains all the LLVM components<br>
>>> > -    # (including NVPTX is enabled) already. Adding them to<br>
>>> > target_link_libraries<br>
>>> > -    # would cause them being twice in the address space<br>
>>> > -    # (their LLVM*.a/so and their copies in libLLVM.so)<br>
>>> > -    # which results in errors when the two instances try to register<br>
>>> > the same<br>
>>> > -    # command-line switches.<br>
>>> > -    target_link_libraries(Polly LLVM)<br>
>>> > -  else ()<br>
>>> > -    target_link_libraries(Polly<br>
>>> > -      LLVMSupport<br>
>>> > -      LLVMCore<br>
>>> > -      LLVMScalarOpts<br>
>>> > -      LLVMInstCombine<br>
>>> > -      LLVMTransformUtils<br>
>>> > -      LLVMAnalysis<br>
>>> > -      LLVMipo<br>
>>> > -      LLVMMC<br>
>>> > -      LLVMPasses<br>
>>> > -      ${nvptx_libs}<br>
>>> > -# The libraries below are required for darwin: <a href="http://PR26392" rel="noreferrer" target="_blank">http://PR26392</a><br>
>>> > -      LLVMBitReader<br>
>>> > -      LLVMMCParser<br>
>>> > -      LLVMObject<br>
>>> > -      LLVMProfileData<br>
>>> > -      LLVMTarget<br>
>>> > -      LLVMVectorize<br>
>>> > -    )<br>
>>> > -  endif ()<br>
>>> > +if (LLVM_LINK_LLVM_DYLIB)<br>
>>> > +  # The shlib/dylib contains all the LLVM components<br>
>>> > +  # (including NVPTX is enabled) already. Adding them to<br>
>>> > target_link_libraries<br>
>>> > +  # would cause them being twice in the address space<br>
>>> > +  # (their LLVM*.a/so and their copies in libLLVM.so)<br>
>>> > +  # which results in errors when the two instances try to register the<br>
>>> > same<br>
>>> > +  # command-line switches.<br>
>>> > +  target_link_libraries(Polly LLVM)<br>
>>> >  else ()<br>
>>> > -  # When Polly-ACC is enabled, we assume that the host LLVM was also<br>
>>> > built with<br>
>>> > -  # the NVPTX target enabled.<br>
>>> >    target_link_libraries(Polly<br>
>>> > -    ${LLVM_LIBS}<br>
>>> > -    ${LLVM_SYSTEM_LIBS}<br>
>>> > -  )<br>
>>> > +    LLVMSupport<br>
>>> > +    LLVMCore<br>
>>> > +    LLVMScalarOpts<br>
>>> > +    LLVMInstCombine<br>
>>> > +    LLVMTransformUtils<br>
>>> > +    LLVMAnalysis<br>
>>> > +    LLVMipo<br>
>>> > +    LLVMMC<br>
>>> > +    LLVMPasses<br>
>>> > +    ${nvptx_libs}<br>
>>> > +    # The libraries below are required for darwin: <a href="http://PR26392" rel="noreferrer" target="_blank">http://PR26392</a><br>
>>> > +    LLVMBitReader<br>
>>> > +    LLVMMCParser<br>
>>> > +    LLVMObject<br>
>>> > +    LLVMProfileData<br>
>>> > +    LLVMTarget<br>
>>> > +    LLVMVectorize<br>
>>> > +    )<br>
>>> >  endif ()<br>
>>> ><br>
>>> >  # Create a loadable module Polly.so that can be loaded using<br>
>>> ><br>
>>> > Modified: polly/trunk/test/CMakeLists.<wbr>txt<br>
>>> > URL:<br>
>>> > <a href="http://llvm.org/viewvc/llvm-project/polly/trunk/test/CMakeLists.txt?rev=307650&r1=307649&r2=307650&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/polly/trunk/test/<wbr>CMakeLists.txt?rev=307650&r1=<wbr>307649&r2=307650&view=diff</a><br>
>>> ><br>
>>> > ==============================<wbr>==============================<wbr>==================<br>
>>> > --- polly/trunk/test/CMakeLists.<wbr>txt (original)<br>
>>> > +++ polly/trunk/test/CMakeLists.<wbr>txt Tue Jul 11 04:24:25 2017<br>
>>> > @@ -1,178 +1,109 @@<br>
>>> > -set(POLLY_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/.<wbr>.")<br>
>>> > -set(POLLY_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/.<wbr>.")<br>
>>> >  set(LLVM_SHLIBEXT "${CMAKE_SHARED_MODULE_SUFFIX}<wbr>")<br>
>>> ><br>
>>> >  add_custom_target(check-polly)<br>
>>> >  set_target_properties(check-<wbr>polly PROPERTIES FOLDER "Polly")<br>
>>> ><br>
>>> > -if (NOT DEFINED LLVM_MAIN_SRC_DIR)<br>
>>> > -<br>
>>> > -  # We are building polly out of tree, adjust the settings.<br>
>>> > -  # FIXME: FileCheck is not available in llvm install directory at the<br>
>>> > moment.<br>
>>> > -  set(LLVM_LIT ${LLVM_INSTALL_ROOT}/bin/llvm-<wbr>lit)<br>
>>> > -  if (POLLY_BUNDLED_ISL)<br>
>>> > -    set(POLLY_TEST_DEPS LLVMPolly polly-isl-test)<br>
>>> > -  endif (POLLY_BUNDLED_ISL)<br>
>>> > -  if (POLLY_GTEST_AVAIL)<br>
>>> > -    list(APPEND POLLY_TEST_DEPS PollyUnitTests)<br>
>>> > -  endif ()<br>
>>> > -<br>
>>> > -  set(LLVM_BINARY_DIR "${LLVM_INSTALL_ROOT}")<br>
>>> > -  set(LLVM_TOOLS_DIR "${LLVM_INSTALL_ROOT}/bin")<br>
>>> > -  set(LLVM_LIBS_DIR "${LLVM_INSTALL_ROOT}/lib")<br>
>>> > -  set(POLLY_LIB_DIR "${POLLY_BINARY_DIR}/lib")<br>
>>> > -<br>
>>> > -  include(FindPythonInterp)<br>
>>> > -  if(PYTHONINTERP_FOUND)<br>
>>> > -    option(POLLY_TEST_DISABLE_BAR "Run Polly tests with<br>
>>> > --no-progress-bar" OFF)<br>
>>> > -    set(POLLY_TEST_EXTRA_ARGS)<br>
>>> > -    if (MSVC OR XCODE OR POLLY_TEST_DISABLE_BAR)<br>
>>> > -      set(POLLY_TEST_EXTRA_ARGS "--no-progress-bar")<br>
>>> > -    endif()<br>
>>> > -<br>
>>> > -    option(POLLY_TEST_USE_VG "Run Polly tests under Valgrind" OFF)<br>
>>> > -    if(POLLY_TEST_USE_VG)<br>
>>> > -      set(POLLY_TEST_EXTRA_ARGS ${POLLY_TEST_EXTRA_ARGS} "--vg")<br>
>>> > -    endif ()<br>
>>> > -<br>
>>> > -    # Parameters required for <a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">lit.site.cfg.in</a><br>
>>> > -    set(LLVM_SOURCE_DIR ${LLVM_SOURCE_ROOT})<br>
>>> > -    if (CMAKE_CFG_INTDIR STREQUAL ".")<br>
>>> > -      set(LLVM_BUILD_MODE ".")<br>
>>> > -    else ()<br>
>>> > -      set(LLVM_BUILD_MODE "%(build_mode)s")<br>
>>> > -    endif ()<br>
>>> > -    set(ENABLE_SHARED "1")<br>
>>> > -    set(SHLIBDIR "${LLVM_BINARY_DIR}/bin")<br>
>>> > -    set(LINK_POLLY_INTO_TOOLS "OFF")<br>
>>> > -<br>
>>> > -    configure_file(<br>
>>> > -      ${CMAKE_CURRENT_SOURCE_DIR}/<a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">li<wbr>t.site.cfg.in</a><br>
>>> > -      ${CMAKE_CURRENT_BINARY_DIR}/<wbr>lit.site.cfg)<br>
>>> > -<br>
>>> > -    add_custom_target(check-polly-<wbr>tests<br>
>>> > -      COMMAND ${LLVM_LIT}<br>
>>> > -                  --param<br>
>>> > polly_site_config=${CMAKE_<wbr>CURRENT_BINARY_DIR}/lit.site.<wbr>cfg<br>
>>> > -                  --param<br>
>>> > polly_unit_site_config=${<wbr>CMAKE_CURRENT_BINARY_DIR}/<wbr>Unit/lit.site.cfg<br>
>>> > -                  --param build_config=${CMAKE_CFG_<wbr>INTDIR}<br>
>>> > -                  -sv ${POLLY_TEST_EXTRA_ARGS}<br>
>>> > -                  ${CMAKE_CURRENT_BINARY_DIR}<br>
>>> > -                  DEPENDS ${POLLY_TEST_DEPS}<br>
>>> > -                  COMMENT "Running Polly regression/unit tests")<br>
>>> > -    set_target_properties(check-<wbr>polly-tests PROPERTIES FOLDER "Polly")<br>
>>> > -    add_dependencies(check-polly check-polly-tests)<br>
>>> > -<br>
>>> > -    if (POLLY_GTEST_AVAIL)<br>
>>> > -      configure_file(<br>
>>> > -        ${CMAKE_CURRENT_SOURCE_DIR}/<wbr>Unit/<a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">lit.site.cfg.in</a><br>
>>> > -        ${CMAKE_CURRENT_BINARY_DIR}/<wbr>Unit/lit.site.cfg)<br>
>>> > -<br>
>>> > -      add_custom_target(check-polly-<wbr>unittests<br>
>>> > -        COMMAND ${LLVM_LIT}<br>
>>> > -                  --param<br>
>>> > polly_site_config=${CMAKE_<wbr>CURRENT_BINARY_DIR}/Unit/lit.<wbr>site.cfg<br>
>>> > -                  --param build_config=${CMAKE_CFG_<wbr>INTDIR}<br>
>>> > -                  -sv ${POLLY_TEST_EXTRA_ARGS}<br>
>>> > -                  ${CMAKE_CURRENT_BINARY_DIR}/<wbr>Unit<br>
>>> > -                  DEPENDS PollyUnitTests<br>
>>> > -                  COMMENT "Running Polly unit tests")<br>
>>> > -      set_target_properties(check-<wbr>polly-unittests PROPERTIES FOLDER<br>
>>> > "Polly")<br>
>>> > -    endif ()<br>
>>> > -    configure_file(<br>
>>> > -      ${CMAKE_CURRENT_SOURCE_DIR}/<wbr>UnitIsl/<a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">lit.site.cfg.in</a><br>
>>> > -      ${CMAKE_CURRENT_BINARY_DIR}/<wbr>UnitIsl/lit.site.cfg)<br>
>>> > -<br>
>>> > -<br>
>>> > -    if (POLLY_BUNDLED_ISL)<br>
>>> > -      add_custom_target(check-polly-<wbr>isl<br>
>>> > -        command ${LLVM_LIT}<br>
>>> > -                  --param<br>
>>> > polly_site_config=${CMAKE_<wbr>CURRENT_BINARY_DIR}/UnitIsl/<wbr>lit.site.cfg<br>
>>> > -                  --param build_config=${CMAKE_CFG_<wbr>INTDIR}<br>
>>> > -                  -sv ${POLLY_TEST_EXTRA_ARGS}<br>
>>> > -                  ${CMAKE_CURRENT_BINARY_DIR}<br>
>>> > -                  DEPENDS polly-isl-test<br>
>>> > -                  COMMENT "Running isl unit tests")<br>
>>> > -      set_target_properties(check-<wbr>polly-isl PROPERTIES FOLDER "Polly")<br>
>>> > -    endif (POLLY_BUNDLED_ISL)<br>
>>> > +if(NOT LLVM_MAIN_SRC_DIR)<br>
>>> > +  find_program(LLVM_OPT NAMES opt HINTS ${LLVM_TOOLS_BINARY_DIR})<br>
>>> > +  find_program(LLVM_FILECHECK NAMES FileCheck HINTS<br>
>>> > ${LLVM_TOOLS_BINARY_DIR})<br>
>>> > +  find_program(LLVM_NOT NAMES not HINTS ${LLVM_TOOLS_BINARY_DIR})<br>
>>> > +  if (NOT LLVM_OPT)<br>
>>> > +    message(WARNING "LLVM's opt program could not be found. Please set<br>
>>> > LLVM_OPT.")<br>
>>> >    endif()<br>
>>> > -<br>
>>> > -else (NOT DEFINED LLVM_MAIN_SRC_DIR)<br>
>>> > -<br>
>>> > -  set(LLVM_LIT ${LLVM_TOOLS_BINARY_DIR}/llvm-<wbr>lit)<br>
>>> > -  set(POLLY_TEST_DEPS llvm-config opt LLVMPolly FileCheck not)<br>
>>><br>
>>> You removed the dependency to llvm-config and opt. Was this intentional?<br>
>>> I got lots of spurious test fails because I didn't know have to<br>
>>> compile them manually before check-polly now.<br>
>>><br>
>>> > -  if (POLLY_BUNDLED_ISL)<br>
>>> > -    list(APPEND POLLY_TEST_DEPS polly-isl-test)<br>
>>> > +  if (NOT LLVM_FILECHECK)<br>
>>> > +    message(WARNING "LLVM's FileCheck program could not be found. "<br>
>>> > +      "Please set LLVM_FILECHECK. Please set LLVM_FILECHECK.")<br>
>>> > +  endif()<br>
>>> > +  if (NOT LLVM_NOT)<br>
>>> > +    message(WARNING "LLVM's not program could not be found. Please set<br>
>>> > LLVM_NOT.")<br>
>>> > +  endif()<br>
>>> > +  get_filename_component(EXTRA_<wbr>PATHS ${LLVM_OPT} DIRECTORY)<br>
>>> > +  list(APPEND POLLY_TEST_EXTRA_PATHS "${EXTRA_PATHS}")<br>
>>> > +  get_filename_component(EXTRA_<wbr>PATHS ${LLVM_FILECHECK} DIRECTORY)<br>
>>> > +  list(APPEND POLLY_TEST_EXTRA_PATHS "${EXTRA_PATHS}")<br>
>>> > +  get_filename_component(EXTRA_<wbr>PATHS ${LLVM_NOT} DIRECTORY)<br>
>>> > +  list(APPEND POLLY_TEST_EXTRA_PATHS "${EXTRA_PATHS}")<br>
>>> > +  list(REMOVE_DUPLICATES POLLY_TEST_EXTRA_PATHS)<br>
>>> > +  message(STATUS "Extra paths: ${POLLY_TEST_EXTRA_PATHS}")<br>
>>> > +  if ("${POLLY_TEST_EXTRA_PATHS}" STREQUAL "${LLVM_TOOLS_BINARY_DIR}")<br>
>>> > +    set(POLLY_TEST_EXTRA_PATHS "")<br>
>>> >    endif()<br>
>>> > -  if (POLLY_GTEST_AVAIL)<br>
>>> > -    list(APPEND POLLY_TEST_DEPS PollyUnitTests)<br>
>>> > -  endif ()<br>
>>> > -<br>
>>> > -  set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}")<br>
>>> > -  set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}")<br>
>>> > -  set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib${LLVM_<wbr>LIBDIR_SUFFIX}")<br>
>>> > -  set(POLLY_LIB_DIR "${LLVM_LIBS_DIR}")<br>
>>> > +else ()<br>
>>> > +  set(LLVM_OPT "${LLVM_TOOLS_BINARY_DIR}/opt"<wbr>)<br>
>>> > +  set(LLVM_FILECHECK "${LLVM_TOOLS_BINARY_DIR}/<wbr>FileCheck")<br>
>>> > +  set(LLVM_NOT "${LLVM_TOOLS_BINARY_DIR}/not"<wbr>)<br>
>>> > +  set(POLLY_TEST_EXTRA_PATHS "")<br>
>>> > +endif()<br>
>>> > +<br>
>>> > +set(POLLY_TEST_DEPS LLVMPolly)<br>
>>> > +if (POLLY_BUNDLED_ISL)<br>
>>> > +  list(APPEND POLLY_TEST_DEPS polly-isl-test)<br>
>>> > +endif()<br>
>>> > +if (POLLY_GTEST_AVAIL)<br>
>>> > +  list(APPEND POLLY_TEST_DEPS PollyUnitTests)<br>
>>> > +endif ()<br>
>>> > +<br>
>>> > +set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}")<br>
>>> > +set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}")<br>
>>> > +set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib${LLVM_<wbr>LIBDIR_SUFFIX}")<br>
>>> > +set(POLLY_LIB_DIR "${POLLY_BINARY_DIR}/lib")<br>
>>> > +<br>
>>> > +configure_lit_site_cfg(<br>
>>> > +  ${CMAKE_CURRENT_SOURCE_DIR}/<a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">li<wbr>t.site.cfg.in</a><br>
>>> > +  ${CMAKE_CURRENT_BINARY_DIR}/<wbr>lit.site.cfg)<br>
>>> > +<br>
>>> > +# Run regression and unit tests<br>
>>> > +add_lit_testsuite(check-<wbr>polly-tests "Running polly regression tests"<br>
>>> > +  ${CMAKE_CURRENT_BINARY_DIR}<br>
>>> > +  PARAMS polly_site_config=${CMAKE_<wbr>CURRENT_BINARY_DIR}/lit.site.<wbr>cfg<br>
>>> > +  polly_unit_site_config=${<wbr>CMAKE_CURRENT_BINARY_DIR}/<wbr>Unit/lit.site.cfg<br>
>>> > +  DEPENDS ${POLLY_TEST_DEPS}<br>
>>> > +  )<br>
>>> > +set_target_properties(check-<wbr>polly-tests PROPERTIES FOLDER "Polly")<br>
>>> > +add_dependencies(check-polly check-polly-tests)<br>
>>> ><br>
>>> > +if (POLLY_GTEST_AVAIL)<br>
>>> >    configure_lit_site_cfg(<br>
>>> > -    ${CMAKE_CURRENT_SOURCE_DIR}/<a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">li<wbr>t.site.cfg.in</a><br>
>>> > -    ${CMAKE_CURRENT_BINARY_DIR}/<wbr>lit.site.cfg)<br>
>>> > -<br>
>>> > -  # Run regression and unit tests<br>
>>> > -  add_lit_testsuite(check-polly-<wbr>tests "Running polly regression tests"<br>
>>> > -    ${CMAKE_CURRENT_BINARY_DIR}<br>
>>> > -    PARAMS polly_site_config=${CMAKE_<wbr>CURRENT_BINARY_DIR}/lit.site.<wbr>cfg<br>
>>> > -<br>
>>> > polly_unit_site_config=${<wbr>CMAKE_CURRENT_BINARY_DIR}/<wbr>Unit/lit.site.cfg<br>
>>> > -    DEPENDS ${POLLY_TEST_DEPS}<br>
>>> > +    ${CMAKE_CURRENT_SOURCE_DIR}/<wbr>Unit/<a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">lit.site.cfg.in</a><br>
>>> > +    ${CMAKE_CURRENT_BINARY_DIR}/<wbr>Unit/lit.site.cfg<br>
>>> >      )<br>
>>> > -  set_target_properties(check-<wbr>polly-tests PROPERTIES FOLDER "Polly")<br>
>>> > -  add_dependencies(check-polly check-polly-tests)<br>
>>> ><br>
>>> > -  if (POLLY_GTEST_AVAIL)<br>
>>> > -    configure_lit_site_cfg(<br>
>>> > -      ${CMAKE_CURRENT_SOURCE_DIR}/<wbr>Unit/<a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">lit.site.cfg.in</a><br>
>>> > -      ${CMAKE_CURRENT_BINARY_DIR}/<wbr>Unit/lit.site.cfg<br>
>>> > +  # Run only unit tests<br>
>>> > +  add_lit_testsuite(check-polly-<wbr>unittests "Running polly unit tests<br>
>>> > only"<br>
>>> > +    ${CMAKE_CURRENT_BINARY_DIR}/<wbr>Unit<br>
>>> > +    PARAMS<br>
>>> > polly_site_config=${CMAKE_<wbr>CURRENT_BINARY_DIR}/Unit/lit.<wbr>site.cfg<br>
>>> > +    DEPENDS PollyUnitTests<br>
>>> >      )<br>
>>> > +  set_target_properties(check-<wbr>polly-unittests PROPERTIES FOLDER<br>
>>> > "Polly")<br>
>>> > +endif ()<br>
>>> > +<br>
>>> > +configure_file(<br>
>>> > +  ${CMAKE_CURRENT_SOURCE_DIR}/<wbr>UnitIsl/<a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">lit.site.cfg.in</a><br>
>>> > +  ${CMAKE_CURRENT_BINARY_DIR}/<wbr>UnitIsl/lit.site.cfg)<br>
>>> ><br>
>>> > -    # Run only unit tests<br>
>>> > -    add_lit_testsuite(check-polly-<wbr>unittests "Running polly unit tests<br>
>>> > only"<br>
>>> > -      ${CMAKE_CURRENT_BINARY_DIR}/<wbr>Unit<br>
>>> > -      PARAMS<br>
>>> > polly_site_config=${CMAKE_<wbr>CURRENT_BINARY_DIR}/Unit/lit.<wbr>site.cfg<br>
>>> > -      DEPENDS PollyUnitTests<br>
>>> > -      )<br>
>>> > -    set_target_properties(check-<wbr>polly-unittests PROPERTIES FOLDER<br>
>>> > "Polly")<br>
>>> > -  endif ()<br>
>>> > -<br>
>>> > -  configure_file(<br>
>>> > -    ${CMAKE_CURRENT_SOURCE_DIR}/<wbr>UnitIsl/<a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">lit.site.cfg.in</a><br>
>>> > -    ${CMAKE_CURRENT_BINARY_DIR}/<wbr>UnitIsl/lit.site.cfg)<br>
>>> > -<br>
>>> > -  if (POLLY_BUNDLED_ISL)<br>
>>> > -    add_lit_testsuite(check-polly-<wbr>isl "Running isl unit tests only"<br>
>>> > -      ${CMAKE_CURRENT_BINARY_DIR}/<wbr>UnitIsl<br>
>>> > -      PARAMS<br>
>>> > polly_site_config=${CMAKE_<wbr>CURRENT_BINARY_DIR}/UnitIsl/<wbr>lit.site.cfg<br>
>>> > -      DEPENDS polly-isl-test<br>
>>> > -      )<br>
>>> > -    set_target_properties(check-<wbr>polly-isl PROPERTIES FOLDER "Polly")<br>
>>> > -  endif (POLLY_BUNDLED_ISL)<br>
>>> > -<br>
>>> > -  # Run polly-check-format as part of polly-check only if we are<br>
>>> > compiling with<br>
>>> > -  # clang, so clang-format is available.<br>
>>> > -  # if (TARGET clang-format) would be preferable, but this target is<br>
>>> > only added<br>
>>> > -  # after Polly, i.e. there is no such target yet at this point. The<br>
>>> > CMake cache<br>
>>> > -  # entry LLVM_TOOL_CLANG_BUILD will only be defined after clang has<br>
>>> > been<br>
>>> > -  # configured at least once, i.e. format will be checked only after a<br>
>>> > rerun of<br>
>>> > -  # CMake's configure.<br>
>>> > -  if (LLVM_TOOL_CLANG_BUILD)<br>
>>> > -    add_dependencies(check-polly polly-check-format)<br>
>>> > -  endif ()<br>
>>> > +if (POLLY_BUNDLED_ISL)<br>
>>> > +  add_lit_testsuite(check-polly-<wbr>isl "Running isl unit tests only"<br>
>>> > +    ${CMAKE_CURRENT_BINARY_DIR}/<wbr>UnitIsl<br>
>>> > +    PARAMS<br>
>>> > polly_site_config=${CMAKE_<wbr>CURRENT_BINARY_DIR}/UnitIsl/<wbr>lit.site.cfg<br>
>>> > +    DEPENDS polly-isl-test<br>
>>> > +    )<br>
>>> > +  set_target_properties(check-<wbr>polly-isl PROPERTIES FOLDER "Polly")<br>
>>> > +endif (POLLY_BUNDLED_ISL)<br>
>>> ><br>
>>> > -endif (NOT DEFINED LLVM_MAIN_SRC_DIR)<br>
>>> > +# Run polly-check-format as part of polly-check only if we are<br>
>>> > compiling with<br>
>>> > +# clang, so clang-format is available.<br>
>>> > +# if (TARGET clang-format) would be preferable, but this target is<br>
>>> > only added<br>
>>> > +# after Polly, i.e. there is no such target yet at this point. The<br>
>>> > CMake cache<br>
>>> > +# entry LLVM_TOOL_CLANG_BUILD will only be defined after clang has<br>
>>> > been<br>
>>> > +# configured at least once, i.e. format will be checked only after a<br>
>>> > rerun of<br>
>>> > +# CMake's configure.<br>
>>> > +if (LLVM_TOOL_CLANG_BUILD)<br>
>>> > +  add_dependencies(check-polly polly-check-format)<br>
>>> > +endif ()<br>
>>> ><br>
>>> >  configure_file(<br>
>>> >    ${CMAKE_CURRENT_SOURCE_DIR}/<wbr>update_check.py<br>
>>> >    ${CMAKE_CURRENT_BINARY_DIR}/<wbr>update_check.py)<br>
>>> > -file(COPY ${CMAKE_CURRENT_BINARY_DIR}/<wbr>update_check.py<br>
>>> > -  DESTINATION ${LLVM_TOOLS_DIR}<br>
>>> > -  FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ<br>
>>> > -  GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)<br>
>>> ><br>
>>> >  # Add a legacy target spelling: polly-test<br>
>>> >  add_custom_target(polly-test)<br>
>>> ><br>
>>> > Modified: polly/trunk/test/lit.cfg<br>
>>> > URL:<br>
>>> > <a href="http://llvm.org/viewvc/llvm-project/polly/trunk/test/lit.cfg?rev=307650&r1=307649&r2=307650&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/polly/trunk/test/lit.<wbr>cfg?rev=307650&r1=307649&r2=<wbr>307650&view=diff</a><br>
>>> ><br>
>>> > ==============================<wbr>==============================<wbr>==================<br>
>>> > --- polly/trunk/test/lit.cfg (original)<br>
>>> > +++ polly/trunk/test/lit.cfg Tue Jul 11 04:24:25 2017<br>
>>> > @@ -39,7 +39,9 @@ if polly_obj_root is not None:<br>
>>> >      llvm_tools_dir = getattr(config, 'llvm_tools_dir', None)<br>
>>> >      if not llvm_tools_dir:<br>
>>> >          lit_config.fatal('No LLVM tools dir set!')<br>
>>> > -    path = os.path.pathsep.join((llvm_<wbr>tools_dir,<br>
>>> > config.environment['PATH']))<br>
>>> > +    extra_paths = getattr(config, 'extra_paths', [])<br>
>>> > +    base_paths = [llvm_tools_dir, config.environment['PATH']]<br>
>>> > +    path = os.path.pathsep.join(base_<wbr>paths + extra_paths)<br>
>>> >      config.environment['PATH'] = path<br>
>>> ><br>
>>> >      llvm_libs_dir = getattr(config, 'llvm_libs_dir', None)<br>
>>> ><br>
>>> > Modified: polly/trunk/test/<a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">lit.site.cfg.<wbr>in</a><br>
>>> > URL:<br>
>>> > <a href="http://llvm.org/viewvc/llvm-project/polly/trunk/test/lit.site.cfg.in?rev=307650&r1=307649&r2=307650&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/polly/trunk/test/lit.<wbr>site.cfg.in?rev=307650&r1=<wbr>307649&r2=307650&view=diff</a><br>
>>> ><br>
>>> > ==============================<wbr>==============================<wbr>==================<br>
>>> > --- polly/trunk/test/<a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">lit.site.cfg.<wbr>in</a> (original)<br>
>>> > +++ polly/trunk/test/<a href="http://lit.site.cfg.in" rel="noreferrer" target="_blank">lit.site.cfg.<wbr>in</a> Tue Jul 11 04:24:25 2017<br>
>>> > @@ -10,6 +10,7 @@ config.target_triple = "@TARGET_TRIPLE@"<br>
>>> >  config.enable_gpgpu_codegen = "@GPU_CODEGEN@"<br>
>>> >  config.link_polly_into_tools = "@LINK_POLLY_INTO_TOOLS@"<br>
>>> >  config.targets_to_build = "@TARGETS_TO_BUILD@"<br>
>>> > +config.extra_paths = "@POLLY_TEST_EXTRA_PATHS@".<wbr>split(";")<br>
>>> ><br>
>>> >  ## Check the current platform with regex<br>
>>> >  import re<br>
>>> ><br>
>>> ><br>
>>> > ______________________________<wbr>_________________<br>
>>> > llvm-commits mailing list<br>
>>> > <a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
>>> > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
>><br>
>><br>
><br>
</div></div></blockquote></div><br></div>