Mesa (nv50-compiler): nv50: don't eliminate loads to dedicated values

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Wed Aug 4 22:49:20 UTC 2010


Module: Mesa
Branch: nv50-compiler
Commit: 2c695d38e6b194572becf82300fba5e34b1fd7d7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c695d38e6b194572becf82300fba5e34b1fd7d7

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Jul 31 20:56:42 2010 +0200

nv50: don't eliminate loads to dedicated values

---

 src/gallium/drivers/nv50/nv50_pc_optimize.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_pc_optimize.c b/src/gallium/drivers/nv50/nv50_pc_optimize.c
index 1f2f163..324f8bb 100644
--- a/src/gallium/drivers/nv50/nv50_pc_optimize.c
+++ b/src/gallium/drivers/nv50/nv50_pc_optimize.c
@@ -639,12 +639,10 @@ nv_pass_reload_elim(struct nv_pass_reld_elim *ctx, struct nv_basic_block *b)
             break;
 
       if (it) {
-#if 1
-         nvcg_replace_value(ctx->pc, ld->def[0], it->value);
-#else
-         ld->opcode = NV_OP_MOV;
-         nv_reference(ctx->pc, &ld->src[0], it->value);
-#endif
+         if (ld->def[0]->reg.id >= 0)
+            it->value = ld->def[0];
+         else
+            nvcg_replace_value(ctx->pc, ld->def[0], it->value);
       } else {
          if (ctx->alloc == LOAD_RECORD_POOL_SIZE)
             continue;




More information about the mesa-commit mailing list