From f68b18f2856da6d44e6b91f17428aaa011e2fd02 Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Thu, 6 Oct 2022 11:03:14 +0200 Subject: [PATCH] ac/llvm: switch ac_build_gep_ptr to LLVMBuildGEP2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Mihai Preda Reviewed-by: Dave Airlie Reviewed-by: Qiang Yu Reviewed-by: Marek Olšák Acked-by: Samuel Pitoiset Part-of: --- src/amd/llvm/ac_llvm_build.c | 4 ++-- src/amd/llvm/ac_llvm_build.h | 2 +- src/amd/llvm/ac_nir_to_llvm.c | 2 +- src/gallium/drivers/radeonsi/gfx10_shader_ngg.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/amd/llvm/ac_llvm_build.c b/src/amd/llvm/ac_llvm_build.c index a3d3df8a82a..be3b9d8f8d2 100644 --- a/src/amd/llvm/ac_llvm_build.c +++ b/src/amd/llvm/ac_llvm_build.c @@ -1084,10 +1084,10 @@ LLVMValueRef ac_build_fs_interp_mov(struct ac_llvm_context *ctx, LLVMValueRef pa } } -LLVMValueRef ac_build_gep_ptr(struct ac_llvm_context *ctx, LLVMValueRef base_ptr, +LLVMValueRef ac_build_gep_ptr(struct ac_llvm_context *ctx, LLVMTypeRef type, LLVMValueRef base_ptr, LLVMValueRef index) { - return LLVMBuildGEP(ctx->builder, base_ptr, &index, 1, ""); + return LLVMBuildGEP2(ctx->builder, type, base_ptr, &index, 1, ""); } LLVMValueRef ac_build_gep0(struct ac_llvm_context *ctx, LLVMValueRef base_ptr, LLVMValueRef index) diff --git a/src/amd/llvm/ac_llvm_build.h b/src/amd/llvm/ac_llvm_build.h index 17372cf212c..2ba7e3df487 100644 --- a/src/amd/llvm/ac_llvm_build.h +++ b/src/amd/llvm/ac_llvm_build.h @@ -251,7 +251,7 @@ LLVMValueRef ac_build_fs_interp_mov(struct ac_llvm_context *ctx, LLVMValueRef pa LLVMValueRef llvm_chan, LLVMValueRef attr_number, LLVMValueRef params); -LLVMValueRef ac_build_gep_ptr(struct ac_llvm_context *ctx, LLVMValueRef base_ptr, +LLVMValueRef ac_build_gep_ptr(struct ac_llvm_context *ctx, LLVMTypeRef type, LLVMValueRef base_ptr, LLVMValueRef index); LLVMValueRef ac_build_gep0(struct ac_llvm_context *ctx, LLVMValueRef base_ptr, LLVMValueRef index); diff --git a/src/amd/llvm/ac_nir_to_llvm.c b/src/amd/llvm/ac_nir_to_llvm.c index f667111c455..5bbb0c1be64 100644 --- a/src/amd/llvm/ac_nir_to_llvm.c +++ b/src/amd/llvm/ac_nir_to_llvm.c @@ -4403,7 +4403,7 @@ static bool visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *ins for (unsigned i = 0; i < instr->num_components; i++) { if (write_mask & (1 << i)) { LLVMValueRef gds_ptr = - ac_build_gep_ptr(&ctx->ac, gdsbase, LLVMConstInt(ctx->ac.i32, i, 0)); + ac_build_gep_ptr(&ctx->ac, ctx->ac.i32, gdsbase, LLVMConstInt(ctx->ac.i32, i, 0)); LLVMValueRef count = LLVMBuildExtractElement(ctx->ac.builder, add_count, LLVMConstInt(ctx->ac.i32, i, false), ""); diff --git a/src/gallium/drivers/radeonsi/gfx10_shader_ngg.c b/src/gallium/drivers/radeonsi/gfx10_shader_ngg.c index 95deba0355c..a8e4f654aae 100644 --- a/src/gallium/drivers/radeonsi/gfx10_shader_ngg.c +++ b/src/gallium/drivers/radeonsi/gfx10_shader_ngg.c @@ -412,7 +412,7 @@ static void build_streamout(struct si_shader_context *ctx, struct ngg_streamout for (unsigned i = 0; i < 4; i++) { if (ctx->shader->selector->info.base.xfb_stride[i]) { LLVMValueRef gds_ptr = - ac_build_gep_ptr(&ctx->ac, gdsbase, LLVMConstInt(ctx->ac.i32, i, 0)); + ac_build_gep_ptr(&ctx->ac, ctx->ac.i32, gdsbase, LLVMConstInt(ctx->ac.i32, i, 0)); dwords_written[i] = LLVMBuildAtomicRMW(builder, LLVMAtomicRMWBinOpAdd, gds_ptr, dwords_written[i],