intel/fs: Rework fs_inst::is_copy_payload() into multiple classification helpers.
authorFrancisco Jerez <currojerez@riseup.net>
Tue, 31 Dec 2019 08:10:28 +0000 (00:10 -0800)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 17 Jan 2020 21:21:19 +0000 (13:21 -0800)
commitab0d1b3b3d17bab2444674aa06f0a8458f6f0821
tree59c578be46105bae6489bb38e5e6d5b33a7fbf1a
parent1873202f44b7e4f7c8d1fee32b7faaa3bdd1d6a3
intel/fs: Rework fs_inst::is_copy_payload() into multiple classification helpers.

This reworks the current fs_inst::is_copy_payload() method into a
number of classification helpers with well-defined semantics.  This
will be useful later on in order to optimize LOAD_PAYLOAD instructions
more aggressively in cases where we can determine it's safe to do so.

The closest equivalent of the present fs_inst::is_copy_payload()
method is the is_coalescing_payload() helper introduced here.

No functional nor shader-db changes.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/compiler/brw_fs.cpp
src/intel/compiler/brw_fs_cse.cpp
src/intel/compiler/brw_fs_register_coalesce.cpp
src/intel/compiler/brw_ir_fs.h