Hello.
When I run the OpenCL program, llc.exe (maybe linker) crashes.
Here is the error message and OpenCL code.
Are there any way to avoid this error?
#pragma OPENCL EXTENSION cl_khr_byte_addressable_store : enable struct Data { uchar uc1; uchar uc2; uchar uc3; uchar uc4; }; __kernel void inKernel() { struct Data data[33]; for(int idx = 0; idx < 1; idx++){} uint code = data[0].uc1; ushort8 vec8 = ((ushort8)code); ushort4 vec4 = ((ushort4)code); vec4 += ((ushort4*)&vec8)[0]; code = vec4.s0; if(1 == code) { data[0].uc1 += (uchar)1; } data[0].uc1++; } ------------------- compiler message below ----------------- Stack dump: 0. Program arguments: C:\Program Files (x86)\ATI Stream\bin\x86\llc -mcpu=teddy -mattr=mwgs-3-256-1-1,+byte_addressable_store,+images -regalloc=linearscan -mtriple=amdil-pc-amdopencl C:\Users\031807\AppData\Local\Temp\OCL873A.tmp.bc -f -o C:\Users\031807\AppData\Local\Temp\O CL873A.tmp.il 1. Running pass 'AMDIL Backend Preparation Pass' on function '@__OpenCL_inKernel_kernel' 0058F1D6 (0x013CFDE4 0x013CC850 0x011FFC30 0x00000000) 004064C8 (0x013CFDE4 0x013CC850 0x011FFC30 0x00000000) Error while building program : CL_BUILD_PROGRAM_FAILURE ~~~~~~~~~~~~~~~~~~ Here, llc.exe crashes ~~~~~~~~~~~~~ ~~~~~~~~~~~ And caller get error message below ~~~~~~~ BUILD LOG ************************************************ Error: Compilation from LLVMIR binary to IL text failed! ************************************************
Hi,
the compiler seems quite picky about the code it accepts. see also
http://forums.amd.com/devforum/messageview.cfm?catid=390&threadid=133411&enterthread=y
maybe replacing the struct with uchar4 helps ?
ThijsWithaar,
Thank you for your advice.
But actually, I use 16bytes complex struct/union for the "Data".
The code is minimized for bug-tracking.
For example,
1. data has 33 elements. if less than 33, no compile error occurred.
2. for loop does nothing
3. adds (uchar)1. if adds (uchar)0 cause compile error go away.
...
Thanks!
norop,
The issue has been passed to the developers and they are looking into it. Thanks for reporting.