<div dir="ltr"><div>Following code:<br><br>struct Eigen__TensorEvaluator_0 {<br>    global float* f0;<br>};<br><br>struct Eigen__internal__scalar_constant_op {<br>    float f0;<br>};<br><br>struct Eigen__TensorEvaluator_1 {<br>    struct Eigen__internal__scalar_constant_op f0;<br>};<br><br>struct Eigen__TensorEvaluator {<br>    struct Eigen__TensorEvaluator_0 f0;<br>    struct Eigen__TensorEvaluator_1 f1;<br>};<br><br>kernel void foo(global struct Eigen__TensorEvaluator* pstruct, global float* floats0) {<br>    pstruct[0].f0.f0 = floats0;<br>    pstruct[0].f0.f0[0] = pstruct[0].f1.f0.f0;<br>}<br><br><br></div>... causes the following compilation error, using beignet commit 2c1f2468b82 , on an Intel HD 5500 gpu:<br><br>context <pyopencl.Context at 0x27c5380 on <pyopencl.Device 'Intel(R) HD Graphics 5500 BroadWell U-Processor GT2' on 'Intel Gen OCL Driver' at 0x7f60e0d24bc0>><br>make: 'test/eigen/generated/<a href="http://test_cuda_nullary-device.cl">test_cuda_nullary-device.cl</a>' is up to date.<br><br>compiling cl for test/eigen/generated/<a href="http://test_cuda_nullary-device.cl">test_cuda_nullary-device.cl</a> ...<br>ASSERTION FAILED: (isa<AllocaInst>(ptr) || ptrCandidate.empty()) && "storing/loading pointers only support private array"<br>  at file /home/ubuntu/git/beignet/backend/src/llvm/llvm_gen_backend.cpp, function void gbe::GenWriter::findPointerEscape(llvm::Value*, std::set<llvm::Value*>&, bool, std::vector<llvm::Value*, std::allocator<llvm::Value*> >&), line 953<br>Trace/breakpoint trap<br><br></div>