Re: [PATCH v9 0/2] MR59: vkd3d-shader/hlsl: Avoid infinite loop in copy propagation.
On Wed Jan 25 16:39:04 2023 +0000, Francisco Casas wrote:
I don't think the problem is currently happening with regular stores/loads, because when we do a replacement, we are removing the whole instruction (and replacing all subsequent references to it), so there is not the possibility of copy-prop doing an incorrect replacement for the instruction being replaced a second time. Writing directly ``` a = b; b = c; d = a; ``` could be misleading, since on regular stores what we have on the rhs is an hlsl_src, a reference to another node, so it would be more accurate to write it as: ``` 1 : load (b) 2 : a = @1; 3 : load (c) 4 : b = @3; 5 : load (a) 6 : d = @5; ``` which would be transformed to ``` 1 : load (b) 2 : a = @1; 3 : load (c) 4 : b = @3; 5 : <deleted> 6 : d = @1; ``` Yes, you're right, I got confused.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/59#note_21971
participants (1)
-
Giovanni Mascellani (@giomasce)