This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix alpha and arm bootstrap failures
- From: Richard Henderson <rth at redhat dot com>
- To: Roger Sayle <roger at www dot eyesopen dot com>
- Cc: Richard Earnshaw <rearnsha at arm dot com>, Brad Lucier <lucier at math dot purdue dot edu>, gcc-patches at gcc dot gnu dot org, Kazu Hirata <kazu at cs dot umass dot edu>
- Date: Thu, 27 Feb 2003 13:23:54 -0800
- Subject: Re: [PATCH] Fix alpha and arm bootstrap failures
- References: <20030227082324.GB12464@redhat.com> <Pine.LNX.4.44.0302270657100.3498-100000@www.eyesopen.com>
On Thu, Feb 27, 2003 at 07:20:40AM -0700, Roger Sayle wrote:
> Yes, but there's no reason the expr_list for libcalls arguments
> aren't also stored in the CALL_INSN_FUNCTION_USAGE the same way
> as non-libcalls.
Yes there is. CALL_INSN_FUNCTION_USAGE are the real life
dependencies of the call insn. Thus these are the hard register
function arguments. The REG_EQUAL note holds the pseudos that
are copied to the hard register function arguments.
> And this is exactly why GCC currently fails to fold __muldi3 when
> its arguments are constant!
Huh? libcalls that _do_ correspond directly to rtl codes _will_
have a normal rtx in the reg_equal note. It's only those that
do _not_ correspond to a particular rtx code that will use expr_list.
r~