Fix 991213-1.c testcase abort on Sparc
Bernd Schmidt
bernds@balti.cygnus.co.uk
Thu Dec 16 04:23:00 GMT 1999
On Thu, 16 Dec 1999, David S. Miller wrote:
> Date: Thu, 16 Dec 1999 03:58:18 -0700
> From: Jeffrey A Law <law@cygnus.com>
>
> Hmmm. I just realized an interesting problem. The whole point of
> the clobber is to show the entire value is being written. I don't
> see a good way to do that in that code. ie, we want to emit a
> single CLOBBER insn which stomps on the entire value. We can't do
> it in little hunks.
>
> Why won't the compiler view the following two as equivalent?
>
> (clobber (concat (reg1) (reg2)))
>
> (clobber (reg1))
> (clobber (reg2))
>
> I can't think of any piece of code currently in the compiler which
> will not derive the same conclusion about the life disposition of
> these two pseudos in both cases.
Do we actually need the clobber in such a case? If we have two insns
setting each pseudo, then the flow pass should deduce that each of the
registers is dead. This situation is different from the one involving
SUBREGs of multi-word pseudos where we can't keep track of the lifetimes
of its subregs.
Bernd
More information about the Gcc-patches
mailing list