Bugfix in update_equiv_regs

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Fri Dec 29 05:16:00 GMT 2000


You can't call copy_rtx on a PATTERN since it doesn't handle ASM_OPERANDS
properly, but it's needed here since there's no sharing going on.
This was causing compile/20001205-1.c to fail with -O1 or greater.

2000-12-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* local-alloc.c (update_equiv_regs): Don't use copy_rtx on PATTERN.

*** local-alloc.c	2000/11/30 21:40:33	1.75
--- local-alloc.c	2000/12/29 13:10:59
*************** update_equiv_regs ()
*** 1141,1146 ****
  		  rtx new_insn;
  
! 		  new_insn = emit_insn_before (copy_rtx (PATTERN (equiv_insn)),
! 					       insn);
  		  REG_NOTES (PREV_INSN (insn)) = REG_NOTES (equiv_insn);
  		  REG_NOTES (equiv_insn) = 0;
--- 1141,1145 ----
  		  rtx new_insn;
  
! 		  new_insn = emit_insn_before (PATTERN (equiv_insn), insn);
  		  REG_NOTES (PREV_INSN (insn)) = REG_NOTES (equiv_insn);
  		  REG_NOTES (equiv_insn) = 0;


More information about the Gcc-patches mailing list