- Jul 29, 2016
-
-
Eugene Zelenko authored
Differential revision: https://reviews.llvm.org/D22896 llvm-svn: 277093
-
- Jul 26, 2016
-
-
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
-
- Jul 23, 2016
-
-
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
-
- Jul 21, 2016
-
-
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
-
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
-
- Jul 20, 2016
-
-
Chandler Carruth authored
Patch by Andrew Paprocki! Differential Revision: https://reviews.llvm.org/D18359 llvm-svn: 276045
-
- Jul 18, 2016
-
-
Hans Wennborg authored
Differential Revision: https://reviews.llvm.org/D21821 llvm-svn: 275827
-
- Jul 10, 2016
-
-
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
-
- Jun 30, 2016
-
-
Vassil Vassilev authored
When compiling with modules, header A and B can be in the same module M. B depends on intrinsics_gen and A doesn't. Compiling a source file #include-ing header A, we implicitly request module M to be built. It puts header A and B in the same TU and tries to build them. Since B depends on intrinsics_gen (which might not be built yet) we run into build failures. This should fix our modules buildbot. Patch reviewed by Chris Bieneman. llvm-svn: 274270
-
Adrian Prantl authored
This flag is only effective in builds with debug info and modules. The default is On for Darwin only. rdar://problem/27019000 llvm-svn: 274244
-
Adrian Prantl authored
On Darwin it is currently impossible to build LLVM with modules because the Darwin system module map is not compatible with -fmodules-local-submodule-visibility at this point in time. This patch makes the flag optional and off by default on Darwin so it becomes possible to build LLVM with modules again. http://reviews.llvm.org/D21827 rdar://problem/27019000 llvm-svn: 274196
-
- Jun 24, 2016
-
-
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
-
- Jun 14, 2016
-
-
Vedant Kumar authored
Differential Revision: http://reviews.llvm.org/D20993 llvm-svn: 272599
-
- Jun 09, 2016
-
-
Chris Bieneman authored
This just removes some redundant checks and updates warning text. llvm-svn: 272218
-
Chris Bieneman authored
Now that we are on CMake 3.4.3 we no longer need a version check around this. llvm-svn: 272211
-
- Jun 08, 2016
-
-
Chris Bieneman authored
This patch adds a new option LLVM_TOOLS_INSTALL_DIR which allows customizing the location executables and symlinks get installed to. This adds the functionality provided by autoconf's --bindir flag. This patch is based on patches from and collaboration with Tony Kelman, and replaces http://reviews.llvm.org/D20934. llvm-svn: 272200
-
- May 31, 2016
-
-
Chris Bieneman authored
Summary: This is as per the discussions on developer lists: http://lists.llvm.org/pipermail/llvm-dev/2016-April/098780.html http://lists.llvm.org/pipermail/llvm-dev/2016-May/100058.html Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20822 llvm-svn: 271325
-
- May 05, 2016
-
-
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
-
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
-
- May 04, 2016
-
-
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
-
- May 03, 2016
-
-
Chris Bieneman authored
This change is based on the discussion from http://lists.llvm.org/pipermail/llvm-dev/2016-May/098990.html. The goal is to make the default LLVM configuration build deterministically. llvm-svn: 268441
-
- Apr 29, 2016
-
-
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
-
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
-
Tobias Grosser authored
This reverts commit r268033 as it breaks some buildbots. llvm-svn: 268035
-
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
-
- Apr 28, 2016
-
-
Chris Bieneman authored
Summary: Using libtool instead of ar and ranlib on Darwin shaves a minute off my clang build. This is because on Darwin libtool is optimized to give hints to the kernel about filesystem interactions that allow it to be faster. Reviewers: bogner, pete Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D19611 llvm-svn: 267930
-
- Apr 12, 2016
-
-
Aaron Ballman authored
Moving llvm-test-depends and test-depends into the Tests folder; NFC, this simply cleans up the generated solution so that these targets don't live in the root folder of the IDE. llvm-svn: 266078
-
- Mar 28, 2016
-
-
Reid Kleckner authored
The sign now reads "0 days since the last line ending confusion" llvm-svn: 264609
-
Mike Spertus authored
llvm-svn: 264602
-
- Mar 14, 2016
-
-
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
-
- Mar 02, 2016
-
-
Chris Bieneman authored
This is just another convenience target for bots to use. It enables isolation of building and testing. llvm-svn: 262494
-
Chris Bieneman authored
This is just a convenience target to allow limiting what you build. llvm-svn: 262427
-
- Feb 26, 2016
-
-
Chris Bieneman authored
This allows a user to specify "Native" as a target when configuring LLVM. Native will resolve to the LLVM_NATIVE_ARCH, which is the target that supports code generation for the host. llvm-svn: 262070
-
- Feb 23, 2016
-
-
Chris Bieneman authored
The idea here is to provide a customizable install target that only depends on building the things you actually want to install. It relies on each component being installed having an auto-generated install-${component}, which in turn depends only on the target being installed. This is fundamentally a workaround for the fact that CMake generates build files which have their "install" target depend on the "all" target. This results in "ninja install" building a bunch of unneeded things. llvm-svn: 261681
-
- Feb 19, 2016
-
-
Chris Bieneman authored
Summary: PR26666: CMAKE_BUILD_TYPE was previously being reset to blank. Reviewers: rnk, beanz Subscribers: llvm-commits Patch By: Derek Bruening Differential Revision: http://reviews.llvm.org/D17398 llvm-svn: 261273
-
- Feb 11, 2016
-
-
Quentin Colombet authored
LLVM_BUILD_GLOBAL_ISEL llvm-svn: 260457
-
- Jan 20, 2016
-
-
Quentin Colombet authored
This patch adds the necessary plumbing to cmake to build the sources related to GlobalISel. To build the sources related to GlobalISel, we need to add -DBUILD_GLOBAL_ISEL=ON. By default, this is OFF, thus GlobalISel sources will not impact people that do not explicitly opt-in. Differential Revision: http://reviews.llvm.org/D15983 llvm-svn: 258344
-
- Jan 13, 2016
-
-
Hans Wennborg authored
llvm-svn: 257627
-
- Jan 09, 2016
-
-
Dan Liew authored
This reverts r257221. This caused several build bot failures * It looks like some of the tests don't work correctly under Windows * It looks like the lit per test timeout tests fail So I'm reverting for now. Once the above failures are fixed running lit's tests can be enabled again. llvm-svn: 257268
-
- Jan 08, 2016
-
-
Dan Liew authored
directy with ``make check-lit`` and are run as part of ``make check-all``. In principle we should run lit's testsuite before testing LLVM using lit so that any problems with lit get discovered before testing LLVM so we can bail out early. However this implementation (``check-all`` runs all tests together) seemed simpler and will still report failing lit tests. Note that the tests and the configured ``lit.site.cfg`` have to be copied into the build directory to avoid polluting the source tree. llvm-svn: 257221
-