1. 11 Oct, 2017 16 commits
    • X+Y < X iff Y<0 moved to match.pd · 6358a676
      2017-10-11  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* fold-const.c (fold_binary_loc) [X +- Y CMP X]: Move ...
      	* match.pd: ... here.
      	((T) X == (T) Y): Relax condition.
      
      gcc/testsuite/
      	* gcc.dg/Wstrict-overflow-7.c: Xfail.
      	* gcc.dg/pragma-diag-3.c: Likewise.
      
      From-SVN: r253642
      Marc Glisse committed
    • re PR tree-optimization/82472 (ICE in generate_code_for_partition, at… · b4ec1d31
      re PR tree-optimization/82472 (ICE in generate_code_for_partition, at tree-loop-distribution.c:1145)
      
      	PR tree-optimization/82472
      	* tree-loop-distribution.c (sort_partitions_by_post_order): Refine
      	comment.
      	(break_alias_scc_partitions): Update postorder number.
      
      	gcc/testsuite
      	* gcc.dg/tree-ssa/pr82472.c: New test.
      
      From-SVN: r253641
      Bin Cheng committed
    • Do not error for no_sanitize attributes (PR sanitizer/82490). · 3a266bcd
      2017-10-11  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/82490
      	* opts.c (parse_no_sanitize_attribute): Do not use error_value
      	variable.
      	* opts.h (parse_no_sanitize_attribute): Remove last argument.
      2017-10-11  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/82490
      	* c-attribs.c (handle_no_sanitize_attribute): Report directly
      	Wattributes warning.
      2017-10-11  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/82490
      	* c-c++-common/ubsan/attrib-5.c: New test.
      
      From-SVN: r253640
      Martin Liska committed
    • Fix use-after-scope error. · 050dcb6a
      2017-10-11  Martin Liska  <mliska@suse.cz>
      
      	* print-rtl.c (print_insn): Move declaration of idbuf
      	to same scope as name.
      
      From-SVN: r253639
      Martin Liska committed
    • Revert last commit. · ed89e76a
      From-SVN: r253638
      Martin Liska committed
    • Do not handled volatile arguments (PR sanitizer/82484). · 78188a05
      2017-10-11  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/82484
      	* sanopt.c (sanitize_rewrite_addressable_params): Do not handle
      	volatile arguments.
      2017-10-11  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/82484
      	* gcc.dg/asan/pr82484.c: New test.
      
      From-SVN: r253637
      Martin Liska committed
    • Fix a test-case for Darwin. · b1a651a2
      2017-10-11  Martin Liska  <mliska@suse.cz>
      
      	* c-c++-common/ubsan/ptr-overflow-sanitization-1.c: Scan
      	optimized dump rather than assembly.
      
      From-SVN: r253636
      Martin Liska committed
    • Enable ifunc attribute by default for ARM GNU/Linux · d71031ff
      Similar to other architectures with IFUNC binutils/glibc support, this
      patch enables the ifunc attribute for ARM GNU/Linux.  Although not
      required for build master GLIBC, the intention is to allow refactor
      its assembly implementation to C.
      
      Tested compilation of glibc (in conjunction with a glibc patch to
      support using the attribute on ARM) with build-many-glibcs.py (with
      a patch to add a armv7 variant which enables multiarch).  I have
      not run the GCC tests for ARM.
      
      	* config.gcc (default_gnu_indirect_function): Default to yes for
      	arm*-*-linux* with glibc.
      
      From-SVN: r253635
      Adhemerval Zanella committed
    • * g++.dg/cpp/string-3.C: Fix dg-final. · dbd282bb
      From-SVN: r253634
      Nathan Sidwell committed
    • re PR c++/80412 ([c++17] crash with class template deduction guide and inheritance) · 08f0a739
      2017-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/80412
      	* g++.dg/cpp1z/class-deduction44.C: New.
      
      From-SVN: r253632
      Paolo Carlini committed
    • re PR c++/82230 (ICE: in tsubst, at cp/pt.c:13686 when binding lambda to… · 1d14f58c
      re PR c++/82230 (ICE: in tsubst, at cp/pt.c:13686 when binding lambda to variable inside a generic lambda inside a template member function inside a template class)
      
      2017-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/82230
      	* g++.dg/cpp1y/lambda-generic-ice8.C: New.
      
      From-SVN: r253631
      Paolo Carlini committed
    • re PR c++/81299 (Spurious "set but not used" warning with constexpr variable) · 99f1498e
      2017-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/81299
      	* g++.dg/cpp1y/lambda-generic-ice7.C: New.
      
      From-SVN: r253630
      Paolo Carlini committed
    • tree-scalar-evolution.c (get_scalar_evolution): Handle default-defs and types we… · 5355943c
      tree-scalar-evolution.c (get_scalar_evolution): Handle default-defs and types we do not want to analyze.
      
      2017-10-11  Richard Biener  <rguenther@suse.de>
      
      	* tree-scalar-evolution.c (get_scalar_evolution): Handle
      	default-defs and types we do not want to analyze.
      	(interpret_loop_phi): Replace unreachable code with an assert.
      	(compute_scalar_evolution_in_loop): Remove and inline ...
      	(analyze_scalar_evolution_1): ... here, replacing condition with
      	what makes the intent clearer.  Remove handling of cases
      	get_scalar_evolution now handles.
      
      From-SVN: r253629
      Richard Biener committed
    • Allow 2 insns from sched group to issue in same cycle, if no stalls needed. · e9593da8
      	gcc/
      	PR rtl-optimization/81434
      	* haifa-sched.c (prune_ready_list): Init min_cost_group to 0.  Update
      	comment for main loop.  In sched_group_found if, also add checks for
      	pass and min_cost_group.
      
      From-SVN: r253628
      James E Wilson committed
    • Daily bump. · 9ef8d30e
      From-SVN: r253627
      GCC Administrator committed
    • rs6000: insn_cost · ca158af3
      This adds an implementation of the insn_cost hook to rs6000.
      
      This implementations is very minimal (so far).  It is mostly based on
      how many machine instructions are generated by an RTL insn, and it also
      looks at the instruction type.  Floating point insns are costed as if
      all machine instructions it generates are floating point; the other
      insns are treated as if all but one are integer insns (and one is the
      specified type).  Load instructions are treated as costing twice as
      much, and load locked and sync insns as three times as much (just like
      the original costs), and integer div and mul are handled as well.
      
      Each define_insn (etc.) can set a "cost" attribute to override this
      general cost.  With optimization for size, the cost is set equal to the
      value of the "length" attribute.
      
      With this, the majority of cost differences between old and new are
      where the old was wrong.  Also, benchmarks show a slight win (if
      anything).  Some refinements are obviously needed.
      
      
      	* config/rs6000/rs6000.c (TARGET_INSN_COST): New.
      	(rs6000_insn_cost): New function.
      	* config/rs6000/rs6000.md (cost): New attribute.
      
      From-SVN: r253624
      Segher Boessenkool committed
  2. 10 Oct, 2017 24 commits
    • [C++ PATCH] hash-table for extern-c fns. · 7cd6ea64
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00614.html
      	* name-lookup.c (extern_c_fns): Rename to ...
      	(extern_c_decls): ... here.
      	(check_extern_c_conflict, extern_c_linkage_bindings): Update.
      	(do_pushdecl): Check extern-c fns and vars.
      
      	* g++.dg/lookup/extern-c-redecl6.C: New.
      	* g++.dg/lookup/extern-c-hidden.C: Adjust diagnostics.
      	* g++.dg/lookup/extern-c-redecl.C: Likewise.
      	* g++.old-deja/g++.other/using9.C: Likewise.
      
      From-SVN: r253622
      Nathan Sidwell committed
    • re PR c++/78006 (Segmentation fault with 'using' and generic lambda trailing return types) · 507ea98d
      2017-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/78006
      	* g++.dg/cpp1y/auto-fn40.C: New.
      
      From-SVN: r253621
      Paolo Carlini committed
    • [C++ PATCH] Kill unneeded hash specialization · d6b605f6
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00621.html
      	* cp-tree.h (default_hash_traits <lang_identifier *>): Delete
      	specialization.
      
      From-SVN: r253620
      Nathan Sidwell committed
    • re PR c++/81032 (ICE with lambda and broken constexpr) · 92395f1c
      2017-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/81032
      	* g++.dg/cpp1y/lambda-generic-ice6.C: New.
      
      From-SVN: r253619
      Paolo Carlini committed
    • re PR rtl-optimization/68205 (ICE compiling gcc.c-torture/execute/20040709-2.c… · 16d926d2
      re PR rtl-optimization/68205 (ICE compiling gcc.c-torture/execute/20040709-2.c with -fno-common on arm-none-eabi)
      
      	PR rtl-optimization/68205
      	* gcc.c-torture/execute/20040709-3.c: New test.
      
      From-SVN: r253618
      Jakub Jelinek committed
    • re PR c++/67625 (some constexpr expressions rejected as enumerator value) · b2ca2504
      2017-10-10  Jakub Jelinek  <jakub@redhat.com>
      
      	PR c++/67625
      	* g++.dg/cpp0x/pr67625.C: New test.
      
      From-SVN: r253617
      Jakub Jelinek committed
    • re PR middle-end/70887 (internal compiler error in trunc_int_for_mode, at explow.c:78) · c9a0dec5
      2017-10-10  Jakub Jelinek  <jakub@redhat.com>
      
      	PR middle-end/70887
      	* g++.dg/cpp0x/pr70887.C: New test.
      
      From-SVN: r253616
      Jakub Jelinek committed
    • re PR c++/70338 (ICE combining debug symbols, range-for in lambda in function… · aaf58ab1
      re PR c++/70338 (ICE combining debug symbols, range-for in lambda in function template accessing captured variable-size array)
      
      	PR c++/70338
      	* g++.dg/cpp0x/pr70338.C: New test.
      
      From-SVN: r253615
      Jakub Jelinek committed
    • re PR c++/77786 (ICE in tsubst_copy, at cp/pt.c:13040) · 10885d13
      	PR c++/77786
      	* g++.dg/cpp1y/pr77786.C: New test.
      
      From-SVN: r253614
      Jakub Jelinek committed
    • re PR c++/71875 (template specialization compile error) · da31baba
      	PR c++/71875
      	* g++.dg/cpp1y/pr71875.C: New test.
      
      From-SVN: r253613
      Jakub Jelinek committed
    • re PR c++/77578 (ICE in cp_parser_omp_for_loop (cp/parser.c:29404)) · 24f8d391
      	PR c++/77578
      	* g++.dg/gomp/pr77578.C: New test.
      
      From-SVN: r253612
      Jakub Jelinek committed
    • re PR middle-end/70100 (ICE: in execute, at cfgexpand.c:6066) · 4407c309
      	PR middle-end/70100
      	* g++.dg/opt/pr70100.C: New test.
      
      From-SVN: r253611
      Jakub Jelinek committed
    • re PR c++/68252 (left operand of shift expression, while we shift > 0 integer) · 7094f0d3
      2017-10-10  Jakub Jelinek  <jakub@redhat.com>
      
      	PR c++/68252
      	* g++.dg/other/pr68252.C: New test.
      
      From-SVN: r253610
      Jakub Jelinek committed
    • re PR target/79565 (ICE in copy_to_mode_reg, at explow.c:612) · 71a84d92
      	PR target/79565
      	PR target/82483
      	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Add
      	OPTION_MASK_ISA_MMX for __builtin_ia32_maskmovq,
      	__builtin_ia32_vec_ext_v4hi and __builtin_ia32_vec_set_v4hi.
      	(ix86_expand_builtin): Treat OPTION_MASK_ISA_MMX similarly
      	to OPTION_MASK_ISA_AVX512VL - builtins that have both
      	OPTION_MASK_ISA_MMX and some other bit set require both
      	mmx and the ISAs without the mmx bit.
      	* config/i386/i386-builtin.def (__builtin_ia32_cvtps2pi,
      	__builtin_ia32_cvttps2pi, __builtin_ia32_cvtpi2ps,
      	__builtin_ia32_pavgb, __builtin_ia32_pavgw, __builtin_ia32_pmulhuw,
      	__builtin_ia32_pmaxub, __builtin_ia32_pmaxsw, __builtin_ia32_pminub,
      	__builtin_ia32_pminsw, __builtin_ia32_psadbw, __builtin_ia32_pmovmskb,
      	__builtin_ia32_pshufw, __builtin_ia32_cvtpd2pi,
      	__builtin_ia32_cvttpd2pi, __builtin_ia32_cvtpi2pd,
      	__builtin_ia32_pmuludq, __builtin_ia32_pabsb, __builtin_ia32_pabsw,
      	__builtin_ia32_pabsd, __builtin_ia32_phaddw, __builtin_ia32_phaddd,
      	__builtin_ia32_phaddsw, __builtin_ia32_phsubw, __builtin_ia32_phsubd,
      	__builtin_ia32_phsubsw, __builtin_ia32_pmaddubsw,
      	__builtin_ia32_pmulhrsw, __builtin_ia32_pshufb, __builtin_ia32_psignb,
      	__builtin_ia32_psignw, __builtin_ia32_psignd, __builtin_ia32_movntq,
      	__builtin_ia32_paddq, __builtin_ia32_psubq, __builtin_ia32_palignr):
      	Add OPTION_MASK_ISA_MMX.
      
      	* gcc.target/i386/pr82483-1.c: New test.
      	* gcc.target/i386/pr82483-2.c: New test.
      
      Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
      
      From-SVN: r253609
      Jakub Jelinek committed
    • [C++ PATCH] Hash mangling alias · eead34af
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00618.html
      	* decl2.c (struct mangled_decl_hash): New hash traits.
      	(mangled_decls): Make hash_table<mangled_decl_hash>.
      	(generate_mangling_alias, record_mangling): Adjust.
      
      From-SVN: r253608
      Nathan Sidwell committed
    • fold-vec-mult-int128-p8.c: Update options · 24d8f6b6
      2017-10-10  Will Schmidt <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-mult-int128-p8.c: Update options
      	* gcc.target/powerpc/fold-vec-mult-int128-p9.c: Update expected
      	instruction list.
      
      From-SVN: r253606
      Will Schmidt committed
    • [PATCH] preprocessor stringizing raw strings · 35b82d26
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00611.html
      	libcpp/
      	PR preprocessor/82506
      	* macro.c (cpp_quote_string): Escape raw LFs.
      
      	gcc/testsuite/
      	PR preprocessor/82506
      	* g++.dg/cpp/string-3.C: New.
      
      From-SVN: r253605
      Nathan Sidwell committed
    • config.gcc (armv7*-*-freebsd*): New target. · eb484969
      2017-10-10  Andreas Tobler  <andreast@gcc.gnu.org>
      
          * config.gcc (armv7*-*-freebsd*): New target.
          (armv6*-*-freebsd*): Remove obsolete TARGET_FREEBSD_ARMv6 define.
      
      From-SVN: r253602
      Andreas Tobler committed
    • More delayed lambda capture fixes. · 84dd815f
      	* call.c (add_function_candidate): Use build_address.
      	(build_op_call_1): Call mark_lvalue_use early.
      	(build_over_call): Handle error from build_this.
      	* constexpr.c (cxx_bind_parameters_in_call): Use build_address.
      	(cxx_eval_increment_expression): Don't use rvalue().
      	* cvt.c (convert_to_void): Use mark_discarded_use.
      	* expr.c (mark_use): Handle PARM_DECL, NON_DEPENDENT_EXPR.  Fix
      	reference handling.  Don't copy the expression.
      	(mark_discarded_use): New.
      	* lambda.c (insert_capture_proxy): Add some sanity checking.
      	(maybe_add_lambda_conv_op): Set cp_unevaluated_operand.
      	* pt.c (register_local_specialization): Add sanity check.
      	* semantics.c (process_outer_var_ref): Fix check for existing proxy.
      	* typeck.c (cp_build_addr_expr_1): Handle error from
      	mark_lvalue_use.
      	(cp_build_modify_expr): Call mark_lvalue_use_nonread, handle error
      	from rvalue.
      
      	Handle generic lambda capture in dependent expressions.
      	* lambda.c (need_generic_capture, dependent_capture_r)
      	(do_dependent_capture): New.
      	* pt.c (processing_nonlambda_template): Use need_generic_capture.
      	* semantics.c (maybe_cleanup_point_expr)
      	(maybe_cleanup_point_expr_void, finish_goto_stmt)
      	(maybe_convert_cond): Call do_dependent_capture.
      	* typeck.c (build_static_cast): Remove dependent capture handling.
      
      From-SVN: r253601
      Jason Merrill committed
    • Various small C++ fixes. · e1bea341
      	* typeck.c (condition_conversion): Assert !processing_template_decl.
      	* semantics.c (finish_omp_clauses): Don't
      	fold_build_cleanup_point_expr if processing_template_decl.
      	(outer_var_p): A temporary can't be from an outer scope.
      	* pt.c (type_dependent_expression_p): Fix dependency checking of
      	functions without DECL_TEMPLATE_INFO.
      	(instantiate_decl): Use lss_copy.
      	* constexpr.c (is_valid_constexpr_fn): Fix lambdas before C++17.
      
      From-SVN: r253600
      Jason Merrill committed
    • Check non-dependent conversion in return from template fn. · 4d612bfd
      	* typeck.c (check_return_expr): Check non-dependent conversion in
      	templates.
      	* constraint.cc (check_function_concept): Don't complain about an
      	empty concept if seen_error.
      
      From-SVN: r253599
      Jason Merrill committed
    • x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI, [...]): Move to right spot in the file. · 3652a4d2
      
      	* x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI, X86_TUNE_ADJUST_UNROLL,
      	X86_TUNE_ONE_IF_CONV_INSN): Move to right spot in the file.
      
      From-SVN: r253598
      Jan Hubicka committed
    • fold-vec-cmp-char.c: New. · f1e2a004
      [testsuite]
      
      2017-10-10  Will Schmidt <will_schmidt@vnet.ibm.com>
      	* gcc.target/powerpc/fold-vec-cmp-char.c: New.
      	* gcc.target/powerpc/fold-vec-cmp-double.c: New.
      	* gcc.target/powerpc/fold-vec-cmp-float.c: New.
      	* gcc.target/powerpc/fold-vec-cmp-int.c: New.
      	* gcc.target/powerpc/fold-vec-cmp-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-cmp-short.c: New.
      
      From-SVN: r253597
      Will Schmidt committed
    • Require wi::to_wide for trees · 8e6cdc90
      The wide_int routines allow things like:
      
         wi::add (t, 1)
      
      to add 1 to an INTEGER_CST T in its native precision.  But we also have:
      
         wi::to_offset (t)      // Treat T as an offset_int
         wi::to_widest (t)      // Treat T as a widest_int
      
      Recently we also gained:
      
         wi::to_wide (t, prec)  // Treat T as a wide_int in preccision PREC
      
      This patch therefore requires:
      
         wi::to_wide (t)
      
      when operating on INTEGER_CSTs in their native precision.  This is
      just as efficient, and makes it clearer that a deliberate choice is
      being made to treat the tree as a wide_int in its native precision.
      This also removes the inconsistency that
      
      a) INTEGER_CSTs in their native precision can be used without an accessor
         but must use wi:: functions instead of C++ operators
      
      b) the other forms need an explicit accessor but the result can be used
         with C++ operators.
      
      It also helps with SVE, where there's the additional possibility
      that the tree could be a runtime value.
      
      2017-10-10  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* wide-int.h (wide_int_ref_storage): Make host_dependent_precision
      	a template parameter.
      	(WIDE_INT_REF_FOR): Update accordingly.
      	* tree.h (wi::int_traits <const_tree>): Delete.
      	(wi::tree_to_widest_ref, wi::tree_to_offset_ref): New typedefs.
      	(wi::to_widest, wi::to_offset): Use them.  Expand commentary.
      	(wi::tree_to_wide_ref): New typedef.
      	(wi::to_wide): New function.
      	* calls.c (get_size_range): Use wi::to_wide when operating on
      	trees as wide_ints.
      	* cgraph.c (cgraph_node::create_thunk): Likewise.
      	* config/i386/i386.c (ix86_data_alignment): Likewise.
      	(ix86_local_alignment): Likewise.
      	* dbxout.c (stabstr_O): Likewise.
      	* dwarf2out.c (add_scalar_info, gen_enumeration_type_die): Likewise.
      	* expr.c (const_vector_from_tree): Likewise.
      	* fold-const-call.c (host_size_t_cst_p, fold_const_call_1): Likewise.
      	* fold-const.c (may_negate_without_overflow_p, negate_expr_p)
      	(fold_negate_expr_1, int_const_binop_1, const_binop)
      	(fold_convert_const_int_from_real, optimize_bit_field_compare)
      	(all_ones_mask_p, sign_bit_p, unextend, extract_muldiv_1)
      	(fold_div_compare, fold_single_bit_test, fold_plusminus_mult_expr)
      	(pointer_may_wrap_p, expr_not_equal_to, fold_binary_loc)
      	(fold_ternary_loc, multiple_of_p, fold_negate_const, fold_abs_const)
      	(fold_not_const, round_up_loc): Likewise.
      	* gimple-fold.c (gimple_fold_indirect_ref): Likewise.
      	* gimple-ssa-warn-alloca.c (alloca_call_type_by_arg): Likewise.
      	(alloca_call_type): Likewise.
      	* gimple.c (preprocess_case_label_vec_for_gimple): Likewise.
      	* godump.c (go_output_typedef): Likewise.
      	* graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
      	* internal-fn.c (get_min_precision): Likewise.
      	* ipa-cp.c (ipcp_store_vr_results): Likewise.
      	* ipa-polymorphic-call.c
      	(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Likewise.
      	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Likewise.
      	(ipa_modify_call_arguments): Likewise.
      	* match.pd: Likewise.
      	* omp-low.c (scan_omp_1_op, lower_omp_ordered_clauses): Likewise.
      	* print-tree.c (print_node_brief, print_node): Likewise.
      	* stmt.c (expand_case): Likewise.
      	* stor-layout.c (layout_type): Likewise.
      	* tree-affine.c (tree_to_aff_combination): Likewise.
      	* tree-cfg.c (group_case_labels_stmt): Likewise.
      	* tree-data-ref.c (dr_analyze_indices): Likewise.
      	(prune_runtime_alias_test_list): Likewise.
      	* tree-dump.c (dequeue_and_dump): Likewise.
      	* tree-inline.c (remap_gimple_op_r, copy_tree_body_r): Likewise.
      	* tree-predcom.c (is_inv_store_elimination_chain): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-scalar-evolution.c (iv_can_overflow_p): Likewise.
      	(simple_iv_with_niters): Likewise.
      	* tree-ssa-address.c (addr_for_mem_ref): Likewise.
      	* tree-ssa-ccp.c (ccp_finalize, evaluate_stmt): Likewise.
      	* tree-ssa-loop-ivopts.c (constant_multiple_of): Likewise.
      	* tree-ssa-loop-niter.c (split_to_var_and_offset)
      	(refine_value_range_using_guard, number_of_iterations_ne_max)
      	(number_of_iterations_lt_to_ne, number_of_iterations_lt)
      	(get_cst_init_from_scev, record_nonwrapping_iv)
      	(scev_var_range_cant_overflow): Likewise.
      	* tree-ssa-phiopt.c (minmax_replacement): Likewise.
      	* tree-ssa-pre.c (compute_avail): Likewise.
      	* tree-ssa-sccvn.c (vn_reference_fold_indirect): Likewise.
      	(vn_reference_maybe_forwprop_address, valueized_wider_op): Likewise.
      	* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
      	* tree-ssa-uninit.c (is_pred_expr_subset_of): Likewise.
      	* tree-ssanames.c (set_nonzero_bits, get_nonzero_bits): Likewise.
      	* tree-switch-conversion.c (collect_switch_conv_info, array_value_type)
      	(dump_case_nodes, try_switch_expansion): Likewise.
      	* tree-vect-loop-manip.c (vect_gen_vector_loop_niters): Likewise.
      	(vect_do_peeling): Likewise.
      	* tree-vect-patterns.c (vect_recog_bool_pattern): Likewise.
      	* tree-vect-stmts.c (vectorizable_load): Likewise.
      	* tree-vrp.c (compare_values_warnv, vrp_int_const_binop): Likewise.
      	(zero_nonzero_bits_from_vr, ranges_from_anti_range): Likewise.
      	(extract_range_from_binary_expr_1, adjust_range_with_scev): Likewise.
      	(overflow_comparison_p_1, register_edge_assert_for_2): Likewise.
      	(is_masked_range_test, find_switch_asserts, maybe_set_nonzero_bits)
      	(vrp_evaluate_conditional_warnv_with_ops, intersect_ranges): Likewise.
      	(range_fits_type_p, two_valued_val_range_p, vrp_finalize): Likewise.
      	(evrp_dom_walker::before_dom_children): Likewise.
      	* tree.c (cache_integer_cst, real_value_from_int_cst, integer_zerop)
      	(integer_all_onesp, integer_pow2p, integer_nonzerop, tree_log2)
      	(tree_floor_log2, tree_ctz, mem_ref_offset, tree_int_cst_sign_bit)
      	(tree_int_cst_sgn, get_unwidened, int_fits_type_p): Likewise.
      	(get_type_static_bounds, num_ending_zeros, drop_tree_overflow)
      	(get_range_pos_neg): Likewise.
      	* ubsan.c (ubsan_expand_ptr_ifn): Likewise.
      	* config/darwin.c (darwin_mergeable_constant_section): Likewise.
      	* config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Likewise.
      	* config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
      	* config/avr/avr.c (avr_fold_builtin): Likewise.
      	* config/bfin/bfin.c (bfin_local_alignment): Likewise.
      	* config/msp430/msp430.c (msp430_attr): Likewise.
      	* config/nds32/nds32.c (nds32_insert_attributes): Likewise.
      	* config/powerpcspe/powerpcspe-c.c
      	(altivec_resolve_overloaded_builtin): Likewise.
      	* config/powerpcspe/powerpcspe.c (rs6000_aggregate_candidate)
      	(rs6000_expand_ternop_builtin): Likewise.
      	* config/rs6000/rs6000-c.c
      	(altivec_resolve_overloaded_builtin): Likewise.
      	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): Likewise.
      	(rs6000_expand_ternop_builtin): Likewise.
      	* config/s390/s390.c (s390_handle_hotpatch_attribute): Likewise.
      
      gcc/ada/
      	* gcc-interface/decl.c (annotate_value): Use wi::to_wide when
      	operating on trees as wide_ints.
      
      gcc/c/
      	* c-parser.c (c_parser_cilk_clause_vectorlength): Use wi::to_wide when
      	operating on trees as wide_ints.
      	* c-typeck.c (build_c_cast, c_finish_omp_clauses): Likewise.
      	(c_tree_equal): Likewise.
      
      gcc/c-family/
      	* c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
      	operating on trees as wide_ints.
      	* c-common.c (pointer_int_sum): Likewise.
      	* c-pretty-print.c (pp_c_integer_constant): Likewise.
      	* c-warn.c (match_case_to_enum_1): Likewise.
      	(c_do_switch_warnings): Likewise.
      	(maybe_warn_shift_overflow): Likewise.
      
      gcc/cp/
      	* cvt.c (ignore_overflows): Use wi::to_wide when
      	operating on trees as wide_ints.
      	* decl.c (check_array_designated_initializer): Likewise.
      	* mangle.c (write_integer_cst): Likewise.
      	* semantics.c (cp_finish_omp_clause_depend_sink): Likewise.
      
      gcc/fortran/
      	* target-memory.c (gfc_interpret_logical): Use wi::to_wide when
      	operating on trees as wide_ints.
      	* trans-const.c (gfc_conv_tree_to_mpz): Likewise.
      	* trans-expr.c (gfc_conv_cst_int_power): Likewise.
      	* trans-intrinsic.c (trans_this_image): Likewise.
      	(gfc_conv_intrinsic_bound): Likewise.
      	(conv_intrinsic_cobound): Likewise.
      
      gcc/lto/
      	* lto.c (compare_tree_sccs_1): Use wi::to_wide when
      	operating on trees as wide_ints.
      
      gcc/objc/
      	* objc-act.c (objc_decl_method_attributes): Use wi::to_wide when
      	operating on trees as wide_ints.
      
      From-SVN: r253595
      Richard Sandiford committed