This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Bogus libcalls with multiple REG_RETVAL notes
- To: Bernd Schmidt <bernds at redhat dot co dot uk>
- Subject: Re: Bogus libcalls with multiple REG_RETVAL notes
- From: Richard Henderson <rth at cygnus dot com>
- Date: Sat, 16 Sep 2000 11:38:14 -0700
- Cc: gcc-patches at gcc dot gnu dot org
- References: <Pine.LNX.4.21.0009151359090.32574-100000@mahatma.cygnus.co.uk>
On Fri, Sep 15, 2000 at 02:11:16PM +0100, Bernd Schmidt wrote:
> AFAICT the code in emit_library_call_value_1 to create the reg note with
> the equal form is totally bogus and should be deleted. That gives us
> rtl that looks similar to what earlier compilers emitted.
This is wrong. Now we will not get libcall notes for
__attribute__((const)) functions, which means that they
will not be CSEd.
The correct solution, as has been discussed several times,
an implementation done for 2000r1 but not cleaned up for
external use, is to define an enumeration with the three
cases: non-const-function, no-libcall-note, const-function.
Then emit_library_call should only emit the notes for
the later.
r~