This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix PR48182
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: Marek Polacek <polacek at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 5 Apr 2013 22:33:09 +0200
- Subject: Re: [PATCH] Fix PR48182
- References: <20130405152230 dot GH24873 at redhat dot com> <515F3265 dot 7090804 at redhat dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Fri, Apr 05, 2013 at 02:21:57PM -0600, Jeff Law wrote:
> On 04/05/2013 09:22 AM, Marek Polacek wrote:
> >This patch prevents segfault when using --param min-crossjump-insns=0.
> >What can happen in that case is that flow_find_cross_jump returns 0,
> >thus nmatch is 0, then
> >nmatch < PARAM_VALUE (PARAM_MIN_CROSSJUMP_INSNS)
> >doesn't hold, thus we continue, but we segfault later on when
> >doing split_block. I think it's better to just bail out in that
> >case; moreover setting min-crossjump-insns to 0 isn't very common...
> >Regtested/bootstrapped on x86_64-linux, ok for trunk/4.8?
> >2013-04-05 Marek Polacek <firstname.lastname@example.org>
> > PR rtl-optimization/48182
> > * cfgcleanup.c (try_crossjump_to_edge): Bail out if
> > PARAM_MIN_CROSSJUMP_INSNS is 0.
> > * gcc.dg/pr48182.c: New test.
> OK for the trunk. Release manager's decision for 4.8.
Wouldn't it be better to change params.def to instead say:
5, 1, 0)
Because with the cfgcleanup.c change, --param min-crossjump-insns=0
is handled as =infinity rather than something smaller than 0.