aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorKazu Hirata <kazu@codesourcery.com>2005-07-08 19:11:55 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2005-07-08 19:11:55 +0000
commit1ff54bfbdbfd76a6cc058404d9be7ec934e7d10a (patch)
tree4c1ab0966a4b31bb8348a8c1f209ef546193bbac /gcc/tree-cfg.c
parentea9a5df4c2a5ff983a3099d846e8861375c47f53 (diff)
downloadgcc-1ff54bfbdbfd76a6cc058404d9be7ec934e7d10a.zip
gcc-1ff54bfbdbfd76a6cc058404d9be7ec934e7d10a.tar.gz
gcc-1ff54bfbdbfd76a6cc058404d9be7ec934e7d10a.tar.bz2
re PR regression/20139 (cris-elf testsuite: gcc.c-torture/execute/20020720-1.c)
PR tree-optimization/20139 * tree-cfg.c (remove_bb): Check in_ssa_p before calling release_defs. * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call fold_cond_expr_cond. * tree-ssanames.c (release_defs): Assert in_ssa_p. * tree.c (upper_bound_in_type, lower_bound_in_type): Rewrite. From-SVN: r101787
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 8dd16ce..bfbf5a5 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -1981,7 +1981,12 @@ remove_bb (basic_block bb)
}
else
{
- release_defs (stmt);
+ /* Release SSA definitions if we are in SSA. Note that we
+ may be called when not in SSA. For example,
+ final_cleanup calls this function via
+ cleanup_tree_cfg. */
+ if (in_ssa_p)
+ release_defs (stmt);
bsi_remove (&i);
}