aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple.h
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@gcc.gnu.org>2015-10-27 20:16:04 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2015-10-27 20:16:04 +0000
commit8ab78162c0dfc65aef769516ba77560566577113 (patch)
treebd71d653036a68ca09bc7d09522690d5e4988df5 /gcc/gimple.h
parenta271b387e6375d5612a2bd8669e0da1ac731e9c3 (diff)
downloadgcc-8ab78162c0dfc65aef769516ba77560566577113.zip
gcc-8ab78162c0dfc65aef769516ba77560566577113.tar.gz
gcc-8ab78162c0dfc65aef769516ba77560566577113.tar.bz2
internal-fn.c (expand_UNIQUE): New.
* internal-fn.c (expand_UNIQUE): New. * internal-fn.h (enum ifn_unique_kind): New. * internal-fn.def (IFN_UNIQUE): New. * target-insns.def (unique): Define. * gimple.h (gimple_call_internal_unique_p): New. * gimple.c (gimple_call_same_target_p): Check internal fn uniqueness. * tracer.c (ignore_bb_p): Check for IFN_UNIQUE call. * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts): Likewise. * tree-cfg.c (gmple_call_initialize_ctrl_altering): Likewise. From-SVN: r229459
Diffstat (limited to 'gcc/gimple.h')
-rw-r--r--gcc/gimple.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/gimple.h b/gcc/gimple.h
index 02d0db5..781801b 100644
--- a/gcc/gimple.h
+++ b/gcc/gimple.h
@@ -2895,6 +2895,21 @@ gimple_call_internal_fn (const gimple *gs)
return gimple_call_internal_fn (gc);
}
+/* Return true, if this internal gimple call is unique. */
+
+static inline bool
+gimple_call_internal_unique_p (const gcall *gs)
+{
+ return gimple_call_internal_fn (gs) == IFN_UNIQUE;
+}
+
+static inline bool
+gimple_call_internal_unique_p (const gimple *gs)
+{
+ const gcall *gc = GIMPLE_CHECK2<const gcall *> (gs);
+ return gimple_call_internal_unique_p (gc);
+}
+
/* If CTRL_ALTERING_P is true, mark GIMPLE_CALL S to be a stmt
that could alter control flow. */