From: Jan Hubicka Date: Wed, 8 Aug 2001 16:46:22 +0000 (+0200) Subject: * predict.def: Set hitrates according our experimental run. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0f0138b6b2669803f26f9a19adce9da9c8eb9911;p=gcc.git * predict.def: Set hitrates according our experimental run. From-SVN: r44719 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3e9cb99cdaa..aa19eca4049 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka + + * predict.def: Set hitrates according our experimental run. + +Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka + + * i386.h (HARD_REGNO_RENAME_OK): New macro. + 2001-08-08 H.J. Lu * config/mips/mips.c (mips_unique_section): New. Copied from diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index e145cae3e8d..a0d23f65832 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -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), \ assign_386_stack_local (HImode, 2)), 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) /* diff --git a/gcc/predict.def b/gcc/predict.def index 28b0bbfa5af..7559a12f477 100644 --- a/gcc/predict.def +++ b/gcc/predict.def @@ -66,7 +66,7 @@ DEF_PREDICTOR (PRED_LOOP_BRANCH, "loop branch", HITRATE (88), PRED_FLAG_FIRST_MATCH) /* 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) /* 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) /* 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. */ -DEF_PREDICTOR (PRED_POINTER, "pointer", HITRATE (60), 0) +DEF_PREDICTOR (PRED_POINTER, "pointer", HITRATE (75), 0) /* 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. */ -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. */ DEF_PREDICTOR (PRED_ERROR_RETURN, "error return", PROB_LIKELY, 0)