diff options
author | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-04-27 06:05:55 +0000 |
---|---|---|
committer | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-04-27 06:05:55 +0000 |
commit | f5e86f0545b38e6c9d65ea878d697c1130f8ef7b (patch) | |
tree | c1efc0b7c5cb03c3e212ef650a53d511aa84eec4 /gcc | |
parent | 1241c8adde0137282fe291de6570eabd91ca42f9 (diff) | |
download | gcc-f5e86f0545b38e6c9d65ea878d697c1130f8ef7b.tar.gz |
Make args to jump_optimize symbolic
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19421 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/rtl.h | 5 | ||||
-rw-r--r-- | gcc/toplev.c | 22 |
3 files changed, 29 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 66316242ce0..ce90d349861 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/rtl.h b/gcc/rtl.h index 76b15654c80..60958954819 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -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)); diff --git a/gcc/toplev.c b/gcc/toplev.c index a4674c6a27a..5494db36dce 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -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. */ |