PR 12828

Geoffrey Keating geoffk@apple.com
Thu Dec 4 01:01:00 GMT 2003


On 03/12/2003, at 4:12 PM, Dale Johannesen wrote:

> instantiate_virtual_regs() changes this to
...
> (insn 67 228 68 6 0x40586630 (parallel [
>             (set (reg:DF 129)  (float:DF (reg:SI 128)))
>             ......
>             (clobber (mem:DF (plus:SI (reg/f:SI 30 r30)
>                         (reg:SI 194)) [0 S8 A8]))
>            ........
>
> This confuses the loop optimizer: when pulling the set of R129 out of 
> a loop,
> it does not know there's a dependency on R194.  It looks like there 
> ought to
> be a USE of R194 inside the parallel, but I see no reason that 
> instantiate_virtual_regs
> can assume such a pattern exists (it doesn't now).  I could change the 
> loop
> optimizer to look inside CLOBBER(MEM, but I'm concerned that similar 
> problems
> could exist elsewhere.   What's the right approach here?
>
The loop optimizer should look inside CLOBBER (and inside anything else 
that might be relevant).



More information about the Gcc mailing list