- Oct 12, 2015
-
-
Chris Bieneman authored
Adds LLVM_PROFDATA_FILE option to allow specifying a profile data file to be used during compilation of LLVM and subprojects. llvm-svn: 250108
-
- Sep 11, 2015
-
-
Chris Bieneman authored
This is a follow-on to r247308. llvm-svn: 247443
-
- Sep 10, 2015
-
-
Chris Bieneman authored
llvm-svn: 247308
-
Chandler Carruth authored
CMake. The Go bindings tests in an unoptimized build take over 30 seconds for me, making it the slowest test in 'check-llvm' by a factor of two. I've only rigged this up fully to the CMake build. If someone is interested in rigging it up to the autoconf build, they're welcome to do so. llvm-svn: 247243
-
- Sep 09, 2015
-
-
Joseph Tremoulet authored
Summary: Cross-compilation uses recursive cmake invocations to build native host tools. These recursive invocations only forward a fixed set of variables/options, since the native environment is generally the default. This change adds -DLLVM_TARGET_IS_CROSSCOMPILE_HOST=TRUE to the recursive cmake invocations, so that cmake files can distinguish these recursive invocations from top-level ones, which can explain why expected options are unset. LLILC will use this to avoid trying to generate its build rules in the crosscompile native host target (where it is not needed), which would fail if attempted because LLILC requires a cmake variable passed on the command line, which is not forwarded in the recursive invocation. Reviewers: rnk, beanz Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12679 llvm-svn: 247151
-
- Sep 05, 2015
-
-
Andrew Wilkins authored
Summary: This diff attempts to address the concerns raised in http://reviews.llvm.org/D12488. We introduce a new USE_SHARED option to llvm_config, which, if set, causes the target to be linked against libLLVM. add_llvm_utility now uniformly disables linking against libLLVM. These utilities are not intended for distribution, and this keeps the option handling more centralised. llvm-shlib is now processes before any other "tools" subdirectories, ensuring the libLLVM target is defined before its dependents. One main difference from what was requested: llvm_config does not prune LLVM_DYLIB_COMPONENTS from the components passed into explicit_llvm_config. This is because the "all" component does something special, adding additional libraries (namely libLTO). Adding the component libraries after libLLVM should not be a problem, as symbols will be resolved in libLLVM first. Finally, I'm not really happy with the DISABLE_LLVM_LINK_LLVM option, but I'm not sure of a better way to get the following: - link all tools and shared libraries to libLLVM if LLVM_LINK_LLVM_DYLIB is set - some way of explicitly *not* doing so for utilities and libLLVM itself Suggestions for improvement here are particularly welcome. Reviewers: beanz Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12590 llvm-svn: 246918
-
- Sep 01, 2015
-
-
Andrew Wilkins authored
Summary: Three closely related changes, to have a mode in which we link all executables and shared libraries against libLLVM. 1. Add a new LLVM_LINK_LLVM_DYLIB cmake option, which, when ON, will link executables and shared libraries against libLLVM. For this to work, it is necessary to also set LLVM_BUILD_LLVM_DYLIB and LLVM_DYLIB_EXPORT_ALL. It is not strictly necessary to set LLVM_DISABLE_LLVM_DYLIB_ATEXIT, but we also default to OFF in this mode, or tools tend to misbehave (e.g. stdout may not flush on exit when output is buffered.) llvm-config and Tablegen do not use libLLVM, as they are dependencies of libLLVM. 2. Modify llvm-go to take a new flag, "linkmode=component-libs|dylib". Depending on which one is passed (default is component-libs), we link with the individual libraries or libLLVM respectively. We pass in dylib when LLVM_LINK_LLVM_DYLIB is ON. 3. Fix LLVM_DYLIB_EXPORT_ALL on Linux, and expand the symbols exported to actually export all. Don't strip leading underscore from symbols on Linux, and make sure we get all exported symbols and weak-with-default symbols ("W" in nm output). Without these changes, passes won't load because the "Annotate..." symbols defined in lib/Support/Valigrind.cpp are not found. Testing: - Ran default build ("ninja") with LLVM, clang, compiler-rt, llgo, lldb. - Ran "check", "check-clang", "check-tsan", "check-libgo" targets. I've never had much success with LLDB tests, and llgoi is currently broken so check-llgo fails for an unrelated reason. - Ran "lldb" to ensure it loads. Reviewers: chandlerc, beanz, pcc, rnk Subscribers: rnk, chapuni, sylvestre.ledru, llvm-commits Differential Revision: http://reviews.llvm.org/D12488 llvm-svn: 246527
-
- Aug 11, 2015
-
-
Reid Kleckner authored
Only disable the progress bar when we're generating VS project files, like we do for XCode. This makes lit use the simple, non-curses progress bar that looks like this with: Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Testing Time: 5.87s llvm-svn: 244674
-
Reid Kleckner authored
NFC llvm-svn: 244659
-
Justin Bogner authored
This re-applies r244516 (effectively reverting r244516) without losing the check that caused failures for VS. llvm-svn: 244643
-
Aaron Ballman authored
http://bb.pgr.jp/builders/msbuild-llvmclang-x64-msc18-DA/builds/475 llvm-svn: 244589
-
- Aug 10, 2015
-
-
Justin Bogner authored
Juergen pointed out that this variable is treated in a case insensitive way. llvm-svn: 244516
-
- Aug 08, 2015
-
-
Justin Bogner authored
Apparently if you make a typo in the argument to CMAKE_BUILD_TYPE, cmake silently accepts this but doesn't apply any particular build type to your build. This means you get a build that doesn't really make any sense - it's sort of a debug build with asserts disabled. Error out instead. llvm-svn: 244406
-
- Aug 06, 2015
-
-
Reid Kleckner authored
Fixes build break reported in PR24358. Patch by John Marino. llvm-svn: 244232
-
- Jul 28, 2015
-
-
Douglas Katzman authored
This allows asm files and Cxx files to be compiled with different flags rather than treating them identically. LLVM itself has no asm files other than tests, but this setting is inherited by the compiler-rt project (unless compiled standalone), which does have asm files. Differential Revision: http://reviews.llvm.org/D10707 llvm-svn: 243419
-
- Jul 15, 2015
-
-
Hans Wennborg authored
llvm-svn: 242222
-
- Jun 22, 2015
-
-
Rafael Espindola authored
Patch by Xan López. llvm-svn: 240308
-
- Jun 13, 2015
-
-
Tom Stellard authored
llvm-svn: 239657
-
- Jun 09, 2015
-
-
Alexei Starovoitov authored
only cmake build change. autoconf build and docs will follow email thread: http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-June/thread.html#86523 llvm-svn: 239410
-
- Jun 05, 2015
-
-
Alexei Starovoitov authored
This reverts commit r239035 llvm-svn: 239159
-
- Jun 04, 2015
-
-
Chris Bieneman authored
Enabling Ninja Job Pools needs to be dependent on the CMAKE_MAKE_PROGRAM not the CMAKE_GENERATOR. There are generators (like "Sublime Text 2 - Ninja") that also generate ninja build files. Basing of the CMAKE_MAKE_PROGRAM is the best future-proof way to handle this. llvm-svn: 239076
-
Evgeniy Stepanov authored
The current check never passes, because CMAKE_MAKE_PROGRAM, at least on Linux, includes the full path to the "ninja" binary; this effectively disables compile/link jobs pools. Use CMAKE_GENERATOR STREQUAL "Ninja" as a more reliable check. llvm-svn: 239069
-
Chris Bieneman authored
[CMake] Add warning for using compile and link pools on unsupported versions of CMake or non-ninja generators. Summary: I've gotten feedback from users on CMake 2.8 that the compile and link pool options were not working. This is expected so I'm adding a warning so we can report invalid configurations to users. Reviewers: eugenis Reviewed By: eugenis Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10193 llvm-svn: 239044
-
Daniel Sanders authored
llvm-svn: 239035
-
- May 14, 2015
-
-
Ismail Donmez authored
Reviewed by Hans Wennborg llvm-svn: 237372
-
- Apr 13, 2015
-
-
Chris Bieneman authored
[CMake] Updates to llvm-shlib to support overriding exports list and added an option to export all symbols. llvm-svn: 234798
-
- Apr 07, 2015
-
-
Andrew Kaylor authored
llvm-svn: 234343
-
- Mar 27, 2015
-
-
Derek Schuff authored
Added a new boolean CMake flag, LLVM_INSTALL_UTILS. When set, the 'install' target will include in the bin directory the utils binaries - e.g. FileCheck. This mirrors the autoconfig behavior. Test Plan: Locally verified that utils binaries are copied when flag is set, and not copied when flag is not set. Reviewers: jfb, dschuff, beanz Reviewed By: beanz Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8587 Patch by Mircea Trofin llvm-svn: 233385
-
- Mar 26, 2015
-
-
Sanjoy Das authored
Summary: This patch is an attempt at making `DenseMapIterator`s "fail-fast". Fail-fast iterators that have been invalidated due to insertion into the host `DenseMap` deterministically trip an assert (in debug mode) on access, instead of non-deterministically hitting memory corruption issues. Enabling fail-fast iterators breaks the LLVM C++ ABI, so they are predicated on `LLVM_ENABLE_ABI_BREAKING_CHECKS`. `LLVM_ENABLE_ABI_BREAKING_CHECKS` by default flips with `LLVM_ENABLE_ASSERTS`, but can be clamped to ON or OFF using the CMake / autoconf build system. Reviewers: chandlerc, dexonsmith, rnk, zturner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8351 llvm-svn: 233310
-
- Mar 25, 2015
-
-
Justin Bogner authored
In r233009 we gained specific check-llvm-* build targets for invoking specific parts of the test suite, but they were copying the dependencies for check-all, rather than just listing the dependencies for check-llvm. This moves the creation of these targets next to the check-llvm target, and uses that target's configuration rather than the check-all config. llvm-svn: 233174
-
- Mar 23, 2015
-
-
Chris Bieneman authored
Summary: This change makes CMake scan for lit suites and generate a target for each lit test suite. The targets follow the format check-<project>-<suite path>. For example: check-llvm-unit - Runs the LLVM unit tests check-llvm-codegen-arm - Runs the ARM codeine tests Note: These targets are not generated during multi-configuration generators (i.e. Xcode and Visual Studio) because target clutter impacts UI usability. * Also fixed a minor issue that Duncan pointed out to me I was passing the suite to lit twice Reviewers: chandlerc Subscribers: aemerson, llvm-commits Differential Revision: http://reviews.llvm.org/D8380 llvm-svn: 233009
-
Chris Bieneman authored
This commit is in reference to the llvm-dev thread: http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-March/083672.html llvm-svn: 233008
-
- Mar 18, 2015
-
-
Chris Bieneman authored
This change broke Polly. I'll track down the failure when I have a chance and re-apply the change. llvm-svn: 232676
-
Chris Bieneman authored
Summary: This change makes CMake scan for lit suites and generate a target for each lit test suite. The targets follow the format check-<project>-<suite path>. For example: check-llvm-unit - Runs the LLVM unit tests check-llvm-codegen-arm - Runs the ARM codeine tests Note: These targets are not generated during multi-configuration generators (i.e. Xcode and Visual Studio) because target clutter impacts UI usability. Reviewers: chandlerc Subscribers: aemerson, llvm-commits Differential Revision: http://reviews.llvm.org/D8380 llvm-svn: 232671
-
Reid Kleckner authored
The MSVC linker won't produce a .lib file for an executable that doesn't export anything, and LLVM doesn't maintain dllexport annotations or .def files listing all C++ symbols. It also doesn't support exporting all symbols, like binutils ld. CMake 3.2 changed the Ninja generator to list both the .exe and .lib files as outputs of executable build targets. Ninja would always re-link executables with ENABLE_EXPORTS because the .lib output file was not present, and therefore the target was out of date. llvm-svn: 232662
-
- Mar 10, 2015
-
-
Chris Bieneman authored
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 llvm-svn: 231842
-
- Mar 07, 2015
-
-
Chandler Carruth authored
libc++. This lets me almost self-host on Linux with libc++ and libc++abi very simply. Currently, MCJIT and OrcJIT are failing due to uncaught exceptions, and the Go binding tests are failing to build due to not linking in the correct C++ standard library. llvm-svn: 231560
-
- Feb 27, 2015
-
-
Reid Kleckner authored
"svn" patch by Sedat Dilek plus trimming whitespace added in r229720. llvm-svn: 230773
-
- Feb 25, 2015
-
-
Zachary Turner authored
When you use generator expressions in a library sources list, and then later access the SOURCES property, the OLD behavior (CMake 3.0 and earlier) would not include these expressions in the SOURCES property. The NEW behavior (starting in CMake 3.1) is that they do include the generator expressions in the SOURCES property. Differential Revision: http://reviews.llvm.org/D7870 Reviewed By: Chris Bieneman llvm-svn: 230396
-
- Feb 24, 2015
-
-
Tobias Grosser authored
This reverts commit r230062. Debian stable (wheezy) ships still with cmake 2.8.9. The commit broke my LLVM/Polly buildbot, to my knowledge our only Linux+cmake buildbot. llvm-svn: 230343
-