This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix alpha and arm bootstrap failures


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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]