aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Function.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2016-08-22 19:25:59 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2016-08-22 19:25:59 +0000
commit88d7da01ca7af18ed6bd446d388999bf9668a3cf (patch)
treeead8207c72d01e8f85aa009fcf809b39682a3619 /llvm/lib/IR/Function.cpp
parent3d512a2dc20aa43fc39c9bdea7067ff073ba7298 (diff)
downloadllvm-88d7da01ca7af18ed6bd446d388999bf9668a3cf.zip
llvm-88d7da01ca7af18ed6bd446d388999bf9668a3cf.tar.gz
llvm-88d7da01ca7af18ed6bd446d388999bf9668a3cf.tar.bz2
AMDGPU: Handle structs directly in AMDGPUABIInfo
Structs are currently handled as pointer + byval, which makes AMDGPU LLVM backend generate incorrect code when structs are used. This patch changes struct argument to be handled directly and without flattening, which Clover (Mesa 3D Gallium OpenCL state tracker) will be able to handle. Flattening would expand the struct to individual elements and pass each as a separate argument, which Clover can not handle. Furthermore, such expansion does not fit the OpenCL programming model which requires to explicitely specify each argument index, size and memory location. Patch by Vedran Miletić llvm-svn: 279463
Diffstat (limited to 'llvm/lib/IR/Function.cpp')
0 files changed, 0 insertions, 0 deletions