summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/target-data.c
Commit message (Collapse)AuthorAgeFilesLines
* [lanai] Add Lanai backend to clang driver.Jacques Pienaar2016-03-281-0/+4
| | | | | | | | | | Changes to clang to add Lanai backend. Adds a new target, ABI and toolchain. General Lanai backend discussion on llvm-dev thread "[RFC] Lanai backend" (http://lists.llvm.org/pipermail/llvm-dev/2016-February/095118.html). Differential Revision: http://reviews.llvm.org/D17002 llvm-svn: 264655
* [Hexagon] Specify vector alignment in DataLayout stringKrzysztof Parzyszek2016-02-121-1/+1
| | | | | | | | | | | The DataLayout can calculate alignment of vectors based on the alignment of the element type and the number of elements. In fact, it is the product of these two values. The problem is that for vectors of N x i1, this will return the alignment of N bytes, since the alignment of i1 is 8 bits. The vector types of vNi1 should be aligned to N bits instead. Provide explicit alignment for HVX vectors to avoid such complications. llvm-svn: 260680
* [WebAssembly] Add -m:e to the target triple.Dan Gohman2016-01-071-2/+2
| | | | llvm-svn: 257021
* [Hexagon] Update default paths and argumentsKrzysztof Parzyszek2015-12-141-1/+1
| | | | | | | | | - Removed support for hexagonv3 and earlier. - Added handling of hexagonv55 and hexagonv60. - Added handling of target features (hvx, hvx-double). - Updated paths to reflect current directory layout. llvm-svn: 255502
* [WebAssembly] Initial WebAssembly support in clangDan Gohman2015-09-031-0/+8
| | | | | | | | | | This implements basic support for compiling (though not yet assembling or linking) for a WebAssembly target. Note that ABI details are not yet finalized, and may change. Differential Revision: http://reviews.llvm.org/D12002 llvm-svn: 246814
* [bpf] add support for BPF backendAlexei Starovoitov2015-06-101-0/+8
| | | | | | add support for bpfel/bpfeb targets llvm-svn: 239496
* [SystemZ] Add support for z13 and its vector facilityUlrich Weigand2015-05-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the z13 architecture type. For compatibility with GCC, a pair of options -mvx / -mno-vx can be used to selectively enable/disable use of the vector facility. When the vector facility is present, we default to the new vector ABI. This is characterized by two major differences: - Vector types are passed/returned in vector registers (except for unnamed arguments of a variable-argument list function). - Vector types are at most 8-byte aligned. The reason for the choice of 8-byte vector alignment is that the hardware is able to efficiently load vectors at 8-byte alignment, and the ABI only guarantees 8-byte alignment of the stack pointer, so requiring any higher alignment for vectors would require dynamic stack re-alignment code. However, for compatibility with old code that may use vector types, when *not* using the vector facility, the old alignment rules (vector types are naturally aligned) remain in use. These alignment rules are not only implemented at the C language level, but also at the LLVM IR level. This is done by selecting a different DataLayout string depending on whether the vector ABI is in effect or not. Based on a patch by Richard Sandiford. llvm-svn: 236531
* Re-commit the test fix that went with r236274Reid Kleckner2015-04-301-2/+2
| | | | llvm-svn: 236276
* Revert most of r236271, leaving only the datalayout change in ↵Reid Kleckner2015-04-301-2/+2
| | | | | | lib/Basic/Targets.cpp llvm-svn: 236274
* Use 4 byte preferred aggregate alignment in datalayout on x86 Win32Reid Kleckner2015-04-301-2/+2
| | | | llvm-svn: 236271
* Add driver support for Native Client SDKDerek Schuff2015-03-301-1/+1
| | | | | | | | | | | | | | Add Tool and ToolChain support for clang to target the NaCl OS using the NaCl SDK for x86-32, x86-64 and ARM. Includes nacltools::Assemble and Link which are derived from gnutools. They are similar to Linux but different enought that they warrant their own class. Also includes a NaCl_TC in ToolChains derived from Generic_ELF with library and include paths suitable for an SDK and independent of the system tools. Differential Revision: http://reviews.llvm.org/D8590 llvm-svn: 233594
* Basic: Update clang to reflect changes made to LLVM datalayoutDavid Majnemer2015-03-171-2/+2
| | | | | | | We now give x86-64 COFF targets a different mangling code, update clang to use it. llvm-svn: 232571
* R600: Use a Southern Islands GPU as the default for the amdgcn targetTom Stellard2015-01-281-0/+5
| | | | llvm-svn: 227315
* R600: Handle amdgcn tripleTom Stellard2015-01-061-1/+1
| | | | | | For now there is no difference between amdgcn and r600. llvm-svn: 225294
* ARM: remove ARM/Thumb distinction for preferred alignment.Tim Northover2014-10-141-2/+2
| | | | | | | | | | | | Thumb1 has legitimate reasons for preferring 32-bit alignment of types i1/i8/i16, since the 16-bit encoding of "add rD, sp, #imm" requires #imm to be a multiple of 4. However, this is a trade-off betweem code size and RAM usage; the DataLayout string is not the best place to represent it even if desired. So this patch removes the extra Thumb requirements, hopefully making ARM and Thumb completely compatible in this respect. llvm-svn: 219735
* ARM: set preferred aggregate alignment to 32 universally.Tim Northover2014-10-141-2/+2
| | | | | | | | | | | Before, ARM and Thumb mode code had different preferred alignments, which could lead to some rather unexpected results. There's justification for reducing it from the default 64-bits (wasted space), but I don't think there is for going below 32-bits. There's no actual ABI change here, just to reassure people. llvm-svn: 219720
* Make sure aggregates are properly alligned on MSP430.Job Noorman2014-09-301-1/+1
| | | | llvm-svn: 218666
* AArch64/ARM64: update Clang after AArch64 removal.Tim Northover2014-05-241-2/+0
| | | | | | | | | | | A few (mostly CodeGen) parts of Clang were tightly coupled to the AArch64 backend. Now that it's gone, they will not even compile. I've also deduplicated RUN lines in many of the AArch64 tests. This might improve "make check-all" time noticably: some of those NEON tests were monsters. llvm-svn: 209578
* Forgot to add updated datalayout testMatt Arsenault2014-05-221-1/+1
| | | | llvm-svn: 209465
* [ARM64] Port remaining relevant AArch64 clang tests over to ARM64Bradley Smith2014-04-301-0/+2
| | | | llvm-svn: 207632
* Update DataLayout/DescriptionString for ppc64leWill Schmidt2014-03-241-0/+4
| | | | | | | | | | Update DataLayout/DescriptionString for ppc64le Similar LLVM change made in r203664 Testcase included. llvm-svn: 204613
* 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-32/+32
| | | | llvm-svn: 198439
* Remove the now unused 's' specifications.Rafael Espindola2014-01-021-3/+3
| | | | llvm-svn: 198308
* 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-1/+1
| | | | llvm-svn: 197660
* On spacv8 f128 is only aligned to 64 bits.Rafael Espindola2013-12-191-1/+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-4/+4
| | | | | | Reviewed by Derek Schuff. llvm-svn: 197628
* Add a test for mipsel-nacl too.Rafael Espindola2013-12-181-0/+4
| | | | llvm-svn: 197617
* Add -f64:32:64 to the darwin ppc32 DataLayout.Rafael Espindola2013-12-181-1/+1
| | | | | | A f64 inside a struct can be 32 bit aligned on darwin. llvm-svn: 197577
* Use arm-nacl-gnueabi instead of arm-nacl to match the previous tests.Rafael Espindola2013-12-181-1/+1
| | | | llvm-svn: 197550
* Split this test into one per supporter nacl arch.Rafael Espindola2013-12-181-3/+13
| | | | | | | | | Right now clang produces the same DataLayout for all of them, but it could, for example, add 'n' specifications when the end architecture is given. No functionality change, this should just make future changes easier to read. llvm-svn: 197549
* Print the 'p' specification before the 'i' specification.Rafael Espindola2013-12-181-1/+1
| | | | | | No functionality change. llvm-svn: 197548
* Add a 's' specifications to AArch64.Rafael Espindola2013-12-171-1/+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
* Use triples that match the -target-abi option.Rafael Espindola2013-12-171-2/+2
| | | | llvm-svn: 197522
* 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-1/+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-3/+3
| | | | | | | 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-36/+36
| | | | 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-1/+1
| | | | | | 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
* Clang DataLayout string cleanup: don't print the pointer defaults.Rafael Espindola2013-12-161-11/+11
| | | | llvm-svn: 197430
* Clang DataLayout string cleanup: don't print the aggregate defaults.Rafael Espindola2013-12-161-6/+6
| | | | llvm-svn: 197429
* Clang DataLayout string cleanup: don't print the vector defaults.Rafael Espindola2013-12-161-28/+28
| | | | llvm-svn: 197427
* Clang DataLayout string cleanup: don't print the FP defaults.Rafael Espindola2013-12-161-35/+35
| | | | llvm-svn: 197422
* Clang DataLayout string cleanup: don't print the integer defaults.Rafael Espindola2013-12-161-36/+36
| | | | llvm-svn: 197421
* Add tests for all DescriptionString in Targets.cpp.Rafael Espindola2013-12-151-0/+110
| | | | | | | These right now just test that the same string is present in two files, but will become more useful as clang's handling of DataLayout is refactored. llvm-svn: 197347
* Consolidate DataLayout string testing in one file.Rafael Espindola2013-12-131-0/+28
| | | | llvm-svn: 197276
OpenPOWER on IntegriCloud