re PR middle-end/39827 (ICE (segfault) when compiling gcc/varasm.c (in notice_global_symbol))
2009-04-21 Richard Guenther <rguenther@suse.de> PR tree-optimization/39827 * tree-ssa-phiprop.c (propagate_with_phi): Check SSA_NAME is in range. (tree_ssa_phiprop): Pass the correct array size. From-SVN: r146515
This commit is contained in:
parent
47f402d18f
commit
2970ccb3bb
|
@ -1,3 +1,10 @@
|
|||
2009-04-21 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/39827
|
||||
* tree-ssa-phiprop.c (propagate_with_phi): Check SSA_NAME
|
||||
is in range.
|
||||
(tree_ssa_phiprop): Pass the correct array size.
|
||||
|
||||
2009-04-21 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/alpha/alpha.md (tune): Add cast to enum attr_tune.
|
||||
|
|
|
@ -253,6 +253,7 @@ propagate_with_phi (basic_block bb, gimple phi, struct phiprop_d *phivn,
|
|||
/* Avoid to have to decay *&a to a[0] later. */
|
||||
|| !is_gimple_reg_type (TREE_TYPE (TREE_OPERAND (arg, 0))))
|
||||
&& !(TREE_CODE (arg) == SSA_NAME
|
||||
&& SSA_NAME_VERSION (arg) < n
|
||||
&& phivn[SSA_NAME_VERSION (arg)].value != NULL_TREE
|
||||
&& phivn_valid_p (phivn, arg, bb)))
|
||||
return false;
|
||||
|
@ -336,18 +337,19 @@ tree_ssa_phiprop (void)
|
|||
basic_block bb;
|
||||
gimple_stmt_iterator gsi;
|
||||
unsigned i;
|
||||
size_t n;
|
||||
|
||||
calculate_dominance_info (CDI_DOMINATORS);
|
||||
|
||||
phivn = XCNEWVEC (struct phiprop_d, num_ssa_names);
|
||||
n = num_ssa_names;
|
||||
phivn = XCNEWVEC (struct phiprop_d, n);
|
||||
|
||||
/* Walk the dominator tree in preorder. */
|
||||
bbs = get_all_dominated_blocks (CDI_DOMINATORS,
|
||||
single_succ (ENTRY_BLOCK_PTR));
|
||||
for (i = 0; VEC_iterate (basic_block, bbs, i, bb); ++i)
|
||||
for (gsi = gsi_start_phis (bb); !gsi_end_p (gsi); gsi_next (&gsi))
|
||||
did_something |= propagate_with_phi (bb, gsi_stmt (gsi),
|
||||
phivn, num_ssa_names);
|
||||
did_something |= propagate_with_phi (bb, gsi_stmt (gsi), phivn, n);
|
||||
|
||||
if (did_something)
|
||||
gsi_commit_edge_inserts ();
|
||||
|
|
Loading…
Reference in New Issue