glsl2: Teach copy propagation about "if" and "loop" instructions.
authorEric Anholt <eric@anholt.net>
Mon, 9 Aug 2010 00:56:34 +0000 (17:56 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 10 Aug 2010 00:14:31 +0000 (17:14 -0700)
commit2dd3ae0d4ae681cd7b6b28caf35ca45965621c79
tree6acd2949897a64dd252a9a44b56fa56d1a558304
parent8aa7dbacaf61cb4dd9a436a66c138cb865d7406c
glsl2: Teach copy propagation about "if" and "loop" instructions.

This lets us track copies across basic block boundaries.  The loop
doesn't get a filled out list of available copies into it yet, though.

glsl-fs-raytrace drops from 585 to 535 Mesa IR instructions out of the
compiler, and it appears that Yo Frankie's largest shaders decrease in
Mesa IR count by about 10% as well.
src/glsl/ir_copy_propagation.cpp