This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: SMS problem with emit_copy_of_insn_after copying REG_NOTEs


Hi,
I do apologize for the breakage, apparently I tested the only target
that didn't break. Andrew's patch seems to be OK for me (as well as the
patch just omitting copy_insn_1 call in the second branch that should
make situation no worse than before my patch and still save the
quadratic memory consumption).
> > 
> > ChangeLog:
> > 
> > 	* emit-rtl.c (emit_copy_of_insn_after): Copy REG_LIBCALL note specially.
> > 	Copy REG_RETVAL not specially and fix it and the referencing REG_LIBCALL note.
> > 	Use copy_rtx instead of copy_insn_1 for EXPR_LIST note.
> > 	Abort if we get a INSN_LIST for the note.
> > 
> > Thanks,
> > Andrew Pinski
> 
> Also I should mention, this also fixes a possible bug with libcalls that
> are embedded in one another.  Before we were just assuming if we have a REG_RETVAL,
> then the previous REG_LIBCALL would be the start of the libcall but that would be
> incorrect with embedded libcalls.

We should not have nested libcalls at all.  One level of libcalls is
painful enough and we take care to not do this.

Honza


> 
> Thanks,
> Andrew Pinski


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]