ac/llvm: expose set_range_metadata to more users

I sometimes use it for experiments. It will be used later.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10813>
This commit is contained in:
Marek Olšák 2021-05-08 05:26:04 -04:00 committed by Marge Bot
parent 94a1f45e15
commit 5f33f80dc7
2 changed files with 5 additions and 3 deletions

View File

@ -1728,8 +1728,8 @@ void ac_build_tbuffer_store_byte(struct ac_llvm_context *ctx, LLVMValueRef rsrc,
* \p lo is the minimum value inclusive.
* \p hi is the maximum value exclusive.
*/
static void set_range_metadata(struct ac_llvm_context *ctx, LLVMValueRef value, unsigned lo,
unsigned hi)
void ac_set_range_metadata(struct ac_llvm_context *ctx, LLVMValueRef value, unsigned lo,
unsigned hi)
{
LLVMValueRef range_md, md_args[2];
LLVMTypeRef type = LLVMTypeOf(value);
@ -1757,7 +1757,7 @@ LLVMValueRef ac_get_thread_id(struct ac_llvm_context *ctx)
tid = ac_build_intrinsic(ctx, "llvm.amdgcn.mbcnt.hi", ctx->i32, tid_args, 2,
AC_FUNC_ATTR_READNONE);
}
set_range_metadata(ctx, tid, 0, ctx->wave_size);
ac_set_range_metadata(ctx, tid, 0, ctx->wave_size);
return tid;
}

View File

@ -315,6 +315,8 @@ void ac_build_raw_tbuffer_store(struct ac_llvm_context *ctx, LLVMValueRef rsrc,
unsigned num_channels, unsigned dfmt, unsigned nfmt,
unsigned cache_policy);
void ac_set_range_metadata(struct ac_llvm_context *ctx, LLVMValueRef value, unsigned lo,
unsigned hi);
LLVMValueRef ac_get_thread_id(struct ac_llvm_context *ctx);
#define AC_TID_MASK_TOP_LEFT 0xfffffffc