nv50/ir: fix phi/union sources when their def has been merged
authorIlia Mirkin <imirkin@alum.mit.edu>
Thu, 17 Jul 2014 04:30:40 +0000 (00:30 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Thu, 24 Jul 2014 12:26:41 +0000 (08:26 -0400)
commitdfb0ca16065c1d251101bb094f2cfd08cf3cda15
treed010899bc4005a5fbd9090a24ed12679028a1cfe
parent32702cceed6d6e0a83cb21821ee571e02d1d24fd
nv50/ir: fix phi/union sources when their def has been merged

In a situation where double-register values are used, the phi nodes can
still end up being u32 values. They all get merged into one RA node
though. When fixing up the merge (which comes after the phi node), the
phi node's def would get fixed, but not its sources which would remain
at the low register value.

This maintains the invariant that a phi node's defs and sources are
allocated the same register.

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