Simon Atanasyan
9c6f1f7f23
MIPS: Add -mdsp/-mno-dsp and -mdspr2/-mno-dspr2 command line options support.
...
llvm-svn: 159769
2012-07-05 19:23:00 +00:00
Simon Atanasyan
72244b6e4f
MIPS: Define __mips16 macro if -mips16 option is provided.
...
llvm-svn: 159753
2012-07-05 16:06:06 +00:00
Simon Atanasyan
9f444d5a1b
MIPS: Replace the pair of boolean flags by enumeration to hold selected float ABI.
...
llvm-svn: 159752
2012-07-05 15:32:46 +00:00
Simon Atanasyan
6f23fa0f18
MIPS: Add -mips16 / -mno-mips16 command line support.
...
llvm-svn: 159747
2012-07-05 14:19:39 +00:00
Hal Finkel
6b984f084c
Add additional architecture defines for PPC targets.
...
Patch by Andy Gibbs.
llvm-svn: 159665
2012-07-03 16:51:04 +00:00
Simon Atanasyan
07ce7d8fb5
Support MIPS DSP Rev1 intrinsics.
...
This patch was reviewed in the llvm-commits list by Jim Grosbach.
llvm-svn: 159366
2012-06-28 18:23:16 +00:00
Meador Inge
5d3fb22bac
Explicitly build __builtin_va_list.
...
The target specific __builtin_va_list types are now explicitly built instead
of injecting strings into the preprocessor input.
llvm-svn: 158592
2012-06-16 03:34:49 +00:00
Hal Finkel
8eb5928514
Add PPC support for translating gcc-style -mcpu options into LLVM -target-cpu options.
...
This functionality is based on what is done on ARM, and enables selecting PPC CPUs
in a way compatible with gcc's driver. Also, mirroring gcc (and what is done on x86),
-mcpu=native support was added. This uses the host cpu detection from LLVM
(which will also soon be updated by refactoring code currently in backend).
In order for this to work, the target needs a list of valid CPUs -- we now accept all CPUs accepted by LLVM.
A few preprocessor defines for common CPU types have been added.
llvm-svn: 158334
2012-06-11 22:35:19 +00:00
Craig Topper
f561a9562d
Add XOP feature flag.
...
llvm-svn: 158284
2012-06-09 22:24:14 +00:00
Simon Atanasyan
d3d173ddca
Mips: Define __mips_hard_float macro additional to __mips_single_float
...
when single float ABI is selected.
llvm-svn: 157996
2012-06-05 13:06:56 +00:00
Craig Topper
12c9df3a9d
Make disabling SSE levels also disable AVX and FMA.
...
llvm-svn: 157907
2012-06-03 22:23:42 +00:00
Craig Topper
1e9e01fabf
Make AES and PCLMUL features imply SSE2 as that's needed to get the right types defined.
...
llvm-svn: 157906
2012-06-03 21:56:22 +00:00
Craig Topper
bba778bfd5
Add fma feature flag for Intel FMA instructions.
...
llvm-svn: 157904
2012-06-03 21:46:30 +00:00
Craig Topper
3f122a7636
Add builtin for pclmulqdq instruction.
...
llvm-svn: 157733
2012-05-31 05:18:48 +00:00
Craig Topper
9ee12508ca
SSE4A should not imply LZCNT and POPCNT. FMA4 should imply SSE4A. Add missing break at the end of btver1 feature list.
...
llvm-svn: 157680
2012-05-30 05:54:54 +00:00
Benjamin Kramer
8ac9c22391
Define __SSE4A__ when targeting new AMD CPUs.
...
This doesn't really fit the existing SSELevel so it gets an extra flag.
llvm-svn: 157630
2012-05-29 17:48:39 +00:00
Roman Divacky
67030280f9
Sparc is bigendian.
...
llvm-svn: 157626
2012-05-29 16:10:50 +00:00
Justin Holewinski
83e9668133
Replace PTX back-end with NVPTX back-end in all places where Clang cares
...
NV_CONTRIB
llvm-svn: 157403
2012-05-24 17:43:12 +00:00
Peter Collingbourne
c947aaeeae
Teach Clang about the NVPTX backend.
...
llvm-svn: 157173
2012-05-20 23:28:41 +00:00
Peter Collingbourne
f44bdf9c5f
CUDA: add CodeGen support for global variable address spaces.
...
Because in CUDA types do not have associated address spaces,
globals are declared in their "native" address space, and accessed
by bitcasting the pointer to address space 0. This relies on address
space 0 being a unified address space.
llvm-svn: 157167
2012-05-20 21:08:35 +00:00
Sirish Pande
11ebc4ed1b
Hexagon V5 FP support.
...
llvm-svn: 156567
2012-05-10 20:19:54 +00:00
Craig Topper
eb590aa956
Enable AVX on AMD Bulldozer processors.
...
llvm-svn: 155900
2012-05-01 07:18:03 +00:00
Evgeniy Stepanov
94dc4c9783
Define __ANDROID__ macro on -androideabi targets.
...
llvm-svn: 155632
2012-04-26 12:08:09 +00:00
Craig Topper
5f365e94c3
Enable AVX/AVX2 for Sandy Bridge, Ivy Bridge, and Haswell CPUs.
...
llvm-svn: 155624
2012-04-26 07:31:30 +00:00
Chris Lattner
024e12df52
OpenBSD: Remove incorrect -pthread preprocessor define _POSIX_THREADS and replace
...
with _REENTRANT. Also remove undef _POSIX_THREADS in phread.h.
Patch by Brad Smith!
llvm-svn: 155535
2012-04-25 06:12:24 +00:00
Chandler Carruth
70ac923ebc
Revert r155363, due to the underlying patches in LLVM causing regression
...
test suite failures.
llvm-svn: 155371
2012-04-23 18:25:40 +00:00
Sirish Pande
7039d0eaee
Hexagon V5 (floating point) support in cfe.
...
llvm-svn: 155363
2012-04-23 17:48:57 +00:00
Chandler Carruth
b8ae76037a
Revert some Hexagon builtin commits to match reverts done to LLVM in
...
r155047. See the LLVM log for the primary motivation:
http://llvm.org/viewvc/llvm-project?rev=155047&view=rev
Primary commit r154828:
- Several issues were raised in review, and fixed in subsequent
commits.
- Follow-up commits also reverted, and which should be folded into the
original before reposting:
- r154837: Re-add the 'undef BUILTIN' thing to fix the build.
- r154928: Fix build warnings, re-add (and correct) header and
license
- r154937: Typo fix.
Please resubmit this patch with the relevant LLVM resubmission.
llvm-svn: 155048
2012-04-18 21:32:25 +00:00
Simon Atanasyan
296a7bb49f
MIPS: Followup to r154606. Expand list of accepted MIPS target features in the MipsTargetInfoBase::setFeatureEnabled() routine.
...
llvm-svn: 154998
2012-04-18 12:00:11 +00:00
Sirish Pande
f02eebef2a
Hexagon V5(Floating Point) support.
...
llvm-svn: 154828
2012-04-16 17:04:05 +00:00
Simon Atanasyan
ce74e9d896
MIPS: Initialize MIPS CPU's name by default value.
...
Otherwise MipsTargetInfoBase::getDefaultFeatures() might return an invalid
features set with an empty feature name.
llvm-svn: 154606
2012-04-12 19:59:24 +00:00
Simon Atanasyan
26f19678b6
Move some MIPS target macro definitions from class Mips32TargetInfoBase
...
to the base class MipsTargetInfoBase. These macros are applicable for both
32/64-bits targets.
llvm-svn: 154116
2012-04-05 19:28:31 +00:00
Chad Rosier
1f0e52e361
[driver] Create a new -mfpmath= option, which is used to control whether clang
...
uses Neon instructions for single-precision FP.
-mfpmath=neon is analogous to passing llc -mattr=+neonfp.
-mfpmath=[vfp|vfp2|vfp3|vfp4] is analogous to passing llc -mattr=-neonfp.
rdar://11108618
llvm-svn: 154046
2012-04-04 20:39:32 +00:00
Eric Christopher
b7e28ccb3d
Add more constraint registers for mips.
...
Patch by Jack Carter. Testcase cleanup by me.
llvm-svn: 153921
2012-04-03 01:16:32 +00:00
Jim Grosbach
903e63fef3
ARM backend knows about cortex-m4. The front end should too.
...
llvm-svn: 153678
2012-03-29 19:53:34 +00:00
Jan Wen Voung
1d4c2d9a48
Define __LITTLE_ENDIAN__ for le32, since "le" stands for little endian.
...
Add a test for this too.
llvm-svn: 153616
2012-03-29 00:05:59 +00:00
David Chisnall
b526e93d03
Fix the type of wchar_t on Solaris.
...
Patch by Dmitri Shubin!
llvm-svn: 153585
2012-03-28 18:04:14 +00:00
Eric Christopher
8b6d051ea2
Add better support for $fp and $sp for mips inline asm support.
...
Patch by Jack Carter.
llvm-svn: 153530
2012-03-27 19:56:11 +00:00
Akira Hatanaka
6976ec8551
Add support for MIPS' floating ABIs (hard, soft and single) to clang driver.
...
Patch by Simon Atanasyan.
llvm-svn: 153348
2012-03-23 23:07:09 +00:00
Aaron Ballman
bc9e04342d
No longer defining LP64 in 64-bit builds on platforms which are not LP64.
...
llvm-svn: 152740
2012-03-14 20:50:57 +00:00
Roman Divacky
3ffe746ca8
Fix the long double to be of width/align 64. Rename va_list_test to
...
powerpc_types and add testing for the (long) double there.
llvm-svn: 152647
2012-03-13 19:20:17 +00:00
Roman Divacky
816dcd1777
Long double is just double on FreeBSD/{PPC,PPC64}.
...
llvm-svn: 152632
2012-03-13 16:53:54 +00:00
James Molloy
a7139221f8
Use ZeroLengthBitfieldAlignment for AAPCS, as well as APCS-GNU.
...
llvm-svn: 152552
2012-03-12 09:14:10 +00:00
Benjamin Kramer
27402c61c8
TargetInfo: create less temporary strings.
...
llvm-svn: 152029
2012-03-05 15:10:44 +00:00
Hal Finkel
2690838227
Fix an ABI problem with ptrdiff_t and intptr_t on PPC32
...
ptrdiff_t on PPC32 on Linux, etc. should be int not long.
This does not matter for C, but it does matter for C++ because of
name mangling.
The preprocessor test has been changed accordingly.
llvm-svn: 151935
2012-03-02 20:54:36 +00:00
David Chisnall
e04307e47c
Add the Solaris support directory to the header search when using libc++.
...
Unconditionally define __C99FEATURES__ when using C++ on Solaris. This is a
(hopefully temporary) work around for libc++ exposing C99-but-not-C++98
features in C++98 mode.
llvm-svn: 151889
2012-03-02 10:49:52 +00:00
David Chisnall
0c52c0f0fd
Some more Solaris fixes. Now successfully building libc++ on Solaris with clang (and linking clang against it).
...
llvm-svn: 151632
2012-02-28 17:10:04 +00:00
David Chisnall
0c1941cb05
On Solaris, define some standard macros that the Solaris headers require in
...
order to not be broken (by Solaris standards).
llvm-svn: 150822
2012-02-17 18:35:11 +00:00
Eli Friedman
4286fba606
Set UserLabelPrefix and MCountName correctly for DragonFly BSD. Patch by Sascha Wildner.
...
Setting UserLabelPrefix correctly fixes PR11949.
llvm-svn: 150280
2012-02-10 23:02:29 +00:00
Dylan Noblesmith
e27789991d
Basic: import OwningPtr<> into clang namespace
...
llvm-svn: 149798
2012-02-05 02:12:40 +00:00