nv50/ir: Fold IMM into MAD
authorRoy Spliet <rspliet@eclipso.eu>
Fri, 6 Feb 2015 21:46:56 +0000 (22:46 +0100)
committerIlia Mirkin <imirkin@alum.mit.edu>
Tue, 10 Feb 2015 13:02:13 +0000 (08:02 -0500)
commit09ee907266f315300a7856b55e50e74dce8e946f
tree287917eedab74d16ee18b168242e3552746437d6
parent3dc39d0bca0f06454cb5cddf7571facb7671767a
nv50/ir: Fold IMM into MAD

Add a specific optimisation pass for NV50 to check whether SRC0 or SRC1 is
a MOV dst, IMM. If so: fold the IMM in and try to drop the MOV. Must be
done post-RA because it requires that SDST == SSRC2.

V2: improve readability and add comments to clarify decisions
V3: Remove redundant code... compiler already attempts to put the IMM in
SSRC1

Signed-off-by: Roy Spliet <rspliet@eclipso.eu>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp