[Libclc-dev] [PATCH] configure: Allow targets to override generic cl implementations with LLVM IR

Peter Collingbourne peter at pcc.me.uk
Sun Oct 7 20:31:19 PDT 2012


On Tue, Oct 02, 2012 at 09:01:43PM +0000, Tom Stellard wrote:
> From: Tom Stellard <thomas.stellard at amd.com>
> 
> ---
>  configure.py | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/configure.py b/configure.py
> index 66c6410..0449a0e 100755
> --- a/configure.py
> +++ b/configure.py
> @@ -112,8 +112,12 @@ for target in targets:
>      manifest_deps.add(subdir_list_file)
>      for src in open(subdir_list_file).readlines():
>        src = src.rstrip()
> -      if src not in sources_seen:
> -        sources_seen.add(src)
> +      # Only add the base filename (e.g. Add get_global_id instead of
> +      # get_global_id.cl) to sources_seen.
> +      # This allows targets to overide generic .cl sources with .ll sources.
> +      src_base = os.path.splitext(src)[0]
> +      if src_base not in sources_seen:
> +        sources_seen.add(src_base)
>          obj = os.path.join(target, 'lib', src + '.bc')
>          objects.append(obj)
>          src_file = os.path.join(libdir, src)

Hi Tom,

I am happy with the idea of allowing targets to override .cl's with
.ll's (or vice versa).

However, I don't think this would correctly handle the file
layout we currently have for add_sat (and sub_sat), which is
currently implemented using three files: add_sat.cl, add_sat.ll
and add_sat_impl.ll.  (I don't like the fact that this family of
functions has to be implemented using three files, but it turns out
to be necessary for PTX, which only supports two non-default calling
conventions).

If you can modify this patch to not break add_sat and sub_sat (for
example, by renaming some of the files), I'd be happy to accept it.

Thanks,
-- 
Peter




More information about the Libclc-dev mailing list