+2019-01-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/88717
+ * config/i386/i386.c (ix86_avx_u128_mode_exit): Call
+ ix86_avx_u128_mode_entry.
+
+2019-01-08 Martin Liska <mliska@suse.cz>
+
+ PR tree-optimization/88753
+ * tree-switch-conversion.c (switch_conversion::build_one_array):
+ Come up with local variable constructor. Convert first to
+ type of constructor values.
+
+2019-01-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/86554
+ * tree-ssa-sccvn.c (eliminate_dom_walker, rpo_elim,
+ rpo_avail): Move earlier.
+ (visit_nary_op): When value-numbering to expressions
+ with different overflow behavior make sure there's an
+ available expression on the path.
+
+2019-01-08 Sam Tebbs <sam.tebbs@arm.com>
+
+ * config/aarch64/aarch64.c (BRANCH_PROTECT_STR_MAX,
+ aarch64_parse_branch_protection,
+ struct aarch64_branch_protect_type,
+ aarch64_handle_no_branch_protection,
+ aarch64_handle_standard_branch_protection,
+ aarch64_validate_mbranch_protection,
+ aarch64_handle_pac_ret_protection,
+ aarch64_handle_attr_branch_protection,
+ accepted_branch_protection_string,
+ aarch64_pac_ret_subtypes,
+ aarch64_branch_protect_types,
+ aarch64_handle_pac_ret_leaf): Define.
+ (aarch64_override_options_after_change_1, aarch64_override_options):
+ Add check for accepted_branch_protection_string.
+ (aarch64_option_save): Save accepted_branch_protection_string.
+ (aarch64_option_restore): Save accepted_branch_protection_string.
+ * config/aarch64/aarch64.c (aarch64_attributes): Add branch-protection.
+ * config/aarch64/aarch64.opt: Add mbranch-protection. Deprecate
+ msign-return-address.
+ * doc/invoke.texi: Add mbranch-protection.
+
+2019-01-08 Alan Modra <amodra@gmail.com>
+
+ PR target/88614
+ * genattrtab.c (max_attr_value, min_attr_value, or_attr_value):
+ Delete "unknownp" parameter. Adjust callers. Handle
+ CONST_INT, PLUS, MINUS, and MULT.
+ (attr_value_aligned): Renamed from or_attr_value.
+ (min_attr_value): Return INT_MIN for unhandled rtl case..
+ (min_fn): ..and translate to INT_MAX here.
+ (write_length_unit_log): Modify to cope without "unknown".
+ (write_attr_value): Handle IF_THEN_ELSE.
+
+2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-vect-stmts.c (vectorizable_store): Don't use the dataref_offset
+ optimization for masked stores.
+
+2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR middle-end/88567
+ * tree-vect-loop.c (get_initial_defs_for_reduction): Pass the
+ output vector directly to duplicate_and_interleave instead of
+ going through a temporary. Postpone insertion of ctor_seq to
+ the end of the loop.
+
+2019-01-07 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/86891
+ * config/aarch64/aarch64.c (aarch64_expand_subvti): New parameter
+ unsigned_p. Handle signed and unsigned overflow correction as
+ required.
+ * config/aarch64/aarch64-protos.h (aarch64_expand_subvti): Update
+ prototype.
+ * config/aarch64/aarch64.md (addv<mode>4): Use aarch64_plus_operand
+ for operand 2.
+ (add<mode>3_compareV_imm): Make this callable for expanding.
+ (subv<GPI:mode>4): Use register_operand for operand 1. Use
+ aarch64_plus_operand for operand 2.
+ (subv<GPI:mode>_insn): New insn pattern.
+ (subv<GPI:mode>_imm): Likewise.
+ (negv<GPI:mode>3): New expand pattern.
+ (negv<GPI:mode>_insn): New insn pattern.
+ (negv<GPI:mode>_cmp_only): Likewise.
+ (cmpv<GPI:mode>_insn): Likewise.
+ (subvti4): Use register_operand for operand 1. Update call to
+ aarch64_expand_subvti.
+ (usubvti4): Likewise.
+ (negvti3): New expand pattern.
+ (negdi_carryout): New insn pattern.
+ (negvdi_carryinV): New insn pattern.
+ (sub<mode3>_compare1_imm): Delete named insn pattern, make anonymous
+ version the named version.
+ (peepholes to convert to sub<mode3>_compare1_imm): Adjust order of
+ operands.
+ (usub<GPI:mode>3_carryinC, usub<GPI:mode>3_carryinC_z1): New insn
+ patterns.
+ (usub<GPI:mode>3_carryinC_z2, usub<GPI:mode>3_carryinC): New insn
+ patterns.
+ (sub<mode>3_carryinCV, sub<mode>3_carryinCV_z1_z2): Delete.
+ (sub<mode>3_carryinCV_z1, sub<mode>3_carryinCV_z2): Delete.
+ (sub<mode>3_carryinCV): Delete.
+ (sub<GPI:mode>3_carryinV): New expand pattern.
+ sub<mode>3_carryinV, sub<mode>3_carryinV_z2): New insn patterns.
+
+2019-01-07 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-uncprop.c (ssa_equip_hash_traits): Remove in favor
+ of tree_operand_hash.
+
+2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/88598
+ * tree.h (single_nonzero_element): Declare.
+ * tree.c (single_nonzero_element): New function.
+ * match.pd: Fold certain reductions of X & CST to X[I] & CST[I]
+ if I is the only nonzero element of CST.
+
+2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/88598
+ * tree.h (initializer_each_zero_or_onep): Declare.
+ * tree.c (initializer_each_zero_or_onep): New function.
+ (signed_or_unsigned_type_for): Handle float types too.
+ (unsigned_type_for, signed_type_for): Update comments accordingly.
+ * match.pd: Fold x * { 0 or 1, 0 or 1, ...} to
+ x & { 0 or -1, 0 or -1, ... }.
+
+2019-01-07 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/install.texi: Replace references to x86_64-unknown-linux-gnu
+ with x86_64-pc-linux-gnu.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ PR target/85486
+ * config/nvptx/nvptx.c (has_vector_partitionable_routine_calls_p): New
+ function.
+ (nvptx_goacc_validate_dims): Force vl32 if calling vector-partitionable
+ routines.
+
+2019-01-07 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (vec_extract<mode><ssehalfvecmodelower>): Use
+ V_256_512 iterator instead of V_512 and TARGET_AVX instead of
+ TARGET_AVX512F as condition.
+
+ PR debug/88723
+ * dwarf2out.c (const_ok_for_output_1): Remove redundant call to
+ const_not_ok_for_debug_p target hook.
+ (mem_loc_descriptor) <case UNSPEC>: Only call const_ok_for_output_1
+ on UNSPEC and subexpressions thereof if all subexpressions of the
+ UNSPEC are CONSTANT_P.
+
+ PR tree-optimization/88676
+ * tree-ssa-phiopt.c (two_value_replacement): New function.
+ (tree_ssa_phiopt_worker): Call it.
+
+ PR sanitizer/88619
+ * cfgexpand.c (expand_stack_vars): Only align prev_offset to
+ ASAN_MIN_RED_ZONE_SIZE, not to maximum of that and alignb.
+
+ PR c++/85052
+ * tree-vect-generic.c: Include insn-config.h and recog.h.
+ (expand_vector_piecewise): Add defaulted ret_type argument,
+ if non-NULL, use that in preference to type for the result type.
+ (expand_vector_parallel): Formatting fix.
+ (do_vec_conversion, do_vec_narrowing_conversion,
+ expand_vector_conversion): New functions.
+ (expand_vector_operations_1): Call expand_vector_conversion
+ for VEC_CONVERT ifn calls.
+ * internal-fn.def (VEC_CONVERT): New internal function.
+ * internal-fn.c (expand_VEC_CONVERT): New function.
+ * fold-const-call.c (fold_const_vec_convert): New function.
+ (fold_const_call): Use it for CFN_VEC_CONVERT.
+ * doc/extend.texi (__builtin_convertvector): Document.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx-protos.h (nvptx_output_red_partition): Declare.
+ * config/nvptx/nvptx.c (vector_red_size, vector_red_align,
+ vector_red_partition, vector_red_sym): New global variables.
+ (nvptx_option_override): Initialize vector_red_sym.
+ (nvptx_declare_function_name): Restore red_partition register.
+ (nvptx_file_end): Emit code to declare the vector reduction variables.
+ (nvptx_output_red_partition): New function.
+ (nvptx_expand_shared_addr): Add vector argument. Use it to handle
+ large vector reductions.
+ (enum nvptx_builtins): Add NVPTX_BUILTIN_VECTOR_ADDR.
+ (nvptx_init_builtins): Add VECTOR_ADDR.
+ (nvptx_expand_builtin): Update call to nvptx_expand_shared_addr.
+ Handle nvptx_expand_shared_addr.
+ (nvptx_get_shared_red_addr): Add vector argument and handle large
+ vectors.
+ (nvptx_goacc_reduction_setup): Add offload_attrs argument and handle
+ large vectors.
+ (nvptx_goacc_reduction_init): Likewise.
+ (nvptx_goacc_reduction_fini): Likewise.
+ (nvptx_goacc_reduction_teardown): Likewise.
+ (nvptx_goacc_reduction): Update calls to nvptx_goacc_reduction_{setup,
+ init,fini,teardown}.
+ (nvptx_init_axis_predicate): Initialize vector_red_partition.
+ (nvptx_set_current_function): Init vector_red_partition.
+ * config/nvptx/nvptx.md (UNSPECV_RED_PART): New unspecv.
+ (nvptx_red_partition): New insn.
+ * config/nvptx/nvptx.h (struct machine_function): Add red_partition.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ PR target/85381
+ * config/nvptx/nvptx.c (nvptx_process_pars): Don't emit barriers for
+ empty loops.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (oacc_bcast_partition): Declare.
+ (nvptx_option_override): Init oacc_bcast_partition.
+ (nvptx_init_oacc_workers): New function.
+ (nvptx_declare_function_name): Call nvptx_init_oacc_workers.
+ (nvptx_needs_shared_bcast): New function.
+ (nvptx_find_par): Generalize to enable vectors to use shared-memory
+ to propagate state.
+ (nvptx_shared_propagate): Initialize vector bcast partition and
+ synchronization state.
+ (nvptx_single): Generalize to enable vectors to use shared-memory
+ to propagate state.
+ (nvptx_process_pars): Likewise.
+ (nvptx_set_current_function): Initialize oacc_broadcast_partition.
+ * config/nvptx/nvptx.h (struct machine_function): Add
+ bcast_partition and sync_bar members.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (nvptx_welformed_vector_length_p)
+ (nvptx_apply_dim_limits): New function.
+ (nvptx_goacc_validate_dims_1): Allow PTX_MAX_VECTOR_LENGTH larger than
+ PTX_WARP_SIZE.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Move warnings to
+ as late as possible.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH): Remove.
+ (PTX_DEFAULT_VECTOR_LENGTH, PTX_MAX_VECTOR_LENGTH): Define.
+ (nvptx_goacc_validate_dims_1, nvptx_dim_limit)
+ (nvptx_goacc_reduction_fini): Use PTX_DEFAULT_VECTOR_LENGTH,
+ PTX_MAX_VECTOR_LENGTH and PTX_WARP_SIZE instead of PTX_VECTOR_LENGTH.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add asserts.
+
+2019-01-07 Tom de Vries <tdevries@suse.de>
+
+ * omp-offload.c (oacc_get_min_dim): New function.
+ * omp-offload.h (oacc_get_min_dim): Declare.
+
+2018-12-26 Mateusz B <mateuszb@poczta.onet.pl>
+
+ PR target/88521
+ * config/i386/i386.c (function_value_ms_64): Return small sturct in
+ AX_REG and float/double in FIRST_SSE_REG for 4 or 8 byte modes.
+
+2019-01-05 Jan Hubicka <hubicka@ucw.cz>
+
+ PR tree-opt/86020
+ Revert:
+ 2017-05-22 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline.c (edge_badness): Use inlined_time instead of
+ inline_summaries->get.
+
+2019-01-05 Jan Hubicka <hubicka@ucw.cz>
+
+ * opts.c (enable_fdo_optimizations): Enable
+ version-loops-for-strides, loop-interchange, unrol-and-jam
+ and tree-loop-distribution.
+ * invoke.texi: Document newly enabled options.
+
+2019-01-05 Jan Hubicka <hubicka@ucw.cz>
+
+ * doc/invoke.texi (max-inline-insns-small): New parameters.
+ * ipa-inline.c (want_early_inline_function_p): simplify.
+ (want_inline_small_function_p): Fix pasto from previous patch;
+ use max-inline-insns-small bound.
+ * params.def (max-inline-insns-small): New param.
+ * ipa-fnsummary.c (analyze_function_body): Initialize time/size
+ variables correctly.
+
+2019-01-05 Jan Hubicka <hubicka@ucw.cz>
+
+ * doc/invoke.texi: Document max-inline-insns-size,
+ uninlined-function-insns, uninlined-function-time,
+ uninlined-thunk-insns and uninlined-thunk-time.
+ * params.def: Add max-inline-insns-size,
+ uninlined-function-insns, uninlined-function-time,
+ uninlined-thunk-insns and uninlined-thunk-time.
+ * ipa-fnsummary.c (compute_fn_summary, analyze_function_body): Use
+ new parameters.
+ * ipa-inline.c (can_inline_edge_by_limits_p,
+ want_inline_small_function_p): Use new parameters.
+
+2019-01-05 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-fnsummary.c (analyze_function_body): Fix accounting of time.
+
+2019-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/82564
+ PR target/88620
+ * expr.c (expand_assignment): For calls returning VLA structures
+ if to_rtx is not a MEM, force it into a stack temporary.
+
+ PR debug/88635
+ * dwarf2out.c (const_ok_for_output_1): Reject MINUS that contains
+ SYMBOL_REF, CODE_LABEL or UNSPEC in subexpressions of second argument.
+ Reject PLUS that contains SYMBOL_REF, CODE_LABEL or UNSPEC in
+ subexpressions of both operands.
+ (mem_loc_descriptor): Handle UNSPEC if target hook acks it and all the
+ subrtxes are CONSTANT_P.
+ * config/i386/i386.c (ix86_const_not_ok_for_debug_p): Revert
+ 2018-11-09 changes.
+
+2019-01-04 Jan Hubicka <hubicka@ucw.cz>
+
+ * params.def (hot-bb-count-ws-permille): Set to 990.
+
+2019-01-04 Martin Sebor <msebor@redhat.com>
+
+ PR c/88546
+ * attribs.c (decls_mismatched_attributes): Avoid warning for attribute
+ leaf.
+
+2019-01-04 Martin Sebor <msebor@redhat.com>
+
+ PR c/88363
+ * doc/extend.texi (attribute alloc_align, alloc_size): Update.
+
+2019-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ * gdbinit.in: Turn off pagination for the skip commands, restore
+ it to previous state afterwards.
+
+2019-01-04 Sam Tebbs <sam.tebbs@arm.com>
+
+ PR gcc/87763
+ * gcc.target/aarch64/combine_bfxil.c: Change scan-assembler-times bfxil
+ count to 18.
+
+2019-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/88594
+ * config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead
+ of GET_MODE (opN) as modes of the libcall arguments.
+
+2019-01-04 Jan Beulich <jbeulich@suse.com>
+
+ * config/i386/sse.md
+ (<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>,
+ <avx512>_cmp<mode>3<mask_scalar_merge_name>,
+ <avx512>_ucmp<mode>3<mask_scalar_merge_name>,
+ <avx512>_ucmp<mode>3<mask_scalar_merge_name>,
+ avx512f_vmcmp<mode>3<round_saeonly_name>,
+ avx512f_vmcmp<mode>3_mask<round_saeonly_name>,
+ avx512f_maskcmp<mode>3,
+ <avx512>_cvt<ssemodesuffix>2mask<mode>,
+ <avx512>_cvt<ssemodesuffix>2mask<mode>,
+ *<avx512>_cvtmask2<ssemodesuffix><mode>,
+ *<avx512>_cvtmask2<ssemodesuffix><mode>,
+ <avx512>_eq<mode>3<mask_scalar_merge_name>_1,
+ <avx512>_eq<mode>3<mask_scalar_merge_name>_1,
+ <avx512>_gt<mode>3<mask_scalar_merge_name>,
+ <avx512>_gt<mode>3<mask_scalar_merge_name>,
+ <avx512>_testm<mode>3<mask_scalar_merge_name>,
+ <avx512>_testnm<mode>3<mask_scalar_merge_name>,
+ *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext,
+ *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext_mask,
+ *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext,
+ *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext_mask,
+ avx512cd_maskb_vec_dup<mode>,
+ avx512cd_maskw_vec_dup<mode>,
+ avx512dq_fpclass<mode><mask_scalar_merge_name>,
+ avx512dq_vmfpclass<mode>,
+ avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): Use =k
+ instead of =Yk.
+
+2019-01-03 Martin Sebor <msebor@redhat.com>
+
+ PR tree-optimization/88659
+ * calls.c (maybe_warn_nonstring_arg): Avoid assuming maxlen is set.
+
+2019-01-03 Aaron Sawdey <acsawdey@linux.ibm.com>
+
+ * config/rs6000/rs6000-string.c (expand_block_move): Don't use
+ unaligned vsx and avoid lxvd2x/stxvd2x.
+ (gen_lvx_v4si_move): New function.
+
+2019-01-03 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (MACH_VECTOR_LENGTH, MACH_MAX_WORKERS): Define.
+ (init_axis_dim, nvptx_mach_max_workers, nvptx_mach_vector_length): New
+ function.
+ * config/nvptx/nvptx.h (struct machine_function): Add axis_dims.
+
+2019-01-03 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (struct offload_attrs): New.
+ (populate_offload_attrs): New function. Factor mask extraction out of
+ nvptx_reorg. Add extraction of dimensions.
+ (nvptx_reorg): Use populate_offload_attrs.
+
+2019-01-03 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add early-out
+ cases for oacc_min_dims_p and routine_p. Add asserts for
+ oacc_default_dims_p and offload_region_p.
+
+2019-01-03 Tom de Vries <tdevries@suse.de>
+
+ * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): New function,
+ factored out of ...
+ (nvptx_goacc_validate_dims): ... here.
+
+2019-01-03 Jan Hubicka <hubicka@ucw.cz>
+
+ PR tree-optimization/85574
+ * tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused
+ structure.
+ (struct ssa_equip_hash_traits): Declare.
+ (val_ssa_equiv): Use custom hash traits using operand_equal_p.
+
+2019-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/88644
+ * dwarf2out.c (modified_type_die): If type is equal to sizetype,
+ change it to qualified_type.
+
+2019-01-03 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
+ (ipa_merge_profiles): ... here; do not ICE on thunks and aliases.
+
+2019-01-02 Martin Sebor <msebor@redhat.com>
+ Jeff Law <law@redhat.com>
+
+ * gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
+ (get_range_strlen_tree): Update appropriately.
+ (get_range_strlen)
+ * gimple-fold.h (get_range_strlen): Drop unused last argument.
+
+ * gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
+ rather than set_range_info.
+ * tree-ssa-strlen.c (set_strlen_range): Extracted from
+ maybe_set_strlen_range. Handle potentially boundary crossing
+ cases more conservatively.
+ (maybe_set_strlen_range): Parts refactored into set_strlen_range.
+ Call set_strlen_range.
+ * tree-ssa-strlen.h (set_strlen_range): Add prototype.
+
+ PR middle-end/88663
+ * gimple-fold.c (get_range_strlen): Update prototype to no longer
+ need the flexp argument.
+ (get_range_strlen_tree): Drop flexp argument. Drop flexp argument
+ from calls to get_range_strlen. Update comments. Just update
+ VAL for an unterminated const char array and let the reset of the
+ code handle it normally. No longer try to set *flexp. Adjust
+ return value.
+ (get_range_strlen): Update for the new get_range_strlen API.
+ (get_maxval_strlen): Similarly.
+ (gimple_fold_builtin_strlen): Handle update meaning of return value
+ from get_range_strlen.
+ * gimple-ssa-sprintf.c (get_string_length): Update for the new
+ get_range_strlen API.
+
+2019-01-02 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/88130
+ * varpool.c (varpool_node::ctor_useable_for_folding_p): Also return
+ false at WPA time when body was removed.
+
+2019-01-02 Martin Liska <mliska@suse.cz>
+
+ PR tree-optimization/88650
+ * predict.c (set_even_probabilities): Calculate probability
+ remainer only when really used.
+
+2019-01-02 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/88651
+ * tree-data-ref.c (analyze_subscript_affine_affine): Use
+ widest_ints when mangling max_stmt_execution results.
+
+2019-01-02 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/88621
+ * tree-ssa-loop-im.c (gather_mem_refs_stmt): Fix pastos, avoid
+ bitfields when canoncalizing.
+
+2019-01-02 Richard Biener <rguenther@suse.de>
+
+ PR target/87545
+ * config/i386/x86-tune-costs.h (intel_cost): Adjust
+ cost of cheap SSE instruction.
+
+2019-01-02 Richard Biener <rguenther@suse.de>
+
+ PR ipa/85574
+ * ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare.
+ * ipa-icf.c (sem_item_optimizer::sort_congruence_split): New
+ function.
+ (sem_item_optimizer::do_congruence_step_f): Sort the congruence
+ set after UIDs before splitting them.
+
2019-01-01 Martin Sebor <msebor@redhat.com>
Jeff Law <law@redhat.com>
+ * gimple-fold.c (get_range_strlen_tree): Record if the computed
+ length is optimistic. If it is, then arrange to compute the
+ conservative length as well.
+
* gimple-fold.h (get_range_strlen): Update prototype.
* builtins.c (check_access): Update call to get_range_strlen to use
c_strlen_data pointer. Change various variable accesses to instead