Avoid invalid RTL sharing

Roger Sayle roger@eyesopen.com
Fri Nov 10 00:31:00 GMT 2006


Hi Jan,

On Thu, 9 Nov 2006, Jan Hubicka wrote:
>
> 	* cse.c (cse_process_notes): Copy the propagated value.
> 	* local-alloc.c (update_equiv_regs): Copy the memory RTX to be used
> 	in REG_EQUIV notes.
> 	* gcse.c (try_replace_reg): Copy the replacement.
> 	* i386.c (emit_i387_cw_initialization): Copy stored_mode
> 	(assign_386_stack_local): Always return copied memory expression
> 	* function.c (instantiate_virtual_regs_in_insn): Copy the operand
> 	duplicates.

This is OK for mainline.  Thanks for taking the time to hunt down these
internal invariant violations.  Presumably, there'll be negligible effects
on memory usage with this change?  If your memory usage tester complains
after you check this in, there are some places we can be clever to avoid
calling copy_rtx, but I doubt this is worth the additional effort.

p.s. Period after "Copy stored_mode" in the i386.c ChangeLog entry above.

Roger
--



More information about the Gcc-patches mailing list