diff options
| author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-01 20:07:01 +0000 |
|---|---|---|
| committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-01 20:07:01 +0000 |
| commit | 2c3b2bf18cecb3165e185915cb723fe28c2fd1a5 (patch) | |
| tree | 556c8c1a010b043381cde3506a9accbf6fab8ea9 | |
| parent | f0048a5d5b55d1c5cba134b584dcd9c0cb04247d (diff) | |
| download | ppe42-gcc-2c3b2bf18cecb3165e185915cb723fe28c2fd1a5.tar.gz ppe42-gcc-2c3b2bf18cecb3165e185915cb723fe28c2fd1a5.zip | |
* toplev.c (rest_of_compilation): Delete dead jumptables before
loop.
* flow.c (delete_dead_jumptables): Make global.
* rtl.h (delete_dead_jumptables): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50205 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/flow.c | 3 | ||||
| -rw-r--r-- | gcc/rtl.h | 2 | ||||
| -rw-r--r-- | gcc/toplev.c | 1 |
4 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b9dabea42ff..57de66776eb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz> + + * toplev.c (rest_of_compilation): Delete dead jumptables before + loop. + * flow.c (delete_dead_jumptables): Make global. + * rtl.h (delete_dead_jumptables): Declare. + 2002-03-01 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete. diff --git a/gcc/flow.c b/gcc/flow.c index 54985d921f5..e2d957f2f6c 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -336,7 +336,6 @@ static void invalidate_mems_from_autoinc PARAMS ((struct propagate_block_info *, rtx)); static void invalidate_mems_from_set PARAMS ((struct propagate_block_info *, rtx)); -static void delete_dead_jumptables PARAMS ((void)); static void clear_log_links PARAMS ((sbitmap)); @@ -844,7 +843,7 @@ delete_noop_moves (f) time of removing tablejump insn as they are referenced by the preceding insns computing the destination, so we delay deleting and garbagecollect them once life information is computed. */ -static void +void delete_dead_jumptables () { rtx insn, next; diff --git a/gcc/rtl.h b/gcc/rtl.h index e679c5483be..a11bf9b6db0 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -1853,6 +1853,7 @@ extern void set_new_first_and_last_insn PARAMS ((rtx, rtx)); extern void set_new_first_and_last_label_num PARAMS ((int, int)); extern void set_new_last_label_num PARAMS ((int)); extern void unshare_all_rtl_again PARAMS ((rtx)); +extern void set_first_insn PARAMS ((rtx)); extern void set_last_insn PARAMS ((rtx)); extern void link_cc0_insns PARAMS ((rtx)); extern void add_insn PARAMS ((rtx)); @@ -1936,6 +1937,7 @@ extern void move_by_pieces PARAMS ((rtx, rtx, /* In flow.c */ extern void recompute_reg_usage PARAMS ((rtx, int)); extern int initialize_uninitialized_subregs PARAMS ((void)); +extern void delete_dead_jumptables PARAMS ((void)); #ifdef BUFSIZ extern void print_rtl_with_bb PARAMS ((FILE *, rtx)); extern void dump_flow_info PARAMS ((FILE *)); diff --git a/gcc/toplev.c b/gcc/toplev.c index 7cf0c96db9a..83de90890ec 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -2864,6 +2864,7 @@ rest_of_compilation (decl) if (optimize > 0) { timevar_push (TV_LOOP); + delete_dead_jumptables (); open_dump_file (DFI_loop, decl); /* CFG is no longer maintained up-to-date. */ free_bb_for_insn (); |

