mesa/src/intel/compiler
Kenneth Graunke 1497f4e0c2 intel/fs: Don't include sync.nop in instruction count statistics
With the advent of software scoreboarding, we emit sync instructions
in various places to synchronize the execution pipelines.  This results
in assembly being littered with a bunch of sync.nop instructions.  That
means that when you reorder anything in the program, the scoreboarding
changes, and the number of sync.nops can vary wildly - even if the code
isn't really materially better or worse.  This makes it hard to use
tools like shader-db or fossil-db on post-Icelake platforms.

For now, exclude sync.nops from the instruction count statistic.  One
day we may want to consider improving the software scoreboarding pass
to emit fewer redundant sync.nop instructions, at which point tracking
this as a separate stat might be useful.  For now though, it's simply
cluttering and confusing our results.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27701>
2024-02-20 22:26:09 +00:00
..
tests intel: Rename i965_{asm,disasm} tools to brw_{asm,disasm} 2024-02-15 09:26:46 +00:00
brw_asm.h intel: Rename i965_{asm,disasm} tools to brw_{asm,disasm} 2024-02-15 09:26:46 +00:00
brw_asm_tool.c intel: Rename i965_{asm,disasm} tools to brw_{asm,disasm} 2024-02-15 09:26:46 +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 intel/compiler: Rename brw_vue_map to intel_vue_map 2024-02-14 22:31:23 -08:00
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 intel/compiler: Move disassemble functions to own header file 2024-02-15 09:26:46 +00:00
brw_compile_ff_gs.c intel/compiler: Move disassemble functions to own header file 2024-02-15 09:26:46 +00:00
brw_compile_sf.c intel/compiler: Move disassemble functions to own header file 2024-02-15 09:26:46 +00:00
brw_compiler.c intel/compiler: generate a hash function to use with the shader cache 2024-02-15 16:58:15 -08:00
brw_compiler.h intel/compiler: generate a hash function to use with the shader cache 2024-02-15 16:58:15 -08:00
brw_dead_control_flow.cpp
brw_dead_control_flow.h
brw_debug_recompile.c
brw_device_sha1_gen_c.py intel/compiler: generate a hash function to use with the shader cache 2024-02-15 16:58:15 -08:00
brw_disasm.c intel/compiler: Fix disassembly of URB message descriptor on Xe2+ 2024-02-15 19:46:55 +00:00
brw_disasm.h intel/compiler: Merge intel_disasm.[ch] into corresponding brw files 2024-02-15 09:26:46 +00:00
brw_disasm_info.c intel/compiler: Move disassemble functions to own header file 2024-02-15 09:26:46 +00:00
brw_disasm_info.h
brw_disasm_tool.c intel: Rename i965_{asm,disasm} tools to brw_{asm,disasm} 2024-02-15 09:26:46 +00:00
brw_eu.c intel/compiler: Rename brw_gfx_ver_enum.h to intel_gfx_ver_enum.h 2024-02-16 22:35:05 +00:00
brw_eu.h intel/compiler: Include brw_disasm_info.h where its used 2024-02-15 09:26:46 +00:00
brw_eu_compact.c intel/compiler: Move disassemble functions to own header file 2024-02-15 09:26:46 +00:00
brw_eu_defines.h intel/compiler/xe2: Set SIMD mode for sampler messages 2024-02-02 02:39:10 +00:00
brw_eu_emit.c intel/eu/xe2+: Translate brw_reg fields in REG_SIZE units to physical 512b GRF units during codegen. 2024-01-20 19:55:31 +00:00
brw_eu_util.c
brw_eu_validate.c intel/compiler: Include brw_disasm_info.h where its used 2024-02-15 09:26:46 +00:00
brw_fs.cpp intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
brw_fs.h intel/compiler: Rename BRW_WM_MSAA_* enums to INTEL_MSAA_* 2024-02-14 22:31:23 -08:00
brw_fs_bank_conflicts.cpp intel/fs/xe2+: Disable bank conflict mitigation pass for now. 2024-01-20 19:55:31 +00:00
brw_fs_builder.h intel/compiler: Initial bits for DPAS instruction 2023-12-29 20:24:16 -08:00
brw_fs_cmod_propagation.cpp
brw_fs_combine_constants.cpp intel/compiler: Fix rebuilding the CFG in fs_combine_constants 2024-01-19 01:59:36 +00:00
brw_fs_copy_propagation.cpp intel/fs: Use linear allocator in opt_copy_propagation 2024-01-04 23:06:07 +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/fs: Don't include sync.nop in instruction count statistics 2024-02-20 22:26:09 +00:00
brw_fs_live_variables.cpp intel/fs: Use linear allocator in fs_live_variables 2024-01-04 23:06:07 +00:00
brw_fs_live_variables.h
brw_fs_lower_dpas.cpp intel/fs: DPAS lowering 2023-12-29 20:27:15 -08:00
brw_fs_lower_pack.cpp
brw_fs_lower_regioning.cpp intel/compiler: Initial bits for DPAS instruction 2023-12-29 20:24:16 -08:00
brw_fs_nir.cpp intel/compiler: Rename DISPATCH_MODE_* enums to INTEL_DISPATCH_MODE_* 2024-02-14 22:31:23 -08: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_fs_scoreboard.cpp intel/fs: Fix scoreboarding for DPAS 2023-12-29 20:27:15 -08: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: Rename DISPATCH_MODE_* enums to INTEL_DISPATCH_MODE_* 2024-02-14 22:31:23 -08:00
brw_fs_validate.cpp intel/compiler: Add basic CFG validation 2023-11-30 20:58:05 +00:00
brw_fs_visitor.cpp intel/compiler: Rename brw_vue_map to intel_vue_map 2024-02-14 22:31:23 -08:00
brw_gram.y intel: Rename i965_{asm,disasm} tools to brw_{asm,disasm} 2024-02-15 09:26:46 +00:00
brw_inst.h intel/compiler/xe2: Fix for the removal of AccWrCtrl. 2024-01-12 20:18:03 +00:00
brw_interpolation_map.c intel/compiler: Rename brw_vue_map to intel_vue_map 2024-02-14 22:31:23 -08:00
brw_ir.h intel/compiler/xe2: Add extra flag registers. 2024-01-12 20:18:03 +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: Fix scoreboarding for DPAS 2023-12-29 20:27:15 -08:00
brw_ir_performance.cpp intel/ir/xe2+: Add support for 32 SBID tokens to performance model. 2024-01-20 19:55:31 +00:00
brw_ir_performance.h
brw_ir_vec4.h
brw_isa_info.h
brw_kernel.c intel/clc: workaround LLVM17 opaque pointers 2024-02-20 14:41:43 +00:00
brw_kernel.h intel/clc: workaround LLVM17 opaque pointers 2024-02-20 14:41:43 +00:00
brw_lex.l intel: Rename i965_{asm,disasm} tools to brw_{asm,disasm} 2024-02-15 09:26:46 +00:00
brw_lower_logical_sends.cpp intel/compiler: Rename BRW_WM_MSAA_* enums to INTEL_MSAA_* 2024-02-14 22:31:23 -08:00
brw_mesh.cpp intel/compiler: Use glsl_type C helpers 2023-12-22 06:44:23 -08:00
brw_nir.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
brw_nir.h anv: fixup push descriptor shader analysis 2024-02-19 11:10:29 +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_lower_alpha_to_coverage.c intel/compiler: Rename BRW_WM_MSAA_* enums to INTEL_MSAA_* 2024-02-14 22:31:23 -08:00
brw_nir_lower_cooperative_matrix.c intel/cmat: Generate better code for nir_intrinsic_cmat_insert 2023-12-29 20:28:54 -08:00
brw_nir_lower_cs_intrinsics.c intel: Use hardware generated compute shader local invocation IDs 2024-01-25 08:43:04 +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_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 intel/rt: Don't directly generate umul_32x16 2024-02-02 00:02:05 +00:00
brw_nir_lower_storage_image.c intel/compiler: Rename brw_image_param to isl_image_param 2024-02-14 22:31:23 -08:00
brw_nir_rt.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
brw_nir_rt.h
brw_nir_rt_builder.h 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+: Translate brw_reg fields in REG_SIZE units to physical 512b GRF units during codegen. 2024-01-20 19:55:31 +00:00
brw_reg_type.c
brw_reg_type.h
brw_rt.h intel: Use ALIGN_POT instead of ALIGN inside macro define 2024-01-03 12:46:10 +00:00
brw_schedule_instructions.cpp intel/compiler: revert part of "Move earlier scheduler code that is not mode-specific" 2024-01-04 00:38:38 +00:00
brw_shader.cpp intel/compiler: Rename brw_vue_map to intel_vue_map 2024-02-14 22:31:23 -08:00
brw_shader.h intel/compiler: Rename brw_vue_map to intel_vue_map 2024-02-14 22:31:23 -08:00
brw_simd_selection.cpp intel/fs/xe2+: Stop building SIMD8 compute-like shaders (CS/BS/TS/MS). 2023-12-22 10:37:00 -08:00
brw_vec4.cpp intel/compiler: Rename DISPATCH_MODE_* enums to INTEL_DISPATCH_MODE_* 2024-02-14 22:31:23 -08: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 intel/compiler: Rename DISPATCH_MODE_* enums to INTEL_DISPATCH_MODE_* 2024-02-14 22:31:23 -08:00
brw_vec4_cse.cpp
brw_vec4_dead_code_eliminate.cpp
brw_vec4_generator.cpp intel/compiler: Include brw_disasm_info.h where its used 2024-02-15 09:26:46 +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: Rename DISPATCH_MODE_* enums to INTEL_DISPATCH_MODE_* 2024-02-14 22:31:23 -08: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: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +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: Rename BRW_TESS_* enums to INTEL_TESS_* 2024-02-14 22:31:23 -08:00
brw_vec4_tes.h intel/compiler: rework input parameters 2023-07-20 09:08:08 +00:00
brw_vec4_visitor.cpp intel/compiler: Rename brw_image_param to isl_image_param 2024-02-14 22:31: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: Rename brw_vue_map to intel_vue_map 2024-02-14 22:31:23 -08: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/clc: workaround LLVM17 opaque pointers 2024-02-20 14:41:43 +00:00
intel_gfx_ver_enum.h intel/compiler: Rename brw_gfx_ver_enum.h to intel_gfx_ver_enum.h 2024-02-16 22:35:05 +00:00
intel_nir.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir.h intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir_blockify_uniform_loads.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir_clamp_image_1d_2d_array_sizes.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir_clamp_per_vertex_loads.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir_lower_conversions.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir_lower_non_uniform_barycentric_at_sample.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir_lower_non_uniform_resource_intel.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir_lower_shading_rate_output.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir_lower_sparse.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir_lower_texture.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir_opt_peephole_ffma.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir_opt_peephole_imul32x16.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir_tcs_workarounds.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_shader_enums.h intel/compiler: Rename brw_cs_dispatch_info to intel_cs_dispatch_info 2024-02-14 22:31:23 -08:00
meson.build intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
test_eu_compact.cpp intel/compiler: Move disassemble functions to own header file 2024-02-15 09:26:46 +00:00
test_eu_validate.cpp intel/compiler: Include brw_disasm_info.h where its used 2024-02-15 09:26:46 +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_combine_constants.cpp intel/compiler: Fix rebuilding the CFG in fs_combine_constants 2024-01-19 01:59:36 +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: Remove brw_ prefix from process debug function 2024-02-16 22:35:05 +00:00
test_vec4_cmod_propagation.cpp intel/compiler: Rename DISPATCH_MODE_* enums to INTEL_DISPATCH_MODE_* 2024-02-14 22:31:23 -08:00
test_vec4_copy_propagation.cpp intel/compiler: Rename DISPATCH_MODE_* enums to INTEL_DISPATCH_MODE_* 2024-02-14 22:31:23 -08:00
test_vec4_dead_code_eliminate.cpp intel/compiler: Rename DISPATCH_MODE_* enums to INTEL_DISPATCH_MODE_* 2024-02-14 22:31:23 -08:00
test_vec4_register_coalesce.cpp intel/compiler: Rename DISPATCH_MODE_* enums to INTEL_DISPATCH_MODE_* 2024-02-14 22:31:23 -08:00
test_vf_float_conversions.cpp