Use-and-clobber insns and some ancient combine.c code

Ulrich Weigand weigand@i1.informatik.uni-erlangen.de
Fri Jun 18 14:56:00 GMT 2004


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



More information about the Gcc mailing list