2015-10-11 Nathan Sidwell <nathan@codesourcery.com>
* internal-fn.def (IFN_UNIQUE_UNSPEC, IFN_UNIQUE_OACC_FORK,
IFN_UNIQUE_OACC_JOIN): Move to IFN_UNIQUE definition.
* internal-fn.c (expand_GOACC_REDUCTION_*): Correct comments.
===================================================================
@@ -2026,7 +2026,7 @@ expand_GOACC_DIM_POS (gcall *ARG_UNUSED
#endif
}
-/* This should get expanded in oacc_transform. */
+/* All the GOACC_REDUCTION variants get expanded in oacc_device_lower. */
static void
expand_GOACC_REDUCTION_SETUP (gcall *stmt ATTRIBUTE_UNUSED)
@@ -2034,24 +2034,18 @@ expand_GOACC_REDUCTION_SETUP (gcall *stm
gcc_unreachable ();
}
-/* This should get expanded in oacc_transform. */
-
static void
expand_GOACC_REDUCTION_INIT (gcall *stmt ATTRIBUTE_UNUSED)
{
gcc_unreachable ();
}
-/* This should get expanded in oacc_transform. */
-
static void
expand_GOACC_REDUCTION_FINI (gcall *stmt ATTRIBUTE_UNUSED)
{
gcc_unreachable ();
}
-/* This should get expanded in oacc_transform. */
-
static void
expand_GOACC_REDUCTION_TEARDOWN (gcall *stmt ATTRIBUTE_UNUSED)
{
===================================================================
@@ -67,10 +67,17 @@ DEF_INTERNAL_FN (GOACC_DATA_END_WITH_ARG
/* An unduplicable, uncombinable function. Generally used to preserve
a CFG property in the face of jump threading, tail merging or
- other such optimizations. The optional first argument distinguishes
+ other such optimizations. The first argument distinguishes
between uses. Other arguments are as needed for use. The return
- type depends on use too. */
+ type depends on use too. */
DEF_INTERNAL_FN (UNIQUE, ECF_NOTHROW | ECF_LEAF, NULL)
+#define IFN_UNIQUE_UNSPEC 0 /* Undifferentiated UNIQUE. */
+
+/* FORK and JOIN mark the points at which OpenACC partitioned
+ execution is entered or exited. They take an INTEGER_CST argument,
+ indicating the axis of forking or joining and return nothing. */
+#define IFN_UNIQUE_OACC_FORK 1
+#define IFN_UNIQUE_OACC_JOIN 2
/* DIM_SIZE and DIM_POS return the size of a particular compute
dimension and the executing thread's position within that
@@ -99,11 +106,3 @@ DEF_INTERNAL_FN (GOACC_REDUCTION_INIT, E
DEF_INTERNAL_FN (GOACC_REDUCTION_FINI, ECF_NOTHROW, NULL)
DEF_INTERNAL_FN (GOACC_REDUCTION_TEARDOWN, ECF_NOTHROW, NULL)
-/* IFN_UNIQUE uses an INTEGER_CST first argument to discriminate use. */
-#define IFN_UNIQUE_UNSPEC 0
-
-/* FORK and JOIN mark the points at which partitioned execution is
- entered or exited. They take an INTEGER_CST argument, indicating
- the axis of forking or joining and return nothing. */
-#define IFN_UNIQUE_OACC_FORK 1
-#define IFN_UNIQUE_OACC_JOIN 2