[cfe-dev] Backend for C and OpenCL

Guoping Long longguoping at gmail.com
Wed Oct 5 11:02:31 PDT 2011

At least for me, I believe this is a very interesting project. I may
consider contribute later on when it actually moves on.
To really optimizing OpenCL codes at backend is too challenging, because
this relies on very much hardware specific information, which may not be
So I fully agree to transform the code back to source when it is optimized.
But why at the IR level, not the AST? Isn't transforming on AST much easier
and reasonable?


2011/10/5 Alberto Magni <alberto.magni86 at gmail.com>

> Hi everybody,
> for a research project I would like to use LLVM to optimize
> OpenCL programs for GPUs.
> Due to the lack of open-source back-ends and runtimes for
> GPUs my idea is the following:
> 1) compile OpenCL C into LLVM-IR (for what I read on the ML
> full support is close, at least foreseeable),
> 2) apply LLVM transformations to the bitcode,
> 3) generate the OpenCL C code from the optimized bitcode,
> 4) use the official (Nvidia, AMD, Intel, ....) OpenCL compilers
> and runtimes for the actual execution of the optimized code
> I know that the C backend is buggy and it is no more
> supported but it still works with simple C programs.
> Remeber that OpenCL programs are usually quite simple
> (no function pointers, etc...)
> The main features to be added to the backend are:
> 1) the "__kernel" keyword,
> 2) the four address spaces keywords
> 3) vector data types
> 4) the half keyword
> My idea is to extensively verify the functionality the C-backend for
> C programs (similar to OpenCL-C ones) and possibly add the listed features.
> What do you think of this ? Is it feasible ?
> Thank you,
> Alberto
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20111005/494a1e84/attachment.html>

More information about the cfe-dev mailing list