r00/sfn: Fix copy propagation into buffer load address
A buffer load can not use an indirect register as address.
Fixes: 79ca456b48 ("r600/sfn: rewrite NIR backend")
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36488>
This commit is contained in:
@@ -124,6 +124,8 @@ FetchInstr::replace_source(PRegister old_src, PVirtualValue new_src)
|
||||
bool success = false;
|
||||
auto new_reg = new_src->as_register();
|
||||
if (new_reg) {
|
||||
if (!new_reg->has_flag(Register::ssa) && new_reg->addr())
|
||||
return false;
|
||||
if (old_src->equal_to(*m_src)) {
|
||||
m_src->del_use(this);
|
||||
m_src = new_reg;
|
||||
|
||||
Reference in New Issue
Block a user