diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2005-12-31 11:38:05 -0800 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2005-12-31 11:38:05 -0800 |
commit | 2984956b2f436d4be9d85777a4d4ba1ea00a208a (patch) | |
tree | 8f771f9adc1b54917c2fdc4ed8487a967b013529 /gcc/tree-ssa-pre.c | |
parent | 67570aba0d22b6c21b9b4e541ba6225852175f75 (diff) | |
download | gcc-2984956b2f436d4be9d85777a4d4ba1ea00a208a.zip gcc-2984956b2f436d4be9d85777a4d4ba1ea00a208a.tar.gz gcc-2984956b2f436d4be9d85777a4d4ba1ea00a208a.tar.bz2 |
re PR tree-optimization/25612 (Ada bootstrap failure on x86_64 find_or_generate_expression, at tree-ssa-pre.c:2028)
2005-12-31 Andrew Pinski <pinskia@ohysics.uc.edu>
PR tree-opt/25612
* tree-ssa-pre.c (compute_avail): Treat the static chain decl as a
parameter and pretend that it is defined in the entry basic block.
From-SVN: r109200
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r-- | gcc/tree-ssa-pre.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index f0bf020..2e2fd64 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -3086,6 +3086,19 @@ compute_avail (void) } } + /* Likewise for the static chain decl. */ + if (cfun->static_chain_decl) + { + param = cfun->static_chain_decl; + if (default_def (param) != NULL) + { + tree def = default_def (param); + vn_lookup_or_add (def, NULL); + bitmap_insert_into_set (TMP_GEN (ENTRY_BLOCK_PTR), def); + bitmap_value_insert_into_set (AVAIL_OUT (ENTRY_BLOCK_PTR), def); + } + } + /* Allocate the worklist. */ worklist = XNEWVEC (basic_block, n_basic_blocks); |