1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
Commit Graph

302 Commits

Author SHA1 Message Date
Oscar Fuentes
a2dca8505f Build the new RuntimeDyld library.
llvm-svn: 128035
2011-03-21 23:07:53 +00:00
Oscar Fuentes
0e9aa3de87 Removed workaround for unspecified build problem on MinGW.
Tested that MinGW/MSYS builds fine without that.

llvm-svn: 128033
2011-03-21 22:53:51 +00:00
Oscar Fuentes
1f85966c0e Update CMake library dependencies.
llvm-svn: 127956
2011-03-19 22:52:13 +00:00
Oscar Fuentes
d892829b56 is_llvm_target_library: recognize libraries without the LLVM prefix.
Without this cmake fails at configuration when some target pass
"native" on LLVM_LINK_COMPONENTS and that is expanded to "X86".

llvm-svn: 127679
2011-03-15 14:53:53 +00:00
Oscar Fuentes
443b4dd3ca Whe we build a shared library, add its list of used libraries to the
link command.

Fixed a pair of IF expressions too.

llvm-svn: 127546
2011-03-12 16:48:54 +00:00
Oscar Fuentes
055061677e Process some link components that map to other expandable components
before the main loop. This is necessary because the loop ignores the
items added to `link_components' after it is entered.

llvm-svn: 127333
2011-03-09 14:44:46 +00:00
Oscar Fuentes
2743931876 Remove remnant of my experimentation with CMake.
llvm-svn: 127244
2011-03-08 13:30:52 +00:00
Oscar Fuentes
06f62a8581 Support for parallel compilation (/MP) when using the VS IDE.
Patch by Erik Olofsson!

llvm-svn: 126847
2011-03-02 17:47:37 +00:00
Talin
1d7928c794 Added missing va_end().
llvm-svn: 126759
2011-03-01 18:00:49 +00:00
Tobias Grosser
7cb4ec5d69 cmake: Add xdot.py support as it already exists in autoconf.
llvm-svn: 126563
2011-02-27 04:11:05 +00:00
Oscar Fuentes
c5598c7531 Export TARGET_TRIPLE on LLVM.cmake. It is necessary for running tests
on Clang when it builds using LLVM as an external library.

Fixes PR9293.

llvm-svn: 126309
2011-02-23 11:28:40 +00:00
Oscar Fuentes
25ad44254b CMake: remove unnecessary variable.
llvm-svn: 126224
2011-02-22 15:40:20 +00:00
NAKAMURA Takumi
684e41daef CMake: Define LLVM_INCLUDE_TESTS in cmake/modules/HandleLLVMOptions.cmake. It affects testing stuff on clang-standalone build.
llvm-svn: 126107
2011-02-21 03:21:06 +00:00
NAKAMURA Takumi
14b5d12c1e CMake: Fix breakage on clang standalone build.
llvm-svn: 126106
2011-02-21 03:20:57 +00:00
Oscar Fuentes
22247bd624 Put targets on folders, if the IDE supports the feature.
Requires CMake 2.8.3 or newer.

llvm-svn: 126092
2011-02-20 22:06:10 +00:00
Oscar Fuentes
59c8ae34f7 Use explicit add_subdirectory's for LLVM target sublibraries instead
of testing for its presence at cmake time.

This way the build automatically regenerates the makefiles when a svn
update brings in a new sublibrary.

llvm-svn: 126068
2011-02-20 02:55:27 +00:00
Jeffrey Yasskin
0cc7f108b0 Add the PARSE_ARGUMENTS CMake macro to LLVM so I can use it to clean
up add_clang_unittest's calling convention.

llvm-svn: 126031
2011-02-19 18:01:15 +00:00
Oscar Fuentes
6e5d344a2e Move library stuff out of the toplevel CMakeLists.txt file.
llvm-svn: 125968
2011-02-18 22:06:14 +00:00
Oscar Fuentes
5b5316fae9 New library: LLVMX86Utils.
llvm-svn: 125786
2011-02-17 22:26:11 +00:00
NAKAMURA Takumi
f35d4d8c53 CMake: LLVM_LIT_TOOLS_DIR is needed only on Win32 hosts to use GnuWin32 tools.
Unixen and Cygwin do not need it.

llvm-svn: 125277
2011-02-10 10:29:42 +00:00
NAKAMURA Takumi
81da9fa2a4 CMake: Add the new option LLVM_LIT_TOOLS_DIR. It can specify "Path to GnuWin32 tools".
llvm-svn: 125173
2011-02-09 04:18:58 +00:00
NAKAMURA Takumi
55dd89bf51 lib/Support/Errno.cpp: Check strerror_s() with HAVE_DECL_STRERROR_S in config.h.*.
AC_CHECK_FUNCS seeks a symbol only in libs. We should check the declaration in string.h.

FIXME: I have never seen mingw(s) have strerror_s() (not _strerror_s()).
FIXME: Autoconf/CMake may seek strerror_s() with the definition MINGW_HAS_SECURE_API in future.
llvm-svn: 125172
2011-02-09 04:18:48 +00:00
Oscar Fuentes
f0ad431c3e Install only *.cmake files. Don't install .svn directory.
Fixes PR9159.

llvm-svn: 125001
2011-02-07 02:22:23 +00:00
Oscar Fuentes
3810263d0f Don't define NDEBUG on MSVC_IDE and XCode builds. Fixes PR9155.
llvm-svn: 124985
2011-02-06 19:07:06 +00:00
Oscar Fuentes
f42fbe0c95 Moved more stuff to HandleLLVMOptions.cmake
llvm-svn: 124968
2011-02-05 19:08:42 +00:00
NAKAMURA Takumi
aa8b506820 Windows/DynamicLibrary.inc: Split explicit symbols into explicit_symbols.inc.
config.h.* have conditions whether each symbol is defined or not.
Autoconf and CMake may check symbols in libgcc.a for JIT on Mingw.

llvm-svn: 124950
2011-02-05 15:11:53 +00:00
Oscar Fuentes
11c6d879cd LLVM_ON_WIN32 is not defined on config-ix.cmake. Use something else.
llvm-svn: 124857
2011-02-04 05:40:04 +00:00
Oscar Fuentes
e04e812abe Add the tablegenned files to the `clean' target.
llvm-svn: 124854
2011-02-04 03:47:50 +00:00
Oscar Fuentes
51a072b7d8 Changes for building Clang and others using LLVM as an external
library.

Installs tblgen (required by Clang).

Translates handling of user settings and platform-dependant options to
its own file, where it can included by another project.

Installs the .cmake files required by projects like Clang.

llvm-svn: 124816
2011-02-03 20:57:36 +00:00
NAKAMURA Takumi
ce089665e7 cmake/*: Add svn:eol-style=native and fix CRLF.
llvm-svn: 124793
2011-02-03 11:41:27 +00:00
Oscar Fuentes
c0fc5216b4 Platform tests for sys/uio.h' header and writev' function.
This is the cmake equivalent for r124769.

llvm-svn: 124775
2011-02-03 04:23:07 +00:00
Oscar Fuentes
d79df5b7c8 Adds some platform checks to cmake/config-ix.cmake and fixes checking
for dlopen/dlerror.

Patch by arrowdodger!

llvm-svn: 124590
2011-01-31 18:25:25 +00:00
Oscar Fuentes
d91fccb5c3 Don't show -pedantic, -W and -Wall on the output of
llvm-config --cflags --cxxflags --cppflags

We shouldn't impose those flags on people who use llvm-config for
building their own projects.

llvm-svn: 124399
2011-01-27 19:29:48 +00:00
Oscar Fuentes
da69ba084d Handles libffi on the CMake build.
Patch by arrowdodger!

llvm-svn: 123976
2011-01-21 15:42:54 +00:00
Oscar Fuentes
512d8eb82a Add some platform checks. Also fix a typo on a Makefile.
Patch by arrowdodger!

llvm-svn: 123659
2011-01-17 16:35:14 +00:00
Oscar Fuentes
c9265ce51e Make config.h.cmake similar to config.h.in
Patch by arrowdodger!

llvm-svn: 123539
2011-01-15 13:35:37 +00:00
Oscar Fuentes
9618cded65 Add some platform tests.
Patch by arrowdodger!

llvm-svn: 123388
2011-01-13 19:17:28 +00:00
Oscar Fuentes
f975a7423b Platform tests for argz_* functions.
Patch by arrowdodger!

llvm-svn: 123376
2011-01-13 15:06:32 +00:00
Oscar Fuentes
82cc1fb69c Add to the CMake build some options and platform tests supported by
the traditional build.

Patch by arrowdodger!

llvm-svn: 123233
2011-01-11 12:31:54 +00:00
Oscar Fuentes
123864334b Made llvm_replace_compiler_option more robust. Use it on
llvm_process_sources.

llvm-svn: 123232
2011-01-11 12:31:34 +00:00
Oscar Fuentes
184f5d0911 Rewrite handling of LLVM_ENABLE_PIC. It was being processed after
config.h was generated, so it had no effect on it.

Thanks to arrowdodger for pointing out this and a tentative patch.

llvm-svn: 123119
2011-01-09 14:34:39 +00:00
Oscar Fuentes
fb15f6c494 Don't use -O3 on Mingw, as people report it as unreliable. Use -O2
instead.

llvm-svn: 123028
2011-01-07 20:31:03 +00:00
Oscar Fuentes
f7309748a5 TableGen.cmake: sometimes the .td file is not in the current directory
(clang/include/clang/Basic/StmtNodes.td, for instance, is tablegenned
from clang/include/clang/AST/CMakeLists.txt) so it is not contained on
the list of all .td files on the current source directory which is
used as the DEPENDS of the custom command. We must add the .td file to
the DEPENDS list of the custom command. Otherwise some .inc files are
not regenerated when the corresponding .td file changes.

llvm-svn: 122768
2011-01-03 20:01:32 +00:00
Oscar Fuentes
bf3f9406c7 LLVMProcessSources: add .def files along with .h files to targets for
the benefit of project-based generators (VS, XCode, etc).

llvm-svn: 122749
2011-01-03 16:59:52 +00:00
Oscar Fuentes
c3becc8af6 Propagate to parent scope changes made to CMAKE_CXX_FLAGS.
llvm-svn: 122692
2011-01-02 12:30:18 +00:00
Oscar Fuentes
2e6eb6e191 CMake (MSVC): cmake automatically adds the /EHsc and /GR compiler
options. If we are building with exceptions/rtti disabled, we replace
/EHsc with /EHs-c- and /GR with /GR-, respectively. If we just add the
disabling options we get warnings like this:

cl : Command line warning D9025 : overriding '/EHs' with '/EHs-'

llvm-svn: 122648
2010-12-31 19:10:49 +00:00
Oscar Fuentes
898b75ee39 Fixes file extension for loadable modules on OS X.
Patch by Wesley Peck!

llvm-svn: 122395
2010-12-22 08:30:17 +00:00
Oscar Fuentes
be64b15d1e Update cmake library dependencies.
llvm-svn: 122239
2010-12-20 09:47:08 +00:00
Wesley Peck
ec32ecb316 Reverting commit to LLVMLibDeps that was inadvertently done in 121649.
llvm-svn: 121651
2010-12-12 22:28:51 +00:00
Wesley Peck
38688d020c The ADD and ADDK (and all variants) instructions where flip-flopped in the MBlaze backend. This bug fix makes 64-bit math work on the MBlaze backend.
llvm-svn: 121649
2010-12-12 22:02:31 +00:00
NAKAMURA Takumi
5ad673e4d9 Add dependency to "make check".
cmake/modules/AddLLVM.cmake: Add empty "phony" target in add_llvm_loadable_module() even if loadable module were not supported.

llvm-svn: 121455
2010-12-10 02:15:36 +00:00
Francois Pichet
2fac2ab94d Disable C++ exception handling on MSVC.
Total size of bin\Release on disk goes from 82.9 MB to 74.2 MB. (~10% saving)

llvm-svn: 120908
2010-12-04 14:30:22 +00:00
Francois Pichet
6aff5fc3be Disable RTTI on Windows.
Total size of bin\Release on disk goes from 83.6 MB to 81.8MB. (~2% saving)

llvm-svn: 120901
2010-12-04 09:42:30 +00:00
Michael J. Spencer
ce950c50c4 Support/FileSystem: Fix MinGW build. It doesn't have _chsize_s.
llvm-svn: 120826
2010-12-03 18:48:56 +00:00
Michael J. Spencer
d88083b467 Update library dependencies changed in the System -> Support merge.
llvm-svn: 120308
2010-11-29 19:28:48 +00:00
Michael J. Spencer
d5ec932c3a Merge System into Support.
llvm-svn: 120298
2010-11-29 18:16:10 +00:00
Wesley Peck
e25f241e37 Implement ELF object file writing support for the MBlaze backend. Its not perfect yet, but it works for many tests.
llvm-svn: 119952
2010-11-21 22:06:28 +00:00
Oscar Fuentes
8b8fa79ce0 Updated library dependencies.
llvm-svn: 119592
2010-11-18 00:12:27 +00:00
Jim Grosbach
cf4418e0d6 Revert inadvertant checkin of CMake libdeps.
llvm-svn: 119355
2010-11-16 18:14:41 +00:00
Jim Grosbach
1b1636f0cb ARM conditional mov encoding fix.
llvm-svn: 119354
2010-11-16 18:13:42 +00:00
Oscar Fuentes
24718cd14d Updated CMake library dependencies.
llvm-svn: 119076
2010-11-14 21:17:08 +00:00
Wesley Peck
be71f5db40 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
f3909b741f 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
854507453a Adding disassembler to the MicroBlaze backend.
llvm-svn: 117420
2010-10-27 00:23:01 +00:00
Oscar Fuentes
487431ce82 Loadable modules are not supported on Cygwin. PR 6655.
llvm-svn: 117130
2010-10-22 19:03:24 +00:00
Michael J. Spencer
8daaefa006 Endian: Get rid of LLVM_IS_HOST_BIG_ENDIAN.
llvm-svn: 117124
2010-10-22 18:45:12 +00:00
Oscar Fuentes
b7f2510588 Avoid stalled file dependency when tablegenning.
Patch by Frits van Bommel!

llvm-svn: 117113
2010-10-22 17:37:42 +00:00
Oscar Fuentes
bd0ca690c8 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
e9b7aa0d30 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
93269f7395 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
b9734a5b12 Support: Add Endian.h
llvm-svn: 117057
2010-10-21 20:28:21 +00:00
Wesley Peck
8a77999240 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
d646a12f25 Recommit 116986 with capitalization typo fixed.
llvm-svn: 116993
2010-10-21 03:57:26 +00:00
Wesley Peck
3478e641b9 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
c50372298d 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
a6ffccab95 Build with RTTI and exceptions disabled. Only in GCC for now.
llvm-svn: 116682
2010-10-17 02:26:16 +00:00
Oscar Fuentes
0d564b6bb5 When building shared libraries, link to required system libraries.
PR 8375

llvm-svn: 116479
2010-10-14 15:54:41 +00:00
Oscar Fuentes
03ba7cb432 GetTargetTriple.cmake: detect MinGW 64 bits.
llvm-svn: 116424
2010-10-13 20:15:08 +00:00
Chris Lattner
c9709f154d 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
303f42d7e6 CMake: Fix warning in gtest.
llvm-svn: 115935
2010-10-07 18:12:54 +00:00
Jim Grosbach
87bcae264c Update LLVMLibDeps
llvm-svn: 115583
2010-10-05 00:35:16 +00:00
Oscar Fuentes
62a4818bf8 Update library dependencies.
llvm-svn: 115404
2010-10-02 03:04:43 +00:00
Oscar Fuentes
0e1a30e03a 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
64441f124a Simplified LLVMConfig.
llvm-svn: 114998
2010-09-28 22:38:39 +00:00
Oscar Fuentes
b8b0209acb Use the canonical library name for library PIC16Passes.
llvm-svn: 114953
2010-09-28 14:24:47 +00:00
Oscar Fuentes
748691cf20 Added library LLVMPIC16passes to CMake build.
llvm-svn: 114952
2010-09-28 14:02:45 +00:00
Oscar Fuentes
3c58c66484 Added PTX target to the CMake build.
llvm-svn: 114951
2010-09-28 14:02:36 +00:00
Oscar Fuentes
51ee15c70b Removed remnant target library dependencies from LLVMLibDeps.cmake
llvm-svn: 114826
2010-09-27 13:49:41 +00:00
Oscar Fuentes
dc7625b8e3 Updated LLVMLibDeps.cmake
llvm-svn: 114825
2010-09-27 13:33:17 +00:00
Oscar Fuentes
40caeda472 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
3302cf4ac1 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
7160458b8e Fix whitespace.
llvm-svn: 114724
2010-09-24 09:00:56 +00:00
Oscar Fuentes
2a81c4abe0 cmake: test for the presence of fenv.h
llvm-svn: 114205
2010-09-17 20:30:48 +00:00
Oscar Fuentes
37061461b3 Updated LLVMLibDeps.cmake
llvm-svn: 114143
2010-09-17 00:43:53 +00:00
Michael J. Spencer
90f807fda5 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
60e98e663a CMake: Fix mingw32 build.
llvm-svn: 113676
2010-09-11 02:13:39 +00:00
Michael J. Spencer
98ad3f2ea7 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
a72466bbca CMake: Use the svn revision information from git-svn if available.
llvm-svn: 113405
2010-09-08 20:49:40 +00:00
Oscar Fuentes
b2a1074fdf 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
da5541e56d 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