diff options
author | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-15 15:45:33 +0000 |
---|---|---|
committer | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-15 15:45:33 +0000 |
commit | 7c446c951a941facd5f225bba9916ff669420c34 (patch) | |
tree | 40077b7dd50d472ee732b6ecf6d2b305f7b6da58 /gcc/builtins.c | |
parent | 6c798041b74aad70fc5898aa48e26cbe0b5dc4a5 (diff) | |
download | gcc-7c446c951a941facd5f225bba9916ff669420c34.tar.gz |
.:
* tree.h (build_int_cst): New.
(build_int_2): Remove.
* tree.c (build_int_2): Remove.
(build_int_cst): New.
(make_vector_type, build_common_tree_nodes,
build_common_tree_nodes_2): Use build_int_cst.
* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
expand_builtin_strpbrk, expand_builtin_fputs,
build_string_literal, expand_builtin_printf,
expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
fold_builtin_isdigit, simplify_builtin_strstr,
simplify_builtin_strpbrk, fold_builtin_fputs,
simplify_builtin_sprintf): Use build_int_cst.
* c-common.c (start_fname_decls, fix_string_type,
c_common_nodes_and_builtins, c_init_attributes,
shorten_compare): Likewise.
* c-decl.c (complete_array_type,
check_bitfield_type_and_width): Likewise.
* c-lex.c (interpret_integer, lex_charconst): Likewise.
* c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
* c-pretty-print.c (pp_c_integer_constant): Likewise.
* c-typeck.c (really_start_incremental_init, push_init_level,
set_nonincremental_init_from_string): Likewise.
* calls.c (load_register_parameters): Likewise.
* convert.c (convert_to_pointer): Likewise.
* coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
build_fn_info_type, build_ctr_info_value, build_gcov_info):
Likewise.
* except.c (init_eh, assign_filter_values, assign_filter_values):
Likewise.
* expmed.c (store_fixed_bit_field, extract_bit_field,
extract_fixed_bit_field, extract_split_bit_field, expand_shift,
expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
* expr.c (convert_move, emit_group_load, emit_group_store,
expand_assignment, store_constructor, store_field,
expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
* fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
invert_truthvalue, optimize_bit_field_compare,
decode_field_reference, all_ones_mask_p, constant_boolean_node,
fold_div_compare, fold, fold_read_from_constant_string,
fold_negate_const, fold_abs_const, fold_not_const): Likewise.
* function.c (assign_parm_setup_block): Likewise.
* stmt.c (shift_return_value, expand_end_case_type,
estimate_case_costs): Likewise.
* stor-layout.c (layout_type, initialize_sizetypes,
set_min_and_max_values_for_integral_type): Likewise.
* tree-chrec.c (chrec_fold_multiply_poly_poly,
reset_evolution_in_loop): Likewise.
* tree-chrec.h (build_polynomial_chrec): Likewise.
* tree-complex.c (build_replicated_const): Likewise.
* tree-eh.c (honor_protect_cleanup_actions,
lower_try_finally_onedest, lower_try_finally_copy,
lower_try_finally_switch): Likewise.
* tree-mudflap.c (mf_build_string, mx_register_decls,
mudflap_register_call, mudflap_enqueue_constant): Likewise.
* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
Likewise.
* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
* tree-ssa-loop-niter.c (number_of_iterations_cond,
loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
Likewise.
* config/alpha/alpha.c (alpha_initialize_trampoline,
alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
* config/arm/arm.c (arm_get_cookie_size): Likewise.
* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
* config/i860/i860.c (i860_va_start): Likewise.
* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
mips_gimplify_va_arg_expr): Likewise.
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
add_compiler_branch_island): Likewise.
* config/s390/s390.c (s390_va_start): Likewise.
* config/sh/sh.c (sh_va_start): Likewise.
* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
Likewise.
* config/xtensa/xtensa.c (xtensa_va_start,
xtensa_gimplify_va_arg_expr): Likewise.
* objc/objc-act.c (build_objc_string_object,
build_objc_symtab_template, init_def_list, init_objc_symtab,
init_module_descriptor, generate_static_references,
build_selector_translation_table, get_proto_encoding,
build_typed_selector_reference, build_selector_reference,
build_next_objc_exception_stuff,
build_method_prototype_list_template, generate_descriptor_table,
generate_protocols, build_protocol_initializer,
build_ivar_list_template, build_method_list_template,
build_ivar_list_initializer, generate_ivars_list,
generate_dispatch_table, generate_protocol_list,
build_category_initializer, build_shared_structure_initializer,
generate_shared_structures, handle_impent,
generate_objc_image_info): Use build_int_cst.
ada:
* cuintp.c (UI_To_gnu): Use build_int_cst..
* trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
* utils.c (init_gigi_decls): Likewise.
* utils2.c (build_call_raise): Likewise.
cp:
* call.c (convert_class_to_reference,
build_user_type_conversion_1, convert_like_real,
build_java_interface_fn_ref, build_special_member_call): Use
build_int_cst.
* class.c (build_vtbl_initializer): Likewise.
* cp-gimplify.c (cp_gimplify_expr): Likewise.
* cvt.c (cp_convert_to_pointer): Likewise.
* decl.c (cxx_init_decl_processing, complete_array_type): Likewise.
* decl2.c (start_static_initialization_or_destruction,
generate_ctor_or_dtor_function): Likewise.
* except.c (build_throw): Likewise.
* lex.c (cxx_init): Likewise.
* mangle.c (write_integer_cst): Likewise.
* rtti.c (build_headof, get_tinfo_decl_dynamic,
build_dynamic_cast_1, ptr_initializer, ptm_initializer,
get_pseudo_ti_init): Likewise.
* search.c (get_dynamic_cast_base_type): Likewise.
* tree.c (build_shared_int_cst): Likewise.
fortran:
* trans-array.c (gfc_trans_array_constructor_value): Use
build_int_cst.
* trans-const.c (gfc_build_string_const,
gfc_init_constants, gfc_conv_mpz_to_tree,
gfc_conv_constant_to_tree): Likewise.
* trans-decl.c (gfc_get_symbol_decl): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_ibits,
gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
* trans-io.c (add_case, set_error_locus, build_dt,
transfer_expr): Likewise.
* trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
gfc_trans_stop, gfc_trans_character_select): Likewise.
* trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
* trans.c (gfc_trans_runtime_check): Likewise.
java:
* boehm.c (get_boehm_type_descriptor): Use build_int_cst.
* class.c (build_utf8_ref, build_static_field_ref,
make_field_value, make_method_value, get_dispatch_table,
make_class_data, emit_symbol_table, emit_catch_table): Likewise.
* constants.c (get_tag_node, build_ref_from_constant_pool,
build_constants_constructor): Likewise.
* decl.c (java_init_decl_processing): Likewise.
* expr.c (build_java_array_length_access, build_newarray,
expand_java_multianewarray, expand_java_pushc, expand_iinc,
build_java_binop, build_field_ref, expand_java_add_case,
expand_java_call, build_known_method_ref, build_invokevirtual,
build_invokeinterface, build_jni_stub): Likewise.
* java-gimplify.c (java_gimplify_new_array_init): Likewise.
* jcf-parse.c (get_constant): Likewise.
* lex.c (do_java_lex): Likewise.
* parse.y (patch_binop, patch_unaryop, patch_cast,
build_null_of_type, patch_newarray): Likewise.
* resource.c (compile_resource_data): Likewise.
* typeck.c (build_prim_array_type): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86022 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 74 |
1 files changed, 38 insertions, 36 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index fb852ff0b55..65028cf51d9 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -903,12 +903,12 @@ expand_builtin_prefetch (tree arglist) if (TREE_CHAIN (TREE_CHAIN (arglist))) arg2 = TREE_VALUE (TREE_CHAIN (TREE_CHAIN (arglist))); else - arg2 = build_int_2 (3, 0); + arg2 = build_int_cst (NULL_TREE, 3, 0); } else { arg1 = integer_zero_node; - arg2 = build_int_2 (3, 0); + arg2 = build_int_cst (NULL_TREE, 3, 0); } /* Argument 0 is an address. */ @@ -2490,8 +2490,8 @@ expand_builtin_strstr (tree arglist, rtx target, enum machine_mode mode) /* New argument list transforming strstr(s1, s2) to strchr(s1, s2[0]). */ - arglist = - build_tree_list (NULL_TREE, build_int_2 (p2[0], 0)); + arglist = build_tree_list (NULL_TREE, + build_int_cst (NULL_TREE, p2[0], 0)); arglist = tree_cons (NULL_TREE, s1, arglist); return expand_expr (build_function_call_expr (fn, arglist), target, mode, EXPAND_NORMAL); @@ -2647,8 +2647,8 @@ expand_builtin_strpbrk (tree arglist, rtx target, enum machine_mode mode) /* New argument list transforming strpbrk(s1, s2) to strchr(s1, s2[0]). */ - arglist = - build_tree_list (NULL_TREE, build_int_2 (p2[0], 0)); + arglist = build_tree_list (NULL_TREE, + build_int_cst (NULL_TREE, p2[0], 0)); arglist = tree_cons (NULL_TREE, s1, arglist); return expand_expr (build_function_call_expr (fn, arglist), target, mode, EXPAND_NORMAL); @@ -4676,10 +4676,11 @@ expand_builtin_fputs (tree arglist, rtx target, bool unlocked) { /* New argument list transforming fputs(string, stream) to fputc(string[0], stream). */ - arglist = - build_tree_list (NULL_TREE, TREE_VALUE (TREE_CHAIN (arglist))); - arglist = - tree_cons (NULL_TREE, build_int_2 (p[0], 0), arglist); + arglist = build_tree_list (NULL_TREE, + TREE_VALUE (TREE_CHAIN (arglist))); + arglist = tree_cons (NULL_TREE, + build_int_cst (NULL_TREE, p[0], 0), + arglist); fn = fn_fputc; break; } @@ -4936,7 +4937,7 @@ build_string_literal (int len, const char *str) t = build_string (len, str); elem = build_type_variant (char_type_node, 1, 0); - index = build_index_type (build_int_2 (len - 1, 0)); + index = build_index_type (build_int_cst (NULL_TREE, len - 1, 0)); type = build_array_type (elem, index); TREE_TYPE (t) = type; TREE_CONSTANT (t) = 1; @@ -5022,7 +5023,7 @@ expand_builtin_printf (tree arglist, rtx target, enum machine_mode mode, /* Given printf("c"), (where c is any one character,) convert "c"[0] to an int and pass that to the replacement function. */ - arg = build_int_2 (fmt_str[0], 0); + arg = build_int_cst (NULL_TREE, fmt_str[0], 0); arglist = build_tree_list (NULL_TREE, arg); fn = fn_putchar; } @@ -5193,8 +5194,7 @@ expand_builtin_sprintf (tree arglist, rtx target, enum machine_mode mode) const0_rtx, VOIDmode, EXPAND_NORMAL); if (target == const0_rtx) return const0_rtx; - exp = build_int_2 (strlen (fmt_str), 0); - exp = fold_convert (integer_type_node, exp); + exp = build_int_cst (NULL_TREE, strlen (fmt_str), 0); return expand_expr (exp, target, mode, EXPAND_NORMAL); } /* If the format is "%s", use strcpy if the result isn't used. */ @@ -6271,9 +6271,10 @@ static tree fold_builtin_classify_type (tree arglist) { if (arglist == 0) - return build_int_2 (no_type_class, 0); + return build_int_cst (NULL_TREE, no_type_class, 0); - return build_int_2 (type_to_class (TREE_TYPE (TREE_VALUE (arglist))), 0); + return build_int_cst (NULL_TREE, + type_to_class (TREE_TYPE (TREE_VALUE (arglist))), 0); } /* Fold a call to __builtin_inf or __builtin_huge_val. */ @@ -6706,7 +6707,7 @@ fold_builtin_lround (tree exp) real_round (&r, TYPE_MODE (ftype), &x); REAL_VALUE_TO_INT (&lo, &hi, r); - result = build_int_2 (lo, hi); + result = build_int_cst (NULL_TREE, lo, hi); if (int_fits_type_p (result, itype)) return fold_convert (itype, result); } @@ -6735,7 +6736,7 @@ fold_builtin_bitop (tree exp) { HOST_WIDE_INT hi, width, result; unsigned HOST_WIDE_INT lo; - tree type, t; + tree type; type = TREE_TYPE (arg); width = TYPE_PRECISION (type); @@ -6815,9 +6816,7 @@ fold_builtin_bitop (tree exp) abort(); } - t = build_int_2 (result, 0); - TREE_TYPE (t) = TREE_TYPE (exp); - return t; + return build_int_cst (TREE_TYPE (exp), result, 0); } return NULL_TREE; @@ -7572,11 +7571,12 @@ fold_builtin_isascii (tree arglist) /* Transform isascii(c) -> ((c & ~0x7f) == 0). */ tree arg = TREE_VALUE (arglist); + arg = build2 (BIT_AND_EXPR, integer_type_node, arg, + build_int_cst (NULL_TREE, + ~ (unsigned HOST_WIDE_INT) 0x7f, + ~ (HOST_WIDE_INT) 0)); arg = fold (build2 (EQ_EXPR, integer_type_node, - build2 (BIT_AND_EXPR, integer_type_node, arg, - build_int_2 (~ (unsigned HOST_WIDE_INT) 0x7f, - ~ (HOST_WIDE_INT) 0)), - integer_zero_node)); + arg, integer_zero_node)); if (in_gimple_form && !TREE_CONSTANT (arg)) return NULL_TREE; @@ -7598,7 +7598,7 @@ fold_builtin_toascii (tree arglist) tree arg = TREE_VALUE (arglist); return fold (build2 (BIT_AND_EXPR, integer_type_node, arg, - build_int_2 (0x7f, 0))); + build_int_cst (NULL_TREE, 0x7f, 0))); } } @@ -7616,10 +7616,9 @@ fold_builtin_isdigit (tree arglist) tree arg = TREE_VALUE (arglist); arg = fold_convert (unsigned_type_node, arg); arg = build2 (MINUS_EXPR, unsigned_type_node, arg, - fold_convert (unsigned_type_node, - build_int_2 (TARGET_DIGIT0, 0))); + build_int_cst (unsigned_type_node, TARGET_DIGIT0, 0)); arg = build2 (LE_EXPR, integer_type_node, arg, - fold_convert (unsigned_type_node, build_int_2 (9, 0))); + build_int_cst (unsigned_type_node, 9, 0)); arg = fold (arg); if (in_gimple_form && !TREE_CONSTANT (arg)) return NULL_TREE; @@ -8696,7 +8695,8 @@ simplify_builtin_strstr (tree arglist) /* New argument list transforming strstr(s1, s2) to strchr(s1, s2[0]). */ - arglist = build_tree_list (NULL_TREE, build_int_2 (p2[0], 0)); + arglist = build_tree_list (NULL_TREE, + build_int_cst (NULL_TREE, p2[0], 0)); arglist = tree_cons (NULL_TREE, s1, arglist); return build_function_call_expr (fn, arglist); } @@ -8881,8 +8881,8 @@ simplify_builtin_strpbrk (tree arglist) /* New argument list transforming strpbrk(s1, s2) to strchr(s1, s2[0]). */ - arglist = - build_tree_list (NULL_TREE, build_int_2 (p2[0], 0)); + arglist = build_tree_list (NULL_TREE, + build_int_cst (NULL_TREE, p2[0], 0)); arglist = tree_cons (NULL_TREE, s1, arglist); return build_function_call_expr (fn, arglist); } @@ -9130,9 +9130,11 @@ fold_builtin_fputs (tree arglist, bool ignore, bool unlocked, tree len) { /* New argument list transforming fputs(string, stream) to fputc(string[0], stream). */ - arglist = - build_tree_list (NULL_TREE, TREE_VALUE (TREE_CHAIN (arglist))); - arglist = tree_cons (NULL_TREE, build_int_2 (p[0], 0), arglist); + arglist = build_tree_list (NULL_TREE, + TREE_VALUE (TREE_CHAIN (arglist))); + arglist = tree_cons (NULL_TREE, + build_int_cst (NULL_TREE, p[0], 0), + arglist); fn = fn_fputc; break; } @@ -9256,7 +9258,7 @@ simplify_builtin_sprintf (tree arglist, int ignored) arglist = tree_cons (NULL_TREE, dest, arglist); call = build_function_call_expr (fn, arglist); if (!ignored) - retval = build_int_2 (strlen (fmt_str), 0); + retval = build_int_cst (NULL_TREE, strlen (fmt_str), 0); } /* If the format is "%s", use strcpy if the result isn't used. */ |