summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Support MIPS DSP Rev1 intrinsics. Simon Atanasyan2012-06-281-1/+10
| | | | | | This patch was reviewed in the llvm-commits list by Jim Grosbach. llvm-svn: 159366
* Explicitly build __builtin_va_list.Meador Inge2012-06-161-42/+30
| | | | | | | The target specific __builtin_va_list types are now explicitly built instead of injecting strings into the preprocessor input. llvm-svn: 158592
* Add PPC support for translating gcc-style -mcpu options into LLVM ↵Hal Finkel2012-06-111-0/+49
| | | | | | | | | | | | | | -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
* Add XOP feature flag.Craig Topper2012-06-091-8/+28
| | | | llvm-svn: 158284
* Mips: Define __mips_hard_float macro additional to __mips_single_floatSimon Atanasyan2012-06-051-6/+7
| | | | | | when single float ABI is selected. llvm-svn: 157996
* Make disabling SSE levels also disable AVX and FMA.Craig Topper2012-06-031-6/+13
| | | | llvm-svn: 157907
* Make AES and PCLMUL features imply SSE2 as that's needed to get the right ↵Craig Topper2012-06-031-3/+4
| | | | | | types defined. llvm-svn: 157906
* Add fma feature flag for Intel FMA instructions.Craig Topper2012-06-031-2/+21
| | | | llvm-svn: 157904
* Add builtin for pclmulqdq instruction.Craig Topper2012-05-311-4/+22
| | | | llvm-svn: 157733
* SSE4A should not imply LZCNT and POPCNT. FMA4 should imply SSE4A. Add ↵Craig Topper2012-05-301-3/+5
| | | | | | missing break at the end of btver1 feature list. llvm-svn: 157680
* Define __SSE4A__ when targeting new AMD CPUs.Benjamin Kramer2012-05-291-1/+11
| | | | | | This doesn't really fit the existing SSELevel so it gets an extra flag. llvm-svn: 157630
* Sparc is bigendian.Roman Divacky2012-05-291-1/+0
| | | | llvm-svn: 157626
* Replace PTX back-end with NVPTX back-end in all places where Clang caresJustin Holewinski2012-05-241-140/+30
| | | | | | NV_CONTRIB llvm-svn: 157403
* Teach Clang about the NVPTX backend.Peter Collingbourne2012-05-201-0/+98
| | | | llvm-svn: 157173
* CUDA: add CodeGen support for global variable address spaces.Peter Collingbourne2012-05-201-2/+8
| | | | | | | | | 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
* Hexagon V5 FP support.Sirish Pande2012-05-101-2/+11
| | | | llvm-svn: 156567
* Enable AVX on AMD Bulldozer processors.Craig Topper2012-05-011-1/+1
| | | | llvm-svn: 155900
* Define __ANDROID__ macro on -androideabi targets.Evgeniy Stepanov2012-04-261-0/+2
| | | | llvm-svn: 155632
* Enable AVX/AVX2 for Sandy Bridge, Ivy Bridge, and Haswell CPUs.Craig Topper2012-04-261-4/+2
| | | | llvm-svn: 155624
* OpenBSD: Remove incorrect -pthread preprocessor define _POSIX_THREADS and ↵Chris Lattner2012-04-251-1/+1
| | | | | | | | | | replace with _REENTRANT. Also remove undef _POSIX_THREADS in phread.h. Patch by Brad Smith! llvm-svn: 155535
* Revert r155363, due to the underlying patches in LLVM causing regressionChandler Carruth2012-04-231-11/+2
| | | | | | test suite failures. llvm-svn: 155371
* Hexagon V5 (floating point) support in cfe.Sirish Pande2012-04-231-2/+11
| | | | llvm-svn: 155363
* Revert some Hexagon builtin commits to match reverts done to LLVM inChandler Carruth2012-04-181-11/+2
| | | | | | | | | | | | | | | | | | | 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
* MIPS: Followup to r154606. Expand list of accepted MIPS target features in ↵Simon Atanasyan2012-04-181-1/+4
| | | | | | the MipsTargetInfoBase::setFeatureEnabled() routine. llvm-svn: 154998
* Hexagon V5(Floating Point) support.Sirish Pande2012-04-161-2/+11
| | | | llvm-svn: 154828
* MIPS: Initialize MIPS CPU's name by default value.Simon Atanasyan2012-04-121-3/+6
| | | | | | | Otherwise MipsTargetInfoBase::getDefaultFeatures() might return an invalid features set with an empty feature name. llvm-svn: 154606
* Move some MIPS target macro definitions from class Mips32TargetInfoBaseSimon Atanasyan2012-04-051-4/+4
| | | | | | | to the base class MipsTargetInfoBase. These macros are applicable for both 32/64-bits targets. llvm-svn: 154116
* [driver] Create a new -mfpmath= option, which is used to control whether clangChad Rosier2012-04-041-1/+2
| | | | | | | | | | | 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
* Add more constraint registers for mips.Eric Christopher2012-04-031-0/+3
| | | | | | Patch by Jack Carter. Testcase cleanup by me. llvm-svn: 153921
* ARM backend knows about cortex-m4. The front end should too.Jim Grosbach2012-03-291-0/+1
| | | | llvm-svn: 153678
* Define __LITTLE_ENDIAN__ for le32, since "le" stands for little endian.Jan Wen Voung2012-03-291-0/+1
| | | | | | Add a test for this too. llvm-svn: 153616
* Fix the type of wchar_t on Solaris.David Chisnall2012-03-281-1/+1
| | | | | | Patch by Dmitri Shubin! llvm-svn: 153585
* Add better support for $fp and $sp for mips inline asm support.Eric Christopher2012-03-271-5/+9
| | | | | | Patch by Jack Carter. llvm-svn: 153530
* Add support for MIPS' floating ABIs (hard, soft and single) to clang driver.Akira Hatanaka2012-03-231-2/+56
| | | | | | Patch by Simon Atanasyan. llvm-svn: 153348
* No longer defining LP64 in 64-bit builds on platforms which are not LP64.Aaron Ballman2012-03-141-2/+4
| | | | llvm-svn: 152740
* Fix the long double to be of width/align 64. Rename va_list_test toRoman Divacky2012-03-131-2/+6
| | | | | | powerpc_types and add testing for the (long) double there. llvm-svn: 152647
* Long double is just double on FreeBSD/{PPC,PPC64}.Roman Divacky2012-03-131-0/+6
| | | | llvm-svn: 152632
* Use ZeroLengthBitfieldAlignment for AAPCS, as well as APCS-GNU.James Molloy2012-03-121-6/+6
| | | | llvm-svn: 152552
* TargetInfo: create less temporary strings.Benjamin Kramer2012-03-051-16/+17
| | | | llvm-svn: 152029
* Fix an ABI problem with ptrdiff_t and intptr_t on PPC32Hal Finkel2012-03-021-0/+2
| | | | | | | | | | 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
* Add the Solaris support directory to the header search when using libc++.David Chisnall2012-03-021-1/+1
| | | | | | | | 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
* Some more Solaris fixes. Now successfully building libc++ on Solaris with ↵David Chisnall2012-02-281-1/+11
| | | | | | clang (and linking clang against it). llvm-svn: 151632
* On Solaris, define some standard macros that the Solaris headers require inDavid Chisnall2012-02-171-0/+4
| | | | | | order to not be broken (by Solaris standards). llvm-svn: 150822
* Set UserLabelPrefix and MCountName correctly for DragonFly BSD. Patch by ↵Eli Friedman2012-02-101-1/+12
| | | | | | | | Sascha Wildner. Setting UserLabelPrefix correctly fixes PR11949. llvm-svn: 150280
* Basic: import OwningPtr<> into clang namespaceDylan Noblesmith2012-02-051-1/+1
| | | | llvm-svn: 149798
* Use the new Triple::getMacOSXVersion function in another place.Bob Wilson2012-01-311-26/+5
| | | | | | | I removed support for "*-darwin*-iphoneos" triples, since we now have iOS listed as a separate OS in the triples. llvm-svn: 149455
* Fix "long double" and __SIZE_TYPE__ on powerpc, now with test fix.Nico Weber2012-01-311-1/+5
| | | | | | Fixes PR11867. Patch from Jeremy Huddleston! llvm-svn: 149334
* Revert r149285, it breaks test/Preprocessor/init.c.Nico Weber2012-01-301-5/+1
| | | | llvm-svn: 149301
* Fix "long double" and __SIZE_TYPE__ on powerpc.Nico Weber2012-01-301-1/+5
| | | | | | Fixes PR11867. Patch from Jeremy Huddleston! llvm-svn: 149285
* Introduce TargetInfo::hasFeature() to query various feature names inDouglas Gregor2012-01-301-1/+73
| | | | | | | | | | | | | | each of the targets. Use this for module requirements, so that we can pin the availability of certain modules to certain target features, e.g., provide a module for xmmintrin.h only when SSE support is available. Use these feature names to provide a nearly-complete module map for Clang's built-in headers. Only mm_alloc.h and unwind.h are missing, and those two are fairly specialized at the moment. Finishes <rdar://problem/10710060>. llvm-svn: 149227
OpenPOWER on IntegriCloud