summaryrefslogtreecommitdiffstats
path: root/llvm/tools/lto/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* cmake: Add INSTALL_WITH_TOOLCHAIN option to add_*_library macrosTom Stellard2019-07-121-1/+1
| | | | | | | | | | | | | | | | | | | Summary: This will simplify the macros by allowing us to remove the hard-coded list of libraries that should be installed when LLVM_INSTALL_TOOLCHAIN_ONLY is enabled. Reviewers: beanz, smeenai Reviewed By: beanz Subscribers: aheejin, mehdi_amini, mgorny, steven_wu, dexonsmith, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D64580 llvm-svn: 365902
* Break false dependencies on target librariesDaniel Sanders2019-05-231-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: For the most part this consists of replacing ${LLVM_TARGETS_TO_BUILD} with some combination of AllTargets* so that they depend on specific components of a target backend rather than all of it. The overall effect of this is that, for example, tools like opt no longer falsely depend on the disassembler, while tools like llvm-ar no longer depend on the code generator. There's a couple quirks to point out here: * AllTargetsCodeGens is a bit more prevalent than expected. Tools like dsymutil seem to need it which I was surprised by. * llvm-xray linked to all the backends but doesn't seem to need any of them. It builds and passes the tests so that seems to be correct. * I left gold out as it's not built when binutils is not available so I'm unable to test it Reviewers: bogner, JDevlieghere Reviewed By: bogner Subscribers: mehdi_amini, mgorny, steven_wu, dexonsmith, rupprecht, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62331 llvm-svn: 361567
* [CMake] LTO depends on intrinsics_genChris Bieneman2016-11-181-1/+1
| | | | | | | | | | | | | | | | lto.cpp has the following include chain: llvm/Bitcode/BitcodeReader.h llvm/IR/ModuleSummaryIndex.h llvm/IR/Module.h llvm/IR/Function.h llvm/IR/Argument.h llvm/IR/Attributes.h llvm/IR/Attributes.gen This means LTO needs to depend on intrinsics_gen. llvm-svn: 287393
* Fix libdeps in r275125. LTO tools require BitReader.NAKAMURA Takumi2016-07-121-0/+1
| | | | llvm-svn: 275148
* [CMake] Assigning the LTO component to lto.hChris Bieneman2016-02-261-1/+2
| | | | | | This makes it so lto.h is installed when you run the install-LTO target. llvm-svn: 262066
* [CMake] Add LLVM_VERSION_PATCH to the -current_version flag for libLTO and ↵Chris Bieneman2015-10-141-1/+1
| | | | | | | | libLLVM. This is to match autoconf where LLVM_SUBMIT_SUBVERSION is usually set to ${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}. llvm-svn: 250277
* [CMake] Add compatibility and current versioning to libLTO to match autoconf ↵Chris Bieneman2015-10-131-0/+10
| | | | | | | | support. This also adds LLVM_LTO_VERSION_OFFSET to support functional equivalence to autoconf. llvm-svn: 250245
* add missing dependency on Target lib for toolsSanjay Patel2015-06-031-0/+1
| | | | | | | This was exposed by r238842 (which was reverted by r238900) when doing a CMake build with -DBUILD_SHARED_LIBS=ON. llvm-svn: 238953
* Unbreak cmake build with shared libraries enabled.Matthias Braun2014-12-201-0/+1
| | | | llvm-svn: 224661
* Remove definition of LLVM_VERSION_INFO; this macro is not used by any of theRichard Smith2014-09-261-2/+0
| | | | | | | | | files in this directory. If it should be defined anywhere, it should be defined when building lib/LTO/LTOCodeGenerator.cpp, but we've not had it defined there for quite some time, so that doesn't really seem to be very important. (It also would slow down the modules build by creating extra module variants.) llvm-svn: 218544
* [CMake] tools/lto: Prune redundant libdep(s).NAKAMURA Takumi2014-07-241-1/+0
| | | | llvm-svn: 213855
* Don't force the build of toos/lto as a static lib.Rafael Espindola2014-06-271-5/+1
| | | | | | | | Any uses of tools/lto as a static lib should probably move to lib/LTO. This was also never implemented in the configure build, so this reduces the differences among the two. llvm-svn: 211852
* [CMake] llvm-c/lto.h should be installed if libLTO.a is built.NAKAMURA Takumi2014-02-211-4/+2
| | | | llvm-svn: 201859
* [CMake] libLTO: Use (SHARED|STATIC) to build both shared LTO and LTO_static.NAKAMURA Takumi2014-02-211-15/+3
| | | | llvm-svn: 201856
* Revert r200560, "LTO itself hasn't depended on MCDisassembler any more."NAKAMURA Takumi2014-01-311-0/+1
| | | | | | Oh sorry, I missed LTO.exports, ... I checked just only *.cpp(s). llvm-svn: 200562
* LTO itself hasn't depended on MCDisassembler any more.NAKAMURA Takumi2014-01-311-1/+0
| | | | llvm-svn: 200560
* EXPORTED_SYMBOL_FILE support for cmakeNico Weber2013-12-281-19/+3
| | | | | | | | | | | | | The cmake build didn't support EXPORTED_SYMBOL_FILE. Instead, it had a Windows-only implementation in tools/lto/CMakeLists.txt, a linux-only implementation in tools/gold/CMakeLists.txt, and a darwin-only implementation in tools/clang/tools/libclang/CMakeLists.txt. This attempts to consolidate these one-offs into a single place. Clients can now just set LLVM_EXPORTED_SYMBOL_FILE and things (hopefully) Just Work, like in the make build. llvm-svn: 198136
* [CMake] Add MCDisassembler to tools/lto. (has been removed since r196908)NAKAMURA Takumi2013-12-101-0/+1
| | | | | | lto.exports really exports LLVM-C Disasm stuff. llvm-svn: 196911
* [CMake] Update LLVM_LINK_COMPONENTS for each CMakeLists.txt.NAKAMURA Takumi2013-12-101-1/+5
| | | | llvm-svn: 196908
* Only modify lto.exports.def when contents have changed.Rafael Espindola2013-10-081-3/+9
| | | | | | Patch by Greg Bedwell. llvm-svn: 192182
* Enable building LTO on WIN32.Rafael Espindola2013-10-021-3/+17
| | | | | | | | | Enable building the LTO library (.lib and.dll) and llvm-lto.exe on Windows with MSVC and Mingw as well as re-enabling the associated test. Patch by Greg Bedwell! llvm-svn: 191823
* Revert "Enable building LTO on WIN32."Rafael Espindola2013-09-301-14/+2
| | | | | | | | | | This reverts commit r191670. It was causing build failures on the msvc bots: http://bb.pgr.jp/builders/ninja-clang-i686-msc17-R/builds/5166/steps/compile/logs/stdio llvm-svn: 191679
* Enable building LTO on WIN32.Rafael Espindola2013-09-301-2/+14
| | | | | | | | | Enable building the LTO library (.lib and.dll) and llvm-lto.exe on Windows with MSVC and Mingw as well as re-enabling the associated test. Patch by Greg Bedwell! llvm-svn: 191670
* Move LTO support library to a component, allowing it to be testedPeter Collingbourne2013-09-241-3/+1
| | | | | | more reliably across platforms. Patch by Tom Roeder! llvm-svn: 191343
* CMake: move lto.h install to tools/lto/CMakeLists.txtHans Wennborg2013-08-261-0/+5
| | | | | | It looked misplaced in the main CMakeLists.txt file. llvm-svn: 189230
* lto/CMakeLists.txt: Cut the dep to intrinsics_gen. LTO doesn't depend on it ↵NAKAMURA Takumi2013-08-231-2/+0
| | | | | | and LTO_static doesn't depend on anything. llvm-svn: 189086
* Revert r188188 and r188200.Shuxin Yang2013-08-121-2/+0
| | | | | | | | In order to appease people (in Apple) who accuse me for committing "huge change" (?) without proper review. Thank Eric for fixing a compile-warning. llvm-svn: 188204
* Misc enhancements to LTO:Shuxin Yang2013-08-121-0/+2
| | | | | | | | | | | | | | | | | | | | | 1. Add some helper classes for partitions. They are designed in a way such that the top-level LTO driver will not see much difference with or without partitioning. 2. Introduce work-dir. Now all intermediate files generated during LTO phases will be saved under work-dir. User can specify the workdir via -lto-workdir=/path/to/dir. By default the work-dir will be erased before linker exit. To keep the workdir, do -lto-keep, or -lto-keep=1. TODO: Erase the workdir, if the linker exit prematurely. We are currently not able to remove directory on signal. The support routines simply ignore directory. 3. Add one new API lto_codegen_get_files_need_remove(). Linker and LTO plugin will communicate via this API about which files (including directories) need to removed before linker exit. llvm-svn: 188188
* [CMake] Update dependencies to intrinsics_gen corresponding to r169711.NAKAMURA Takumi2012-12-101-0/+2
| | | | llvm-svn: 169724
* libLTO: Add a utility method to initialize the disassemblers.Benjamin Kramer2012-11-241-0/+1
| | | | | | | | | | | | Necessary to give disassembler users (like darwin's otool) a possibility to dlopen libLTO and still initialize the required LLVM bits. This used to go through libMCDisassembler but that's a gross layering violation, the MC layer can't pull in functions from the targets. Adding a function to libLTO is a bit of a hack but not worse than exposing other disassembler bits from libLTO. Fixes PR14362. llvm-svn: 168545
* Add a basic-block autovectorization pass.Hal Finkel2012-02-011-1/+1
| | | | | | | This is the initial checkin of the basic-block autovectorization pass along with some supporting vectorization infrastructure. Special thanks to everyone who helped review this code over the last several months (especially Tobias Grosser). llvm-svn: 149468
* Update CMakeLists.txtDevang Patel2011-04-011-1/+1
| | | | | | Patch by arrowdoger. llvm-svn: 128719
* Build LTO as a static library too.Oscar Fuentes2011-03-121-4/+12
| | | | llvm-svn: 127553
* Build LTO as a static library too.Oscar Fuentes2011-03-121-4/+8
| | | | llvm-svn: 127549
* Update link components for llvm-dis and LTO.Oscar Fuentes2011-03-121-1/+3
| | | | llvm-svn: 127545
* Add LTO and gold plugin to the CMake build. Linux-only, support forOscar Fuentes2011-03-111-0/+13
other systems pending. PR9456. llvm-svn: 127466
OpenPOWER on IntegriCloud