pan/bi: Rework FAU lowering
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Wed, 10 Feb 2021 16:43:18 +0000 (11:43 -0500)
committerMarge Bot <eric+marge@anholt.net>
Thu, 11 Feb 2021 17:24:37 +0000 (17:24 +0000)
commit0acc6b564efefbef9c8902ffd0fd1bef5b220323
tree74b39854d22277bf809051bb88ee5ed115438e04
parent6106fb5d8dc71376dbcebd5de41289362ed308f2
pan/bi: Rework FAU lowering

Move and reshape bi_lower_fau to bi_schedule.c. This generalizes the
pass for FAU reads, allowing copyprop to work with FAU without problems.

The pass must run immediately before scheduling. Its post-conditions are
directly specified as the scheduler's pre-conditions. It momentarily
will depend on internal scheduler predicates. It is, for all intents and
purposes, part of the scheduler. Keep it all together.

Finally, adjust the 0 handling to avoid a move at the expense of
constrained scheduling of something like `FADD.v2f16.clamp_0_1 u0, #0`

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8973>
src/panfrost/bifrost/bi_schedule.c
src/panfrost/bifrost/bifrost_compile.c