Commit Graph

189 Commits

Author SHA1 Message Date
Wesley Peck e9b429e96f Adding disassembler to the MicroBlaze backend.
llvm-svn: 117420
2010-10-27 00:23:01 +00:00
Oscar Fuentes ff11a23ef3 Loadable modules are not supported on Cygwin. PR 6655.
llvm-svn: 117130
2010-10-22 19:03:24 +00:00
Michael J. Spencer 46ea135ea7 Endian: Get rid of LLVM_IS_HOST_BIG_ENDIAN.
llvm-svn: 117124
2010-10-22 18:45:12 +00:00
Oscar Fuentes a522175a90 Avoid stalled file dependency when tablegenning.
Patch by Frits van Bommel!

llvm-svn: 117113
2010-10-22 17:37:42 +00:00
Oscar Fuentes 26b1d20b98 Don't try to guess svn version when current path is a symlink.
See PR 8473.

llvm-svn: 117109
2010-10-22 17:16:26 +00:00
Oscar Fuentes 861e51a244 Teach CMake to only touch tablegen-generated files if anything
actually changed.

Patch by Frits van Bommel!

llvm-svn: 117102
2010-10-22 16:20:10 +00:00
Michael J. Spencer f572e3fc4c Rename LLVM_IS_TARGET_BIG_ENDIAN to LLVM_IS_HOST_BIG_ENDIAN to reflect what it actually means.
llvm-svn: 117092
2010-10-22 08:47:28 +00:00
Michael J. Spencer b550b66543 Support: Add Endian.h
llvm-svn: 117057
2010-10-21 20:28:21 +00:00
Wesley Peck a7f6150c14 Adding initial AsmParser implementation for the MBlaze backend. It is
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.

llvm-svn: 117054
2010-10-21 19:48:38 +00:00
Wesley Peck c16f77fb27 Recommit 116986 with capitalization typo fixed.
llvm-svn: 116993
2010-10-21 03:57:26 +00:00
Wesley Peck 078db00f1d Reverting the commit 116986. It was breaking the build on llvm-x86_64-linux though it
compiles on OS X. I'll ensure that it builds on a linux machine before committing
again.

llvm-svn: 116991
2010-10-21 03:34:22 +00:00
Wesley Peck f608ac4db9 Major update of the MicroBlaze backend. The new features are:
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.

llvm-svn: 116986
2010-10-21 03:09:55 +00:00
Oscar Fuentes 889c1e7d80 Build with RTTI and exceptions disabled. Only in GCC for now.
llvm-svn: 116682
2010-10-17 02:26:16 +00:00
Oscar Fuentes ffe32e1137 When building shared libraries, link to required system libraries.
PR 8375

llvm-svn: 116479
2010-10-14 15:54:41 +00:00
Oscar Fuentes d6c1f37f86 GetTargetTriple.cmake: detect MinGW 64 bits.
llvm-svn: 116424
2010-10-13 20:15:08 +00:00
Chris Lattner 1ef5e84c31 Per discussion with Sanjiv, remove the PIC16 target from mainline. When/if
it comes back, it will be largely a rewrite, so keeping the old codebase
in tree isn't helping anyone.

llvm-svn: 116190
2010-10-11 05:44:40 +00:00
Michael J. Spencer 33a390e2ca CMake: Fix warning in gtest.
llvm-svn: 115935
2010-10-07 18:12:54 +00:00
Jim Grosbach f5e294027e Update LLVMLibDeps
llvm-svn: 115583
2010-10-05 00:35:16 +00:00
Oscar Fuentes 010f24977d Update library dependencies.
llvm-svn: 115404
2010-10-02 03:04:43 +00:00
Oscar Fuentes fb8126796d Export LLVM_ALL_TARGETS in LLVM.cmake. It is used by LLVMConfig.
llvm-svn: 115039
2010-09-29 15:28:55 +00:00
Oscar Fuentes 18811d503d Simplified LLVMConfig.
llvm-svn: 114998
2010-09-28 22:38:39 +00:00
Oscar Fuentes cd43c696c9 Use the canonical library name for library PIC16Passes.
llvm-svn: 114953
2010-09-28 14:24:47 +00:00
Oscar Fuentes 0fcb8c688d Added library LLVMPIC16passes to CMake build.
llvm-svn: 114952
2010-09-28 14:02:45 +00:00
Oscar Fuentes b35856e338 Added PTX target to the CMake build.
llvm-svn: 114951
2010-09-28 14:02:36 +00:00
Oscar Fuentes 5680231071 Removed remnant target library dependencies from LLVMLibDeps.cmake
llvm-svn: 114826
2010-09-27 13:49:41 +00:00
Oscar Fuentes f80c3c1a30 Updated LLVMLibDeps.cmake
llvm-svn: 114825
2010-09-27 13:33:17 +00:00
Oscar Fuentes 46d8a93005 Reverting "CMake: Don't include tools, unittets, or examples as
available targets unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies
LLVM_INCLUDE_X"

It breaks the configuration phase when cmake is invoked without
parameters, it is too complex for the purpose and introduces an
incovenience for the user (as both LLVM_BUILD_X and LLVM_INCLUDE_X
must set to OFF for not including X on the build)

llvm-svn: 114795
2010-09-25 20:25:25 +00:00
Michael J. Spencer e35a611aa5 CMake: Don't include tools, unittets, or examples as available targets
unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies LLVM_INCLUDE_X

llvm-svn: 114747
2010-09-24 19:10:51 +00:00
Michael J. Spencer 1444f47deb Fix whitespace.
llvm-svn: 114724
2010-09-24 09:00:56 +00:00
Oscar Fuentes bcc8b2f9e5 cmake: test for the presence of fenv.h
llvm-svn: 114205
2010-09-17 20:30:48 +00:00
Oscar Fuentes 80a32d62f6 Updated LLVMLibDeps.cmake
llvm-svn: 114143
2010-09-17 00:43:53 +00:00
Michael J. Spencer 93c9b2ea93 Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally."
This reverts commit r113632

Conflicts:

	cmake/modules/AddLLVM.cmake

llvm-svn: 113819
2010-09-13 23:59:48 +00:00
Michael J. Spencer 7c3a5ee996 CMake: Fix mingw32 build.
llvm-svn: 113676
2010-09-11 02:13:39 +00:00
Michael J. Spencer dc38d36ccb CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally.
llvm-svn: 113632
2010-09-10 21:14:25 +00:00
Michael J. Spencer ad39c92fbd CMake: Use the svn revision information from git-svn if available.
llvm-svn: 113405
2010-09-08 20:49:40 +00:00
Oscar Fuentes e16dc06159 Fix cmake build without native target selected.
The cmake (+ MSVC) build is broken if you don't select your native
target.

e.g. 'cmake -D LLVM_TARGETS_TO_BUILD="MyNonNativeTarget" .'

This is because cmake currently sets the LLVM_NATIVE_* definitions
regardless of whether the native target is selected (causing build
errors).

Patch by Mike Gist!

llvm-svn: 112946
2010-09-03 02:22:23 +00:00
Eric Christopher e7a9db16bb Fix LLVM target initialization to deal with sociopathic outside projects
that like to randomly define things like "X86", regenerate autoconf bits
and update cmake.

Fixes PR7852.

Patch by Xerxes Rånby!

llvm-svn: 112499
2010-08-30 18:34:48 +00:00
Chandler Carruth 1ddaacebf6 Attempt to remove the MSIL backend from CMake as well based on Chris's r112375.
llvm-svn: 112464
2010-08-30 07:25:54 +00:00
Oscar Fuentes c5c36191fb Updated CMake library dependencies. Removed unnecessary component name
from llvm-link/CMakeLists.txt

llvm-svn: 112153
2010-08-26 02:29:53 +00:00
Oscar Fuentes 53339a737f Updated LLVMLibDeps.cmake
llvm-svn: 111112
2010-08-15 22:14:42 +00:00
Oscar Fuentes 8146b6ccd9 Updated the GenLibDeps -> LLVMLibDeps.cmake transformation example.
llvm-svn: 111104
2010-08-15 15:08:27 +00:00
Oscar Fuentes 945f64ebac CMake: corrections on LLVM.cmake external services.
llvm-svn: 110763
2010-08-11 00:51:32 +00:00
Oscar Fuentes 788e84d70e Update cmake library dependencies.
llvm-svn: 110594
2010-08-09 20:33:20 +00:00
Oscar Fuentes a6c1337239 CMake: llvm_map_components_to_libraries now returns system libs too.
llvm-svn: 110563
2010-08-09 03:47:11 +00:00
Oscar Fuentes a389c58598 CMake: system for providing llvm-config-like features to the user.
The user can use a cmake function for obtaining the LLVM libraries
corresponding to a list of LLVM components.

llvm-svn: 110560
2010-08-09 03:26:43 +00:00
Oscar Fuentes 2b1077fb1d CMake: set configure macro LLVM_PREFIX
llvm-svn: 110536
2010-08-08 04:32:21 +00:00
Oscar Fuentes 74f92e1102 CMake: configure header llvm-config.h
This is the cmake equivalent of r110532, which fixed bug #7809.

llvm-svn: 110535
2010-08-08 04:17:18 +00:00
Oscar Fuentes fc21c3aa32 When building from git, add ref-id to PACKAGE_VERSION
llvm-svn: 110301
2010-08-05 02:22:51 +00:00
Oscar Fuentes 396cc7d477 New system for choosing CRT type on MSVC.
Is setted on a per build type basis. This is useful for generators
that comprise several build types, i.e. VC++ solutions.

llvm-svn: 110296
2010-08-05 01:25:48 +00:00
Oscar Fuentes 371b1b91bf CMake: Change somme target library names:
XCore->XCoreGen
PIC16->PIC16CodeGen

After updating your working copy, the first build will fail because it
is using the old library dependencies. Start the build again and it
will work fine.

llvm-svn: 110127
2010-08-03 17:40:31 +00:00