i965: disable loop unrolling in GLSL IR
authorTimothy Arceri <timothy.arceri@collabora.com>
Tue, 13 Dec 2016 00:37:25 +0000 (11:37 +1100)
committerTimothy Arceri <timothy.arceri@collabora.com>
Thu, 22 Dec 2016 23:15:36 +0000 (10:15 +1100)
commit40e9f2f13847ddd94e1216088aa00456d7b02d2b
treea936d72979bb973f123370e4f38152db16cc05f4
parent715f0d06d19e7c33d98f99c764c5c3249d13b1c0
i965: disable loop unrolling in GLSL IR

There is a single regression in loop unrolling which is:

loops HURT:   shaders/orbital_explorer.shader_test GS SIMD8:    0 -> 1

However the loop is huge so it seems reasonable not to unroll it. It's
surprising that GLSL IR does unroll it.

shader-db results BDW:

total instructions in shared programs: 13037455 -> 13036947 (-0.00%)
instructions in affected programs: 17982 -> 17474 (-2.83%)
helped: 63
HURT: 25

total cycles in shared programs: 262217870 -> 262227990 (0.00%)
cycles in affected programs: 2287046 -> 2297166 (0.44%)
helped: 969
HURT: 844

total loops in shared programs: 2951 -> 2952 (0.03%)
loops in affected programs: 0 -> 1
helped: 0
HURT: 1

LOST:   0
GAINED: 1

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/brw_compiler.c