|
|
|
|
@@ -1,3 +1,262 @@
|
|
|
|
|
2025-08-08 Andrew Pinski <quic_apinski@quicinc.com>
|
|
|
|
|
|
|
|
|
|
PR tree-optimization/120599
|
|
|
|
|
* tree-ssa-forwprop.cc (optimize_agr_copyprop): Don't try to copy
|
|
|
|
|
from statements that throw.
|
|
|
|
|
|
|
|
|
|
2025-08-08 Andrew Pinski <quic_apinski@quicinc.com>
|
|
|
|
|
|
|
|
|
|
PR tree-optimization/118946
|
|
|
|
|
PR tree-optimization/121422
|
|
|
|
|
* tree-ssa-forwprop.cc (optimize_memcpy_to_memset): Remove.
|
|
|
|
|
(optimize_aggr_zeroprop_1): New function.
|
|
|
|
|
(optimize_aggr_zeroprop): New function.
|
|
|
|
|
(simplify_builtin_call): Don't call optimize_memcpy_to_memset
|
|
|
|
|
for memcpy but call optimize_aggr_zeroprop for memset.
|
|
|
|
|
(pass_forwprop::execute): Don't call optimize_memcpy_to_memset
|
|
|
|
|
for aggregate copies but rather call optimize_aggr_zeroprop
|
|
|
|
|
for aggregate stores.
|
|
|
|
|
|
|
|
|
|
2025-08-08 Andrew Pinski <quic_apinski@quicinc.com>
|
|
|
|
|
|
|
|
|
|
* tree-ssa-forwprop.cc (optimize_agr_copyprop): Change into a
|
|
|
|
|
forward looking (looking at vdef's uses) instead of a back
|
|
|
|
|
looking (vuse's def).
|
|
|
|
|
|
|
|
|
|
2025-08-08 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR diagnostics/116253
|
|
|
|
|
* common.opt (fdiagnostics-show-nesting): New option.
|
|
|
|
|
(fdiagnostics-show-nesting-locations): New option.
|
|
|
|
|
(fdiagnostics-show-nesting-levels): New option.
|
|
|
|
|
* common.opt.urls: Regenerate.
|
|
|
|
|
* diagnostics/context.cc (context::set_show_nesting): New.
|
|
|
|
|
(context::set_show_nesting_locations): New.
|
|
|
|
|
(context::set_show_nesting_levels): New.
|
|
|
|
|
* diagnostics/context.h (context::set_show_nesting): New decl.
|
|
|
|
|
(context::set_show_nesting_locations): New decl.
|
|
|
|
|
(context::set_show_nesting_levels): New decl.
|
|
|
|
|
* diagnostics/html-sink.cc: Tweak comment.
|
|
|
|
|
* diagnostics/output-spec.cc (text_scheme_handler::make_sink):
|
|
|
|
|
Rename "experimental-nesting" to "show-nesting" and enable by
|
|
|
|
|
default. Rename "experimental-nesting-show-locations" to
|
|
|
|
|
"show-nesting-locations". Rename
|
|
|
|
|
"experimental-nesting-show-levels" to "show-nesting-levels".
|
|
|
|
|
* diagnostics/sink.h (sink::dyn_cast_text_sink): New.
|
|
|
|
|
* diagnostics/text-sink.h (text_sink::dyn_cast_text_sink): New.
|
|
|
|
|
* doc/invoke.texi: Add -fdiagnostics-show-nesting,
|
|
|
|
|
-fdiagnostics-show-nesting-locations, and
|
|
|
|
|
-fdiagnostics-show-nesting-levels. Update for changes to
|
|
|
|
|
output-spec.cc above.
|
|
|
|
|
* lto-wrapper.cc (merge_and_complain): Ignore
|
|
|
|
|
OPT_fdiagnostics_show_nesting,
|
|
|
|
|
OPT_fdiagnostics_show_nesting_locations, and
|
|
|
|
|
OPT_fdiagnostics_show_nesting_levels.
|
|
|
|
|
(append_compiler_options): Likewise.
|
|
|
|
|
(append_diag_options): Likewise.
|
|
|
|
|
* opts-common.cc (decode_cmdline_options_to_array): Add
|
|
|
|
|
"-fno-diagnostics-show-nesting" to -fdiagnostics-plain-output.
|
|
|
|
|
* opts.cc (common_handle_option): Handle the new options.
|
|
|
|
|
(gen_command_line_string): Ignore the new options.
|
|
|
|
|
* toplev.cc (general_init): Call set_show_nesting,
|
|
|
|
|
set_show_nesting_locations, and set_show_nesting_levels on
|
|
|
|
|
global_dc.
|
|
|
|
|
|
|
|
|
|
2025-08-08 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (OBJS-libcommon): Add diagnostics/dumping.o.
|
|
|
|
|
* diagnostics/buffering.cc: Include "diagnostics/dumping.h".
|
|
|
|
|
(buffer::dump): Reimplement using diagnostics::dumping.
|
|
|
|
|
* diagnostics/context.cc: Include "diagnostics/dumping.h".
|
|
|
|
|
(context::dump): Reimplement using diagnostics::dumping.
|
|
|
|
|
Use sink::dump_kind when listing the sinks.
|
|
|
|
|
(sink::dump): Reimplement using diagnostics::dumping.
|
|
|
|
|
(counters::dump): Likewise.
|
|
|
|
|
* diagnostics/dumping.cc: New file.
|
|
|
|
|
* diagnostics/dumping.h: New file.
|
|
|
|
|
* diagnostics/file-cache.cc: Include "diagnostics/dumping.h".
|
|
|
|
|
(file_cache::dump): Reimplement using diagnostics::dumping.
|
|
|
|
|
(file_cache_slot::dump): Likewise.
|
|
|
|
|
* diagnostics/html-sink.cc: Include "diagnostics/dumping.h".
|
|
|
|
|
(html_generation_options::dump): New.
|
|
|
|
|
(html_sink_buffer::dump): Reimplement using diagnostics::dumping.
|
|
|
|
|
(html_builder::dump): New.
|
|
|
|
|
(html_sink::dump): Reimplement using diagnostics::dumping.
|
|
|
|
|
Add dump of the html_builder.
|
|
|
|
|
(html_file_sink::dump): Replace with...
|
|
|
|
|
(html_file_sink::dump_kind): ...this.
|
|
|
|
|
(html_buffered_sink::dump_kind): New.
|
|
|
|
|
* diagnostics/html-sink.h (html_generation_options::dump): New
|
|
|
|
|
decl.
|
|
|
|
|
* diagnostics/sarif-sink.cc: Include "diagnostics/dumping.h".
|
|
|
|
|
(sarif_serialization_format_json::dump): New.
|
|
|
|
|
(sarif_builder::dump): New.
|
|
|
|
|
(sarif_sink_buffer::dump): Reimplement using diagnostics::dumping.
|
|
|
|
|
(sarif_sink::dump): Likewise. Add dump of the sarif_builder.
|
|
|
|
|
(sarif_stream_sink::dump_kind): New.
|
|
|
|
|
(sarif_file_sink::dump): Replace with...
|
|
|
|
|
(sarif_file_sink::dump_kind): ...this.
|
|
|
|
|
(get_dump_string_for_sarif_version): New.
|
|
|
|
|
(sarif_generation_options::dump): New.
|
|
|
|
|
(class buffered_sink): Rename to...
|
|
|
|
|
(class sarif_buffered_sink): ...this.
|
|
|
|
|
(sarif_buffered_sink::dump_kind): New.
|
|
|
|
|
* diagnostics/sarif-sink.h (sarif_serialization_format::dump):
|
|
|
|
|
New.
|
|
|
|
|
(sarif_serialization_format_json::dump): New decl.
|
|
|
|
|
(sarif_generation_options::dump): New decl.
|
|
|
|
|
* diagnostics/sink.h (sink::dump_kind): New.
|
|
|
|
|
* diagnostics/text-sink.cc: Include "diagnostics/dumping.h".
|
|
|
|
|
(text_sink_buffer::dump): Reimplement using diagnostics::dumping.
|
|
|
|
|
(text_sink::dump): Likewise. Emit fields m_show_nesting,
|
|
|
|
|
m_show_locations_in_nesting, and m_show_nesting_levels.
|
|
|
|
|
* diagnostics/text-sink.h (text_sink::dump_kind): New.
|
|
|
|
|
|
|
|
|
|
2025-08-08 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
|
|
|
|
|
|
* diagnostic.h (diagnostics::get_cwe_url): Move decl to
|
|
|
|
|
diagnostics/metadata.h.
|
|
|
|
|
(diagnostics::maybe_line_and_column): Move into
|
|
|
|
|
diagnostics::text_sink.
|
|
|
|
|
* diagnostics/context.cc: Update for maybe_line_and_column
|
|
|
|
|
becoming a static member of text_sink.
|
|
|
|
|
* diagnostics/metadata.h (diagnostics::get_cwe_url): Move decl
|
|
|
|
|
here from diagnostic.h.
|
|
|
|
|
* diagnostics/text-sink.cc (maybe_line_and_column): Convert to...
|
|
|
|
|
(text_sink::maybe_line_and_column): ...this.
|
|
|
|
|
* diagnostics/text-sink.h (text_sink::maybe_line_and_column): Move
|
|
|
|
|
here from diagnostic.h.
|
|
|
|
|
|
|
|
|
|
2025-08-08 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
|
|
|
|
|
|
* diagnostics/context.cc (context::get_any_inlining_info): Convert
|
|
|
|
|
"context" arg of m_set_locations_cb from ptr to const &.
|
|
|
|
|
(context::report_diagnostic): Convert "context" arg of
|
|
|
|
|
m_adjust_diagnostic_info from ptr to const &.
|
|
|
|
|
* diagnostics/context.h (context::set_locations_callback_t):
|
|
|
|
|
Likewise.
|
|
|
|
|
(context::set_adjust_diagnostic_info_callback): Likewise.
|
|
|
|
|
(context::m_adjust_diagnostic_info): Likewise.
|
|
|
|
|
* tree-diagnostic.cc (set_inlining_locations): Likewise.
|
|
|
|
|
|
|
|
|
|
2025-08-08 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
|
|
|
|
|
|
* diagnostics/column-options.h: New file, adding struct
|
|
|
|
|
diagnostics::column_options, taken from fields in
|
|
|
|
|
diagnostics::context and diagnostics::column_policy.
|
|
|
|
|
* diagnostics/context.cc (context::initialize): Update for moving
|
|
|
|
|
fields of diagnostics::context into diagnostics::column_options.
|
|
|
|
|
(column_policy::column_policy): Likewise.
|
|
|
|
|
(column_policy::converted_column): Move implementation to...
|
|
|
|
|
(column_options::convert_column): ...this new function.
|
|
|
|
|
(context::report_diagnostic): Update for moving fields of
|
|
|
|
|
diagnostics::context into diagnostics::column_options.
|
|
|
|
|
(assert_location_text): Likewise.
|
|
|
|
|
* diagnostics/context.h: Include "diagnostics/column-options.h".
|
|
|
|
|
(class column_policy): Replace fields m_column_unit,
|
|
|
|
|
m_column_origin, and m_tabstop with m_column_options.
|
|
|
|
|
(context::get_column_options): New accessors.
|
|
|
|
|
(context::m_column_unit): Move to struct column_options and
|
|
|
|
|
replace with m_column_options.
|
|
|
|
|
(context::m_column_origin): Likewise.
|
|
|
|
|
(context::m_tabstop): Likewise.
|
|
|
|
|
* diagnostics/sarif-sink.cc (sarif_builder::sarif_builder): Update
|
|
|
|
|
for moving fields of diagnostics::context into
|
|
|
|
|
diagnostics::column_options.
|
|
|
|
|
* diagnostics/source-printing.cc: Likewise.
|
|
|
|
|
* opts.cc (common_handle_option): Likewise.
|
|
|
|
|
|
|
|
|
|
2025-08-08 Christophe Lyon <christophe.lyon@linaro.org>
|
|
|
|
|
|
|
|
|
|
PR target/120977
|
|
|
|
|
* config/arm/arm.md (call): Move unspec parameter to parallel.
|
|
|
|
|
(nonsecure_call_internal): Likewise.
|
|
|
|
|
(call_value): Likewise.
|
|
|
|
|
(nonsecure_call_value_internal): Likewise.
|
|
|
|
|
* config/arm/thumb1.md (nonsecure_call_reg_thumb1_v5): Likewise.
|
|
|
|
|
(nonsecure_call_value_reg_thumb1_v5): Likewise.
|
|
|
|
|
* config/arm/thumb2.md (nonsecure_call_reg_thumb2_fpcxt):
|
|
|
|
|
Likewise.
|
|
|
|
|
(nonsecure_call_reg_thumb2): Likewise.
|
|
|
|
|
(nonsecure_call_value_reg_thumb2_fpcxt): Likewise.
|
|
|
|
|
(nonsecure_call_value_reg_thumb2): Likewise.
|
|
|
|
|
* config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
|
|
|
|
2025-08-08 Pengfei Li <Pengfei.Li2@arm.com>
|
|
|
|
|
|
|
|
|
|
PR target/121449
|
|
|
|
|
* config/aarch64/aarch64-sve.md
|
|
|
|
|
(mask_gather_load<mode><v_int_container>): Use vg<Vesize>
|
|
|
|
|
constraints for alternatives with immediate offset.
|
|
|
|
|
(mask_scatter_store<mode><v_int_container>): Likewise.
|
|
|
|
|
|
|
|
|
|
2025-08-08 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* doc/tm.texi.in: Add Vectorization and OpenMP and OpenACC
|
|
|
|
|
sub-sections to the list of target macros and functions.
|
|
|
|
|
* doc/tm.texi: Re-generate.
|
|
|
|
|
|
|
|
|
|
2025-08-08 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* tree-vect-loop.cc (vect_determine_vectype_for_stmt_1): Remove.
|
|
|
|
|
(vect_determine_vectype_for_stmt): Likewise.
|
|
|
|
|
(vect_set_stmts_vectype): Likewise.
|
|
|
|
|
(vect_analyze_loop_2): Do not call vect_set_stmts_vectype.
|
|
|
|
|
* tree-vect-stmts.cc (vect_mark_stmts_to_be_vectorized): Detect
|
|
|
|
|
irregular stmts early here.
|
|
|
|
|
|
|
|
|
|
2025-08-08 Alex Coplan <alex.coplan@arm.com>
|
|
|
|
|
|
|
|
|
|
PR target/120986
|
|
|
|
|
* config/aarch64/aarch64-sve-builtins.cc
|
|
|
|
|
(function_expander::expand): Relax fpm_t assert to allow
|
|
|
|
|
modeless const_ints.
|
|
|
|
|
|
|
|
|
|
2025-08-08 Alex Coplan <alex.coplan@arm.com>
|
|
|
|
|
|
|
|
|
|
PR target/120986
|
|
|
|
|
* config/aarch64/aarch64-sve2.md (@aarch64_sve_dot<mode>):
|
|
|
|
|
Switch mode iterator from SVE_FULL_HSF to new iterator;
|
|
|
|
|
remove insn predicate as this is now taken care of by conditions
|
|
|
|
|
in the mode iterator.
|
|
|
|
|
(@aarch64_sve_dot_lane<mode>): Likewise.
|
|
|
|
|
* config/aarch64/iterators.md (SVE_FULL_HSF_FP8_FDOT): New.
|
|
|
|
|
|
|
|
|
|
2025-08-08 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
PR tree-optimization/121454
|
|
|
|
|
* tree-ssa-sccvn.cc (visit_nary_op): Avoid unexpected
|
|
|
|
|
BIT_FIELD_REFs.
|
|
|
|
|
|
|
|
|
|
2025-08-08 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR middle-end/121389
|
|
|
|
|
* tree-tailcall.cc (find_tail_calls): For finally_tmp.N
|
|
|
|
|
handle not just GIMPLE_CONDs with EQ_EXPR/NE_EXPR and only
|
|
|
|
|
values 0 and 1, but arbitrary non-negative values, arbitrary
|
|
|
|
|
comparisons in conditions and also GIMPLE_SWITCH next to
|
|
|
|
|
GIMPLE_CONDs.
|
|
|
|
|
|
|
|
|
|
2025-08-08 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): Get
|
|
|
|
|
the SLP node rather than the stmt_info.
|
|
|
|
|
(vectorizable_lane_reducing): Adjust, pass SLP node to costing.
|
|
|
|
|
(vect_transform_reduction): Adjust.
|
|
|
|
|
|
|
|
|
|
2025-08-08 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* tree-vect-stmts.cc (vect_model_promotion_demotion_cost): Pass
|
|
|
|
|
in SLP node and drop unused dr argument. Use SLP node for
|
|
|
|
|
costing, drop costing of constant/external operands.
|
|
|
|
|
(vectorizable_conversion): Adjust.
|
|
|
|
|
|
|
|
|
|
2025-08-08 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* tree-vect-stmts.cc (vectorizable_store): Apply SLP_TREE_VECTYPE
|
|
|
|
|
to slp_node rather than stmt_info.
|
|
|
|
|
|
|
|
|
|
2025-08-07 Richard Sandiford <richard.sandiford@arm.com>
|
|
|
|
|
|
|
|
|
|
PR target/121414
|
|
|
|
|
|