<div dir="auto">If radeonsi adds target library info, I highly recommend that radv does the same thing.<div dir="auto"><br></div><div dir="auto">Marek</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Jul 2, 2018, 8:48 PM Dave Airlie <<a href="mailto:airlied@gmail.com">airlied@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From: Dave Airlie <<a href="mailto:airlied@redhat.com" target="_blank" rel="noreferrer">airlied@redhat.com</a>><br>
<br>
This adds a inline always pass, but otherwise should work the<br>
same.<br>
---<br>
 src/amd/common/ac_llvm_util.c     |  5 +++--<br>
 src/amd/vulkan/radv_nir_to_llvm.c | 26 +++-----------------------<br>
 2 files changed, 6 insertions(+), 25 deletions(-)<br>
<br>
diff --git a/src/amd/common/ac_llvm_util.c b/src/amd/common/ac_llvm_util.c<br>
index adcdc730856..b1ae8ab9986 100644<br>
--- a/src/amd/common/ac_llvm_util.c<br>
+++ b/src/amd/common/ac_llvm_util.c<br>
@@ -172,8 +172,9 @@ LLVMPassManagerRef ac_init_passmgr(LLVMTargetLibraryInfoRef target_library_info,<br>
        if (!passmgr)<br>
                return NULL;<br>
<br>
-       LLVMAddTargetLibraryInfo(target_library_info,<br>
-                                passmgr);<br>
+       if (target_library_info)<br>
+               LLVMAddTargetLibraryInfo(target_library_info,<br>
+                                        passmgr);<br>
<br>
        if (check_ir)<br>
                LLVMAddVerifierPass(passmgr);<br>
diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c<br>
index ce6d5e1547d..d454040a05e 100644<br>
--- a/src/amd/vulkan/radv_nir_to_llvm.c<br>
+++ b/src/amd/vulkan/radv_nir_to_llvm.c<br>
@@ -2996,30 +2996,10 @@ static void ac_llvm_finalize_module(struct radv_shader_context *ctx,<br>
                                    const struct radv_nir_compiler_options *options)<br>
 {<br>
        LLVMPassManagerRef passmgr;<br>
-       /* Create the pass manager */<br>
-       passmgr = LLVMCreateFunctionPassManagerForModule(<br>
-                                                       ctx->ac.module);<br>
-<br>
-       if (options->check_ir)<br>
-               LLVMAddVerifierPass(passmgr);<br>
-<br>
-       /* This pass should eliminate all the load and store instructions */<br>
-       LLVMAddPromoteMemoryToRegisterPass(passmgr);<br>
-<br>
-       /* Add some optimization passes */<br>
-       LLVMAddScalarReplAggregatesPass(passmgr);<br>
-       LLVMAddLICMPass(passmgr);<br>
-       LLVMAddAggressiveDCEPass(passmgr);<br>
-       LLVMAddCFGSimplificationPass(passmgr);<br>
-       /* This is recommended by the instruction combining pass. */<br>
-       LLVMAddEarlyCSEMemSSAPass(passmgr);<br>
-       LLVMAddInstructionCombiningPass(passmgr);<br>
-<br>
-       /* Run the pass */<br>
-       LLVMInitializeFunctionPassManager(passmgr);<br>
-       LLVMRunFunctionPassManager(passmgr, ctx->main_function);<br>
-       LLVMFinalizeFunctionPassManager(passmgr);<br>
<br>
+       passmgr = ac_init_passmgr(NULL, options->check_ir);<br>
+<br>
+       LLVMRunPassManager(passmgr, ctx->ac.module);<br>
        LLVMDisposeBuilder(ctx->ac.builder);<br>
        LLVMDisposePassManager(passmgr);<br>
<br>
-- <br>
2.17.1<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank" rel="noreferrer">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div>