summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/arm-swiftcall.c
Commit message (Collapse)AuthorAgeFilesLines
* IR: print value numbers for unnamed function argumentsTim Northover2019-08-031-56/+56
| | | | | | | | | | For consistency with normal instructions and clarity when reading IR, it's best to print the %0, %1, ... names of function arguments in definitions. Also modifies the parser to accept IR in that form for obvious reasons. llvm-svn: 367755
* Revert r333791 "Cap "voluntary" vector alignment at 16 for all Darwin ↵Reid Kleckner2018-06-041-2/+2
| | | | | | | | | | | | | | platforms." Adding __attribute__((aligned(32))) to __m256 breaks the implementation of _mm256_loadu_ps on Windows. On Windows, alignment attributes have higher precedence than packing attributes. We also might want to carefully consider the consequences of changing our vector typedefs, since many users copy them and invent their own new, non-Intel specific vector type names. llvm-svn: 333958
* Cap "voluntary" vector alignment at 16 for all Darwin platforms.John McCall2018-06-011-2/+2
| | | | | | | | | | | | | | | | | | | | | This fixes two major problems: - We were not capping vector alignment as desired on 32-bit ARM. - We were using different alignments based on the AVX settings on Intel, so we did not have a consistent ABI. This is an ABI break, but we think we can get away with it because vectors tend to be used mostly in inline code (which is why not having a consistent ABI has not proven disastrous on Intel). Intel's AVX types are specified as having 32-byte / 64-byte alignment, so align them explicitly instead of relying on the base ABI rule. Note that this sort of attribute is stripped from template arguments in template substitution, so there's a possibility that code templated over vectors will produce inadequately-aligned objects. The right long-term solution for this is for alignment attributes to be interpreted as true qualifiers and thus preserved in the canonical type. llvm-svn: 333791
* Generalize NRVO to cover C structs.Akira Hatanaka2018-03-291-10/+0
| | | | | | | | | | | This commit generalizes NRVO to cover C structs (both trivial and non-trivial structs). rdar://problem/33599681 Differential Revision: https://reviews.llvm.org/D44968 llvm-svn: 328809
* Reverting Neon vector type 64-alignment fixJaved Absar2017-05-301-4/+4
| | | | | | | The patch caused ABI breaks on darwin/others. Reverting to come back with a more restrictive patch. llvm-svn: 304220
* [ARM] Fix Neon vector type alignment to 64-bitJaved Absar2017-05-301-4/+4
| | | | | | | | | | | The maximum alignment for ARM NEON data types should be 64-bits as specified in ARM procedure call standard document Sec. A.2 Notes. This patch fixes it from its current larger natural default values, except for Android (so as not to break existing ABI). Reviewed by: Stephen Hines, Renato Golin. Differential Revision: https://reviews.llvm.org/D33205 llvm-svn: 304201
* CodeGen: Define Swift's legal vector types for AArch64, ARMArnold Schwaighofer2017-05-261-0/+8
| | | | | | rdar://32401301 llvm-svn: 304017
* Add more swift calling convention testsArnold Schwaighofer2016-10-141-15/+526
| | | | llvm-svn: 284285
* Update testing cases after backend changes.Manman Ren2016-04-051-1/+1
| | | | llvm-svn: 265488
* Fix an unused-variable warning by using the variable in the placeJohn McCall2016-04-041-0/+8
| | | | | | it was supposed to have been used. llvm-svn: 265344
* IRGen-level lowering for the Swift calling convention.John McCall2016-04-041-0/+496
llvm-svn: 265324
OpenPOWER on IntegriCloud