Commit Graph

252 Commits

Author SHA1 Message Date
Tim Northover
72062f5744 Add AArch64 as an experimental target.
This patch adds support for AArch64 (ARM's 64-bit architecture) to
LLVM in the "experimental" category. Currently, it won't be built
unless requested explicitly.

This initial commit should have support for:
    + Assembly of all scalar (i.e. non-NEON, non-Crypto) instructions
      (except the late addition CRC instructions).
    + CodeGen features required for C++03 and C99.
    + Compilation for the "small" memory model: code+static data <
      4GB.
    + Absolute and position-independent code.
    + GNU-style (i.e. "__thread") TLS.
    + Debugging information.

The principal omission, currently, is performance tuning.

This patch excludes the NEON support also reviewed due to an outbreak of
batshit insanity in our legal department. That will be committed soon bringing
the changes to precisely what has been approved.

Further reviews would be gratefully received.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174054 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31 12:12:40 +00:00
Saleem Abdulrasool
3ef8b0adb4 build: add --with-python option
This adds a new --with-python option to allow configuration of the python binary
for building.  If not specified, $PATH will be searched for common python binary
names (python, python2, python3).  If specified, and the path is not executable,
it will attempt to search $PATH.

Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
Reviewed-by: Eric Christopher <echristo@gmail.com>, Daniel Dunbar <daniel@zuster.org>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173890 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-30 04:07:37 +00:00
Chandler Carruth
183797ed24 Clean up the sample include orderings, not that it really matters...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169253 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-04 10:46:21 +00:00
Craig Topper
1c689f7a40 Add ENABLE_CXX11 and ENABLE_WERROR to Makefile.llvm.rules for sample project. They were previously added to Makefile.llvm.config.in but the consumption was missing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168685 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 08:12:24 +00:00
Eric Christopher
1a35292b48 Few more small CellSPU removals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167987 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-14 22:13:56 +00:00
Craig Topper
8ee3963409 Add --enable-werror and --enable-cxx11 to projects/sample/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167716 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-12 06:11:12 +00:00
Simon Atanasyan
4830ccff92 Add mips64-* and mips64el-* triples to configure scripts
as valid triples denote  Mips target.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166961 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-29 19:49:45 +00:00
NAKAMURA Takumi
0ed9b8e0bf [CMake] Introduce LLVM_EXTERNAL_COMPILER_RT_SOURCE_DIR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166552 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-24 12:26:08 +00:00
Jordan Rose
92080529a0 Re-enable support for --program-prefix.
The Apple buildbots have been modified not to pass --target,
so they shouldn't choke on a default program prefix anymore.

Patch by Rick Foos!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164956 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-01 18:40:32 +00:00
Sylvestre Ledru
94c22716d6 Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164768 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 10:14:43 +00:00
Sylvestre Ledru
7e2c793a2b Fix a typo 'iff' => 'if'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164767 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-27 09:59:43 +00:00
Jordan Rose
85042e6585 Revert "Add --program-prefix support to build"
The Apple buildbots are set up to pass --target to configure for both
cross- and non-cross-compile builds, and the standard autoconf response
to this is to set the program prefix to '<target>-'. Until we can figure
out the proper way to handle this (don't pass --target? pass an explicit
--program-prefix=""? don't auto-populate program_prefix with target_alias?)
it's more important to keep the buildbots running.

This reverts r164633 / ba48ceb1a3.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164651 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26 00:01:00 +00:00
Sebastian Pop
ba48ceb1a3 Add --program-prefix support to build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164633 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25 21:15:08 +00:00
Michael J. Spencer
0543c147df [CMake] Respect LLVM_BUILD_RUNTIME.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164424 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-21 22:49:06 +00:00
Chandler Carruth
d9f3dd96b2 Enable recursing into the compiler-rt projcet with the CMake build.
This only fires if using a recent enough CMake -- compiler-rt uses a few
of the more advanced features that not everyone needs.

Please let me know if anyone sees issues with this. I'll be updating
documentation and other stuff to tell people about this.

Many thanks to Alexey for doing a ton of work to get ASan's CMake build
into a really fantastic shape. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162815 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-29 00:38:02 +00:00
Sylvestre Ledru
c8e41c5917 Fix a typo (the the => the)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160621 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-23 08:51:15 +00:00
Tom Stellard
38cda13c05 Revert "Build script changes for R600/SI Codegen v6"
This reverts commit e3013202259ed1e006c21817c63cf25d75982721.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160301 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-16 18:19:46 +00:00
Tom Stellard
a93c8a89c1 Build script changes for R600/SI Codegen v6
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160272 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-16 14:17:16 +00:00
Chandler Carruth
c1a0af1bd3 Remove 'check-dg', a wrapper around 'check-local-dg' which was just
nuked.

Add a comment that the 'check-lit' rule is really just a legacy of
having two test runners.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159310 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-28 00:03:13 +00:00
Chandler Carruth
01e4a065ac Remove autoconf support for runtest and tclsh, some of the last vestigal
bits of DejaGNU.

Eric, you may want to remove the TCLSH bits from aclocal.m4 and
regenerate... I didn't want to touch the m4 file lest something
exploded.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159308 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-27 23:53:41 +00:00
Chandler Carruth
eb2dea2c3c Exclude both libcxx and compiler-rt until we get their CMake builds
suitable for building as a whole-project.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159241 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-27 00:30:08 +00:00
Simon Atanasyan
0fad48fd86 Add mipsel-* to the list of targets recognized by configure script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158670 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-18 19:06:25 +00:00
Justin Holewinski
42a0b48dd3 Remove the PTX back-end and all of its artifacts (triple, etc.)
This back-end was deprecated in favor of the NVPTX back-end.

NV_CONTRIB

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157417 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24 21:38:21 +00:00
Benjamin Kramer
0017180e70 Update all outdated autoconf files in the sample project.
We might just use symlinks here, but I'm afraid of possible portability issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156235 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-05 15:02:39 +00:00
Justin Holewinski
49683f3c96 This patch adds a new NVPTX back-end to LLVM which supports code generation for NVIDIA PTX 3.0. This back-end will (eventually) replace the current PTX back-end, while maintaining compatibility with it.
The new target machines are:

nvptx (old ptx32) => 32-bit PTX
nvptx64 (old ptx64) => 64-bit PTX

The sources are based on the internal NVIDIA NVPTX back-end, and
contain more functionality than the current PTX back-end currently
provides.

NV_CONTRIB

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156196 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-04 20:18:50 +00:00
Evgeniy Stepanov
c84f975e6f Update config.sub in the sample project.
This change replaces projects/sample/autoconf/config.sub with a copy of
autoconf/config.sub.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155703 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-27 10:27:32 +00:00
Michael J. Spencer
75338097c7 Remove llvm-ld and llvm-stub (which is only used by llvm-ld).
llvm-ld is no longer useful and causes confusion and so it is being removed.

* Does not work very well on Windows because it must call a gcc like driver to
  assemble and link.
* Has lots of hard coded paths which are wrong on many systems.
* Does not understand most of ld's options.
* Can be partially replaced by llvm-link | opt | {llc | as, llc -filetype=obj} |
  ld, or fully replaced by Clang.

I know of no production use of llvm-ld, and hacking use should be
replaced by Clang's driver.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155147 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19 19:27:54 +00:00
Sylvestre Ledru
703bf84d32 Fix a problem in the target detection for Debian GNU/HURD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154117 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-05 19:34:15 +00:00
Sylvestre Ledru
1d7e8c6148 Fix a problem in the target detection for Debian GNU/kFreeBSD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154114 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-05 18:53:09 +00:00
Eric Christopher
c4b2271d4a Add InitializeNativeTargetDisassembler function.
Patch by Ojab.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153476 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-26 21:56:56 +00:00
Eric Christopher
b2bc6e4ad6 Add some fixes to the configure script for isInf and add
--enable-libcpp to projects/sample.

Patch by Dmitri Shubin with additional fixes by me.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153425 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-26 02:09:01 +00:00
Eric Christopher
a443e5b1f1 Remove the C backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153307 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23 05:50:46 +00:00
Benjamin Kramer
8c3d2580cb configure: Don't require a perl interpreter to be present, LLVM's buildsystem doesn't depend on perl anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152234 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-07 17:07:20 +00:00
Rafael Espindola
9993a3aebb Enable -Wcovered-switch-default again, but add -Werror to the checks to make
sure we don't use it with compilers that don't support it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151665 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-28 23:32:06 +00:00
Chandler Carruth
3c2e5f2140 Temporarily revert r151609, which enabled a new warning for LLVM and
Clang builds. The detection logic for compilers that support the warning
isn't working. Rafael is going to investigate it, but didn't want people
to have to wade through build spam until then.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151649 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-28 19:26:56 +00:00
Rafael Espindola
33177f591a Enable -Wcovered-switch-default as it matches the switch style used in llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151609 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-28 02:01:55 +00:00
Rafael Espindola
1aee22e072 Replace the old --with-cxx-* configure options with a single --with-gcc-toolchain
that just uses the new toolchain probing logic. This fixes linking with -m32 on
64 bit systems (the /32 dir was not being added to the search).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149651 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-03 00:59:30 +00:00
Rafael Espindola
48381e5d20 Regenerate configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149391 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-31 17:18:47 +00:00
Sebastian Pop
6e9b5eb51b revert r147542 after comments from Joerg Sonnenberger
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147608 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-05 18:28:46 +00:00
Sebastian Pop
8a86887ba3 use getHostTriple instead of getDefaultTargetTriple in getClosestTargetForJIT
Get back getHostTriple.

For JIT compilation, use the host triple instead of the default
target: this fixes some JIT testcases that used to fail when the
compiler has been configured as a cross compiler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147542 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-04 19:47:22 +00:00
Tony Linthicum
b4b54153ad Hexagon backend support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146412 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12 21:14:40 +00:00
Daniel Dunbar
4ab406d7fc LLVMBuild: Remove trailing newline, which irked me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146409 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12 19:48:00 +00:00
Daniel Dunbar
a3a2dfd4a2 build: Add initial cut at LLVMBuild.txt files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143634 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 18:53:17 +00:00
Sebastian Pop
de2e0b5e6d rename LLVM_HOSTTRIPLE into LLVM_DEFAULT_TARGET_TRIPLE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143501 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-01 21:31:44 +00:00
Sebastian Pop
c4cbf4a6a4 derive LLVM_HOSTTRIPLE from target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143500 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-01 21:30:04 +00:00
Dan Gohman
33ba8b0e96 Remove the Alpha backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143164 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-27 22:56:32 +00:00
Daniel Dunbar
b42d47605b projects/sample: Switch over to imported Makefile setup.
- This will require you to manually reconfigure the projects/sample project (by running projects/config/sample/config.status --recheck) if you haven't updated/built since the 1st part of this commit went in.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143148 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-27 21:25:09 +00:00
Eric Christopher
360fa9a29d Handle newer cases for freebsd which is approaching 10.0 and not 1.0.
Patch by Dimitry Andric!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142995 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 00:42:12 +00:00
Dan Gohman
3e6157de57 Remove the Blackfin backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142880 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 00:05:42 +00:00
Dan Gohman
29074ccf6c Remove the SystemZ backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142878 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-24 23:48:32 +00:00