aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2024-06-25 00:18:09 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2024-06-25 00:18:09 +0000
commitc3be325dd165edbe6b1570f54015b3ea8a43862b (patch)
treed594cd0f3b6d4226d0d31c91ff0a76891e80d82f
parenta424318d32103dde827e8507fa27d24d33407ec9 (diff)
downloadgcc-c3be325dd165edbe6b1570f54015b3ea8a43862b.zip
gcc-c3be325dd165edbe6b1570f54015b3ea8a43862b.tar.gz
gcc-c3be325dd165edbe6b1570f54015b3ea8a43862b.tar.bz2
Daily bump.
-rw-r--r--gcc/ChangeLog223
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/fortran/ChangeLog9
-rw-r--r--gcc/testsuite/ChangeLog91
4 files changed, 324 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4649a2e..1ed7744 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,226 @@
+2024-06-24 Sergei Lewis <slewis@rivosinc.com>
+
+ * config/riscv/riscv-protos.h (riscv_vector::expand_vec_setmem): New
+ function declaration.
+ * config/riscv/riscv-string.cc (riscv_vector::expand_vec_setmem): New
+ function: this generates an inline vectorised memory set, if and only if
+ we know the entire operation can be performed in a single vector store.
+ * config/riscv/riscv.md (setmem<mode>): Try riscv_vector::expand_vec_setmem
+ for constant lengths. Do not require operand 2 to be a constant.
+
+2024-06-24 Patrick O'Neill <patrick@rivosinc.com>
+
+ * doc/sourcebuild.texi (dg-remove-option): Add documentation.
+ (dg-add-option): Add documentation for riscv_{a,zaamo,zalrsc,ztso}
+
+2024-06-24 Roger Sayle <roger@nextmovesoftware.com>
+ Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/113673
+ * gimple-ssa-store-merging.cc (find_bswap_or_nop_load): Make static.
+ (find_bswap_or_nop_1): Avoid transformations (load merging) when
+ stmt_can_throw_internal indicates that a statement can trap.
+
+2024-06-24 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/115602
+ * tree-vect-slp.cc (vect_cse_slp_nodes): Delay populating the
+ bst-map to avoid cycles.
+
+2024-06-24 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/115528
+ * tree-vect-data-refs.cc (vect_compute_data_ref_alignment):
+ Make sure to look at both the inner and outer loop step
+ behavior.
+
+2024-06-24 Pali Rohár <pali@kernel.org>
+
+ * config/i386/mingw-w64.h (CPP_SPEC): Add missing -mcrtdll=
+ cases: msvcr40*, msvcrtd*.
+ * config/mingw/mingw32.h (CPP_SPEC): Add missing -mcrtdll=
+ cases: msvcr40*, msvcrtd*.
+ * doc/invoke.texi: Add missing -mcrtdll= cases: msvcr40*,
+ msvcrtd*, msvcr71*. Express wildcards with *. Document _UCRT.
+
+2024-06-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ * common.opt.urls: Regenerate.
+
+2024-06-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR rtl-optimization/106594
+ PR rtl-optimization/114515
+ PR rtl-optimization/114575
+ PR rtl-optimization/114996
+ PR rtl-optimization/115104
+ * Makefile.in (OBJS): Add late-combine.o.
+ * common.opt (flate-combine-instructions): New option.
+ * doc/invoke.texi: Document it.
+ * opts.cc (default_options_table): Enable it by default at -O2
+ and above.
+ * tree-pass.h (make_pass_late_combine): Declare.
+ * late-combine.cc: New file.
+ * passes.def: Add two instances of late_combine.
+ * doc/passes.texi: Document the new passes.
+ * config/i386/i386-options.cc (ix86_override_options_after_change):
+ Disable late-combine by default.
+ * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
+ * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
+
+2024-06-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl-ssa.h: Include predicates.h.
+ * rtl-ssa/predicates.h: New file.
+ * rtl-ssa/access-utils.h (prev_call_clobbers_ignoring): Rename to...
+ (prev_call_clobbers): ...this and treat the ignore parameter as an
+ object with the same interface as ignore_nothing.
+ (next_call_clobbers_ignoring): Rename to...
+ (next_call_clobbers): ...this and treat the ignore parameter as an
+ object with the same interface as ignore_nothing.
+ (first_nondebug_insn_use_ignoring): Rename to...
+ (first_nondebug_insn_use): ...this and treat the ignore parameter as
+ an object with the same interface as ignore_nothing.
+ (last_nondebug_insn_use_ignoring): Rename to...
+ (last_nondebug_insn_use): ...this and treat the ignore parameter as
+ an object with the same interface as ignore_nothing.
+ (last_access_ignoring): Rename to...
+ (last_access): ...this and treat the ignore parameter as an object
+ with the same interface as ignore_nothing. Conditionally skip
+ definitions.
+ (prev_access_ignoring): Rename to...
+ (prev_access): ...this and treat the ignore parameter as an object
+ with the same interface as ignore_nothing.
+ (first_def_ignoring): Replace with...
+ (first_access): ...this new function.
+ (next_access_ignoring): Rename to...
+ (next_access): ...this and treat the ignore parameter as an object
+ with the same interface as ignore_nothing. Conditionally skip
+ definitions.
+ * rtl-ssa/change-utils.h (insn_is_changing): Delete.
+ (restrict_movement_ignoring): Rename to...
+ (restrict_movement): ...this and treat the ignore parameter as an
+ object with the same interface as ignore_nothing.
+ (recog_ignoring): Rename to...
+ (recog): ...this and treat the ignore parameter as an object with
+ the same interface as ignore_nothing.
+ * rtl-ssa/changes.h (insn_is_changing_closure): Delete.
+ * rtl-ssa/functions.h (function_info::add_regno_clobber): Treat
+ the ignore parameter as an object with the same interface as
+ ignore_nothing.
+ * rtl-ssa/insn-utils.h (insn_is): Delete.
+ * rtl-ssa/insns.h (insn_is_closure): Delete.
+ * rtl-ssa/member-fns.inl
+ (insn_is_changing_closure::insn_is_changing_closure): Delete.
+ (insn_is_changing_closure::operator()): Likewise.
+ (function_info::add_regno_clobber): Treat the ignore parameter
+ as an object with the same interface as ignore_nothing.
+ (ignore_changing_insns::ignore_changing_insns): New function.
+ (ignore_changing_insns::should_ignore_insn): Likewise.
+ * rtl-ssa/movement.h (restrict_movement_for_dead_range): Treat
+ the ignore parameter as an object with the same interface as
+ ignore_nothing.
+ (restrict_movement_for_defs_ignoring): Rename to...
+ (restrict_movement_for_defs): ...this and treat the ignore parameter
+ as an object with the same interface as ignore_nothing.
+ (restrict_movement_for_uses_ignoring): Rename to...
+ (restrict_movement_for_uses): ...this and treat the ignore parameter
+ as an object with the same interface as ignore_nothing. Conditionally
+ skip definitions.
+ * doc/rtl.texi: Update for above name changes. Use
+ ignore_changing_insns instead of insn_is_changing.
+ * config/aarch64/aarch64-cc-fusion.cc (cc_fusion::parallelize_insns):
+ Likewise.
+ * pair-fusion.cc (no_ignore): Delete.
+ (latest_hazard_before, first_hazard_after): Update for above name
+ changes. Use ignore_nothing instead of no_ignore.
+ (pair_fusion_bb_info::fuse_pair): Update for above name changes.
+ Use ignore_changing_insns instead of insn_is_changing.
+ (pair_fusion::try_promote_writeback): Likewise.
+
+2024-06-24 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/115599
+ * tree-ssa-reassoc.cc (compare_repeat_factors): Use explicit
+ compares to avoid truncations.
+
+2024-06-24 Haochen Gui <guihaoc@gcc.gnu.org>
+
+ PR target/113325
+ * config/rs6000/vsx.md (vsx_stxvd2x4_le_const_<mode>): New.
+
+2024-06-24 Haochen Gui <guihaoc@gcc.gnu.org>
+
+ * fwprop.cc (try_fwprop_subst_pattern): Invoke change_is_worthwhile
+ to judge if a replacement is worthwhile. Remove single_set check
+ and add is_debug_insn check.
+ * recog.cc (swap_change): Invalidate recog_data when the cached INSN
+ is swapped out.
+ * rtl-ssa/changes.cc (rtl_ssa::changes_are_worthwhile): Check if the
+ insn cost of new rtl is unknown and fail the replacement.
+
+2024-06-24 Mark Harmstone <mark@harmstone.com>
+
+ * dwarf2codeview.cc (MAX_FIELDLIST_SIZE): Define.
+ (struct codeview_integer): New structure.
+ (struct codeview_subtype): Likewise
+ (struct codeview_custom_type): Add lf_fieldlist and lf_enum to union.
+ (write_cv_integer, cv_integer_len): New functions.
+ (write_lf_fieldlist, write_lf_enum): Likewise.
+ (write_custom_types): Call write_lf_fieldlist and write_lf_enum.
+ (add_enum_forward_def): New function.
+ (get_type_num_enumeration_type): Likewise.
+ (get_type_num): Handle DW_TAG_enumeration_type DIEs.
+ * dwarf2codeview.h (LF_FIELDLIST, LF_INDEX, LF_ENUMERATE): Define.
+ (LF_ENUM, LF_CHAR, LF_SHORT, LF_USHORT, LF_LONG): Likewise.
+ (LF_ULONG, LF_QUADWORD, LF_UQUADWORD): Likewise.
+ (CV_ACCESS_PRIVATE, CV_ACCESS_PROTECTED): Likewise.
+ (CV_ACCESS_PUBLIC, CV_PROP_FWDREF): Likewise.
+
+2024-06-24 Mark Harmstone <mark@harmstone.com>
+
+ * dwarf2codeview.cc
+ (struct codeview_custom_type): Add lf_modifier to union.
+ (write_cv_padding, write_lf_modifier): New functions.
+ (write_custom_types): Call write_lf_modifier.
+ (get_type_num_const_type): New function.
+ (get_type_num_volatile_type): Likewise.
+ (get_type_num): Handle DW_TAG_const_type and DW_TAG_volatile_type DIEs.
+ * dwarf2codeview.h (MOD_const, MOD_volatile): Define.
+ (LF_MODIFIER): Likewise.
+
+2024-06-24 Mark Harmstone <mark@harmstone.com>
+
+ * dwarf2codeview.cc (FIRST_TYPE): Define.
+ (struct codeview_custom_type): New structure.
+ (custom_types, last_custom_type): New variables.
+ (get_type_num): Prototype.
+ (write_lf_pointer, write_custom_types): New functions.
+ (codeview_debug_finish): Call write_custom_types.
+ (add_custom_type, get_type_num_pointer_type): New functions.
+ (get_type_num): Handle DW_TAG_pointer_type DIEs.
+ * dwarf2codeview.h (T_VOID): Define.
+ (CV_POINTER_32, CV_POINTER_64): Likewise.
+ (T_32PVOID, T_64PVOID): Likewise.
+ (CV_PTR_NEAR32, CV_PTR64, LF_POINTER): Likewise.
+
+2024-06-24 Mark Harmstone <mark@harmstone.com>
+
+ * dwarf2codeview.cc (get_type_num): Handle typedefs.
+
+2024-06-24 Mark Harmstone <mark@harmstone.com>
+
+ * dwarf2codeview.cc (struct codeview_type): New structure.
+ (struct die_hasher): Likewise.
+ (types_htab): New variable.
+ (codeview_debug_finish): Free types_htab if allocated.
+ (get_type_num_base_type, get_type_num): New function.
+ (add_variable): Call get_type_num.
+ * dwarf2codeview.h (T_CHAR, T_SHORT, T_LONG, T_QUAD): Define.
+ (T_UCHAR, T_USHORT, T_ULONG, T_UQUAD, T_BOOL08): Likewise.
+ (T_REAL32, T_REAL64, T_REAL80, T_REAL128, T_RCHAR): Likewise.
+ (T_WCHAR, T_INT4, T_UINT4, T_CHAR16, T_CHAR32, T_CHAR8): Likewise.
+
2024-06-23 Mark Harmstone <mark@harmstone.com>
* dwarf2codeview.cc (S_LDATA32, S_GDATA32): Define.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 149499c..271b3eb 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20240624
+20240625
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index e07e417..f05b1c9 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,12 @@
+2024-06-24 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/55978
+ * trans-array.cc (gfc_conv_array_parameter): Do not dereference
+ data component of a missing allocatable dummy array argument for
+ passing as actual to optional dummy. Harden logic of presence
+ check for optional pointer dummy by using TRUTH_ANDIF_EXPR instead
+ of TRUTH_AND_EXPR.
+
2024-06-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/59104
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2002602..78b4a3a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,94 @@
+2024-06-24 Sergei Lewis <slewis@rivosinc.com>
+
+ * gcc.target/riscv/rvv/base/setmem-1.c: New tests
+ * gcc.target/riscv/rvv/base/setmem-2.c: New tests
+ * gcc.target/riscv/rvv/base/setmem-3.c: New tests
+
+2024-06-24 Patrick O'Neill <patrick@rivosinc.com>
+
+ * gcc.target/riscv/amo/amo-table-a-6-amo-add-1.c: Add dg-remove-options
+ for ztso.
+ * gcc.target/riscv/amo/amo-table-a-6-amo-add-2.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-amo-add-3.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-amo-add-4.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-amo-add-5.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-1.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-2.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-3.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-4.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-5.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-6.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-7.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-fence-1.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-fence-2.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-fence-3.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-fence-4.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-fence-5.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-load-1.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-load-2.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-load-3.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-store-1.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-store-2.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-1.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-2.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-3.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-4.c: Ditto.
+ * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-5.c: Ditto.
+ * gcc.target/riscv/amo/amo-zalrsc-amo-add-1.c: Replace manually
+ specified -march string with dg-add/remove-options directives.
+ * gcc.target/riscv/amo/amo-zalrsc-amo-add-2.c: Ditto.
+ * gcc.target/riscv/amo/amo-zalrsc-amo-add-3.c: Ditto.
+ * gcc.target/riscv/amo/amo-zalrsc-amo-add-4.c: Ditto.
+ * gcc.target/riscv/amo/amo-zalrsc-amo-add-5.c: Ditto.
+ * lib/target-supports-dg.exp: Add dg-remove-options.
+ * lib/target-supports.exp: Add dg-remove-options and consolidate z*
+ extension add/remove-option code.
+
+2024-06-24 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/55978
+ * gfortran.dg/optional_absent_12.f90: New test.
+
+2024-06-24 Roger Sayle <roger@nextmovesoftware.com>
+ Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/113673
+ * g++.dg/pr113673.C: New test case.
+
+2024-06-24 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/115602
+ * gcc.dg/vect/pr115602.c: New testcase.
+
+2024-06-24 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/115528
+ * gfortran.dg/vect/pr115528.f: New testcase.
+
+2024-06-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR rtl-optimization/106594
+ * gcc.dg/ira-shrinkwrap-prep-1.c: Restrict XFAIL to non-aarch64
+ targets.
+ * gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.
+ * gcc.dg/stack-check-4.c: Add -fno-shrink-wrap.
+ * gcc.target/aarch64/bitfield-bitint-abi-align16.c: Add
+ -fno-late-combine-instructions.
+ * gcc.target/aarch64/bitfield-bitint-abi-align8.c: Likewise.
+ * gcc.target/aarch64/sve/cond_asrd_3.c: Remove XFAILs.
+ * gcc.target/aarch64/sve/cond_convert_3.c: Likewise.
+ * gcc.target/aarch64/sve/cond_fabd_5.c: Likewise.
+ * gcc.target/aarch64/sve/cond_convert_6.c: Expect the MOVPRFX /Zs
+ described in the comment.
+ * gcc.target/aarch64/sve/cond_unary_4.c: Likewise.
+ * gcc.target/aarch64/pr106594_1.c: New test.
+
+2024-06-24 Haochen Gui <guihaoc@gcc.gnu.org>
+
+ PR target/113325
+ * gcc.target/powerpc/pr113325.c: New.
+
2024-06-23 Artemiy Volkov <Artemiy.Volkov@synopsys.com>
* gcc.target/riscv/zicond-ice-5.c: New test.