summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/x86_64-arguments-nacl-x32.cpp
Commit message (Collapse)AuthorAgeFilesLines
* LLVM IR: Generate new-style byval-with-Type from ClangTim Northover2019-06-051-2/+2
| | | | | | | | | | | LLVM IR recently added a Type parameter to the byval Attribute, so that when pointers become opaque and no longer have an element type the information will still be present in IR. For now the Type parameter is optional (which is why Clang didn't need this change at the time), but it will become mandatory soon. llvm-svn: 362652
* Reapply: LLVM IR: update Clang tests for byval being a typed attribute.Tim Northover2019-05-301-1/+1
| | | | | | | | | | Since byval is now a typed attribute it gets sorted slightly differently by LLVM when the order of attributes is being canonicalized. This updates the few Clang tests that depend on the old order. Clang patch is unchanged. llvm-svn: 362129
* Revert "LLVM IR: update Clang tests for byval being a typed attribute."Tim Northover2019-05-291-1/+1
| | | | | | The underlying LLVM change couldn't cope with llvm-link and broke LTO builds. llvm-svn: 362028
* LLVM IR: update Clang tests for byval being a typed attribute.Tim Northover2019-05-291-1/+1
| | | | | | | | Since byval is now a typed attribute it gets sorted slightly differently by LLVM when the order of attributes is being canonicalized. This updates the few Clang tests that depend on the old order. llvm-svn: 362013
* Relax assertion in x86_64 byval argument handling for 32-bit pointersDerek Schuff2015-06-241-2/+15
| | | | | | | | | | | | | | | | Summary: Byval argument pair formation assumes that if a type is less than 8 bytes it must be an integer and not a pointer, which is not true for x32 and NaCl. Relax the assertion and add a test for a codegen case that triggered it. Reviewers: jvoung Subscribers: jfb, cfe-commits Differential Revision: http://reviews.llvm.org/D10701 llvm-svn: 240600
* [x32/NaCl] Check if method pointers straddle an eightbyte to classify HiJan Wen Voung2014-10-021-0/+44
Summary: Currently, with struct my_struct { int x; method_ptr y; }; a call to foo(my_struct s) may end up dropping the last 4 bytes of the method pointer for x86_64 NaCl and x32. When checking Has64BitPointers, also check if the method pointer straddles an eightbyte boundary and classify Hi as well as Lo if needed. Test Plan: test/CodeGenCXX/x86_64-arguments-nacl-x32.cpp Reviewers: dschuff, pavel.v.chupin Subscribers: jfb Differential Revision: http://reviews.llvm.org/D5555 llvm-svn: 218889
OpenPOWER on IntegriCloud