On 11 September 2012 03:37, Richard Henderson <r...@redhat.com> wrote: > On 09/10/2012 01:41 AM, Zhenqiang Chen wrote: >> In function maybe_record_trace_start, there is a check: >> >> /* We ought to have the same state incoming to a given trace no >> matter how we arrive at the trace. Anything else means we've >> got some kind of optimization error. */ >> gcc_checking_assert (cfi_row_equal_p (cur_row, ti->beg_row)); > > The assert is most definitely valid. > > The check makes certain that the unwind info as seen by any two paths > leading to a common location are the same. When this fails, typically > one of two things has happened: > > (1) The notes for the epilogue unwind info are incorrect, > (2) We have applied an invalid code transformation in some earler > optimization pass. > > We can't tell what the real problem is without more information.
Thank you for the comments. I will do more check on the transformation of shrink-wrap. -Zhenqiang