| 2023-05-29 Release Manager |
| |
| * GCC 11.4.0 released. |
| |
| 2023-05-22 Michael Meissner <meissner@linux.ibm.com> |
| |
| PR target/70243 |
| * config/rs6000/vsx.md (vsx_fmav4sf4): Do not generate vmaddfp. Back |
| port from master 04/10/2023. |
| (vsx_nfmsv4sf4): Do not generate vnmsubfp. |
| |
| 2023-05-16 Simon Wright <simon@pushface.org> |
| |
| Backported from master: |
| 2022-06-12 Simon Wright <simon@pushface.org> |
| |
| PR target/104871 |
| * config/darwin-driver.c (darwin_find_version_from_kernel): If the OS |
| version is darwin20 (macOS 11) or greater, truncate the version to the |
| major number. |
| |
| 2023-05-16 Mark Mentovai <mark@mentovai.com> |
| |
| Backported from master: |
| 2022-06-12 Mark Mentovai <mark@mentovai.com> |
| |
| * config/darwin-c.c: Make -mmacosx-version-min more future-proof. |
| |
| 2023-05-16 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2022-05-29 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/105599 |
| * config/darwin.h: Move versions-specific handling of multiply_defined |
| from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC. |
| |
| 2023-05-16 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2021-12-24 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config.gcc: Emit L2_MAX_OFILE_ALIGNMENT with suitable |
| values for the host. |
| * config/darwin.c (darwin_emit_common): Error for alignment |
| values > 32768. |
| * config/darwin.h (MAX_OFILE_ALIGNMENT): Rework to use the |
| configured L2_MAX_OFILE_ALIGNMENT. |
| |
| 2023-05-16 François-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-12-18 François-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * config/darwin-driver.c: Make version code more future-proof. |
| * config.gcc: Homogeneize darwin versions. |
| * configure.ac: Homogeneize darwin versions. |
| * configure: Regenerate. |
| |
| 2023-05-15 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/i386/darwin.h (ENDFILE_SPEC): Fix trailing '\'. |
| |
| 2023-05-15 liuhongt <hongtao.liu@intel.com> |
| |
| * config/i386/cygwin.h (ENDFILE_SPEC): Link crtfastmath.o |
| whenever -mdaz-ftz is specified. Don't link crtfastmath.o |
| when -mno-daz-ftz is specified. |
| * config/i386/darwin.h (ENDFILE_SPEC): Ditto. |
| * config/i386/gnu-user-common.h |
| (GNU_USER_TARGET_MATHFILE_SPEC): Ditto. |
| * config/i386/mingw32.h (ENDFILE_SPEC): Ditto. |
| * config/i386/i386.opt (mdaz-ftz): New option. |
| * doc/invoke.texi (x86 options): Document mftz-daz. |
| |
| 2023-05-09 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-05-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/109778 |
| * wide-int.h (wi::lrotate, wi::rrotate): Call wi::lrshift on |
| wi::zext (x, width) rather than x if width != precision, rather |
| than using wi::zext (right, width) after the shift. |
| * tree-ssa-ccp.c (bit_value_binop): Call wi::ext on the results |
| of wi::lrotate or wi::rrotate. |
| |
| 2023-05-09 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2023-03-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/108950 |
| * tree-vect-patterns.c (vect_recog_widen_sum_pattern): |
| Check oprnd0 is defined in the loop. |
| * tree-vect-loop.c (vectorizable_reduction): Record all |
| operands vector types, compute that of invariants and |
| properly update their SLP nodes. |
| |
| 2023-05-05 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-11-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/107898 |
| * gimple-ssa-warn-alloca.c (alloca_call_type): Check |
| the type of the alloca argument is compatible with size_t |
| before querying ranges. |
| |
| 2023-05-03 Arsen Arsenović <arsen@aarsen.me> |
| |
| * doc/extend.texi: Replace @itemx not being preceded by @item. |
| |
| 2023-05-03 Anthony Sharp <anthonysharp15@gmail.com> |
| |
| Backported from master: |
| 2021-08-27 Anthony Sharp <anthonysharp15@gmail.com> |
| |
| * symbol-summary.h: Added missing template keyword. |
| |
| 2023-05-03 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/109473 |
| * tree-vect-loop.c (get_initial_def_for_reduction): |
| Convert the scalar values to the vector component type |
| before using it to build the vector for the initial value. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/109410 |
| * tree-ssa-reassoc.c (build_and_add_sum): Split edge from entry |
| block if first statement of the function is a call to returns_twice |
| function. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-03-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/106190 |
| * sanopt.c (pass_sanopt::execute): Return TODO_cleanup_cfg if any |
| of the IFN_{UB,HWA,A}SAN_* internal fns are lowered. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-03-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/109276 |
| * config/i386/i386.c (assign_386_stack_local): For DImode |
| with SLOT_FLOATxFDI_387 and -m32 -mpreferred-stack-boundary=2 pass |
| align 32 rather than 0 to assign_stack_local. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-03-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/105685 |
| * predict.c (compute_function_frequency): Don't call |
| warn_function_cold if function already has cold attribute. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-03-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/109176 |
| * tree-vect-generic.c (expand_vector_condition): If a has |
| vector boolean type and is a comparison, also check if both |
| the comparison and VEC_COND_EXPR could be successfully expanded |
| individually. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-03-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/105554 |
| * function.h (push_struct_function): Add ABSTRACT_P argument defaulted |
| to false. |
| * function.c (push_struct_function): Add ABSTRACT_P argument, pass it |
| to allocate_struct_function instead of false. |
| * tree-inline.c (initialize_cfun): Don't copy DECL_ARGUMENTS |
| nor DECL_RESULT here. Pass true as ABSTRACT_P to |
| push_struct_function. Call targetm.target_option.relayout_function |
| after it. |
| (tree_function_versioning): Formatting fix. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-03-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/108685 |
| * omp-expand.c (expand_omp_for_ordered_loops): Add L0_BB argument, |
| use its loop_father rather than BODY_BB's loop_father. |
| (expand_omp_for_generic): Adjust expand_omp_for_ordered_loops caller. |
| If broken_loop with ordered > collapse and at least one of those |
| extra loops aren't guaranteed to have at least one iteration, change |
| l0_bb's loop_father to entry_bb's loop_father. Set cont_bb's |
| loop_father to l0_bb's loop_father rather than l1_bb's. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-03-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR testsuite/108973 |
| * selftest-diagnostic.c |
| (test_diagnostic_context::test_diagnostic_context): Set |
| caret_max_width to 80. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-03-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/108967 |
| * cfgexpand.c (expand_debug_expr): Handle WIDEN_{PLUS,MINUS}_EXPR |
| and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-02-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/108854 |
| * cgraphclones.c (duplicate_thunk_for_node): If no parameter |
| changes are needed, copy at least DECL_ARGUMENTS PARM_DECL |
| nodes and adjust their DECL_CONTEXT. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-02-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/108881 |
| * config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16hi, |
| __builtin_ia32_cvtne2ps2bf16_v16hi_mask, |
| __builtin_ia32_cvtne2ps2bf16_v16hi_maskz, |
| __builtin_ia32_cvtne2ps2bf16_v8hi, |
| __builtin_ia32_cvtne2ps2bf16_v8hi_mask, |
| __builtin_ia32_cvtne2ps2bf16_v8hi_maskz, |
| __builtin_ia32_cvtneps2bf16_v8sf_mask, |
| __builtin_ia32_cvtneps2bf16_v8sf_maskz, |
| __builtin_ia32_cvtneps2bf16_v4sf_mask, |
| __builtin_ia32_cvtneps2bf16_v4sf_maskz, |
| __builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask, |
| __builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf, |
| __builtin_ia32_dpbf16ps_v4sf_mask, |
| __builtin_ia32_dpbf16ps_v4sf_maskz): Require also |
| OPTION_MASK_ISA_AVX512VL. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-02-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/100758 |
| * common/config/i386/cpuinfo.h (cpu_indicator_init): Call |
| get_available_features for all CPUs with max_level >= 1, rather |
| than just Intel or AMD. |
| |
| 2023-05-02 Andrew Pinski <apinski@marvell.com> |
| |
| Backported from master: |
| 2023-02-09 Andrew Pinski <apinski@marvell.com> |
| |
| PR tree-optimization/108688 |
| * match.pd (bit_field_ref [bit_insert]): Avoid generating |
| BIT_FIELD_REFs of non-mode-precision integral operands. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/108692 |
| * tree-vect-patterns.c (vect_widened_op_tree): If rhs_code is |
| widened_code which is different from code, don't call |
| vect_look_through_possible_promotion but instead just check op is |
| SSA_NAME with integral type for which vect_is_simple_use is true |
| and call set_op on this_unprom. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-02-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/108435 |
| * tree-nested.c (convert_nonlocal_omp_clauses) |
| <case OMP_CLAUSE_LASTPRIVATE>: If info->new_local_var_chain and *seq |
| is not a GIMPLE_BIND, wrap the sequence into a new GIMPLE_BIND |
| before calling declare_vars. |
| (convert_nonlocal_omp_clauses) <case OMP_CLAUSE_LINEAR>: Merge |
| with the OMP_CLAUSE_LASTPRIVATE handling except for whether |
| seq is initialized to &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause) |
| or &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause). |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/108573 |
| * ree.c (combine_reaching_defs): Don't return false for paradoxical |
| subregs in DEBUG_INSNs. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-01-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/108596 |
| * bb-reorder.c (fix_up_fall_thru_edges): Handle the case where cur_bb |
| ends with asm goto and has a crossing fallthrough edge to the same bb |
| that contains at least one of its labels by restoring EDGE_CROSSING |
| flag even on possible edge from cur_bb to new_bb successor. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR other/108560 |
| * doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len |
| from size_t to int. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-01-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/108498 |
| * gimple-ssa-store-merging.c (class store_operand_info): |
| End coment with full stop rather than comma. |
| (split_group): Likewise. |
| (merged_store_group::apply_stores): Clear string_concatenation if |
| start or end aren't on a byte boundary. |
| |
| 2023-05-02 Eric Biggers <ebiggers@google.com> |
| |
| Backported from master: |
| 2023-01-24 Eric Biggers <ebiggers@google.com> |
| |
| PR bootstrap/90543 |
| * optc-save-gen.awk: Fix copy-and-paste error. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/108459 |
| * omp-expand.c (expand_omp_for_init_counts): Use fold_build1 rather |
| than fold_unary for NEGATE_EXPR. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-01-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/108237 |
| * generic-match-head.c: Include tree-pass.h. |
| (canonicalize_math_p, optimize_vectors_before_lowering_p): Define |
| to false if cfun and cfun->curr_properties has PROP_gimple_opt_math |
| resp. PROP_gimple_lvec property set. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-01-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/108264 |
| * expr.c (store_expr): For stores into SUBREG_PROMOTED_* targets |
| from source which doesn't have scalar integral mode first convert |
| it to outer_mode. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-12-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/108068 |
| * tree.h (real_maybe_zerop): Declare. |
| * tree.c (real_maybe_zerop): Define. |
| * tree-ssa-dom.c (record_edge_info): Use it instead of |
| real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop. Always set |
| can_infer_simple_equiv to false for decimal floating point types. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-12-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/108193 |
| * cse.c (compute_const_anchors): Change n type to |
| unsigned HOST_WIDE_INT, adjust comparison against it to avoid |
| warnings. Formatting fix. |
| (insert_const_anchor): Use gen_int_mode instead of GEN_INT. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-12-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/106751 |
| * loop-invariant.c (move_invariant_reg): If preheader bb ends |
| with a JUMP_INSN, split the preheader edge and emit invariants |
| into the new preheader basic block. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-12-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/108095 |
| * tree-into-ssa.c (maybe_register_def): Insert debug stmt |
| on all non-EH edges from asm goto if they have a single |
| predecessor rather than asserting there is at most one such edge. |
| Test whether there are no PHI nodes next to the single predecessor |
| test. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-12-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/107997 |
| * tree-ssa-loop-ivopts.c: Include cfganal.h. |
| (create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends |
| with a stmt which ends bb, instead of adding iv update after it split |
| the latch edge and insert iterator into the new latch bb. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-12-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/106719 |
| * cfgbuild.c (find_bb_boundaries): If there are NOTEs in between |
| debug_insn (seen after flow_transfer_insn) and insn, move NOTEs |
| before all the DEBUG_INSNs and split after NOTEs. If there are |
| other insns like jump table data, clear debug_insn. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-11-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/106875 |
| * config/i386/i386.opt (x_ix86_abi): Remove TargetSave. |
| (ix86_abi): Replace it with TargetVariable. |
| * config/i386/i386-options.c (ix86_function_specific_save, |
| ix86_function_specific_restore): Don't save and restore x_ix86_abi. |
| |
| 2023-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-11-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/107317 |
| * asan.c: Include diagnostic-core.h. |
| (asan_emit_stack_protection): Return NULL early if seen_error (). |
| |
| 2023-05-02 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2023-02-17 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/108821 |
| * tree-ssa-loop-im.c (sm_seq_valid_bb): We can also not |
| move volatile accesses. |
| |
| 2023-05-02 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2023-03-27 Richard Biener <rguenther@suse.de> |
| |
| PR lto/109263 |
| * lto-wrapper.c (run_gcc): Parse alternate debug options |
| as well, they always enable debug. |
| |
| 2023-05-02 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2023-04-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/109573 |
| * tree-vect-loop.c (vectorizable_live_operation): Allow |
| unhandled SSA copy as well. Demote assert to checking only. |
| |
| 2023-05-02 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2023-04-25 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/109585 |
| * tree-ssa-alias.c (aliasing_component_refs_p): Fix typo. |
| |
| 2023-05-02 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2023-04-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/109502 |
| * tree-vect-stmts.c (vectorizable_assignment): Fix |
| check for conversion between mask and non-mask types. |
| |
| 2023-05-02 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2023-04-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/109473 |
| * tree-vect-loop.c (vect_create_epilog_for_reduction): |
| Convert scalar result to the computation type before performing |
| the reduction adjustment. |
| |
| 2023-05-02 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2023-02-02 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/108625 |
| * genmatch.c (expr::gen_transform): Also disallow resimplification |
| from pushing to lseq with force_leaf. |
| (dt_simplify::gen_1): Likewise. |
| |
| 2023-05-02 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-12-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/108076 |
| * tree-if-conv.c (if_convertible_loop_p_1): Reject blocks |
| with non-local or forced labels that we later remove |
| labels from. |
| |
| 2023-05-02 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-12-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/107451 |
| * tree-vect-stmts.c (vectorizable_load): Avoid loading |
| SLP group members from group numbers in excess of the |
| vectorization factor. |
| |
| 2023-05-02 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2023-03-29 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/106124 |
| * dwarf2out.c (lookup_type_die): Reset TREE_ASM_WRITTEN |
| so we can re-create the DIE for the type if required. |
| |
| 2023-04-24 Haochen Gui <guihaoc@gcc.gnu.org> |
| |
| PR target/108812 |
| * config/rs6000/vsx.md (vsx_sign_extend_qi_<mode>): Rename to... |
| (vsx_sign_extend_v16qi_<mode>): ... this. |
| (vsx_sign_extend_hi_<mode>): Rename to... |
| (vsx_sign_extend_v8hi_<mode>): ... this. |
| (vsx_sign_extend_si_v2di): Rename to... |
| (vsx_sign_extend_v4si_v2di): ... this. |
| (vsignextend_qi_<mode>): Remove. |
| (vsignextend_hi_<mode>): Remove. |
| (vsignextend_si_v2di): Remove. |
| (vsignextend_v2di_v1ti): Remove. |
| (*xxspltib_<mode>_split): Replace gen_vsx_sign_extend_qi_v2di with |
| gen_vsx_sign_extend_v16qi_v2di and gen_vsx_sign_extend_qi_v4si |
| with gen_vsx_sign_extend_v16qi_v4si. |
| * config/rs6000/rs6000.md (split for DI constant generation): |
| Replace gen_vsx_sign_extend_qi_si with gen_vsx_sign_extend_v16qi_si. |
| (split for HSDI constant generation): Replace gen_vsx_sign_extend_qi_di |
| with gen_vsx_sign_extend_v16qi_di and gen_vsx_sign_extend_qi_si |
| with gen_vsx_sign_extend_v16qi_si. |
| * config/rs6000/rs6000-builtin.def (__builtin_altivec_vsignextsb2d): |
| Set ICODE to vsx_sign_extend_v16qi_v2di. |
| (__builtin_altivec_vsignextsb2w): Set ICODE to |
| vsx_sign_extend_v16qi_v4si. |
| (__builtin_altivec_visgnextsh2d): Set ICODE to |
| vsx_sign_extend_v8hi_v2di. |
| (__builtin_altivec_vsignextsh2w): Set ICODE to |
| vsx_sign_extend_v8hi_v4si. |
| (__builtin_altivec_vsignextsw2d): Set ICDE to |
| vsx_sign_extend_si_v2di. |
| (__builtin_altivec_vsignext): Set ICODE to vsx_sign_extend_v2di_v1ti. |
| |
| 2023-04-18 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| |
| Backported from master: |
| 2023-01-31 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| |
| PR target/108589 |
| * config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Check |
| REG_P on SET_DEST. |
| |
| 2023-04-17 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| |
| Backported from master: |
| 2023-04-17 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| Di Zhao <di.zhao@amperecomputing.com> |
| |
| * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION): |
| Add AARCH64_EXTRA_TUNE_NO_LDP_COMBINE. |
| * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): |
| Check for the above tuning option when processing loads. |
| |
| 2023-04-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-05-05 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105484 |
| * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return |
| whether the CFG changed. |
| (gimple_expand_vec_exprs): When the CFG changed, clean it up. |
| |
| 2023-04-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-02-09 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/104464 |
| * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone |
| throwing check to after unproblematic replacement. |
| |
| 2023-04-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-02-09 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/104450 |
| * gimple-isel.cc: Pass cfun around. |
| (+gimple_expand_vec_cond_expr): Do not combine a throwing |
| comparison with the select. |
| |
| 2023-04-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2023-04-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/109491 |
| * tree-ssa-sccvn.c (expressions_equal_p): Restore the |
| NULL operands test. |
| |
| 2023-04-17 Kewen Lin <linkw@linux.ibm.com> |
| |
| Backported from master: |
| 2023-04-04 Kewen Lin <linkw@linux.ibm.com> |
| |
| PR target/108699 |
| * config/rs6000/altivec.md (*p9v_parity<mode>2): Rename to ... |
| (rs6000_vprtyb<mode>2): ... this. |
| * config/rs6000/rs6000-builtin.def (VPRTYBD): Replace parityv2di2 with |
| rs6000_vprtybv2di2. |
| (VPRTYBW): Replace parityv4si2 with rs6000_vprtybv4si2. |
| (VPRTYBQ): Replace parityv1ti2 with rs6000_vprtybv1ti2. |
| * config/rs6000/vector.md (parity<mode>2 with VEC_IP): Expand with |
| popcountv16qi2 and the corresponding rs6000_vprtyb<mode>2. |
| |
| 2023-04-17 Kewen Lin <linkw@linux.ibm.com> |
| |
| Backported from master: |
| 2023-04-04 Kewen Lin <linkw@linux.ibm.com> |
| |
| PR target/108807 |
| * config/rs6000/rs6000.c (rs6000_expand_vector_set_var_p9): Fix gen |
| function for permutation control vector by considering big endianness. |
| |
| 2023-04-13 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| |
| Backported from master: |
| 2023-03-27 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| Jiangning Liu <jiangning.liu@amperecomputing.com> |
| Manolis Tsamis <manolis.tsamis@vrull.eu> |
| |
| * config/aarch64/aarch64.c: Update vector costs for ampere1. |
| |
| 2023-04-11 Michael Meissner <meissner@linux.ibm.com> |
| |
| PR target/109067 |
| * config/rs6000/rs6000.c (create_complex_muldiv): Delete. |
| (init_float128_ieee): Delete code to switch complex multiply and divide |
| for long double. Backport from master, 3/20/2023. |
| (complex_multiply_builtin_code): New helper function. |
| (complex_divide_builtin_code): Likewise. |
| (rs6000_mangle_decl_assembler_name): Add support for mangling the name |
| of complex 128-bit multiply and divide built-in functions. |
| |
| 2023-03-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/109140 |
| * config/sparc/sparc.c (sparc_expand_vcond): Call signed_condition |
| on operand #3 to get the final condition code. Use std::swap. |
| * config/sparc/sparc.md (vcondv8qiv8qi): New VIS 4 expander. |
| (fucmp<gcond:code>8<P:mode>_vis): Move around. |
| (fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis): Likewise. |
| (vcondu<GCM:mode><GCM:mode>): New VIS 4 expander. |
| |
| 2023-03-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2023-03-01 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR middle-end/108546 |
| * omp-low.c (lower_omp_target): Remove optional handling |
| on the receiver side, i.e. inside target (data), for |
| use_device_ptr. |
| |
| 2023-02-24 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backported from master: |
| 2023-02-24 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs. |
| Add non-compact 32-bit multilibs. |
| |
| 2023-02-20 Alex Coplan <alex.coplan@arm.com> |
| |
| Backported from master: |
| 2023-02-06 Alex Coplan <alex.coplan@arm.com> |
| |
| PR target/104921 |
| * config/aarch64/aarch64-simd.md (aarch64_bfmlal<bt>_lane<q>v4sf): |
| Use correct constraint for operand 3. |
| |
| 2023-02-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/90458 |
| * config/i386/i386.c (ix86_compute_frame_layout): Disable the |
| effects of -fstack-clash-protection for TARGET_STACK_PROBE. |
| (ix86_expand_prologue): Likewise. |
| |
| 2023-02-13 Kewen Lin <linkw@linux.ibm.com> |
| |
| Backported from master: |
| 2023-01-18 Kewen Lin <linkw@linux.ibm.com> |
| |
| PR target/108348 |
| * config/rs6000/rs6000.c (rs6000_opaque_type_invalid_use_p): Add the |
| support for invalid uses of MMA opaque type in function arguments. |
| |
| 2023-02-13 Kewen Lin <linkw@linux.ibm.com> |
| |
| Backported from master: |
| 2023-01-16 Kewen Lin <linkw@linux.ibm.com> |
| |
| PR target/108272 |
| * config/rs6000/rs6000.c (rs6000_opaque_type_invalid_use_p): Add the |
| support for invalid uses in inline asm, factor out the checking and |
| erroring to lambda function check_and_error_invalid_use. |
| |
| 2023-02-07 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-09-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/106809 |
| * tree-ssa-sccvn.c (dominaged_by_p_w_unex): Check we have |
| more than one successor before doing extra work. |
| |
| 2023-02-02 Martin Jambor <mjambor@suse.cz> |
| |
| Backported from master: |
| 2023-01-18 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/107944 |
| * cgraph.c (cgraph_node::remove): Check whether nodes up the |
| lcone_of chain also do not need the body. |
| |
| 2023-01-26 Dimitar Dimitrov <dimitar@dinux.eu> |
| |
| Backported from master: |
| 2023-01-22 Dimitar Dimitrov <dimitar@dinux.eu> |
| |
| * config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix value for QI |
| and HI input modes. |
| * config/pru/pru.md (clz): Fix generated code for QI and HI |
| input modes. |
| |
| 2023-01-25 Christophe Lyon <christophe.lyon@arm.com> |
| |
| Backported from master: |
| 2023-01-12 Christophe Lyon <christophe.lyon@arm.com> |
| Richard Sandiford <richard.sandiford@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_function_arg_alignment): Fix |
| comment. |
| (aarch64_layout_arg): Factorize warning conditions. |
| (aarch64_function_arg_boundary): Fix typo. |
| * function.c (currently_expanding_function_start): New variable. |
| (expand_function_start): Handle |
| currently_expanding_function_start. |
| * function.h (currently_expanding_function_start): Declare. |
| |
| 2023-01-24 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-11-11 Richard Biener <rguenther@suse.de> |
| Nikita Voronov <nik_1357@mail.ru> |
| |
| PR tree-optimization/107554 |
| * tree-ssa-strlen.c (strlen_pass::count_nonzero_bytes): |
| Use unsigned HOST_WIDE_INT type for the strlen. |
| |
| 2023-01-24 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-10-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/107323 |
| * tree-loop-distribution.c (pg_unmark_merged_alias_ddrs): |
| New function. |
| (loop_distribution::break_alias_scc_partitions): Revert |
| postorder save/restore from the PR94125 fix. Instead |
| make sure to not ignore edges from SCCs we are going to |
| merge. |
| |
| 2023-01-24 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-10-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/107254 |
| * tree-vect-slp.c (vect_slp_analyze_node_operations_1): |
| For permutes also analyze live lanes. |
| (vect_schedule_slp_node): For permutes also code generate |
| live lane extracts. |
| |
| 2023-01-24 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-10-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/107212 |
| * tree-vect-loop.c (vectorizable_reduction): Make sure to |
| set STMT_VINFO_REDUC_DEF for all live lanes in a SLP |
| reduction. |
| (vectorizable_live_operation): Do not pun to the SLP |
| node representative for reduction epilogue generation. |
| |
| 2023-01-24 Sergei Trofimovich <siarheit@google.com> |
| |
| Backported from master: |
| 2022-08-16 Sergei Trofimovich <siarheit@google.com> |
| |
| PR driver/106624 |
| * gcc.c (driver::detect_jobserver): Allocate storage xputenv() |
| argument using xstrdup(). |
| |
| 2023-01-16 Alex Coplan <alex.coplan@arm.com> |
| |
| Backported from master: |
| 2022-12-01 Alex Coplan <alex.coplan@arm.com> |
| |
| * varasm.c (assemble_variable): Fix type confusion bug when |
| checking for ".vtable_map_vars" section. |
| |
| 2023-01-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR tree-optimization/108199 |
| * tree-sra.c (sra_modify_expr): Deal with reverse storage order |
| for bit-field references. |
| |
| 2023-01-10 Stam Markianos-Wright <stam.markianos-wright@arm.com> |
| |
| Backported from master: |
| 2022-12-30 Stam Markianos-Wright <stam.markianos-wright@arm.com> |
| |
| PR target/107714 |
| * config/arm/arm-protos.h (mve_struct_mem_operand): New protoype. |
| * config/arm/arm.c (mve_struct_mem_operand): New function. |
| * config/arm/constraints.md (Ug): New constraint. |
| * config/arm/mve.md (mve_vst4q<mode>): Change constraint. |
| (mve_vst2q<mode>): Likewise. |
| (mve_vld4q<mode>): Likewise. |
| (mve_vld2q<mode>): Likewise. |
| * config/arm/predicates.md (mve_struct_operand): New predicate. |
| |
| 2023-01-05 Kewen Lin <linkw@linux.ibm.com> |
| |
| PR target/106736 |
| * config/rs6000/mma.md (define_expand movoo): Call function |
| rs6000_opaque_type_invalid_use_p to check and emit error message for |
| the invalid use of opaque type. |
| (define_expand movxo): Likewise. |
| * config/rs6000/rs6000-protos.h |
| (rs6000_opaque_type_invalid_use_p): New function declaration. |
| (currently_expanding_gimple_stmt): New extern declaration. |
| * config/rs6000/rs6000.c (rs6000_opaque_type_invalid_use_p): New |
| function. |
| |
| 2022-12-22 Martin Liska <mliska@suse.cz> |
| |
| Backported from master: |
| 2022-08-10 Martin Liska <mliska@suse.cz> |
| |
| * opts-jobserver.h: Add one member. |
| * opts-common.c (jobserver_info::jobserver_info): Parse FIFO |
| format of --jobserver-auth. |
| |
| 2022-12-22 Martin Liska <mliska@suse.cz> |
| |
| Backported from master: |
| 2022-08-10 Martin Liska <mliska@suse.cz> |
| |
| * gcc.c (driver::detect_jobserver): Remove and move to |
| jobserver.h. |
| * lto-wrapper.c (jobserver_active_p): Likewise. |
| (run_gcc): Likewise. |
| * opts-jobserver.h: New file. |
| * opts-common.c (jobserver_info::jobserver_info): New function. |
| |
| 2022-12-15 Sebastian Pop <spop@amazon.com> |
| |
| PR target/98776 |
| * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area): |
| Declared. |
| * config/aarch64/aarch64.c (aarch64_print_patchable_function_entry): |
| Emit an UNSPECV_PATCHABLE_AREA pseudo instruction. |
| (aarch64_output_patchable_area): New. |
| * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New. |
| (patchable_area): Define. |
| |
| 2022-12-12 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-10-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/107107 |
| * tree-ssa-sccvn.c (visit_reference_op_store): Do not |
| affect value-numbering when doing the tail merging |
| MODIFY_EXPR lookup. |
| |
| 2022-12-01 liuhongt <hongtao.liu@intel.com> |
| |
| PR target/107863 |
| * config/i386/i386-expand.c (ix86_expand_vec_set_builtin): |
| Convert op1 to target mode whenever mode mismatch. |
| |
| 2022-11-30 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (addvdi3): Force operand 2 to a register. |
| Remove "addi,tsv,*" instruction from unamed pattern. |
| (subvdi3): Force operand 1 to a register. |
| Remove "subi,tsv" instruction from from unamed pattern. |
| |
| 2022-11-29 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backported from master: |
| 2022-11-08 Max Filippov <jcmvbkbc@gmail.com> |
| |
| PR rtl-optimization/107482 |
| * ira-color.c (assign_hard_reg): Only call |
| update_costs_from_copies when retry_p is false. |
| |
| 2022-11-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko. |
| |
| 2022-11-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-loop-distribution.c (loop_distribution::classify_builtin_ldst): |
| Bail out if source and destination do not have the same storage order. |
| |
| 2022-11-21 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-11-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/107748 |
| * config/i386/smmintrin.h (_mm_extract_ps): Uglify names of local |
| variables and union members. |
| |
| 2022-11-21 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-11-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/107183 |
| * reg-stack.c (next_flags_user): Add DEBUG_SEEN argument. |
| If >= 0 and a DEBUG_INSN would be otherwise returned, set |
| DEBUG_SEEN to 1 and ignore it. |
| (swap_rtx_condition): Add DEBUG_SEEN argument. In >= 0 |
| mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs |
| were seen and revert all changes on success in that case. |
| Don't try to recog_memoized DEBUG_INSNs. |
| (compare_for_stack_reg): Adjust swap_rtx_condition caller. |
| If it returns true and debug_seen is 1, call swap_rtx_condition |
| again with debug_seen -1. |
| |
| 2022-11-19 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backported from master: |
| 2022-11-19 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for |
| '-mmainkernel'. |
| |
| 2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| |
| Backported from master: |
| 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| |
| * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a. |
| * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs. |
| * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR): |
| Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two |
| registers and then +1/-1). |
| * config/aarch64/aarch64-tune.md: Regenerate. |
| * config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Implement |
| idiom-matcher for the new fusion pair. |
| * doc/invoke.texi: Add ampere1a. |
| |
| 2022-11-08 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2022-10-25 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/107304 |
| * expr.c (get_inner_reference): Always use TYPE_MODE for vector |
| field with vector raw mode. |
| |
| 2022-11-05 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2022-11-05 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR c/41041 |
| * doc/cppopts.texi: Document -fwide-exec-charset defaults |
| correctly. |
| |
| 2022-11-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * fold-const.c (operand_compare::operand_equal_p) <COMPONENT_REF>: |
| Do not take into account operand 2. |
| (operand_compare::hash_operand) <COMPONENT_REF>: Likewise. |
| |
| 2022-11-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-09-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/107001 |
| * omp-low.c (lower_omp_taskgroup): Don't add GOMP_RETURN statement |
| at the end. |
| * omp-expand.c (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA |
| is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't |
| update parent. |
| (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset |
| cur_region back after new_omp_region. |
| |
| 2022-11-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-08-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/106721 |
| * config/i386/sse.md |
| (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo, |
| mask_opernad3 -> mask_operand3. |
| |
| 2022-11-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-07-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/106261 |
| * cgraphunit.c (cgraph_node::assemble_thunks_and_aliases): Don't |
| output asm thunks for -dx. |
| |
| 2022-11-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-07-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/106144 |
| * wide-int.cc (wi::shifted_mask): If end >= prec, return right after |
| emitting element for shift or if shift is 0 first element after start. |
| (wide_int_cc_tests): Add tests for equivalency of wi::mask and |
| wi::shifted_mask with 0 start. |
| |
| 2022-11-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-06-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/106032 |
| * ifcvt.c (noce_try_sign_mask): Punt if !t_unconditional, and |
| t may_trap_or_fault_p, even if it is cheap. |
| |
| 2022-11-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-06-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/106030 |
| * expr.c (expand_cond_expr_using_cmove): Pass NULL_RTX instead of |
| temp to expand_operands if mode has been promoted. |
| |
| 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> |
| |
| Backported from master: |
| 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> |
| Yvan ROUX <yvan.roux@foss.st.com> |
| |
| * ira.c: Resize array after reg number increased. |
| |
| 2022-10-26 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| |
| Backported from master: |
| 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| |
| * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update |
| Ampere-1 core entry. |
| |
| 2022-10-26 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| |
| Backported from master: |
| 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| |
| * config/aarch64/driver-aarch64.c (readline): Fix off-by-one. |
| |
| 2022-10-25 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> |
| |
| Backported from master: |
| 2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> |
| |
| PR target/106355 |
| * config/s390/s390.c (s390_call_saved_register_used): For a |
| parameter with BLKmode fix determining number of consecutive |
| registers. |
| |
| 2022-10-25 Martin Liska <mliska@suse.cz> |
| |
| Backported from master: |
| 2022-10-25 Martin Liska <mliska@suse.cz> |
| |
| PR target/107364 |
| * common/config/i386/i386-cpuinfo.h (enum processor_vendor): |
| Fix pedantic warning. |
| |
| 2022-10-25 Martin Liska <mliska@suse.cz> |
| |
| Backported from master: |
| 2022-10-24 Martin Liska <mliska@suse.cz> |
| |
| PR target/107364 |
| * common/config/i386/i386-cpuinfo.h (enum processor_vendor): |
| Reorder enum values as BUILTIN_VENDOR_MAX should not point |
| in the middle of the valid enum values. |
| |
| 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> |
| |
| Backported from master: |
| 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove |
| merging alternative. |
| (*aarch64_brk<brk_op>_ptest): Likewise. |
| |
| 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> |
| |
| Backported from master: |
| 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * config/aarch64/iterators.md (SVE_BRKP): New iterator. |
| * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern. |
| (*aarch64_brkn_ptest): Likewise. |
| (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP. |
| (*aarch64_brk<brk_op>_ptest): Likewise. |
| |
| 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_3): Add |
| AARCH64_FL_RCPC. |
| (AARCH64_ISA_RCPC): New macro. |
| * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1) |
| (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores. |
| * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define |
| __ARM_FEATURE_RCPC when appropriate. |
| |
| 2022-10-19 Kewen Lin <linkw@linux.ibm.com> |
| |
| Backported from master: |
| 2022-09-26 Kewen Lin <linkw@linux.ibm.com> |
| |
| PR target/96072 |
| * config/rs6000/rs6000-logue.c (rs6000_emit_epilogue): Update the |
| condition for adding REG_CFA_DEF_CFA reg note with |
| frame_pointer_needed_indeed. |
| |
| 2022-10-17 Pat Haugen <pthaugen@linux.ibm.com> |
| |
| PR target/99685 |
| * config/rs6000/rs6000-call.c (rs6000_function_arg_advance_1): Bump |
| register count when not splitting IEEE 128-bit Complex. |
| |
| 2022-10-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-09-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/106934 |
| * tree-ssa.c (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs |
| of bitfields. |
| (maybe_rewrite_mem_ref_base): Likewise. |
| |
| 2022-10-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-09-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/106892 |
| * tree-predcom.c (ref_at_iteration): Do not associate the |
| constant part of the offset into the MEM_REF offset |
| operand, across a non-zero offset. |
| |
| 2022-10-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-07-26 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/106189 |
| * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): |
| Divide using offset_ints. |
| |
| 2022-10-14 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| Backported from master: |
| 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| * config/aarch64/aarch64.md (rbit<mode>2): Rename this ... |
| (@aarch64_rbit<mode>): ... to this and change it in... |
| (ffs<mode>2,ctz<mode>2): ... here. |
| (@aarch64_rev16<mode>): New. |
| * config/aarch64/aarch64-builtins.c: (aarch64_builtins): |
| Define the following enum AARCH64_REV16, AARCH64_REV16L, |
| AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL. |
| (aarch64_init_data_intrinsics): New. |
| (aarch64_general_init_builtins): Add call to |
| aarch64_init_data_intrinsics. |
| (aarch64_expand_builtin_data_intrinsic): New. |
| (aarch64_general_expand_builtin): Add call to |
| aarch64_expand_builtin_data_intrinsic. |
| * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl, |
| __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16, |
| __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New. |
| |
| 2022-10-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/107248 |
| * config/sparc/sparc.c (sparc_expand_prologue): Emit a frame |
| blockage for leaf functions. |
| (sparc_flat_expand_prologue): Emit frame instead of full blockage. |
| (sparc_expand_epilogue): Emit a frame blockage for leaf functions. |
| (sparc_flat_expand_epilogue): Emit frame instead of full blockage. |
| |
| 2022-10-11 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-08-10 Richard Biener <rguenther@suse.de> |
| |
| PR lto/106540 |
| PR lto/106334 |
| * lto-streamer-in.c (lto_read_tree_1): Use lto_input_tree_1 |
| to input DECL_INITIAL, avoiding to commit drefs. |
| |
| 2022-10-11 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-08-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/106513 |
| * gimple-ssa-store-merging.c (do_shift_rotate): Use uint64_t |
| for head_marker. |
| |
| 2022-10-11 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-07-19 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/106331 |
| * builtins.c (get_memory_rtx): Compute alignment from |
| the original address and set MEM_OFFSET to unknown when |
| we create a MEM_EXPR from the base object of the address. |
| |
| 2022-10-11 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-07-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/106131 |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Force alias-set |
| zero when offsetting the read looking through an aggregate |
| copy. |
| |
| 2022-10-11 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-06-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/106112 |
| * tree-ssa-sccvn.c (valueized_wider_op): Properly extend |
| a constant operand according to its type. |
| |
| 2022-10-11 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-06-20 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/106027 |
| * fold-const.c (fold_to_nonsharp_ineq_using_bound): Use the |
| type of the prevailing comparison for the new comparison type. |
| (fold_binary_loc): Use proper types for the A < X && A + 1 > Y |
| to A < X && A >= Y folding. |
| |
| 2022-10-03 Sergei Trofimovich <siarheit@google.com> |
| |
| Backported from master: |
| 2022-10-03 Sergei Trofimovich <siarheit@google.com> |
| |
| PR target/107064 |
| * config/i386/t-i386: Add build-time dependencies against |
| i386-builtin-types.inc to i386-builtins.o, i386-expand.o, |
| i386-features.o. |
| |
| 2022-09-29 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2022-09-28 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/107061 |
| * config/i386/predicates.md (encodekey128_operation): Check |
| XMM4-XMM6 as clobbered. |
| (encodekey256_operation): Likewise. |
| * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6. |
| (encodekey256u32): Likewise. |
| |
| 2022-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64-cores.def (neoverse-v2): New entry. |
| * config/aarch64/aarch64-tune.md: Regenerate. |
| * doc/invoke.texi (AArch64 Options): Document neoverse-v2. |
| |
| 2022-09-21 Richard Sandiford <richard.sandiford@arm.com> |
| |
| Backported from master: |
| 2022-09-20 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR target/106491 |
| * config/aarch64/aarch64-sve-builtins.cc (scalar_types) |
| (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY |
| markup to (new) extern declarations instead of to the main |
| definition. |
| |
| 2022-09-14 Tom de Vries <tdevries@suse.de> |
| |
| Backported from master: |
| 2022-02-01 Tom de Vries <tdevries@suse.de> |
| |
| * config/nvptx/nvptx.c (nvptx_single): Use nvptx_uniform_warp_check. |
| * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add |
| UNSPECV_UNIFORM_WARP_CHECK. |
| (define_insn "nvptx_uniform_warp_check"): New define_insn. |
| |
| 2022-09-14 Tom de Vries <tdevries@suse.de> |
| |
| Backported from master: |
| 2022-02-01 Tom de Vries <tdevries@suse.de> |
| |
| * config/nvptx/nvptx.c (nvptx_single): Use nvptx_warpsync. |
| * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add |
| UNSPECV_WARPSYNC. |
| (define_insn "nvptx_warpsync"): New define_insn. |
| |
| 2022-09-14 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * config/nvptx/nvptx.h (TARGET_PTX_6_0): '#define' to 'false'. |
| |
| 2022-09-12 Peter Bergner <bergner@linux.ibm.com> |
| |
| Backported from master: |
| 2022-09-01 Peter Bergner <bergner@linux.ibm.com> |
| |
| PR target/101322 |
| * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): |
| Enforce the use of a valid MMA pointer type. |
| |
| 2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if |
| -mvrsave is present. |
| * config/rs6000/t-rtems: Add -mvrsave multilib variants for |
| -mcpu=e6500. |
| |
| 2022-09-02 Richard Earnshaw <rearnsha@arm.com> |
| |
| Backported from master: |
| 2022-08-03 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR rtl-optimization/106187 |
| * alias.h (mems_same_for_tbaa_p): Declare. |
| * alias.c (mems_same_for_tbaa_p): New function. |
| * dse.c (record_store): Use it instead of open-coding |
| alias check. |
| * cselib.h (cselib_redundant_set_p): Declare. |
| * cselib.c: Include alias.h |
| (cselib_redundant_set_p): New function. |
| * cfgcleanup.c: (mark_effect): Use cselib_redundant_set_p instead |
| of rtx_equal_for_cselib_p. |
| * postreload.c (reload_cse_simplify): Use cselib_redundant_set_p. |
| (reload_cse_noop_set_p): Delete. |
| |
| 2022-09-02 Richard Earnshaw <rearnsha@arm.com> |
| |
| Backported from master: |
| 2022-05-13 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/105463 |
| * config/arm/mve.md (*movmisalign<mode>_mve_store): Use |
| mve_memory_operand. |
| (*movmisalign<mode>_mve_load): Likewise. |
| * config/arm/vec-common.md (movmisalign<mode>): Convert to generator |
| form... |
| (@movmisalign<mode>): ... thus. Use generic predicates and then |
| rework operands if they are not valid. For MVE rework to a |
| narrower element size if the alignment is not high enough. |
| |
| 2022-08-30 Peter Bergner <bergner@linux.ibm.com> |
| |
| Backported from master: |
| 2022-08-28 Peter Bergner <bergner@linux.ibm.com> |
| |
| PR target/106017 |
| * config/rs6000/rs6000.c (rs6000_invalid_conversion): Remove handling |
| of MMA pointer conversions. |
| |
| 2022-08-24 Kewen.Lin <linkw@gcc.gnu.org> |
| |
| Backported from master: |
| 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org> |
| |
| PR target/103353 |
| * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition |
| check to preparation statements and add handlings for !TARGET_MMA. |
| (define_expand movxo): Likewise. |
| |
| 2022-08-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2022-08-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR middle-end/106492 |
| * omp-low.c (lower_rec_input_clauses): Add missing folding |
| to data type of linear-clause list item. |
| |
| 2022-08-16 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backported from master: |
| 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/103197 |
| PR target/102146 |
| * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage |
| the "Z" alternatives in {l,st}{f,xs}iwzx. |
| (zero_extendhi<mode>2 for EXTHI): Ditto. |
| (zero_extendsi<mode>2 for EXTSI): Ditto. |
| (*movsi_internal1): Ditto. |
| (*mov<mode>_internal1 for QHI): Ditto. |
| (movsd_hardfloat): Ditto. |
| |
| 2022-08-12 Peter Bergner <bergner@linux.ibm.com> |
| |
| Backported from master: |
| 2022-07-26 Peter Bergner <bergner@linux.ibm.com> |
| |
| PR c/106016 |
| * expr.c (count_type_elements): Handle OPAQUE_TYPE. |
| |
| 2022-08-08 Michael Meissner <meissner@linux.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove code |
| setting -mblock-ops-vector-pair. Patch back ported from trunk, August |
| 3rd, 2022. |
| |
| 2022-08-02 Peter Bergner <bergner@linux.ibm.com> |
| |
| Backported from master: |
| 2022-07-25 Peter Bergner <bergner@linux.ibm.com> |
| Kewen Lin <linkw@linux.ibm.com> |
| |
| PR testsuite/106345 |
| * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu |
| to filter out all -mtune options. |
| |
| 2022-08-02 Kewen Lin <linkw@linux.ibm.com> |
| |
| Backported from master: |
| 2022-07-26 Kewen Lin <linkw@linux.ibm.com> |
| |
| PR target/106091 |
| * config/rs6000/rs6000-p8swap.c (replace_swapped_aligned_store): Copy |
| REG_EH_REGION when replacing one store insn having it. |
| (replace_swapped_aligned_load): Likewise. |
| |
| 2022-07-27 Maciej W. Rozycki <macro@embecosm.com> |
| |
| Backported from master: |
| 2022-07-27 Maciej W. Rozycki <macro@embecosm.com> |
| |
| * config/riscv/riscv.md (stack_protect_set_<mode>): Remove |
| duplicate backslashes. |
| |
| 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backported from master: |
| 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef. |
| |
| 2022-07-22 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-05-17 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105618 |
| * tree-ssa-sink.c (statement_sink_location): For virtual |
| PHI uses ignore those defining the used virtual operand. |
| |
| 2022-07-22 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-11-24 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/103193 |
| * match.pd: Avoid canonicalizing (le/ge @0 @0) to (eq @0 @0) |
| with NaNs and -ftrapping-math. |
| |
| 2022-07-22 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-05-04 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/103116 |
| * tree-vect-stmts.c (get_group_load_store_type): Handle the |
| case we need peeling for gaps even though GROUP_GAP is zero. |
| |
| 2022-07-21 Surya Kumari Jangala <jskumari@linux.vnet.ibm.com> |
| |
| Backported from master: |
| 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com> |
| |
| PR rtl-optimization/105041 |
| * regrename.c (check_new_reg_p): Use nregs value from du chain. |
| |
| 2022-07-14 Michael Meissner <meissner@linux.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Do |
| not generate block copies with vector pair instructions if we are |
| tuning for power10. Back port from master branch. |
| |
| 2022-07-12 Martin Jambor <mjambor@suse.cz> |
| |
| Backported from master: |
| 2022-07-04 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/105860 |
| * tree-sra.c (build_reconstructed_reference): Start expr |
| traversal only just below the outermost union. |
| |
| 2022-07-04 Richard Sandiford <richard.sandiford@arm.com> |
| |
| Backported from master: |
| 2022-03-21 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR middle-end/104869 |
| * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare. |
| (clobber_group::next_clobber): Likewise. |
| (def_lookup::prev_def): Rename to... |
| (def_lookup::last_def_of_prev_group): ...this. |
| (def_lookup::next_def): Rename to... |
| (def_lookup::first_def_of_next_group): ...this. |
| (def_lookup::matching_or_prev_def): Rename to... |
| (def_lookup::matching_set_or_last_def_of_prev_group): ...this. |
| (def_lookup::matching_or_next_def): Rename to... |
| (def_lookup::matching_set_or_first_def_of_next_group): ...this. |
| (def_lookup::prev_def): New function, taking the lookup insn as |
| argument. |
| (def_lookup::next_def): Likewise. |
| * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to... |
| (def_lookup::last_def_of_prev_group): ...this. |
| (def_lookup::next_def): Rename to... |
| (def_lookup::first_def_of_next_group): ...this. |
| (def_lookup::matching_or_prev_def): Rename to... |
| (def_lookup::matching_set_or_last_def_of_prev_group): ...this. |
| (def_lookup::matching_or_next_def): Rename to... |
| (def_lookup::matching_set_or_first_def_of_next_group): ...this. |
| * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after |
| above renaming. |
| * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function. |
| (clobber_group::next_clobber): Likewise. |
| (def_lookup::prev_def): Likewise. |
| (def_lookup::next_def): Likewise. |
| (function_info::make_use_available): Pass the lookup insn to |
| def_lookup::prev_def and def_lookup::next_def. |
| |
| 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop |
| condition to avoid overflow. |
| |
| 2022-06-23 Martin Liska <mliska@suse.cz> |
| |
| Backported from master: |
| 2022-06-23 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/105600 |
| * ipa-icf.c (sem_item_optimizer::filter_removed_items): |
| Skip variables with body_removed. |
| |
| 2022-06-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backported from master: |
| 2022-06-17 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/105209 |
| * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New. |
| * config/alpha/alpha.c (alpha_store_data_bypass_p): New function. |
| (alpha_store_data_bypass_p_1): Ditto. |
| * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead |
| of generic store_data_bypass_p. |
| (ev4_ist_c): Remove insn reservation. |
| |
| 2022-06-20 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backported from master: |
| 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/104829 |
| * config/rs6000/rs6000.c (rs6000_machine_from_flags): Don't output |
| "ppc" and "ppc64" based on rs6000_cpu. |
| |
| 2022-06-20 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backported from master: |
| 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (rs6000_machine_from_flags): Restructure a |
| bit. Handle most older CPUs. |
| |
| 2022-06-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backported from master: |
| 2022-06-17 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/105970 |
| * config/i386/i386.c (ix86_function_arg): Assert that |
| the mode of pointer argumet is equal to ptr_mode, not Pmode. |
| |
| 2022-06-20 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-06-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/105998 |
| * varasm.c (narrowing_initializer_constant_valid_p): Check |
| SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on |
| ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type. |
| |
| 2022-06-20 Jan Hubicka <jh@suse.cz> |
| |
| Backported from master: |
| 2022-06-14 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/105739 |
| * ipa-prop.c (ipa_load_from_parm_agg): Punt on volatile loads. |
| |
| 2022-06-20 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-05-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/105729 |
| * fold-const.c (fold_unary_loc): Don't optimize (X &) ((Y *) z + w) |
| to (X &) z + w if -fsanitize=null during GENERIC folding. |
| |
| 2022-06-16 Richard Earnshaw <rearnsha@arm.com> |
| |
| Backported from master: |
| 2022-06-15 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/105981 |
| * config/arm/arm.c (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg |
| to first_reg and second_reg respectively. Initialize them correctly |
| when generating big-endian code. |
| |
| 2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-12-01 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * common.opt (static-libphobos): Add option. |
| * config/darwin.h (LINK_SPEC): Substitute -lgphobos with libgphobos.a |
| when linking statically. |
| * gcc.c (driver_handle_option): Set -static-libphobos as always valid. |
| |
| 2022-06-15 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-05-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105726 |
| * gimple-ssa-warn-restrict.c (builtin_memref::set_base_and_offset): |
| Constrain array-of-flexarray case more. |
| |
| 2022-06-14 Vladimir N. Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/104637 |
| * lra-assigns.c (lra_split_hard_reg_for): Split hard regs as many |
| as possible on one subpass. |
| |
| 2022-06-14 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2022-06-13 H.J. Lu <hjl.tools@gmail.com> |
| |
| * common/config/i386/cpuinfo.h (get_available_features): Require |
| AVX for F16C and VAES. |
| |
| 2022-06-08 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backported from master: |
| 2022-06-08 Max Filippov <jcmvbkbc@gmail.com> |
| |
| PR target/105879 |
| * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second' |
| to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and |
| 'gen_highpart' bitwise semantics and fix order of highpart and |
| lowpart depending on target endianness. |
| |
| 2022-06-08 liuhongt <hongtao.liu@intel.com> |
| |
| PR target/105854 |
| * config/i386/sse.md (ssse3_palignrdi): Change alternative 2 |
| from Yv to Yw. |
| |
| 2022-06-02 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-05-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105437 |
| * tree-vect-slp.c (vect_schedule_slp_node): Handle the |
| case where last_stmt alters control flow. |
| |
| 2022-05-26 Simon Cook <simon.cook@embecosm.com> |
| |
| Backported from master: |
| 2022-05-25 Simon Cook <simon.cook@embecosm.com> |
| |
| * config/riscv/arch-canonicalize: Only add mafd extension if |
| base was rv32/rv64g. |
| |
| 2022-05-26 Kito Cheng <kito.cheng@sifive.com> |
| |
| Backported from master: |
| 2022-05-09 Kito Cheng <kito.cheng@sifive.com> |
| |
| * config/riscv/arch-canonicalize: Handle g correctly. |
| |
| 2022-05-24 Qing Zhao <qing.zhao@oracle.com> |
| |
| Backported from master: |
| 2022-05-09 Qing Zhao <qing.zhao@oracle.com> |
| |
| PR target/101891 |
| * config/i386/i386.c (zero_call_used_regno_mode): use V2SImode |
| as a generic MMX mode instead of V4HImode. |
| (zero_all_mm_registers): Use SET to zero instead of MOV for |
| zeroing scratch registers. |
| (ix86_zero_call_used_regs): Likewise. |
| |
| 2022-05-23 Paul A. Clarke <pc@us.ibm.com> |
| |
| PR target/104257 |
| * config/rs6000/bmi2intrin.h: Uglify local variables. |
| * config/rs6000/emmintrin.h: Likewise. |
| * config/rs6000/mm_malloc.h: Likewise. |
| * config/rs6000/mmintrin.h: Likewise. |
| * config/rs6000/pmmintrin.h: Likewise. |
| * config/rs6000/smmintrin.h: Likewise. |
| * config/rs6000/tmmintrin.h: Likewise. |
| * config/rs6000/xmmintrin.h: Likewise. |
| |
| 2022-05-19 Michael Meissner <meissner@linux.ibm.com> |
| |
| Backported from master: |
| 2022-05-06 Michael Meissner <meissner@linux.ibm.com> |
| Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/102059 |
| * config/rs6000/rs6000.c (rs6000_can_inline_p): Ignore -mpower8-fusion |
| and -mpower10-fusion options for inlining purposes. |
| |
| 2022-05-19 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-05-11 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/105559 |
| * cfgrtl.c (delete_insn_and_edges): Only perform search to BB_END |
| for non-debug insns. |
| |
| 2022-05-19 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105431 |
| * tree-ssa-math-opts.c (powi_as_mults_1): Make n unsigned. |
| (powi_as_mults): Use absu_hwi. |
| (gimple_expand_builtin_powi): Remove now pointless n != -n |
| check. |
| |
| 2022-05-19 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105368 |
| * tree-ssa-math-opts.c (powi_cost): Use absu_hwi. |
| |
| 2022-05-19 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105312 |
| * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both |
| VCOND and VCONDU for EQ and NE. |
| |
| 2022-05-19 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105263 |
| * tree-ssa-reassoc.c (try_special_add_to_ops): Do not consume |
| negates in multiplication chains with DFP. |
| |
| 2022-05-19 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105173 |
| * tree-ssa-reassoc.c (find_insert_point): Get extra |
| insert_before output argument and compute it. |
| (insert_stmt_before_use): Adjust. |
| (rewrite_expr_tree): Likewise. |
| |
| 2022-05-19 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105163 |
| * tree-ssa-reassoc.c (repropagate_negates): Avoid propagating |
| negated abnormals. |
| |
| 2022-05-19 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105148 |
| * tree-ssa-loop-ivopts.c (idx_record_use): Walk raw operands |
| 2 and 3 of ARRAY_REFs. |
| |
| 2022-05-19 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105250 |
| * fold-const.c (fold_convertible_p): Revert |
| r12-7979-geaaf77dd85c333, instead check for size equality |
| of the vector types involved. |
| |
| 2022-05-19 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-04 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/105140 |
| * fold-const.c (fold_convertible_p): Allow a TYPE_P arg. |
| |
| 2022-05-19 Martin Jambor <mjambor@suse.cz> |
| |
| Backported from master: |
| 2022-04-29 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/100413 |
| * cgraph.c (cgraph_node::remove): Release body of the node this |
| is clone_of if appropriate. |
| |
| 2022-05-16 Sebastian Pop <spop@amazon.com> |
| |
| PR target/105162 |
| * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension |
| of str array. |
| * config/aarch64/aarch64.c (aarch64_atomic_ool_func): Call |
| memmodel_from_int and handle MEMMODEL_SYNC_*. |
| (DEF0): Add __aarch64_*_sync functions. |
| |
| 2022-05-16 Jan Hubicka <jh@suse.cz> |
| |
| Backported from master: |
| 2021-11-10 Jan Hubicka <jh@suse.cz> |
| |
| * ipa-modref-tree.h (modref_tree::remap_params): Fix off-by-one error. |
| |
| 2022-05-10 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-05-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/105528 |
| * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove |
| set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment. |
| |
| 2022-05-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/105292 |
| * config/sparc/sparc.c (sparc_vectorize_vec_perm_const): Return |
| true only for 8-byte vector modes. |
| |
| 2022-05-06 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-04-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/105331 |
| * config/i386/i386.c (ix86_gimplify_va_arg): Mark va_arg_tmp |
| temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR |
| of it. |
| |
| 2022-05-06 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-04-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/105396 |
| * asan.c (asan_redzone_buffer::emit_redzone_byte): Handle the case |
| where offset is bigger than off but smaller than m_prev_offset + 32 |
| bits by pushing one or more 0 bytes. Sink the |
| m_shadow_bytes.safe_push (value); flush_if_full (); statements from |
| all cases to the end of the function. |
| |
| 2022-05-06 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-04-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/105333 |
| * rtlanal.c (replace_rtx): Use simplify_subreg or |
| simplify_unary_operation if CONST_SCALAR_INT_P rather than just |
| CONST_INT_P. |
| |
| 2022-04-27 Hongyu Wang <hongyu.wang@intel.com> |
| |
| Backported from master: |
| 2022-04-25 Hongyu Wang <hongyu.wang@intel.com> |
| |
| PR target/105339 |
| * config/i386/avx512fintrin.h (_mm512_scalef_round_pd): |
| Add parentheses for parameters and djust format. |
| (_mm512_mask_scalef_round_pd): Ditto. |
| (_mm512_maskz_scalef_round_pd): Ditto. |
| (_mm512_scalef_round_ps): Ditto. |
| (_mm512_mask_scalef_round_ps): Ditto. |
| (_mm512_maskz_scalef_round_ps): Ditto. |
| (_mm_scalef_round_sd): Use _mm_undefined_pd. |
| (_mm_scalef_round_ss): Use _mm_undefined_ps. |
| (_mm_mask_scalef_round_sd): New macro. |
| (_mm_mask_scalef_round_ss): Ditto. |
| (_mm_maskz_scalef_round_sd): Ditto. |
| (_mm_maskz_scalef_round_ss): Ditto. |
| |
| 2022-04-21 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-04-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/105257 |
| * config/sparc/sparc.c (epilogue_renumber): If ORIGINAL_REGNO, |
| use gen_raw_REG instead of gen_rtx_REG and copy over also |
| ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */. |
| |
| 2022-04-21 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-04-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/105203 |
| * emit-rtl.c (emit_copy_of_insn_after): Don't call mark_jump_label |
| on DEBUG_INSNs. |
| |
| 2022-04-21 Sergei Trofimovich <siarheit@google.com> |
| |
| Backported from master: |
| 2022-04-19 Sergei Trofimovich <siarheit@google.com> |
| |
| PR gcov-profile/105282 |
| * value-prof.c (stream_out_histogram_value): Allow negative counts |
| on HIST_TYPE_INDIR_CALL. |
| |
| 2022-04-21 Release Manager |
| |
| * GCC 11.3.0 released. |
| |
| 2022-04-19 Hans-Peter Nilsson <hp@axis.com> |
| |
| Backported from master: |
| 2022-04-18 Hans-Peter Nilsson <hp@axis.com> |
| |
| * doc/install.texi <CRIS>: Remove references to removed websites and |
| adjust for cris-*-elf being the only remaining toolchain. |
| |
| 2022-04-19 Hans-Peter Nilsson <hp@axis.com> |
| |
| Backported from master: |
| 2022-04-18 Hans-Peter Nilsson <hp@axis.com> |
| |
| * doc/invoke.texi <CRIS>: Remove references to options for removed |
| subtarget cris-axis-linux-gnu and tweak wording accordingly. |
| |
| 2022-04-14 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| Backported from master: |
| 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| * common/config/s390/s390-common.c: Rename PF_ARCH14 to PF_Z16. |
| * config.gcc: Add z16 as march/mtune switch. |
| * config/s390/driver-native.c (s390_host_detect_local_cpu): |
| Recognize z16 with -march=native. |
| * config/s390/s390-opts.h (enum processor_type): Rename |
| PROCESSOR_ARCH14 to PROCESSOR_3931_Z16. |
| * config/s390/s390.c (PROCESSOR_ARCH14): Rename to ... |
| (PROCESSOR_3931_Z16): ... throughout the file. |
| (s390_processor processor_table): Add z16 as cpu string. |
| * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to |
| PF_Z16. |
| (TARGET_CPU_ARCH14): Rename to ... |
| (TARGET_CPU_Z16): ... this. |
| (TARGET_CPU_ARCH14_P): Rename to ... |
| (TARGET_CPU_Z16_P): ... this. |
| (TARGET_ARCH14): Rename to ... |
| (TARGET_Z16): ... this. |
| (TARGET_ARCH14_P): Rename to ... |
| (TARGET_Z16_P): ... this. |
| * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and |
| check TARGET_Z16 instead of TARGET_ARCH14. |
| * config/s390/s390.opt: Add z16 to processor_type. |
| * doc/invoke.texi: Document z16 and arch14. |
| |
| 2022-04-14 Iain Sandoe <iain@sandoe.co.uk> |
| Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/104117 |
| * config/rs6000/rs6000.c (darwin_rs6000_legitimate_lo_sum_const_p): |
| Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when |
| emitting PIC code. |
| (legitimate_lo_sum_address_p): Likewise. |
| (rs6000_legitimize_address): Do not apply the TLS processing to |
| Darwin. |
| * config/rs6000/darwin.md (@machopic_high_<mode>): New. |
| (@machopic_low_<mode>): New. |
| * config/rs6000/predicates.md (macho_pic_address): New. |
| |
| 2022-04-14 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/80556 |
| * config/darwin-driver.c (darwin_driver_init): Handle exported |
| symbols and symbol lists (suppress automatic export of the TLS |
| symbols). |
| * config/darwin.c (darwin_rename_builtins): Remove workaround. |
| * config/darwin.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise. |
| (REAL_LIBGCC_SPEC): Handle revised library uses. |
| * config/darwin.opt (nodefaultexport): New. |
| * config/i386/darwin.h (PR80556_WORKAROUND): Remove. |
| * config/i386/darwin32-biarch.h (PR80556_WORKAROUND): Likewise. |
| * config/i386/darwin64-biarch.h (PR80556_WORKAROUND): Likewise. |
| |
| 2022-04-14 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin-driver.c (darwin_driver_init): Revise comments, handle |
| filelist and framework options in specs instead of code. Exit from the |
| option handling early if the command line is definitely enpty. |
| * config/darwin.h (SUBTARGET_DRIVER_SELF_SPECS): Update to handle link |
| specs that are really driver ones. Remove setting for the default content |
| of weak_reference_mismatches |
| (DARWIN_CC1_SPEC): Likewise. |
| (CPP_SPEC): Likewise. |
| (SYSROOT_SPEC): Append space. |
| (LINK_SYSROOT_SPEC): Remove most driver link specs. |
| (STANDARD_STARTFILE_PREFIX_2): Update link-related specs. |
| (STARTFILE_SPEC): Likewise. |
| (ASM_MMACOSX_VERSION_MIN_SPEC): Fix line wrap. |
| (ASM_SPEC): Update driver-related specs. |
| (ASM_FINAL_SPEC): Likewise. |
| (LINK_COMMAND_SPEC_A): Update 'r' handling to skip gomp and itm when r |
| or nodefaultlibs is given. |
| (DSYMUTIL_SPEC): Do not call dsymutil for '-r' link lines. |
| Update ordering of exclusions, remove duplicate 'v' addition |
| (collect2 will add this from the main command line). |
| * config/darwin.opt: Remove now unused option aliases. |
| * config/i386/darwin.h (EXTRA_ASM_OPTS): Ensure space after opt. |
| (ASM_SPEC): Update driver-related specs. |
| |
| 2022-04-14 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2021-11-15 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR fortran/102992 |
| * config/darwin.h (TARGET_DTORS_FROM_CXA_ATEXIT): New. |
| * doc/tm.texi: Regenerated. |
| * doc/tm.texi.in: Add TARGET_DTORS_FROM_CXA_ATEXIT hook. |
| * ipa.c (cgraph_build_static_cdtor_1): Return the built |
| function decl. |
| (build_cxa_atexit_decl): New. |
| (build_dso_handle_decl): New. |
| (build_cxa_dtor_registrations): New. |
| (compare_cdtor_tu_order): New. |
| (build_cxa_atexit_fns): New. |
| (ipa_cdtor_merge): If dtors_from_cxa_atexit is set, |
| process the DTORs/CTORs accordingly. |
| (pass_ipa_cdtor_merge::gate): Also run if |
| dtors_from_cxa_atexit is set. |
| * target.def (dtors_from_cxa_atexit): New hook. |
| |
| 2022-04-14 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2021-11-05 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Add LTRAMP |
| to the list of symbol prefixes that must be made linker- |
| visible. |
| |
| 2022-04-14 Saagar Jha <saagar@saagarjha.com> |
| |
| * config.gcc: Adjust for Darwin21. |
| * config/darwin-c.c (macosx_version_as_macro): Likewise. |
| * config/darwin-driver.c (validate_macosx_version_min): |
| Likewise. |
| (darwin_find_version_from_kernel): Likewise. |
| |
| 2022-04-14 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2021-10-13 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * collect2.c (is_lto_object_file): Release simple-object |
| resources, close files. |
| |
| 2022-04-14 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2021-09-28 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/rs6000/darwin.h (FIXED_R13): Add for PPC64. |
| (FIRST_SAVED_GP_REGNO): Save from R13 even when it is one |
| of the fixed regs. |
| |
| 2022-04-14 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2021-09-19 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.h (LINK_COMMAND_SPEC_A): Use Darwin10 |
| unwinder shim as a convenience library. |
| |
| 2022-04-14 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2021-09-14 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * Makefile.in: Remove variables related to applying no-PIE |
| to the exes on $build. |
| * configure: Regenerate. |
| * configure.ac: Remove configuration related to applying |
| no-PIE to the exes on $build. |
| |
| 2022-04-14 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2021-08-27 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (finalize_ctors): Add a section-start linker- |
| visible symbol. |
| (finalize_dtors): Likewise. |
| * config/darwin.h (MIN_LD64_INIT_TERM_START_LABELS): New. |
| |
| 2022-04-14 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2021-08-17 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (darwin_file_end): Reset and reclaim the |
| section names table at the end of compile. |
| |
| 2022-04-14 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * configure.ac: Handle --with-dsymutil in the same way as we |
| do for the assembler and linker. (DEFAULT_DSYMUTIL): New. |
| Extract the type and version for the dsymutil configured or |
| found by the default searches. |
| * config.in: Regenerated. |
| * configure: Regenerated. |
| * collect2.c (do_dsymutil): Handle locating dsymutil in the |
| same way as for the assembler and linker. |
| * config/darwin.h (DSYMUTIL): Delete. |
| * gcc.c: Report a configured dsymutil correctly. |
| * exec-tool.in: Allow for dsymutil. |
| * doc/install.texi: Document --with-dsymutil. |
| |
| 2022-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/105214 |
| * config/i386/i386-expand.c (ix86_emit_i387_log1p): Call |
| do_pending_stack_adjust. |
| |
| 2022-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/105211 |
| * builtins.c (expand_builtin_int_roundingfn_2): If mathfn_built_in_1 |
| fails for TREE_TYPE (arg), retry it with |
| TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that |
| fails, emit call normally. |
| |
| 2022-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-04-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/105189 |
| * fold-const.c (make_range_step): Fix up handling of |
| (unsigned) x +[low, -] ranges for signed x if low fits into |
| typeof (x). |
| |
| 2022-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-04-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/104985 |
| * combine.c (struct undo): Add where.regno member. |
| (do_SUBST_MODE): Rename to ... |
| (subst_mode): ... this. Change first argument from rtx * into int, |
| operate on regno_reg_rtx[regno] and save regno into where.regno. |
| (SUBST_MODE): Remove. |
| (try_combine): Use subst_mode instead of SUBST_MODE, change first |
| argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use |
| regno_reg_rtx[undo->where.regno] instead of *undo->where.r. |
| (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno] |
| instead of *undo->where.r. |
| (simplify_set): Use subst_mode instead of SUBST_MODE, change first |
| argument from regno_reg_rtx[whatever] to whatever. |
| |
| 2022-04-12 Peter Bergner <bergner@linux.ibm.com> |
| |
| Backported from master: |
| 2022-04-11 Peter Bergner <bergner@linux.ibm.com> |
| |
| PR target/104894 |
| * config/rs6000/rs6000.c (rs6000_sibcall_aix): Handle pcrel sibcalls |
| to longcall functions. |
| |
| 2022-04-12 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105235 |
| * tree-ssa-math-opts.c (execute_cse_conv_1): Clean EH and |
| return whether the CFG changed. |
| (execute_cse_sincos_1): Adjust. |
| |
| 2022-04-12 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105232 |
| * tree.c (component_ref_size): Bail out for too large |
| or non-constant sizes. |
| |
| 2022-04-12 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105226 |
| * tree-vect-loop-manip.c (vect_loop_versioning): Verify |
| we can split the exit of an outer loop we choose to version. |
| |
| 2022-04-11 Kito Cheng <kito.cheng@sifive.com> |
| |
| Backported from master: |
| 2022-04-11 Kito Cheng <kito.cheng@sifive.com> |
| |
| PR target/104853 |
| * config.gcc: Pass -misa-spec to arch-canonicalize and |
| multilib-generator. |
| * config/riscv/arch-canonicalize: Adding -misa-spec option. |
| (SUPPORTED_ISA_SPEC): New. |
| (arch_canonicalize): New argument `isa_spec`. |
| Handle multiple ISA spec versions. |
| * config/riscv/multilib-generator: Adding -misa-spec option. |
| |
| 2022-04-11 Kito Cheng <kito.cheng@sifive.com> |
| |
| Backported from master: |
| 2021-08-16 Kito Cheng <kito.cheng@sifive.com> |
| |
| * config/riscv/multilib-generator: Support code model option for |
| multi-lib. |
| * doc/install.texi: Add document of new option for |
| --with-multilib-generator. |
| |
| 2022-04-08 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105198 |
| * tree-predcom.c (find_looparound_phi): Check whether |
| the found memory location of the entry value is clobbered |
| inbetween the value we want to use and loop entry. |
| |
| 2022-04-07 Jan Hubicka <jh@suse.cz> |
| |
| Backported from master: |
| 2021-11-26 Jan Hubicka <jh@suse.cz> |
| |
| PR ipa/103432 |
| * ipa-modref.c (update_escape_summary_1): Fix handling of min_flags. |
| |
| 2022-04-07 Jan Hubicka <jh@suse.cz> |
| |
| Backported from master: |
| 2021-08-11 Jan Hubicka <hubicka@ucw.cz> |
| Alexandre Oliva <oliva@adacore.com> |
| |
| * ipa-modref.c (modref_lattice::dump): Fix escape_point's min_flags |
| dumping. |
| (modref_lattice::merge_deref): Fix handling of indirect scape points. |
| (update_escape_summary_1): Likewise. |
| (update_escape_summary): Likewise. |
| (ipa_merge_modref_summary_after_inlining): Likewise. |
| |
| 2022-04-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/99121 |
| * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): |
| Bail out for non-constant type size. |
| |
| 2022-04-07 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| Backported from master: |
| 2021-04-27 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR target/100106 |
| * simplify-rtx.c (simplify_context::simplify_subreg): Check the |
| memory alignment for the outer mode. |
| |
| 2022-04-07 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/104497 |
| * gimplify.c (gimplify_compound_lval): Make sure the |
| base is a non-register if needed and possible. |
| |
| 2022-04-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105053 |
| * tree-vect-loop.c (vect_create_epilog_for_reduction): Pick |
| the correct live-out stmt for a reduction chain. |
| |
| 2022-04-07 Andrew Pinski <apinski@marvell.com> |
| |
| Backported from master: |
| 2022-02-10 Andrew Pinski <apinski@marvell.com> |
| |
| PR target/104474 |
| * config/aarch64/aarch64.c |
| (aarch64_sve_expand_vector_init_handle_trailing_constants): |
| Use CONST0_RTX instead of const0_rtx for the non-constant elements. |
| |
| 2022-04-07 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-03-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/105070 |
| * tree-switch-conversion.h |
| (bit_test_cluster::hoist_edge_and_branch_if_true): Add location |
| argument. |
| * tree-switch-conversion.c |
| (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate |
| cond with location. |
| (bit_test_cluster::emit): Annotate all generated expressions |
| with location. |
| |
| 2022-04-07 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-03-23 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/105028 |
| * ira-color.c (form_threads_from_copies): Remove unnecessary |
| copying of the sorted_copies tail. |
| |
| 2022-04-07 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-03-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/104880 |
| * tree-ssa.c (execute_update_address_taken): Remember if we |
| optimistically made something not addressable and |
| prepare to undo it. |
| |
| 2022-04-07 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-04-07 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/105165 |
| * tree-complex.c (expand_complex_asm): Sorry for asm goto |
| _Complex outputs. |
| |
| 2022-04-04 Martin Jambor <mjambor@suse.cz> |
| |
| Backported from master: |
| 2022-03-31 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/103083 |
| * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null; |
| (ipa_get_jf_ancestor_keep_null): New function. |
| * ipa-prop.c (ipa_set_ancestor_jf): Initialize keep_null field of the |
| ancestor function. |
| (compute_complex_assign_jump_func): Pass false to keep_null |
| parameter of ipa_set_ancestor_jf. |
| (compute_complex_ancestor_jump_func): Pass true to keep_null |
| parameter of ipa_set_ancestor_jf. |
| (update_jump_functions_after_inlining): Carry over keep_null from the |
| original ancestor jump-function or merge them. |
| (ipa_write_jump_function): Stream keep_null flag. |
| (ipa_read_jump_function): Likewise. |
| (ipa_print_node_jump_functions_for_edge): Print the new flag. |
| * ipa-cp.c (class ipcp_bits_lattice): Make various getters const. New |
| member function known_nonzero_p. |
| (ipcp_bits_lattice::known_nonzero_p): New. |
| (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones, |
| observe it. |
| (ipcp_bits_lattice::meet_with): Likewise. |
| (propagate_bits_across_jump_function): Simplify. Pass true in |
| drop_all_ones when it is necessary. |
| (propagate_aggs_across_jump_function): Take care of keep_null |
| flag. |
| (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null |
| jump functions. |
| |
| 2022-04-03 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-04-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/105123 |
| * config/i386/i386-expand.c (ix86_expand_vector_init_general): Avoid |
| using word as target for expand_simple_binop when doing ASHIFT and |
| IOR. |
| |
| 2022-04-01 Vladimir N. Makarov <vmakarov@redhat.com> |
| |
| PR middle-end/105032 |
| * lra-assigns.c (find_reload_regno_insns): Modify loop condition. |
| |
| 2022-03-30 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2022-03-28 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/105068 |
| * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with |
| "Yw" in clobber. |
| |
| 2022-03-30 Kito Cheng <kito.cheng@sifive.com> |
| |
| * config.gcc (riscv*-*-*): Set right default isa spec. |
| |
| 2022-03-30 Kito Cheng <kito.cheng@sifive.com> |
| |
| Backported from master: |
| 2021-10-28 Kito Cheng <kito.cheng@sifive.com> |
| |
| * config/riscv/arch-canonicalize (CANONICAL_ORDER): Add `i` to |
| CANONICAL_ORDER. |
| |
| 2022-03-30 Maciej W. Rozycki <macro@embecosm.com> |
| |
| Backported from master: |
| 2021-11-03 Maciej W. Rozycki <macro@embecosm.com> |
| |
| * config/riscv/riscv.c (riscv_class_max_nregs): Swap the |
| arguments to `reg_class_subset_p'. |
| |
| 2022-03-30 Kito Cheng <kito.cheng@sifive.com> |
| |
| Backported from master: |
| 2021-11-11 Kito Cheng <kito.cheng@sifive.com> |
| |
| * common/config/riscv/riscv-common.c (riscv_subset_list::to_string): Fix |
| wrong marco checking. |
| |
| 2022-03-30 Maciej W. Rozycki <macro@embecosm.com> |
| |
| Backported from master: |
| 2022-01-18 Maciej W. Rozycki <macro@embecosm.com> |
| |
| * common/config/riscv/riscv-common.c |
| (riscv_subset_list::parse_multiletter_ext): Move pointer |
| arithmetic ahead of `free'. |
| |
| 2022-03-30 Kito Cheng <kito.cheng@sifive.com> |
| |
| Backported from master: |
| 2022-01-24 Kito Cheng <kito.cheng@sifive.com> |
| |
| * common/config/riscv/riscv-common.c (riscv_subset_list::to_string): |
| Skip zicsr and zifencei if I-ext is 2.0. |
| |
| 2022-03-30 Kito Cheng <kito.cheng@sifive.com> |
| |
| Backported from master: |
| 2022-02-05 Kito Cheng <kito.cheng@sifive.com> |
| |
| * configure.ac: Fix detection for zifencei support. |
| * configure: Regenerate. |
| |
| 2022-03-30 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-03-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/105093 |
| * ubsan.c (instrument_object_size): If t is equal to inner and |
| is a decl other than global var, punt. When emitting call to |
| UBSAN_OBJECT_SIZE ifn, make sure base is addressable. |
| |
| 2022-03-30 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-03-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/105094 |
| * gimple-ssa-store-merging.c (mem_valid_for_store_merging): Punt if |
| bitsize <= 0 rather than just == 0. |
| |
| 2022-03-30 Martin Liska <mliska@suse.cz> |
| |
| * lto-streamer.h (LTO_minor_version): Bump it. |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-03-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/105035 |
| * fold-const.c (operand_equal_p) <case COMPONENT_REF>: If either |
| field0 or field1 is not a FIELD_DECL, return false. |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-03-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/104971 |
| * config/i386/i386-expand.c |
| (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore, |
| don't push/pop anything and just return const0_rtx. |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-03-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/99578 |
| PR middle-end/100680 |
| PR tree-optimization/100834 |
| * params.opt (--param=min-pagesize=): New parameter. |
| * builtins.c (compute_objsize_r) <case INTEGER_CST>: Use maximum |
| object size instead of zero for pointer constants equal or larger |
| than min-pagesize. |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-03-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/104910 |
| * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Copy |
| imm rtx. |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-03-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/104814 |
| * ifcvt.c (find_if_case_1, find_if_case_2): Punt if test_bb doesn't |
| end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL. |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-03-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/104711 |
| * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value |
| is enabled by it only for C++11 to C++17 rather than for C++03 or |
| later. |
| (-Wshift-negative-value): Similarly (except here we stated |
| that it is enabled for C++11 or later). |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-03-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/104775 |
| * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use |
| S constraint instead of T in the last alternative. |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-03-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/104589 |
| * cfgrtl.c (fixup_reorder_chain): Use loc_equal instead of direct |
| INSN_LOCATION comparison with goto_locus. |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-25 Jakub Jelinek <jakub@redhat.com> |
| Marc Glisse <marc.glisse@inria.fr> |
| |
| PR tree-optimization/104675 |
| * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1): |
| Restrict simplifications to INTEGRAL_TYPE_P. |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/104681 |
| * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move. |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/104674 |
| * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387. |
| * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use |
| SLOT_FLOATxFDI_387 rather than SLOT_TEMP. |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/104675 |
| * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for |
| COMPLEX_TYPE. |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/104601 |
| * tree-ssa-sccvn.c (visit_reference_op_call): For calls with |
| non-SSA_NAME lhs value number vdef to itself instead of e.g. the |
| vuse value number. |
| |
| 2022-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/102656 |
| * asan.c (instrument_derefs): If inner is a RESULT_DECL and access is |
| known to be within bounds, treat it like automatic variables. |
| If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from |
| current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark |
| it addressable. |
| |
| 2022-03-28 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2022-03-27 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/105068 |
| * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with |
| "Yw". |
| |
| 2022-03-28 Kito Cheng <kito.cheng@sifive.com> |
| |
| Backported from master: |
| 2021-11-09 Kito Cheng <kito.cheng@sifive.com> |
| |
| PR target/102957 |
| * common/config/riscv/riscv-common.c (multi_letter_subset_rank): Remove |
| assertion for Z*-ext. |
| |
| 2022-03-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/99754 |
| * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into |
| first rather than last element of the vector, use __m32_u to do |
| a really unaligned load, use just 0 instead of (int)0. |
| (_mm_loadu_si16): Put loaded value into first rather than last |
| element of the vector, use __m16_u to do a really unaligned load, |
| use just 0 instead of (short)0. |
| |
| 2022-03-26 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2022-03-26 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/105058 |
| * config/i386/sse.md (loadiwkey): Replace "v" with "x". |
| (aes<aesklvariant>u8): Likewise. |
| |
| 2022-03-26 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2022-03-26 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/105052 |
| * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3): |
| Replace "Yv" with "x". |
| (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise. |
| (ssse3_psign<mode>3): Likewise. |
| |
| 2022-03-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/101636 |
| PR tree-optimization/104782 |
| * tree-vect-slp.c (vect_slp_analyze_operations): Make sure |
| the CTOR is vectorized with an expected type. |
| |
| 2022-03-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/104931 |
| * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC |
| simplification. |
| |
| 2022-03-22 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2022-03-21 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/105000 |
| * common/config/i386/i386-common.c |
| (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace |
| OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET. |
| |
| 2022-03-22 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2022-03-16 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/104890 |
| * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before |
| pushing target("general-regs-only"). |
| |
| 2022-03-22 Jason Merrill <jason@redhat.com> |
| |
| * tree.h (struct tree_vec_map_cache_hasher): Move from... |
| * tree.c (struct tree_vec_map_cache_hasher): ...here. |
| |
| 2022-03-21 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2022-03-21 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/104998 |
| * common/config/i386/cpuinfo.h (get_available_features): Pass |
| 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if |
| bit_AESKLE is set. |
| |
| 2022-03-18 Peter Bergner <bergner@linux.ibm.com> |
| |
| Backported from master: |
| 2022-03-15 Peter Bergner <bergner@linux.ibm.com> |
| |
| PR target/104923 |
| * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict |
| acceptable MEM addresses. |
| |
| 2022-03-18 Peter Bergner <bergner@linux.ibm.com> |
| |
| Backported from master: |
| 2022-03-04 Peter Bergner <bergner@linux.ibm.com> |
| |
| PR target/87496 |
| PR target/104208 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Make the |
| ISA 2.06 requirement for -mabi=ieeelongdouble conditional on |
| -mlong-double-128. |
| Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking |
| from here... |
| * common/config/rs6000/rs6000-common.c (rs6000_handle_option): |
| ... to here. |
| |
| 2022-03-18 Cui,Lili <lili.cui@intel.com> |
| |
| PR target/104963 |
| * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX. |
| * doc/invoke.texi: Update documents for Intel sapphirerapids. |
| |
| 2022-03-16 Qing Zhao <qing.zhao@oracle.com> |
| |
| PR middle-end/100775 |
| * function.c (gen_call_used_regs_seq): Call |
| df_update_exit_block_uses when updating df. |
| |
| 2022-03-16 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-03-09 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/104786 |
| * cfgexpand.c (expand_asm_stmt): Do not generate a copy |
| for VLAs without an upper size bound. |
| |
| 2022-03-16 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-02-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/104511 |
| * tree-ssa-forwprop.c (simplify_vector_constructor): Avoid |
| touching DFP <-> FP conversions. |
| |
| 2022-03-16 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-02-09 Richard Biener <rguenther@suse.de> |
| |
| PR target/104453 |
| * config/i386/i386.c (ix86_gimple_fold_builtin): Guard shift |
| folding for NULL LHS. |
| |
| 2022-03-16 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-02-07 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/104402 |
| * gimple-expr.c (is_gimple_condexpr): _Complex typed |
| compares are not valid. |
| * tree-cfg.c (verify_gimple_assign_ternary): For COND_EXPR |
| check is_gimple_condexpr. |
| |
| 2022-03-16 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-02-03 Richard Biener <rguenther@suse.de> |
| |
| PR debug/104337 |
| * tree-nrv.c (pass_nrv::execute): Remove tieing result and found |
| together via DECL_ABSTRACT_ORIGIN. |
| |
| 2022-03-16 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-02-04 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/103641 |
| * tree-vect-patterns.c (vect_synth_mult_by_constant): |
| Pass the vector mode to choose_mult_variant. |
| |
| 2022-03-11 Michael Meissner <meissner@the-meissners.org> |
| |
| PR target/99708 |
| * config/rs6000/rs6000-c.c: Revert patch from 2022-03-05. |
| |
| 2022-03-10 Marek Polacek <polacek@redhat.com> |
| |
| Backported from master: |
| 2022-03-08 Marek Polacek <polacek@redhat.com> |
| |
| PR rtl-optimization/104777 |
| * rtl.c (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if |
| ASM_OPERANDS_LABEL_VEC has at least one element. |
| |
| 2022-03-09 Kito Cheng <kito.cheng@sifive.com> |
| |
| Backported from master: |
| 2022-02-05 Kito Cheng <kito.cheng@sifive.com> |
| |
| PR target/104219 |
| * config.gcc (riscv*-*-*): Normalize the with_isa_spec value. |
| (all_defaults): Add isa_spec. |
| * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec. |
| |
| 2022-03-05 Michael Meissner <meissner@the-meissners.org> |
| |
| PR target/99708 |
| * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define |
| __SIZEOF_IBM128__ if the IBM 128-bit long double type is created. |
| Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type |
| is created. Backport change made to the master branch on |
| 2022-02-17. |
| |
| 2022-03-05 Michael Meissner <meissner@the-meissners.org> |
| |
| PR target/104253 |
| * config/rs6000/rs6000.c (init_float128_ibm): Update the |
| conversion functions used to convert IFmode types. Backport |
| change from 2022-02-14 made on the master branch. |
| |
| 2022-03-01 Tamar Christina <tamar.christina@arm.com> |
| |
| * tree-vect-slp-patterns.c (vect_validate_multiplication): Correctly |
| detect conjugate cases. |
| (complex_mul_pattern::matches): Likewise. |
| (complex_fma_pattern::matches): Move accumulator last as expected. |
| (complex_fma_pattern::build): Likewise. |
| (complex_fms_pattern::matches): Handle different conjugate form. |
| |
| 2022-02-25 Tamar Christina <tamar.christina@arm.com> |
| |
| * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32, |
| vdot_laneq_s32, vdotq_laneq_s32): New. |
| * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New. |
| * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New. |
| (<sup>dot_prod<vsi2qi>): Re-order rtl. |
| (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes. |
| (neon_<sup>dot_laneq<vsi2qi>): New. |
| |
| 2022-02-25 Tamar Christina <tamar.christina@arm.com> |
| |
| * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32, |
| vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New |
| * config/arm/arm_neon_builtins.def (usdot): Add V16QI. |
| (usdot_laneq, sudot_laneq): New. |
| * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New. |
| (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code. |
| |
| 2022-02-25 Tamar Christina <tamar.christina@arm.com> |
| |
| PR tree-optimization/102819 |
| PR tree-optimization/103169 |
| * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use |
| canonical order. |
| |
| 2022-02-25 Tamar Christina <tamar.christina@arm.com> |
| |
| PR tree-optimization/102819 |
| PR tree-optimization/103169 |
| * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use |
| canonical order. |
| * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise. |
| |
| 2022-02-25 Tamar Christina <tamar.christina@arm.com> |
| |
| PR tree-optimization/102819 |
| PR tree-optimization/103169 |
| * gimple.h (gimple_num_args, gimple_arg): New. |
| * doc/md.texi: Update docs for cfms, cfma. |
| * tree-data-ref.h (same_data_refs): Accept optional offset. |
| * tree-vect-slp-patterns.c (is_linear_load_p): Fix issue with repeating |
| patterns. |
| (vect_normalize_conj_loc): Remove. |
| (is_eq_or_top): Change to take two nodes. |
| (enum _conj_status, compatible_complex_nodes_p, |
| vect_validate_multiplication): New. |
| (class complex_add_pattern, complex_add_pattern::matches, |
| complex_add_pattern::recognize, class complex_mul_pattern, |
| complex_mul_pattern::recognize, class complex_fms_pattern, |
| complex_fms_pattern::recognize,, class complex_fma_pattern, |
| complex_fma_pattern::recognize, class complex_operations_pattern, |
| complex_operations_pattern::recognize, addsub_pattern::recognize): Pass |
| new cache. |
| (complex_fms_pattern::matches, complex_fma_pattern::matches, |
| complex_mul_pattern::matches): Pass new cache and use new validation |
| code. |
| * tree-vect-slp.c (vect_match_slp_patterns_2, vect_match_slp_patterns, |
| vect_analyze_slp): Pass along cache. |
| (compatible_calls_p): Expose. |
| * tree-vectorizer.h (compatible_calls_p, slp_node_hash, |
| slp_compat_nodes_map_t): New. |
| (class vect_pattern): Update signatures include new cache. |
| |
| 2022-02-21 Pat Haugen <pthaugen@linux.ibm.com> |
| |
| * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented. |
| (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical, |
| mpower10-fusion-logical-add, mpower10-fusion-add-logical, |
| mpower10-fusion-2add, mpower10-fusion-2store): Remove. |
| * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER, |
| OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal, |
| power10_sched_reorder): Likewise. |
| * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf, |
| gen_addadd): Likewise |
| * config/rs6000/fusion.md: Regenerate. |
| |
| 2022-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/104557 |
| * valtrack.c (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG |
| if expr has VOIDmode. |
| |
| 2022-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/104544 |
| * combine.c (try_combine): When looking for insn whose links |
| should be updated from i3 to i2, don't stop on debug insns, instead |
| skip over them. |
| |
| 2022-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/104517 |
| * omp-low.c (task_cpyfns): New variable. |
| (delete_omp_context): Don't call finalize_task_copyfn from here. |
| (create_task_copyfn): Push task_stmt into task_cpyfns. |
| (execute_lower_omp): Call finalize_task_copyfn here on entries from |
| task_cpyfns vector and release the vector. |
| |
| 2022-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/104449 |
| * asan.c: Include tree-eh.h. |
| (handle_builtin_alloca): Handle the case when __builtin_alloca or |
| __builtin_alloca_with_align can throw. |
| |
| 2022-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/104502 |
| * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+ |
| and AVX512VL isn't available, move operands[1] to operands[0] first. |
| |
| 2022-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/104446 |
| * combine.c (subst): Don't substitute CONST_INTs into RTX_AUTOINC |
| operands. |
| |
| 2022-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/102140 |
| * config/rs6000/rs6000.c (vspltis_shifted): Return false also if |
| split1 pass has finished already. |
| |
| 2022-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/104307 |
| * tree-vect-generic.c (expand_vector_comparison): Don't push debug |
| stmts to uses vector, just set vec_cond_expr_only to false for |
| non-VEC_COND_EXPRs instead of pushing them into uses. Treat |
| VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too |
| like non-VEC_COND_EXPRs. |
| |
| 2022-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/104263 |
| * gimple-ssa-store-merging.c (get_status_for_store_merging): For |
| cfun->can_throw_non_call_exceptions && cfun->eh test whether |
| last non-debug stmt in the bb is store_valid_for_store_merging_p |
| rather than last stmt. |
| |
| 2022-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/104237 |
| * cfgrtl.c (loc_equal): New function. |
| (unique_locus_on_edge_between_p): Use it. |
| |
| 2022-02-18 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-05-10 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/100464 |
| PR c++/100468 |
| * gimple-fold.c (canonicalize_constructor_val): Do not set |
| TREE_ADDRESSABLE. |
| |
| 2022-02-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-10-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/102893 |
| * tree-ssa-dce.c (find_obviously_necessary_stmts): Fix the |
| test for an exit edge. |
| |
| 2022-02-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-08-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/45178 |
| * tree-ssa-dce.c (find_obviously_necessary_stmts): For |
| infinite loops without exit do not mark control dependent |
| edges of the latch necessary. |
| |
| 2022-02-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-01-04 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/103864 |
| PR tree-optimization/103544 |
| * tree-vect-slp.c (vect_analyze_slp_instance): Exclude |
| reductions wrapped in conversions from SLP handling. |
| (vect_analyze_slp): Revert PR103544 change. |
| |
| 2022-02-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-12-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/103544 |
| * tree-vect-slp.c (vect_analyze_slp): Only add a SLP reduction |
| opportunity if the stmt in question is the reduction root. |
| |
| 2022-02-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-11-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/103361 |
| * gimple-loop-jam.c (adjust_unroll_factor): Use lambda_int |
| for the dependence distance. |
| * tree-data-ref.c (print_lambda_vector): Properly print a lambda_int. |
| |
| 2022-02-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-01-20 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/100786 |
| * gimple-fold.c (get_symbol_constant_value): Only return |
| values of compatible type to the symbol. |
| |
| 2022-02-17 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2022-01-20 Richard Biener <rguenther@suse.de> |
| |
| PR target/100784 |
| * config/i386/i386.c (ix86_gimple_fold_builtin): Check for |
| LHS before folding __builtin_ia32_shufpd and friends. |
| |
| 2022-02-16 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2022-01-06 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/103925 |
| * config/i386/i386.c (ix86_output_indirect_function_return): |
| Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp. |
| |
| 2022-02-16 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2022-01-06 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/102952 |
| * config/i386/i386-opts.h (harden_sls): Replace |
| harden_sls_indirect_branch with harden_sls_indirect_jmp. |
| * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): |
| Likewise. |
| (ix86_output_indirect_jmp): Likewise. |
| (ix86_output_call_insn): Likewise. |
| * config/i386/i386.opt: Replace indirect-branch with |
| indirect-jmp. Replace harden_sls_indirect_branch with |
| harden_sls_indirect_jmp. |
| * doc/invoke.texi (-harden-sls=): Replace indirect-branch with |
| indirect-jmp. |
| |
| 2022-02-16 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2021-11-18 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/102952 |
| * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): Emit |
| CS prefix for -mindirect-branch-cs-prefix. |
| (ix86_output_indirect_branch_via_reg): Likewise. |
| * config/i386/i386.opt: Add -mindirect-branch-cs-prefix. |
| * doc/invoke.texi: Document -mindirect-branch-cs-prefix. |
| |
| 2022-02-16 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2021-11-17 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/102952 |
| * config/i386/i386-opts.h (harden_sls): New enum. |
| * config/i386/i386.c (output_indirect_thunk): Mitigate against |
| SLS for function return. |
| (ix86_output_function_return): Likewise. |
| (ix86_output_jmp_thunk_or_indirect): Mitigate against indirect |
| branch. |
| (ix86_output_indirect_jmp): Likewise. |
| (ix86_output_call_insn): Likewise. |
| * config/i386/i386.opt: Add -mharden-sls=. |
| * doc/invoke.texi: Document -mharden-sls=. |
| |
| 2022-02-16 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2021-11-17 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/103307 |
| * config/i386/i386.c (ix86_code_end): Remove "%!" before ret. |
| (ix86_output_function_return): Likewise. |
| * config/i386/i386.md (simple_return_pop_internal): Likewise. |
| |
| 2022-02-15 Kewen Lin <linkw@linux.ibm.com> |
| |
| Backported from master: |
| 2022-02-07 Kewen Lin <linkw@linux.ibm.com> |
| |
| PR target/103627 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Move the |
| hunk affecting VSX and ALTIVEC to appropriate place. |
| |
| 2022-02-15 Kewen Lin <linkw@linux.ibm.com> |
| |
| Backported from master: |
| 2022-02-07 Kewen Lin <linkw@linux.ibm.com> |
| |
| PR target/103627 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Disable |
| MMA if !TARGET_VSX. |
| |
| 2022-02-14 Maciej W. Rozycki <macro@embecosm.com> |
| |
| Backported from master: |
| 2022-02-08 Maciej W. Rozycki <macro@embecosm.com> |
| |
| * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency. |
| |
| 2022-02-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backported from master: |
| 2022-02-12 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/79754 |
| * config/i386/i386.c (type_natural_mode): |
| Skip decimal float vector modes. |
| |
| 2022-02-11 Martin Liska <mliska@suse.cz> |
| |
| Backported from master: |
| 2021-12-03 Martin Liska <mliska@suse.cz> |
| Peter Bergner <bergner@linux.ibm.com> |
| |
| PR target/101324 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Move the |
| disabling of shrink-wrapping when using -mrop-protect from here... |
| (rs6000_override_options_after_change): ...to here. |
| |
| 2022-02-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backported from master: |
| 2022-02-10 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/104469 |
| * config/i386/sse.md (vec_unpacks_float_lo_v4si): |
| Change operand 1 constraint to register_operand. |
| |
| 2022-02-09 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/104462 |
| * common/config/i386/i386-common.c (OPTION_MASK_ISA2_XSAVE_UNSET): |
| Also include OPTION_MASK_ISA2_AVX2_UNSET. |
| |
| 2022-02-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backported from master: |
| 2022-02-09 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/104458 |
| * config/i386/i386-expand.c (ix86_split_idivmod): |
| Force operands[2] and operands[3] into a register.. |
| |
| 2022-02-09 liuhongt <hongtao.liu@intel.com> |
| |
| PR target/104451 |
| * config/i386/sse.md (<insn><mode>3): lowpart_subreg |
| operands[2] from SImode to QImode. |
| |
| 2022-02-08 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR tree-optimization/104288 |
| * gimple-range-cache.cc (ssa_range_in_bb): Only use non-null from the |
| dominator entry ranges. |
| * gimple-range.cc (gimple_ranger::range_of_expr): Ditto. |
| |
| 2022-02-03 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/104362 |
| * config/i386/i386.c (find_drap_reg): For 32bit targets |
| return DI_REG if function uses __builtin_eh_return. |
| |
| 2022-02-02 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| PR target/104090 |
| * config/rs6000/rs6000.c (rs6000_machine_from_flags): Use also |
| rs6000_cpu. |
| |
| 2022-02-02 Ilya Leoshkevich <iii@linux.ibm.com> |
| |
| Backported from master: |
| 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com> |
| |
| * config/s390/s390.c (s390_code_end): Do not switch back to |
| code section. |
| |
| 2022-02-02 Xi Ruoyao <xry111@mengyan1223.wang> |
| |
| Backported from master: |
| 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang> |
| |
| PR middle-end/95115 |
| * fold-const.c (const_binop): Do not fold NaN result from |
| non-NaN operands. |
| |
| 2022-01-28 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-12-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/103596 |
| * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt): |
| Note we are not propagating into a PHI argument to may_propagate_copy. |
| * tree-ssa-propagate.h (may_propagate_copy): Add |
| argument specifying whether we propagate into a PHI arg. |
| * tree-ssa-propagate.c (may_propagate_copy): Likewise. |
| When not doing so we can replace an abnormal with |
| something else. |
| (may_propagate_into_stmt): Update may_propagate_copy calls. |
| (replace_exp_1): Move propagation checking code to |
| propagate_value and rename to ... |
| (replace_exp): ... this and elide previous wrapper. |
| (propagate_value): Perform checking with adjusted |
| may_propagate_copy call and dispatch to replace_exp. |
| |
| 2022-01-28 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-11-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/103489 |
| * tree-vect-loop.c (vectorizable_phi): Verify argument |
| vector type compatibility to mitigate bool pattern recog |
| bug. |
| |
| 2022-01-26 Andrew Pinski <apinski@marvell.com> |
| |
| Backported from master: |
| 2021-11-10 Andrew Pinski <apinski@marvell.com> |
| |
| PR target/101529 |
| * config/aarch64/aarch64.c (aarch64_evpc_ins): Don't use target |
| as an input, use original one. |
| |
| 2022-01-25 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-01-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/104172 |
| * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't |
| declare. |
| * config/rs6000/rs6000.c (rs6000_passes_ieee128, |
| ieee128_mangling_gcc_8_1): Remove. |
| (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine. |
| (rs6000_mangle_type): Return "u9__ieee128" instead of |
| ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128". |
| (rs6000_globalize_decl_name): Remove. |
| * config/rs6000/rs6000-call.c (init_cumulative_args, |
| rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128. |
| |
| 2022-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-01-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/102478 |
| * optabs.c (prepare_cmp_insn): If !can_create_pseudo_p (), don't |
| force_reg constants and for -fnon-call-exceptions fail if copy_to_reg |
| would be needed. |
| |
| 2022-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-01-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/103874 |
| * dwarf2out.c (index_rnglists): For !HAVE_AS_LEB128 and |
| block_num > 0, index entry even if !have_multiple_function_sections. |
| |
| 2022-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/102860 |
| * match.pd (x %[fl] y -> x % y): New simplification for |
| unsigned integral types. |
| * optabs-tree.c (optab_for_tree_code): Return unknown_optab |
| for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE. |
| |
| 2022-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of |
| {%0}. |
| |
| 2022-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2022-01-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/103908 |
| * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with |
| asm goto. |
| |
| 2022-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-12-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/103012 |
| * config/i386/i386-c.c (ix86_pragma_target_parse): Perform |
| cpp_define/cpp_undef calls with forced token locations |
| BUILTINS_LOCATION. |
| * config/arm/arm-c.c (arm_pragma_target_parse): Likewise. |
| * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Likewise. |
| * config/s390/s390-c.c (s390_pragma_target_parse): Likewise. |
| |
| 2022-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-12-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/103860 |
| * shrink-wrap.c (try_shrink_wrapping): Make sure can_get_prologue is |
| called on pro even if nothing further is pushed into vec. |
| |
| 2022-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-12-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/103813 |
| * fold-const.c (fold_truth_andor_1): Punt of const_binop LSHIFT_EXPR |
| or RSHIFT_EXPR returns NULL. Formatting fix. |
| |
| 2022-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-12-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/103837 |
| * loop-invariant.c (can_move_invariant_reg): Ignore DEBUG_INSNs in |
| the decisions whether to return false or continue and right before |
| returning true reset those debug insns that previously caused |
| returning false. |
| |
| 2022-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-12-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/103838 |
| * optabs.c (expand_doubleword_mod, expand_doubleword_divmod): Only |
| check newly added insns for CALL_P, not the last insn of previous |
| code. |
| |
| 2022-01-24 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2022-01-24 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/104188 |
| * config/i386/predicates.md (bcst_mem_operand): Also check mode |
| of memory broadcast. |
| |
| 2022-01-18 Martin Liska <mliska@suse.cz> |
| |
| Backported from master: |
| 2021-08-13 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/101354 |
| * attribs.c (decl_attributes): Make naked functions "noipa" |
| functions. |
| |
| 2022-01-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump |
| reverse flag as "reverse" for the sake of consistency. |
| * ipa-sra.c: Fix copyright year. |
| (ipa_sra_function_summaries::duplicate): Copy the reverse flag. |
| (dump_isra_access): Tweak dump line. |
| (isra_write_node_summary): Write the reverse flag. |
| (isra_read_node_info): Read it. |
| (pull_accesses_from_callee): Test its consistency and copy it. |
| |
| 2022-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/101615 |
| PR tree-optimization/103995 |
| * tree-vect-slp.c (vect_optimize_slp): Materialize permutes |
| at CTOR SLP graph entries. |
| |
| 2022-01-12 liuhongt <hongtao.liu@intel.com> |
| |
| PR target/98348 |
| * config/i386/sse.md (*<avx512>_ucmp<mode>3_1): Change from |
| define_split to define_insn_and_split. |
| (*avx2_eq<mode>3): Removed. |
| (<avx512>_eq<mode>3<mask_scalar_merge_name>): Adjust pattern |
| (<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Rename to .. |
| (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): .. this, and |
| adjust pattern. |
| (*avx2_gt<mode>3): Removed. |
| (<avx512>_gt<mode>3<mask_scalar_merge_name>): Change from |
| define_insn to define_expand, and adjust pattern. |
| (UNSPEC_MASKED_EQ, UNSPEC_MASKED_GT): Removed. |
| |
| 2022-01-11 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR tree-optimization/103603 |
| * gimple-range.cc (gimple_ranger::gimple_ranger): Create stmt stack. |
| (gimple_ranger::~gimple_ranger): New. |
| (gimple_ranger::range_of_stmt): Process dependencies if they have no |
| global cache entry. |
| (gimple_ranger::prefill_name): New. |
| (gimple_ranger::prefill_stmt_dependencies): New. |
| * gimple-range.h (class gimple_ranger): Add prototypes. |
| |
| 2022-01-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/103465 |
| * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET. |
| |
| 2022-01-02 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access |
| sync_lock_test_and_set libfunc. Call convert_memory_address to |
| convert memory address to Pmode. |
| (atomic_storehi, atomic_storesi, atomic_storedi): Likewise. |
| |
| 2021-12-27 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa-protos.h: Delete |
| pa_maybe_emit_compare_and_swap_exchange_loop() declaration. |
| * config/pa/pa.c (pa_expand_compare_and_swap_loop): Delete. |
| (pa_maybe_emit_compare_and_swap_exchange_loop): Delete. |
| * config/pa/pa.md (atomic_storeq): Use __sync_lock_test_and_set |
| instead of pa_maybe_emit_compare_and_swap_exchange_loop. |
| (atomic_storehi, atomic_storesi, atomic_storedi): Likewise. |
| |
| 2021-12-16 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/101751 |
| * doc/extend.texi (attribute access): Adjust. |
| * calls.c (maybe_warn_rdwr_sizes): Treat access mode none on a void* |
| argument as expecting as few as zero bytes. |
| |
| 2021-12-16 Martin Sebor <msebor@redhat.com> |
| |
| PR c/101289 |
| PR c/97548 |
| * fold-const.c (operand_compare::operand_equal_p): Handle OEP_DECL_NAME. |
| (operand_compare::verify_hash_value): Same. |
| * tree-core.h (OEP_DECL_NAME): New. |
| |
| 2021-12-16 Martin Liska <mliska@suse.cz> |
| |
| Backported from master: |
| 2021-12-15 Martin Liska <mliska@suse.cz> |
| |
| PR target/103661 |
| * config/i386/i386-builtins.c (fold_builtin_cpu): Compare to 0 |
| as API expects that non-zero values are returned (do that |
| it mask == 31). |
| For "avx512vbmi2" argument, we return now 1 << 31, which is a |
| negative integer value. |
| |
| 2021-12-15 Kewen Lin <linkw@linux.ibm.com> |
| |
| Backported from master: |
| 2021-11-30 Kewen Lin <linkw@linux.ibm.com> |
| |
| PR target/102347 |
| * config/rs6000/rs6000-call.c (rs6000_builtin_decl): Remove builtin mask |
| check. |
| |
| 2021-12-14 Joel Hutton <joel.hutton@arm.com> |
| |
| PR bootstrap/103688 |
| * tree-vect-loop.c (vectorizable_induction): Rework to avoid |
| directly_supported_p. |
| |
| 2021-12-13 Joel Hutton <joel.hutton@arm.com> |
| |
| PR tree-optimization/103523 |
| * tree-vect-loop.c (vectorizable_induction): Check for |
| PLUS_EXPR/MINUS_EXPR support. |
| |
| 2021-12-02 Rasmus Villemoes <rasmus.villemoes@prevas.dk> |
| |
| Backported from master: |
| 2021-12-02 Rasmus Villemoes <rasmus.villemoes@prevas.dk> |
| |
| * config/vxworks.h (LTO_PLUGIN_SPEC): Adapt to corrected |
| spelling of -linker-output-auto-nolto-rel. |
| |
| 2021-12-01 Martin Jambor <mjambor@suse.cz> |
| |
| Backported from master: |
| 2021-11-30 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/103267 |
| * ipa-sra.c (scan_function): Also check ECF_LOOPING_CONST_OR_PURE flag. |
| |
| 2021-12-01 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-12-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/102356 |
| * rtl.h (simplify_context): Add assoc_count member and |
| max_assoc_count static member. |
| * simplify-rtx.c (simplify_associative_operation): Don't reassociate |
| more than max_assoc_count times within one outermost simplify_* call. |
| |
| 2021-11-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/103274 |
| * config/i386/i386.c (ix86_output_call_insn): Beef up comment about |
| nops emitted with SEH. |
| * config/i386/winnt.c (i386_pe_seh_unwind_emit): When switching to |
| the cold section, emit a nop before the directive if the previous |
| active instruction is a call. |
| |
| 2021-11-29 Peter Bergner <bergner@linux.ibm.com> |
| |
| Backported from master: |
| 2021-11-16 Peter Bergner <bergner@linux.ibm.com> |
| |
| PR target/102976 |
| * config/rs6000/mma.md (*vsx_assemble_pair): Add early-clobber for |
| output operand. |
| (*mma_assemble_acc): Likewise. |
| |
| 2021-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-11-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/103435 |
| * gimple-ssa-store-merging.c (find_bswap_or_nop_finalize): Avoid UB if |
| n->range - rsize == 8, just clear both *cmpnop and *cmpxchg in that |
| case. |
| |
| 2021-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-11-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/103384 |
| * omp-general.c (omp_context_selector_matches): For ACCEL_COMPILER, |
| return 0 for kind(host) and continue for kind(nohost). |
| |
| 2021-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-11-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/102431 |
| * gimplify.c (replace_reduction_placeholders): Remove. |
| (note_no_context_vars): New function. |
| (gimplify_omp_loop): For OMP_PARALLEL's BIND_EXPR create a new |
| BLOCK. Use copy_tree_body_r with walk_tree instead of unshare_expr |
| and replace_reduction_placeholders for duplication of |
| OMP_CLAUSE_REDUCTION_{INIT,MERGE} expressions. Ensure all mentioned |
| automatic vars have DECL_CONTEXT set to non-NULL before doing so |
| and reset it afterwards for those vars and their corresponding |
| vars. |
| |
| 2021-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-11-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/103192 |
| * tree-ssa-loop-im.c (move_computations_worker): Use |
| reset_flow_sensitive_info instead of manually clearing |
| SSA_NAME_RANGE_INFO and do it for all SSA_NAMEs, not just ones |
| with integral types. |
| |
| 2021-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-11-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/103255 |
| * gimple-range.cc (fold_using_range::range_of_address): Return |
| range_nonzero rather than unadjusted base's range. Formatting fixes. |
| |
| 2021-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-11-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/103205 |
| * config/i386/sync.md (atomic_bit_test_and_set<mode>, |
| atomic_bit_test_and_complement<mode>, |
| atomic_bit_test_and_reset<mode>): Use OPTAB_WIDEN instead of |
| OPTAB_DIRECT. |
| |
| 2021-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-11-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/101378 |
| * dwarf2out.c (field_byte_offset): Do the PCC_BITFIELD_TYPE_MATTERS |
| handling only for DECL_BIT_FIELD_TYPE decls. |
| |
| 2021-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-11-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/100246 |
| * config/i386/i386.h |
| (stringop_algs::stringop_strategy::stringop_strategy): Make the ctor |
| constexpr. |
| |
| 2021-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-11-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/103046 |
| * dwarf2out.c (add_const_value_attribute): Add MODE argument, use it |
| in CONST_WIDE_INT handling. Adjust recursive calls. |
| (add_location_or_const_value_attribute): Pass DECL_MODE (decl) to |
| new add_const_value_attribute argument. |
| (tree_add_const_value_attribute): Pass TYPE_MODE (type) to new |
| add_const_value_attribute argument. |
| |
| 2021-11-25 Jan Hubicka <jh@suse.cz> |
| |
| Backported from master: |
| 2021-11-20 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/103052 |
| * ipa-pure-const.c (propagate_pure_const): Fix merging of loping flag. |
| |
| 2021-11-24 Maciej W. Rozycki <macro@embecosm.com> |
| |
| Backported from master: |
| 2021-11-24 Maciej W. Rozycki <macro@embecosm.com> |
| |
| PR middle-end/103059 |
| * reload.c (find_reloads_address_1): Also accept the ASHIFT form |
| of indexed addressing. |
| (find_reloads): Adjust accordingly. |
| |
| 2021-11-23 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| PR target/101985 |
| * config/rs6000/altivec.h (vec_cpsgn): Swap operand order. |
| |
| 2021-11-22 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> |
| |
| Backported from master: |
| 2021-11-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> |
| |
| * config/s390/s390.md (define_peephole2): Variable insn points |
| to the first matched insn. Use peep2_next_insn(1) to refer to |
| the second matched insn. |
| |
| 2021-11-22 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-11-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/103237 |
| * tree-vect-loop.c (vect_is_simple_reduction): Fail for |
| double reductions with multiple inner loop LC PHI nodes. |
| |
| 2021-11-22 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-11-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/103204 |
| * tree-ssa-sccvn.c (valueize_refs_1): Re-valueize the |
| top operand after folding in an address. |
| |
| 2021-11-22 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/103181 |
| PR middle-end/103248 |
| * tree-eh.c (operation_could_trap_helper_p): Properly |
| check vector constants for a zero element for integer |
| division. Separate floating point and integer division code. |
| Properly handle fixed-point RDIV_EXPR. |
| |
| 2021-11-22 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-11-03 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/102970 |
| * tree-ssa-pre.c (phi_translate_1): Drop clique and base |
| when translating a MEM_REF over a backedge. |
| |
| 2021-11-22 liuhongt <hongtao.liu@intel.com> |
| |
| PR target/103275 |
| * config/i386/constraints.md (Bk): New |
| define_memory_constraint. |
| * config/i386/i386-protos.h (ix86_gpr_tls_address_pattern_p): |
| Declare. |
| * config/i386/i386.c (ix86_gpr_tls_address_pattern_p): New |
| function. |
| * config/i386/i386.md (*movsi_internal): Don't allow |
| mask/sse/mmx move in TLS code sequences. |
| (*movdi_internal): Ditto. |
| |
| 2021-11-19 Giuliano Belinassi <gbelinassi@suse.de> |
| |
| * gcc.c (process_command): Skip dumpdir override if file is a |
| not_actual_file_p. |
| * doc/invoke.texi: Update -dumpdir documentation. |
| |
| 2021-11-18 Jan Hubicka <jh@suse.cz> |
| |
| Backported from master: |
| 2021-11-17 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/103246 |
| * ipa-modref.c (read_modref_records): Fix streaminig in of every_access |
| flag. |
| |
| 2021-11-18 Jan Hubicka <jh@suse.cz> |
| |
| * ipa-modref.c (ipa_merge_modref_summary_after_inlining): Fix |
| handling of ignore_stores. |
| |
| 2021-11-18 David Edelsohn <dje.gcc@gmail.com> |
| |
| Backported from master: |
| 2021-11-18 David Edelsohn <dje.gcc@gmail.com> |
| |
| * config/rs6000/driver-rs6000.c (detect_processor_aix): Add |
| power10. |
| |
| 2021-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| |
| Backported from master: |
| 2021-11-03 Philipp Tomsich <philipp.tomsich@vrull.eu> |
| |
| * config/aarch64/aarch64-cores.def (AARCH64_CORE): New Ampere-1 |
| core. |
| * config/aarch64/aarch64-tune.md: Regenerate. |
| * config/aarch64/aarch64-cost-tables.h: Add extra costs for |
| Ampere-1. |
| * config/aarch64/aarch64.c: Add tuning structures for Ampere-1. |
| * doc/invoke.texi: Add documentation for Ampere-1 core. |
| |
| 2021-11-15 Kewen Lin <linkw@linux.ibm.com> |
| |
| Backported from master: |
| 2021-11-11 Kewen Lin <linkw@linux.ibm.com> |
| |
| * doc/invoke.texi: Change references to "future cpu" to "power10", |
| "-mcpu=future" to "-mcpu=power10". Adjust words for float128. |
| |
| 2021-11-09 Xionghu Luo <luoxhu@linux.ibm.com> |
| |
| Backported from master: |
| 2021-11-05 Xionghu Luo <luoxhu@linux.ibm.com> |
| |
| PR target/102991 |
| * config/rs6000/fusion.md: Regenerate. |
| * config/rs6000/genfusion.pl: Fix incorrect clobber constraint. |
| |
| 2021-11-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/102798 |
| * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): |
| Only copy points-to info to newly generated SSA names. |
| |
| 2021-11-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/102518 |
| * tree-inline.c (setup_one_parameter): Avoid substituting |
| an invariant into contexts where a GIMPLE register is not valid. |
| |
| 2021-11-08 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-10-18 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/102788 |
| * tree-vect-patterns.c (vect_init_pattern_stmt): Allow |
| a NULL vectype. |
| (vect_pattern_recog_1): Likewise. |
| (vect_recog_bool_pattern): Continue matching the pattern |
| even if we do not have a vector type for a conversion |
| result. |
| |
| 2021-11-08 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-10-15 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/102762 |
| * tree-inline.c (copy_bb): Avoid underflowing nargs. |
| |
| 2021-11-08 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-10-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/102572 |
| * tree-vect-stmts.c (vect_build_gather_load_calls): When |
| gathering the vectorized defs for the mask pass in the |
| desired mask vector type so invariants will be handled |
| correctly. |
| |
| 2021-11-08 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-09-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/102139 |
| * tree-vectorizer.h (vec_base_alignments): Adjust hash-map |
| type to record a std::pair of the stmt-info and the innermost |
| loop behavior. |
| (dr_vec_info::group): New member. |
| * tree-vect-data-refs.c (vect_record_base_alignment): Adjust. |
| (vect_compute_data_ref_alignment): Verify the recorded |
| base alignment can be used. |
| (data_ref_pair): Remove. |
| (dr_group_sort_cmp): Adjust. |
| (vect_analyze_data_ref_accesses): Store the group-ID in the |
| dr_vec_info and operate on a vector of dr_vec_infos. |
| |
| 2021-11-08 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-08-20 Richard Biener <rguenther@suse.de> |
| |
| * tree-vect-data-refs.c (dr_group_sort_cmp): Do not compare |
| BBs. |
| (vect_analyze_data_ref_accesses): Likewise. Assign the BB |
| index as group_id when dataref_groups were not computed. |
| * tree-vect-slp.c (vect_slp_bbs): Bump current_group when |
| we advace to the next BB. |
| |
| 2021-11-08 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-10-11 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/101480 |
| * gimple.c (gimple_call_fnspec): Do not mark operator new/delete |
| as const. |
| |
| 2021-11-08 Martin Liska <mliska@suse.cz> |
| |
| Backported from master: |
| 2021-11-08 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/100520 |
| * coverage.c (coverage_compute_profile_id): Strip .gk when |
| compare debug is used. |
| * system.h (endswith): New function. |
| |
| 2021-11-08 Kewen Lin <linkw@linux.ibm.com> |
| |
| Backported from master: |
| 2021-10-26 Kewen Lin <linkw@linux.ibm.com> |
| |
| PR tree-optimization/102789 |
| * tree-vect-loop-manip.c (vect_update_inits_of_drs): Do not |
| update inits of simd_lane_access. |
| |
| 2021-11-05 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR libgomp/96661 |
| * config/pa/pa-modes.def: Add OImode integer type. |
| * config/pa/pa.c (pa_scalar_mode_supported_p): Allow TImode |
| for TARGET_64BIT. |
| * config/pa/pa.h (MIN_UNITS_PER_WORD) Define to MIN_UNITS_PER_WORD |
| to UNITS_PER_WORD if IN_LIBGCC2. |
| * config/pa/pa.md (addti3, addvti3, subti3, subvti3, negti2, |
| negvti2, ashlti3, shrpd_internal): New patterns. |
| Change some multi instruction types to multi. |
| |
| 2021-11-05 Martin Liska <mliska@suse.cz> |
| |
| Backported from master: |
| 2021-08-16 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/100393 |
| * tree-switch-conversion.c (group_cluster::dump): Use |
| get_comparison_count. |
| (jump_table_cluster::find_jump_tables): Pre-compute number of |
| comparisons and then decrement it. Cache also max_ratio. |
| (jump_table_cluster::can_be_handled): Change signature. |
| * tree-switch-conversion.h (get_comparison_count): New. |
| |
| 2021-11-05 Rasmus Villemoes <rasmus.villemoes@prevas.dk> |
| |
| Backported from master: |
| 2021-11-05 Rasmus Villemoes <rasmus.villemoes@prevas.dk> |
| |
| * config/vx-common.h: Test value of TARGET_VXWORKS7 rather |
| than definedness. |
| |
| 2021-11-04 Hongyu Wang <hongyu.wang@intel.com> |
| |
| * config/i386/amxtileintrin.h (_tile_loadd_internal): Add |
| parentheses to base and stride. |
| (_tile_stream_loadd_internal): Likewise. |
| (_tile_stored_internal): Likewise. |
| |
| 2021-11-03 Maciej W. Rozycki <macro@embecosm.com> |
| |
| * gimple-range-cache.cc (ranger_cache::push_poor_value): Mark |
| parameters unused. |
| |
| 2021-11-03 Vladimir N. Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/102842 |
| * lra-constraints.c (match_reload): Ignore out in checking values |
| of outs. |
| (curr_insn_transform): Collect outputs before doing reloads of operands. |
| |
| 2021-11-03 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2021-10-13 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/102714 |
| * ipa-sra.c (ptr_parm_has_nonarg_uses): Fix volatileness |
| check. |
| |
| 2021-10-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/invoke.texi (%X): Remove obsolete reference to -Wl. |
| |
| 2021-10-27 Martin Jambor <mjambor@suse.cz> |
| |
| Backported from master: |
| 2021-10-21 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/102505 |
| * tree-sra.c (totally_scalarize_subtree): Check that the |
| encountered field fits within the acces we would like to put it |
| in. |
| |
| 2021-10-26 Piotr Kubaj <pkubaj@FreeBSD.org> |
| |
| Backported from master: |
| 2021-10-16 Piotr Kubaj <pkubaj@FreeBSD.org> |
| |
| * configure.ac: Treat powerpc64*-*-freebsd* the same as |
| powerpc64-*-freebsd*. |
| * configure: Regenerate. |
| |
| 2021-10-24 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa-d.c (pa_d_handle_target_float_abi): Don't check |
| TARGET_DISABLE_FPREGS. |
| * config/pa/pa.c (fix_range): Use MASK_SOFT_FLOAT instead of |
| MASK_DISABLE_FPREGS. |
| (hppa_rtx_costs): Don't check TARGET_DISABLE_FPREGS. Adjust |
| cost of hardware integer multiplication. |
| (pa_conditional_register_usage): Don't check TARGET_DISABLE_FPREGS. |
| * config/pa/pa.h (INT14_OK_STRICT): Likewise. |
| * config/pa/pa.md: Don't check TARGET_DISABLE_FPREGS. Check |
| TARGET_SOFT_FLOAT in patterns that use xmpyu instruction. |
| * config/pa/pa.opt (mdisable-fpregs): Change target mask to |
| SOFT_FLOAT. Revise comment. |
| (msoft-float): New option. |
| |
| 2021-10-24 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md: Don't use 'G' constraint in integer move patterns. |
| |
| 2021-10-21 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2021-10-21 H.J. Lu <hjl.tools@gmail.com> |
| |
| PR target/98667 |
| * doc/invoke.texi: Document -fcf-protection requires i686 or |
| new. |
| |
| 2021-10-18 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/102761 |
| * config/i386/i386.c (ix86_print_operand_address): |
| Error out for non-address_operand asm operands. |
| |
| 2021-10-18 Kito Cheng <kito.cheng@sifive.com> |
| |
| Backported from master: |
| 2021-10-11 Kito Cheng <kito.cheng@sifive.com> |
| |
| PR target/100316 |
| * builtins.c (maybe_emit_call_builtin___clear_cache): Allow |
| CONST_INT for BEGIN and END, and use gcc_assert rather than |
| error. |
| |
| 2021-10-18 Andrew Stubbs <ams@codesourcery.com> |
| |
| Backported from master: |
| 2021-10-15 Andrew Stubbs <ams@codesourcery.com> |
| |
| * config/gcn/gcn-hsa.h (S_FIJI): Set unconditionally. |
| (S_900): Likewise. |
| (S_906): Likewise. |
| * config/gcn/gcn.c: Hard code SRAM ECC settings for old architectures. |
| * config/gcn/mkoffload.c (ELFABIVERSION_AMDGPU_HSA): Rename to ... |
| (ELFABIVERSION_AMDGPU_HSA_V3): ... this. |
| (ELFABIVERSION_AMDGPU_HSA_V4): New. |
| (SET_SRAM_ECC_UNSUPPORTED): New. |
| (copy_early_debug_info): Create elf flags to match the other objects. |
| (main): Just let the attribute flags pass through. |
| |
| 2021-10-18 Andrew Stubbs <ams@codesourcery.com> |
| |
| Backported from master: |
| 2021-10-07 Andrew Stubbs <ams@codesourcery.com> |
| |
| * config/gcn/gcn-valu.md (gather<mode>_insn_2offsets<exec>): Apply |
| HAVE_GCN_ASM_GLOBAL_LOAD_FIXED. |
| (scatter<mode>_insn_2offsets<exec_scatter>): Likewise. |
| |
| 2021-10-18 Andrew Stubbs <ams@codesourcery.com> |
| |
| Backported from master: |
| 2021-10-07 Andrew Stubbs <ams@codesourcery.com> |
| |
| * config/gcn/gcn-hsa.h (SRAMOPT): Include the whole option string. |
| Adjust for new -msram-ecc=any behaviour. |
| (ASM_SPEC): Adjust -mxnack and -msram-ecc usage. |
| * config/gcn/gcn.c (output_file_start): Implement -msram-ecc=any. |
| * config/gcn/mkoffload.c (EF_AMDGPU_XNACK): Rename to ... |
| (EF_AMDGPU_XNACK_V3): ... this. |
| (EF_AMDGPU_SRAM_ECC): Rename to ... |
| (EF_AMDGPU_SRAM_ECC_V3): ... this. |
| (EF_AMDGPU_FEATURE_XNACK_V4): New. |
| (EF_AMDGPU_FEATURE_XNACK_UNSUPPORTED_V4): New. |
| (EF_AMDGPU_FEATURE_XNACK_ANY_V4): New. |
| (EF_AMDGPU_FEATURE_XNACK_OFF_V4): New. |
| (EF_AMDGPU_FEATURE_XNACK_ON_V4): New. |
| (EF_AMDGPU_FEATURE_SRAMECC_V4): New. |
| (EF_AMDGPU_FEATURE_SRAMECC_UNSUPPORTED_V4): New. |
| (EF_AMDGPU_FEATURE_SRAMECC_ANY_V4): New. |
| (EF_AMDGPU_FEATURE_SRAMECC_OFF_V4): New. |
| (EF_AMDGPU_FEATURE_SRAMECC_ON_V4): New. |
| (SET_XNACK_ON): New. |
| (SET_XNACK_OFF): New. |
| (TEST_XNACK): New. |
| (SET_SRAM_ECC_ON): New. |
| (SET_SRAM_ECC_ANY): New. |
| (SET_SRAM_ECC_OFF): New. |
| (TEST_SRAM_ECC_ANY): New. |
| (TEST_SRAM_ECC_ON): New. |
| (main): Implement HSACOv4 and -msram-ecc=any. |
| |
| 2021-10-18 Andrew Stubbs <ams@codesourcery.com> |
| |
| Backported from master: |
| 2021-10-07 Andrew Stubbs <ams@codesourcery.com> |
| |
| * config.in: Regenerate. |
| * config/gcn/gcn-hsa.h (X_FIJI): New macro. |
| (X_900): New macro. |
| (X_906): New macro. |
| (X_908): New macro. |
| (A_FIJI): Rename to ... |
| (S_FIJI): ... this. |
| (A_900): Rename to ... |
| (S_900): ... this. |
| (A_906): Rename to ... |
| (S_906): ... this. |
| (A_908): Rename to ... |
| (S_908): ... this. |
| (SRAMOPT): New macro. |
| (ASM_SPEC): Adjust xnack option usage. |
| * config/gcn/gcn.c (output_file_start): Adjust amdgcn_target usage. |
| * configure: Regenerate. |
| * configure.ac: Detect LLVM assembler dialect. |
| |
| 2021-10-18 Julian Brown <julian@codesourcery.com> |
| |
| Backported from master: |
| 2021-06-29 Julian Brown <julian@codesourcery.com> |
| |
| * config/gcn/gcn.md (mulsi3): Make s_mulk_i32 variant clobber SCC. |
| |
| 2021-10-18 Andrew Stubbs <ams@codesourcery.com> |
| |
| PR target/100208 |
| * config.in: Regenerate. |
| * config/gcn/gcn-hsa.h (A_FIJI): New define. |
| (A_900): New define. |
| (A_906): New define. |
| (A_908): New define. |
| (ASM_SPEC): Use A_FIJI, A_900, A_906 and A_908. |
| * config/gcn/gcn.c (output_file_start): Adjust attributes according |
| to the assembler capabilities. |
| * config/gcn/mkoffload.c (main): Likewise. |
| * configure: Regenerate. |
| * configure.ac: Add tests for LLVM assembler attribute features. |
| |
| 2021-10-18 Andrew Stubbs <ams@codesourcery.com> |
| |
| Backported from master: |
| 2021-07-19 Andrew Stubbs <ams@codesourcery.com> |
| |
| PR target/100208 |
| * config/gcn/gcn-hsa.h (DRIVER_SELF_SPECS): New. |
| (ASM_SPEC): Set -mattr for xnack and sram-ecc. |
| * config/gcn/gcn-opts.h (enum sram_ecc_type): New. |
| * config/gcn/gcn-valu.md: Add a warning comment. |
| * config/gcn/gcn.c (gcn_option_override): Add "sorry" for -mxnack. |
| (output_file_start): Add xnack and sram-ecc state to ".amdgcn_target". |
| * config/gcn/gcn.md: Add a warning comment. |
| * config/gcn/gcn.opt: Add -mxnack and -msram-ecc. |
| * config/gcn/mkoffload.c (EF_AMDGPU_MACH_AMDGCN_GFX908): Remove |
| SRAM-ECC flag. |
| (EF_AMDGPU_XNACK): New. |
| (EF_AMDGPU_SRAM_ECC): New. |
| (elf_flags): New. |
| (copy_early_debug_info): Use elf_flags. |
| (main): Handle -mxnack and -msram-ecc options. |
| * doc/invoke.texi: Document -mxnack and -msram-ecc. |
| |
| 2021-10-18 Marcel Vollweiler <marcel@codesourcery.com> |
| |
| Backported from master: |
| 2021-06-18 Marcel Vollweiler <marcel@codesourcery.com> |
| |
| * config.in: Regenerate. |
| * config/gcn/gcn.c (print_operand_address): Fix for global_load assembler |
| functions. |
| * configure: Regenerate. |
| * configure.ac: Fix for global_load assembler functions. |
| |
| 2021-10-15 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md: Consistently use "rG" constraint for copy |
| instruction in move patterns. |
| |
| 2021-10-14 Vladimir N. Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/102627 |
| * lra-constraints.c (split_reg): Use at least natural mode of hard reg. |
| |
| 2021-10-14 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (cbranchsf4): Disable if TARGET_SOFT_FLOAT. |
| (cbranchdf4): Likewise. |
| Add missing move patterns for TARGET_SOFT_FLOAT. |
| |
| 2021-10-13 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2021-08-17 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/100340 |
| * config.in: Regenerate. |
| * config/i386/darwin.h (EXTRA_ASM_OPTS): New |
| (ASM_SPEC): Pass options to disable branch shortening where |
| needed. |
| * configure: Regenerate. |
| * configure.ac: Detect versions of 'as' that support the |
| optimisation which has the bug. |
| |
| 2021-10-13 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (muldi3): Add support for inlining 64-bit |
| multiplication on 32-bit PA 1.1 and 2.0 targets. |
| |
| 2021-10-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/102588 |
| * config/sparc/sparc-modes.def (OI): New integer mode. |
| |
| 2021-10-11 Diane Meirowitz <diane.meirowitz@oracle.com> |
| |
| Backported from master: |
| 2021-10-11 Diane Meirowitz <diane.meirowitz@oracle.com> |
| |
| * doc/invoke.texi: Add link to UndefinedBehaviorSanitizer |
| documentation, mention UBSAN_OPTIONS, similar to what is done |
| for AddressSanitizer. |
| |
| 2021-10-10 Jakub Jelinek <jakub@redhat.com> |
|