summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/nir_opt_undef.c
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2016-07-29 01:29:09 -0700
committerKenneth Graunke <[email protected]>2016-08-04 00:40:10 -0700
commit12a912586f11ccbc4612532d5ceaf1bdd0cdb45a (patch)
treeac76f4daa209bed809f2dc0071d9a484b314bc5f /src/compiler/nir/nir_opt_undef.c
parent67c5e843b9ae2c72bcf5c84f8744c1bd23fc262a (diff)
i965: Use a separate register for every access to an SSA undef.
Previously, we allocated a new VGRF for every undefined definition. Instead, this patch makes us allocate a new VGRF for every use of an undefined definition. This makes sure that undefined values are fully independent of one another, and have live ranges limited to their single use. This allows register coalescing to combine the source and destination of MOVs from undefined sources, eliminating the MOV altogether. On Broadwell: total instructions in shared programs: 11641187 -> 11640214 (-0.01%) instructions in affected programs: 70199 -> 69226 (-1.39%) helped: 213 HURT: 1 v2: Add a comment (based on Iago's suggested one). Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir_opt_undef.c')
0 files changed, 0 insertions, 0 deletions