This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix PR48182
- From: Marek Polacek <polacek at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: Jakub Jelinek <jakub at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 8 Apr 2013 08:48:22 +0200
- Subject: Re: [PATCH] Fix PR48182
- References: <20130405152230 dot GH24873 at redhat dot com> <515F3265 dot 7090804 at redhat dot com> <20130405203309 dot GJ20334 at tucnak dot redhat dot com> <515F372B dot 5010604 at redhat dot com> <20130405205005 dot GK20334 at tucnak dot redhat dot com> <515F3B7B dot 1040801 at redhat dot com>
On Fri, Apr 05, 2013 at 03:00:43PM -0600, Jeff Law wrote:
> On 04/05/2013 02:50 PM, Jakub Jelinek wrote:
> >On Fri, Apr 05, 2013 at 02:42:19PM -0600, Jeff Law wrote:
> >>? I must be missing something, the change causes an early bail out
> >>from try_crossjump_to_edge.
> >>We don't want to raise the min to > 0 as that doesn't allow the user
> >>to turn on this specific transformation.
> >The condition is
> > if (nmatch < PARAM_VALUE (PARAM_MIN_CROSSJUMP_INSNS))
> > return false; // aka "don't crossjump"
> >So, the smaller the N in --param min-crossjump-insns=N is, the more likely
> >we crossjump. Thus N=0 should mean that it is most likely we crossjump,
> >and as N=1 requires that at least one insn matches, N=0 would mean that
> >even zero insns can match. If we for --param min-crossjump-insns=0
> >always return false, it means we never crossjump, so it is least likely
> >that we crossjump, which corresponds to largest possible N, not smallest
> Yes the smaller the N, the more likely we are to crossjump, of
> course the value 0 would make no sense (I'm clearly out of practice
> on reviews :-).
> Yea, changing the min value in params.def to 1 would be a better way
> to fix. Consider that patch pre-approved.
Ok, thanks. I'll apply this one. Regtest/bootstrap pending.
2013-04-08 Marek Polacek <firstname.lastname@example.org>
* params.def (PARAM_MIN_CROSSJUMP_INSNS): Increase the minimum
value to 1.
--- gcc/params.def.mp 2013-04-08 08:38:48.515263034 +0200
+++ gcc/params.def 2013-04-08 08:39:10.444340238 +0200
@@ -433,7 +433,7 @@ DEFPARAM(PARAM_MAX_CROSSJUMP_EDGES,
"The minimum number of matching instructions to consider for crossjumping",
- 5, 0, 0)
+ 5, 1, 0)
/* The maximum number expansion factor when copying basic blocks. */