+2019-01-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/88965
+ * config/rs6000/rs6000.c: Include tree-vrp.h and tree-ssanames.h.
+ (rs6000_gimple_fold_builtin): If MEM_REF address doesn't satisfy
+ is_gimple_mem_ref_addr predicate, force it into a SSA_NAME first.
+
+ PR middle-end/88968
+ * gimplify.c (gimplify_omp_atomic): Handle bitfield atomics with
+ non-integral DECL_BIT_FIELD_REPRESENTATIVEs.
+
+ PR target/87064
+ * config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v2df_scalar):
+ Disable for little endian.
+
+2019-01-22 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/88469
+ * config/arm/arm.c (arm_needs_double_word_align): Check
+ DECL_BIT_FIELD_TYPE.
+
+2019-01-22 Hongtao Liu <hongtao.liu@intel.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/88909
+ * config/i386/i386-builtin.def: Add mask2 to all builtin
+ initializations. Merge ARGS2 and SPECIAL_ARGS2 into ARGS and
+ SPECIAL_ARGS.
+ * config/i386/i386.c (BDESC): Add mask2 to the definition.
+ (BDESC_FIRST): Likewise.
+ (define_builtin): Add an argument for mask2. Updated to handle
+ both ix86_isa_flags and ix86_isa_flags2.
+ (define_builtin_const): Likewise.
+ (define_builtin_pure): Likewise.
+ (define_builtin2): Deleted.
+ (define_builtin_const2): Likewise.
+ (builtin_description): Add a member, mask2.
+ (bdesc_*): Add mask2 to builtin initializations.
+ (ix86_init_mmx_sse_builtins): Update calls to def_builtin,
+ def_builtin_const and def_builtin_pure. Remove SPECIAL_ARGS2
+ support.
+ (ix86_get_builtin_func_type): Remove SPECIAL_ARGS2 support.
+
+2019-01-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/88954
+ * config/i386/i386.c (ix86_force_load_from_GOT_p): Also check
+ noplt attribute.
+
+2019-01-22 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/88469
+ * config/arm/arm.c (arm_needs_doubleword_align): Return 2 if a record's
+ alignment is dominated by a bitfield with 64-bit aligned base type.
+ (arm_function_arg): Emit a warning if the alignment has changed since
+ earlier GCC releases.
+ (arm_function_arg_boundary): Likewise.
+ (arm_setup_incoming_varargs): Likewise.
+
+2019-01-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/88862
+ * graphite-scop-detection.c
+ (scop_detection::graphite_can_represent_scev): Reject ADDR_EXPR.
+
+2019-01-22 Andrew Stubbs <ams@codesourcery.com>
+
+ * doc/extend.tex (AMD GCN Function Attributes): New section.
+ * doc/install.texi (amdgcn-unknown-amdhsa): New instructions.
+ * doc/invoke.texi (AMD GCN Options): New section.
+ * doc/md.texi (Constraints for Particular Machines): Add AMD GCN.
+
+2019-01-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (parc_delegitimize_address): Recognize the GOT
+ register and decoded HIGH/LO_SUM combinations for labels in PIC mode.
+
+2019-01-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/88044
+ * tree-ssa-loop-niter.c (number_of_iterations_cond): If condition
+ is false in the first iteration, but !every_iteration, return false
+ instead of true with niter->niter zero.
+
+ PR rtl-optimization/88904
+ * cfgcleanup.c (thread_jump): Verify cond2 doesn't mention
+ any nonequal registers before processing BB_END (b).
+
+ PR target/88905
+ * optabs.c (add_equal_note): Add op0_mode argument, use it instead of
+ GET_MODE (op0).
+ (expand_binop_directly, expand_doubleword_clz,
+ expand_doubleword_popcount, expand_ctz, expand_ffs,
+ expand_unop_direct, maybe_emit_unop_insn): Adjust callers.
+
+ PR rtl-optimization/49429
+ PR target/49454
+ PR rtl-optimization/86334
+ PR target/88906
+ * expr.c (emit_block_move_hints): Move marking of MEM_EXPRs
+ addressable from here...
+ (emit_block_op_via_libcall): ... to here.
+
+2019-01-22 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.c (vect_analyze_loop_operations): Use
+ auto_vec for cost vector to fix memleak.
+ (vectorize_fold_left_reduction): Properly gather SLP defs.
+ (vectorizable_comparison): Do not swap operands to properly
+ gather SLP defs.
+
+2019-01-22 Alan Modra <amodra@gmail.com>
+
+ PR target/88614
+ * config/rs6000/predicates.md (unspec_tls): Ensure GOT reg
+ stays a reg. Allow a const_int.
+ * config/rs6000/rs6000-protos.h (rs6000_output_tlsargs): Declare.
+ * config/rs6000/rs6000.h (IS_V4_FP_ARGS): Define.
+ (IS_NOMARK_TLSGETADDR): Define.
+ * config/rs6000/rs6000.c (edit_tls_call_insn): Delete.
+ (rs6000_output_tlsargs): New function.
+ (rs6000_legitimize_tls_address): Don't say a !TARGET_TLS_MARKERS
+ __tls_get_addr call takes an arg.
+ (rs6000_call_sysv): Generate sysv4 secure plt call pattern here..
+ * config/rs6000/rs6000.md (call_nonlocal_sysv): ..rather than here,
+ delete split..
+ (call_value_nonlocal_sysv): ..or here, delete split.
+ (tls_gdld_nomark): Delete.
+ (call_value_indirect_nonlocal_sysv): Use unspec_tls as operand2
+ predicate. Call rs6000_output_tlsargs. Adjust length to suit.
+ (call_value_nonlocal_sysv): Likewise.
+ (call_value_nonlocal_sysv_secure): Likewise.
+ (call_value_nonlocal_aix): Likewise.
+ (call_value_indirect_aix): Likewise.
+ (call_value_indirect_elfv2): Likewise.
+ (call_value_local32, call_value_local64): Disable for no-mark tls.
+ (call_value_local_aix): Likewise.
+
+2019-01-21 Uroš Bizjak <ubizjak@gmail.com>
+
+ PR target/88938
+ * config/i386/i386.c (ix86_expand_builtin) [case IX86_BUILTIN_BEXTRI32,
+ case IX86_BUILTIN_BEXTRI64]: Sanitize operands.
+
+2019-01-21 Michael Ploujnikov <michael.ploujnikov@oracle.com>
+
+ * hash-map-tests.c (test_map_of_strings_to_int): Show how to use
+ string contents as hash_map keys.
+
+2019-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR c/88928
+ * c-warn.c (check_alignment_of_packed_member): Add a boolean parameter
+ for rvalue context. Handle rvalues correctly. Use min_align_of_type
+ instead of TYPE_ALIGN.
+ (check_address_or_pointer_of_packed_member): Handle rvalues coorrectly.
+ Use min_align_of_type instead of TYPE_ALIGN_UNIT. Check for NULL
+ pointer from TYPE_STUB_DECL.
+
+2019-01-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/88934
+ * tree-vect-slp.c (vect_mask_constant_operand_p): Always look
+ at the possibly non-constant operand.
+ (vect_get_constant_vectors): Adjust.
+
+2019-01-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/71659
+ * config/i386/adxintrin.h: Just check _IMMINTRIN_H_INCLUDED.
+ * config/i386/clflushoptintrin.h: Check _IMMINTRIN_H_INCLUDED
+ instead of _X86INTRIN_H_INCLUDED.
+ * onfig/i386/clwbintrin.h: Likewise.
+ * config/i386/pkuintrin.h: Likewise.
+ * config/i386/prfchwintrin.h: Likewise.
+ * config/i386/rdseedintrin.h: Likewise.
+ * config/i386/wbnoinvdintrin.h: Likewise.
+ * config/i386/xsavecintrin.h: Likewise.
+ * config/i386/xsavesintrin.h: Likewise.
+ * config/i386/fxsrintrin.h: Enable _IMMINTRIN_H_INCLUDED check.
+ * config/i386/xsaveintrin.h: Likewise.
+ * config/i386/xsaveoptintrin.h: Likewise.
+ * config/i386/x86intrin.h: Move "#include" <rdseedintrin.h>,
+ <prfchwintrin.h>, <fxsrintrin.h>, <xsaveintrin.h>,
+ <xsaveoptintrin.h>, <adxintrin.h>, <clwbintrin.h>,
+ <clflushoptintrin.h>, <xsavesintrin.h>, <xsavecintrin.h>,
+ <wbnoinvdintrin.h> and <pkuintrin.h> to ...
+ * config/i386/immintrin.h: Here.
+
+2019-01-20 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/87615
+ * ipa-prop.h (struct ipa_func_body_info): Replaced field aa_walked
+ with aa_walk_budget.
+ * cgraph.h (ipa_polymorphic_call_context::get_dynamic_type): Add
+ aa_walk_budget_p parameter.
+ * ipa-fnsummary.c (unmodified_parm_1): New parameter fbi. Limit AA
+ walk. Updated all callers.
+ (unmodified_parm): New parameter fbi, pass it to unmodified_parm_1.
+ (eliminated_by_inlining_prob): New parameter fbi, pass it on to
+ unmodified_parm.
+ (will_be_nonconstant_expr_predicate): New parameter fbi, removed
+ parameter info. Extract info from fbi. Pass fbi to recursive calls
+ and to unmodified_parm.
+ (phi_result_unknown_predicate): New parameter fbi, removed parameter
+ info, updated call to will_be_nonconstant_expr_predicate.
+ (param_change_prob): New parameter fbi, limit AA walking.
+ (analyze_function_body): Initialize aa_walk_budget in fbi. Update
+ calls to various above functions.
+ * ipa-polymorphic-call.c (get_dynamic_type): Add aa_walk_budget_p
+ parameter. Use it to limit AA walking.
+ * ipa-prop.c (detect_type_change_from_memory_writes): New parameter
+ fbi, limit AA walk.
+ (detect_type_change): New parameter fbi, pass it on to
+ detect_type_change_from_memory_writes.
+ (detect_type_change_ssa): Likewise.
+ (aa_overwalked): Removed.
+ (parm_preserved_before_stmt_p): Assume fbi is never NULL, stream line
+ accordingly, adjust to the neew AA limiting scheme.
+ (parm_ref_data_preserved_p): Likewise.
+ (ipa_compute_jump_functions_for_edge): Adjust call to
+ get_dynamic_type.
+ (ipa_analyze_call_uses): Likewise.
+ (ipa_analyze_virtual_call_uses): Pass fbi to detect_type_change_ssa.
+ (ipa_analyze_node): Initialize aa_walk_budget.
+ (ipcp_transform_function): Likewise.
+ * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt): Update call
+ to get_dynamic_type.
+
+2019-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ * config/aarch64/aarch64.c (aarch64_stack_protect_guard): Move
+ outside of #if CHECKING_P code.
+
+2019-01-19 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gimple-loop-versioning.cc (loop_versioning::dump_inner_likelihood):
+ New function, split out from...
+ (loop_versioning::analyze_stride): ...here.
+ (loop_versioning::find_per_loop_multiplication): Use gassign.
+ (loop_versioning::analyze_term_using_scevs): Return a success code.
+ (loop_versioning::analyze_arbitrary_term): New function.
+ (loop_versioning::analyze_address_fragment): Use
+ analyze_arbitrary_term if all else fails.
+
+2019-01-18 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/88892
+ * config/rs6000/rs6000.md (*movsi_from_df): Allow only register
+ operands.
+
+2019-01-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/88903
+ * tree-vect-stmts.c (vectorizable_shift): Verify we see all
+ scalar stmts a SLP shift amount is composed of when detecting
+ shifts by scalars.
+
+2019-01-18 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/88799
+ * config/arm/arm-cpus.in (mp): New feature.
+ (sec): New feature.
+ (fgroup ARMv7ve): Add mp and sec features.
+ (arch armv7-a): Add options to allow mp and sec extensions.
+ (cpu generic-armv7-a): Add options to allow mp and sec extensions.
+ (cpu cortex-a5, cpu cortex-7, cpu cortex-a9): Add mp and sec
+ extenstions to the base architecture.
+ (cpu cortex-a8): Add sec extension to the base architecture.
+ (cpu marvell-pj4): Add mp and sec extensions to the base architecture.
+ * config/arm/t-aprofile (MULTILIB_MATCHES): Map all armv7-a arch
+ variants down to the base v7-a varaint.
+ * config/arm/t-multilib (v7_a_arch_variants): New variable.
+ * doc/invoke.texi (ARM Options): Add +mp and +sec to the list
+ of permitted extensions for -march=armv7-a and for
+ -mcpu=generic-armv7-a.
+
+2019-01-18 Martin Liska <mliska@suse.cz>
+
+ * params.def: Fix comment.
+ * tree-profile.c (gimple_init_gcov_profiler): Bump function
+ name.
+ (gimple_gen_ic_func_profiler): Likewise.
+
+2019-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/aarch64/aarch64-opts.h (enum stack_protector_guard): New
+ * config/aarch64/aarch64.c (aarch64_override_options_internal): Handle
+ and put in error checks for stack protector guard options.
+ (aarch64_stack_protect_guard): New.
+ (TARGET_STACK_PROTECT_GUARD): Define.
+ * config/aarch64/aarch64.md (UNSPEC_SSP_SYSREG): New.
+ (reg_stack_protect_address<mode>): New.
+ (stack_protect_set): Adjust for SSP_GLOBAL.
+ (stack_protect_test): Likewise.
+ * config/aarch64/aarch64.opt (-mstack-protector-guard-reg): New.
+ (-mstack-protector-guard): Likewise.
+ (-mstack-protector-guard-offset): Likewise.
+
+2019-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/86214
+ * tree-inline.h (struct copy_body_data): Add
+ add_clobbers_to_eh_landing_pads member.
+ * tree-inline.c (add_clobbers_to_eh_landing_pad): New function.
+ (copy_edges_for_bb): Call it if EH edge destination is <
+ id->add_clobbers_to_eh_landing_pads. Fix a comment typo.
+ (expand_call_inline): Set id->add_clobbers_to_eh_landing_pads
+ if flag_stack_reuse != SR_NONE and clear it afterwards.
+
+2019-01-18 Christophe Lyon <christophe.lyon@linaro.org>
+
+ PR target/85596
+ * doc/install.texi (with-multilib-list): Document for aarch64.
+
+2019-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/88734
+ * config/arm/arm_neon.h: Fix #pragma GCC target syntax - replace
+ (("..."))) with ("...").
+
+2019-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * doc/extend.texi (Built-in Functions for Memory Model Aware
+ Atomic Operations): Document atomic fetch and nand.
+
+2019-01-18 Martin Liska <mliska@suse.cz>
+ Richard Biener <rguenther@suse.de>
+
+ PR middle-end/88587
+ * cgraph.h (create_version_clone_with_body): Add new argument
+ with attributes.
+ * cgraphclones.c (cgraph_node::create_version_clone): Add
+ DECL_ATTRIBUTES to a newly created decl. And call
+ valid_attribute_p so that proper cl_target_optimization_node
+ is set for the newly created declaration.
+ * multiple_target.c (create_target_clone): Set DECL_ATTRIBUTES
+ for declaration.
+ (expand_target_clones): Do not call valid_attribute_p, it must
+ be already done.
+ * tree-inline.c (copy_decl_for_dup_finish): Reset mode for
+ vector types.
+
+2019-01-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/88734
+ * config/aarch64/arm_neon.h: Fix #pragma GCC target syntax - replace
+ (("..."))) with ("..."). Use arch=armv8.2-a+sha3 instead of
+ arch=armv8.2-a+crypto for vsha512hq_u64 etc. intrinsics.
+
+2019-01-17 Martin Sebor <msebor@redhat.com>
+
+ PR middle-end/88273
+ * gimple-ssa-warn-restrict.c (builtin_memref::extend_offset_range):
+ Handle anti-ranges the same as no range at all.
+
+2018-01-17 Steve Ellcey <sellcey@cavium.com>
+
+ * config/aarch64/aarch64.c (cgraph.h): New include.
+ (intl.h): New include.
+ (supported_simd_type): New function.
+ (currently_supported_simd_type): Ditto.
+ (aarch64_simd_clone_compute_vecsize_and_simdlen): Ditto.
+ (aarch64_simd_clone_adjust): Ditto.
+ (aarch64_simd_clone_usable): Ditto.
+ (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New macro.
+ (TARGET_SIMD_CLONE_ADJUST): Ditto.
+ (TARGET_SIMD_CLONE_USABLE): Ditto.
+ * config/i386/i386.c (ix86_simd_clone_adjust): Add definition check.
+ * omp-simd-clone.c (expand_simd_clones): Add targetm.simd_clone.adjust
+ call.
+
+2019-01-17 Martin Sebor <msebor@redhat.com>
+
+ PR tree-optimization/88800
+ * gimple-fold.c (gimple_fold_builtin_memory_op): Avoid checking
+ NO_WARNING bit here. Avoid folding out-of-bounds calls.
+ * gimple-ssa-warn-restrict.c (maybe_diag_offset_bounds): Remove
+ redundant argument. Add new argument and issue diagnostics under
+ its control. Detect out-of-bounds access even with warnings
+ disabled.
+ (check_bounds_or_overlap): Change return type. Add argument.
+ (wrestrict_dom_walker::check_call): Adjust.
+ * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Add argument.
+ * tree-ssa-strlen.c (handle_builtin_strcpy): Adjust to change in
+ check_bounds_or_overlap's return value.
+ (handle_builtin_stxncpy): Same.
+ (handle_builtin_strcat): Same.
+
+2019-01-17 Andrew Stubbs <ams@codesourcery.com>
+ Kwok Cheung Yeung <kcy@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
+
+ * doc/sourcebuild.texi: Document dg-add-options sqrt_insn.
+
+2019-01-17 Andrew Stubbs <ams@codesourcery.com>
+
+ * doc/sourcebuild.texi: Document dg-require-effective-target
+ llvm_binutils and offload_gcn.
+
+2019-01-17 Andrew Stubbs <ams@codesourcery.com>
+ Kwok Cheung Yeung <kcy@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
+
+ * doc/sourcebuild.texi: Document dg-required-effective-target
+ exceptions.
+
+2019-01-17 Andrew Stubbs <ams@codesourcery.com>
+ Kwok Cheung Yeung <kcy@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
+ Jan Hubicka <hubicka@ucw.cz>
+ Martin Jambor <mjambor@suse.cz>
+
+ * config.gcc: Add amdgcn*-*-amdhsa configuration.
+ * configure.ac: Check for dlopen.
+ * configure: Regenerate.
+
+2019-01-17 Andrew Stubbs <ams@codesourcery.com>
+ Kwok Cheung Yeung <kcy@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
+ Jan Hubicka <hubicka@ucw.cz>
+ Martin Jambor <mjambor@suse.cz>
+
+ * common/config/gcn/gcn-common.c: New file.
+ * config/gcn/driver-gcn.c: New file.
+ * config/gcn/gcn-builtins.def: New file.
+ * config/gcn/gcn-hsa.h: New file.
+ * config/gcn/gcn-modes.def: New file.
+ * config/gcn/gcn-opts.h: New file.
+ * config/gcn/gcn-passes.def: New file.
+ * config/gcn/gcn-protos.h: New file.
+ * config/gcn/gcn-run.c: New file.
+ * config/gcn/gcn-tree.c: New file.
+ * config/gcn/gcn.c: New file.
+ * config/gcn/gcn.h: New file.
+ * config/gcn/gcn.opt: New file.
+ * config/gcn/t-gcn-hsa: New file.
+
+2019-01-17 Andrew Stubbs <ams@codesourcery.com>
+ Kwok Cheung Yeung <kcy@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
+ Jan Hubicka <hubicka@ucw.cz>
+ Martin Jambor <mjambor@suse.cz>
+
+ * config/gcn/constraints.md: New file.
+ * config/gcn/gcn-valu.md: New file.
+ * config/gcn/gcn.md: New file.
+ * config/gcn/predicates.md: New file.
+
+2019-01-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple-ssa-isolate-paths.c (stmt_uses_name_in_undefined_way): Replace
+ flag_non_call_exceptions with cfun->can_throw_non_call_exceptions.
+ (stmt_uses_0_or_null_in_undefined_way): Likewise.
+ * tree-ssa-alias.c (same_addr_size_stores_p): Likewise.
+
2019-01-17 Tamar Christina <tamar.christina@arm.com>
PR target/88851