This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Basic Improvements Branch Bootstrap Failure Analysis
OK,
I've found the problem. It is call to _Jv_Throw function that is
sometimes sibcall and sometimes not, but always noreturn. The
instruction is identical and crossjumping assumes that such instructions
always produce same abnormal edges.
I will checkin obvious fix to verify sibcall flag when comparing
instructions to branch and mainline. However, we should think about
modifying sibcall code to be more consistent here. Obviously the
function can always be sibcall, but we don't mark this in the CFG by not
marking CALL_PLACEHOLDER as sibcall and thus seeing wrong edge in the
CFG. What about adding the flag to placeholders and removing the dummy
edge here? Would this be applicable for BIB?
Honza