This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix combiner cfglayout issue (PR rtl-optimization/46440)
- From: Paolo Bonzini <bonzini at gnu dot org>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Eric Botcazou <ebotcazou at adacore dot com>
- Date: Mon, 15 Nov 2010 21:40:18 +0100
- Subject: Re: [PATCH] Fix combiner cfglayout issue (PR rtl-optimization/46440)
- References: <20101115202108.GE29412@tyan-ft48-01.lab.bos.redhat.com>
On 11/15/2010 09:21 PM, Jakub Jelinek wrote:
On this testcase we ICE during flow checking, because
combiner replaced an indirect jump (which was before going into
cfglayout mode followed by BARRIER, which stays in the footer)
by direct unconditional jump. Fixed by removing the BARRIER
from the footer in that case.
Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
Alternatively, perhaps the current_ir_type () == IR_RTL_CFGLAYOUT test
can be assumed to be 1.
Yes, in the end update_cfg_for_uncondjump is already assuming cfglayout
I'm wondering what happens if you remove the BARRIER altogether in
skip_insns_after_block. If it's just a matter of saving some garbage,
it's not that much since we're going into/out of cfglayout mode 2-4
times per function.