aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2004-06-19 20:52:04 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2004-06-19 18:52:04 +0000
commiteb4e1c013c5b2f53ec8a31c98fbcd752d089ff4b (patch)
tree30da390cd33e90e6db68cf86fe6de34dadaf8ca5 /gcc/tree-cfg.c
parentbc443e6def9f79e0fbfa1d3b70e59a158c85ebd9 (diff)
downloadgcc-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.c11
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);