Hi, On Wed, 20 Jun 2007, Kenneth Zadeck wrote:
> > I don't understand, wouldn't the consertive approach be that the value > > simply doesn't survive? > > > No, the conservative is that we do not know anything. it could be > destroyed and it could not be destroyed. What is the value of this? If we don't know anything, we can't use the value anymore, since it may be destroyed, so effectively we have to assume the value is destroyed. > Better information would tell us definitively that it there was one of > two possible outcomes, the value is destroyed by the call or was not > destroyed and passes thru unscathed. No argument here, but currently this information is not available, so parts of the compiler assume the register don't survive. If the register were correctly marked as clobbered I wouldn't have the current problem, e.g. reload needs a definitive answer, whether the register survives a call, so it uses call_used_reg_set for that, which conflicts with the current vague life information. bye, Roman