aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-manip.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2004-11-12 21:18:54 -0700
committerJeff Law <law@gcc.gnu.org>2004-11-12 21:18:54 -0700
commit92b6dff30288af56b6373689489a69d7e02f4193 (patch)
treef0bf0eacf8ffa54f821595a192ad4a94667a8d45 /gcc/tree-ssa-loop-manip.c
parent2256aa1cff25a0ea9c5b699795a773a93f11f565 (diff)
downloadgcc-92b6dff30288af56b6373689489a69d7e02f4193.zip
gcc-92b6dff30288af56b6373689489a69d7e02f4193.tar.gz
gcc-92b6dff30288af56b6373689489a69d7e02f4193.tar.bz2
tree-cfg.c (hashtab.h): Include.
* tree-cfg.c (hashtab.h): Include. (struct edge_to_case_leader_elt): New structure. (edge_to_case_leader): New. (edge_to_case_leader_hash): New hashtable hasing function. (edge_to_case_leader_eq): New hashtable equality function. (record_switch_edge): New function. (get_case_leader_for_edge, get_case_leader_for_edge): New functions. (make_switch_expr_edges): Build the edge-to-case-leader hash table. Tear down the hash table when we're done. (cleanup_dead_labels): Use CASE_LEADER_OR_LABEL instead of CASE_LABEL. (tree_node_can_be_shared): Allow sharing of CASE_LABEL_EXPR nodes. (tree_redirect_edge_and_branch, case SWITCH_EXPR): Update to use new concept of case leaders to reduce overhead of redirecting outgoing edges from switch statements. * tree.c (get_case_label): New function. * tree.h (CASE_LABEL): Define in terms of get_case_label. (CASE_LEADER_OR_LABEL): Define. From-SVN: r90570
Diffstat (limited to 'gcc/tree-ssa-loop-manip.c')
0 files changed, 0 insertions, 0 deletions