Skip to content
  1. Sep 01, 2016
    • Chris Bieneman's avatar
      [CMake] Connecting check-all and test-depends targets correctly · 342134ed
      Chris Bieneman authored
      My previous attempt at this connected the sub-project check targets to the test-depends target instead of to the check-all target. That resulted in the tests running multiple times on bots that built "test-depends" and "check-all" in separate build invocations.
      
      llvm-svn: 280392
      342134ed
  2. Aug 25, 2016
  3. Aug 23, 2016
  4. Aug 18, 2016
    • Chris Bieneman's avatar
      [CMake] Silence message on multi-configuration generators · 69f289cf
      Chris Bieneman authored
      The Xcode and Visual Studio generators always log "-- No build type selected, default to Debug". This is because CMake doesn't initialize "CMAKE_CONFIGURATION_TYPES" until the generator's EnableLanguage call gets hit.
      
      The first place EnableLanguage gets hit in our configuration is in the project() call. Since CMAKE_BUILD_TYPE isn't used until after we call project() it is safe to just move this check down a bit.
      
      llvm-svn: 279110
      69f289cf
  5. Aug 04, 2016
  6. Aug 01, 2016
    • Sumanth Gundapaneni's avatar
      Build llvm with ccache if package is present · 9f4dc98e
      Sumanth Gundapaneni authored
      This patch has the following changes
      
      The CMake variable LLVM_CCACHE_BUILD is set to OFF by default.
      Set this to ON for a ccache enabled build
      
      CCACHE_CPP2 is required to compile the source file directly instead
      of compiling the preprocessed file. This will help WERROR is turned ON
      for a host clang compiler
      
      The below two options makes more sense in the context of a buildbot
      
      CCACHE_HASHDIR is required to maintain the separate cached data across
      builders. This will also help the debuggers to point to the correct source
      location
      
      CCACHE_SIZE is important in the perspective of buildbot to increase the
      limit on the amount of data to hold in cache for faster compilation
      
      CCACHE_DIR is used to save the cached data to a specific directory.
      
      llvm-svn: 277389
      9f4dc98e
  7. Jul 29, 2016
  8. Jul 26, 2016
    • Chris Bieneman's avatar
      [CMake] Support feeding DYLD_LIBRARY_PATH into archiver calls · f4a56a7d
      Chris Bieneman authored
      OS X 10.11 has a feature named System Integrity Protection. The goal of the feature is to make system binaries immutable (even as root). One part of this is that protected binaries do not receive DYLD_* environment variables because the kernel scrubs them before process launch.
      
      This causes problems for LTO bootstrap builds on Darwin that try to use the just-built libLTO with the host ar, ranlib, or libtool.
      
      This patch addresses two problems.
      
      (1) The tools themselves aren't protected binaries but the shim tools installed at / are, so we need to call xcrun -find to find libtool instead of using the one CMake finds.
      
      (2) Some build tools (ninja and make) use /bin/sh to invoke their subprocesses. Since /bin/sh is a system binary, the kernel scrubs the DYLD envars from their environment. To work around this we need to set the environment variables as part of the archiver commands, so the envars are set by the shell process instead of on the shell process.
      
      llvm-svn: 276710
      f4a56a7d
  9. Jul 23, 2016
    • Vedant Kumar's avatar
      [cmake] Use a sane default for LLVM_PROFILE_DATA_DIR · 401d031e
      Vedant Kumar authored
      It's been pointed out that arbitrarily spraying raw profiles into a
      build directory is insane. Doing this wastes a tremendous amount of
      space and is also very lossy, since the test harness tends to wipe away
      temporary sub-directories (which usually contain relevant profile data).
      
      The new default is a `profiles` directory inside of the build dir.
      
      llvm-svn: 276504
      401d031e
  10. Jul 21, 2016
    • Michael Gottesman's avatar
      [cmake] Move the including of utils/unittests under LLVM_INCLUDE_UTILS instead... · 66ddd15e
      Michael Gottesman authored
      [cmake] Move the including of utils/unittests under LLVM_INCLUDE_UTILS instead of LLVM_INCLUDE_TESTS.
      
      This does not change anything by default since LLVM_INCLUDE_UTILS is already set
      to TRUE by default. In addition, since LLVM_INCLUDE_TESTS => LLVM_INCLUDE_UTILS,
      the only way that this can cause changes is in the case where LLVM_INCLUDE_UTILS
      is set to TRUE, but LLVM_INCLUDE_TESTS is FALSE. In that case, building gtest is
      not a huge cost.
      
      The reason to do this is that without this change, one can not turn off
      LLVM_INCLUDE_TESTS in downstream projects that also use gtest for unittests. It
      also just in general makes more sense since LLVM_INCLUDE_UTILS gates FileCheck
      and other utilities that are along the lines of gtest.
      
      Additionally from talking with chandlerc, this was not done for any specific
      reason, so there is no reason not to do it and lots of benefit to doing it.
      
      llvm-svn: 276342
      66ddd15e
    • Quentin Colombet's avatar
      [CMake][GlobalISel] Turn LLVM_BUILD_GLOBAL_ISEL into an option. NFC. · c8df88c9
      Quentin Colombet authored
      Previously LLVM_BUILD_GLOBAL_ISEL was a boolean variable and although,
      this is strictly identical to an option, it did not convey the
      information that the user may set it. Options are here for that.
      
      llvm-svn: 276306
      c8df88c9
  11. Jul 20, 2016
  12. Jul 18, 2016
  13. Jul 10, 2016
    • Michael Gottesman's avatar
      [cmake] Create the LLVM_BUILD_UTILS option. · be5b7871
      Michael Gottesman authored
      This option is the equivalent option to LLVM_BUILD_TOOLS but for executables
      created via add_llvm_utility.
      
      This is a useful tool for improving compile time in situations where LLVM is
      used as a library and no testing tools are needed.
      
      It follows the exact same implemention model as LLVM_BUILD_TOOLS.
      
      Since the option is by default set to on, no behavior is changed unless one sets
      it from the command line to be false.
      
      llvm-svn: 275007
      be5b7871
  14. Jun 30, 2016
  15. Jun 24, 2016
    • Chris Bieneman's avatar
      [CMake] Add LLVM runtimes directory · 64adae59
      Chris Bieneman authored
      Summary:
      There are a few LLVM projects that produce runtime libraries. Ideally
      runtime libraries should be built differently than other projects,
      specifically they should be built using the just-built toolchain.
      
      There is support for building compiler-rt in this way from the clang
      build. Moving this logic into the LLVM build is interesting because it
      provides a simpler way to extend the just-built toolchain to include
      LLD and the LLVM object file tools.
      
      Once this functionality is better fleshed out and tested we’ll want to
      encapsulate it in a module that can be used for clang standalone
      builds, and we’ll want to make it the default way to build compiler-rt.
      
      With this patch applied there is no immediate change in the build.
      Moving compiler-rt out from llvm/projects into llvm/runtimes enables
      the functionality.
      
      This code has a few improvements over the method provided by
      LLVM_BUILD_EXTERNAL_COMPILER_RT. Specifically the sub-ninja command is
      always invoked, so changes to compiler-rt source files will get built
      properly, so this patch can be used for iterative development with
      just-built tools.
      
      This first patch only works with compiler-rt. Support for other
      runtime projects will be coming in follow-up patches.
      
      Reviewers: chandlerc, bogner
      
      Subscribers: kubabrecka, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D20992
      
      llvm-svn: 273620
      64adae59
  16. Jun 14, 2016
  17. Jun 09, 2016
  18. Jun 08, 2016
  19. May 31, 2016
  20. May 05, 2016
    • Chris Bieneman's avatar
      Remove LLVM_ENABLE_TIMESTAMPS · 62de33c2
      Chris Bieneman authored
      Summary:
      As per the discussion on LLVM-dev this patch proposes removing LLVM_ENABLE_TIMESTAMPS.
      
      The only complicated bit of this patch is the Windows support. On windows we used to log an error if /INCREMENTAL was passed to the linker when timestamps were disabled.
      
      With this change since timestamps in code are always disabled we will always compile on windows with /Brepro unless /INCREMENTAL is specified, and we will log a warning when /INCREMENTAL is specified to notify the user that the build will be non-deterministic.
      
      See: http://lists.llvm.org/pipermail/llvm-dev/2016-May/098990.html
      
      Reviewers: bogner, silvas, rnk
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D19892
      
      llvm-svn: 268670
      62de33c2
    • James Y Knight's avatar
      Remove bit-rotten CppBackend. · 0c145c0c
      James Y Knight authored
      This backend was supposed to generate C++ code which will re-construct
      the LLVM IR passed as input. This seems to me to have very marginal
      usefulness in the first place.
      
      However, the code has never been updated to use IRBuilder, which makes
      its current value negative -- people who look at the output may be
      steered to use the *wrong* C++ APIs to construct IR.
      
      Furthermore, it's generated code that doesn't compile since at least
      2013.
      
      Differential Revision: http://reviews.llvm.org/D19942
      
      llvm-svn: 268631
      0c145c0c
  21. May 04, 2016
    • Tobias Grosser's avatar
      cmake: Prefix Polly options with LLVM_ to avoid variable shadowing · 3b326169
      Tobias Grosser authored
      Summary:
      Before this change certain Polly variables have been used both as user-facing
      CACHED cmake variables as well as uncached internal variables. Even though
      this seems to have worked OK in practice, the behavior only worked due to
      one variable shadowing the other. This behavior has been found confusing.
      To make the use of cmake variables more clear we now prefix the cached, user
      facing variables with LLVM_ as it is common habit for LLVM options and also
      moved the _POLLY_ term to the beginning to ensure related options are sorted
      after each other. The variables that control the behavior of LLVM/Polly are then
      set by forwarding the values set in the user facing option variables.
      As a result, Polly is now enabled with LLVM_POLLY_BUILD instead of BUILD_POLLY
      and the linking behavior of Polly is controlled with LLVM_POLLY_LINK_INTO_TOOLS
      instead of LINK_POLLY_INTO_TOOLS.
      
      Reviewers: bogner, Meinersbur
      
      Subscribers: pollydev, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D19907
      
      llvm-svn: 268537
      3b326169
  22. May 03, 2016
  23. Apr 29, 2016
    • Filipe Cabecinhas's avatar
      Unify XDEBUG and EXPENSIVE_CHECKS (into the latter), and add an option to the... · 0da99375
      Filipe Cabecinhas authored
      Unify XDEBUG and EXPENSIVE_CHECKS (into the latter), and add an option to the cmake build to enable them.
      
      Summary:
      Historically, we had a switch in the Makefiles for turning on "expensive
      checks". This has never been ported to the cmake build, but the
      (dead-ish) code is still around.
      
      This will also make it easier to turn it on in buildbots.
      
      Reviewers: chandlerc
      
      Subscribers: jyknight, mzolotukhin, RKSimon, gberry, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D19723
      
      llvm-svn: 268050
      0da99375
    • Tobias Grosser's avatar
      cmake: Set LINK_POLLY_INTO_TOOLS to ON (v2) · d7773f72
      Tobias Grosser authored
      This is the second try. This time we disable this feature if no Polly checkout
      is available. For this to work we need to check if tools/polly is present
      early enough that our decision is known before cmake generates Config/config.h.
      
      With Polly checked into LLVM it was since a long time possible to compile
      clang/opt/bugpoint with Polly support directly linked in, instead of only
      providing Polly as a separate loadable module. This commit switches the
      default from providing Polly as a module to linking Polly into tools, such
      that it becomes unnecessary to load the Polly module when playing with Polly.
      Such configuration has shown a lot more convenient for day-to-day Polly use.
      
      This change does not impact the default behavior of any tool, if Polly is not
      explicitly enabled when calling clang/opt/bugpoint Polly does not affect
      compilation.
      
      This change also does not impact normal LLVM/clang checkouts that do not
      contain Polly.
      
      Reviewers: jdoerfert, Meinersbur
      
      Subscribers: pollydev, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D19711
      
      llvm-svn: 268048
      d7773f72
    • Tobias Grosser's avatar
      Revert "cmake: Set LINK_POLLY_INTO_TOOLS to ON" · da299848
      Tobias Grosser authored
      This reverts commit r268033 as it breaks some buildbots.
      
      llvm-svn: 268035
      da299848
    • Tobias Grosser's avatar
      cmake: Set LINK_POLLY_INTO_TOOLS to ON · 2fd7dbe2
      Tobias Grosser authored
      With Polly checked into LLVM it was since a long time possible to compile
      clang/opt/bugpoint with Polly support directly linked in, instead of only
      providing Polly as a separate loadable module. This commit switches the
      default from providing Polly as a module to linking Polly into tools, such
      that it becomes unnecessary to load the Polly module when playing with Polly.
      Such configuration has shown a lot more convenient for day-to-day Polly use.
      
      This change does not impact the default behavior of any tool, if Polly is not
      explicitly enabled when calling clang/opt/bugpoint Polly does not affect
      compilation.
      
      This change also does not impact normal LLVM/clang checkouts that do not
      contain Polly.
      
      Reviewers: jdoerfert, Meinersbur, sebpop, etherzhhb, zinob, hiraditya
      
      Subscribers: pollydev, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D19711
      
      llvm-svn: 268033
      2fd7dbe2
  24. Apr 28, 2016
  25. Apr 12, 2016
  26. Mar 28, 2016
  27. Mar 14, 2016
    • Justin Bogner's avatar
      llvm-shlib: Remove the option to override __cxa_atexit · 2414c5d4
      Justin Bogner authored
      If anybody is actually using this, it probably doesn't do what they
      think it does. This actually causes the dylib to *export* a
      __cxa_atexit symbol, so anything that links it probably loses their
      exit time destructors as well as disabling LLVM's.
      
      This just removes the option entirely. If somebody does need this
      behaviour we should figure out a more principled way to do it.
      
      This is effectively a revert of r223805.
      
      llvm-svn: 263498
      2414c5d4
  28. Mar 02, 2016
  29. Feb 26, 2016
Loading