Re: [PATCH] use build_function_type_list in the arm backend

2011-04-21 Thread Richard Earnshaw

On Wed, 2011-04-20 at 15:59 -0400, Nathan Froyd wrote:
> As $SUBJECT suggests.  There's one remaining use of build_function_type,
> but replace that will have to wait until we have a better
> FUNCTION_TYPE-building interface.
> 
> Tested with cross to arm-eabi.  OK to commit?
> 

OK.

R.

> -Nathan
> 
>   * config/arm/arm.c (arm_init_iwmmxt_builtins): Call
>   build_function_type_list instead of build_function_type.
>   Delete variable `endlink'.
> 
> diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
> index 5f964d6..9f10ac4 100644
> --- a/gcc/config/arm/arm.c
> +++ b/gcc/config/arm/arm.c
> @@ -18915,196 +18915,137 @@ arm_init_iwmmxt_builtins (void)
>  {
>const struct builtin_description * d;
>size_t i;
> -  tree endlink = void_list_node;
>  
>tree V2SI_type_node = build_vector_type_for_mode (intSI_type_node, 
> V2SImode);
>tree V4HI_type_node = build_vector_type_for_mode (intHI_type_node, 
> V4HImode);
>tree V8QI_type_node = build_vector_type_for_mode (intQI_type_node, 
> V8QImode);
>  
>tree int_ftype_int
> -= build_function_type (integer_type_node,
> -tree_cons (NULL_TREE, integer_type_node, endlink));
> += build_function_type_list (integer_type_node,
> + integer_type_node, NULL_TREE);
>tree v8qi_ftype_v8qi_v8qi_int
> -= build_function_type (V8QI_type_node,
> -tree_cons (NULL_TREE, V8QI_type_node,
> -   tree_cons (NULL_TREE, V8QI_type_node,
> -  tree_cons (NULL_TREE,
> - integer_type_node,
> - endlink;
> += build_function_type_list (V8QI_type_node,
> + V8QI_type_node, V8QI_type_node,
> + integer_type_node, NULL_TREE);
>tree v4hi_ftype_v4hi_int
> -= build_function_type (V4HI_type_node,
> -tree_cons (NULL_TREE, V4HI_type_node,
> -   tree_cons (NULL_TREE, integer_type_node,
> -  endlink)));
> += build_function_type_list (V4HI_type_node,
> + V4HI_type_node, integer_type_node, NULL_TREE);
>tree v2si_ftype_v2si_int
> -= build_function_type (V2SI_type_node,
> -tree_cons (NULL_TREE, V2SI_type_node,
> -   tree_cons (NULL_TREE, integer_type_node,
> -  endlink)));
> += build_function_type_list (V2SI_type_node,
> + V2SI_type_node, integer_type_node, NULL_TREE);
>tree v2si_ftype_di_di
> -= build_function_type (V2SI_type_node,
> -tree_cons (NULL_TREE, long_long_integer_type_node,
> -   tree_cons (NULL_TREE,
> -  long_long_integer_type_node,
> -  endlink)));
> += build_function_type_list (V2SI_type_node,
> + long_long_integer_type_node,
> + long_long_integer_type_node,
> + NULL_TREE);
>tree di_ftype_di_int
> -= build_function_type (long_long_integer_type_node,
> -tree_cons (NULL_TREE, long_long_integer_type_node,
> -   tree_cons (NULL_TREE, integer_type_node,
> -  endlink)));
> += build_function_type_list (long_long_integer_type_node,
> + long_long_integer_type_node,
> + integer_type_node, NULL_TREE);
>tree di_ftype_di_int_int
> -= build_function_type (long_long_integer_type_node,
> -tree_cons (NULL_TREE, long_long_integer_type_node,
> -   tree_cons (NULL_TREE, integer_type_node,
> -  tree_cons (NULL_TREE,
> - integer_type_node,
> - endlink;
> += build_function_type_list (long_long_integer_type_node,
> + long_long_integer_type_node,
> + integer_type_node,
> + integer_type_node, NULL_TREE);
>tree int_ftype_v8qi
> -= build_function_type (integer_type_node,
> -tree_cons (NULL_TREE, V8QI_type_node,
> -   endlink));
> += build_function_type_list (integer_type_node,
> + V8QI_type_node, NULL_TREE);
>tree int_ftype_v4hi
> -= build_function_type (integer_type_node,
> -tree_cons (NULL_TREE, V4HI_type_node,
> -

[PATCH] use build_function_type_list in the arm backend

2011-04-20 Thread Nathan Froyd
As $SUBJECT suggests.  There's one remaining use of build_function_type,
but replace that will have to wait until we have a better
FUNCTION_TYPE-building interface.

Tested with cross to arm-eabi.  OK to commit?

-Nathan

* config/arm/arm.c (arm_init_iwmmxt_builtins): Call
build_function_type_list instead of build_function_type.
Delete variable `endlink'.

diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 5f964d6..9f10ac4 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -18915,196 +18915,137 @@ arm_init_iwmmxt_builtins (void)
 {
   const struct builtin_description * d;
   size_t i;
-  tree endlink = void_list_node;
 
   tree V2SI_type_node = build_vector_type_for_mode (intSI_type_node, V2SImode);
   tree V4HI_type_node = build_vector_type_for_mode (intHI_type_node, V4HImode);
   tree V8QI_type_node = build_vector_type_for_mode (intQI_type_node, V8QImode);
 
   tree int_ftype_int
-= build_function_type (integer_type_node,
-  tree_cons (NULL_TREE, integer_type_node, endlink));
+= build_function_type_list (integer_type_node,
+   integer_type_node, NULL_TREE);
   tree v8qi_ftype_v8qi_v8qi_int
-= build_function_type (V8QI_type_node,
-  tree_cons (NULL_TREE, V8QI_type_node,
- tree_cons (NULL_TREE, V8QI_type_node,
-tree_cons (NULL_TREE,
-   integer_type_node,
-   endlink;
+= build_function_type_list (V8QI_type_node,
+   V8QI_type_node, V8QI_type_node,
+   integer_type_node, NULL_TREE);
   tree v4hi_ftype_v4hi_int
-= build_function_type (V4HI_type_node,
-  tree_cons (NULL_TREE, V4HI_type_node,
- tree_cons (NULL_TREE, integer_type_node,
-endlink)));
+= build_function_type_list (V4HI_type_node,
+   V4HI_type_node, integer_type_node, NULL_TREE);
   tree v2si_ftype_v2si_int
-= build_function_type (V2SI_type_node,
-  tree_cons (NULL_TREE, V2SI_type_node,
- tree_cons (NULL_TREE, integer_type_node,
-endlink)));
+= build_function_type_list (V2SI_type_node,
+   V2SI_type_node, integer_type_node, NULL_TREE);
   tree v2si_ftype_di_di
-= build_function_type (V2SI_type_node,
-  tree_cons (NULL_TREE, long_long_integer_type_node,
- tree_cons (NULL_TREE,
-long_long_integer_type_node,
-endlink)));
+= build_function_type_list (V2SI_type_node,
+   long_long_integer_type_node,
+   long_long_integer_type_node,
+   NULL_TREE);
   tree di_ftype_di_int
-= build_function_type (long_long_integer_type_node,
-  tree_cons (NULL_TREE, long_long_integer_type_node,
- tree_cons (NULL_TREE, integer_type_node,
-endlink)));
+= build_function_type_list (long_long_integer_type_node,
+   long_long_integer_type_node,
+   integer_type_node, NULL_TREE);
   tree di_ftype_di_int_int
-= build_function_type (long_long_integer_type_node,
-  tree_cons (NULL_TREE, long_long_integer_type_node,
- tree_cons (NULL_TREE, integer_type_node,
-tree_cons (NULL_TREE,
-   integer_type_node,
-   endlink;
+= build_function_type_list (long_long_integer_type_node,
+   long_long_integer_type_node,
+   integer_type_node,
+   integer_type_node, NULL_TREE);
   tree int_ftype_v8qi
-= build_function_type (integer_type_node,
-  tree_cons (NULL_TREE, V8QI_type_node,
- endlink));
+= build_function_type_list (integer_type_node,
+   V8QI_type_node, NULL_TREE);
   tree int_ftype_v4hi
-= build_function_type (integer_type_node,
-  tree_cons (NULL_TREE, V4HI_type_node,
- endlink));
+= build_function_type_list (integer_type_node,
+   V4HI_type_node, NULL_TREE);
   tree int_ftype_v2si
-= build_function_ty