- Aug 29, 2017
-
-
Reid Kleckner authored
Summary: This reduces the number of build actions after a no-op commit from thousands to about six, which should be acceptable. If six actions is still too many, developers can disable the LLVM_APPEND_VC_REV cmake option. llvm-config.h is a widely included header that should rarely change. Before this patch, it would change after every re-configure. Very few users of llvm-config.h need to know the precise version, and those that do can migrate to incorporating LLVM_REVISION as provided by llvm/Support/VCSRevision.h. This should bring LLVM back to the behavior that it had before r306858 from June 30 2017. Most LLVM tools will now print a version string like "6.0.0svn" instead of "6.0.0-git-c40c2a23de4". Fixes PR34308 Reviewers: pcc, rafael, hans Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D37272 llvm-svn: 312043
-
- Aug 13, 2017
-
-
Alex Bradbury authored
It was mistakenly added to that list in D23560 (committed in rL285712). RISCV is an experimental backend and should never have been in that list, I mistakenly interpreted LLVM_ALL_TARGETS as a list of all targets rather than targets to build by default. Unfortunately, because of this the RISCV backend has been building by default when it shouldn't be. This commet adds a description comment, which should help to avoid such mistakes in the future. See my message to llvm-dev for more information and analysis <http://lists.llvm.org/pipermail/llvm-dev/2017-August/116347.html>. Differential Revision: https://reviews.llvm.org/D36538 llvm-svn: 310796
-
- Aug 03, 2017
-
-
Quentin Colombet authored
With this change, the GlobalISel library gets always built. In particular, this is not possible to opt GlobalISel out of the build using the LLVM_BUILD_GLOBAL_ISEL variable any more. llvm-svn: 309990
-
- Aug 02, 2017
-
-
Reid Kleckner authored
This reverts r309602, check-lit still leaves Output directories in the source directory. llvm-svn: 309833
-
- Jul 31, 2017
-
-
Reid Kleckner authored
Summary: This is an alternative solution to running the lit test suite on bots without polluting the source directory. Each input test suite gets an auto-generated site config in the build directory that points back to the test input source directory. This adds some cmake comlexity, but now we don't need to remove and re-copy the test input directory before every test. Reviewers: delcypher, modocache Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D36026 llvm-svn: 309602
-
- Jul 27, 2017
-
-
Brian Gesiak authored
Summary: Depends on https://reviews.llvm.org/D35879. This reverts rL257268, which in turn was a revert of rL257221. https://reviews.llvm.org/D35879 marks the tests in the lit test suite that fail on Windows as XFAIL, which should allow these tests to pass on Windows-based buildbots. Reviewers: delcypher, beanz, mgorny, jroelofs, rnk Reviewed By: mgorny Subscribers: rnk, ddunbar, george.karpenkov, llvm-commits Differential Revision: https://reviews.llvm.org/D35880 llvm-svn: 309310
-
- Jul 23, 2017
-
-
NAKAMURA Takumi authored
This gets rid of almost LLVM targets unconditionally depending on intrinsic_gen. Clang's modules still have weird dependencies and hard to remove intrinsics_gen in better way. Then, it'd be better to give whole clang targets depend on intrinsic_gen. llvm-svn: 308844
-
- Jul 20, 2017
-
-
Eric Beckmann authored
Summary: Implement parsing and writing of a single xml manifest file. Subscribers: mgorny, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D35425 llvm-svn: 308679
-
- Jul 19, 2017
-
-
Hans Wennborg authored
llvm-svn: 308442
-
NAKAMURA Takumi authored
The builder clang-x86_64-linux-selfhost-modules-2 complains. Investigating. llvm-svn: 308439
-
NAKAMURA Takumi authored
I think modulemap is sufficient for intrinsics_gen in trunk. I won't find any issues around that. llvm-svn: 308434
-
- Jul 05, 2017
-
-
Tom Stellard authored
Summary: This is like the LLVM_TOOLS_INSTALL_DIR option, but for the utils that are installed when the LLVM_INSTALL_UTILS. This option defaults to 'bin' to remain consistent with the current behavior, but distros may want to install these to libexec/llvm. Reviewers: beanz Reviewed By: beanz Subscribers: llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D30655 llvm-svn: 307150
-
- Jun 30, 2017
-
-
Rafael Espindola authored
Working with git on a branch I find it really annoying that committing a change causes ninja to think that stuff needs to be rebuilt. With this change at least nothing in llvm needs to be rebuild when something is committed. llvm-svn: 306858
-
- Jun 22, 2017
-
-
Kamil Rytarowski authored
Summary: Got rid of unwieldy -include Solaris.h portability solution, replacing it with interposed header and moving endian defines into Host.h. Fixes PR28370. Reviewers: joerg, alekseyshl, mgorny Reviewed By: joerg Subscribers: llvm-commits, mgorny, ro, krytarowski Patch by Fedor Sergeev. Differential Revision: https://reviews.llvm.org/D3413 llvm-svn: 306002
-
Ekaterina Vaartis authored
llvm-svn: 305994
-
- Jun 17, 2017
-
-
NAKAMURA Takumi authored
[CMake] Introduce LLVM_TARGET_TRIPLE_ENV as an option to override LLVM_DEFAULT_TARGET_TRIPLE at runtime. No behavior is changed if LLVM_TARGET_TRIPLE_ENV is blank or undefined. If LLVM_TARGET_TRIPLE_ENV is "TEST_TARGET_TRIPLE" and $TEST_TARGET_TRIPLE is not blank, llvm::sys::getDefaultTargetTriple() returns $TEST_TARGET_TRIPLE. Lit resets config.target_triple and config.environment[LLVM_TARGET_TRIPLE_ENV] to change the default target. Without changing LLVM_DEFAULT_TARGET_TRIPLE nor rebuilding, lit can be run; TEST_TARGET_TRIPLE=i686-pc-win32 bin/llvm-lit -sv path/to/test/ TEST_TARGET_TRIPLE=i686-pc-win32 ninja check-clang-tools Differential Revision: https://reviews.llvm.org/D33662 llvm-svn: 305632
-
- Jun 10, 2017
-
-
Vassil Vassilev authored
Patch by David Abdurachmanov! llvm-svn: 305123
-
- Jun 09, 2017
-
-
Vassil Vassilev authored
Fixes embedded uses of llvm where google testing framework is provided outside. llvm-svn: 305088
-
- May 25, 2017
-
-
Aaron Ballman authored
By default, CMake uses a 32-bit toolchain, even when on a 64-bit platform targeting a 64-bit build. However, due to the size of the binaries involved, this can cause linker instabilities (such as the linker running out of memory). Guide people to the correct solution to get CMake to use the native toolchain. llvm-svn: 303912
-
- May 03, 2017
-
-
Tom Stellard authored
Summary: When apps or other libraries link against a library with symbol versions, the version string is recorded in the import table, and used at runtime to resolve the symbol back to a library that provides that version (vaguely like how two-level namespaces work in Mach-O). ld's --default-symver flag tags every exported symbol with a symbol version string equal to the library's soname. Using --default-symver means multiple versions of libLLVM can coexist within the same process, at least to the extent that they don't try to pass data between each other's llvms. As an example, imagine a language like Rust using llvm for CPU codegen, binding to OpenGL, with Mesa as the OpenGL implementation using llvm for R600 codegen. With --default-symver Rust and Mesa will resolve their llvm usage to the version each was linked against, which need not match. (Other ELF platforms like BSD and Solaris might have similar semantics, I've not checked.) This is based on an autoconf version of this patch by Adam Jackson. This new option can be used to add --default-symver to the linker flags for libLLVM.so. Reviewers: beanz Reviewed By: beanz Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D30997 llvm-svn: 302026
-
- Apr 19, 2017
-
-
Xin Tong authored
Summary: VersionPrinter by default outputs information about the Host CPU and Default target. Printing this information requires linking in a large amount of data, such as supported target triples as C strings, which in turn bloats the binary size. Enable a new CMake option LLVM_VERSION_PRINTER_SHOW_HOST_TARGET_INFO which controls printing of the host and target info. This allows the target triple names to be dead-code stripped. This is a nice win for LLVM clients that wish to minimize their binary size, such as graphics drivers. By default this is ON, so there is no change in the default behavior. Clients who wish to suppress this printing can do so by setting this option to off via CMake. A test app on Linux that uses ParseCommandLineOptions() shows a binary size reduction of 23KB (from 149K to 126K) for a Release build, and 24KB (from 135K to 111K) in a MinSizeRel build. Reviewers: klimek, beanz, bogner, chandlerc, compnerd Reviewed By: compnerd Patch by pammon (Peter Ammon) ! Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30904 llvm-svn: 300630
-
- Mar 23, 2017
-
-
Petr Hosek authored
This could be used to either disable the runtimes build altogether or avoid building them but still generate the build targets. Differential Revision: https://reviews.llvm.org/D31060 llvm-svn: 298653
-
Vassil Vassilev authored
When a python script is run, by default it creates the bytecode file if the directory is writable, and this ‘pollutes’ source folders. From python's help: -B Don’t write .py[co] files on import. See also PYTHONDONTWRITEBYTECODE. Patch by Pere Mato (D30604)! llvm-svn: 298603
-
- Mar 21, 2017
-
-
Serge Pavlov authored
CMake variable LLVM_DEFINITIONS collects preprocessor definitions provided for host compiler that builds llvm components. A function add_llvm_definitions was introduced in AddLLVMDefinitions.cmake to keep track of these definitions and was intended to be a replacement for CMake command add_definitions. Actually in many cases add_definitions is still used and the content of LLVM_DEFINITIONS is not actual now. On the other hand the current version of CMake allows getting set of definitions in a more convenient way. This fix implements evaluation of the variable by reading corresponding cmake property. Differential Revision: https://reviews.llvm.org/D31125 llvm-svn: 298336
-
- Mar 07, 2017
-
-
Bob Wilson authored
This is a follow-up to my change in r295090, which added support for disabling these checks selectively based on setting the preprocessor macro without relying on the Cmake setting. Swift has moved over to use that approach, so we can clean up here and remove the Cmake setting. https://reviews.llvm.org/D30578 llvm-svn: 297109
-
- Mar 06, 2017
-
-
Tom Stellard authored
Summary: 'make srpm' or 'ninja srpm' will tar up the current source code and then build a source RPM package. By default it will use the llvm.spec file to generate the source RPM, but you can specify your own custom spec file with the LLVM_SRPM_USER_BINARY_SPECFILE option. CMake will perform variable substitution on your custom specfile, so you can reference CMake variables in it. For example: Version: @LLVM_RPM_SPEC_VERSION@ Note that everything in the source directory will be included in the tarball so if you have a clang check out in tools/clang, then all the clang source will end up in the tarball to. It is recommended to only use this build target with a clean source tree. Reviewers: beanz Reviewed By: beanz Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D30093 llvm-svn: 297007
-
- Feb 14, 2017
-
-
Aditya Nandakumar authored
To help assist in debugging ISEL or to prioritize GlobalISel backend work, this patch adds two more tables to <Target>GenISelDAGISel.inc - one which contains the patterns that are used during selection and the other containing include source location of the patterns Enabled through CMake varialbe LLVM_ENABLE_DAGISEL_COV llvm-svn: 295081
-
- Feb 08, 2017
-
-
Chris Bieneman authored
This patch allows a user to specify a their own libtool instead of auto-detecting one. llvm-svn: 294371
-
- Feb 07, 2017
-
-
Chris Bieneman authored
Moving the Ninja job pool configuration settings into the HandleLLVMOptions module will allow standalone builds of LLVM sub-projects to use the LLVM options without needing to re-implement them. llvm-svn: 294334
-
- Jan 28, 2017
-
-
Vadim Chugunov authored
In order to make sure that LLVM continues to work on machines that do not have the Universal CRT yet, we'll need to ship a copy of UCRT in the Windows installation package. Fortunately, CMake 3.6+ already supports app-local deployment of UCRT dlls, we just need to turn this on. Differential Revision: https://reviews.llvm.org/D29146 llvm-svn: 293373
-
- Jan 27, 2017
-
-
Quentin Colombet authored
Now, GlobalISel will be built by default. To turn that off, one has to use -DLLVM_BUILD_GLOBAL_ISEL=OFF on the cmake command line. <rdar://problem/30004433> llvm-svn: 293232
-
- Jan 12, 2017
-
-
Hans Wennborg authored
llvm-svn: 291815
-
- Dec 22, 2016
-
-
Reid Kleckner authored
compiler-rt uses it in its lit tests. llvm-svn: 290357
-
- Dec 06, 2016
-
-
Chris Bieneman authored
I broke this in r288770. llvm-svn: 288829
-
Chris Bieneman authored
It is kinda crazy to have llvm/include and llvm/lib/Target in the include path for every tablegen invocation for every tablegen-like tool. This patch removes those flags from the tablgen function that is called everywhere by instead creating a variable LLVM_TABLEGEN_FLAGS which is setup in the LLVM source directories. This removes TableGen.cmake's dependency on LLVM_MAIN_SRC_DIR, and LLVM_MAIN_INCLUDE_DIR. llvm-svn: 288770
-
Mehdi Amini authored
Summary: We recently introduced a feature that enforce at link-time that the LLVM headers used by a clients are matching the ABI setting of the LLVM library linked to. However for clients that are using only headers from ADT and promise they won't call into LLVM, this is forcing to link libSupport. This new flag is intended to provide a way to configure LLVM with this promise for such client. Reviewers: bob.wilson, compnerd Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D27432 llvm-svn: 288754
-
- Dec 05, 2016
-
-
Kuba Mracek authored
Use Darwin libtool's -no_warning_for_no_symbols if available to silence the "has no symbols" link warning Building compiler-rt on Darwin produces dozens of meaningless warnings about object files having no symbols during static archive creation. This is very intentional as compiler-rt uses #ifdefs to conditionally compile platform-specific code, and we even have a .cpp source file that only contains static asserts to make sure the environment is configured right. On Linux, this situation is fine and no warning is produced. This patch adds a libtool version detection and if it's new enough, we'll use the -no_warning_for_no_symbols flag that suppresses this warning. Build logs should be much cleaner now! Differential Revision: https://reviews.llvm.org/D27119 llvm-svn: 288640
-
- Nov 28, 2016
-
-
Mehdi Amini authored
The macro LLVM_ENABLE_ABI_BREAKING_CHECKS is moved to a new header abi-breaking.h, from llvm-config.h. Only headers that are using the macro are including this new header. LLVM will define a symbol, either EnableABIBreakingChecks or DisableABIBreakingChecks depending on the configuration setting for LLVM_ABI_BREAKING_CHECKS. The abi-breaking.h header will add weak references to these symbols in every clients that includes this header. This should ensure that a mismatch triggers a link failure (or a load time failure for DSO). On MSVC, the pragma "detect_mismatch" is used instead. Differential Revision: https://reviews.llvm.org/D26876 llvm-svn: 288082
-
Daniil Fukalov authored
At the moment optimized tablegen is generated by LLVM_USE_HOST_TOOLS variable that is not set for Visual Sudio since LLVM_ENABLE_ASSERTIONS depends on CMAKE_BUILD_TYPE value that is not equal to "DEBUG" in case of Visual Studio soltion generation. Modified to do not depend on LLVM_ENABLE_ASSERTIONS value in VS and Xcode cases Reviewers: beanz Subscribers: RKSimon, llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D27135 llvm-svn: 288042
-
- Nov 18, 2016
-
-
Yichao Yu authored
Summary: This should provide the function similar to `--disable-libedit` with the autotools build system, which seems to be missing from the commit (r200595) that adds this. Reviewers: pcc, beanz Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D26550 llvm-svn: 287293
-