diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 94b60693e6d10829cd686e08bd2d63aa8b5b2bbb..6557d42babdd9f44b676cb6417c5f3f57752122c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,252 @@
+2024-07-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR rtl-optimization/115929
+	* rtl-ssa/movement.h (canonicalize_move_range): Check for null prev
+	and next insns and create an invalid move range for them.
+
+2024-07-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR rtl-optimization/115928
+	* rtl-ssa/accesses.h (clobber_group): Add a new constructor that
+	takes the first, last and root clobbers.
+	* rtl-ssa/internals.inl (clobber_group::clobber_group): Define it.
+	* rtl-ssa/accesses.cc (function_info::split_clobber_group): Use it.
+	Allocate a new group for both sides and invalidate the previous group.
+	(function_info::add_def): After calling split_clobber_group,
+	remove the old group from the splay tree.
+
+2024-07-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* genattrtab.cc (attr_desc::cxx_type): New field.
+	(write_attr_get, write_attr_value): Use it.
+	(gen_attr, find_attr, make_internal_attr): Initialize it,
+	dropping enum tags.
+
+2024-07-17  Eikansh Gupta  <quic_eikagupt@quicinc.com>
+
+	PR tree-optimization/111150
+	* match.pd (`(a ? x : y) eq/ne (b ? x : y)`): New pattern.
+	(`(a ? x : y) eq/ne (b ? y : x)`): New pattern.
+
+2024-07-17  Andrew Pinski  <quic_apinski@quicinc.com>
+
+	* dbgcnt.def (ext_dce): New debug counter.
+	* ext-dce.cc (ext_dce_try_optimize_insn): Reject the insn
+	if the debug counter says so.
+	(ext_dce): Rename to ...
+	(ext_dce_execute): This.
+	(pass_ext_dce::execute): Update for the name of ext_dce.
+
+2024-07-17  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/115526
+	* config/alpha/alpha.md (movdi_er_high_g): Add cannot_copy attribute.
+	(movdi_er_tlsgd): Ditto.
+	(movdi_er_tlsldm): Ditto.
+	(call_value_osf_<tls>): Ditto.
+
+2024-07-17  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/90616
+	* config/avr/predicates.md (const_0mod256_operand): New predicate.
+	* config/avr/constraints.md (Cp8): New constraint.
+	* config/avr/avr.md (*aligned_add_symbol): New insn.
+	* config/avr/avr.cc (avr_out_plus_symbol) [HImode]:
+	When op2 is a multiple of 256, there is no need to add / subtract
+	the lo8 part.
+	(avr_rtx_costs_1) [PLUS && HImode]: Return expected costs for
+	new insn *aligned_add_symbol as it applies.
+
+2024-07-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/115887
+	* gimple-lower-bitint.cc (gimple_lower_bitint): Use gsi_insert_on_edge
+	instead of gsi_insert_on_edge_immediate and set edge_insertions to
+	true.
+
+2024-07-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* varasm.cc (default_elf_asm_output_ascii): Use ASM_OUTPUT_SKIP instead
+	of 2 or more default_elf_asm_output_limited_string (f, "") calls and
+	adjust base64 heuristics correspondingly.
+
+2024-07-17  Tamar Christina  <tamar.christina@arm.com>
+
+	PR tree-optimization/115936
+	* tree-scalar-evolution.cc (simple_iv_with_niters): Use sizetype for
+	pointers.
+
+2024-07-17  Feng Xue  <fxue@os.amperecomputing.com>
+
+	PR tree-optimization/114440
+	* tree-vectorizer.h (struct _stmt_vec_info): Add a new field
+	reduc_result_pos.
+	* tree-vect-loop.cc (vect_transform_reduction): Generate lane-reducing
+	statements in an optimized order.
+
+2024-07-17  Feng Xue  <fxue@os.amperecomputing.com>
+
+	PR tree-optimization/114440
+	* tree-vectorizer.h (vectorizable_lane_reducing): New function
+	declaration.
+	* tree-vect-stmts.cc (vect_analyze_stmt): Call new function
+	vectorizable_lane_reducing to analyze lane-reducing operation.
+	* tree-vect-loop.cc (vect_model_reduction_cost): Remove cost computation
+	code related to	emulated_mixed_dot_prod.
+	(vectorizable_lane_reducing): New function.
+	(vectorizable_reduction): Allow multiple lane-reducing operations in
+	loop reduction. Move some original lane-reducing related code to
+	vectorizable_lane_reducing.
+	(vect_transform_reduction): Adjust comments with updated example.
+
+2024-07-17  Feng Xue  <fxue@os.amperecomputing.com>
+
+	* tree-vect-loop.cc (vect_reduction_update_partial_vector_usage):
+	Calculate effective vector stmts number with generic
+	vect_get_num_copies.
+	(vect_transform_reduction): Insert copies for lane-reducing so as to
+	fix over-estimated vector stmts number.
+	(vect_transform_cycle_phi): Calculate vector PHI number only based on
+	output vectype.
+	* tree-vect-slp.cc (vect_slp_analyze_node_operations_1): Remove
+	adjustment on vector stmts number specific to slp reduction.
+
+2024-07-17  Feng Xue  <fxue@os.amperecomputing.com>
+
+	* tree-vectorizer.h (vect_get_num_copies): New overload function.
+	* tree-vect-slp.cc (vect_slp_analyze_node_operations_1): Calculate
+	number of vector stmts for slp node with vect_get_num_copies.
+	(vect_slp_analyze_node_operations): Calculate number of vector elements
+	for constant/external slp node with vect_get_num_copies.
+
+2024-07-17  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/115959
+	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
+	Get at the REDUC_IDX child in a safer way for COND_EXPR
+	nodes.
+
+2024-07-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR other/115958
+	* varasm.cc (default_elf_asm_output_ascii): Cast t - s to unsigned
+	to avoid -Wsign-compare warnings.
+
+2024-07-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/115527
+	* gimple-fold.cc (clear_padding_flush): Introduce endsize
+	variable and use it instead of wordsize when comparing it against
+	nonzero_last.
+	(clear_padding_type): Increment off by sz.
+
+2024-07-17  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+	* config/rs6000/rs6000.md (mov<mode>cc, *mov<mode>cc_p10,
+	*mov<mode>cc_invert_p10, *fpmask<mode>, *xxsel<mode>,
+	@ieee_128bit_vsx_abs<mode>2, *ieee_128bit_vsx_nabs<mode>2,
+	add<mode>3, sub<mode>3, mul<mode>3, div<mode>3, sqrt<mode>2,
+	copysign<mode>3, copysign<mode>3_hard, copysign<mode>3_soft,
+	@neg<mode>2_hw, @abs<mode>2_hw, *nabs<mode>2_hw, fma<mode>4_hw,
+	*fms<mode>4_hw, *nfma<mode>4_hw, *nfms<mode>4_hw,
+	extend<SFDF:mode><IEEE128:mode>2_hw, trunc<mode>df2_hw,
+	trunc<mode>sf2_hw, fix<uns>_<IEEE128:mode><SDI:mode>2_hw,
+	fix<uns>_trunc<IEEE128:mode><QHI:mode>2,
+	*fix<uns>_trunc<IEEE128:mode><QHSI:mode>2_mem,
+	float_<mode>di2_hw, float_<mode>si2_hw,
+	float<QHI:mode><IEEE128:mode>2, floatuns_<mode>di2_hw,
+	floatuns_<mode>si2_hw, floatuns<QHI:mode><IEEE128:mode>2,
+	floor<mode>2, ceil<mode>2, btrunc<mode>2, round<mode>2,
+	add<mode>3_odd, sub<mode>3_odd, mul<mode>3_odd, div<mode>3_odd,
+	sqrt<mode>2_odd, fma<mode>4_odd, *fms<mode>4_odd, *nfma<mode>4_odd,
+	*nfms<mode>4_odd, trunc<mode>df2_odd, *cmp<mode>_hw for IEEE128):
+	Remove guard FLOAT128_IEEE_P.
+	(@extenddf<mode>2_fprs, @extenddf<mode>2_vsx,
+	trunc<mode>df2_internal1, trunc<mode>df2_internal2,
+	fix_trunc_helper<mode>, neg<mode>2, *cmp<mode>_internal1,
+	*cmp<IBM128:mode>_internal2 for IBM128): Remove guard FLOAT128_IBM_P.
+
+2024-07-17  Kewen Lin  <linkw@linux.ibm.com>
+
+	* config/rs6000/rs6000.cc (init_float128_ieee): Use trunc_optab rather
+	than sext_optab for converting FLOAT128_IBM_P mode to FLOAT128_IEEE_P
+	mode, and use sext_optab rather than trunc_optab for converting
+	FLOAT128_IEEE_P mode to FLOAT128_IBM_P mode.
+	(rs6000_expand_float128_convert): Likewise.
+
+2024-07-17  Kewen Lin  <linkw@linux.ibm.com>
+
+	PR target/112993
+	* tree.cc (build_common_tree_nodes): Drop the workaround for rs6000
+	KFmode precision adjustment.
+
+2024-07-17  Kewen Lin  <linkw@linux.ibm.com>
+
+	PR target/112993
+	* value-range.h (range_compatible_p): Remove the workaround on
+	different type precision between _Float128 and long double.
+
+2024-07-17  Kewen Lin  <linkw@linux.ibm.com>
+
+	PR target/112993
+	* config/rs6000/rs6000-modes.def (IFmode, KFmode, TFmode): Define
+	with FLOAT_MODE instead of FRACTIONAL_FLOAT_MODE, don't use special
+	precisions any more.
+	(rs6000-modes.h): Remove include.
+	* config/rs6000/rs6000-modes.h: Remove.
+	* config/rs6000/rs6000.h (rs6000-modes.h): Remove include.
+	* config/rs6000/t-rs6000: Remove rs6000-modes.h include.
+	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Replace
+	all uses of FLOAT_PRECISION_TFmode with 128.
+	(rs6000_c_mode_for_floating_type): Likewise.
+	* config/rs6000/rs6000.md (define_expand extendiftf2): Remove.
+	(define_expand extendifkf2): Remove.
+	(define_expand extendtfkf2): Remove.
+	(define_expand trunckftf2): Remove.
+	(define_expand trunctfif2): Remove.
+	(define_expand extendtfif2): Add new assertion.
+	(define_expand expandkftf2): New.
+	(define_expand trunciftf2): Add new assertion.
+	(define_expand trunctfkf2): New.
+	(define_expand truncifkf2): Change with gcc_unreachable.
+	(define_expand expandkfif2): New.
+	(define_insn_and_split extendkftf2): Rename to  ...
+	(define_insn_and_split *extendkftf2): ... this.
+	(define_insn_and_split trunctfkf2): Rename to ...
+	(define_insn_and_split *extendtfkf2): ... this.
+
+2024-07-17  Kewen Lin  <linkw@linux.ibm.com>
+
+	PR target/112993
+	* expr.cc (convert_mode_scalar): Allow same precision conversion
+	between scalar floating point modes if whose underlying format is
+	ibm_extended_format or ieee_quad_format, and refactor assertion
+	with new lambda function acceptable_same_precision_modes.  Use
+	trunc_optab rather than sext_optab for ibm128 to ieee128 conversion.
+	* optabs-libfuncs.cc (gen_trunc_conv_libfunc): Use trunc_optab rather
+	than sext_optab for ibm128 to ieee128 conversion.
+
+2024-07-17  Peter Bergner  <bergner@linux.ibm.com>
+
+	PR target/114759
+	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Disallow
+	CPUs and ABIs that do no support the ROP protection insns.
+	* config/rs6000/rs6000-logue.cc (rs6000_stack_info): Remove now
+	unneeded tests.
+	(rs6000_emit_prologue): Likewise.
+	Remove unneeded gcc_assert.
+	(rs6000_emit_epilogue): Likewise.
+	* config/rs6000/rs6000.md: Likewise.
+
+2024-07-17  Peter Bergner  <bergner@linux.ibm.com>
+
+	PR target/114759
+	* config/rs6000/rs6000-logue.cc (rs6000_stack_info): Use TARGET_POWER8.
+	(rs6000_emit_prologue): Likewise.
+	* config/rs6000/rs6000.md (hashchk): Likewise.
+	(hashst): Likewise.
+	Fix whitespace.
+
 2024-07-16  Andrew MacLeod  <amacleod@redhat.com>
 
 	PR tree-optimization/115951
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 5961a7c72a1945fb488bbfcaf38fe4a66409df7c..1d16bb88567c5462f579bda4fd5b0eb1baafc553 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20240717
+20240718
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index c09feb4b7b70ebd4752e7af1a7755352314f6999..0de28ef5042c406e433541f90d6014ee7dc81497 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,7 @@
+2024-07-17  Mark Wielaard  <mark@klomp.org>
+
+	* c.opt.urls: Regenerate.
+
 2024-07-14  Alejandro Colomar  <alx@kernel.org>
 
 	PR c/115185
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index af628e080345d788644a1a43b758d6746a94611b..e9994ff6285287182ca73130c60bea97daf9afb1 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,21 @@
+2024-07-17  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/115900
+	* constexpr.cc (cxx_eval_call_expression): Set new_obj to NULL_TREE
+	if cxx_fold_indirect_ref set empty_base to true.
+
+2024-07-17  Patrick Palka  <ppalka@redhat.com>
+
+	PR c++/111890
+	* pt.cc (maybe_new_partial_specialization): Propagate TYPE_CONTEXT
+	to the newly created partial specialization.
+
+2024-07-17  Nathaniel Shead  <nathanieloshead@gmail.com>
+
+	PR c++/99242
+	* name-lookup.cc (append_imported_binding_slot): Propagate dups
+	flags.
+
 2024-07-16  Nina Ranns  <dinka.ranns@gmail.com>
 
 	PR c++/110159
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 475c15501d4ff3c0a820c78db25735bab45c4437..9012240902019f60f967ad3c5e58836c89384b8e 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2024-07-17  Kewen Lin  <linkw@linux.ibm.com>
+
+	PR target/112993
+	* trans-types.cc (get_real_kind_from_node): Consider the case where
+	more than one modes have the same precision.
+
 2024-07-16  Paul Thomas  <pault@gcc.gnu.org>
 
 	PR fortran/84868
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 50ccfd38dfb0ddc5f896f974be5fdb34d862ba9e..7d3222fb41ffb40085038f2ae72a6f0cf8322a43 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,107 @@
+2024-07-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/111150
+	* gcc.dg/tree-ssa/pr111150.c: Add -Wno-psabi to dg-options.
+	* g++.dg/tree-ssa/pr111150.C: Likewise.
+
+2024-07-17  Jørgen Kvalsvik  <j@lambda.is>
+
+	* lib/gcov.exp: Use foreach, not lmap, for tcl <= 8.5 compat.
+
+2024-07-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR rtl-optimization/115929
+	* gcc.dg/torture/pr115929-2.c: New test.
+
+2024-07-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR rtl-optimization/115928
+	* gcc.dg/torture/pr115928.c: New test.
+
+2024-07-17  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/115900
+	* g++.dg/cpp2a/constexpr-init23.C: New test.
+
+2024-07-17  Edwin Lu  <ewlu@rivosinc.com>
+
+	* gcc.target/riscv/target-attr-16.c: Update expected assembly
+
+2024-07-17  Eikansh Gupta  <quic_eikagupt@quicinc.com>
+
+	PR tree-optimization/111150
+	* gcc.dg/tree-ssa/pr111150.c: New test.
+	* gcc.dg/tree-ssa/pr111150-1.c: New test.
+	* g++.dg/tree-ssa/pr111150.C: New test.
+
+2024-07-17  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/115526
+	* gcc.target/alpha/pr115526.c: New test.
+
+2024-07-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/115887
+	* gcc.dg/bitint-108.c: New test.
+
+2024-07-17  Patrick Palka  <ppalka@redhat.com>
+
+	PR c++/111890
+	* g++.dg/cpp2a/concepts-partial-spec15.C: New test.
+
+2024-07-17  Feng Xue  <fxue@os.amperecomputing.com>
+
+	PR tree-optimization/114440
+	* gcc.dg/vect/vect-reduc-chain-1.c
+	* gcc.dg/vect/vect-reduc-chain-2.c
+	* gcc.dg/vect/vect-reduc-chain-3.c
+	* gcc.dg/vect/vect-reduc-chain-dot-slp-1.c
+	* gcc.dg/vect/vect-reduc-chain-dot-slp-2.c
+	* gcc.dg/vect/vect-reduc-chain-dot-slp-3.c
+	* gcc.dg/vect/vect-reduc-chain-dot-slp-4.c
+	* gcc.dg/vect/vect-reduc-dot-slp-1.c
+
+2024-07-17  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/115959
+	* gcc.dg/vect/pr115959.c: New testcase.
+
+2024-07-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* c-c++-common/torture/builtin-convertvector-1.c: Add dg-do run
+	directive.
+
+2024-07-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/115527
+	* c-c++-common/torture/builtin-clear-padding-1.c: Add dg-do run
+	directive.
+	* c-c++-common/torture/builtin-clear-padding-2.c: Likewise.
+	* c-c++-common/torture/builtin-clear-padding-3.c: Likewise.
+	* c-c++-common/torture/builtin-clear-padding-4.c: Likewise.
+	* c-c++-common/torture/builtin-clear-padding-5.c: Likewise.
+	* c-c++-common/torture/builtin-clear-padding-6.c: New test.
+
+2024-07-17  Peter Bergner  <bergner@linux.ibm.com>
+
+	PR target/114759
+	* gcc.target/powerpc/pr114759-3.c: New test.
+
+2024-07-17  Peter Bergner  <bergner@linux.ibm.com>
+
+	PR target/114759
+	* gcc.target/powerpc/pr114759-2.c: New test.
+	* lib/target-supports.exp (rop_ok): Use
+	check_effective_target_has_arch_pwr8.
+
+2024-07-17  Nathaniel Shead  <nathanieloshead@gmail.com>
+
+	PR c++/99242
+	* g++.dg/modules/pr99242_a.H: New test.
+	* g++.dg/modules/pr99242_b.H: New test.
+	* g++.dg/modules/pr99242_c.H: New test.
+	* g++.dg/modules/pr99242_d.C: New test.
+
 2024-07-16  Nina Ranns  <dinka.ranns@gmail.com>
 
 	PR c++/110159
diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog
index 618bfc045ed03d3e7738cd862cc92f2f0d581288..9dc901ffc5c8e2eae9ee815f93395bea4ca25c6c 100644
--- a/libbacktrace/ChangeLog
+++ b/libbacktrace/ChangeLog
@@ -1,3 +1,23 @@
+2024-07-18  Ian Lance Taylor  <iant@golang.org>
+
+	* README: Add notes about dl_iterate_phdr.
+
+2024-07-17  Ian Lance Taylor  <iant@golang.org>
+
+	* xcoff.c (struct xcoff_fileline_data): Change base_address field
+	to struct libbacktrace_base_address.
+	(xcoff_initialize_syminfo): Change base_address to struct
+	libbacktrace_base_address.  Use libbacktrace_add_base.
+	(xcoff_initialize_fileline): Likewise.
+	(xcoff_lookup_pc): Use libbacktrace_add_base.
+	(xcoff_add): Change base_address to struct
+	libbacktrace_base_address.
+	(xcoff_armem_add, xcoff_add_shared_libs): Likewise.
+	(backtrace_initialize): Likewise.
+	* Makefile.am (xcoff.lo): Remove unused target.
+	(xcoff_32.lo, xcoff_64.lo): New targets.
+	* Makefile.in: Regenerate.
+
 2024-07-16  Ian Lance Taylor  <iant@golang.org>
 
 	* internal.h: If FDPIC, #include <link.h> and/or <sys/link.h>.