Update ChangeLogs for wide-int work.

Co-Authored-By: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Co-Authored-By: Mike Stump <mikestump@comcast.net>
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>

From-SVN: r210116
This commit is contained in:
Kenneth Zadeck 2014-05-06 16:35:35 +00:00 committed by Mike Stump
parent 807e902eea
commit 1d60af0867
12 changed files with 920 additions and 899 deletions

View File

@ -1,3 +1,783 @@
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
Mike Stump <mikestump@comcast.net>
Richard Sandiford <rdsandiford@googlemail.com>
Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* alias.c (ao_ref_from_mem): Use wide-int interfaces.
(rtx_equal_for_memref_p): Update comment.
(adjust_offset_for_component_ref): Use wide-int interfaces.
* builtins.c (get_object_alignment_2): Likewise.
(c_readstr): Likewise.
(target_char_cast): Add comment.
(determine_block_size): Use wide-int interfaces.
(expand_builtin_signbit): Likewise.
(fold_builtin_int_roundingfn): Likewise.
(fold_builtin_bitop): Likewise.
(fold_builtin_bswap): Likewise.
(fold_builtin_logarithm): Use signop.
(fold_builtin_pow): Likewise.
(fold_builtin_memory_op): Use wide-int interfaces.
(fold_builtin_object_size): Likewise.
* cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
nb_iterations_estimate.
(record_niter_bound): Use wide-int interfaces.
(get_estimated_loop_iterations_int): Likewise.
(get_estimated_loop_iterations): Likewise.
(get_max_loop_iterations): Likewise.
* cfgloop.h: Include wide-int.h.
(struct nb_iter_bound): Change bound to widest_int.
(struct loop): Change nb_iterations_upper_bound and
nb_iterations_estimate to widest_int.
(record_niter_bound): Switch to use widest_int.
(get_estimated_loop_iterations): Likewise.
(get_max_loop_iterations): Likewise.
(gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
update for wide-int.
* cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
* combine.c (try_combine): Likewise.
(subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
* config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
interfaces.
(aarch64_float_const_representable_p): Likewise.
* config/arc/arc.c: Include wide-int.h.
(arc_can_use_doloop_p): Use wide-int interfaces.
* config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
(vfp3_const_double_index): Likewise.
* config/avr/avr.c (avr_out_round): Likewise.
(avr_fold_builtin): Likewise.
* config/bfin/bfin.c (bfin_local_alignment): Likewise.
(bfin_can_use_doloop_p): Likewise.
* config/darwin.c (darwin_mergeable_constant_section): Likewise.
(machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
* config/i386/i386.c: Include wide-int.h.
(ix86_data_alignment): Use wide-int interfaces.
(ix86_local_alignment): Likewise.
(ix86_emit_swsqrtsf): Update real_from_integer.
* config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
* config/nds32/nds32.c (nds32_insert_attributes): Likewise.
* config/rs6000/predicates.md (any_operand): Add const_wide_int.
(zero_constant): Likewise.
(input_operand): Likewise.
(splat_input_operand): Likewise.
(non_logical_cint_operand): Change const_double to const_wide_int.
* config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
(easy_altivec_constant): Remove comment.
(paired_expand_vector_init): Use CONSTANT_P.
(rs6000_legitimize_address): Handle CONST_WIDE_INT.
(rs6000_emit_move): Update checks.
(rs6000_aggregate_candidate): Use wide-int interfaces.
(rs6000_expand_ternop_builtin): Likewise.
(rs6000_output_move_128bit): Handle CONST_WIDE_INT.
(rs6000_assemble_integer): Likewise.
(rs6000_hash_constant): Likewise.
(output_toc): Likewise.
(rs6000_rtx_costs): Likewise.
(rs6000_emit_swrsqrt); Update call to real_from_integer.
* config/rs6000/rs6000-c.c: Include wide-int.h.
(altivec_resolve_overloaded_builtin): Use wide-int interfaces.
* config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
* config/rs6000/rs6000.md: Use const_scalar_int_operand.
Handle CONST_WIDE_INT.
* config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
Use tree_fits_uhwi_p.
* config/sparc/sparc.c: Include wide-int.h.
(sparc_fold_builtin): Use wide-int interfaces.
* config/vax/vax.c: Include wide-int.h.
(vax_float_literal): Use real_from_integer.
* coretypes.h (struct hwivec_def): New.
(hwivec): New.
(const_hwivec): New.
* cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
(equiv_constant): Handle CONST_WIDE_INT.
* cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
(cselib_hash_rtx): Handle CONST_WIDE_INT.
* dbxout.c (stabstr_U): Use wide-int interfaces.
(dbxout_type): Update to use cst_fits_shwi_p.
* defaults.h (LOG2_BITS_PER_UNIT): Define.
(TARGET_SUPPORTS_WIDE_INT): Add default.
* dfp.c: Include wide-int.h.
(decimal_real_to_integer2): Use wide-int interfaces and rename to
decimal_real_to_integer.
* dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
decimal_real_to_integer.
* doc/generic.texi (Constant expressions): Update for wide_int.
* doc/rtl.texi (const_double): Likewise.
(const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
(CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
* doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
(REAL_VALUE_FROM_INT): Remove.
(TARGET_SUPPORTS_WIDE_INT): New.
* doc/tm.texi: Regenerate.
* dojump.c (prefer_and_bit_test): Use wide-int interfaces.
* double-int.h: Include wide-int.h.
(struct wi::int_traits): New.
* dwarf2out.c (get_full_len): New.
(dw_val_equal_p): Add case dw_val_class_wide_int.
(size_of_loc_descr): Likewise.
(output_loc_operands): Likewise.
(insert_double): Remove.
(insert_wide_int): New.
(add_AT_wide): New.
(print_die): Add case dw_val_class_wide_int.
(attr_checksum): Likewise.
(attr_checksum_ordered): Likewise.
(same_dw_val_p): Likewise.
(size_of_die): Likewise.
(value_format): Likewise.
(output_die): Likewise.
(double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
Use wide-int.
(clz_loc_descriptor): Use wide-int interfaces.
(mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
(loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
(round_up_to_align): Use wide-int interfaces.
(field_byte_offset): Likewise.
(insert_double): Rename to insert_wide_int. Use wide-int interfaces.
(add_const_value_attribute): Handle CONST_WIDE_INT. Update
CONST_DOUBLE handling. Use wide-int interfaces.
(add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
(gen_enumeration_type_die): Use add_AT_wide.
(hash_loc_operands): Add case dw_val_class_wide_int.
(compare_loc_operands): Likewise.
* dwarf2out.h: Include wide-int.h.
(wide_int_ptr): New.
(enum dw_val_class): Add dw_val_class_wide_int.
(struct dw_val_struct): Add val_wide.
* emit-rtl.c (const_wide_int_htab): New.
(const_wide_int_htab_hash): New.
(const_wide_int_htab_eq): New.
(lookup_const_wide_int): New.
(const_double_htab_hash): Use wide-int interfaces.
(const_double_htab_eq): Likewise.
(rtx_to_double_int): Conditionally compile for wide-int.
(immed_double_int_const): Rename to immed_wide_int_const and
update for wide-int.
(immed_double_const): Conditionally compile for wide-int.
(init_emit_once): Use wide-int interfaces.
* explow.c (plus_constant): Likewise.
* expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
(lshift_value): Use wide-int interfaces.
(expand_mult): Likewise.
(choose_multiplier): Likewise.
(expand_smod_pow2): Likewise.
(make_tree): Likewise.
* expr.c (convert_modes): Consolidate handling of constants.
Use wide-int interfaces.
(emit_group_load_1): Add note.
(store_expr): Update comment.
(get_inner_reference): Use wide-int interfaces.
(expand_constructor): Update comment.
(expand_expr_real_2): Use wide-int interfaces.
(expand_expr_real_1): Likewise.
(reduce_to_bit_field_precision): Likewise.
(const_vector_from_tree): Likewise.
* final.c: Include wide-int-print.h.
(output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
* fixed-value.c: Include wide-int.h.
(fixed_from_string): Use wide-int interfaces.
(fixed_to_decimal): Likewise.
(fixed_convert_from_real): Likewise.
(real_convert_from_fixed): Likewise.
* fold-const.h (mem_ref_offset): Return an offset_int.
(div_if_zero_remainder): Remove code parameter.
* fold-const.c (div_if_zero_remainder): Remove code parameter.
Use wide-int interfaces.
(may_negate_without_overflow_p): Use wide-int interfaces.
(negate_expr_p): Likewise.
(fold_negate_expr): Likewise.
(int_const_binop_1): Likewise.
(const_binop): Likewise.
(fold_convert_const_int_from_int): Likewise.
(fold_convert_const_int_from_real): Likewise.
(fold_convert_const_int_from_fixed): Likewise.
(fold_convert_const_fixed_from_int): Likewise.
(all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
(sign_bit_p): Use wide-int interfaces.
(make_range_step): Likewise.
(build_range_check): Likewise. Pass an integer of the correct type
instead of using integer_one_node.
(range_predecessor): Pass an integer of the correct type instead
of using integer_one_node.
(range_successor): Likewise.
(merge_ranges): Likewise.
(unextend): Use wide-int interfaces.
(extract_muldiv_1): Likewise.
(fold_div_compare): Likewise.
(fold_single_bit_test): Likewise.
(fold_sign_changed_comparison): Likewise.
(try_move_mult_to_index): Update calls to div_if_zero_remainder.
(fold_plusminus_mult_expr): Use wide-int interfaces.
(native_encode_int): Likewise.
(native_interpret_int): Likewise.
(fold_unary_loc): Likewise.
(pointer_may_wrap_p): Likewise.
(size_low_cst): Likewise.
(mask_with_tz): Likewise.
(fold_binary_loc): Likewise.
(fold_ternary_loc): Likewise.
(multiple_of_p): Likewise.
(tree_call_nonnegative_warnv_p): Update calls to
tree_int_cst_min_precision and real_from_integer.
(fold_negate_const): Use wide-int interfaces.
(fold_abs_const): Likewise.
(fold_relational_const): Use tree_int_cst_lt.
(round_up_loc): Use wide-int interfaces.
* genemit.c (gen_exp): Add CONST_WIDE_INT case.
* gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
* gengtype.c: Remove include of double-int.h.
(do_typedef): Use wide-int interfaces.
(open_base_files): Add wide-int.h.
(main): Add offset_int and widest_int typedefs.
* gengtype-lex.l: Handle "^".
(CXX_KEYWORD): Add "static".
* gengtype-parse.c (require3): New.
(require_template_declaration): Handle constant template arguments
and nested templates.
* gengtype-state.c: Don't include "double-int.h".
* genpreds.c (write_one_predicate_function): Update comment.
(write_tm_constrs_h): Add check for hval and lval use in
CONST_WIDE_INT.
* genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
(add_to_sequence): Likewise.
* gensupport.c (struct std_pred_table): Add const_scalar_int_operand
and const_double_operand.
* gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
interfaces.
* gimple-fold.c (get_base_constructor): Likewise.
(fold_array_ctor_reference): Likewise.
(fold_nonarray_ctor_reference): Likewise.
(fold_const_aggregate_ref_1): Likewise.
(gimple_val_nonnegative_real_p): Likewise.
(gimple_fold_indirect_ref): Likewise.
* gimple-pretty-print.c (dump_ssaname_info): Likewise.
* gimple-ssa-strength-reduction.c: Include wide-int-print.h.
(struct slsr_cand_d): Change index to be widest_int.
(struct incr_info_d): Change incr to be widest_int.
(alloc_cand_and_find_basis): Use wide-int interfaces.
(slsr_process_phi): Likewise.
(backtrace_base_for_ref): Likewise. Return a widest_int.
(restructure_reference): Take a widest_int instead of a double_int.
(slsr_process_ref): Use wide-int interfaces.
(create_mul_ssa_cand): Likewise.
(create_mul_imm_cand): Likewise.
(create_add_ssa_cand): Likewise.
(create_add_imm_cand): Take a widest_int instead of a double_int.
(slsr_process_add): Use wide-int interfaces.
(slsr_process_cast): Likewise.
(slsr_process_copy): Likewise.
(dump_candidate): Likewise.
(dump_incr_vec): Likewise.
(replace_ref): Likewise.
(cand_increment): Likewise. Return a widest_int.
(cand_abs_increment): Likewise.
(replace_mult_candidate): Take a widest_int instead of a double_int.
(replace_unconditional_candidate): Use wide-int interfaces.
(incr_vec_index): Take a widest_int instead of a double_int.
(create_add_on_incoming_edge): Likewise.
(create_phi_basis): Use wide-int interfaces.
(replace_conditional_candidate): Likewise.
(record_increment): Take a widest_int instead of a double_int.
(record_phi_increments): Use wide-int interfaces.
(phi_incr_cost): Take a widest_int instead of a double_int.
(lowest_cost_path): Likewise.
(total_savings): Likewise.
(analyze_increments): Use wide-int interfaces.
(ncd_with_phi): Take a widest_int instead of a double_int.
(ncd_of_cand_and_phis): Likewise.
(nearest_common_dominator_for_cands): Likewise.
(insert_initializers): Use wide-int interfaces.
(all_phi_incrs_profitable): Likewise.
(replace_one_candidate): Likewise.
(replace_profitable_candidates): Likewise.
* godump.c: Include wide-int-print.h.
(go_output_typedef): Use wide-int interfaces.
* graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
* graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
(build_loop_iteration_domains): Likewise.
* hooks.h: Include wide-int.h rather than double-int.h.
(hook_bool_dint_dint_uint_bool_true): Delete.
(hook_bool_wint_wint_uint_bool_true): Declare.
* hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
(hook_bool_wint_wint_uint_bool_true): New.
* internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
interfaces.
(ubsan_expand_si_overflow_mul_check): Likewise.
* ipa-devirt.c (get_polymorphic_call_info): Likewise.
* ipa-prop.c (compute_complex_assign_jump_func): Likewise.
(get_ancestor_addr_info): Likewise.
(ipa_modify_call_arguments): Likewise.
* loop-doloop.c (doloop_modify): Likewise.
(doloop_optimize): Likewise.
* loop-iv.c (iv_number_of_iterations): Likewise.
* loop-unroll.c (decide_unroll_constant_iterations): Likewise.
(unroll_loop_constant_iterations): Likewise.
(decide_unroll_runtime_iterations): Likewise.
(unroll_loop_runtime_iterations): Likewise.
(decide_peel_simple): Likewise.
(decide_unroll_stupid): Likewise.
* lto-streamer-in.c (streamer_read_wi): Add.
(input_cfg): Use wide-int interfaces.
(lto_input_tree_1): Likewise.
* lto-streamer-out.c (streamer_write_wi): Add.
(hash_tree): Use wide-int interfaces.
(output_cfg): Likewise.
* Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
(GTFILES): Add wide-int.h and signop.h.
(TAGS): Look for .cc files too.
* omp-low.c (scan_omp_1_op): Use wide-int interfaces.
* optabs.c (expand_subword_shift): Likewise.
(expand_doubleword_shift): Likewise.
(expand_absneg_bit): Likewise.
(expand_copysign_absneg): Likewise.
(expand_copysign_bit): Likewise.
* postreload.c (reload_cse_simplify_set): Likewise.
* predict.c (predict_iv_comparison): Likewise.
* pretty-print.h: Include wide-int-print.h.
(pp_wide_int) New.
* print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
* print-tree.c: Include wide-int-print.h.
(print_node_brief): Use wide-int interfaces.
(print_node): Likewise.
* read-rtl.c (validate_const_wide_int): New.
(read_rtx_code): Add CONST_WIDE_INT case.
* real.c: Include wide-int.h.
(real_to_integer2): Delete.
(real_to_integer): New function, returning a wide_int.
(real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
(ten_to_ptwo): Update call to real_from_integer.
(real_digit): Likewise.
* real.h: Include signop.h, wide-int.h and insn-modes.h.
(real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
(REAL_VALUE_TO_INT): Delete.
(real_to_integer): Declare a wide-int form.
(real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
* recog.c (const_int_operand): Improve comment.
(const_scalar_int_operand): New.
(const_double_operand): Add a separate definition for CONST_WIDE_INT.
* rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
(split_double): Likewise.
* rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
(rtx_size): Likewise.
(rtx_alloc_stat_v): New.
(rtx_alloc_stat): Now calls rtx_alloc_stat_v.
(cwi_output_hex): New.
(iterative_hash_rtx): Handle CONST_WIDE_INT.
(cwi_check_failed_bounds): New.
* rtl.def (CONST_WIDE_INT): New.
* rtl.h: Include <utility> and wide-int.h.
(struct hwivec_def): New.
(CWI_GET_NUM_ELEM): New.
(CWI_PUT_NUM_ELEM): New.
(struct rtx_def): Add num_elem and hwiv.
(CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
(CASE_CONST_UNIQUE): Likewise.
(CASE_CONST_ANY): Likewise.
(CONST_SCALAR_INT_P): Likewise.
(CONST_WIDE_INT_P): New.
(CWI_ELT): New.
(HWIVEC_CHECK): New.
(cwi_check_failed_bounds): New.
(CWI_ELT): New.
(HWIVEC_CHECK): New.
(CONST_WIDE_INT_VEC) New.
(CONST_WIDE_INT_NUNITS) New.
(CONST_WIDE_INT_ELT) New.
(rtx_mode_t): New type.
(wi::int_traits <rtx_mode_t>): New.
(wi::shwi): New.
(wi::min_value): New.
(wi::max_value): New.
(rtx_alloc_v) New.
(const_wide_int_alloc): New.
(immed_wide_int_const): New.
* sched-vis.c (print_value): Handle CONST_WIDE_INT.
* sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
* signop.h: New file.
* simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
(simplify_const_unary_operation): Use wide-int interfaces.
(simplify_binary_operation_1): Likewise.
(simplify_const_binary_operation): Likewise.
(simplify_const_relational_operation): Likewise.
(simplify_immed_subreg): Likewise.
* stmt.c (expand_case): Likewise.
* stor-layout.h (set_min_and_max_values_for_integral_type): Take a
signop rather than a bool.
* stor-layout.c (layout_type): Use wide-int interfaces.
(initialize_sizetypes): Update calls to
set_min_and_max_values_for_integral_type.
(set_min_and_max_values_for_integral_type): Take a signop rather
than a bool. Use wide-int interfaces.
(fixup_signed_type): Update accordingly. Remove
HOST_BITS_PER_DOUBLE_INT limit.
(fixup_unsigned_type): Likewise.
* system.h (STATIC_CONSTANT_P): New.
(STATIC_ASSERT): New.
* target.def (can_use_doloop_p): Take widest_ints rather than
double_ints.
* target.h: Include wide-int.h rather than double-int.h.
* targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
than double_ints.
* targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
rather than INT_CST_LT_UNSIGNED.
(can_use_doloop_if_innermost): Take widest_ints rather than
double_ints.
* tree-affine.c: Include wide-int-print.h.
(double_int_ext_for_comb): Delete.
(wide_int_ext_for_comb): New.
(aff_combination_zero): Use wide-int interfaces.
(aff_combination_const): Take a widest_int instead of a double_int.
(aff_combination_elt): Use wide-int interfaces.
(aff_combination_scale): Take a widest_int instead of a double_int.
(aff_combination_add_elt): Likewise.
(aff_combination_add_cst): Likewise.
(aff_combination_add): Use wide-int interfaces.
(aff_combination_convert): Likewise.
(tree_to_aff_combination): Likewise.
(add_elt_to_tree): Take a widest_int instead of a double_int.
(aff_combination_to_tree): Use wide-int interfaces.
(aff_combination_remove_elt): Likewise.
(aff_combination_add_product): Take a widest_int instead of
a double_int.
(aff_combination_mult): Use wide-int interfaces.
(aff_combination_expand): Likewise.
(double_int_constant_multiple_p): Delete.
(wide_int_constant_multiple_p): New.
(aff_combination_constant_multiple_p): Take a widest_int pointer
instead of a double_int pointer.
(print_aff): Use wide-int interfaces.
(get_inner_reference_aff): Take a widest_int pointer
instead of a double_int pointer.
(aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
* tree-affine.h: Include wide-int.h.
(struct aff_comb_elt): Change type of coef to widest_int.
(struct affine_tree_combination): Change type of offset to widest_int.
(double_int_ext_for_comb): Delete.
(wide_int_ext_for_comb): New.
(aff_combination_const): Use widest_int instead of double_int.
(aff_combination_scale): Likewise.
(aff_combination_add_elt): Likewise.
(aff_combination_constant_multiple_p): Likewise.
(get_inner_reference_aff): Likewise.
(aff_comb_cannot_overlap_p): Likewise.
(aff_combination_zero_p): Use wide-int interfaces.
* tree.c: Include tree.h.
(init_ttree): Use make_int_cst.
(tree_code_size): Removed code for INTEGER_CST case.
(tree_size): Add INTEGER_CST case.
(make_node_stat): Update comment.
(get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
(build_int_cst_type): Use wide-int interfaces.
(double_int_to_tree): Likewise.
(double_int_fits_to_tree_p): Delete.
(force_fit_type_double): Delete.
(force_fit_type): New.
(int_cst_hash_hash): Use wide-int interfaces.
(int_cst_hash_eq): Likewise.
(build_int_cst_wide): Delete.
(wide_int_to_tree): New.
(cache_integer_cst): Use wide-int interfaces.
(build_low_bits_mask): Likewise.
(cst_and_fits_in_hwi): Likewise.
(real_value_from_int_cst): Likewise.
(make_int_cst_stat): New.
(integer_zerop): Use wide_int interfaces.
(integer_onep): Likewise.
(integer_all_onesp): Likewise.
(integer_pow2p): Likewise.
(integer_nonzerop): Likewise.
(tree_log2): Likewise.
(tree_floor_log2): Likewise.
(tree_ctz): Likewise.
(int_size_in_bytes): Likewise.
(mem_ref_offset): Return an offset_int rather than a double_int.
(build_type_attribute_qual_variant): Use wide_int interfaces.
(type_hash_eq): Likewise
(tree_int_cst_equal): Likewise.
(tree_int_cst_lt): Delete.
(tree_int_cst_compare): Likewise.
(tree_fits_shwi_p): Use wide_int interfaces.
(tree_fits_uhwi_p): Likewise.
(tree_int_cst_sign_bit): Likewise.
(tree_int_cst_sgn): Likewise.
(tree_int_cst_min_precision): Take a signop rather than a bool.
(simple_cst_equal): Use wide_int interfaces.
(compare_tree_int): Likewise.
(iterative_hash_expr): Likewise.
(int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
INT_CST_LT.
(get_type_static_bounds): Use wide_int interfaces.
(tree_int_cst_elt_check_failed): New.
(build_common_tree_nodes): Reordered to set prec before filling in
value.
(int_cst_value): Check cst_and_fits_in_hwi.
(widest_int_cst_value): Use wide_int interfaces.
(upper_bound_in_type): Likewise.
(lower_bound_in_type): Likewise.
(num_ending_zeros): Likewise.
(drop_tree_overflow): Likewise.
* tree-call-cdce.c (check_pow): Update call to real_from_integer.
(gen_conditions_for_pow_cst_base): Likewise.
* tree-cfg.c: Include wide-int.h and wide-int-print.h.
(group_case_labels_stmt): Use wide-int interfaces.
(verify_gimple_assign_binary): Likewise.
(print_loop): Likewise.
* tree-chrec.c (tree_fold_binomial): Likewise.
* tree-core.h (struct tree_base): Add int_length.
(struct tree_int_cst): Change rep of value.
* tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
(dr_may_alias_p): Likewise.
(max_stmt_executions_tree): Likewise.
* tree.def (INTEGER_CST): Update comment.
* tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
* tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
* tree-dump.c: Include wide-int.h and wide-int-print.h.
(dequeue_and_dump): Use wide-int interfaces.
* tree.h: Include wide-int.h.
(NULL_TREE): Moved to earlier loc in file.
(TREE_INT_CST_ELT_CHECK): New.
(tree_int_cst_elt_check_failed): New.
(TYPE_SIGN): New.
(TREE_INT_CST): Delete.
(TREE_INT_CST_LOW): Use wide-int interfaces.
(TREE_INT_CST_HIGH): Delete.
(TREE_INT_CST_NUNITS): New.
(TREE_INT_CST_EXT_NUNITS): Likewise.
(TREE_INT_CST_OFFSET_NUNITS): Likewise.
(TREE_INT_CST_ELT): Likewise.
(INT_CST_LT): Delete.
(tree_int_cst_elt_check): New (two forms).
(type_code_size): Update comment.
(make_int_cst_stat, make_int_cst): New.
(tree_to_double_int): Delete.
(double_int_fits_to_tree_p): Delete.
(force_fit_type_double): Delete.
(build_int_cstu): Replace with out-of-line function.
(build_int_cst_wide): Delete.
(tree_int_cst_lt): Define inline.
(tree_int_cst_le): New.
(tree_int_cst_compare): Define inline.
(tree_int_cst_min_precision): Take a signop rather than a bool.
(wi::int_traits <const_tree>): New.
(wi::int_traits <tree>): New.
(wi::extended_tree): New.
(wi::int_traits <wi::extended_tree>): New.
(wi::to_widest): New.
(wi::to_offset): New.
(wi::fits_to_tree_p): New.
(wi::min_value): New.
(wi::max_value): New.
* tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
(copy_tree_body_r): Likewise.
* tree-object-size.c (compute_object_offset): Likewise.
(addr_object_size): Likewise.
* tree-predcom.c: Include wide-int-print.h.
(struct dref_d): Change type of offset to widest_int.
(dump_dref): Call wide-int printer.
(aff_combination_dr_offset): Use wide-int interfaces.
(determine_offset): Take a widest_int pointer rather than a
double_int pointer.
(split_data_refs_to_components): Use wide-int interfaces.
(suitable_component_p): Likewise.
(order_drefs): Likewise.
(add_ref_to_chain): Likewise.
(valid_initializer_p): Likewise.
(determine_roots_comp): Likewise.
* tree-pretty-print.c: Include wide-int-print.h.
(dump_generic_node): Use wide-int interfaces.
* tree-sra.c (sra_ipa_modify_expr): Likewise.
* tree-ssa-address.c (addr_for_mem_ref): Likewise.
(move_fixed_address_to_symbol): Likewise.
(move_hint_to_base): Likewise.
(move_pointer_to_base): Likewise.
(move_variant_to_index): Likewise.
(most_expensive_mult_to_index): Likewise.
(addr_to_parts): Likewise.
(copy_ref_info): Likewise.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
(indirect_refs_may_alias_p): Likewise.
(stmt_kills_ref_p_1): Likewise.
* tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
* tree-ssa-ccp.c: Update comment at top of file. Include
wide-int-print.h.
(struct prop_value_d): Change type of mask to widest_int.
(extend_mask): New function.
(dump_lattice_value): Use wide-int interfaces.
(get_default_value): Likewise.
(set_constant_value): Likewise.
(set_value_varying): Likewise.
(valid_lattice_transition): Likewise.
(set_lattice_value): Likewise.
(value_to_double_int): Delete.
(value_to_wide_int): New.
(get_value_from_alignment): Use wide-int interfaces.
(get_value_for_expr): Likewise.
(do_dbg_cnt): Likewise.
(ccp_finalize): Likewise.
(ccp_lattice_meet): Likewise.
(bit_value_unop_1): Use widest_ints rather than double_ints.
(bit_value_binop_1): Likewise.
(bit_value_unop): Use wide-int interfaces.
(bit_value_binop): Likewise.
(bit_value_assume_aligned): Likewise.
(evaluate_stmt): Likewise.
(ccp_fold_stmt): Likewise.
(visit_cond_stmt): Likewise.
(ccp_visit_stmt): Likewise.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
(constant_pointer_difference): Likewise.
(associate_pointerplus): Likewise.
(combine_conversions): Likewise.
* tree-ssa-loop.h: Include wide-int.h.
(struct tree_niter_desc): Change type of max to widest_int.
* tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
(remove_redundant_iv_tests): Likewise.
(canonicalize_loop_induction_variables): Likewise.
* tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
(constant_multiple_of): Take a widest_int pointer instead of
a double_int pointer.
(get_computation_aff): Use wide-int interfaces.
(ptr_difference_cost): Likewise.
(difference_cost): Likewise.
(get_loop_invariant_expr_id): Likewise.
(get_computation_cost_at): Likewise.
(iv_elimination_compare_lt): Likewise.
(may_eliminate_iv): Likewise.
* tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
instead of double_int.
(max_loop_iterations): Likewise.
(max_stmt_executions): Likewise.
(estimated_stmt_executions): Likewise.
* tree-ssa-loop-niter.c: Include wide-int-print.h.
(split_to_var_and_offset): Use wide-int interfaces.
(determine_value_range): Likewise.
(bound_difference_of_offsetted_base): Likewise.
(bounds_add): Take a widest_int instead of a double_int.
(number_of_iterations_ne_max): Use wide-int interfaces.
(number_of_iterations_ne): Likewise.
(number_of_iterations_lt_to_ne): Likewise.
(assert_loop_rolls_lt): Likewise.
(number_of_iterations_lt): Likewise.
(number_of_iterations_le): Likewise.
(number_of_iterations_cond): Likewise.
(number_of_iterations_exit): Likewise.
(finite_loop_p): Likewise.
(derive_constant_upper_bound_assign): Likewise.
(derive_constant_upper_bound): Return a widest_int.
(derive_constant_upper_bound_ops): Likewise.
(do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
(record_estimate): Take a widest_int rather than a double_int.
(record_nonwrapping_iv): Use wide-int interfaces.
(double_int_cmp): Delete.
(wide_int_cmp): New.
(bound_index): Take a widest_int rather than a double_int.
(discover_iteration_bound_by_body_walk): Use wide-int interfaces.
(maybe_lower_iteration_bound): Likewise.
(estimate_numbers_of_iterations_loop): Likewise.
(estimated_loop_iterations): Take a widest_int pointer than than
a double_int pointer.
(estimated_loop_iterations_int): Use wide-int interfaces.
(max_loop_iterations): Take a widest_int pointer than than
a double_int pointer.
(max_loop_iterations_int): Use wide-int interfaces.
(max_stmt_executions): Take a widest_int pointer than than
a double_int pointer.
(estimated_stmt_executions): Likewise.
(n_of_executions_at_most): Use wide-int interfaces.
(scev_probably_wraps_p): Likewise.
* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
to real_to_integer.
* tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
interfaces.
* tree-ssanames.c (set_range_info): Use wide_int_refs rather than
double_ints. Adjust for trailing_wide_ints <3> representation.
(set_nonzero_bits): Likewise.
(get_range_info): Return wide_ints rather than double_ints.
Adjust for trailing_wide_ints <3> representation.
(get_nonzero_bits): Likewise.
(duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
representation.
* tree-ssanames.h (struct range_info_def): Replace min, max and
nonzero_bits with a trailing_wide_ints <3>.
(set_range_info): Use wide_int_refs rather than double_ints.
(set_nonzero_bits): Likewise.
(get_range_info): Return wide_ints rather than double_ints.
(get_nonzero_bits): Likewise.
* tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
* tree-ssa-pre.c (phi_translate_1): Likewise.
* tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
(acceptable_pow_call): Likewise.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
interfaces.
(vn_reference_fold_indirect): Likewise.
(vn_reference_maybe_forwprop_address): Likewise.
(valueize_refs_1): Likewise.
* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
* tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
tree_int_cst_lt and tree_int_cst_le.
* tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
interfaces.
(streamer_alloc_tree): Likewise.
* tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
(streamer_write_tree_header): Likewise.
(streamer_write_integer_cst): Likewise.
* tree-switch-conversion.c (emit_case_bit_tests): Likewise.
(build_constructors): Likewise.
(array_value_type): Likewise.
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
(vect_check_gather): Likewise.
* tree-vect-generic.c (build_replicated_const): Likewise.
(expand_vector_divmod): Likewise.
* tree-vect-loop.c (vect_transform_loop): Likewise.
* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
(vect_do_peeling_for_alignment): Likewise.
* tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
* tree-vrp.c: Include wide-int.h.
(operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
(extract_range_from_assert): Use wide-int interfaces.
(vrp_int_const_binop): Likewise.
(zero_nonzero_bits_from_vr): Take wide_int pointers rather than
double_int pointers.
(ranges_from_anti_range): Use wide-int interfaces.
(quad_int_cmp): Delete.
(quad_int_pair_sort): Likewise.
(extract_range_from_binary_expr_1): Use wide-int interfaces.
(extract_range_from_unary_expr_1): Likewise.
(adjust_range_with_scev): Likewise.
(masked_increment): Take and return wide_ints rather than double_ints.
(register_edge_assert_for_2): Use wide-int interfaces.
(check_array_ref): Likewise.
(search_for_addr_array): Likewise.
(maybe_set_nonzero_bits): Likewise.
(union_ranges): Pass an integer of the correct type instead of
using integer_one_node.
(intersect_ranges): Likewise.
(simplify_truth_ops_using_ranges): Likewise.
(simplify_bit_ops_using_ranges): Use wide-int interfaces.
(range_fits_type_p): Likewise.
(simplify_cond_using_ranges): Likewise. Take a signop rather than
a bool.
(simplify_conversion_using_ranges): Use wide-int interfaces.
(simplify_float_conversion_using_ranges): Likewise.
(vrp_finalize): Likewise.
* value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
(gimple_stringops_transform): Likewise.
* varasm.c (decode_addr_const): Likewise.
(const_hash_1): Likewise.
(const_rtx_hash_1): Likewise
(output_constant): Likewise.
(array_size_for_constructor): Likewise.
(output_constructor_regular_field): Likewise.
(output_constructor_bitfield): Likewise.
* var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
* mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
GENERATOR_FILEs.
* gencheck.c: Define BITS_PER_UNIT.
* wide-int.cc: New.
* wide-int.h: New.
* wide-int-print.cc: New.
* wide-int-print.h: New.
2014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config/avr/avr.c (avr_can_eliminate): Mark unused argument.

View File

@ -1,899 +0,0 @@
2013-11-21 Kenneth Zadeck <zadeck@naturalbridge.com>
Mike Stump <mikestump@comcast.net>
Richard Sandiford <rdsandiford@googlemail.com>
Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* alias.c (ao_ref_from_mem): Use wide-int interfaces.
(rtx_equal_for_memref_p): Update comment.
(adjust_offset_for_component_ref): Use wide-int interfaces.
* builtins.c (get_object_alignment_2): Likewise.
(c_readstr): Likewise.
(target_char_cast): Add comment.
(determine_block_size): Use wide-int interfaces.
(expand_builtin_signbit): Likewise.
(fold_builtin_int_roundingfn): Likewise.
(fold_builtin_bitop): Likewise.
(fold_builtin_bswap): Likewise.
(fold_builtin_logarithm): Use signop.
(fold_builtin_pow): Likewise.
(fold_builtin_memory_op): Use wide-int interfaces.
(fold_builtin_object_size): Likewise.
* cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
nb_iterations_estimate.
(record_niter_bound): Use wide-int interfaces.
(get_estimated_loop_iterations_int): Likewise.
(get_estimated_loop_iterations): Likewise.
(get_max_loop_iterations): Likewise.
* cfgloop.h: Include wide-int.h.
(struct nb_iter_bound): Change bound to widest_int.
(struct loop): Change nb_iterations_upper_bound and
nb_iterations_estimate to widest_int.
(record_niter_bound): Switch to use widest_int.
(get_estimated_loop_iterations): Likewise.
(get_max_loop_iterations): Likewise.
(gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
update for wide-int.
* cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
* combine.c (try_combine): Likewise.
(subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
* config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
interfaces.
(aarch64_float_const_representable_p): Likewise.
* config/arc/arc.c: Include wide-int.h.
(arc_can_use_doloop_p): Use wide-int interfaces.
* config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
(vfp3_const_double_index): Likewise.
* config/avr/avr.c (avr_out_round): Likewise.
(avr_fold_builtin): Likewise.
* config/bfin/bfin.c (bfin_local_alignment): Likewise.
(bfin_can_use_doloop_p): Likewise.
* config/darwin.c (darwin_mergeable_constant_section): Likewise.
(machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
* config/i386/i386.c: Include wide-int.h.
(ix86_data_alignment): Use wide-int interfaces.
(ix86_local_alignment): Likewise.
(ix86_emit_swsqrtsf): Update real_from_integer.
* config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
* config/nds32/nds32.c (nds32_insert_attributes): Likewise.
* config/rs6000/predicates.md (any_operand): Add const_wide_int.
(zero_constant): Likewise.
(input_operand): Likewise.
(splat_input_operand): Likewise.
(non_logical_cint_operand): Change const_double to const_wide_int.
* config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
(easy_altivec_constant): Remove comment.
(paired_expand_vector_init): Use CONSTANT_P.
(rs6000_legitimize_address): Handle CONST_WIDE_INT.
(rs6000_emit_move): Update checks.
(rs6000_aggregate_candidate): Use wide-int interfaces.
(rs6000_expand_ternop_builtin): Likewise.
(rs6000_output_move_128bit): Handle CONST_WIDE_INT.
(rs6000_assemble_integer): Likewise.
(rs6000_hash_constant): Likewise.
(output_toc): Likewise.
(rs6000_rtx_costs): Likewise.
(rs6000_emit_swrsqrt); Update call to real_from_integer.
* config/rs6000/rs6000-c.c: Include wide-int.h.
(altivec_resolve_overloaded_builtin): Use wide-int interfaces.
* config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
* config/rs6000/rs6000.md: Use const_scalar_int_operand.
Handle CONST_WIDE_INT.
* config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
Use tree_fits_uhwi_p.
* config/sparc/sparc.c: Include wide-int.h.
(sparc_fold_builtin): Use wide-int interfaces.
* config/vax/vax.c: Include wide-int.h.
(vax_float_literal): Use real_from_integer.
* coretypes.h (struct hwivec_def): New.
(hwivec): New.
(const_hwivec): New.
* cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
(equiv_constant): Handle CONST_WIDE_INT.
* cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
(cselib_hash_rtx): Handle CONST_WIDE_INT.
* dbxout.c (stabstr_U): Use wide-int interfaces.
(dbxout_type): Update to use cst_fits_shwi_p.
* defaults.h (LOG2_BITS_PER_UNIT): Define.
(TARGET_SUPPORTS_WIDE_INT): Add default.
* dfp.c: Include wide-int.h.
(decimal_real_to_integer2): Use wide-int interfaces and rename to
decimal_real_to_integer.
* dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
decimal_real_to_integer.
* doc/generic.texi (Constant expressions): Update for wide_int.
* doc/rtl.texi (const_double): Likewise.
(const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
(CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
* doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
(REAL_VALUE_FROM_INT): Remove.
(TARGET_SUPPORTS_WIDE_INT): New.
* doc/tm.texi: Regenerate.
* dojump.c (prefer_and_bit_test): Use wide-int interfaces.
* double-int.h: Include wide-int.h.
(struct wi::int_traits): New.
* dwarf2out.c (get_full_len): New.
(dw_val_equal_p): Add case dw_val_class_wide_int.
(size_of_loc_descr): Likewise.
(output_loc_operands): Likewise.
(insert_double): Remove.
(insert_wide_int): New.
(add_AT_wide): New.
(print_die): Add case dw_val_class_wide_int.
(attr_checksum): Likewise.
(attr_checksum_ordered): Likewise.
(same_dw_val_p): Likewise.
(size_of_die): Likewise.
(value_format): Likewise.
(output_die): Likewise.
(double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
Use wide-int.
(clz_loc_descriptor): Use wide-int interfaces.
(mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
(loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
(round_up_to_align): Use wide-int interfaces.
(field_byte_offset): Likewise.
(insert_double): Rename to insert_wide_int. Use wide-int interfaces.
(add_const_value_attribute): Handle CONST_WIDE_INT. Update
CONST_DOUBLE handling. Use wide-int interfaces.
(add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
(gen_enumeration_type_die): Use add_AT_wide.
(hash_loc_operands): Add case dw_val_class_wide_int.
(compare_loc_operands): Likewise.
* dwarf2out.h: Include wide-int.h.
(wide_int_ptr): New.
(enum dw_val_class): Add dw_val_class_wide_int.
(struct dw_val_struct): Add val_wide.
* emit-rtl.c (const_wide_int_htab): New.
(const_wide_int_htab_hash): New.
(const_wide_int_htab_eq): New.
(lookup_const_wide_int): New.
(const_double_htab_hash): Use wide-int interfaces.
(const_double_htab_eq): Likewise.
(rtx_to_double_int): Conditionally compile for wide-int.
(immed_double_int_const): Rename to immed_wide_int_const and
update for wide-int.
(immed_double_const): Conditionally compile for wide-int.
(init_emit_once): Use wide-int interfaces.
* explow.c (plus_constant): Likewise.
* expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
(lshift_value): Use wide-int interfaces.
(expand_mult): Likewise.
(choose_multiplier): Likewise.
(expand_smod_pow2): Likewise.
(make_tree): Likewise.
* expr.c (convert_modes): Consolidate handling of constants.
Use wide-int interfaces.
(emit_group_load_1): Add note.
(store_expr): Update comment.
(get_inner_reference): Use wide-int interfaces.
(expand_constructor): Update comment.
(expand_expr_real_2): Use wide-int interfaces.
(expand_expr_real_1): Likewise.
(reduce_to_bit_field_precision): Likewise.
(const_vector_from_tree): Likewise.
* final.c: Include wide-int-print.h.
(output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
* fixed-value.c: Include wide-int.h.
(fixed_from_string): Use wide-int interfaces.
(fixed_to_decimal): Likewise.
(fixed_convert_from_real): Likewise.
(real_convert_from_fixed): Likewise.
* fold-const.h (mem_ref_offset): Return an offset_int.
(div_if_zero_remainder): Remove code parameter.
* fold-const.c (div_if_zero_remainder): Remove code parameter.
Use wide-int interfaces.
(may_negate_without_overflow_p): Use wide-int interfaces.
(negate_expr_p): Likewise.
(fold_negate_expr): Likewise.
(int_const_binop_1): Likewise.
(const_binop): Likewise.
(fold_convert_const_int_from_int): Likewise.
(fold_convert_const_int_from_real): Likewise.
(fold_convert_const_int_from_fixed): Likewise.
(fold_convert_const_fixed_from_int): Likewise.
(all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
(sign_bit_p): Use wide-int interfaces.
(make_range_step): Likewise.
(build_range_check): Likewise. Pass an integer of the correct type
instead of using integer_one_node.
(range_predecessor): Pass an integer of the correct type instead
of using integer_one_node.
(range_successor): Likewise.
(merge_ranges): Likewise.
(unextend): Use wide-int interfaces.
(extract_muldiv_1): Likewise.
(fold_div_compare): Likewise.
(fold_single_bit_test): Likewise.
(fold_sign_changed_comparison): Likewise.
(try_move_mult_to_index): Update calls to div_if_zero_remainder.
(fold_plusminus_mult_expr): Use wide-int interfaces.
(native_encode_int): Likewise.
(native_interpret_int): Likewise.
(fold_unary_loc): Likewise.
(pointer_may_wrap_p): Likewise.
(size_low_cst): Likewise.
(mask_with_tz): Likewise.
(fold_binary_loc): Likewise.
(fold_ternary_loc): Likewise.
(multiple_of_p): Likewise.
(tree_call_nonnegative_warnv_p): Update calls to
tree_int_cst_min_precision and real_from_integer.
(fold_negate_const): Use wide-int interfaces.
(fold_abs_const): Likewise.
(fold_relational_const): Use tree_int_cst_lt.
(round_up_loc): Use wide-int interfaces.
* genemit.c (gen_exp): Add CONST_WIDE_INT case.
* gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
* gengtype.c: Remove include of double-int.h.
(do_typedef): Use wide-int interfaces.
(open_base_files): Add wide-int.h.
(main): Add offset_int and widest_int typedefs.
* gengtype-lex.l: Handle "^".
(CXX_KEYWORD): Add "static".
* gengtype-parse.c (require3): New.
(require_template_declaration): Handle constant template arguments
and nested templates.
* gengtype-state.c: Don't include "double-int.h".
* genpreds.c (write_one_predicate_function): Update comment.
(write_tm_constrs_h): Add check for hval and lval use in
CONST_WIDE_INT.
* genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
(add_to_sequence): Likewise.
* gensupport.c (struct std_pred_table): Add const_scalar_int_operand
and const_double_operand.
* gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
interfaces.
* gimple-fold.c (get_base_constructor): Likewise.
(fold_array_ctor_reference): Likewise.
(fold_nonarray_ctor_reference): Likewise.
(fold_const_aggregate_ref_1): Likewise.
(gimple_val_nonnegative_real_p): Likewise.
(gimple_fold_indirect_ref): Likewise.
* gimple-pretty-print.c (dump_ssaname_info): Likewise.
* gimple-ssa-strength-reduction.c: Include wide-int-print.h.
(struct slsr_cand_d): Change index to be widest_int.
(struct incr_info_d): Change incr to be widest_int.
(alloc_cand_and_find_basis): Use wide-int interfaces.
(slsr_process_phi): Likewise.
(backtrace_base_for_ref): Likewise. Return a widest_int.
(restructure_reference): Take a widest_int instead of a double_int.
(slsr_process_ref): Use wide-int interfaces.
(create_mul_ssa_cand): Likewise.
(create_mul_imm_cand): Likewise.
(create_add_ssa_cand): Likewise.
(create_add_imm_cand): Take a widest_int instead of a double_int.
(slsr_process_add): Use wide-int interfaces.
(slsr_process_cast): Likewise.
(slsr_process_copy): Likewise.
(dump_candidate): Likewise.
(dump_incr_vec): Likewise.
(replace_ref): Likewise.
(cand_increment): Likewise. Return a widest_int.
(cand_abs_increment): Likewise.
(replace_mult_candidate): Take a widest_int instead of a double_int.
(replace_unconditional_candidate): Use wide-int interfaces.
(incr_vec_index): Take a widest_int instead of a double_int.
(create_add_on_incoming_edge): Likewise.
(create_phi_basis): Use wide-int interfaces.
(replace_conditional_candidate): Likewise.
(record_increment): Take a widest_int instead of a double_int.
(record_phi_increments): Use wide-int interfaces.
(phi_incr_cost): Take a widest_int instead of a double_int.
(lowest_cost_path): Likewise.
(total_savings): Likewise.
(analyze_increments): Use wide-int interfaces.
(ncd_with_phi): Take a widest_int instead of a double_int.
(ncd_of_cand_and_phis): Likewise.
(nearest_common_dominator_for_cands): Likewise.
(insert_initializers): Use wide-int interfaces.
(all_phi_incrs_profitable): Likewise.
(replace_one_candidate): Likewise.
(replace_profitable_candidates): Likewise.
* godump.c: Include wide-int-print.h.
(go_output_typedef): Use wide-int interfaces.
* graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
* graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
(build_loop_iteration_domains): Likewise.
* hooks.h: Include wide-int.h rather than double-int.h.
(hook_bool_dint_dint_uint_bool_true): Delete.
(hook_bool_wint_wint_uint_bool_true): Declare.
* hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
(hook_bool_wint_wint_uint_bool_true): New.
* internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
interfaces.
(ubsan_expand_si_overflow_mul_check): Likewise.
* ipa-devirt.c (get_polymorphic_call_info): Likewise.
* ipa-prop.c (compute_complex_assign_jump_func): Likewise.
(get_ancestor_addr_info): Likewise.
(ipa_modify_call_arguments): Likewise.
* loop-doloop.c (doloop_modify): Likewise.
(doloop_optimize): Likewise.
* loop-iv.c (iv_number_of_iterations): Likewise.
* loop-unroll.c (decide_unroll_constant_iterations): Likewise.
(unroll_loop_constant_iterations): Likewise.
(decide_unroll_runtime_iterations): Likewise.
(unroll_loop_runtime_iterations): Likewise.
(decide_peel_simple): Likewise.
(decide_unroll_stupid): Likewise.
* lto-streamer-in.c (streamer_read_wi): Add.
(input_cfg): Use wide-int interfaces.
(lto_input_tree_1): Likewise.
* lto-streamer-out.c (streamer_write_wi): Add.
(hash_tree): Use wide-int interfaces.
(output_cfg): Likewise.
* Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
(GTFILES): Add wide-int.h and signop.h.
(TAGS): Look for .cc files too.
* omp-low.c (scan_omp_1_op): Use wide-int interfaces.
* optabs.c (expand_subword_shift): Likewise.
(expand_doubleword_shift): Likewise.
(expand_absneg_bit): Likewise.
(expand_copysign_absneg): Likewise.
(expand_copysign_bit): Likewise.
* postreload.c (reload_cse_simplify_set): Likewise.
* predict.c (predict_iv_comparison): Likewise.
* pretty-print.h: Include wide-int-print.h.
(pp_wide_int) New.
* print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
* print-tree.c: Include wide-int-print.h.
(print_node_brief): Use wide-int interfaces.
(print_node): Likewise.
* read-rtl.c (validate_const_wide_int): New.
(read_rtx_code): Add CONST_WIDE_INT case.
* real.c: Include wide-int.h.
(real_to_integer2): Delete.
(real_to_integer): New function, returning a wide_int.
(real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
(ten_to_ptwo): Update call to real_from_integer.
(real_digit): Likewise.
* real.h: Include signop.h, wide-int.h and insn-modes.h.
(real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
(REAL_VALUE_TO_INT): Delete.
(real_to_integer): Declare a wide-int form.
(real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
* recog.c (const_int_operand): Improve comment.
(const_scalar_int_operand): New.
(const_double_operand): Add a separate definition for CONST_WIDE_INT.
* rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
(split_double): Likewise.
* rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
(rtx_size): Likewise.
(rtx_alloc_stat_v): New.
(rtx_alloc_stat): Now calls rtx_alloc_stat_v.
(cwi_output_hex): New.
(iterative_hash_rtx): Handle CONST_WIDE_INT.
(cwi_check_failed_bounds): New.
* rtl.def (CONST_WIDE_INT): New.
* rtl.h: Include <utility> and wide-int.h.
(struct hwivec_def): New.
(CWI_GET_NUM_ELEM): New.
(CWI_PUT_NUM_ELEM): New.
(struct rtx_def): Add num_elem and hwiv.
(CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
(CASE_CONST_UNIQUE): Likewise.
(CASE_CONST_ANY): Likewise.
(CONST_SCALAR_INT_P): Likewise.
(CONST_WIDE_INT_P): New.
(CWI_ELT): New.
(HWIVEC_CHECK): New.
(cwi_check_failed_bounds): New.
(CWI_ELT): New.
(HWIVEC_CHECK): New.
(CONST_WIDE_INT_VEC) New.
(CONST_WIDE_INT_NUNITS) New.
(CONST_WIDE_INT_ELT) New.
(rtx_mode_t): New type.
(wi::int_traits <rtx_mode_t>): New.
(wi::shwi): New.
(wi::min_value): New.
(wi::max_value): New.
(rtx_alloc_v) New.
(const_wide_int_alloc): New.
(immed_wide_int_const): New.
* sched-vis.c (print_value): Handle CONST_WIDE_INT.
* sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
* signop.h: New file.
* simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
(simplify_const_unary_operation): Use wide-int interfaces.
(simplify_binary_operation_1): Likewise.
(simplify_const_binary_operation): Likewise.
(simplify_const_relational_operation): Likewise.
(simplify_immed_subreg): Likewise.
* stmt.c (expand_case): Likewise.
* stor-layout.h (set_min_and_max_values_for_integral_type): Take a
signop rather than a bool.
* stor-layout.c (layout_type): Use wide-int interfaces.
(initialize_sizetypes): Update calls to
set_min_and_max_values_for_integral_type.
(set_min_and_max_values_for_integral_type): Take a signop rather
than a bool. Use wide-int interfaces.
(fixup_signed_type): Update accordingly. Remove
HOST_BITS_PER_DOUBLE_INT limit.
(fixup_unsigned_type): Likewise.
* system.h (STATIC_CONSTANT_P): New.
(STATIC_ASSERT): New.
* target.def (can_use_doloop_p): Take widest_ints rather than
double_ints.
* target.h: Include wide-int.h rather than double-int.h.
* targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
than double_ints.
* targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
rather than INT_CST_LT_UNSIGNED.
(can_use_doloop_if_innermost): Take widest_ints rather than
double_ints.
* tree-affine.c: Include wide-int-print.h.
(double_int_ext_for_comb): Delete.
(wide_int_ext_for_comb): New.
(aff_combination_zero): Use wide-int interfaces.
(aff_combination_const): Take a widest_int instead of a double_int.
(aff_combination_elt): Use wide-int interfaces.
(aff_combination_scale): Take a widest_int instead of a double_int.
(aff_combination_add_elt): Likewise.
(aff_combination_add_cst): Likewise.
(aff_combination_add): Use wide-int interfaces.
(aff_combination_convert): Likewise.
(tree_to_aff_combination): Likewise.
(add_elt_to_tree): Take a widest_int instead of a double_int.
(aff_combination_to_tree): Use wide-int interfaces.
(aff_combination_remove_elt): Likewise.
(aff_combination_add_product): Take a widest_int instead of
a double_int.
(aff_combination_mult): Use wide-int interfaces.
(aff_combination_expand): Likewise.
(double_int_constant_multiple_p): Delete.
(wide_int_constant_multiple_p): New.
(aff_combination_constant_multiple_p): Take a widest_int pointer
instead of a double_int pointer.
(print_aff): Use wide-int interfaces.
(get_inner_reference_aff): Take a widest_int pointer
instead of a double_int pointer.
(aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
* tree-affine.h: Include wide-int.h.
(struct aff_comb_elt): Change type of coef to widest_int.
(struct affine_tree_combination): Change type of offset to widest_int.
(double_int_ext_for_comb): Delete.
(wide_int_ext_for_comb): New.
(aff_combination_const): Use widest_int instead of double_int.
(aff_combination_scale): Likewise.
(aff_combination_add_elt): Likewise.
(aff_combination_constant_multiple_p): Likewise.
(get_inner_reference_aff): Likewise.
(aff_comb_cannot_overlap_p): Likewise.
(aff_combination_zero_p): Use wide-int interfaces.
* tree.c: Include tree.h.
(init_ttree): Use make_int_cst.
(tree_code_size): Removed code for INTEGER_CST case.
(tree_size): Add INTEGER_CST case.
(make_node_stat): Update comment.
(get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
(build_int_cst_type): Use wide-int interfaces.
(double_int_to_tree): Likewise.
(double_int_fits_to_tree_p): Delete.
(force_fit_type_double): Delete.
(force_fit_type): New.
(int_cst_hash_hash): Use wide-int interfaces.
(int_cst_hash_eq): Likewise.
(build_int_cst_wide): Delete.
(wide_int_to_tree): New.
(cache_integer_cst): Use wide-int interfaces.
(build_low_bits_mask): Likewise.
(cst_and_fits_in_hwi): Likewise.
(real_value_from_int_cst): Likewise.
(make_int_cst_stat): New.
(integer_zerop): Use wide_int interfaces.
(integer_onep): Likewise.
(integer_all_onesp): Likewise.
(integer_pow2p): Likewise.
(integer_nonzerop): Likewise.
(tree_log2): Likewise.
(tree_floor_log2): Likewise.
(tree_ctz): Likewise.
(int_size_in_bytes): Likewise.
(mem_ref_offset): Return an offset_int rather than a double_int.
(build_type_attribute_qual_variant): Use wide_int interfaces.
(type_hash_eq): Likewise
(tree_int_cst_equal): Likewise.
(tree_int_cst_lt): Delete.
(tree_int_cst_compare): Likewise.
(tree_fits_shwi_p): Use wide_int interfaces.
(tree_fits_uhwi_p): Likewise.
(tree_int_cst_sign_bit): Likewise.
(tree_int_cst_sgn): Likewise.
(tree_int_cst_min_precision): Take a signop rather than a bool.
(simple_cst_equal): Use wide_int interfaces.
(compare_tree_int): Likewise.
(iterative_hash_expr): Likewise.
(int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
INT_CST_LT.
(get_type_static_bounds): Use wide_int interfaces.
(tree_int_cst_elt_check_failed): New.
(build_common_tree_nodes): Reordered to set prec before filling in
value.
(int_cst_value): Check cst_and_fits_in_hwi.
(widest_int_cst_value): Use wide_int interfaces.
(upper_bound_in_type): Likewise.
(lower_bound_in_type): Likewise.
(num_ending_zeros): Likewise.
(drop_tree_overflow): Likewise.
* tree-call-cdce.c (check_pow): Update call to real_from_integer.
(gen_conditions_for_pow_cst_base): Likewise.
* tree-cfg.c: Include wide-int.h and wide-int-print.h.
(group_case_labels_stmt): Use wide-int interfaces.
(verify_gimple_assign_binary): Likewise.
(print_loop): Likewise.
* tree-chrec.c (tree_fold_binomial): Likewise.
* tree-core.h (struct tree_base): Add int_length.
(struct tree_int_cst): Change rep of value.
* tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
(dr_may_alias_p): Likewise.
(max_stmt_executions_tree): Likewise.
* tree.def (INTEGER_CST): Update comment.
* tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
* tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
* tree-dump.c: Include wide-int.h and wide-int-print.h.
(dequeue_and_dump): Use wide-int interfaces.
* tree.h: Include wide-int.h.
(NULL_TREE): Moved to earlier loc in file.
(TREE_INT_CST_ELT_CHECK): New.
(tree_int_cst_elt_check_failed): New.
(TYPE_SIGN): New.
(TREE_INT_CST): Delete.
(TREE_INT_CST_LOW): Use wide-int interfaces.
(TREE_INT_CST_HIGH): Delete.
(TREE_INT_CST_NUNITS): New.
(TREE_INT_CST_EXT_NUNITS): Likewise.
(TREE_INT_CST_OFFSET_NUNITS): Likewise.
(TREE_INT_CST_ELT): Likewise.
(INT_CST_LT): Delete.
(tree_int_cst_elt_check): New (two forms).
(type_code_size): Update comment.
(make_int_cst_stat, make_int_cst): New.
(tree_to_double_int): Delete.
(double_int_fits_to_tree_p): Delete.
(force_fit_type_double): Delete.
(build_int_cstu): Replace with out-of-line function.
(build_int_cst_wide): Delete.
(tree_int_cst_lt): Define inline.
(tree_int_cst_le): New.
(tree_int_cst_compare): Define inline.
(tree_int_cst_min_precision): Take a signop rather than a bool.
(wi::int_traits <const_tree>): New.
(wi::int_traits <tree>): New.
(wi::extended_tree): New.
(wi::int_traits <wi::extended_tree>): New.
(wi::to_widest): New.
(wi::to_offset): New.
(wi::fits_to_tree_p): New.
(wi::min_value): New.
(wi::max_value): New.
* tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
(copy_tree_body_r): Likewise.
* tree-object-size.c (compute_object_offset): Likewise.
(addr_object_size): Likewise.
* tree-predcom.c: Include wide-int-print.h.
(struct dref_d): Change type of offset to widest_int.
(dump_dref): Call wide-int printer.
(aff_combination_dr_offset): Use wide-int interfaces.
(determine_offset): Take a widest_int pointer rather than a
double_int pointer.
(split_data_refs_to_components): Use wide-int interfaces.
(suitable_component_p): Likewise.
(order_drefs): Likewise.
(add_ref_to_chain): Likewise.
(valid_initializer_p): Likewise.
(determine_roots_comp): Likewise.
* tree-pretty-print.c: Include wide-int-print.h.
(dump_generic_node): Use wide-int interfaces.
* tree-sra.c (sra_ipa_modify_expr): Likewise.
* tree-ssa-address.c (addr_for_mem_ref): Likewise.
(move_fixed_address_to_symbol): Likewise.
(move_hint_to_base): Likewise.
(move_pointer_to_base): Likewise.
(move_variant_to_index): Likewise.
(most_expensive_mult_to_index): Likewise.
(addr_to_parts): Likewise.
(copy_ref_info): Likewise.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
(indirect_refs_may_alias_p): Likewise.
(stmt_kills_ref_p_1): Likewise.
* tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
* tree-ssa-ccp.c: Update comment at top of file. Include
wide-int-print.h.
(struct prop_value_d): Change type of mask to widest_int.
(extend_mask): New function.
(dump_lattice_value): Use wide-int interfaces.
(get_default_value): Likewise.
(set_constant_value): Likewise.
(set_value_varying): Likewise.
(valid_lattice_transition): Likewise.
(set_lattice_value): Likewise.
(value_to_double_int): Delete.
(value_to_wide_int): New.
(get_value_from_alignment): Use wide-int interfaces.
(get_value_for_expr): Likewise.
(do_dbg_cnt): Likewise.
(ccp_finalize): Likewise.
(ccp_lattice_meet): Likewise.
(bit_value_unop_1): Use widest_ints rather than double_ints.
(bit_value_binop_1): Likewise.
(bit_value_unop): Use wide-int interfaces.
(bit_value_binop): Likewise.
(bit_value_assume_aligned): Likewise.
(evaluate_stmt): Likewise.
(ccp_fold_stmt): Likewise.
(visit_cond_stmt): Likewise.
(ccp_visit_stmt): Likewise.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
(constant_pointer_difference): Likewise.
(associate_pointerplus): Likewise.
(combine_conversions): Likewise.
* tree-ssa-loop.h: Include wide-int.h.
(struct tree_niter_desc): Change type of max to widest_int.
* tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
(remove_redundant_iv_tests): Likewise.
(canonicalize_loop_induction_variables): Likewise.
* tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
(constant_multiple_of): Take a widest_int pointer instead of
a double_int pointer.
(get_computation_aff): Use wide-int interfaces.
(ptr_difference_cost): Likewise.
(difference_cost): Likewise.
(get_loop_invariant_expr_id): Likewise.
(get_computation_cost_at): Likewise.
(iv_elimination_compare_lt): Likewise.
(may_eliminate_iv): Likewise.
* tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
instead of double_int.
(max_loop_iterations): Likewise.
(max_stmt_executions): Likewise.
(estimated_stmt_executions): Likewise.
* tree-ssa-loop-niter.c: Include wide-int-print.h.
(split_to_var_and_offset): Use wide-int interfaces.
(determine_value_range): Likewise.
(bound_difference_of_offsetted_base): Likewise.
(bounds_add): Take a widest_int instead of a double_int.
(number_of_iterations_ne_max): Use wide-int interfaces.
(number_of_iterations_ne): Likewise.
(number_of_iterations_lt_to_ne): Likewise.
(assert_loop_rolls_lt): Likewise.
(number_of_iterations_lt): Likewise.
(number_of_iterations_le): Likewise.
(number_of_iterations_cond): Likewise.
(number_of_iterations_exit): Likewise.
(finite_loop_p): Likewise.
(derive_constant_upper_bound_assign): Likewise.
(derive_constant_upper_bound): Return a widest_int.
(derive_constant_upper_bound_ops): Likewise.
(do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
(record_estimate): Take a widest_int rather than a double_int.
(record_nonwrapping_iv): Use wide-int interfaces.
(double_int_cmp): Delete.
(wide_int_cmp): New.
(bound_index): Take a widest_int rather than a double_int.
(discover_iteration_bound_by_body_walk): Use wide-int interfaces.
(maybe_lower_iteration_bound): Likewise.
(estimate_numbers_of_iterations_loop): Likewise.
(estimated_loop_iterations): Take a widest_int pointer than than
a double_int pointer.
(estimated_loop_iterations_int): Use wide-int interfaces.
(max_loop_iterations): Take a widest_int pointer than than
a double_int pointer.
(max_loop_iterations_int): Use wide-int interfaces.
(max_stmt_executions): Take a widest_int pointer than than
a double_int pointer.
(estimated_stmt_executions): Likewise.
(n_of_executions_at_most): Use wide-int interfaces.
(scev_probably_wraps_p): Likewise.
* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
to real_to_integer.
* tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
interfaces.
* tree-ssanames.c (set_range_info): Use wide_int_refs rather than
double_ints. Adjust for trailing_wide_ints <3> representation.
(set_nonzero_bits): Likewise.
(get_range_info): Return wide_ints rather than double_ints.
Adjust for trailing_wide_ints <3> representation.
(get_nonzero_bits): Likewise.
(duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
representation.
* tree-ssanames.h (struct range_info_def): Replace min, max and
nonzero_bits with a trailing_wide_ints <3>.
(set_range_info): Use wide_int_refs rather than double_ints.
(set_nonzero_bits): Likewise.
(get_range_info): Return wide_ints rather than double_ints.
(get_nonzero_bits): Likewise.
* tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
* tree-ssa-pre.c (phi_translate_1): Likewise.
* tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
(acceptable_pow_call): Likewise.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
interfaces.
(vn_reference_fold_indirect): Likewise.
(vn_reference_maybe_forwprop_address): Likewise.
(valueize_refs_1): Likewise.
* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
* tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
tree_int_cst_lt and tree_int_cst_le.
* tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
interfaces.
(streamer_alloc_tree): Likewise.
* tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
(streamer_write_tree_header): Likewise.
(streamer_write_integer_cst): Likewise.
* tree-switch-conversion.c (emit_case_bit_tests): Likewise.
(build_constructors): Likewise.
(array_value_type): Likewise.
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
(vect_check_gather): Likewise.
* tree-vect-generic.c (build_replicated_const): Likewise.
(expand_vector_divmod): Likewise.
* tree-vect-loop.c (vect_transform_loop): Likewise.
* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
(vect_do_peeling_for_alignment): Likewise.
* tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
* tree-vrp.c: Include wide-int.h.
(operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
(extract_range_from_assert): Use wide-int interfaces.
(vrp_int_const_binop): Likewise.
(zero_nonzero_bits_from_vr): Take wide_int pointers rather than
double_int pointers.
(ranges_from_anti_range): Use wide-int interfaces.
(quad_int_cmp): Delete.
(quad_int_pair_sort): Likewise.
(extract_range_from_binary_expr_1): Use wide-int interfaces.
(extract_range_from_unary_expr_1): Likewise.
(adjust_range_with_scev): Likewise.
(masked_increment): Take and return wide_ints rather than double_ints.
(register_edge_assert_for_2): Use wide-int interfaces.
(check_array_ref): Likewise.
(search_for_addr_array): Likewise.
(maybe_set_nonzero_bits): Likewise.
(union_ranges): Pass an integer of the correct type instead of
using integer_one_node.
(intersect_ranges): Likewise.
(simplify_truth_ops_using_ranges): Likewise.
(simplify_bit_ops_using_ranges): Use wide-int interfaces.
(range_fits_type_p): Likewise.
(simplify_cond_using_ranges): Likewise. Take a signop rather than
a bool.
(simplify_conversion_using_ranges): Use wide-int interfaces.
(simplify_float_conversion_using_ranges): Likewise.
(vrp_finalize): Likewise.
* value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
(gimple_stringops_transform): Likewise.
* varasm.c (decode_addr_const): Likewise.
(const_hash_1): Likewise.
(const_rtx_hash_1): Likewise
(output_constant): Likewise.
(array_size_for_constructor): Likewise.
(output_constructor_regular_field): Likewise.
(output_constructor_bitfield): Likewise.
* var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
* mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
GENERATOR_FILEs.
* gencheck.c: Define BITS_PER_UNIT.
* wide-int.cc: New.
* wide-int.h: New.
* wide-int-print.cc: New.
* wide-int-print.h: New.
ada:
* gcc-interface/cuintp.c (UI_From_gnu): Use wide-int interfaces.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_SIGN.
(annotate_value): Use wide-int interfaces.
* gcc-interface/utils.c (get_nonnull_operand): Use tree_fits_uhwi_p.
c:
* c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
(finish_enum): Use wide-int interfaces.
* c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
* c-typeck.c (build_c_cast): Likewise.
(set_nonincremental_init_from_string): Likewise.
(c_tree_equal): Likewise.
c-family:
* c-ada-spec.c: Include wide-int.h.
(ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
(dump_generic_ada_node): Use wide-int interfaces.
* c-common.c: Include wide-int-print.h.
(shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
(pointer_int_sum): Use wide-int interfaces.
(c_common_nodes_and_builtins): Use make_int_cst.
(match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
(handle_alloc_size_attribute): Use wide-int interfaces.
(get_nonnull_operand): Likewise.
* c-format.c (get_constant): Use tree_fits_uhwi_p.
* c-lex.c: Include wide-int.h.
(narrowest_unsigned_type): Take a widest_int rather than two
HOST_WIDE_INTs.
(narrowest_signed_type): Likewise.
(interpret_integer): Update accordingly. Use wide-int interfaces.
(lex_charconst): Use wide-int interfaces.
* c-pretty-print.c: Include wide-int.h.
(pp_c_integer_constant): Use wide-int interfaces.
* cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
INT_CST_LT_UNSIGNED.
cp:
* call.c: Include wide-int.h.
(type_passed_as): Use tree_int_cst_lt instead of INT_CST_LT_UNSIGNED.
(convert_for_arg_passing): Likewise.
* class.c: Include wide-int.h.
(walk_subobject_offsets): Use tree_int_cst_lt instead of INT_CST_LT.
(end_of_class): Use tree_int_cst_lt instead of INT_CST_LT_UNSIGNED.
(include_empty_classes): Likewise
(layout_class_type): Use tree_int_cst_lt instead of INT_CST_LT.
* cvt.c: Include wide-int.h.
(ignore_overflows): Use wide_int_to_tree.
* decl.c: Include wide-int.h.
(check_array_designated_initializer): Use wide-int interfaces.
(compute_array_index_type): Use tree_int_cst_lt instead of INT_CST_LT.
(finish_enum_value_list): Use signop.
(build_enumerator): Use wide-int interfaces.
* init.c: Include wide-int.h.
(build_new_1): Use wide-int interfaces.
* mangle.c: Include wide-int.h.
(write_integer_cst): Use wide-int interfaces.
(write_array_type): Likewise.
* tree.c: Include wide-int.h.
(cp_tree_equal): Use tree_int_cst_equal.
* typeck2.c: Include wide-int.h.
(process_init_constructor_array): Use wide-int interfaces.
fortran:
* target-memory.c: Include wide-int.h.
(gfc_interpret_logical): Use wide-int interfaces.
* trans-array.c: Include wide-int.h.
(gfc_conv_array_initializer): Use wide-int interfaces.
* trans-const.c: Include wide-int.h.
(gfc_conv_string_init): Use wide-int interfaces.
(gfc_conv_mpz_to_tree): Likewise.
(gfc_conv_tree_to_mpz): Likewise.
* trans-decl.c (gfc_can_put_var_on_stack): Use tree_fits_uhwi_p.
* trans-expr.c: Include wide-int.h.
(gfc_conv_cst_int_power): Use wide-int interfaces.
(gfc_string_to_single_character): Likewise.
(gfc_optimize_len_trim): Likewise.
* trans-intrinsic.c: Include wide-int.h.
(trans_this_image): Use wide-int interfaces.
(gfc_conv_intrinsic_bound): Likewise.
(conv_intrinsic_cobound): Likewise.
* trans-types.c (gfc_init_types): Likewise.
(gfc_get_array_type_bounds): Pass an integer of the correct type
instead of using integer_one_node.
go:
* go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
java:
* boehm.c: Include wide-int.h.
(mark_reference_fields): Use a wide_int mask.
(get_boehm_type_descriptor): Use wide-int interfaces.
* expr.c: Include wide-int.h.
(build_newarray): Remove bogus "== INTEGER_CST".
(expand_java_pushc): Use real_from_integer.
(build_field_ref): Use tree_int_cst_lt instead of INT_CST_LT_UNSIGNED.
* jcf-parse.c: Include wide-int.h.
(get_constant): Use wide-int interfaces.
lto:
* lto.c (compare_tree_sccs_1): Use wide-int interfaces.
* lto-lang.c (get_nonnull_operand): Likewise.
objc:
* objc-act.c: Include wide-int.h.
(objc_decl_method_attributes): Use wide-int interfaces.
testsuite:
* gcc.dg/tree-ssa/pr45427.c: Update to look for 0x0 instead of 0.

View File

@ -1,3 +1,12 @@
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
Mike Stump <mikestump@comcast.net>
Richard Sandiford <rdsandiford@googlemail.com>
* gcc-interface/cuintp.c (UI_From_gnu): Use wide-int interfaces.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_SIGN.
(annotate_value): Use wide-int interfaces.
* gcc-interface/utils.c (get_nonnull_operand): Use tree_fits_uhwi_p.
2014-04-28 Richard Henderson <rth@redhat.com>
* gcc-interface/Makefile.in: Support aarch64-linux.

View File

@ -1,3 +1,29 @@
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
Mike Stump <mikestump@comcast.net>
Richard Sandiford <rdsandiford@googlemail.com>
* c-ada-spec.c: Include wide-int.h.
(ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
(dump_generic_ada_node): Use wide-int interfaces.
* c-common.c: Include wide-int-print.h.
(shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
(pointer_int_sum): Use wide-int interfaces.
(c_common_nodes_and_builtins): Use make_int_cst.
(match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
(handle_alloc_size_attribute): Use wide-int interfaces.
(get_nonnull_operand): Likewise.
* c-format.c (get_constant): Use tree_fits_uhwi_p.
* c-lex.c: Include wide-int.h.
(narrowest_unsigned_type): Take a widest_int rather than two
HOST_WIDE_INTs.
(narrowest_signed_type): Likewise.
(interpret_integer): Update accordingly. Use wide-int interfaces.
(lex_charconst): Use wide-int interfaces.
* c-pretty-print.c: Include wide-int.h.
(pp_c_integer_constant): Use wide-int interfaces.
* cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
INT_CST_LT_UNSIGNED.
2014-05-06 Richard Biener <rguenther@suse.de>
* c-opts.c (c_common_post_options): For -freestanding,

View File

@ -1,3 +1,14 @@
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
Mike Stump <mikestump@comcast.net>
Richard Sandiford <rdsandiford@googlemail.com>
* c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
(finish_enum): Use wide-int interfaces.
* c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
* c-typeck.c (build_c_cast): Likewise.
(set_nonincremental_init_from_string): Likewise.
(c_tree_equal): Likewise.
2014-05-02 Marek Polacek <polacek@redhat.com>
PR c/25801

View File

@ -1,3 +1,32 @@
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
Mike Stump <mikestump@comcast.net>
Richard Sandiford <rdsandiford@googlemail.com>
* call.c: Include wide-int.h.
(type_passed_as): Use tree_int_cst_lt instead of INT_CST_LT_UNSIGNED.
(convert_for_arg_passing): Likewise.
* class.c: Include wide-int.h.
(walk_subobject_offsets): Use tree_int_cst_lt instead of INT_CST_LT.
(end_of_class): Use tree_int_cst_lt instead of INT_CST_LT_UNSIGNED.
(include_empty_classes): Likewise
(layout_class_type): Use tree_int_cst_lt instead of INT_CST_LT.
* cvt.c: Include wide-int.h.
(ignore_overflows): Use wide_int_to_tree.
* decl.c: Include wide-int.h.
(check_array_designated_initializer): Use wide-int interfaces.
(compute_array_index_type): Use tree_int_cst_lt instead of INT_CST_LT.
(finish_enum_value_list): Use signop.
(build_enumerator): Use wide-int interfaces.
* init.c: Include wide-int.h.
(build_new_1): Use wide-int interfaces.
* mangle.c: Include wide-int.h.
(write_integer_cst): Use wide-int interfaces.
(write_array_type): Likewise.
* tree.c: Include wide-int.h.
(cp_tree_equal): Use tree_int_cst_equal.
* typeck2.c: Include wide-int.h.
(process_init_constructor_array): Use wide-int interfaces.
2014-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58582

View File

@ -1,3 +1,28 @@
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
Mike Stump <mikestump@comcast.net>
Richard Sandiford <rdsandiford@googlemail.com>
* target-memory.c: Include wide-int.h.
(gfc_interpret_logical): Use wide-int interfaces.
* trans-array.c: Include wide-int.h.
(gfc_conv_array_initializer): Use wide-int interfaces.
* trans-const.c: Include wide-int.h.
(gfc_conv_string_init): Use wide-int interfaces.
(gfc_conv_mpz_to_tree): Likewise.
(gfc_conv_tree_to_mpz): Likewise.
* trans-decl.c (gfc_can_put_var_on_stack): Use tree_fits_uhwi_p.
* trans-expr.c: Include wide-int.h.
(gfc_conv_cst_int_power): Use wide-int interfaces.
(gfc_string_to_single_character): Likewise.
(gfc_optimize_len_trim): Likewise.
* trans-intrinsic.c: Include wide-int.h.
(trans_this_image): Use wide-int interfaces.
(gfc_conv_intrinsic_bound): Likewise.
(conv_intrinsic_cobound): Likewise.
* trans-types.c (gfc_init_types): Likewise.
(gfc_get_array_type_bounds): Pass an integer of the correct type
instead of using integer_one_node.
2014-04-30 Tobias Burnus <burnus@net-b.de>
* trans-decl.c (create_function_arglist): Add hidden coarray arguments

View File

@ -1,3 +1,9 @@
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
Mike Stump <mikestump@comcast.net>
Richard Sandiford <rdsandiford@googlemail.com>
* go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
2014-05-06 Chris Manghane <cmang@google.com>
* go-c.h (go_create_gogo): Update declaration to add

View File

@ -1,3 +1,17 @@
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
Mike Stump <mikestump@comcast.net>
Richard Sandiford <rdsandiford@googlemail.com>
* boehm.c: Include wide-int.h.
(mark_reference_fields): Use a wide_int mask.
(get_boehm_type_descriptor): Use wide-int interfaces.
* expr.c: Include wide-int.h.
(build_newarray): Remove bogus "== INTEGER_CST".
(expand_java_pushc): Use real_from_integer.
(build_field_ref): Use tree_int_cst_lt instead of INT_CST_LT_UNSIGNED.
* jcf-parse.c: Include wide-int.h.
(get_constant): Use wide-int interfaces.
2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
Update copyright years

View File

@ -1,3 +1,10 @@
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
Mike Stump <mikestump@comcast.net>
Richard Sandiford <rdsandiford@googlemail.com>
* lto.c (compare_tree_sccs_1): Use wide-int interfaces.
* lto-lang.c (get_nonnull_operand): Likewise.
2014-04-28 Richard Biener <rguenther@suse.de>
PR middle-end/60092

View File

@ -1,3 +1,10 @@
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
Mike Stump <mikestump@comcast.net>
Richard Sandiford <rdsandiford@googlemail.com>
* objc-act.c: Include wide-int.h.
(objc_decl_method_attributes): Use wide-int interfaces.
2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
PR objc/56044

View File

@ -1,3 +1,9 @@
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
Mike Stump <mikestump@comcast.net>
Richard Sandiford <rdsandiford@googlemail.com>
* gcc.dg/tree-ssa/pr45427.c: Update to look for 0x0 instead of 0.
2014-05-05 Jan Hubicka <hubicka@ucw.cz>
PR ipa/60965