This is the mail archive of the
mailing list for the GCC project.
Re: implementation question
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Andrew Haley <aph at redhat dot com>
- Cc: Daniel Gutson <daniel dot gutson at tallertechnologies dot com>, gcc Mailing List <gcc at gcc dot gnu dot org>
- Date: Mon, 5 May 2014 13:57:25 +0200
- Subject: Re: implementation question
- Authentication-results: sourceware.org; auth=none
- References: <CAF5HaEWgup1evKX=CLB0in6Eqe=Fd2pBoPPjMhMY6b3sLPk_UA at mail dot gmail dot com> <CAFiYyc2kFMbsWdzK25iypbA1jHnr5j=r61PcpacPZ-4J4JpnBQ at mail dot gmail dot com> <536759A7 dot 3040408 at redhat dot com>
On Mon, May 5, 2014 at 11:28 AM, Andrew Haley <email@example.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 ...