On Wed, Dec 12, 2012 at 11:17 AM, Jakub Jelinek <ja...@redhat.com> wrote:
>>         * cfgrtl.c (rtl_verify_flow_info): Fix code style (indentation).
>
> This is undesirable, we generally don't fix indentation unless you touch
> the code (or very close surrounding code),

OK, I'll drop this then.


>>         (fixup_reorder_chain): Set cfg_layout_function_header to NULL to
>>         avoid dangling pointers into GC-allocated insns.  Clear BB_HEADER,
>>         BB_FOOTER, and cfg_layout_function_footer for the same reason.
>>         Do not link new barriers for cfgrtl mode to cfglayout's BB_FOOTER.
>>         * combine.c (combine_instructions): Fix end-of-block check to not
>>         expect BARRIERs, which may not exist in cfglayout mode.
>
> For the rest, I wonder if this really is stage3 material.  Do you have a
> testcase that ICEs or is miscompiled without the changes?

The fixup_reorder_chain patch fixes and ICE with hot-cold partitioning
and GCAC checking. A BARRIER is removed somewhere along the line, but
the BB_FOOTER pointer still points to it. I'm not sure how things go
bad from there, but we end up with BB_FOOTER pointing to a collected
barrier.

The combine fix is a fix for a real bug. Your patch makes combine look
across basic block boundaries and look for BARRIERs which can never be
there. Technically this is a regression.

Ciao!
Steven

Reply via email to