summaryrefslogtreecommitdiffstats
path: root/cmake/modules/LLVMLibDeps.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Rewrite the CMake build to use explicit dependencies between libraries,Chandler Carruth2011-07-291-83/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | specified in the same file that the library itself is created. This is more idiomatic for CMake builds, and also allows us to correctly specify dependencies that are missed due to bugs in the GenLibDeps perl script, or change from compiler to compiler. On Linux, this returns CMake to a place where it can relably rebuild several targets of LLVM. I have tried not to change the dependencies from the ones in the current auto-generated file. The only places I've really diverged are in places where I was seeing link failures, and added a dependency. The goal of this patch is not to start changing the dependencies, merely to move them into the correct location, and an explicit form that we can control and change when necessary. This also removes a serialization point in the build because we don't have to scan all the libraries before we begin building various tools. We no longer have a step of the build that regenerates a file inside the source tree. A few other associated cleanups fall out of this. This isn't really finished yet though. After talking to dgregor he urged switching to a single CMake macro to construct libraries with both sources and dependencies in the arguments. Migrating from the two macros to that style will be a follow-up patch. Also, llvm-config is still generated with GenLibDeps.pl, which means it still has slightly buggy dependencies. The internal CMake 'llvm-config-like' macro uses the correct explicitly specified dependencies however. A future patch will switch llvm-config generation (when using CMake) to be based on these deps as well. This may well break Windows. I'm getting a machine set up now to dig into any failures there. If anyone can chime in with problems they see or ideas of how to solve them for Windows, much appreciated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136433 91177308-0d34-0410-b5e6-96231b3b80d8
* Updated cmake library dependencies.Oscar Fuentes2011-07-281-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136327 91177308-0d34-0410-b5e6-96231b3b80d8
* Still more library dependency updates. This reflects the ever decreasingChandler Carruth2011-07-261-3/+3
| | | | | | dependence on CodeGen layers and backends from the MC layers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136024 91177308-0d34-0410-b5e6-96231b3b80d8
* Check in updated CMake dependencies after Evan's latest round ofChandler Carruth2011-07-251-10/+10
| | | | | | | | | refactorings. Several places that shouldn't have dependend on Target no longer do. Also almost all of the CodeGen dependencies have gone away for the MCDisassembler. Others add reasonable dependencies within the target-specific layers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135977 91177308-0d34-0410-b5e6-96231b3b80d8
* Move TargetRegistry.cpp from lib/Support to lib/Target where it belongs.Chandler Carruth2011-07-221-16/+16
| | | | | | | | | | | | | | The header file was already properly located. The previous need for it in Support had to do with the version string printing which was fixed in r135757. Also update build dependencies where libraries that needed the functionality of the Target library (in the form of the TargetRegistry) were picking it up via Support. This is pretty pervasive, essentially every TargetInfo library (ARMInfo, etc) uses TargetRegistry, making it depend on Target. All of these were previously just sneaking by. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135760 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the CMake library dependencies. These shifts are the result ofChandler Carruth2011-07-221-3/+3
| | | | | | | | | Evan's recent refactorings (I believe). Specifically, MCDisassembler no longer depends on Target, and ARMDisassembler no longer depends on CodeGen. The added dependencies from ARMAsmParser to ARMDesc looks correct based on header file inclusion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135759 91177308-0d34-0410-b5e6-96231b3b80d8
* The *MCAsmInfo.cpp files use ADT/Triple code, so add the Support dep.Chandler Carruth2011-07-151-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135239 91177308-0d34-0410-b5e6-96231b3b80d8
* Major update to CMake build to reflect changes in r135219 in theChandler Carruth2011-07-151-4/+4
| | | | | | | | | | | | backend. Moved some MCAsmInfo files down into the MCTargetDesc sublibraries, removed some (i suspect long) dead files from other parts of the CMake build, etc. Also copied the include directory hack from the Makefile. Finally, updated the lib deps. I spot checked this, and think its correct, but review appreciated there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135234 91177308-0d34-0410-b5e6-96231b3b80d8
* cmake/modules/LLVMLibDeps.cmake: Update since r135184.NAKAMURA Takumi2011-07-141-16/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135211 91177308-0d34-0410-b5e6-96231b3b80d8
* cmake/modules/LLVMLibDeps.cmake: Update to appease cmake builds.NAKAMURA Takumi2011-07-081-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134696 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix CMake build's library dependencies.Chandler Carruth2011-07-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134658 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CMake library dependenciesOscar Fuentes2011-07-071-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134616 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CMake library dependencies.Oscar Fuentes2011-06-251-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133859 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix cmake build.Rafael Espindola2011-06-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133830 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix cmake dependencies.Rafael Espindola2011-05-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131943 91177308-0d34-0410-b5e6-96231b3b80d8
* Another try at fixing cmake.Rafael Espindola2011-05-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131608 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert my previous patch. The cmake build had already been fixed.Rafael Espindola2011-05-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131606 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the cmake build.Rafael Espindola2011-05-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131602 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename profile_rt.so to libprofile_rt.so under configure+make (it already wasNick Lewycky2011-04-291-2/+2
| | | | | | | | | | | | | under cmake). Add libprofile_rt.a so that we can tell clang to link against it in --coverage mode. Also turn it on by default in cmake builds. Oscar, this touches a change you made for EXCLUDE_FROM_ALL support -- I think I've done the right thing, but please let me know (or fix and commit) if not! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130470 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert accidental change to LLVMLibDeps.cmakeMatt Beaumont-Gay2011-03-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128499 91177308-0d34-0410-b5e6-96231b3b80d8
* Quiet a gcc warning about changed name lookup rulesMatt Beaumont-Gay2011-03-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128497 91177308-0d34-0410-b5e6-96231b3b80d8
* Updated library dependencies.Oscar Fuentes2011-03-221-1/+1
| | | | | | | | Now we can remove RuntimeDyld from the LLVM_LINK_COMPONENTS of tools/lli. CMakeLists.txt LLVM_LINK_COMPONENTS shall not differ from its companion Makefile LINK_COMPONENTS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128069 91177308-0d34-0410-b5e6-96231b3b80d8
* Build the new RuntimeDyld library.Oscar Fuentes2011-03-211-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128035 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CMake library dependencies.Oscar Fuentes2011-03-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127956 91177308-0d34-0410-b5e6-96231b3b80d8
* Added missing va_end().Talin2011-03-011-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126759 91177308-0d34-0410-b5e6-96231b3b80d8
* New library: LLVMX86Utils.Oscar Fuentes2011-02-171-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125786 91177308-0d34-0410-b5e6-96231b3b80d8
* Update cmake library dependencies.Oscar Fuentes2010-12-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122239 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverting commit to LLVMLibDeps that was inadvertently done in 121649.Wesley Peck2010-12-121-51/+50
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121651 91177308-0d34-0410-b5e6-96231b3b80d8
* The ADD and ADDK (and all variants) instructions where flip-flopped in the ↵Wesley Peck2010-12-121-50/+51
| | | | | | MBlaze backend. This bug fix makes 64-bit math work on the MBlaze backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121649 91177308-0d34-0410-b5e6-96231b3b80d8
* Update library dependencies changed in the System -> Support merge.Michael J. Spencer2010-11-291-40/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120308 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement ELF object file writing support for the MBlaze backend. Its not ↵Wesley Peck2010-11-211-8/+8
| | | | | | perfect yet, but it works for many tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119952 91177308-0d34-0410-b5e6-96231b3b80d8
* Updated library dependencies.Oscar Fuentes2010-11-181-9/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119592 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert inadvertant checkin of CMake libdeps.Jim Grosbach2010-11-161-28/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119355 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM conditional mov encoding fix.Jim Grosbach2010-11-161-27/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119354 91177308-0d34-0410-b5e6-96231b3b80d8
* Updated CMake library dependencies.Oscar Fuentes2010-11-141-32/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119076 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Finishing MBlaze MC asm parser test casesWesley Peck2010-11-121-1/+1
| | | | | | | | | | | 2. Parsing .word directive in MBlaze asm parser 3. Fixing hack where memory instructions reversed order of last two parameters 4. Fixing many improperly encoded instructions 5. Support parsing special instructions (MFS,MTS,etc.) 6. Removing unused functions from inst printer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118941 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding working version of assembly parser for the MBlaze backendWesley Peck2010-11-081-16/+16
| | | | | | | Major cleanup of whitespace and formatting issues in MBlaze backend git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118434 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding disassembler to the MicroBlaze backend.Wesley Peck2010-10-271-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117420 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding initial AsmParser implementation for the MBlaze backend. It isWesley Peck2010-10-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | mostly based on the ARM AsmParser at this time and is not particularly functional. Changed the MBlaze data layout from: "E-p:32:32-i8:8:8-i16:16:16-i64:32:32-f64:32:32-v64:32:32-v128:32:32-n32" to: "E-p:32:32:32-i8:8:8-i16:16:16" because the MicroBlaze doesn't have i64, f64, v64, or v128 data types. Cleaned up the MBlaze source code: 1. The floating point register class has been removed. The MicroBlaze does not have floating point registers. Floating point values are simply stored in integer registers. 2. Renaming the CPURegs register class to GPR to reflect the standard naming. 3. Removing a lot of stale code from AsmPrinter after the conversion to InstPrinter. 4. Simplified sign extended loads by marking them as expanded in ISelLowering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117054 91177308-0d34-0410-b5e6-96231b3b80d8
* Recommit 116986 with capitalization typo fixed.Wesley Peck2010-10-211-29/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116993 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverting the commit 116986. It was breaking the build on llvm-x86_64-linux ↵Wesley Peck2010-10-211-29/+29
| | | | | | | | | | though it compiles on OS X. I'll ensure that it builds on a linux machine before committing again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116991 91177308-0d34-0410-b5e6-96231b3b80d8
* Major update of the MicroBlaze backend. The new features are:Wesley Peck2010-10-211-29/+29
| | | | | | | | | | | | | | | | | | | | | 1. A delay slot filler that searches for valid instructions to fill the delay slot with. Previously NOPs would always be inserted into delay slots. 2. Support for MC based instruction printer added. 3. Support for MC based machine code generation and ELF file generation. ELF file generation does not yet completely work as much of the ELF support infrastructure is still x86/x86-64 specific. 4. General clean up of the MBlaze backend code. Much of the tablegen code has been cleanup and simplified. Bug Fixes: 1. Removed duplicate periods from subtarget feature descriptions. 2. Many of the instructions had bad machine code information in the tablegen files. Much of this has been fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116986 91177308-0d34-0410-b5e6-96231b3b80d8
* Per discussion with Sanjiv, remove the PIC16 target from mainline. When/ifChris Lattner2010-10-111-5/+1
| | | | | | | | it comes back, it will be largely a rewrite, so keeping the old codebase in tree isn't helping anyone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116190 91177308-0d34-0410-b5e6-96231b3b80d8
* Update LLVMLibDepsJim Grosbach2010-10-051-13/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115583 91177308-0d34-0410-b5e6-96231b3b80d8
* Update library dependencies.Oscar Fuentes2010-10-021-12/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115404 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the canonical library name for library PIC16Passes.Oscar Fuentes2010-09-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114953 91177308-0d34-0410-b5e6-96231b3b80d8
* Added library LLVMPIC16passes to CMake build.Oscar Fuentes2010-09-281-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114952 91177308-0d34-0410-b5e6-96231b3b80d8
* Added PTX target to the CMake build.Oscar Fuentes2010-09-281-10/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114951 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed remnant target library dependencies from LLVMLibDeps.cmakeOscar Fuentes2010-09-271-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114826 91177308-0d34-0410-b5e6-96231b3b80d8
* Updated LLVMLibDeps.cmakeOscar Fuentes2010-09-271-9/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114825 91177308-0d34-0410-b5e6-96231b3b80d8