pan/midgard: Rewrite bidirectionally when eliminating moves
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Mon, 5 Aug 2019 17:53:41 +0000 (10:53 -0700)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Mon, 5 Aug 2019 17:58:39 +0000 (10:58 -0700)
commit28697583557e37e3dec95aa043411594e3c25623
tree395843f95019ff1c28463420f8ba267a6bedb479
parent04a995158084acbd1917b4c7e0f8d381e1c9222d
pan/midgard: Rewrite bidirectionally when eliminating moves

Symptom: the sky is black in SuperTuxKart (flashbacks to SMB/NES
emulation intensify).

Essentially, what happened is a fixed (special) move to r0 was
eliminated but scheduling did not factor this in, so
can_run_concurrent_ssa returned true even when there was a logical data
dependency that needed to be resolved.

Fixes: 20771ede1c0 ("pan/midgard: Add post-RA move elimination")
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/panfrost/midgard/midgard_opt_dce.c