Mesa (master): i965: Reduce register interference checks for changed FS_OPCODE_DISCARD.
Eric Anholt
anholt at kemper.freedesktop.org
Mon Oct 11 19:11:55 UTC 2010
Module: Mesa
Branch: master
Commit: 251fe2785484f7ba0c194c92fe0feff9c78b52ca
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=251fe2785484f7ba0c194c92fe0feff9c78b52ca
Author: Eric Anholt <eric at anholt.net>
Date: Sun Oct 10 12:13:35 2010 -0700
i965: Reduce register interference checks for changed FS_OPCODE_DISCARD.
While I don't know of any performance changes from this (once extra
reg available out of 128), it makes the generated asm a lot cleaner
looking.
---
src/mesa/drivers/dri/i965/brw_fs.cpp | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index f41e878..798c369 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2706,10 +2706,7 @@ fs_visitor::dead_code_eliminate()
bool dead[num_vars];
for (int i = 0; i < num_vars; i++) {
- /* This would be ">=", but FS_OPCODE_DISCARD has a src == dst where
- * it writes dst then reads it as src.
- */
- dead[i] = this->virtual_grf_def[i] > this->virtual_grf_use[i];
+ dead[i] = this->virtual_grf_def[i] >= this->virtual_grf_use[i];
if (dead[i]) {
/* Mark off its interval so it won't interfere with anything. */
@@ -2824,7 +2821,7 @@ fs_visitor::virtual_grf_interferes(int a, int b)
this->virtual_grf_def[b] < this->virtual_grf_use[a]);
}
- return start <= end;
+ return start < end;
}
static struct brw_reg brw_reg_from_fs_reg(fs_reg *reg)
More information about the mesa-commit
mailing list