+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>
* config/mips/mips.c (mips_unique_section): New. Copied from
? emit_i387_cw_initialization (assign_386_stack_local (HImode, 1), \
assign_386_stack_local (HImode, 2)), 0\
: 0)
+\f
+/* 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)
\f
/*
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
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)