summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenOpenCL/byval.cl
Commit message (Collapse)AuthorAgeFilesLines
* Recommit r326946 after reducing CallArgList memory footprintYaxun Liu2018-03-151-1/+0
| | | | llvm-svn: 327634
* Revert r326946. It caused stack overflows by significantly increasing the ↵Richard Smith2018-03-101-0/+1
| | | | | | size of a CallArgList. llvm-svn: 327195
* CodeGen: Fix address space of indirect function argumentYaxun Liu2018-03-071-1/+0
| | | | | | | | | | | | | | | | | | | | | The indirect function argument is in alloca address space in LLVM IR. However, during Clang codegen for C++, the address space of indirect function argument should match its address space in the source code, i.e., default addr space, even for indirect argument. This is because destructor of the indirect argument may be called in the caller function, and address of the indirect argument may be taken, in either case the indirect function argument is expected to be in default addr space, not the alloca address space. Therefore, the indirect function argument should be mapped to the temp var casted to default address space. The caller will cast it to alloca addr space when passing it to the callee. In the callee, the argument is also casted to the default address space and used. CallArg is refactored to facilitate this fix. Differential Revision: https://reviews.llvm.org/D34367 llvm-svn: 326946
* [AMDGPU] Switch to the new addr space mapping by defaultYaxun Liu2018-02-021-5/+2
| | | | | | | | This requires corresponding llvm change. Differential Revision: https://reviews.llvm.org/D40956 llvm-svn: 324102
* [AMDGPU] Do not require opencl triple environment for OpenCLYaxun Liu2017-05-231-0/+1
| | | | | | | | | | | | A recent change requires opencl triple environment for compiling OpenCL program, which causes regressions in libclc. This patch fixes that. Instead of deducing language based on triple environment, it checks LangOptions. Differential Revision: https://reviews.llvm.org/D33445 llvm-svn: 303644
* CodeGen: Cast alloca to expected address spaceYaxun Liu2017-05-181-1/+1
| | | | | | | | | | | Alloca always returns a pointer in alloca address space, which may be different from the type defined by the language. For example, in C++ the auto variables are in the default address space. Therefore cast alloca to the expected address space when necessary. Differential Revision: https://reviews.llvm.org/D32248 llvm-svn: 303370
* CodeGen: Let byval parameter use alloca address spaceYaxun Liu2017-04-171-0/+18
Differential Revision: https://reviews.llvm.org/D32133 llvm-svn: 300487
OpenPOWER on IntegriCloud