summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Replace OwningPtr with std::unique_ptr.Ahmed Charles2014-03-071-1/+1
| | | | | | This compiles cleanly with lldb/lld/clang-tools-extra/llvm. llvm-svn: 203279
* Change OwningPtr::take() to OwningPtr::release().Ahmed Charles2014-03-071-1/+1
| | | | | | This is a precursor to moving to std::unique_ptr. llvm-svn: 203275
* Update for LLVM API changeSaleem Abdulrasool2014-03-061-1/+1
| | | | | | | Use the new getObjectFormat/setObjectFormat instead of Environment now that the file format is a separate field. llvm-svn: 203161
* Add a PPC inline asm constraint type for single CR bitsHal Finkel2014-03-021-0/+15
| | | | | | | | | | | | | | | | This adds support for the PPC "wc" inline asm constraint (used for allocating individual CR bits). Support for this constraint type was recently added to the LLVM PowerPC backend. Although gcc does not currently support allocating individual CR bits, this identifier choice has been coordinated with the gcc PowerPC team, and will be marked as reserved for this purpose in the gcc constraints.md file. Prior to this change, none of the multi-character PPC constraints were handled correctly (the '^' escape character was not being added as required by the parsing code in LLVM). This should now be fixed. I'll add tests for these other constraints as support is added for them in the backend. llvm-svn: 202658
* Give sparcv9 the ability to set the target cpu. Change it from acceptingRoman Divacky2014-02-251-0/+16
| | | | | | | -march which doesnt exist on sparc gcc to -mcpu. While here adjust a few tests to not write an unused temporary file. llvm-svn: 202177
* Add AArch64 big endian Target (aarch64_be)Christian Pirker2014-02-251-6/+49
| | | | llvm-svn: 202151
* [AArch64] Change int64_t from 'long long int' to 'long int' for AArch64 target.Kevin Qin2014-02-241-0/+3
| | | | | | | | | | Most 64-bit targets define int64_t as long int, and AArch64 should make same definition to follow LP64 model. In GNU tool chain, int64_t is defined as long int for 64-bit target. So to get consistent with GNU, it's better Changing int64_t from 'long long int' to 'long int', otherwise clang will get different name mangling suffix compared with g++. llvm-svn: 202004
* [mips] Make it impossible to have UnknownABI in CodeGen and Integrated ↵Daniel Sanders2014-02-201-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Assembler. Summary: This removes the need to coerce UnknownABI to the default ABI (O32 for MIPS32, N64 for MIPS64 [*]) in both MipsSubtarget and MipsAsmParser. Clang has been updated to disable both possible default ABI's before enabling the ABI it intends to use. [*] N64 being the default for MIPS64 is not actually correct. However N32 is not fully implemented/tested yet. Depends on: D2830 Reviewers: jacksprat, matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2832 Differential Revision: http://llvm-reviews.chandlerc.com/D2846 llvm-svn: 201792
* ARM: implement support for crypto intrinsics in arm_neon.hTim Northover2014-02-031-0/+8
| | | | llvm-svn: 200708
* NetBSD uses signed wchar_t on AArch64. It also wants __LITTLE_ENDIAN__ /Joerg Sonnenberger2014-02-021-0/+11
| | | | | | __BIG_ENDIAN__ as on other architectures. llvm-svn: 200655
* ARM & AArch64: share the BI__builtin_neon enum defs.Tim Northover2014-01-301-0/+14
| | | | llvm-svn: 200470
* SPARCv9 supports atomic operations up to 64 bits.Jakob Stoklund Olesen2014-01-301-0/+1
| | | | | | Patch by Roman Divacky! llvm-svn: 200452
* Cortex-M3 and Cortex-M4 should not enable hwdiv-arm (committing again, with ↵Artyom Skrobov2014-01-291-2/+3
| | | | | | an updated test) llvm-svn: 200385
* Revert "Cortex-M3 and Cortex-M4 should not enable hwdiv-arm"Reid Kleckner2014-01-271-3/+2
| | | | | | | | | This reverts commit r200233. The test required a registered ARM target, it was testing LLVM's generated assembly, and it should have been an IRGen test. llvm-svn: 200242
* Cortex-M3 and Cortex-M4 should not enable hwdiv-armArtyom Skrobov2014-01-271-2/+3
| | | | llvm-svn: 200233
* XCore target exception handlingRobert Lytton2014-01-271-0/+4
| | | | | | Implement __builtin_eh_return_data_regno() llvm-svn: 200231
* [Mips] Fix __mips macro definition.Simon Atanasyan2014-01-271-1/+7
| | | | llvm-svn: 200223
* [Mips] Change default CPU for MIPS 32/64 targets. Now they are ↵Simon Atanasyan2014-01-271-2/+2
| | | | | | mips32r2/mips64r2 respectively. llvm-svn: 200222
* Fix r195149. Triple should correctly reflect that target. If it contains ios,Evan Cheng2014-01-261-31/+25
| | | | | | | | | e.g. thumbv7m-apple-ios3.0.0-eabi, then it should mean it's an iOS target. For embedded targets, the OS should be unknown, e.g. thumbv7m-apple-unknown-macho. Since Tim has recently fixed the triple, r195149 is no longer needed. rdar://15911035 llvm-svn: 200164
* Use canonical spelling of NetBSDJoerg Sonnenberger2014-01-261-1/+1
| | | | llvm-svn: 200157
* PR18465: [Thumbv8] add predefined macrosWeiming Zhao2014-01-221-4/+8
| | | | | | | | | | currently, for thumbv8, two predefined macros are missing: define __THUMB_INTERWORK__ 1 define __THUMB_INTERWORK__ 1 This patch adds them for thumbv8. llvm-svn: 199819
* [ARM] Add ACLE enum/wchar size predefinesBradley Smith2014-01-201-0/+6
| | | | llvm-svn: 199642
* SPARCv9 implements long double as an IEEE quad.Jakob Stoklund Olesen2014-01-161-0/+6
| | | | llvm-svn: 199399
* MachO: use *-*-*-macho for MachO embedded targets.Tim Northover2014-01-161-3/+6
| | | | | | | | | | | | Previously we had bodged together some hacks mapping MachO embedded targets (i.e. mainly ARM v6M and v7M) to the "*-*-darwin-eabi" triple. This is incorrect in both details (they don't run Darwin and they're not EABI in any real sense). This commit appropriates the existing "MachO" environment for the purpose instead. llvm-svn: 199367
* Remove support for armv7f slice. <rdar://problem/12478440>Bob Wilson2014-01-151-2/+1
| | | | | | This was never used for anything so we should just get rid of it. llvm-svn: 199336
* Ensure i686-nacl long long is aligned 8 bytes (like malign-double)Jan Wen Voung2014-01-151-0/+2
| | | | | | | Set NaCl OSTargetInfo to have LongLongAlign = 64. Otherwise, it will pick up the setting of 32 from X86_32TargetInfo. llvm-svn: 199335
* Remove the -cxx-abi command-line flag.Hans Wennborg2014-01-141-6/+0
| | | | | | | | | | | | | | | This makes the C++ ABI depend entirely on the target: MS ABI for -win32 triples, Itanium otherwise. It's no longer possible to do weird combinations. To be able to run a test with a specific ABI without constraining it to a specific triple, new substitutions are added to lit: %itanium_abi_triple and %ms_abi_triple can be used to get the current target triple adjusted to the desired ABI. For example, if the test suite is running with the i686-pc-win32 target, %itanium_abi_triple will expand to i686-pc-mingw32. Differential Revision: http://llvm-reviews.chandlerc.com/D2545 llvm-svn: 199250
* Hook up NetBSD/aarch64.Joerg Sonnenberger2014-01-131-0/+2
| | | | llvm-svn: 199124
* Use 'w' instead of 'c' to represent the win32 mangling.Rafael Espindola2014-01-101-2/+2
| | | | | | | This change was requested to avoid confusion if we ever support non windows coff systems. llvm-svn: 198939
* Update for llvm's DataLayout including mangling information.Rafael Espindola2014-01-031-38/+57
| | | | llvm-svn: 198439
* Reformat the description strings. No functionality change.Rafael Espindola2014-01-031-81/+33
| | | | llvm-svn: 198430
* Remove the now unused 's' specifications.Rafael Espindola2014-01-021-3/+3
| | | | llvm-svn: 198308
* Pass the aapcs and apcs features down to llvm.Rafael Espindola2014-01-021-0/+5
| | | | | | | No functionality change, but unblocks asserting that llvm's and clang's datalayout strings are the same. llvm-svn: 198306
* Small simplification: p0 is the same as p.Rafael Espindola2013-12-191-1/+1
| | | | llvm-svn: 197700
* Update SI datalayout for 32-bit private pointersMatt Arsenault2013-12-191-2/+1
| | | | llvm-svn: 197660
* On spacv8 f128 is only aligned to 64 bits.Rafael Espindola2013-12-191-3/+1
| | | | | | | | LLVM already got this right. Found on "Figure 3-1: Scalar Types" on http://sparc.com/standards/psABI3rd.pdf. llvm-svn: 197651
* Fix the DataLayout string produced by clang for NaCl.Rafael Espindola2013-12-181-1/+12
| | | | | | Reviewed by Derek Schuff. llvm-svn: 197628
* Make setABIAPCS and setABIAAPCS easier to reason about.Rafael Espindola2013-12-181-25/+39
| | | | | | | These functions now always set the same variables in the same order and they don't overlap with thep constructor. llvm-svn: 197604
* Split setABI in two helpers. No functionality change.Rafael Espindola2013-12-181-44/+50
| | | | llvm-svn: 197603
* Add -f64:32:64 to the darwin ppc32 DataLayout.Rafael Espindola2013-12-181-4/+2
| | | | | | A f64 inside a struct can be 32 bit aligned on darwin. llvm-svn: 197577
* Print the 'p' specification before the 'i' specification.Rafael Espindola2013-12-181-2/+1
| | | | | | No functionality change. llvm-svn: 197548
* Add a 's' specifications to AArch64.Rafael Espindola2013-12-171-3/+1
| | | | | | | | This has no functionality change as clang adds explicit alignment info for byval arguments. The only difference is that now the clang produced DataLayout string for AArch64 is identical to the LLVM produced one. llvm-svn: 197538
* Remove -f128:128 from the DataLayout strings. It is the default.Rafael Espindola2013-12-171-6/+6
| | | | llvm-svn: 197504
* The PS3 is a ppc64 and has 64 bit registers. Update DataLayout accordingly.Rafael Espindola2013-12-171-2/+1
| | | | llvm-svn: 197502
* Remove -f16:16:32 from the XCore DataLayout string.Rafael Espindola2013-12-171-1/+1
| | | | | | This makes it identical to the string llvm produces. llvm-svn: 197500
* Reorder these DataLayout entries to match the order LLVM uses.Rafael Espindola2013-12-171-9/+4
| | | | | | | This completes the cleanup/refactoring of DataLayout on the clang side. Next is figuring out the differences between the llvm and clang produced strings llvm-svn: 197442
* The preferred alignment defaults to the ABI one. Omit it if it is the same.Rafael Espindola2013-12-161-77/+77
| | | | llvm-svn: 197440
* Remove another default I missed before.Rafael Espindola2013-12-161-1/+1
| | | | llvm-svn: 197437
* Clang DataLayout string cleanup: don't print other defaults.Rafael Espindola2013-12-161-2/+2
| | | | | | I missed these in previous commits. llvm-svn: 197435
* Remove dead data.Rafael Espindola2013-12-161-1/+1
| | | | | | | The f80:128:128 was followed by a f80:32:32 and so never used. Looks like this was there since r91746. llvm-svn: 197433
OpenPOWER on IntegriCloud