Oscar Fuentes
07c99ebf52
Updated CMake library dependencies.
...
llvm-svn: 119076
2010-11-14 21:17:08 +00:00
Wesley Peck
c542248602
1. Finishing MBlaze MC asm parser test cases
...
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
llvm-svn: 118941
2010-11-12 23:30:17 +00:00
Wesley Peck
fc82674b9c
Adding working version of assembly parser for the MBlaze backend
...
Major cleanup of whitespace and formatting issues in MBlaze backend
llvm-svn: 118434
2010-11-08 19:40:01 +00:00
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
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
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
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
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
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
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
Oscar Fuentes
052c23cd2f
CMake: add version control info to PACKAGE_VERSION, if available.
...
Adds "svn" or "git", depending on the VCS used. If svn, adds the
revision number as well.
llvm-svn: 110121
2010-08-03 17:28:09 +00:00
Oscar Fuentes
d945ae652a
Improve discrimination of unknown libraries from ignored targets on
...
LLVMConfig.
llvm-svn: 110065
2010-08-02 21:24:12 +00:00
Oscar Fuentes
e53004b188
explicit_map_components_to_libraries now does not complain when there
...
is a dependence on an LLVM target that is not included on the build.
When LLVM_TARGETS_TO_BUILD didn't include all the targets, the
function emitted an error like
"Library LLVMArmParser not found in list of llvm libraries."
llvm-svn: 110060
2010-08-02 20:48:01 +00:00
Oscar Fuentes
e4e9e8e6e7
Updated LLVMLibDeps.cmake.
...
llvm-svn: 110055
2010-08-02 18:36:53 +00:00
Oscar Fuentes
40b31ad3ee
Prefix `next' iterator operation with `llvm::'.
...
Fixes potential ambiguity problems on VS 2010.
Patch by nobled!
llvm-svn: 110029
2010-08-02 06:00:15 +00:00
Douglas Gregor
934ced7749
Allow absolute paths in LLVM_TARGET_DEFINITIONS for CMake's TableGen rule
...
llvm-svn: 106219
2010-06-17 15:17:07 +00:00
Jeffrey Yasskin
3ddd88f523
Tell Valgrind when we modify already-executed machine code so it knows
...
to re-instrument the code. We depend on the system valgrind.h to
avoid adding a new license.
llvm-svn: 98529
2010-03-15 04:57:55 +00:00
Daniel Dunbar
a7269442d9
Update CMake LibDeps
...
llvm-svn: 94185
2010-01-22 18:14:14 +00:00
Daniel Dunbar
4a8d96df0b
Update CMake LibDeps
...
llvm-svn: 92540
2010-01-04 23:17:24 +00:00
Douglas Gregor
5b88b8a365
Fix CMake build for InstCombine changes
...
llvm-svn: 92519
2010-01-04 21:58:55 +00:00
Daniel Dunbar
039d6e11a8
CMake: Update lib deps.
...
llvm-svn: 91786
2009-12-19 21:27:30 +00:00
Sean Callanan
04cc307edd
Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit
...
incarnations), integrated into the MC framework.
The disassembler is table-driven, using a custom TableGen backend to
generate hierarchical tables optimized for fast decode. The disassembler
consumes MemoryObjects and produces arrays of MCInsts, adhering to the
abstract base class MCDisassembler (llvm/MC/MCDisassembler.h).
The disassembler is documented in detail in
- lib/Target/X86/Disassembler/X86Disassembler.cpp (disassembler runtime)
- utils/TableGen/DisassemblerEmitter.cpp (table emitter)
You can test the disassembler by running llvm-mc -disassemble for i386
or x86_64 targets. Please let me know if you encounter any problems
with it.
llvm-svn: 91749
2009-12-19 02:59:52 +00:00
Oscar Fuentes
58eea20f47
CheckAtomic.cmake: Put all C++ code inside CHECK_CXX_SOURCE_COMPILES.
...
llvm-svn: 90685
2009-12-06 00:06:33 +00:00
Oscar Fuentes
4f6d1eb3e0
Fix for atomic intrinsics detection when using MSVC.
...
Patch by Michael Beck!
llvm-svn: 90683
2009-12-05 23:19:33 +00:00
Oscar Fuentes
d2d1be4d22
* cmake/modules/LLVMLibDeps.cmake: Updated library dependencies.
...
llvm-svn: 90169
2009-11-30 23:48:51 +00:00
Daniel Dunbar
e8b8ccefcb
Add the rest of the build system logic for optional target disassemblers
...
llvm-svn: 89841
2009-11-25 04:46:58 +00:00
Oscar Fuentes
1251697156
CMake: Updated library dependencies.
...
llvm-svn: 89637
2009-11-23 00:40:39 +00:00
Oscar Fuentes
dea579fde3
CMake: Do not try to install a target before it is defined.
...
llvm-svn: 89636
2009-11-23 00:32:42 +00:00
Oscar Fuentes
0c2443a28d
CMake: generate targets for tools and examples even when
...
LLVM_BUILD_TOOLS or LLVM_BUILD_EXAMPLES are OFF.
llvm-svn: 89635
2009-11-23 00:21:43 +00:00
Oscar Fuentes
36dd7d5f5c
Use CMAKE_DL_LIBS instead of raw library name. Fixes bug 5536.
...
Patch by Tobias Grosser!
llvm-svn: 89406
2009-11-19 23:21:43 +00:00
Douglas Gregor
66df54f92c
CMake: Add Darwin-specific linker flags for building loadable modules
...
llvm-svn: 86684
2009-11-10 15:30:33 +00:00
Oscar Fuentes
bbc1067001
CMake: Support for building llvm loadable modules.
...
llvm-svn: 86656
2009-11-10 02:45:37 +00:00
Daniel Dunbar
39a6c62b9d
Fix CMake reporting of target triple.
...
llvm-svn: 86419
2009-11-07 23:52:27 +00:00
Oscar Fuentes
c710219d1c
CMake: Report an error if there is an unknown .cpp file in a source
...
directory.
This is useful in case someone who works with the config&make build
system forgot to add a file to its CMakeLists.txt. Instead of
obtaining undefined references at link time, cmake will complain at
configure time on the first build after a svn update.
llvm-svn: 85817
2009-11-02 19:11:03 +00:00
Daniel Dunbar
d8358b9db6
Update CMake dependencies.
...
llvm-svn: 85013
2009-10-24 20:32:43 +00:00
Oscar Fuentes
5e3fd4df6f
Updated cmake library dependencies.
...
llvm-svn: 84564
2009-10-19 23:00:00 +00:00
Daniel Dunbar
487d1c8138
Update CMake.
...
llvm-svn: 82097
2009-09-17 00:06:48 +00:00
Daniel Dunbar
25ac142b37
Update CMake dependencies.
...
llvm-svn: 81758
2009-09-14 05:22:54 +00:00
Daniel Dunbar
59eb5ef136
Update lib deps.
...
llvm-svn: 80985
2009-09-04 05:07:44 +00:00
Oscar Fuentes
c6db3ee94b
CMake: updated library dependencies.
...
llvm-svn: 80531
2009-08-31 01:58:50 +00:00
Oscar Fuentes
94e470504f
CMake: Updated library dependencies and list of source files.
...
llvm-svn: 79876
2009-08-23 23:59:15 +00:00
Douglas Gregor
81c0524102
CMake: Don't use copy_if_different for TableGen output, because it does not work with IDE targets
...
llvm-svn: 79732
2009-08-22 07:00:18 +00:00
Duncan Sands
a21fe10c06
Fix cmake build on non-x86 targets. Patch by
...
Xerxes Rånby.
llvm-svn: 79419
2009-08-19 12:41:52 +00:00
Oscar Fuentes
a6cf97dc22
CMake: Updated library dependencies.
...
llvm-svn: 79223
2009-08-17 04:23:50 +00:00
Oscar Fuentes
349df2c976
CMake: LLVMConfig assigns LLVMX86 to the `native' component
...
name. Updated LLVM_LINK_COMPONENTS of Kaleidoscope.
llvm-svn: 79219
2009-08-17 01:41:46 +00:00
Oscar Fuentes
91bd6c922d
CMake: Discriminate MINGW, MSYS, CYGWIN: does not try to build llvm-config under mingw without msys.
...
llvm-svn: 79202
2009-08-16 20:50:41 +00:00
Benjamin Kramer
171a7d6823
Fix the MSVC build again.
...
llvm-svn: 79186
2009-08-16 09:44:27 +00:00
Oscar Fuentes
9496a6d7ef
CMake: Hopefully this will fix the build on VS. I can't replicate the
...
failure with VS 9.0, nmake and cmake 2.6.4. The buildbot output does
not show the patch level of cmake, it just says 2.6.
Sadly, parallel builds are broken due to recent changes on LLVM Target
libraries and its auxiliaries (TargetInfo, AsmPrinter, AsmParser). I
have a patch for stablishing the correct dependencies, but cmake is
buggy and generates makefiles that can't handle them.
llvm-svn: 79180
2009-08-16 07:44:02 +00:00
Oscar Fuentes
8160d28712
CMake: Revert r79144. It reverted a change necessary for correct
...
parallel builds.
llvm-svn: 79177
2009-08-16 05:16:43 +00:00
Benjamin Kramer
42f3b9d02d
Revert 78996. It was breaking MSVC builds.
...
llvm-svn: 79144
2009-08-15 21:57:01 +00:00
Richard Osborne
ddd1d4e0f2
Move XCore AsmPrinter to XCore/AsmPrinter directory.
...
llvm-svn: 79094
2009-08-15 12:53:15 +00:00
Oscar Fuentes
cc756e70ad
CMake: Updated library dependence info.
...
llvm-svn: 79038
2009-08-14 20:30:18 +00:00
Oscar Fuentes
1ea4b3a4b5
CMake: Automatic regeneration of the library dependencies file.
...
It doesn't stop or reconfigure the build, though, so the user will see
a broken build that magically succeeds at the next attempt. It is
technically possible to halt the build with a helpful message, and
even to automatically restart the build using the new dependencies as
it we did when llvm-config was used by cmake for learning
dependencies. This is left on the TODO list.
llvm-svn: 79004
2009-08-14 16:59:41 +00:00
Oscar Fuentes
5717a72863
CMake: Builds main LLVM Target library before its sublibraries. This
...
way we ensure that tablegenned files exist before they are #include'd
by the LLVM Target sublibraries. Required for parallel builds.
llvm-svn: 78996
2009-08-14 05:17:24 +00:00
Oscar Fuentes
3fca0e811c
CMake: Use LLVM_COMMON_DEPENDS on add_llvm_executable.
...
llvm-svn: 78990
2009-08-14 04:38:57 +00:00
Oscar Fuentes
96147c60f1
CMake: updated library dependencies.
...
llvm-svn: 78976
2009-08-14 01:55:28 +00:00
Oscar Fuentes
da3b250796
CMake: Fixed sed script for translating library dependencies from
...
LibDeps.txt format to LLVMLibDeps.cmake format.
llvm-svn: 78789
2009-08-12 04:18:10 +00:00
Oscar Fuentes
06eef1c2fe
CMake: Localized dependency on Perl.
...
llvm-svn: 78788
2009-08-12 04:16:19 +00:00
Oscar Fuentes
a88916d94f
CMake: Rely on llvm_config again for obtaining the list of required
...
libraries for an executable.
Now LLVMConfig uses a new system for sorting library dependencies, as
the list of dependent libraries for each entry of FinalLibDeps.txt no
longer is topologically sorted.
llvm-svn: 78787
2009-08-12 04:05:26 +00:00
Oscar Fuentes
1b9110699c
CMake: updated library dependencies.
...
llvm-svn: 78786
2009-08-12 03:57:26 +00:00
Oscar Fuentes
f7591af58e
CMake: cmake/modules/LLVMLibDeps.cmake: Use unix line endings.
...
llvm-svn: 78785
2009-08-12 03:36:43 +00:00
Oscar Fuentes
64f955b732
CMake: Moved hard-coded library dependencies to its own file.
...
llvm-svn: 78784
2009-08-12 03:32:44 +00:00
Oscar Fuentes
e93b54be8d
CMake: target triple for MSVC on Windows 64.
...
llvm-svn: 78753
2009-08-12 00:04:12 +00:00
Dan Gohman
17151155ed
Remove the IA-64 backend.
...
llvm-svn: 76920
2009-07-24 00:30:09 +00:00
Daniel Dunbar
71475775b9
Sketch support for target specific assembly parser.
...
- Not fully enabled yet, need a configure regeneration.
llvm-svn: 76230
2009-07-17 20:42:00 +00:00
Xerxes Ranby
64c6d42a9a
Implement cmake LLVM_MULTITHREADED gcc atomic builtin checks.
...
llvm-svn: 76221
2009-07-17 19:22:41 +00:00
Daniel Dunbar
0b02da75d6
Regerate CMake library dependencies.
...
- Added a sed script to do this in the comments.
llvm-svn: 75872
2009-07-16 00:43:36 +00:00