i965/fs: Give up in interference check if we see a WHILE.
authorMatt Turner <mattst88@gmail.com>
Wed, 16 Apr 2014 01:59:24 +0000 (18:59 -0700)
committerMatt Turner <mattst88@gmail.com>
Fri, 18 Apr 2014 16:16:19 +0000 (09:16 -0700)
commit55de1c035cbca2b7087b3aa21a8c3dfc900a4ad9
treefcbdef10abf55ba1c517ba7ba4584da432c35178
parent5ff1e446d44bb9d50f84883c7058635cb070e069
i965/fs: Give up in interference check if we see a WHILE.

Rather than any old control flow. Muchnick's algorithm just checks for
interfering writes between the MOV and the end of the program. Handling
this when you have backward branches is hard, so don't, but there's no
reason to bail if you see forward branches.

instructions in affected programs:     4270 -> 4248 (-0.52%)

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp