diff options
author | Jan Hubicka <jh@suse.cz> | 2004-06-19 20:52:04 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2004-06-19 18:52:04 +0000 |
commit | eb4e1c013c5b2f53ec8a31c98fbcd752d089ff4b (patch) | |
tree | 30da390cd33e90e6db68cf86fe6de34dadaf8ca5 /gcc/tree-cfg.c | |
parent | bc443e6def9f79e0fbfa1d3b70e59a158c85ebd9 (diff) | |
download | gcc-eb4e1c013c5b2f53ec8a31c98fbcd752d089ff4b.zip gcc-eb4e1c013c5b2f53ec8a31c98fbcd752d089ff4b.tar.gz gcc-eb4e1c013c5b2f53ec8a31c98fbcd752d089ff4b.tar.bz2 |
function.c (free_after_compilation): Do not free computed_goto_common*.
* function.c (free_after_compilation): Do not free computed_goto_common*.
* function.h (struct function): Kill computed_goto_common*.
* stmt.c (expand_computed_goto): Do not commonize the computed gotos.
* tree-cfg.c (disband_implicit_edges): Do not forward across the
commonized computed goto.
From-SVN: r83393
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r-- | gcc/tree-cfg.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 243a654..8babdc2 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -2574,7 +2574,7 @@ disband_implicit_edges (void) basic_block bb; block_stmt_iterator last; edge e; - tree stmt, label, forward; + tree stmt, label; FOR_EACH_BB (bb) { @@ -2640,15 +2640,6 @@ disband_implicit_edges (void) label = tree_block_label (e->dest); - /* If this is a goto to a goto, jump to the final destination. - Handles unfactoring of the computed jumps. - ??? Why bother putting this back together when rtl is just - about to take it apart again? */ - forward = last_and_only_stmt (e->dest); - if (forward - && TREE_CODE (forward) == GOTO_EXPR) - label = GOTO_DESTINATION (forward); - stmt = build1 (GOTO_EXPR, void_type_node, label); SET_EXPR_LOCUS (stmt, e->goto_locus); bsi_insert_after (&last, stmt, BSI_NEW_STMT); |