summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/x86_32-arguments.c
Commit message (Collapse)AuthorAgeFilesLines
* IRgen/ABI/x86_32/Darwin: On Darwin, only structures with SSE vector types ↵Daniel Dunbar2010-09-161-230/+0
| | | | | | | | | | | get passed with a non-default-stack-ABI-alignment (of 16). - This fixes the ABI convenient, but breaks codegen since we now have underaligned arguments. Marginal improvement overall though, and will be fixed in next commit. llvm-svn: 114113
* Fix PR8029, a x86-32 ABI regression in introduced in r112211Chris Lattner2010-08-301-0/+7
| | | | llvm-svn: 112537
* add radar #Chris Lattner2010-08-261-0/+1
| | | | llvm-svn: 112212
* fix 2xi16 to pass as i32 instead of <2 x i16>. The former passes inChris Lattner2010-08-261-1/+7
| | | | | | | memory (as required) the later now passes in an xmm register. This fixes gcc.dg/compat/vector_1 on x86-32. llvm-svn: 112211
* ABI/x86-32 & x86-64: Alignment on 'byval' must be set when when the alignmentDaniel Dunbar2010-04-211-0/+12
| | | | | | exceeds the minimum ABI alignment. llvm-svn: 102019
* Convert test to FileCheck.Daniel Dunbar2010-04-211-57/+57
| | | | llvm-svn: 102018
* don't slap noalias attribute on stret result arguments.Chris Lattner2010-04-201-9/+9
| | | | | | | | | This mirror's Dan's patch for llvm-gcc in r97989, and fixes the miscompilation in PR6525. There is some contention over whether this is the right thing to do, but it is the conservative answer and demonstrably fixes a miscompilation. llvm-svn: 101877
* Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar2009-12-151-1/+1
| | | | | | | | | - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
* Remove RUN: true lines.Daniel Dunbar2009-11-081-1/+0
| | | | llvm-svn: 86432
* Eliminate &&s in tests.Daniel Dunbar2009-11-081-55/+55
| | | | | | - 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious. llvm-svn: 86430
* Darwin/x86-32: Enumerated types and block pointer types in structures were notDaniel Dunbar2009-09-241-1/+44
| | | | | | | | handled correctly. - <rdar://problem/7247671> Function arguments incorrect when function returns a struct on i386 w/ llvm-g++ and clang llvm-svn: 82681
* Prep for new warning.Mike Stump2009-07-211-41/+41
| | | | llvm-svn: 76638
* Fix the calling convention for structs/unions containing SSE vectors on Eli Friedman2009-06-131-0/+5
| | | | | | x86-32. This is slightly messy, but I think it's consistent with gcc. llvm-svn: 73306
* ABI handling: Fix invalid assertion, it is possible for a validDaniel Dunbar2009-05-131-4/+4
| | | | | | | | coercion to be specified which truncates padding bits. It would be nice to still have the assert, but we don't have any API call for the unpadding size of a type yet. llvm-svn: 71695
* Darwin x86-32 ABI: Now that structure passing is farther along, weDaniel Dunbar2009-05-121-0/+3
| | | | | | don't need special treatment for unions. llvm-svn: 71559
* Darwin x86-32: Multi-dimensional arrays were not handled correctly,Daniel Dunbar2009-05-111-0/+6
| | | | | | spotted by Eli! llvm-svn: 71490
* Darwin x86_32: Treat records with unnamed bit-fields as "empty".Daniel Dunbar2009-05-111-0/+6
| | | | llvm-svn: 71461
* Darwin x86_32: When coercing a "single element" structure, make sureDaniel Dunbar2009-05-081-0/+6
| | | | | | | | | to use a wide enough type. This might be wider than the "single element"'s type in the presence of padding bit-fields. - Darwin x86_32 now passes the first 1k ABI tests with bit-field generation enabled. llvm-svn: 71270
* Darwin x86_32: Ignore padding bit-fields when looking for "singleDaniel Dunbar2009-05-081-0/+3
| | | | | | element" structures. llvm-svn: 71266
* Darwin x86_32: Improve bit-field handling for returning records.Daniel Dunbar2009-05-081-10/+11
| | | | | | | - This turns out to be a no-op now that most of the handling for everything else is in place. llvm-svn: 71261
* Darwin x86_32: Ignore arrays of empty structures inside records.Daniel Dunbar2009-05-081-3/+6
| | | | | | | - This eliminates 5/1000 failures on return-types-32, on the current ABITest config. llvm-svn: 71250
* x86-32 ABI: Fix crash on return of structure with flexible arrayDaniel Dunbar2009-04-271-0/+3
| | | | | | | | member. Also, spell bitfield more consistently as bit-field. llvm-svn: 70220
* x86-32 Darwin ABI: Handle small structures correctly.Daniel Dunbar2009-04-011-12/+18
| | | | | | | | | | | | | | - Small structures are returned in a register if: 1. They fit nicely in a register. 2. All fields fit nicely in a register. (more or less) - We now pass the first 5000 ABITests if unions are disabled. - <rdar://problem/6497882> [irgen] x86-32 ABI compatibility with small structs llvm-svn: 68197
* x86-32 Darwin ABI: Single element arrays can be part of "singleDaniel Dunbar2009-04-011-2/+33
| | | | | | | | | | element structures", which have different ABI rules. - Current return-arguments-32 status is: 1 out of 1000 failures (-7) - Also, vectors inside "single element structs" require special handling. llvm-svn: 68196
* x86-32 Darwin ABI: Handle direct return of vectors.Daniel Dunbar2009-04-011-1/+15
| | | | | | - Current return-arguments-32 status is: 8 out of 1000 failures (-7) llvm-svn: 68192
* x86_32 Darwin ABI: Treat empty unions like empty structures.Daniel Dunbar2009-03-311-2/+10
| | | | | | - Current return-arguments-32 status: 15/1000 failures llvm-svn: 68132
* Rename clang to clang-cc.Daniel Dunbar2009-03-241-1/+1
| | | | | | Tests and drivers updated, still need to shuffle dirs. llvm-svn: 67602
* Fix a couple of tests.Eli Friedman2009-03-241-1/+1
| | | | llvm-svn: 67592
* x86_32 ABI: Don't try and expand structures with bitfields.Daniel Dunbar2009-03-111-0/+67
- This is an ABI incompatiblity, but this is not likely to be a huge deal in practice. For now we at least generate self consistent code instead of crashing. - <rdar://problem/6657601> x86-32 ABI: Bitfields in small structures are not passed correctly llvm-svn: 66713
OpenPOWER on IntegriCloud