diff options
author | Dave Airlie <airlied@redhat.com> | 2016-12-07 23:39:49 +0000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2016-12-08 23:03:39 +0000 |
commit | e54af02567c8482c3aae983bdb6b58abe41c0eb0 (patch) | |
tree | d88d6d50a93714747a3f0ab0e3210351c4dee19e /src/amd | |
parent | 31f988a9d6d05f4aaea4d0455e509a5f6b667d9c (diff) |
radv/ac: use build_gep0 instead of opencoding it.
Reviewed by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/amd')
-rw-r--r-- | src/amd/common/ac_nir_to_llvm.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index f6449805c0..0ad9a7a7e8 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -1898,9 +1898,8 @@ static LLVMValueRef visit_vulkan_resource_index(struct nir_to_llvm_context *ctx, offset = LLVMConstInt(ctx->i32, base_offset, false); index = LLVMBuildMul(ctx->builder, index, stride, ""); offset = LLVMBuildAdd(ctx->builder, offset, index, ""); - - LLVMValueRef indices[] = {ctx->i32zero, offset}; - desc_ptr = LLVMBuildGEP(ctx->builder, desc_ptr, indices, 2, ""); + + desc_ptr = build_gep0(ctx, desc_ptr, offset); desc_ptr = cast_ptr(ctx, desc_ptr, ctx->v4i32); LLVMSetMetadata(desc_ptr, ctx->uniform_md_kind, ctx->empty_md); @@ -1912,8 +1911,7 @@ static LLVMValueRef visit_load_push_constant(struct nir_to_llvm_context *ctx, { LLVMValueRef ptr; - LLVMValueRef indices[] = {ctx->i32zero, get_src(ctx, instr->src[0])}; - ptr = LLVMBuildGEP(ctx->builder, ctx->push_constants, indices, 2, ""); + ptr = build_gep0(ctx, ctx->push_constants, get_src(ctx, instr->src[0])); ptr = cast_ptr(ctx, ptr, get_def_type(ctx, &instr->dest.ssa)); return LLVMBuildLoad(ctx->builder, ptr, ""); @@ -3131,7 +3129,6 @@ static LLVMValueRef get_sampler_desc(struct nir_to_llvm_context *ctx, unsigned type_size; LLVMBuilderRef builder = ctx->builder; LLVMTypeRef type; - LLVMValueRef indices[2]; LLVMValueRef index = NULL; assert(deref->var->data.binding < layout->binding_count); @@ -3175,9 +3172,8 @@ static LLVMValueRef get_sampler_desc(struct nir_to_llvm_context *ctx, index = ctx->i32zero; index = LLVMBuildMul(builder, index, LLVMConstInt(ctx->i32, stride / type_size, 0), ""); - indices[0] = ctx->i32zero; - indices[1] = LLVMConstInt(ctx->i32, offset, 0); - list = LLVMBuildGEP(builder, list, indices, 2, ""); + + list = build_gep0(ctx, list, LLVMConstInt(ctx->i32, offset, 0)); list = LLVMBuildPointerCast(builder, list, const_array(type, 0), ""); return build_indexed_load_const(ctx, list, index); |