Fix OpenCL C for 32bit targets without 64bit doubles
Erik Schnetter
schnetter at gmail.com
Tue Dec 17 08:53:14 PST 2013
On Dec 17, 2013, at 5:13 , Pekka Jääskeläinen <pekka.jaaskelainen at tut.fi> wrote:
> Hi,
>
> The attached patch ensures we do not override target's setting for
> double with OpenCL C in case it is set to be the same as FloatWidth.
> This can happen with 32bit targets (currently at least TCE in LLVM)
> that define double as float, and thus might support only the
> OpenCL EP or just do not support the fp64 extension of OpenCL.
>
> Good to commit?
Ideally, clang would record at this place whether OpenCL double (and long) are supported. This is a target-dependent property, and this routine (which may override target-specific settings) would be a good place to do so. Currently, this fact is only implicitly recorded via the condition sizeof(double)!=sizeof(float).
Later, the default values of the cl_khr_float64 and cl_khr_int64 attributes can then be set accordingly.
Is it possible to disable double and long in clang without causing major breakage? If not, the patch is fine.
-erik
--
Erik Schnetter <schnetter at gmail.com>
http://www.perimeterinstitute.ca/personal/eschnetter/
My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from http://pgp.mit.edu/.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131217/7b161395/attachment.sig>
More information about the llvm-commits
mailing list