This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Use-and-clobber insns and some ancient combine.c code
- From: Ulrich Weigand <weigand at i1 dot informatik dot uni-erlangen dot de>
- To: rearnsha at gcc dot gnu dot org (Richard Earnshaw)
- Cc: weigand at i1 dot informatik dot uni-erlangen dot de (Ulrich Weigand), kenner at vlsi1 dot ultra dot nyu dot edu, gcc at gcc dot gnu dot org
- Date: Fri, 18 Jun 2004 16:56:42 +0200 (CEST)
- Subject: Re: Use-and-clobber insns and some ancient combine.c code
Richard Earnshaw wrote:
> Now in your case, we aren't talking about pseudos being allocated, we
> are talking about a hard register, so there is no constraint string.
> Since there isn't, combine has to act conservatively (it can't rely on
> the register allocator to fix things up) and must therefore assume that
> the value *might* be clobbered early.
OK, thanks for the explanation.
Unfortunately, this means there doesn't appear to be a way to specify
that a particular value is certainly *not* clobbered early ...
What about: If a hard reg is clobbered, but the same hard reg is also
used in the same insn, the clobber does *not* count as earlyclobber.
Do you think this would be feasible?
Bye,
Ulrich
--
Dr. Ulrich Weigand
weigand@informatik.uni-erlangen.de