shrink-wrap leads to ICE at dwarf2cfi.c
Zhenqiang Chen
zhenqiang.chen@linaro.org
Tue Sep 11 07:11:00 GMT 2012
On 11 September 2012 03:37, Richard Henderson <rth@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
More information about the Gcc
mailing list