i965/vec4: Consider removal of no-op MOVs as progress during register coalesce.
authorFrancisco Jerez <currojerez@riseup.net>
Mon, 14 Mar 2016 02:15:45 +0000 (19:15 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Mon, 14 Mar 2016 21:58:11 +0000 (14:58 -0700)
commit7d7990cf657550be4d038a0424ffdc0ef7fd8faa
treee3261cb835bad3c17ea323dc40f1e54335e0f647
parent93be4158aed9accab06e3df2d8c526d3312bfff8
i965/vec4: Consider removal of no-op MOVs as progress during register coalesce.

Bug found by the liveness analysis validation pass that will be
introduced in a later commit.  The no-op MOV check in
opt_register_coalesce() was removing instructions which makes the
cached liveness analysis calculation inconsistent with the shader IR.
We were failing to set progress to true in that case though, which
means that invalidate_live_intervals() wouldn't necessarily be called
at the end of the function.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/brw_vec4.cpp