intel/fs/copy-prop: Purge unused ACPs
authorJason Ekstrand <jason@jlekstrand.net>
Sun, 5 May 2019 04:51:23 +0000 (23:51 -0500)
committerJason Ekstrand <jason@jlekstrand.net>
Fri, 10 May 2019 14:10:17 +0000 (09:10 -0500)
commit20bbc175a4eea5604357bae6690efa1bb1f37feb
treec4d72a28fdd1b11b3962e4d5f988ad584d51449e
parent0b6da5bac66dc9abb9bd4617b156186c4fd3f92b
intel/fs/copy-prop: Purge unused ACPs

If the destination of an ACP entry exists only within this block, then
there's no need to keep it for dataflow analysis.  We can delete it from
the out_acp table and avoid growing the bitsets any bigger than we
absolutely have to.  This reduces the maximum number of global ACP
entries in the vs-isnan-dvec with software fp64 on Kaby Lake from 8630
to 3942 and takes the execution time of the piglit vs-isnan-dvec test
from about 1:16.2 on an unoptimized debug build (what we run in CI) with
NIR_VALIDATE=0 to about 56.4 seconds.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/intel/compiler/brw_fs_copy_propagation.cpp