aboutsummaryrefslogtreecommitdiff
path: root/gcc/ssa-iterators.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2016-08-18 07:21:11 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2016-08-18 07:21:11 +0000
commiteeead3a6f1c090dceb9c2b8f6a92855369702244 (patch)
tree634d0fc0ea5d543cc9f34e1f259ba68d105d7958 /gcc/ssa-iterators.h
parent5730589da6afea6d54055d87fb9c3c6aa0683851 (diff)
downloadgcc-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.h9
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