diff options
author | Richard Guenther <rguenther@suse.de> | 2010-08-18 14:18:51 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-08-18 14:18:51 +0000 |
commit | 480161b52bd6c4080e5bc8a94a2288761b5bae04 (patch) | |
tree | 3d8541382eaec83fad8a9bad31639e0b8331e36f /gcc/tree-ssa-uninit.c | |
parent | e5f5fa2da0a140f132a7d69a715160698272de64 (diff) | |
download | gcc-480161b52bd6c4080e5bc8a94a2288761b5bae04.zip gcc-480161b52bd6c4080e5bc8a94a2288761b5bae04.tar.gz gcc-480161b52bd6c4080e5bc8a94a2288761b5bae04.tar.bz2 |
tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts, use operand helpers.
2010-08-18 Richard Guenther <rguenther@suse.de>
* tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts,
use operand helpers.
From-SVN: r163340
Diffstat (limited to 'gcc/tree-ssa-uninit.c')
-rw-r--r-- | gcc/tree-ssa-uninit.c | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/gcc/tree-ssa-uninit.c b/gcc/tree-ssa-uninit.c index 16adde3..4398db7 100644 --- a/gcc/tree-ssa-uninit.c +++ b/gcc/tree-ssa-uninit.c @@ -1598,27 +1598,17 @@ find_uninit_use (gimple phi, unsigned uninit_opnds, struct pointer_set_t *visited_phis; basic_block use_bb; - use_stmt = use_p->loc.stmt; + use_stmt = USE_STMT (use_p); + if (is_gimple_debug (use_stmt)) + continue; visited_phis = pointer_set_create (); - use_bb = gimple_bb (use_stmt); if (gimple_code (use_stmt) == GIMPLE_PHI) - { - unsigned i, n; - n = gimple_phi_num_args (use_stmt); - - /* Find the matching phi argument of the use. */ - for (i = 0; i < n; ++i) - { - if (gimple_phi_arg_def_ptr (use_stmt, i) == use_p->use) - { - edge e = gimple_phi_arg_edge (use_stmt, i); - use_bb = e->src; - break; - } - } - } + use_bb = gimple_phi_arg_edge (use_stmt, + PHI_ARG_INDEX_FROM_USE (use_p))->src; + else + use_bb = gimple_bb (use_stmt); if (is_use_properly_guarded (use_stmt, use_bb, |