ir3: Add simple CSE pass
authorConnor Abbott <cwabbott0@gmail.com>
Thu, 4 Mar 2021 11:18:44 +0000 (12:18 +0100)
committerEmma Anholt <emma@anholt.net>
Thu, 10 Jun 2021 19:24:06 +0000 (12:24 -0700)
commitfa17295ebdd42ab9f6a76ce44f303a99efcf3707
treed21d30504d6198077be64002be75dc669fdac811
parentb1a1de76e8168bef331eb863a61822f96f43314d
ir3: Add simple CSE pass

RA currently can't handle a live value that's part of a vector and
introduces extra copies. This was espeically a problem for bary.f, where
the bary coords were being split and repeatedly re-collected. But this
could be a problem in other situations as well.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9842>
src/freedreno/ir3/ir3.h
src/freedreno/ir3/ir3_compiler_nir.c
src/freedreno/ir3/ir3_cse.c [new file with mode: 0644]
src/freedreno/ir3/meson.build