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