nv50/ir: propagate indirect loads into instructions
authorIlia Mirkin <imirkin@alum.mit.edu>
Fri, 4 Dec 2015 20:21:11 +0000 (15:21 -0500)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sat, 5 Dec 2015 22:50:23 +0000 (17:50 -0500)
commitabd326e81b06f58797be94bd655ee06b17a34f0c
tree1a96ec979854bb7576f67718beddcab561a9b19a
parent31fde8fabadcd9240c1e96c8a953b465def9b516
nv50/ir: propagate indirect loads into instructions

This way $r1 = $r0 + 4; c1[$r1] becomes c1[$r0+4].

On SM35:

total instructions in shared programs : 6206257 -> 6185058 (-0.34%)
total gprs used in shared programs    : 911045 -> 910722 (-0.04%)
total local used in shared programs   : 39072 -> 39072 (0.00%)

                local        gpr       inst      bytes
    helped           0         417        4195        4195
      hurt           0         280           0           0

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp