[Mesa-dev] [PATCH 10/19] gallium/radeon: simplify radeon_llvm_emit_store for direct array addressing

Nicolai Hähnle nhaehnle at gmail.com
Tue Aug 9 10:36:39 UTC 2016


From: Nicolai Hähnle <nicolai.haehnle at amd.com>

We can use the pointer stored in the temps array directly.
---
 src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
index e084248..7b96a58 100644
--- a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
+++ b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
@@ -624,30 +624,23 @@ void radeon_llvm_emit_store(struct lp_build_tgsi_context *bld_base,
 		} else {
 			switch(reg->Register.File) {
 			case TGSI_FILE_OUTPUT:
 				temp_ptr = bld->outputs[reg->Register.Index][chan_index];
 				if (tgsi_type_is_64bit(dtype))
 					temp_ptr2 = bld->outputs[reg->Register.Index][chan_index + 1];
 				break;
 
 			case TGSI_FILE_TEMPORARY:
 			{
-				LLVMValueRef array;
 				if (reg->Register.Index >= ctx->temps_count)
 					continue;
-				array = get_alloca_for_array(bld_base, reg->Register.File, reg->Register.Index);
 
-				if (array) {
-					store_value_to_array(bld_base, value, reg->Register.File, chan_index, reg->Register.Index,
-								NULL);
-					continue;
-				}
 				temp_ptr = ctx->temps[ TGSI_NUM_CHANNELS * reg->Register.Index + chan_index];
 				if (tgsi_type_is_64bit(dtype))
 					temp_ptr2 = ctx->temps[ TGSI_NUM_CHANNELS * reg->Register.Index + chan_index + 1];
 
 				break;
 			}
 			default:
 				return;
 			}
 			if (!tgsi_type_is_64bit(dtype))
-- 
2.7.4



More information about the mesa-dev mailing list