This is the mail archive of the
mailing list for the GCC project.
Re: Avoid invalid RTL sharing
- From: Roger Sayle <roger at eyesopen dot com>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 9 Nov 2006 16:45:30 -0700 (MST)
- Subject: Re: Avoid invalid RTL sharing
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
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.