From b005da111c1cfd1b71647eb68eb3fe1bfc35ee64 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Sat, 28 Mar 2009 17:17:57 +0000 Subject: [PATCH] re PR tree-optimization/38723 (default definitions not in avail_out) 2009-03-28 Richard Guenther PR tree-optimization/38723 * tree-ssa-pre.c (compute_avail): Add all default definitions to the entry block. * gcc.dg/tree-ssa/ssa-fre-22.c: New testcase. From-SVN: r145197 --- gcc/ChangeLog | 6 +++ gcc/testsuite/ChangeLog | 5 +++ gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-22.c | 15 +++++++ gcc/tree-ssa-pre.c | 52 +++++++--------------- 4 files changed, 43 insertions(+), 35 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-22.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index aff4c852338a..8dfd7e918caf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-03-28 Richard Guenther + + PR tree-optimization/38723 + * tree-ssa-pre.c (compute_avail): Add all default definitions to + the entry block. + 2009-03-28 Jan Hubicka * tree-ssa-structalias.c (ipa_pta_execute): Fix bogus node->analyzed diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 961d0d6bb1c3..09a33ef84417 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-03-28 Richard Guenther + + PR tree-optimization/38723 + * gcc.dg/tree-ssa/ssa-fre-22.c: New testcase. + 2009-03-28 Paul Thomas static_chain_decl) - { - param = cfun->static_chain_decl; - if (gimple_default_def (cfun, param) != NULL) + e = get_or_alloc_expr_for_name (name); + add_to_value (get_expr_value_id (e), e); + if (!in_fre) { - tree def = gimple_default_def (cfun, param); - pre_expr e = get_or_alloc_expr_for_name (def); - - add_to_value (get_expr_value_id (e), e); - if (!in_fre) - { - bitmap_insert_into_set (TMP_GEN (ENTRY_BLOCK_PTR), e); - bitmap_value_insert_into_set (maximal_set, e); - } - bitmap_value_insert_into_set (AVAIL_OUT (ENTRY_BLOCK_PTR), e); + bitmap_insert_into_set (TMP_GEN (ENTRY_BLOCK_PTR), e); + bitmap_value_insert_into_set (maximal_set, e); } + bitmap_value_insert_into_set (AVAIL_OUT (ENTRY_BLOCK_PTR), e); } /* Allocate the worklist. */ -- 2.47.3