aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/Makefile.sources
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2013-10-22 17:51:28 -0700
committerMatt Turner <[email protected]>2013-12-04 20:05:44 -0800
commit13de9f03f177d3ae0921fded1a102b66130f8b40 (patch)
treef1069e6f978e143efb3cc364581a8ba26cb72807 /src/mesa/drivers/dri/i965/Makefile.sources
parentfa227e7cbca279cd70ea7028a33d520579385f9f (diff)
i965/fs: New peephole optimization to generate SEL.
fs_visitor::try_replace_with_sel optimizes only if statements whose "then" and "else" bodies contain a single MOV instruction. It also could not handle constant arguments, since they cause an extra MOV immediate to be generated (since we haven't run constant propagation, there are more than the single MOV). This peephole fixes both of these and operates as a normal optimization pass. fs_visitor::try_replace_with_sel is still arguably necessary, since it runs before pull constant loads are lowered. total instructions in shared programs: 1559129 -> 1545833 (-0.85%) instructions in affected programs: 167120 -> 153824 (-7.96%) GAINED: 13 LOST: 6 Reviewed-by: Paul Berry <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/Makefile.sources')
-rw-r--r--src/mesa/drivers/dri/i965/Makefile.sources1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/Makefile.sources b/src/mesa/drivers/dri/i965/Makefile.sources
index 193f2db3bc7..6e94dcab24b 100644
--- a/src/mesa/drivers/dri/i965/Makefile.sources
+++ b/src/mesa/drivers/dri/i965/Makefile.sources
@@ -61,6 +61,7 @@ i965_FILES = \
brw_fs_generator.cpp \
brw_fs_live_variables.cpp \
brw_fs_reg_allocate.cpp \
+ brw_fs_sel_peephole.cpp \
brw_fs_vector_splitting.cpp \
brw_fs_visitor.cpp \
brw_gs.c \