RFA: fix potential wrong-code bug in emit_libcall_block

Joern RENNECKE joern.rennecke@st.com
Thu Sep 22 17:59:00 GMT 2005


As discussed in the context of PR23837, emit_libcall_block has a
similar flaw as emit_no_conflict_block had before PR20714 was fixed.
That is, if the value of a live register is used in an instruction that 
stays
inside the libcall block, and is clobbered by a later instruction that has
a single_set of a pseudo, emit_libcall_block will still move the latter
instruction, thus clobbering the value of the register needed in the
former instruction.  The attached patch fixes this flaw, and has been
regression tested in the mainline sources from 2005-09-19 18:00 UTC
with the patch for PR23837 in place.
(http://gcc.gnu.org/ml/gcc-patches/2005-09/msg01433.html)
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: emit-libcall-fix
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20050922/36c85e7a/attachment.ksh>


More information about the Gcc-patches mailing list