mesa/src/intel/compiler
Francisco Jerez 09ea840987 intel/fs: No need to copy null destinations in lower_simd_width.
The copy would be discarded immediately.  Until now we were relying on
DCE to eliminate these, but it seems like in some cases MOVs into the
null register emitted by lower_simd_width() are never eliminated,
likely because a lower_simd_width() call has been introduced close to
the bottom of optimize() which isn't follow by any additional DCE
passes.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26585>
2023-12-22 18:05:31 +00:00
..
brw_cfg.cpp intel/compiler: Verify that DO is alone in the block 2023-12-08 20:21:28 +00:00
brw_cfg.h intel/compiler: Allow dumping CFG to a specific FILE* 2023-11-30 20:58:05 +00:00
brw_clip.h
brw_clip_line.c intel/compiler,intel/blorp,intel/vulkan: decouple vulkan driver and compiler from gallium 2023-08-03 22:00:15 +00:00
brw_clip_point.c intel/compiler,intel/blorp,intel/vulkan: decouple vulkan driver and compiler from gallium 2023-08-03 22:00:15 +00:00
brw_clip_tri.c intel/compiler,intel/blorp,intel/vulkan: decouple vulkan driver and compiler from gallium 2023-08-03 22:00:15 +00:00
brw_clip_unfilled.c intel/compiler,intel/blorp,intel/vulkan: decouple vulkan driver and compiler from gallium 2023-08-03 22:00:15 +00:00
brw_clip_util.c intel/compiler,intel/blorp,intel/vulkan: decouple vulkan driver and compiler from gallium 2023-08-03 22:00:15 +00:00
brw_compile_clip.c compiler: Rename shader_prim to mesa_prim and replace all usage of pipe_prim_type with mesa_prim 2023-06-03 03:29:03 +00:00
brw_compile_ff_gs.c
brw_compile_sf.c
brw_compiler.c intel/fs/gfx12+: Don't set nir_divergence_single_prim_per_subgroup option for fragment shaders. 2023-12-22 18:05:31 +00:00
brw_compiler.h intel/fs/gfx12: Don't consider multipolygon PS to have packed dispatch. 2023-12-22 18:05:31 +00:00
brw_dead_control_flow.cpp
brw_dead_control_flow.h
brw_debug_recompile.c intel/compiler: Delete sampler key handling for planar format stuff 2022-12-09 10:18:25 +00:00
brw_disasm.c intel/eu/xe2+: Add support for 10-bit SWSB representation on Xe2+ platforms. 2023-11-08 23:12:32 -08:00
brw_disasm_info.c
brw_disasm_info.h
brw_eu.c intel/compiler: export brw_num_sources_from_inst 2022-12-10 03:59:19 +00:00
brw_eu.h treewide: Avoid use align as variable, replace it with other names 2023-12-07 02:30:53 +00:00
brw_eu_compact.c intel: Only validate inst compaction if debugging a shader stage 2023-12-22 03:16:32 +00:00
brw_eu_defines.h intel/fs: fix incorrect register flag interaction with dynamic interpolator mode 2023-11-28 13:40:07 +00:00
brw_eu_emit.c treewide: Avoid use align as variable, replace it with other names 2023-12-07 02:30:53 +00:00
brw_eu_util.c
brw_eu_validate.c intel/eu/validate: Validate "packed word exception" stricter 2023-10-05 01:41:42 +00:00
brw_fs.cpp intel/fs: No need to copy null destinations in lower_simd_width. 2023-12-22 18:05:31 +00:00
brw_fs.h intel/fs: Pass builder to per_primitive_reg(). 2023-12-22 18:05:30 +00:00
brw_fs_bank_conflicts.cpp
brw_fs_builder.h intel/compiler: Add ctor to fs_builder that just takes the shader 2023-12-12 19:36:14 +00:00
brw_fs_cmod_propagation.cpp intel/fs: avoid cmod optimization on instruction with different write_mask 2023-01-24 07:35:42 +00:00
brw_fs_combine_constants.cpp intel/compiler: Make fs_builder include fs_visitor and not the other way 2023-12-12 19:36:14 +00:00
brw_fs_copy_propagation.cpp intel/compiler: Don't change types for copies from ATTR file. 2023-12-22 18:05:31 +00:00
brw_fs_cse.cpp intel/compiler: Make fs_builder include fs_visitor and not the other way 2023-12-12 19:36:14 +00:00
brw_fs_dead_code_eliminate.cpp intel/fs: Allow omitting the destination of A64 untyped atomics 2023-12-19 11:07:18 +00:00
brw_fs_generator.cpp intel/compiler: Add polygon count statistic to brw_compile_stats. 2023-12-22 18:05:30 +00:00
brw_fs_live_variables.cpp intel/fs: Don't continue fixed point iteration just because liveout changes 2023-09-14 22:31:22 +00:00
brw_fs_live_variables.h
brw_fs_lower_pack.cpp intel/fs: Move packHalf2x16 handling to lower_pack() 2023-03-09 23:26:17 +00:00
brw_fs_lower_regioning.cpp intel/fs/xe2+: Update regioning lowering offset alignment checks for Xe2 regs. 2023-09-20 17:19:36 -07:00
brw_fs_nir.cpp intel/fs: Pass builder to per_primitive_reg(). 2023-12-22 18:05:30 +00:00
brw_fs_reg_allocate.cpp intel/compiler: Make fs_builder include fs_visitor and not the other way 2023-12-12 19:36:14 +00:00
brw_fs_register_coalesce.cpp intel/compiler: Make MAX_VGRF_SIZE macro depend on devinfo and update it for Xe2. 2023-09-20 17:19:36 -07:00
brw_fs_saturate_propagation.cpp brw: fix saturate propagation region overlap range 2022-12-09 00:39:05 +00:00
brw_fs_scoreboard.cpp intel/compiler: Make fs_builder include fs_visitor and not the other way 2023-12-12 19:36:14 +00:00
brw_fs_sel_peephole.cpp intel/compiler: Make fs_builder include fs_visitor and not the other way 2023-12-12 19:36:14 +00:00
brw_fs_thread_payload.cpp intel/compiler: Add ctor to fs_builder that just takes the shader 2023-12-12 19:36:14 +00:00
brw_fs_validate.cpp intel/compiler: Add basic CFG validation 2023-11-30 20:58:05 +00:00
brw_fs_visitor.cpp intel/fs: Rework layout of FS vertex setup data in ATTR file to support multi-polygon dispatch. 2023-12-22 18:05:31 +00:00
brw_gfx_ver_enum.h intel/compiler: Define XE2 compiler enum 2023-12-01 02:36:12 +00:00
brw_inst.h intel/fs: enable extended bindless surface offset 2023-05-30 06:36:37 +00:00
brw_interpolation_map.c
brw_ir.h intel/compiler: Remove is_tex() 2023-11-10 15:43:31 +00:00
brw_ir_allocator.h intel/compiler,intel/blorp,intel/vulkan: decouple vulkan driver and compiler from gallium 2023-08-03 22:00:15 +00:00
brw_ir_analysis.h
brw_ir_fs.h intel/fs: Consider ATTR registers with different fs_reg::nr as belonging to disjoint register spaces. 2023-12-22 18:05:30 +00:00
brw_ir_performance.cpp intel/eu/xe2+: Add definition for size of GRF space on Xe2. 2023-11-08 23:17:24 -08:00
brw_ir_performance.h
brw_ir_vec4.h
brw_isa_info.h
brw_kernel.c intel/compiler: Fix memory leaks in intel_clc 2023-12-05 11:48:25 +00:00
brw_kernel.h
brw_lower_logical_sends.cpp intel/compiler: Adjust assertion in lower_get_buffer_size() for Xe2 2023-12-13 19:06:21 +00:00
brw_mesh.cpp intel/compiler: Use glsl_type C helpers 2023-12-22 06:44:23 -08:00
brw_nir.c intel/compiler: move gen5 final pass to actually be final pass 2023-12-18 07:24:37 +00:00
brw_nir.h intel/compiler: Remove unused parameter from brw_nir_analyze_ubo_ranges() 2023-11-08 18:10:31 +00:00
brw_nir_analyze_boolean_resolves.c intel: Collapse is_ssa checks 2023-08-03 22:40:29 +00:00
brw_nir_analyze_ubo_ranges.c intel/compiler: Remove unused parameter from brw_nir_analyze_ubo_ranges() 2023-11-08 18:10:31 +00:00
brw_nir_attribute_workarounds.c nir: Drop nir_dest 2023-08-14 21:22:53 +00:00
brw_nir_blockify_uniform_loads.c nir: s/live_ssa_def/live_def/ 2023-08-15 17:44:27 +00:00
brw_nir_clamp_image_1d_2d_array_sizes.c nir: Drop nir_dest 2023-08-14 21:22:53 +00:00
brw_nir_clamp_per_vertex_loads.c treewide: Use nir_shader_intrinsic_pass sometimes 2023-08-24 15:48:02 +00:00
brw_nir_lower_alpha_to_coverage.c intel/compiler: fix dynamic alpha-to-coverage handling 2023-08-29 23:19:12 +00:00
brw_nir_lower_conversions.c intel/compiler: use nir_lower_fp16_casts 2023-11-16 11:02:31 +00:00
brw_nir_lower_cs_intrinsics.c intel/compiler: drop 64 bit handling for cl workgroup intrinsics 2023-08-30 07:04:33 +00:00
brw_nir_lower_intersection_shader.c intel/nir/rt: fix reportIntersection() hitT handling 2023-11-17 07:06:30 +00:00
brw_nir_lower_non_uniform_barycentric_at_sample.c intel/fs: move lower of non-uniform at_sample barycentric to NIR 2023-08-29 23:19:13 +00:00
brw_nir_lower_non_uniform_resource_intel.c nir: Use getters for nir_src::parent_* 2023-10-10 04:58:05 -04:00
brw_nir_lower_ray_queries.c treewide: Drop nir_ssa_for_src users 2023-09-18 10:25:17 -04:00
brw_nir_lower_rt_intrinsics.c treewide: Use nir_before/after_impl for more elaborate cases 2023-08-30 19:30:58 +00:00
brw_nir_lower_shader_calls.c treewide: Use nir_before/after_impl for more elaborate cases 2023-08-30 19:30:58 +00:00
brw_nir_lower_shading_rate_output.c treewide: Use nir_shader_intrinsic_pass sometimes 2023-08-24 15:48:02 +00:00
brw_nir_lower_sparse.c nir: Drop nir_dest 2023-08-14 21:22:53 +00:00
brw_nir_lower_storage_image.c nir: Drop most uses if nir_instr_rewrite_src() 2023-08-18 01:00:15 +00:00
brw_nir_opt_peephole_ffma.c nir: Use getters for nir_src::parent_* 2023-10-10 04:58:05 -04:00
brw_nir_opt_peephole_imul32x16.c nir: remove unused param from nir_alu_src_copy() 2023-09-08 03:01:39 +00:00
brw_nir_rt.c intel/compiler: Take more precise params in brw_nir_optimize() 2023-11-08 18:10:31 +00:00
brw_nir_rt.h anv: support VK_PIPELINE_CREATE_RAY_TRACING_SKIP_* 2022-10-20 00:03:55 +00:00
brw_nir_rt_builder.h nir: Drop "SSA" from NIR language 2023-08-12 16:44:41 -04:00
brw_nir_tcs_workarounds.c nir: Drop "SSA" from NIR language 2023-08-12 16:44:41 -04:00
brw_nir_trig_workarounds.py
brw_packed_float.c
brw_predicated_break.cpp intel/compiler: Don't create extra CFG links in opt_predicated_break 2023-11-30 20:58:05 +00:00
brw_prim.h
brw_private.h intel/compiler: Don't allocate memory for SIMD select error handling 2023-09-22 16:23:02 +00:00
brw_reg.h intel/eu/xe2+: Add definition for size of GRF space on Xe2. 2023-11-08 23:17:24 -08:00
brw_reg_type.c
brw_reg_type.h
brw_rt.h intel/rt: Fix L3 bank performance bottlenecks due to SW stack stride alignment. 2023-02-26 11:48:33 -08:00
brw_schedule_instructions.cpp intel/compiler: Clear up block instructions before re-adding them 2023-11-13 23:05:47 +00:00
brw_shader.cpp intel/compiler: Remove is_tex() 2023-11-10 15:43:31 +00:00
brw_shader.h intel/compiler: Don't store stage name and abbrev 2023-09-26 18:12:53 -07:00
brw_simd_selection.cpp intel/compiler: Don't allocate memory for SIMD select error handling 2023-09-22 16:23:02 +00:00
brw_vec4.cpp intel/fs/gfx12: Don't consider multipolygon PS to have packed dispatch. 2023-12-22 18:05:31 +00:00
brw_vec4.h intel/vec4: Stop passing around nir_dest 2023-08-14 21:22:53 +00:00
brw_vec4_builder.h
brw_vec4_cmod_propagation.cpp intel/compiler: Use C helpers to access builtin types 2023-12-15 03:09:19 +00:00
brw_vec4_copy_propagation.cpp
brw_vec4_cse.cpp
brw_vec4_dead_code_eliminate.cpp
brw_vec4_generator.cpp intel/compiler: use shader source hash in shader dump code 2023-07-20 09:08:08 +00:00
brw_vec4_gs_nir.cpp intel/compiler: Use glsl_type C helpers 2023-12-22 06:44:23 -08:00
brw_vec4_gs_visitor.cpp intel/compiler: Use C helpers to access builtin types 2023-12-15 03:09:19 +00:00
brw_vec4_gs_visitor.h intel/compiler: rework input parameters 2023-07-20 09:08:08 +00:00
brw_vec4_live_variables.cpp
brw_vec4_live_variables.h
brw_vec4_nir.cpp intel/compiler: Use glsl_type C helpers 2023-12-22 06:44:23 -08:00
brw_vec4_reg_allocate.cpp intel/compiler: Make MAX_VGRF_SIZE macro depend on devinfo and update it for Xe2. 2023-09-20 17:19:36 -07:00
brw_vec4_surface_builder.cpp
brw_vec4_surface_builder.h
brw_vec4_tcs.cpp intel/compiler: Use C helpers to access builtin types 2023-12-15 03:09:19 +00:00
brw_vec4_tcs.h intel/compiler/xe2+: Represent dispatch_grf_start_reg in native GRF units. 2023-09-20 17:19:36 -07:00
brw_vec4_tes.cpp intel/compiler: Use C helpers to access builtin types 2023-12-15 03:09:19 +00:00
brw_vec4_tes.h intel/compiler: rework input parameters 2023-07-20 09:08:08 +00:00
brw_vec4_visitor.cpp intel/compiler: Use glsl_type C helpers 2023-12-22 06:44:23 -08:00
brw_vec4_vs.h intel/compiler: rework input parameters 2023-07-20 09:08:08 +00:00
brw_vec4_vs_visitor.cpp intel/compiler: rework input parameters 2023-07-20 09:08:08 +00:00
brw_vue_map.c intel/compiler: Store the number of position slots in the VUE map 2022-08-31 02:00:18 +00:00
gfx6_gs_visitor.cpp intel/compiler: Use C helpers to access builtin types 2023-12-15 03:09:19 +00:00
gfx6_gs_visitor.h intel/compiler: rework input parameters 2023-07-20 09:08:08 +00:00
intel_clc.c intel/compiler: Remove the linking step in intel_clc 2023-12-05 11:48:25 +00:00
meson.build intel/compiler: Add a few tests to opt_predicated_break 2023-11-30 20:58:05 +00:00
test_eu_compact.cpp intel/compiler: Fixes [-Wdeprecated-declarations] in test_eu_compact.cpp 2022-08-23 15:19:16 +00:00
test_eu_validate.cpp intel/eu/validate: Validate "packed word exception" stricter 2023-10-05 01:41:42 +00:00
test_fs_cmod_propagation.cpp intel/compiler: Use C helpers to access builtin types 2023-12-15 03:09:19 +00:00
test_fs_copy_propagation.cpp intel/compiler: Use C helpers to access builtin types 2023-12-15 03:09:19 +00:00
test_fs_saturate_propagation.cpp intel/compiler: Use C helpers to access builtin types 2023-12-15 03:09:19 +00:00
test_fs_scoreboard.cpp intel/compiler: Use C helpers to access builtin types 2023-12-15 03:09:19 +00:00
test_predicated_break.cpp intel/compiler: Make fs_builder include fs_visitor and not the other way 2023-12-12 19:36:14 +00:00
test_simd_selection.cpp intel/compiler: Don't allocate memory for SIMD select error handling 2023-09-22 16:23:02 +00:00
test_vec4_cmod_propagation.cpp intel/compiler: Use C helpers to access builtin types 2023-12-15 03:09:19 +00:00
test_vec4_copy_propagation.cpp intel/compiler: Use C helpers to access builtin types 2023-12-15 03:09:19 +00:00
test_vec4_dead_code_eliminate.cpp intel/compiler: Use C helpers to access builtin types 2023-12-15 03:09:19 +00:00
test_vec4_register_coalesce.cpp intel/compiler: Use C helpers to access builtin types 2023-12-15 03:09:19 +00:00
test_vf_float_conversions.cpp