Make args to jump_optimize symbolic

From-SVN: r19421
This commit is contained in:
Michael Meissner 1998-04-27 06:05:55 +00:00 committed by Michael Meissner
parent 5d02ee6677
commit 14bf4a33ec
3 changed files with 29 additions and 6 deletions

View File

@ -1,3 +1,11 @@
Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
* rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
for calling jump_optimize.
* toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
macros, rather than 0/1's.
Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
* alpha.h (CONST_COSTS): Zero is always free.

View File

@ -1141,6 +1141,11 @@ extern int can_reverse_comparison_p PROTO ((rtx, rtx));
extern void delete_for_peephole PROTO ((rtx, rtx));
extern int condjump_in_parallel_p PROTO ((rtx));
/* Flags for jump_optimize() */
#define JUMP_CROSS_JUMP 1
#define JUMP_NOOP_MOVES 1
#define JUMP_AFTER_REGSCAN 1
/* In emit-rtl.c. */
extern int max_reg_num PROTO ((void));
extern int max_label_num PROTO ((void));

View File

@ -3074,7 +3074,8 @@ rest_of_compilation (decl)
int saved_optimize = optimize;
optimize = 0;
find_exception_handler_labels ();
jump_optimize (get_insns(), 0, 0, 0);
jump_optimize (get_insns(), !JUMP_CROSS_JUMP, !JUMP_NOOP_MOVES,
!JUMP_AFTER_REGSCAN);
optimize = saved_optimize;
}
@ -3208,7 +3209,8 @@ rest_of_compilation (decl)
are initialized and to compute whether control can drop off the end
of the function. */
TIMEVAR (jump_time, reg_scan (insns, max_reg_num (), 0));
TIMEVAR (jump_time, jump_optimize (insns, 0, 0, 1));
TIMEVAR (jump_time, jump_optimize (insns, !JUMP_CROSS_JUMP, !JUMP_NOOP_MOVES,
JUMP_AFTER_REGSCAN));
/* Now is when we stop if -fsyntax-only and -Wreturn-type. */
if (rtl_dump_and_exit || flag_syntax_only || DECL_DEFER_OUTPUT (decl))
@ -3240,7 +3242,9 @@ rest_of_compilation (decl)
TIMEVAR (cse_time, delete_trivially_dead_insns (insns, max_reg_num ()));
if (tem || optimize > 1)
TIMEVAR (jump_time, jump_optimize (insns, 0, 0, 0));
TIMEVAR (jump_time, jump_optimize (insns, !JUMP_CROSS_JUMP,
!JUMP_NOOP_MOVES,
!JUMP_AFTER_REGSCAN));
/* Dump rtl code after cse, if we are doing that. */
@ -3303,13 +3307,17 @@ rest_of_compilation (decl)
max_reg_num so we must rerun reg_scan afterwards.
??? Rework to not call reg_scan so often. */
TIMEVAR (jump_time, reg_scan (insns, max_reg_num (), 0));
TIMEVAR (jump_time, jump_optimize (insns, 0, 0, 1));
TIMEVAR (jump_time, jump_optimize (insns, !JUMP_CROSS_JUMP,
!JUMP_NOOP_MOVES,
JUMP_AFTER_REGSCAN));
TIMEVAR (cse2_time, reg_scan (insns, max_reg_num (), 0));
TIMEVAR (cse2_time, tem = cse_main (insns, max_reg_num (),
1, rtl_dump_file));
if (tem)
TIMEVAR (jump_time, jump_optimize (insns, 0, 0, 0));
TIMEVAR (jump_time, jump_optimize (insns, !JUMP_CROSS_JUMP,
!JUMP_NOOP_MOVES,
!JUMP_AFTER_REGSCAN));
}
if (flag_thread_jumps)
@ -3530,7 +3538,9 @@ rest_of_compilation (decl)
if (optimize > 0)
{
TIMEVAR (jump_time, jump_optimize (insns, 1, 1, 0));
TIMEVAR (jump_time, jump_optimize (insns, JUMP_CROSS_JUMP,
JUMP_NOOP_MOVES,
!JUMP_AFTER_REGSCAN));
/* Dump rtl code after jump, if we are doing that. */