llvm-6502/test
Justin Holewinski e459c0bf65 [NVPTX] Add NVPTXLowerStructArgs pass
This works around the limitation that PTX does not allow .param space
loads/stores with arbitrary pointers.

If a function has a by-val struct ptr arg, say foo(%struct.x *byval %d), then
add the following instructions to the first basic block :

%temp = alloca %struct.x, align 8
%tt1 = bitcast %struct.x * %d to i8 *
%tt2 = llvm.nvvm.cvt.gen.to.param %tt2
%tempd = bitcast i8 addrspace(101) * to %struct.x addrspace(101) *
%tv = load %struct.x addrspace(101) * %tempd
store %struct.x %tv, %struct.x * %temp, align 8

The above code allocates some space in the stack and copies the incoming
struct from param space to local space. Then replace all occurences of %d
by %temp.

Fixes PR21465.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221377 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-05 18:19:30 +00:00
..
Analysis [SCEV] Improve Scalar Evolution's use of no {un,}signed wrap flags 2014-10-31 11:40:32 +00:00
Assembler Delete -std-compile-opts. 2014-10-16 20:00:02 +00:00
Bindings [OCaml] Run tests twice, with ocamlc and ocamlopt (if available) 2014-11-03 09:50:53 +00:00
Bitcode
BugPoint
CodeGen [NVPTX] Add NVPTXLowerStructArgs pass 2014-11-05 18:19:30 +00:00
DebugInfo Provide gmlt-like inline scope information in the skeleton CU to facilitate symbolication without needing the .dwo files 2014-11-04 22:12:25 +00:00
ExecutionEngine [MCJIT] Defer application of AArch64 MachO GOT relocations until resolve time. 2014-10-21 23:41:15 +00:00
Feature Delete -std-compile-opts. 2014-10-16 20:00:02 +00:00
FileCheck
Instrumentation [dfsan] Abort at runtime on indirect calls to uninstrumented vararg functions. 2014-11-05 17:21:00 +00:00
Integer
JitListener
Linker Revert r221096 bringing back r221014 with a fix. 2014-11-02 13:28:57 +00:00
LTO
MC [mips][microMIPS] Implement ANDI16 instruction 2014-11-05 17:31:00 +00:00
Object Remove "REQUIRES:shell" from tests. They work for me. 2014-11-04 13:41:33 +00:00
Other
TableGen
tools llvm-readobj: Add support for dumping the DOS header in PE files 2014-11-05 06:24:35 +00:00
Transforms llvm/test/Transforms/GCOVProfiling: Avoid to parse backslashes in MDString. Use %/T instead of %T. 2014-11-05 06:29:05 +00:00
Unit
Verifier Extend the verifier to validate range metadata on calls and invokes. 2014-10-20 23:52:07 +00:00
YAMLParser
.clang-format
CMakeLists.txt Make llvm-go test dependency optional. 2014-10-23 19:51:40 +00:00
lit.cfg test: Restore llvm-lit (at least for my machine) 2014-11-04 05:54:50 +00:00
lit.site.cfg.in [OCaml] [autoconf] Migrate to ocamlfind. 2014-10-30 08:29:45 +00:00
Makefile [OCaml] [autoconf] Migrate to ocamlfind. 2014-10-30 08:29:45 +00:00
Makefile.tests
TestRunner.sh