nir/copy_propagate: do not copy-propagate MOV srcs with source modifiers
authorIago Toral Quiroga <itoral@igalia.com>
Fri, 13 Nov 2015 08:03:55 +0000 (09:03 +0100)
committerIago Toral Quiroga <itoral@igalia.com>
Mon, 16 Nov 2015 07:11:13 +0000 (08:11 +0100)
commit3f34afa0aad2a9bcfc0e5469a9675eca11ea7649
treedf32b8731c00decc84a39e40eb386d8b590cc889
parentff17b3ccf4f8d9f989cc975cd0e11716ff48bc1d
nir/copy_propagate: do not copy-propagate MOV srcs with source modifiers

If a source operand in a MOV has source modifiers, then we cannot
copy-propagate it from the parent instruction and remove the MOV.

v2: remove the check for source modifiers from is_move() (Jason)

v3: Put the check for source modifiers back into is_move() since
    this function is called from copy_prop_alu_src(). Add source
    modifiers checks to is_vec() instead.

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
src/glsl/nir/nir_opt_copy_propagate.c