@@ -187,6 +187,7 @@ struct agent_t
187187
188188 optional_load2sh_t load2sh{storage.load2sh };
189189
190+ key_type keys_loc[items_per_thread];
190191 key_type* keys1_shared;
191192 key_type* keys2_shared;
192193 int keys2_offset;
@@ -214,7 +215,6 @@ struct agent_t
214215 }
215216 else
216217 {
217- key_type keys_loc[items_per_thread];
218218 auto keys1_in_cm = try_make_cache_modified_iterator<Policy::LOAD_MODIFIER>(keys1_in);
219219 auto keys2_in_cm = try_make_cache_modified_iterator<Policy::LOAD_MODIFIER>(keys2_in);
220220 merge_sort::gmem_to_reg<threads_per_block, IsFullTile>(
@@ -248,7 +248,6 @@ struct agent_t
248248 const int keys2_count_thread = keys2_count_tile - keys2_beg_thread;
249249
250250 // perform serial merge
251- key_type keys_loc[items_per_thread];
252251 int indices[items_per_thread];
253252 cub::SerialMerge (
254253 keys1_shared,
@@ -291,6 +290,7 @@ struct agent_t
291290 // WAR for MSVC erroring ("declared but never referenced") despite [[maybe_unused]]
292291 (void ) translate_indices;
293292
293+ item_type items_loc[items_per_thread];
294294 item_type* items1_shared;
295295 if constexpr (keys_use_block_load_to_shared)
296296 {
@@ -318,7 +318,6 @@ struct agent_t
318318 }
319319 else
320320 {
321- item_type items_loc[items_per_thread];
322321 {
323322 auto items1_in_cm = try_make_cache_modified_iterator<Policy::LOAD_MODIFIER>(items1_in);
324323 auto items2_in_cm = try_make_cache_modified_iterator<Policy::LOAD_MODIFIER>(items2_in);
@@ -337,7 +336,6 @@ struct agent_t
337336 }
338337
339338 // gather items from shared mem
340- item_type items_loc[items_per_thread];
341339 _CCCL_PRAGMA_UNROLL_FULL ()
342340 for (int i = 0 ; i < items_per_thread; ++i)
343341 {
0 commit comments