diff options
author | Josef Zlomek <zlomekj@suse.cz> | 2003-03-10 18:23:44 +0100 |
---|---|---|
committer | Josef Zlomek <zlomek@gcc.gnu.org> | 2003-03-10 17:23:44 +0000 |
commit | 398111844b4a03cfde294c14f1f88fa9019cfa76 (patch) | |
tree | c021b1d48b4b4d70f51f21e7f890c0254cf6de10 /gcc/rtl.h | |
parent | 8f474219ec2322556328a1d10e7b6cebed055b78 (diff) | |
download | gcc-398111844b4a03cfde294c14f1f88fa9019cfa76.zip gcc-398111844b4a03cfde294c14f1f88fa9019cfa76.tar.gz gcc-398111844b4a03cfde294c14f1f88fa9019cfa76.tar.bz2 |
cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
* cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
(try_crossjump_to_edge): Replace refereces to one jump table by
references to identical jump table.
* loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
(replace_label): Moved to rtlanal.c.
(struct rtx_pair): Moved to rtl.h.
* rtl.h (struct rtx_pair): Moved from loop.c.
(replace_label): New extern function.
(subrtx_p): New extern function.
(tablejump_p): New extern function.
* rtlanal.c (replace_label): Moved from loop.c.
(subrtx_p_1): New static function.
(subrtx_p): New function.
(tablejump_p): New function.
From-SVN: r64096
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -1595,6 +1595,13 @@ extern rtx set_unique_reg_note PARAMS ((rtx, enum reg_note, rtx)); : NULL_RTX) #define single_set_1(I) single_set_2 (I, PATTERN (I)) +/* Structure used for passing data to REPLACE_LABEL. */ +typedef struct rtx_pair +{ + rtx r1; + rtx r2; +} rtx_pair; + extern int rtx_addr_can_trap_p PARAMS ((rtx)); extern bool nonzero_address_p PARAMS ((rtx)); extern int rtx_unstable_p PARAMS ((rtx)); @@ -1654,6 +1661,9 @@ extern int inequality_comparisons_p PARAMS ((rtx)); extern rtx replace_rtx PARAMS ((rtx, rtx, rtx)); extern rtx replace_regs PARAMS ((rtx, rtx *, unsigned int, int)); +extern int replace_label PARAMS ((rtx *, void *)); +extern int subrtx_p PARAMS ((rtx, rtx)); +extern bool tablejump_p PARAMS ((rtx, rtx *, rtx *)); extern int computed_jump_p PARAMS ((rtx)); typedef int (*rtx_function) PARAMS ((rtx *, void *)); extern int for_each_rtx PARAMS ((rtx *, rtx_function, void *)); |