<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>