* predict.def: Set hitrates according our experimental run.

From-SVN: r44719
This commit is contained in:
Jan Hubicka 2001-08-08 18:46:22 +02:00 committed by Jan Hubicka
parent b2bcb32d28
commit 0f0138b6b2
3 changed files with 22 additions and 5 deletions

View File

@ -1,3 +1,11 @@
Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka <jh@suse.cz>
* predict.def: Set hitrates according our experimental run.
Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka <jh@suse.cz>
* i386.h (HARD_REGNO_RENAME_OK): New macro.
2001-08-08 H.J. Lu <hjl@gnu.org> 2001-08-08 H.J. Lu <hjl@gnu.org>
* config/mips/mips.c (mips_unique_section): New. Copied from * config/mips/mips.c (mips_unique_section): New. Copied from

View File

@ -3186,6 +3186,15 @@ enum fp_cw_mode {FP_CW_STORED, FP_CW_UNINITIALIZED, FP_CW_ANY};
? emit_i387_cw_initialization (assign_386_stack_local (HImode, 1), \ ? emit_i387_cw_initialization (assign_386_stack_local (HImode, 1), \
assign_386_stack_local (HImode, 2)), 0\ assign_386_stack_local (HImode, 2)), 0\
: 0) : 0)
/* Avoid renaming of stack registers, as doing so in combination with
scheduling just increases amount of live registers at time and in
the turn amount of fxch instructions needed.
??? Maybe Pentium chips benefits from renaming, someone can try... */
#define HARD_REGNO_RENAME_OK(src,target) \
((src) < FIRST_STACK_REG || (src) > LAST_STACK_REG)
/* /*

View File

@ -66,7 +66,7 @@ DEF_PREDICTOR (PRED_LOOP_BRANCH, "loop branch", HITRATE (88),
PRED_FLAG_FIRST_MATCH) PRED_FLAG_FIRST_MATCH)
/* Edge causing loop to terminate is probably not taken. */ /* Edge causing loop to terminate is probably not taken. */
DEF_PREDICTOR (PRED_LOOP_EXIT, "loop exit", HITRATE (80), DEF_PREDICTOR (PRED_LOOP_EXIT, "loop exit", HITRATE (92),
PRED_FLAG_FIRST_MATCH) PRED_FLAG_FIRST_MATCH)
/* Condition emitted by preconditiong code to ensure that variable /* Condition emitted by preconditiong code to ensure that variable
@ -77,16 +77,16 @@ DEF_PREDICTOR (PRED_LOOP_CONDITION, "loop condition", PROB_VERY_LIKELY, 0)
DEF_PREDICTOR (PRED_LOOP_PRECONDITIONING, "loop preconditioning", PROB_VERY_LIKELY, 0) DEF_PREDICTOR (PRED_LOOP_PRECONDITIONING, "loop preconditioning", PROB_VERY_LIKELY, 0)
/* Copied condition for the first iteration of loop is probably true. */ /* Copied condition for the first iteration of loop is probably true. */
DEF_PREDICTOR (PRED_LOOP_HEADER, "loop header", HITRATE (75), 0) DEF_PREDICTOR (PRED_LOOP_HEADER, "loop header", HITRATE (60), 0)
/* Pointers are usually not NULL. */ /* Pointers are usually not NULL. */
DEF_PREDICTOR (PRED_POINTER, "pointer", HITRATE (60), 0) DEF_PREDICTOR (PRED_POINTER, "pointer", HITRATE (75), 0)
/* NE is probable, EQ not etc... */ /* NE is probable, EQ not etc... */
DEF_PREDICTOR (PRED_OPCODE, "opcode", HITRATE (84), 0) DEF_PREDICTOR (PRED_OPCODE, "opcode", HITRATE (53), 0)
/* Branch guarding call is probably taken. */ /* Branch guarding call is probably taken. */
DEF_PREDICTOR (PRED_CALL, "call", HITRATE (78), 0) DEF_PREDICTOR (PRED_CALL, "call", HITRATE (66), 0)
/* Branch causing function to terminate is probably not taken. */ /* Branch causing function to terminate is probably not taken. */
DEF_PREDICTOR (PRED_ERROR_RETURN, "error return", PROB_LIKELY, 0) DEF_PREDICTOR (PRED_ERROR_RETURN, "error return", PROB_LIKELY, 0)