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,
> -                                   endlink));
> +    = build_function_type_list (integer_type_node,
> +                             V4HI_type_node, NULL_TREE);
>    tree int_ftype_v2si
> -    = build_function_type (integer_type_node,
> -                        tree_cons (NULL_TREE, V2SI_type_node,
> -                                   endlink));
> +    = build_function_type_list (integer_type_node,
> +                             V2SI_type_node, NULL_TREE);
>    tree int_ftype_v8qi_int
> -    = build_function_type (integer_type_node,
> -                        tree_cons (NULL_TREE, V8QI_type_node,
> -                                   tree_cons (NULL_TREE, integer_type_node,
> -                                              endlink)));
> +    = build_function_type_list (integer_type_node,
> +                             V8QI_type_node, integer_type_node, NULL_TREE);
>    tree int_ftype_v4hi_int
> -    = build_function_type (integer_type_node,
> -                        tree_cons (NULL_TREE, V4HI_type_node,
> -                                   tree_cons (NULL_TREE, integer_type_node,
> -                                              endlink)));
> +    = build_function_type_list (integer_type_node,
> +                             V4HI_type_node, integer_type_node, NULL_TREE);
>    tree int_ftype_v2si_int
> -    = build_function_type (integer_type_node,
> -                        tree_cons (NULL_TREE, V2SI_type_node,
> -                                   tree_cons (NULL_TREE, integer_type_node,
> -                                              endlink)));
> +    = build_function_type_list (integer_type_node,
> +                             V2SI_type_node, integer_type_node, NULL_TREE);
>    tree v8qi_ftype_v8qi_int_int
> -    = build_function_type (V8QI_type_node,
> -                        tree_cons (NULL_TREE, V8QI_type_node,
> -                                   tree_cons (NULL_TREE, integer_type_node,
> -                                              tree_cons (NULL_TREE,
> -                                                         integer_type_node,
> -                                                         endlink))));
> +    = build_function_type_list (V8QI_type_node,
> +                             V8QI_type_node, integer_type_node,
> +                             integer_type_node, NULL_TREE);
>    tree v4hi_ftype_v4hi_int_int
> -    = build_function_type (V4HI_type_node,
> -                        tree_cons (NULL_TREE, V4HI_type_node,
> -                                   tree_cons (NULL_TREE, integer_type_node,
> -                                              tree_cons (NULL_TREE,
> -                                                         integer_type_node,
> -                                                         endlink))));
> +    = build_function_type_list (V4HI_type_node,
> +                             V4HI_type_node, integer_type_node,
> +                             integer_type_node, NULL_TREE);
>    tree v2si_ftype_v2si_int_int
> -    = build_function_type (V2SI_type_node,
> -                        tree_cons (NULL_TREE, V2SI_type_node,
> -                                   tree_cons (NULL_TREE, integer_type_node,
> -                                              tree_cons (NULL_TREE,
> -                                                         integer_type_node,
> -                                                         endlink))));
> +    = build_function_type_list (V2SI_type_node,
> +                             V2SI_type_node, integer_type_node,
> +                             integer_type_node, NULL_TREE);
>    /* Miscellaneous.  */
>    tree v8qi_ftype_v4hi_v4hi
> -    = build_function_type (V8QI_type_node,
> -                        tree_cons (NULL_TREE, V4HI_type_node,
> -                                   tree_cons (NULL_TREE, V4HI_type_node,
> -                                              endlink)));
> +    = build_function_type_list (V8QI_type_node,
> +                             V4HI_type_node, V4HI_type_node, NULL_TREE);
>    tree v4hi_ftype_v2si_v2si
> -    = build_function_type (V4HI_type_node,
> -                        tree_cons (NULL_TREE, V2SI_type_node,
> -                                   tree_cons (NULL_TREE, V2SI_type_node,
> -                                              endlink)));
> +    = build_function_type_list (V4HI_type_node,
> +                             V2SI_type_node, V2SI_type_node, NULL_TREE);
>    tree v2si_ftype_v4hi_v4hi
> -    = build_function_type (V2SI_type_node,
> -                        tree_cons (NULL_TREE, V4HI_type_node,
> -                                   tree_cons (NULL_TREE, V4HI_type_node,
> -                                              endlink)));
> +    = build_function_type_list (V2SI_type_node,
> +                             V4HI_type_node, V4HI_type_node, NULL_TREE);
>    tree v2si_ftype_v8qi_v8qi
> -    = build_function_type (V2SI_type_node,
> -                        tree_cons (NULL_TREE, V8QI_type_node,
> -                                   tree_cons (NULL_TREE, V8QI_type_node,
> -                                              endlink)));
> +    = build_function_type_list (V2SI_type_node,
> +                             V8QI_type_node, V8QI_type_node, NULL_TREE);
>    tree v4hi_ftype_v4hi_di
> -    = build_function_type (V4HI_type_node,
> -                        tree_cons (NULL_TREE, V4HI_type_node,
> -                                   tree_cons (NULL_TREE,
> -                                              long_long_integer_type_node,
> -                                              endlink)));
> +    = build_function_type_list (V4HI_type_node,
> +                             V4HI_type_node, long_long_integer_type_node,
> +                             NULL_TREE);
>    tree v2si_ftype_v2si_di
> -    = build_function_type (V2SI_type_node,
> -                        tree_cons (NULL_TREE, V2SI_type_node,
> -                                   tree_cons (NULL_TREE,
> -                                              long_long_integer_type_node,
> -                                              endlink)));
> +    = build_function_type_list (V2SI_type_node,
> +                             V2SI_type_node, long_long_integer_type_node,
> +                             NULL_TREE);
>    tree void_ftype_int_int
> -    = build_function_type (void_type_node,
> -                        tree_cons (NULL_TREE, integer_type_node,
> -                                   tree_cons (NULL_TREE, integer_type_node,
> -                                              endlink)));
> +    = build_function_type_list (void_type_node,
> +                             integer_type_node, integer_type_node,
> +                             NULL_TREE);
>    tree di_ftype_void
> -    = build_function_type (long_long_unsigned_type_node, endlink);
> +    = build_function_type_list (long_long_unsigned_type_node, NULL_TREE);
>    tree di_ftype_v8qi
> -    = build_function_type (long_long_integer_type_node,
> -                        tree_cons (NULL_TREE, V8QI_type_node,
> -                                   endlink));
> +    = build_function_type_list (long_long_integer_type_node,
> +                             V8QI_type_node, NULL_TREE);
>    tree di_ftype_v4hi
> -    = build_function_type (long_long_integer_type_node,
> -                        tree_cons (NULL_TREE, V4HI_type_node,
> -                                   endlink));
> +    = build_function_type_list (long_long_integer_type_node,
> +                             V4HI_type_node, NULL_TREE);
>    tree di_ftype_v2si
> -    = build_function_type (long_long_integer_type_node,
> -                        tree_cons (NULL_TREE, V2SI_type_node,
> -                                   endlink));
> +    = build_function_type_list (long_long_integer_type_node,
> +                             V2SI_type_node, NULL_TREE);
>    tree v2si_ftype_v4hi
> -    = build_function_type (V2SI_type_node,
> -                        tree_cons (NULL_TREE, V4HI_type_node,
> -                                   endlink));
> +    = build_function_type_list (V2SI_type_node,
> +                             V4HI_type_node, NULL_TREE);
>    tree v4hi_ftype_v8qi
> -    = build_function_type (V4HI_type_node,
> -                        tree_cons (NULL_TREE, V8QI_type_node,
> -                                   endlink));
> +    = build_function_type_list (V4HI_type_node,
> +                             V8QI_type_node, NULL_TREE);
>  
>    tree di_ftype_di_v4hi_v4hi
> -    = build_function_type (long_long_unsigned_type_node,
> -                        tree_cons (NULL_TREE,
> -                                   long_long_unsigned_type_node,
> -                                   tree_cons (NULL_TREE, V4HI_type_node,
> -                                              tree_cons (NULL_TREE,
> -                                                         V4HI_type_node,
> -                                                         endlink))));
> +    = build_function_type_list (long_long_unsigned_type_node,
> +                             long_long_unsigned_type_node,
> +                             V4HI_type_node, V4HI_type_node,
> +                             NULL_TREE);
>  
>    tree di_ftype_v4hi_v4hi
> -    = build_function_type (long_long_unsigned_type_node,
> -                        tree_cons (NULL_TREE, V4HI_type_node,
> -                                   tree_cons (NULL_TREE, V4HI_type_node,
> -                                              endlink)));
> +    = build_function_type_list (long_long_unsigned_type_node,
> +                             V4HI_type_node,V4HI_type_node,
> +                             NULL_TREE);
>    
>    /* Normal vector binops.  */
>    tree v8qi_ftype_v8qi_v8qi
> -    = build_function_type (V8QI_type_node,
> -                        tree_cons (NULL_TREE, V8QI_type_node,
> -                                   tree_cons (NULL_TREE, V8QI_type_node,
> -                                              endlink)));
> +    = build_function_type_list (V8QI_type_node,
> +                             V8QI_type_node, V8QI_type_node, NULL_TREE);
>    tree v4hi_ftype_v4hi_v4hi
> -    = build_function_type (V4HI_type_node,
> -                        tree_cons (NULL_TREE, V4HI_type_node,
> -                                   tree_cons (NULL_TREE, V4HI_type_node,
> -                                              endlink)));
> +    = build_function_type_list (V4HI_type_node,
> +                             V4HI_type_node,V4HI_type_node, NULL_TREE);
>    tree v2si_ftype_v2si_v2si
> -    = build_function_type (V2SI_type_node,
> -                        tree_cons (NULL_TREE, V2SI_type_node,
> -                                   tree_cons (NULL_TREE, V2SI_type_node,
> -                                              endlink)));
> +    = build_function_type_list (V2SI_type_node,
> +                             V2SI_type_node, V2SI_type_node, NULL_TREE);
>    tree di_ftype_di_di
> -    = build_function_type (long_long_unsigned_type_node,
> -                        tree_cons (NULL_TREE, long_long_unsigned_type_node,
> -                                   tree_cons (NULL_TREE,
> -                                              long_long_unsigned_type_node,
> -                                              endlink)));
> +    = build_function_type_list (long_long_unsigned_type_node,
> +                             long_long_unsigned_type_node,
> +                             long_long_unsigned_type_node,
> +                             NULL_TREE);
>    
>    /* Add all builtins that are more or less simple operations on two
>       operands.  */



Reply via email to