From 4edbbd3f258dd7059ee06f76ed2d780a5c91dffe Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Mon, 29 Nov 2004 18:00:01 +0000 Subject: [PATCH] tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge only when needed. * tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge only when needed. From-SVN: r91476 --- gcc/ChangeLog | 3 +++ gcc/tree-cfg.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c2f9438d5eb..fe965bfc09b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -12,6 +12,9 @@ * cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using EDGE_COUNT. + * tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge + only when needed. + 2004-11-29 Alan Modra * varasm.c (default_elf_select_section_1): Only pass DECL_P decl diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 37a6920b34c..f20608341d8 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -4315,12 +4315,12 @@ tree_redirect_edge_and_branch (edge e, basic_block dest) case SWITCH_EXPR: { tree cases = get_cases_for_edge (e, stmt); - edge e2 = find_edge (e->src, dest); /* If we have a list of cases associated with E, then use it as it's a lot faster than walking the entire case vector. */ if (cases) { + edge e2 = find_edge (e->src, dest); tree last, first; first = cases; -- 2.30.2