Mesa (master): radeonsi: fix LLVM 3.9 - don' t use non-matching attributes on declarations

Marek Olšák mareko at kemper.freedesktop.org
Mon Mar 6 13:13:09 UTC 2017


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sun Mar  5 23:19:57 2017 +0100

radeonsi: fix LLVM 3.9 - don't use non-matching attributes on declarations

Call site attributes are used since LLVM 4.0.

This also reverts commit b19caecbd6f310c1663b0cfe483d113ae3bd5fe2
"radeon/ac: fix intrinsic version check", because this is the correct fix.

Reviewed-by: Dave Airlie <airlied at redhat.com>

---

 src/amd/common/ac_llvm_build.c           | 6 +++---
 src/gallium/drivers/radeonsi/si_shader.c | 6 ++++--
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c
index acda5e2..20c6eb8 100644
--- a/src/amd/common/ac_llvm_build.c
+++ b/src/amd/common/ac_llvm_build.c
@@ -693,7 +693,7 @@ ac_build_buffer_load(struct ac_llvm_context *ctx,
 					  /* READNONE means writes can't
 					   * affect it, while READONLY means
 					   * that writes can affect it. */
-					  readonly_memory ?
+					  readonly_memory && HAVE_LLVM >= 0x0400 ?
 						  AC_FUNC_ATTR_READNONE :
 						  AC_FUNC_ATTR_READONLY);
 	} else {
@@ -736,7 +736,7 @@ LLVMValueRef ac_build_buffer_load_format(struct ac_llvm_context *ctx,
 					 LLVMValueRef voffset,
 					 bool readonly_memory)
 {
-	if (HAVE_LLVM >= 0x0400) {
+	if (HAVE_LLVM >= 0x0309) {
 		LLVMValueRef args [] = {
 			LLVMBuildBitCast(ctx->builder, rsrc, ctx->v4i32, ""),
 			vindex,
@@ -751,7 +751,7 @@ LLVMValueRef ac_build_buffer_load_format(struct ac_llvm_context *ctx,
 					  /* READNONE means writes can't
 					   * affect it, while READONLY means
 					   * that writes can affect it. */
-					  readonly_memory ?
+					  readonly_memory && HAVE_LLVM >= 0x0400 ?
 						  AC_FUNC_ATTR_READNONE :
 						  AC_FUNC_ATTR_READONLY);
 	}
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 319c0c8..4e133ec 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -3442,13 +3442,15 @@ static unsigned get_load_intr_attribs(bool readonly_memory)
 {
 	/* READNONE means writes can't affect it, while READONLY means that
 	 * writes can affect it. */
-	return readonly_memory ? LP_FUNC_ATTR_READNONE :
+	return readonly_memory && HAVE_LLVM >= 0x0400 ?
+				 LP_FUNC_ATTR_READNONE :
 				 LP_FUNC_ATTR_READONLY;
 }
 
 static unsigned get_store_intr_attribs(bool writeonly_memory)
 {
-	return writeonly_memory ? LP_FUNC_ATTR_INACCESSIBLE_MEM_ONLY :
+	return writeonly_memory && HAVE_LLVM >= 0x0400 ?
+				  LP_FUNC_ATTR_INACCESSIBLE_MEM_ONLY :
 				  LP_FUNC_ATTR_WRITEONLY;
 }
 




More information about the mesa-commit mailing list