On Mon, May 5, 2014 at 11:28 AM, Andrew Haley <a...@redhat.com> wrote: > On 05/05/2014 08:47 AM, Richard Biener wrote: >> It really depends on how "3x" should materialize in the end. >> How do you triplicate ops with side-effects? If you only >> triplicate ops without side-effects what is the sink that keeps >> the duplicated ops live? > > The vote, surely. CSE would be absolutely determined to get rid of > all this redundant work. I guess it'd all have to be done very late > or we'd need a new node that CSE can't see through. > > Would it be enough to mark all nodes that go into the vote as volatile? > I guess not: we wouldn't want to generate extra memory traffic.
Well, it can end up using the exact same registers 3 times and spilling the result to the stack anyway. It has to be done before register allocation I suppose, and thus postreload-cse will come along ... Richard. > Andrew. >