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: 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


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