ac: set +auto-waitcnt-before-barrier when needed
This removes useless s_waitcnt before barriers. Only radeonsi uses this function.
This commit is contained in:
@@ -133,13 +133,15 @@ LLVMTargetMachineRef ac_create_target_machine(enum radeon_family family,
|
|||||||
char features[256];
|
char features[256];
|
||||||
const char *triple = (tm_options & AC_TM_SUPPORTS_SPILL) ? "amdgcn-mesa-mesa3d" : "amdgcn--";
|
const char *triple = (tm_options & AC_TM_SUPPORTS_SPILL) ? "amdgcn-mesa-mesa3d" : "amdgcn--";
|
||||||
LLVMTargetRef target = ac_get_llvm_target(triple);
|
LLVMTargetRef target = ac_get_llvm_target(triple);
|
||||||
|
bool barrier_does_waitcnt = true; /* TODO: not for Vega20 */
|
||||||
|
|
||||||
snprintf(features, sizeof(features),
|
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_SISCHED ? ",+si-scheduler" : "",
|
||||||
tm_options & AC_TM_FORCE_ENABLE_XNACK ? ",+xnack" : "",
|
tm_options & AC_TM_FORCE_ENABLE_XNACK ? ",+xnack" : "",
|
||||||
tm_options & AC_TM_FORCE_DISABLE_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(
|
LLVMTargetMachineRef tm = LLVMCreateTargetMachine(
|
||||||
target,
|
target,
|
||||||
|
Reference in New Issue
Block a user