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

Author: Marek Olšák <[email protected]>
Date:   Thu Jun 14 01:27:10 2018 -0400

ac: set +auto-waitcnt-before-barrier when needed

This removes useless s_waitcnt before barriers.
Only radeonsi uses this function.

---

 src/amd/common/ac_llvm_util.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/amd/common/ac_llvm_util.c b/src/amd/common/ac_llvm_util.c
index be2d92b4c0..99cc677edc 100644
--- a/src/amd/common/ac_llvm_util.c
+++ b/src/amd/common/ac_llvm_util.c
@@ -133,13 +133,15 @@ LLVMTargetMachineRef ac_create_target_machine(enum 
radeon_family family,
        char features[256];
        const char *triple = (tm_options & AC_TM_SUPPORTS_SPILL) ? 
"amdgcn-mesa-mesa3d" : "amdgcn--";
        LLVMTargetRef target = ac_get_llvm_target(triple);
+       bool barrier_does_waitcnt = true; /* TODO: not for Vega20 */
 
        snprintf(features, sizeof(features),
-                
"+DumpCode,+vgpr-spilling,-fp32-denormals,+fp64-denormals%s%s%s%s",
+                
"+DumpCode,+vgpr-spilling,-fp32-denormals,+fp64-denormals%s%s%s%s%s",
                 tm_options & AC_TM_SISCHED ? ",+si-scheduler" : "",
                 tm_options & AC_TM_FORCE_ENABLE_XNACK ? ",+xnack" : "",
                 tm_options & AC_TM_FORCE_DISABLE_XNACK ? ",-xnack" : "",
-                tm_options & AC_TM_PROMOTE_ALLOCA_TO_SCRATCH ? 
",-promote-alloca" : "");
+                tm_options & AC_TM_PROMOTE_ALLOCA_TO_SCRATCH ? 
",-promote-alloca" : "",
+                barrier_does_waitcnt ? ",+auto-waitcnt-before-barrier" : "");
        
        LLVMTargetMachineRef tm = LLVMCreateTargetMachine(
                                     target,

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to