Illegal BitCast while compiling opencl kernel

96 views Asked by At

The below bitcast instruction is throwing me an Illegal Bitcast error, can someone point what the problem is?

%opencl.image1d_ro_t = type opaque
%struct.dev_image_t = type { i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }

%astype = bitcast %opencl.image1d_ro_t addrspace(1)* %image to %struct.dev_image_t*
1

There are 1 answers

0
arnt On BEST ANSWER

You're casting from address space 1 to the default address space, 0. That won't work, as the documentation says. Each address space is independent.

Address spaces are meant for things like programs that have some garbage-collected and some manually managed memory. The pointer points to two profoundly different kinds of memory.