On Mon, Jun 17, 2013 at 07:59:15PM -0500, Aldy Hernandez wrote:
> As discussed on IRC. Attached are these changes you requested, plus
> changing OMP_CLAUSE__SIMDUID__UID to OMP_CLAUSE__SIMDUID__DECL.
>
> I will tackle the dot named builtins in the next iteration.
Thanks.
> --- a/gcc/builtin-types.def
> +++ b/gcc/builtin-types.def
> @@ -227,6 +227,7 @@ DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128,
> BT_DFLOAT128, BT_DFLOAT128)
> DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
> DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
> DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
> +DEF_FUNCTION_TYPE_1 (BT_FN_UINT_PTR, BT_UINT, BT_PTR)
> DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
> DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
> DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
You can avoid this by using say unsigned_type_node as the type of the magic
decl rather than pointer type. Though, with internal functions this will
not be needed anyway.
> diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h
> index 6cc9a6c..41677bc 100644
> --- a/gcc/cfgloop.h
> +++ b/gcc/cfgloop.h
> @@ -176,7 +176,7 @@ struct GTY ((chain_next ("%h.next"))) loop {
>
> /* For SIMD loops, this is a unique identifier of the loop, referenced
> by __builtin_GOMP.simd_vf and __builtin_GOMP.simd_lane builtins. */
> - unsigned int simduid;
> + tree simduid;
>
> /* True if we should try harder to vectorize this loop. */
> bool force_vect;
Please move simduid after force_vect, so that it is better packed.
Jakub