summaryrefslogtreecommitdiff
path: root/gcc/jump.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-11 19:42:35 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-11 19:42:35 +0000
commita0d79d691041eba0528dd28d1ec8784fad708cb5 (patch)
tree60903d3543bd7ef55ab3cdb0ddd8b7aed79a1788 /gcc/jump.c
parentcc8c99d6610f5c5c1a206ea05b6cae90f28b3ccc (diff)
downloadgcc-a0d79d691041eba0528dd28d1ec8784fad708cb5.tar.gz
* flow.c (merge_blocks_move_successor_nojumps): Do not crash
when fallthru edge is present. (mege_blocks): Handle case where creation of jump insn is required. * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP, CLEANUP_POST_REGSTACK): New constants. * except.c (finish_eh_generation): Update call of cleanup_cfg, * jump.c (rtx_renumbered_equal_p): Handle 't' fields. * output.h (cleanup_cfg): Update prototype. * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize * sibcall.c (optimize_sibling_and_tail_recursive_call): Update cleanup_cfg call; kill missleading comment. * toplev.c (rest_of_compilation): Update all cleanup_cfg calls. * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode parameter; control optimizations performed using it. (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb): New functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43950 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/jump.c')
-rw-r--r--gcc/jump.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index cc87b687641..010c1c7319d 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -3669,6 +3669,11 @@ rtx_renumbered_equal_p (x, y)
return 0;
break;
+ case 't':
+ if (XTREE (x, i) != XTREE (y, i))
+ return 0;
+ break;
+
case 's':
if (strcmp (XSTR (x, i), XSTR (y, i)))
return 0;