mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-16 03:29:43 +08:00
params.def (PARAM_MIN_CROSSJUMP_INSNS): New.
2004-08-06 Pat Haugen <pthaugen@us.ibm.com> * params.def (PARAM_MIN_CROSSJUMP_INSNS): New. * cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match threshhold. * doc/invoke.texi (param): Document min-crossjump-insns. From-SVN: r85646
This commit is contained in:
parent
fc90a8f2ee
commit
12183e0fbc
@ -1,3 +1,10 @@
|
||||
2004-08-06 Pat Haugen <pthaugen@us.ibm.com>
|
||||
|
||||
* params.def (PARAM_MIN_CROSSJUMP_INSNS): New.
|
||||
* cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match
|
||||
threshhold.
|
||||
* doc/invoke.texi (param): Document min-crossjump-insns.
|
||||
|
||||
2004-08-06 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
PR c/13282
|
||||
|
@ -1507,7 +1507,13 @@ try_crossjump_to_edge (int mode, edge e1, edge e2)
|
||||
|
||||
/* ... and part the second. */
|
||||
nmatch = flow_find_cross_jump (mode, src1, src2, &newpos1, &newpos2);
|
||||
if (!nmatch)
|
||||
|
||||
/* Don't proceed with the crossjump unless we found a sufficient number
|
||||
of matching instructions or the 'from' block was totally matched
|
||||
(such that its predecessors will hopefully be redirected and the
|
||||
block removed). */
|
||||
if ((nmatch < PARAM_VALUE (PARAM_MIN_CROSSJUMP_INSNS))
|
||||
&& (newpos1 != BB_HEAD (src1)))
|
||||
return false;
|
||||
|
||||
#ifndef CASE_DROPS_THROUGH
|
||||
|
@ -5094,6 +5094,12 @@ the number of edges incoming to each block. Increasing values mean
|
||||
more aggressive optimization, making the compile time increase with
|
||||
probably small improvement in executable size.
|
||||
|
||||
@item min-crossjump-insns
|
||||
The minimum number of instructions which must be matched at the end
|
||||
of two blocks before crossjumping will be performed on them. This
|
||||
value is ignored in the case where all instructions in the block being
|
||||
crossjumped from are matched. The default value is 5.
|
||||
|
||||
@item max-delay-slot-insn-search
|
||||
The maximum number of instructions to consider when looking for an
|
||||
instruction to fill a delay slot. If more than this arbitrary number of
|
||||
|
@ -306,6 +306,12 @@ DEFPARAM(PARAM_MAX_CROSSJUMP_EDGES,
|
||||
"The maximum number of incoming edges to consider for crossjumping",
|
||||
100)
|
||||
|
||||
/* The minimum number of matching instructions to consider for crossjumping. */
|
||||
DEFPARAM(PARAM_MIN_CROSSJUMP_INSNS,
|
||||
"min-crossjump-insns",
|
||||
"The minimum number of matching instructions to consider for crossjumping",
|
||||
5)
|
||||
|
||||
/* The maximum length of path considered in cse. */
|
||||
DEFPARAM(PARAM_MAX_CSE_PATH_LENGTH,
|
||||
"max-cse-path-length",
|
||||
|
Loading…
Reference in New Issue
Block a user