extend.texi (vector_size): Add missing comma after @xref.
[gcc.git] / gcc / ChangeLog
index 368f36affc26c61ffbd858cdfcad20468c147402..7cd02c850d3e2739e7fe7e3f4bfe86bfaee1a6e2 100644 (file)
@@ -1,5 +1,426 @@
+2019-04-25  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * doc/extend.texi (vector_size): Add missing comma after @xref.
+
+2019-04-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * BASE-VER: Set to 10.0.0.
+
+2019-04-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/89765
+       * gimplify.c (gimplify_expr): Avoid turning a lvalue
+       VIEW_CONVERT_EXPR into one operating on an rvalue.
+
+2019-04-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/89929
+       * config/i386/i386.c (feature_priority): Moved to file scope.
+       (processor_features): Likewise.
+       (processor_model): Likewise.
+       (_arch_names_table): Likewise.
+       (arch_names_table): Likewise.
+       (_feature_list): Removed.
+       (feature_list): Likewise.
+       (_isa_names_table): Moved to file scope.  Add priority.
+       (isa_names_table): Likewise.
+       (get_builtin_code_for_version): Replace feature_list with
+       isa_names_table.  Update error message for P_ZERO priority.
+
+2019-04-25  Richard Biener  <rguenther@suse.de>
+
+       * tree-pass.h (make_pass_phi_only_cprop): Remove.
+       * timevar.def (TV_TREE_PHI_CPROP): Likewise.
+
+2019-04-24  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/90037
+       * Makefile.in (OBJS): Remove tree-ssa-phionlycprop.c
+       * passes.def: Replace all instance of phi-only cprop with the
+       lattice propagator.  Move propagation pass from after erroneous
+       path isolation to before erroneous path isolation.
+       * tree-ssa-phionlycprop.c: Remove.
+
+2019-04-24  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/90213
+       * gimple-fold.c (fold_const_aggregate_ref_1): Do multiplication
+       by size and BITS_PER_UNIT on poly-wide-ints.
+
+2019-04-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/90194
+       * match.pd: Add pattern to simplify view-conversion of an
+       empty constructor.
+
+2019-04-24  Clement Chigot  <clement.chigot@atos.net>
+
+       * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Disable
+       OPTION_MASK_VSX and OPTION_MASK_ALTIVEC from rs6000_isa_flags
+       for Go on 32 bit AIX.
+       * config/rs6000/aix72.h: Likewise.
+
+2019-04-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/90193
+       * rtl.c (classify_insn): Return JUMP_INSN for asm goto.
+       * emit-rtl.c (try_split): Copy over REG_LABEL_TARGET.
+
+2019-04-24  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/89952
+       * config/s390/s390.c (s390_restore_gprs_from_fprs): Restore GPRs
+       from FPRs in reverse order.  Generate REG_CFA_DEF_CFA note also
+       for restored hard frame pointer.
+       (s390_sched_dependencies_evaluation): Implement new target hook.
+       (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New macro definition.
+
+2019-04-24  Claudiu Zissulescu  <claziss@sysnopsys.com>
+
+       * config/arc/arc-options.def: Fix typos and spelling mistakes.
+       * config/arc/arc.c (arc_init): Cleanup warning message.
+       (arc_override_options): Likewise.
+
+2019-04-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/90187
+       * config/i386/i386.c (ix86_expand_sse_fp_minmax): Force if_true into
+       a register if both if_true and if_false are MEMs.
+
+       PR tree-optimization/90208
+       * tree-cfg.c (remove_bb): Move forced labels from removed bbs
+       after labels of new_bb, not before them.
+
+       PR tree-optimization/90211
+       * tree-parloops.c (try_create_reduction_list): Ignore phi arguments
+       which are not SSA_NAMEs.
+
+2018-04-23  Sudakshina Das  <sudi.das@arm.com>
+
+       * config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define for
+       AArch64.
+       (aarch64_file_end_indicate_exec_stack): Add gnu note section.
+
+2019-04-23  Roman Zhuykov  <zhroma@ispras.ru>
+
+       PR rtl-optimization/87979
+       * modulo-sched.c (sms_schedule): Start ii value "mii" should
+       not equal zero.
+
+2019-04-23  Roman Zhuykov  <zhroma@ispras.ru>
+
+       PR rtl-optimization/84032
+       * modulo-sched.c (ps_insn_find_column): Change condition so that
+       branch will always be the last insn in a row inside partial
+       schedule.
+
+2019-04-23  Richard Biener  <rguenther@suse.de>
+
+       PR debug/90131
+       * tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Add
+       dest_single_pred_p argument.
+       (remove_forwarder_block): Adjust.
+       (remove_forwarder_block_with_phi): Likewise.
+
+2019-04-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+           Bernd Edlinger  <bernd.edlinger@hotmail.de>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/89093
+       * config/arm/arm.c (aapcs_vfp_is_call_or_return_candidate): Diagnose
+       if used with general-regs-only.
+       (arm_conditional_register_usage): Don't add non-general regs if
+       general-regs-only.
+       (arm_valid_target_attribute_rec): Handle general-regs-only.
+       * config/arm/arm.h (TARGET_HARD_FLOAT): Return false if
+       general-regs-only.
+       (TARGET_HARD_FLOAT_SUB): Define.
+       (TARGET_SOFT_FLOAT): Define as negation of TARGET_HARD_FLOAT_SUB.
+       (TARGET_REALLY_IWMMXT): Add && !TARGET_GENERAL_REGS_ONLY.
+       (TARGET_REALLY_IWMMXT2): Likewise.
+       * config/arm/arm.opt: Add -mgeneral-regs-only.
+       * doc/extend.texi: Document ARM general-regs-only target.
+       * doc/invoke.texi: Document ARM -mgeneral-regs-only.
+
+2019-04-23  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/90078
+       * tree-ssa-loop-ivopts.c (comp_cost::operator +,-,+=,-+,/=,*=): Add
+       checks for infinite_cost overflow.
+
+2019-04-23  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/90021
+       * tree-chrec.c (evolution_function_is_univariate_p): New parameter
+       and check univariate against it.
+       * tree-chrec.h (evolution_function_is_univariate_p): New parameter.
+       * tree-data-ref.c (add_other_self_distances): Pass new argument.
+
+2019-04-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/90178
+       Revert:
+       2018-11-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       Revert the revert:
+       2013-10-26  Vladimir Makarov  <vmakarov@redhat.com>
+
+       Revert:
+       2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * lra-spills.c (lra_final_code_change): Remove useless move insns.
+
+2019-04-21  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/rs6000/rs6000.md (group_end_nop): Emit insn register
+       names using operand format, rather than hard-wired.
+       (speculation_barrier): Likewise.
+
+2019-04-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR tree-optimization/88055
+       * tree-call-cdce.c (comparison_code_if_no_nans): New function.
+       (gen_one_condition): Use it if !HONOR_NANS.
+
+2019-04-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/90139
+       * tree-outof-ssa.c (get_temp_reg): If reg_mode is BLKmode, return
+       assign_temp instead of gen_reg_rtx.
+
+2019-04-19  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR translation/90118
+       * config/aarch64/aarch64.c (aarch64_override_options_internal):
+       Add missing space before %<.
+
+2019-04-18  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR rtl-optimization/87871
+       * ira-lives.c (make_object_dead): Don't add conflicts to
+       TOTAL_CONFLICT_HARD_REGS for register ignore_reg_for_conflicts.
+
+2019-04-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/89797
+       * tree.h (TYPE_VECTOR_SUBPARTS): Use HOST_WIDE_INT_1U.
+       * config/aarch64/aarch64.c (aarch64_simd_vector_alignment): Avoid
+       assuming type size fits in SHWI.
+
+2019-04-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/85051
+       * ipa-inline.c (flatten_function): New parameter UPDATE.
+       (ipa_inline, early_inliner): Use it.
+
+2019-04-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * fold-const.c (int_const_binop): Return early on failure.
+
+2019-04-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/85164
+       * combine.c (force_int_to_mode): Cast the argument rather than
+       the result of known_alignment.
+       * rtlanal.c (rtx_addr_can_trap_p_1): Use known_subrange_p.
+
+2019-04-18  Richard Biener  <rguenther@suse.de>
+
+       PR debug/90131
+       * tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Split
+       out from ...
+       (remove_forwarder_block): ... here.
+       (remove_forwarder_block_with_phi): Also move debug stmts here.
+
+2019-04-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR translation/79183
+       * gimple-ssa-sprintf.c (format_directive): Use inform_n instead of
+       inform where appropriate.
+
+2019-04-18  Richard Biener  <rguenther@suse.de>
+
+       * tree.c (get_qualified_type): Put found type variants at the
+       head of the variant list.
+
+2018-04-17  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.c (rs6000_register_move_cost): Fix typo.
+
+2019-04-17  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/90125
+       * config/i386/avx512fintrin.h (_mm_maskz_fmadd_round_sd,
+       _mm_maskz_fmadd_round_ss, _mm_maskz_fmsub_round_sd,
+       _mm_maskz_fmsub_round_ss, _mm_maskz_fnmadd_round_sd,
+       _mm_maskz_fnmadd_round_ss, _mm_maskz_fnmsub_round_sd,
+       _mm_maskz_fnmsub_round_ss): Use _maskz builtin instead of _mask3.
+
+2019-04-17  Peter Bergner  <bergner@linux.ibm.com>
+
+       * ira-conflicts.c (print_allocno_conflicts): Always print something,
+       even for allocno's with no conflicts.
+       (print_conflicts): Print an extra newline.
+
+2019-04-17  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * auto-inc-dec.c (attempt_change): Set the alignment of the
+       temporary memory to that of the original.
+
+2019-04-17  Joao Moreira  <jmoreira@suse.de>
+
+       * targhooks.c (default_print_patchable_function_entry): Emit
+       __patchable_function_entries section with writable flags to allow
+       relocation resolution.
+
+2019-04-17  Jonny Grant  <jg@jguk.org>
+
+       * collect2.c (main): Change gcc.gnu.org URL to HTTPS.
+
+2019-04-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/90095
+       * internal-fn.c (expand_mul_overflow): Don't set SUBREG_PROMOTED_VAR_P
+       on lowpart SUBREGs.
+
+2019-04-17  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_init): Format diagnostic string.
+       (arc_override_options): Likewise.
+       (check_if_valid_regno_const): Likewise.
+       (arc_reorg): Likewise.
+
+2019-04-17  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/17108
+       * config/rs6000/rs6000.c (rs6000_split_multireg_move): Adjust pattern
+       name.
+       (rs6000_emit_allocate_stack_1): Simplify condition.  Adjust pattern
+       name.
+       * config/rs6000/rs6000.md (bits): Add entries for SF and DF.
+       (*movdi_update1): Use Pmode.
+       (movdi_<mode>_update): Fix argument to avoiding_indexed_address_p.
+       (movdi_<mode>_update_stack): Rename to ...
+       (movdi_update_stack): ... this.  Fix comment.  Change condition. Don't
+       use Pmode.
+       (*movsi_update1): Use Pmode.
+       (*movsi_update2): Use Pmode.
+       (movsi_update): Rename to ...
+       (movsi_<mode>_update): ... this.  Use Pmode.
+       (movsi_update_stack): Fix condition.
+       (*movhi_update1): Use Pmode.  Fix argument to
+       avoiding_indexed_address_p.
+       (*movhi_update2): Ditto.
+       (*movhi_update3): Ditto.
+       (*movhi_update4): Ditto.
+       (*movqi_update1): Ditto.
+       (*movqi_update2): Ditto.
+       (*movqi_update3): Ditto.
+       (*movsf_update1, *movdf_update1): Merge, rename to...
+       (*mov<mode>_update1): This.  Use Pmode.  Fix argument to
+       avoiding_indexed_address_p.  Add "size" attribute.
+       (*movsf_update2, *movdf_update2): Merge, rename to...
+       (*mov<mode>_update2): This.  Ditto.
+       (*movsf_update3): Use Pmode.  Fix argument to
+       avoiding_indexed_address_p.
+       (*movsf_update4): Ditto.
+       (allocate_stack): Simplify condition.  Adjust pattern names.
+
+2019-04-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/89093
+       * config/arm/arm.c (arm_valid_target_attribute_rec): Don't skip
+       whitespace at the start of target attribute string.
+
+2019-04-16  Pat Haugen  <pthaugen@us.ibm.com>
+
+       PR target/84369
+       * config/rs6000/power9.md: Add store forwarding bypass.
+
+2019-04-16  Alexandre Oliva <aoliva@redhat.com>
+
+       PR debug/89528
+       * valtrack.c (dead_debug_insert_temp): Reset debug references
+       to the return value of a call being removed.
+
+2019-04-16  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc-protos.h (arc_register_move_cost): Remove.
+       * config/arc/arc.c (arc_register_move_cost): Re-purpose it to
+       implement target hook.
+       (arc_memory_move_cost): New function.
+       (TARGET_REGISTER_MOVE_COST): Define.
+       (TARGET_MEMORY_MOVE_COST): Likewise.
+       * config/arc/arc.h (REGISTER_MOVE_COST): Remove.
+       (MEMORY_MOVE_COST): Likewise.
+
+2019-04-16  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (sibcall_insn): Use Rcd constraint.
+       (sibcall_value_insn): Likewise.
+       * config/arc/constraints.md (Rs5): Remove.
+
+2019-04-16  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_hard_regno_modes): Add two missing modes
+       for last two fake registers.
+       (arc_conditional_register_usage): Make sure fake frame and arg
+       pointer regs are in general regs class.
+       (FRAME_POINTER_MASK): Remove.
+       (RETURN_ADDR_MASK): Remove.
+       (arc_must_save_register): Use hard frame regnum.
+       (frame_restore_reg): Use hard_frame_pointer_rtx.
+       (arc_save_callee_saves): Likewise.
+       (arc_restore_callee_saves): Likewise.
+       (arc_save_callee_enter): Likewise.
+       (arc_restore_callee_leave): Likewise.
+       (arc_save_callee_milli): Likewise.
+       (arc_eh_return_address_location): Likewise.
+       (arc_check_multi): Use hard frame regnum.
+       (arc_can_eliminate): Likewise.
+       * config/arc/arc.h (FIXED_REGISTERS): Make FP register available
+       for register allocator.
+       (REG_CLASS_CONTENTS): Update GENERAL_REGS.
+       (REGNO_OK_FOR_BASE_P): Consider FRAME_POINTER_REGNUM.
+       (FRAME_POINTER_REGNUM): Change it to a fake register.
+       (HARD_FRAME_POINTER_REGNUM): Defined.
+       (ARG_POINTER_REGNUM): Change it to a new fake register.
+       (ELIMINABLE_REGS): Update.
+       (REGISTER_NAMES): Update names.
+       * config/arc/arc.md (LP_START): Remove.
+       (LP_END): Likewise.
+       (shift_si3_loop): Update pattern.
+
+2019-04-16  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_expand_prologue): Emit blockage regardless
+       to avoid delay slot scheduling.
+       (arc_must_save_register): Don't save SP.
+       * config/arc/arc.md (stack_tie): Remove.
+       (UNSPEC_ARC_STKTIE): Likewise.
+
+2019-04-16  Kito Cheng  <kito.cheng@gmail.com>
+           Shiva Chen  <shiva0217@gmail.com>
+
+       * config/nds32/nds32-md-auxiliary.c (nds32_split_ashiftdi3): Fix wrong
+       code gen with large shift amount.
+
+2019-04-16  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+       * config/nds32/nds32-pipelines-auxiliary.c (wext_odd_dep_p): Handle
+       subreg.
+
 2019-04-16  Jakub Jelinek  <jakub@redhat.com>
 
+       PR target/90096
+       * config/i386/i386.c (ix86_target_string): Add ADD_ABI_P argument, only
+       print -m64/-mx32/-m32 if it is true.
+       (ix86_debug_options, ix86_function_specific_print): Pass true as
+       ADD_ABI_P to ix86_target_string.
+       (ix86_expand_builtin): Adjust ix86_target_string caller, pass true as
+       ADD_ABI_P only if OPTION_MASK_ISA_64BIT is set in bisa and in that case
+       or into it OPTION_MASK_ISA_ABI_64 or OPTION_MASK_ISA_ABI_X32.
+
        PR rtl-optimization/90082
        * dce.c (can_delete_call): New function.
        (deletable_insn_p, mark_insn): Use it.
        * tree-ssa-reassoc.c (init_range_entry): Do not pick up
        abnormal operands from def stmts.
 
+2019-04-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR rtl-optimization/89794
+       * combine.c (count_auto_inc): New function.
+       (try_combine): Count how many auto_inc expressions there were in the
+       original instructions.  Ensure we have the same number in the new
+       instructions.  Remove the code that tried to ensure auto_inc side
+       effects on i1 and i0 are not lost.
+
 2019-04-15  Richard Biener  <rguenther@suse.de>
 
        PR ipa/88936