[Mesa-dev] [PATCH 1/2] ac: create ac_get_zero_for_type() helper
Connor Abbott
cwabbott0 at gmail.com
Mon Feb 26 06:15:41 UTC 2018
Why not just use LLVMConstNull()?
On Mon, Feb 26, 2018 at 12:14 AM, Timothy Arceri <tarceri at itsqueeze.com> wrote:
> ---
> src/amd/common/ac_llvm_build.c | 15 +++++++++++++++
> src/amd/common/ac_llvm_build.h | 3 +++
> 2 files changed, 18 insertions(+)
>
> diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c
> index 15144addb9..f3775938e5 100644
> --- a/src/amd/common/ac_llvm_build.c
> +++ b/src/amd/common/ac_llvm_build.c
> @@ -148,6 +148,21 @@ ac_get_elem_bits(struct ac_llvm_context *ctx, LLVMTypeRef type)
> unreachable("Unhandled type kind in get_elem_bits");
> }
>
> +LLVMValueRef
> +ac_get_zero_for_type(struct ac_llvm_context *ctx, LLVMTypeRef type)
> +{
> + if (type == ctx->i32)
> + return ctx->i32_0;
> + if (type == ctx->f32)
> + return ctx->f32_0;
> + if (type == ctx->i64)
> + return ctx->i64_0;
> + if (type == ctx->f64)
> + return ctx->f64_0;
> +
> + unreachable("Unhandled type kind in ac_get_zero_for_type()");
> +}
> +
> unsigned
> ac_get_type_size(LLVMTypeRef type)
> {
> diff --git a/src/amd/common/ac_llvm_build.h b/src/amd/common/ac_llvm_build.h
> index 0a49ad8ca1..2051dc35bc 100644
> --- a/src/amd/common/ac_llvm_build.h
> +++ b/src/amd/common/ac_llvm_build.h
> @@ -100,6 +100,9 @@ ac_get_llvm_num_components(LLVMValueRef value);
> int
> ac_get_elem_bits(struct ac_llvm_context *ctx, LLVMTypeRef type);
>
> +LLVMValueRef
> +ac_get_zero_for_type(struct ac_llvm_context *ctx, LLVMTypeRef type);
> +
> LLVMValueRef
> ac_llvm_extract_elem(struct ac_llvm_context *ac,
> LLVMValueRef value,
> --
> 2.14.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list