Mesa (master): ac: use llvm.amdgcn.kill with LLVM 6.0

Marek Olšák mareko at kemper.freedesktop.org
Tue Oct 24 12:56:52 UTC 2017


Module: Mesa
Branch: master
Commit: 478afbe525badde95b583dfd4852bd1234daa6de
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=478afbe525badde95b583dfd4852bd1234daa6de

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed Oct  4 05:06:57 2017 +0200

ac: use llvm.amdgcn.kill with LLVM 6.0

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/amd/common/ac_llvm_build.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c
index 5bd0466321..3e5b795d6f 100644
--- a/src/amd/common/ac_llvm_build.c
+++ b/src/amd/common/ac_llvm_build.c
@@ -1407,6 +1407,12 @@ LLVMValueRef ac_build_cvt_pkrtz_f16(struct ac_llvm_context *ctx,
 
 void ac_build_kill_if_false(struct ac_llvm_context *ctx, LLVMValueRef i1)
 {
+	if (HAVE_LLVM >= 0x0600) {
+		ac_build_intrinsic(ctx, "llvm.amdgcn.kill", ctx->voidt,
+				   &i1, 1, 0);
+		return;
+	}
+
 	LLVMValueRef value = LLVMBuildSelect(ctx->builder, i1,
 					     LLVMConstReal(ctx->f32, 1),
 					     LLVMConstReal(ctx->f32, -1), "");




More information about the mesa-commit mailing list