diff options
author | Richard Biener <rguenther@suse.de> | 2016-08-18 07:21:11 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-08-18 07:21:11 +0000 |
commit | eeead3a6f1c090dceb9c2b8f6a92855369702244 (patch) | |
tree | 634d0fc0ea5d543cc9f34e1f259ba68d105d7958 /gcc/ssa-iterators.h | |
parent | 5730589da6afea6d54055d87fb9c3c6aa0683851 (diff) | |
download | gcc-eeead3a6f1c090dceb9c2b8f6a92855369702244.zip gcc-eeead3a6f1c090dceb9c2b8f6a92855369702244.tar.gz gcc-eeead3a6f1c090dceb9c2b8f6a92855369702244.tar.bz2 |
ssa-iterators.h (ssa_vuse_operand): New inline.
2016-08-18 Richard Biener <rguenther@suse.de>
* ssa-iterators.h (ssa_vuse_operand): New inline.
* tree-if-conv.c (ifc_temp_var): Update virtual operand.
(predicate_all_scalar_phis): Use remove_phi_node to remove
phi nodes predicated. Delay removing virtual PHIs.
(predicate_mem_writes): Update virtual operands.
(combine_blocks): Likewise. Propagate out remaining virtual PHIs.
(tree_if_conversion): Do not rewrite virtual SSA form.
* tree-phinodes.c (release_phi_node): Make static.
* tree-phinodes.h (release_phi_node): Remove.
From-SVN: r239560
Diffstat (limited to 'gcc/ssa-iterators.h')
-rw-r--r-- | gcc/ssa-iterators.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ssa-iterators.h b/gcc/ssa-iterators.h index b6d8f3c..7e656e1 100644 --- a/gcc/ssa-iterators.h +++ b/gcc/ssa-iterators.h @@ -699,6 +699,15 @@ single_ssa_use_operand (gimple *stmt, int flags) return NULL_USE_OPERAND_P; } +/* Return the single virtual use operand in STMT if present. Otherwise + return NULL. */ +static inline use_operand_p +ssa_vuse_operand (gimple *stmt) +{ + if (! gimple_vuse (stmt)) + return NULL_USE_OPERAND_P; + return USE_OP_PTR (gimple_use_ops (stmt)); +} /* If there is a single operand in STMT matching FLAGS, return it. Otherwise |