[Mesa-dev] [PATCH 3/5] clover/llvm: Pass device down to compile

Francisco Jerez currojerez at riseup.net
Thu Mar 1 22:30:14 UTC 2018


Aaron Watry <awatry at gmail.com> writes:

> We'll need to be able to detect device version to define the appropriate
> __OPENCL_VERSION__ header.
>
> v2: Rebase after removing the previous patch (Pierre)
>   - Removed "clover: Add device_clc_version to llvm::create_compiler_instance"
>
> Signed-off-by: Aaron Watry <awatry at gmail.com>
> Cc: Pierre Moreau <pierre.morrow at free.fr>

Patches 1-3 are:

Reviewed-by: Francisco Jerez <currojerez at riseup.net>

> ---
>  src/gallium/state_trackers/clover/llvm/invocation.cpp | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/src/gallium/state_trackers/clover/llvm/invocation.cpp b/src/gallium/state_trackers/clover/llvm/invocation.cpp
> index 42aabfb9a3..1924c0317f 100644
> --- a/src/gallium/state_trackers/clover/llvm/invocation.cpp
> +++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp
> @@ -146,7 +146,7 @@ namespace {
>     std::unique_ptr<Module>
>     compile(LLVMContext &ctx, clang::CompilerInstance &c,
>             const std::string &name, const std::string &source,
> -           const header_map &headers, const std::string &target,
> +           const header_map &headers, const device &dev,
>             const std::string &opts, std::string &r_log) {
>        c.getFrontendOpts().ProgramAction = clang::frontend::EmitLLVMOnly;
>        c.getHeaderSearchOpts().UseBuiltinIncludes = true;
> @@ -190,7 +190,7 @@ namespace {
>        // barrier() (e.g. Moving barrier() inside a conditional that is
>        // no executed by all threads) during its optimizaton passes.
>        compat::add_link_bitcode_file(c.getCodeGenOpts(),
> -                                    LIBCLC_LIBEXECDIR + target + ".bc");
> +                                    LIBCLC_LIBEXECDIR + dev.ir_target() + ".bc");
>  
>        // Compile the code
>        clang::EmitLLVMOnlyAction act(&ctx);
> @@ -212,8 +212,7 @@ clover::llvm::compile_program(const std::string &source,
>  
>     auto ctx = create_context(r_log);
>     auto c = create_compiler_instance(dev, tokenize(opts + " input.cl"), r_log);
> -   auto mod = compile(*ctx, *c, "input.cl", source, headers, dev.ir_target(),
> -                      opts, r_log);
> +   auto mod = compile(*ctx, *c, "input.cl", source, headers, dev, opts, r_log);
>  
>     if (has_flag(debug::llvm))
>        debug::log(".ll", print_module_bitcode(*mod));
> -- 
> 2.14.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 227 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180301/13aee74b/attachment.sig>


More information about the mesa-dev mailing list