gccrs: transcriber: Do not infinite loop if the current parsed node is an error
[official-gcc.git] / gcc / ChangeLog
blob3a8041bb3645845b4e1d4ad87aacb4ae5e3e90b4
1 2023-01-31  Gerald Pfeifer  <gerald@pfeifer.com>
3         * doc/include/fdl.texi: Change fsf.org to www.fsf.org.
5 2023-01-30  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
7         * config/riscv/riscv-protos.h (get_vector_mode): New function.
8         * config/riscv/riscv-v.cc (get_vector_mode): Ditto.
9         * config/riscv/riscv-vector-builtins-bases.cc (enum lst_type): New enum.
10         (class loadstore): Adjust for indexed loads/stores support.
11         (BASE): Ditto.
12         * config/riscv/riscv-vector-builtins-bases.h: New function declare.
13         * config/riscv/riscv-vector-builtins-functions.def (vluxei8): Ditto.
14         (vluxei16): Ditto.
15         (vluxei32): Ditto.
16         (vluxei64): Ditto.
17         (vloxei8): Ditto.
18         (vloxei16): Ditto.
19         (vloxei32): Ditto.
20         (vloxei64): Ditto.
21         (vsuxei8): Ditto.
22         (vsuxei16): Ditto.
23         (vsuxei32): Ditto.
24         (vsuxei64): Ditto.
25         (vsoxei8): Ditto.
26         (vsoxei16): Ditto.
27         (vsoxei32): Ditto.
28         (vsoxei64): Ditto.
29         * config/riscv/riscv-vector-builtins-shapes.cc
30         (struct indexed_loadstore_def): New class.
31         (SHAPE): Ditto.
32         * config/riscv/riscv-vector-builtins-shapes.h: Ditto.
33         * config/riscv/riscv-vector-builtins.cc (required_extensions_p): Adjust
34         for indexed loads/stores support.
35         (check_required_extensions): Ditto.
36         (rvv_arg_type_info::get_base_vector_type): New function.
37         (rvv_arg_type_info::get_tree_type): Ditto.
38         (function_builder::add_unique_function): Adjust for indexed loads/stores
39         support.
40         (function_expander::use_exact_insn): New function.
41         * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Adjust for
42         indexed loads/stores support.
43         (struct rvv_arg_type_info): Ditto.
44         (function_expander::index_mode): New function.
45         (function_base::apply_tail_policy_p): Ditto.
46         (function_base::apply_mask_policy_p): Ditto.
47         * config/riscv/vector-iterators.md (unspec): New unspec.
48         * config/riscv/vector.md (unspec): Ditto.
49         (@pred_indexed_<order>load<VNX1_QHSD:mode><VNX1_QHSDI:mode>): New
50         pattern.
51         (@pred_indexed_<order>store<VNX1_QHSD:mode><VNX1_QHSDI:mode>): Ditto.
52         (@pred_indexed_<order>load<VNX2_QHSD:mode><VNX2_QHSDI:mode>): Ditto.
53         (@pred_indexed_<order>store<VNX2_QHSD:mode><VNX2_QHSDI:mode>): Ditto.
54         (@pred_indexed_<order>load<VNX4_QHSD:mode><VNX4_QHSDI:mode>): Ditto.
55         (@pred_indexed_<order>store<VNX4_QHSD:mode><VNX4_QHSDI:mode>): Ditto.
56         (@pred_indexed_<order>load<VNX8_QHSD:mode><VNX8_QHSDI:mode>): Ditto.
57         (@pred_indexed_<order>store<VNX8_QHSD:mode><VNX8_QHSDI:mode>): Ditto.
58         (@pred_indexed_<order>load<VNX16_QHS:mode><VNX16_QHSI:mode>): Ditto.
59         (@pred_indexed_<order>store<VNX16_QHS:mode><VNX16_QHSI:mode>): Ditto.
60         (@pred_indexed_<order>load<VNX32_QH:mode><VNX32_QHI:mode>): Ditto.
61         (@pred_indexed_<order>store<VNX32_QH:mode><VNX32_QHI:mode>): Ditto.
62         (@pred_indexed_<order>load<VNX64_Q:mode><VNX64_Q:mode>): Ditto.
63         (@pred_indexed_<order>store<VNX64_Q:mode><VNX64_Q:mode>): Ditto.
65 2023-01-30  Flavio Cruz  <flaviocruz@gmail.com>
67         * config.gcc: Recognize x86_64-*-gnu* targets and include
68         i386/gnu64.h.
69         * config/i386/gnu64.h: Define configuration for new target
70         including ld.so location.
72 2023-01-30  Philipp Tomsich  <philipp.tomsich@vrull.eu>
74         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
75         ampere1a to include SM4.
77 2023-01-30  Andrew Pinski  <apinski@marvell.com>
79         PR tree-optimization/108582
80         * tree-ssa-phiopt.cc (match_simplify_replacement): Add check
81         for middlebb to have no phi nodes.
83 2023-01-30  Richard Biener  <rguenther@suse.de>
85         PR tree-optimization/108574
86         * tree-ssa-sccvn.cc (visit_phi): Instead of swapping
87         sameval and def, ignore the equivalence if there's the
88         danger of oscillating between two values.
90 2023-01-30  Andreas Schwab  <schwab@suse.de>
92         * common/config/riscv/riscv-common.cc
93         (riscv_option_optimization_table)
94         [TARGET_DEFAULT_ASYNC_UNWIND_TABLES]: Enable
95         -fasynchronous-unwind-tables and -funwind-tables.
96         * config.gcc (riscv*-*-linux*): Define
97         TARGET_DEFAULT_ASYNC_UNWIND_TABLES.
99 2023-01-30  YunQiang Su  <yunqiang.su@cipunited.com>
101         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): set according the
102         value of includedir.
104 2023-01-30  Richard Biener  <rguenther@suse.de>
106         PR ipa/108511
107         * cgraph.cc (possibly_call_in_translation_unit_p): Relax
108         assert.
110 2023-01-30  liuhongt  <hongtao.liu@intel.com>
112         * config/i386/i386.opt: Change AVX512FP16 to AVX512-FP16.
113         * doc/invoke.texi: Ditto.
115 2023-01-29  Jan Hubicka  <hubicka@ucw.cz>
117         * ipa-utils.cc: Include calls.h, cfgloop.h and cfganal.h
118         (stmt_may_terminate_function_p): If assuming return or EH
119         volatile asm is safe.
120         (find_always_executed_bbs): Fix handling of terminating BBS and
121         infinite loops; add debug output.
122         * tree-ssa-alias.cc (stmt_kills_ref_p): Fix debug output
124 2023-01-28  Philipp Tomsich  <philipp.tomsich@vrull.eu>
126         * config/aarch64/aarch64.cc (aarch64_uxt_size): fix an
127         off-by-one in checking the permissible shift-amount.
129 2023-01-28  Gerald Pfeifer  <gerald@pfeifer.com>
131         * doc/extend.texi (Named Address Spaces): Update link to the
132         AVR-Libc manual.
134 2023-01-28  Gerald Pfeifer  <gerald@pfeifer.com>
136         * doc/standards.texi (Standards): Fix markup.
138 2023-01-28  Gerald Pfeifer  <gerald@pfeifer.com>
140         * doc/standards.texi (Standards): Update link to Objective-C book.
142 2023-01-28  Gerald Pfeifer  <gerald@pfeifer.com>
144         * doc/invoke.texi (Instrumentation Options): Update reference to
145         AddressSanitizer.
147 2023-01-28  Gerald Pfeifer  <gerald@pfeifer.com>
149         * doc/standards.texi: Update Go1 link.
151 2023-01-28  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
153         * config/riscv/predicates.md (pmode_reg_or_0_operand): New predicate.
154         * config/riscv/riscv-vector-builtins-bases.cc (class loadstore):
155         Support vlse/vsse.
156         (BASE): Ditto.
157         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
158         * config/riscv/riscv-vector-builtins-functions.def (vlse): New class.
159         (vsse): New class.
160         * config/riscv/riscv-vector-builtins.cc
161         (function_expander::use_contiguous_load_insn): Support vlse/vsse.
162         * config/riscv/vector.md (@pred_strided_load<mode>): New md pattern.
163         (@pred_strided_store<mode>): Ditto.
165 2023-01-28  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
167         * config/riscv/vector.md (tail_policy_op_idx): Remove.
168         (mask_policy_op_idx): Remove.
169         (avl_type_op_idx): Remove.
171 2023-01-27  Richard Sandiford  <richard.sandiford@arm.com>
173         PR tree-optimization/96373
174         * tree.h (sign_mask_for): Declare.
175         * tree.cc (sign_mask_for): New function.
176         (signed_or_unsigned_type_for): For vector types, try to use the
177         related_int_vector_mode.
178         * genmatch.cc (commutative_op): Handle conditional internal functions.
179         * match.pd: Fold an IFN_COND_MUL+copysign into an IFN_COND_XOR+and.
181 2023-01-27  Richard Sandiford  <richard.sandiford@arm.com>
183         * tree-vectorizer.cc (vector_costs::compare_inside_loop_cost):
184         Use the likely minimum VF when bounding the denominators to
185         the estimated number of iterations.
187 2023-01-27  Richard Biener  <rguenther@suse.de>
189         PR target/55522
190         * doc/invoke.texi (-shared): Clarify effect on -ffast-math
191         and -Ofast FP environment side-effects.
193 2023-01-27  Richard Biener  <rguenther@suse.de>
195         PR target/55522
196         * config/mips/gnu-user.h (GNU_USER_TARGET_MATHFILE_SPEC):
197         Don't add crtfastmath.o for -shared.
199 2023-01-27  Richard Biener  <rguenther@suse.de>
201         PR target/55522
202         * config/ia64/linux.h (ENDFILE_SPEC): Don't add crtfastmath.o
203         for -shared.
205 2023-01-27  Richard Biener  <rguenther@suse.de>
207         PR target/55522
208         * config/alpha/linux.h (ENDFILE_SPEC): Don't add
209         crtfastmath.o for -shared.
211 2023-01-27  Andrew MacLeod  <amacleod@redhat.com>
213         PR tree-optimization/108306
214         * range-op.cc (operator_lshift::fold_range): Return [0, 0] not
215         varying for shifts that are always out of void range.
216         (operator_rshift::fold_range): Return [0, 0] not
217         varying for shifts that are always out of void range.
219 2023-01-27  Andrew MacLeod  <amacleod@redhat.com>
221         PR tree-optimization/108447
222         * gimple-range-fold.cc (old_using_range::relation_fold_and_or):
223         Do not attempt to fold HONOR_NAN types.
225 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
227         * config/riscv/riscv-vector-builtins-shapes.cc (struct loadstore_def):
228         Remove _m suffix for "vop_m" C++ overloaded API name.
230 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
232         * config/riscv/riscv-vector-builtins-bases.cc (BASE): Add vlm/vsm support.
233         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
234         * config/riscv/riscv-vector-builtins-functions.def (vlm): New define.
235         (vsm): Ditto.
236         * config/riscv/riscv-vector-builtins-shapes.cc (struct loadstore_def): Add vlm/vsm support.
237         * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_B_OPS): Ditto.
238         (vbool64_t): Ditto.
239         (vbool32_t): Ditto.
240         (vbool16_t): Ditto.
241         (vbool8_t): Ditto.
242         (vbool4_t): Ditto.
243         (vbool2_t): Ditto.
244         (vbool1_t): Ditto.
245         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_B_OPS): Ditto.
246         (rvv_arg_type_info::get_tree_type): Ditto.
247         (function_expander::use_contiguous_load_insn): Ditto.
248         * config/riscv/vector.md (@pred_store<mode>): Ditto.
250 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
252         * config/riscv/riscv-vsetvl.cc (vsetvl_insn_p): Add condition to avoid ICE.
253         (vsetvl_discard_result_insn_p): New function.
254         (reg_killed_by_bb_p): rename to find_reg_killed_by.
255         (find_reg_killed_by): New name.
256         (get_vl): allow it to be called by more functions.
257         (has_vsetvl_killed_avl_p): Add condition.
258         (get_avl): allow it to be called by more functions.
259         (insn_should_be_added_p): New function.
260         (get_all_nonphi_defs): Refine function.
261         (get_all_sets): Ditto.
262         (get_same_bb_set): New function.
263         (any_insn_in_bb_p): Ditto.
264         (any_set_in_bb_p): Ditto.
265         (get_vl_vtype_info): Add VLMAX forward optimization.
266         (source_equal_p): Fix issues.
267         (extract_single_source): Refine.
268         (avl_info::multiple_source_equal_p): New function.
269         (avl_info::operator==): Adjust for final version.
270         (vl_vtype_info::operator==): Ditto.
271         (vl_vtype_info::same_avl_p): Ditto.
272         (vector_insn_info::parse_insn): Ditto.
273         (vector_insn_info::available_p): New function.
274         (vector_insn_info::merge): Adjust for final version.
275         (vector_insn_info::dump): Add hard_empty.
276         (pass_vsetvl::hard_empty_block_p): New function.
277         (pass_vsetvl::backward_demand_fusion): Adjust for final version.
278         (pass_vsetvl::forward_demand_fusion): Ditto.
279         (pass_vsetvl::demand_fusion): Ditto.
280         (pass_vsetvl::cleanup_illegal_dirty_blocks): New function.
281         (pass_vsetvl::compute_local_properties): Adjust for final version.
282         (pass_vsetvl::can_refine_vsetvl_p): Ditto.
283         (pass_vsetvl::refine_vsetvls): Ditto.
284         (pass_vsetvl::commit_vsetvls): Ditto.
285         (pass_vsetvl::propagate_avl): New function.
286         (pass_vsetvl::lazy_vsetvl): Adjust for new version.
287         * config/riscv/riscv-vsetvl.h (enum def_type): New enum.
289 2023-01-27  Jakub Jelinek  <jakub@redhat.com>
291         PR other/108560
292         * doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len
293         from size_t to int.
295 2023-01-27  Jakub Jelinek  <jakub@redhat.com>
297         PR ipa/106061
298         * cgraph.cc (cgraph_edge::verify_corresponds_to_fndecl): Allow
299         redirection of calls to __builtin_trap in addition to redirection
300         to __builtin_unreachable.
302 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
304         * config/riscv/riscv-vsetvl.cc (before_p): Fix bug.
306 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
308         * config/riscv/riscv-vsetvl.cc (gen_vsetvl_pat): Refine function args.
309         (emit_vsetvl_insn): Ditto.
311 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
313         * config/riscv/vector.md: Fix constraints.
315 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
317         * config/riscv/vector-iterators.md: Add TARGET_MIN_VLEN > 32 predicates.
319 2023-01-27  Patrick Palka  <ppalka@redhat.com>
320             Jakub Jelinek  <jakub@redhat.com>
322         * tree-core.h (tree_code_type, tree_code_length): For
323         C++17 and later, add inline keyword, otherwise don't define
324         the arrays, but declare extern arrays.
325         * tree.cc (tree_code_type, tree_code_length): Define these
326         arrays for C++14 and older.
328 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
330         * config/riscv/riscv-vsetvl.h: Change it into public.
332 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
334         * config/riscv/riscv-passes.def (INSERT_PASS_BEFORE): Reorder VSETVL
335         pass.
337 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
339         * config/riscv/riscv-vsetvl.cc (pass_vsetvl::execute): Always call split_all_insns.
341 2023-01-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
343         * config/riscv/vector.md: Fix incorrect attributes.
345 2023-01-27  Richard Biener  <rguenther@suse.de>
347         PR target/55522
348         * config/loongarch/gnu-user.h (GNU_USER_TARGET_MATHFILE_SPEC):
349         Don't add crtfastmath.o for -shared.
351 2023-01-27  Alexandre Oliva  <oliva@gnu.org>
353         * doc/options.texi (option, RejectNegative): Mention that
354         -g-started options are also implicitly negatable.
356 2023-01-26  Kito Cheng  <kito.cheng@sifive.com>
358         * config/riscv/riscv-vector-builtins.cc (register_builtin_types):
359         Use get_typenode_from_name to get fixed-width integer type
360         nodes.
361         * config/riscv/riscv-vector-builtins.def: Update define with
362         fixed-width integer type nodes.
364 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
366         * config/riscv/riscv-vsetvl.cc (same_bb_and_before_p): Remove it.
367         (real_insn_and_same_bb_p): New function.
368         (same_bb_and_after_or_equal_p): Remove it.
369         (before_p): New function.
370         (reg_killed_by_bb_p): Ditto.
371         (has_vsetvl_killed_avl_p): Ditto.
372         (get_vl): Move location so that we can call it.
373         (anticipatable_occurrence_p): Fix issue of AVL=REG support.
374         (available_occurrence_p): Ditto.
375         (dominate_probability_p): Remove it.
376         (can_backward_propagate_p): Remove it.
377         (get_all_nonphi_defs): New function.
378         (get_all_predecessors): Ditto.
379         (any_insn_in_bb_p): Ditto.
380         (insert_vsetvl): Adjust AVL REG.
381         (source_equal_p): New function.
382         (extract_single_source): Ditto.
383         (avl_info::single_source_equal_p): Ditto.
384         (avl_info::operator==): Adjust for AVL=REG.
385         (vl_vtype_info::same_avl_p): Ditto.
386         (vector_insn_info::set_demand_info): Remove it.
387         (vector_insn_info::compatible_p): Adjust for AVL=REG.
388         (vector_insn_info::compatible_avl_p): New function.
389         (vector_insn_info::merge): Adjust AVL=REG.
390         (vector_insn_info::dump): Ditto.
391         (pass_vsetvl::merge_successors): Remove it.
392         (enum fusion_type): New enum.
393         (pass_vsetvl::get_backward_fusion_type): New function.
394         (pass_vsetvl::backward_demand_fusion): Adjust for AVL=REG.
395         (pass_vsetvl::forward_demand_fusion): Ditto.
396         (pass_vsetvl::demand_fusion): Ditto.
397         (pass_vsetvl::prune_expressions): Ditto.
398         (pass_vsetvl::compute_local_properties): Ditto.
399         (pass_vsetvl::cleanup_vsetvls): Ditto.
400         (pass_vsetvl::commit_vsetvls): Ditto.
401         (pass_vsetvl::init): Ditto.
402         * config/riscv/riscv-vsetvl.h (enum fusion_type): New enum.
403         (enum merge_type): New enum.
405 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
407         * config/riscv/riscv-vsetvl.cc
408         (vector_infos_manager::vector_infos_manager): Add probability.
409         (vector_infos_manager::dump): Ditto.
410         (pass_vsetvl::compute_probabilities): Ditto.
411         * config/riscv/riscv-vsetvl.h (struct vector_block_info): Ditto.
413 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
415         * config/riscv/riscv-vsetvl.cc (vector_insn_info::operator==): Remove dirty_pat.
416         (vector_insn_info::merge): Ditto.
417         (vector_insn_info::dump): Ditto.
418         (pass_vsetvl::merge_successors): Ditto.
419         (pass_vsetvl::backward_demand_fusion): Ditto.
420         (pass_vsetvl::forward_demand_fusion): Ditto.
421         (pass_vsetvl::commit_vsetvls): Ditto.
422         * config/riscv/riscv-vsetvl.h: Ditto.
424 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
426         * config/riscv/riscv-vsetvl.cc (add_label_notes): Rename insn to
427         rinsn.
429 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
431         * config/riscv/riscv-vsetvl.cc (pass_vsetvl::backward_demand_fusion): Refine codes.
433 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
435         * config/riscv/riscv-vsetvl.cc (pass_vsetvl::forward_demand_fusion):
436         Add pre-check for redundant flow.
438 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
440         * config/riscv/riscv-vsetvl.cc (vector_infos_manager::create_bitmap_vectors): New function.
441         (vector_infos_manager::free_bitmap_vectors): Ditto.
442         (pass_vsetvl::pre_vsetvl): Adjust codes.
443         * config/riscv/riscv-vsetvl.h: New function declaration.
445 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
447         * config/riscv/riscv-vsetvl.cc (can_backward_propagate_p): Fix for null iter_bb.
448         (vector_insn_info::set_demand_info): New function.
449         (pass_vsetvl::emit_local_forward_vsetvls): Adjust for refinement of Phase 3.
450         (pass_vsetvl::merge_successors): Ditto.
451         (pass_vsetvl::compute_global_backward_infos): Ditto.
452         (pass_vsetvl::backward_demand_fusion): Ditto.
453         (pass_vsetvl::forward_demand_fusion): Ditto.
454         (pass_vsetvl::demand_fusion): New function.
455         (pass_vsetvl::lazy_vsetvl): Adjust for refinement of phase 3.
456         * config/riscv/riscv-vsetvl.h: New function declaration.
458 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
460         * config/riscv/riscv-vsetvl.cc (vector_insn_info::operator>=): Fix available condition.
462 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
464         * config/riscv/riscv-vsetvl.cc (change_vsetvl_insn): New function.
465         (pass_vsetvl::compute_global_backward_infos): Simplify codes.
467 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
469         * config/riscv/riscv-vsetvl.cc (loop_basic_block_p): Adjust function.
470         (backward_propagate_worthwhile_p): Fix non-worthwhile.
472 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
474         * config/riscv/riscv-vsetvl.cc (change_insn): Adjust in_group in validate_change.
476 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
478         * config/riscv/riscv-vsetvl.cc (vector_infos_manager::all_same_avl_p): New function.
479         (pass_vsetvl::can_refine_vsetvl_p): Add AVL check.
480         (pass_vsetvl::commit_vsetvls): Ditto.
481         * config/riscv/riscv-vsetvl.h: New function declaration.
483 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
485         * config/riscv/vector.md:
487 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
489         * config/riscv/riscv-vector-builtins-bases.cc (class loadstore): use
490         pred_store for vse.
491         * config/riscv/riscv-vector-builtins.cc
492         (function_expander::add_mem_operand): Refine function.
493         (function_expander::use_contiguous_load_insn): Adjust new
494         implementation.
495         (function_expander::use_contiguous_store_insn): Ditto.
496         * config/riscv/riscv-vector-builtins.h: Refine function.
497         * config/riscv/vector.md (@pred_store<mode>): New pattern.
499 2023-01-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
501         * config/riscv/riscv-vector-builtins.cc: Change to scalar pointer.
503 2023-01-26  Marek Polacek  <polacek@redhat.com>
505         PR middle-end/108543
506         * opts.cc (parse_sanitizer_options): Don't always clear SANITIZE_ADDRESS
507         if it was previously set.
509 2023-01-26  Jakub Jelinek  <jakub@redhat.com>
511         PR tree-optimization/108540
512         * range-op-float.cc (foperator_equal::fold_range): If both op1 and op2
513         are singletons, use range_true even if op1 != op2
514         when one range is [-0.0, -0.0] and another [0.0, 0.0].  Similarly,
515         even if intersection of the ranges is empty and one has
516         zero low bound and another zero high bound, use range_true_and_false
517         rather than range_false.
518         (foperator_not_equal::fold_range): If both op1 and op2
519         are singletons, use range_false even if op1 != op2
520         when one range is [-0.0, -0.0] and another [0.0, 0.0].  Similarly,
521         even if intersection of the ranges is empty and one has
522         zero low bound and another zero high bound, use range_true_and_false
523         rather than range_true.
525 2023-01-26  Jakub Jelinek  <jakub@redhat.com>
527         * value-relation.cc (kind_string): Add const.
528         (rr_negate_table, rr_swap_table, rr_intersect_table,
529         rr_union_table, rr_transitive_table): Add static const, change
530         element type from relation_kind to unsigned char.
531         (relation_negate, relation_swap, relation_intersect, relation_union,
532         relation_transitive): Cast rr_*_table element to relation_kind.
533         (relation_to_code): Add static const.
534         (relation_tests): Assert VREL_LAST is smaller than UCHAR_MAX.
536 2023-01-26  Richard Biener  <rguenther@suse.de>
538         PR tree-optimization/108547
539         * gimple-predicate-analysis.cc (value_sat_pred_p):
540         Use widest_int.
542 2023-01-26  Siddhesh Poyarekar  <siddhesh@gotplt.org>
544         PR tree-optimization/108522
545         * tree-object-size.cc (compute_object_offset): Make EXPR
546         argument non-const.  Call component_ref_field_offset.
548 2023-01-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
550         * config/aarch64/aarch64-option-extensions.def (cssc): Specify
551         FEATURE_STRING field.
553 2023-01-26  Gerald Pfeifer  <gerald@pfeifer.com>
555         * doc/sourcebuild.texi: Refer to projects as GCC and GDB.
557 2023-01-25  Iain Sandoe  <iain@sandoe.co.uk>
559         PR modula2/102343
560         PR modula2/108182
561         * gcc.cc: Provide default specs for Modula-2 so that when the
562         language is not built-in better diagnostics are emitted for
563         attempts to use .mod or .m2i file extensions.
565 2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
567         * config/arm/mve.md (mve_vqnegq_s<mode>): Fix spacing.
569 2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
571         * config/arm/mve.md (mve_vqabsq_s<mode>): Fix spacing.
573 2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
575         * config/arm/mve.md (mve_vnegq_f<mode>, mve_vnegq_s<mode>):
576         Fix spacing.
578 2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
580         * config/arm/mve.md (@mve_vclzq_s<mode>): Fix spacing.
582 2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>
584         * config/arm/mve.md (mve_vclsq_s<mode>): Fix spacing.
586 2023-01-25  Richard Biener  <rguenther@suse.de>
588         PR tree-optimization/108523
589         * tree-ssa-sccvn.cc (visit_phi): Avoid using the exclusive
590         backedge value for the result when using predication to
591         prove equivalence.
593 2023-01-25  Richard Biener  <rguenther@suse.de>
595         * doc/lto.texi (Command line options): Reword and update reference
596         to removed lto_read_all_file_options.
598 2023-01-25  Richard Sandiford  <richard.sandiford@arm.com>
600         * config/aarch64/aarch64.md (umax<mode>3): Separate the CNT and CSSC
601         tests.
603 2023-01-25  Gerald Pfeifer  <gerald@pfeifer.com>
605         * doc/contrib.texi: Add Jose E. Marchesi.
607 2023-01-25  Jakub Jelinek  <jakub@redhat.com>
609         PR tree-optimization/108498
610         * gimple-ssa-store-merging.cc (class store_operand_info):
611         End coment with full stop rather than comma.
612         (split_group): Likewise.
613         (merged_store_group::apply_stores): Clear string_concatenation if
614         start or end aren't on a byte boundary.
616 2023-01-25  Siddhesh Poyarekar  <siddhesh@gotplt.org>
617             Jakub Jelinek  <jakub@redhat.com>
619         PR tree-optimization/108522
620         * tree-object-size.cc (compute_object_offset): Use
621         TREE_OPERAND(ref, 2) for COMPONENT_REF when available.
623 2023-01-24  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
625         * config/xtensa/xtensa.md:
626         Fix exit from loops detecting references before overwriting in the
627         split pattern.
629 2023-01-24  Vladimir N. Makarov  <vmakarov@redhat.com>
631         * lra-constraints.cc (get_hard_regno): Remove final_p arg.  Always
632         do elimination but only for hard register.
633         (operands_match_p, uses_hard_regs_p, process_alt_operands): Adjust
634         calls of get_hard_regno.
636 2023-01-24  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
638         * config/s390/s390-d.cc (s390_d_target_versions): Fix detection
639         of CPU version.
641 2023-01-24  Andre Vieira  <andre.simoesdiasvieira@arm.com>
643         PR target/108177
644         * config/arm/mve.md (mve_vstrbq_p_<supf><mode>, mve_vstrhq_p_fv8hf,
645         mve_vstrhq_p_<supf><mode>, mve_vstrwq_p_<supf>v4si): Add memory operand
646         as input operand.
648 2023-01-24  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
650         * config.gcc(csky-*-linux*): Define CSKY_ENABLE_MULTILIB
651         and only include 'csky/t-csky-linux' when enable multilib.
652         * config/csky/csky-linux-elf.h(SYSROOT_SUFFIX_SPEC): Don't
653         define it when disable multilib.
655 2023-01-24  Richard Biener  <rguenther@suse.de>
657         PR tree-optimization/108500
658         * dominance.h (calculate_dominance_info): Add parameter
659         to indicate fast-query compute, defaulted to true.
660         * dominance.cc (calculate_dominance_info): Honor
661         fast-query compute parameter.
662         * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Do
663         not compute the dominator fast-query DFS numbers.
665 2023-01-24  Eric Biggers  <ebiggers@google.com>
667         PR bootstrap/90543
668         * optc-save-gen.awk: Fix copy-and-paste error.
670 2023-01-24  Jakub Jelinek  <jakub@redhat.com>
672         PR c++/108474
673         * cgraphbuild.cc: Include gimplify.h.
674         (record_reference): Replace VAR_DECLs with DECL_HAS_VALUE_EXPR_P with
675         their corresponding DECL_VALUE_EXPR expressions after unsharing.
677 2023-01-24  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
679         PR target/108505
680         * config.gcc (tm_file): Move the variable out of loop.
682 2023-01-24  Lulu Cheng  <chenglulu@loongson.cn>
683             Yang Yujie  <yangyujie@loongson.cn>
685         PR target/107731
686         * config/loongarch/loongarch.cc (loongarch_classify_address):
687         Add precessint for CONST_INT.
688         (loongarch_print_operand_reloc): Operand modifier 'c' is supported.
689         (loongarch_print_operand): Increase the processing of '%c'.
690         * doc/extend.texi: Adds documents for LoongArch operand modifiers.
691         And port the public operand modifiers information to this document.
693 2023-01-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
695         * doc/invoke.texi (-mbranch-protection): Update documentation.
697 2023-01-23  Richard Biener  <rguenther@suse.de>
699         PR target/55522
700         * config/sparc/freebsd.h (ENDFILE_SPEC): Don't add crtfastmath.o
701         for -shared.
702         * config/sparc/linux.h (ENDFILE_SPEC): Likewise.
703         * config/sparc/linux64.h (ENDFILE_SPEC): Likewise.
704         * config/sparc/sp-elf.h (ENDFILE_SPEC): Likewise.
705         * config/sparc/sp64-elf.h (ENDFILE_SPEC): Likewise.
707 2023-01-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
709         * config/arm/aout.h (ra_auth_code): Add entry in enum.
710         * config/arm/arm.cc (emit_multi_reg_push): Add RA_AUTH_CODE register
711         to dwarf frame expression.
712         (arm_emit_multi_reg_pop): Restore RA_AUTH_CODE register.
713         (arm_expand_prologue): Update frame related information and reg notes
714         for pac/pacbit insn.
715         (arm_regno_class): Check for pac pseudo reigster.
716         (arm_dbx_register_number): Assign ra_auth_code register number in dwarf.
717         (arm_init_machine_status): Set pacspval_needed to zero.
718         (arm_debugger_regno): Check for PAC register.
719         (arm_unwind_emit_sequence): Print .save directive with ra_auth_code
720         register.
721         (arm_unwind_emit_set): Add entry for IP_REGNUM in switch case.
722         (arm_unwind_emit): Update REG_CFA_REGISTER case._
723         * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Modify.
724         (DWARF_PAC_REGNUM): Define.
725         (IS_PAC_REGNUM): Likewise.
726         (enum reg_class): Add PAC_REG entry.
727         (machine_function): Add pacbti_needed state to structure.
728         * config/arm/arm.md (RA_AUTH_CODE): Define.
730 2023-01-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
732         * config.gcc ($tm_file): Update variable.
733         * config/arm/arm-mlib.h: Create new header file.
734         * config/arm/t-rmprofile (MULTI_ARCH_DIRS_RM): Rename mbranch-protection
735         multilib arch directory.
736         (MULTILIB_REUSE): Add multilib reuse rules.
737         (MULTILIB_MATCHES): Add multilib match rules.
739 2023-01-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
741         * config/arm/arm-cpus.in (cortex-m85): Define new CPU.
742         * config/arm/arm-tables.opt: Regenerate.
743         * config/arm/arm-tune.md: Likewise.
744         * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m85.
745         * (-mfix-cmse-cve-2021-35465): Likewise.
747 2023-01-23  Richard Biener  <rguenther@suse.de>
749         PR tree-optimization/108482
750         * tree-vect-generic.cc (expand_vector_operations): Fold remaining
751         .LOOP_DIST_ALIAS calls.
753 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
755         * config.gcc (arm*-*-*): Add 'aarch-bti-insert.o' object.
756         * config/arm/arm-protos.h: Update.
757         * config/arm/aarch-common-protos.h: Declare
758         'aarch_bti_arch_check'.
759         * config/arm/arm.cc (aarch_bti_enabled) Update.
760         (aarch_bti_j_insn_p, aarch_pac_insn_p, aarch_gen_bti_c)
761         (aarch_gen_bti_j, aarch_bti_arch_check): New functions.
762         * config/arm/arm.md (bti_nop): New insn.
763         * config/arm/t-arm (PASSES_EXTRA): Add 'arm-passes.def'.
764         (aarch-bti-insert.o): New target.
765         * config/arm/unspecs.md (VUNSPEC_BTI_NOP): New unspec.
766         * config/arm/aarch-bti-insert.cc (rest_of_insert_bti): Verify arch
767         compatibility.
768         (gate): Make use of 'aarch_bti_arch_check'.
769         * config/arm/arm-passes.def: New file.
770         * config/aarch64/aarch64.cc (aarch_bti_arch_check): New function.
772 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
774         * config.gcc (aarch64*-*-*): Rename 'aarch64-bti-insert.o' into
775         'aarch-bti-insert.o'.
776         * config/aarch64/aarch64-protos.h: Remove 'aarch64_bti_enabled'
777         proto.
778         * config/aarch64/aarch64.cc (aarch_bti_enabled): Rename.
779         (aarch_bti_j_insn_p, aarch_pac_insn_p): New functions.
780         (aarch64_output_mi_thunk)
781         (aarch64_print_patchable_function_entry)
782         (aarch64_file_end_indicate_exec_stack): Update renamed function
783         calls to renamed functions.
784         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Likewise.
785         * config/aarch64/t-aarch64 (aarch-bti-insert.o): Update
786         target.
787         * config/aarch64/aarch64-bti-insert.cc: Delete.
788         * config/arm/aarch-bti-insert.cc: New file including and
789         generalizing code from aarch64-bti-insert.cc.
790         * config/arm/aarch-common-protos.h: Update.
792 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
794         * config/arm/arm.h (arm_arch8m_main): Declare it.
795         * config/arm/arm-protos.h (arm_current_function_pac_enabled_p):
796         Declare it.
797         * config/arm/arm.cc (arm_arch8m_main): Define it.
798         (arm_option_reconfigure_globals): Set arm_arch8m_main.
799         (arm_compute_frame_layout, arm_expand_prologue)
800         (thumb2_expand_return, arm_expand_epilogue)
801         (arm_conditional_register_usage): Update for pac codegen.
802         (arm_current_function_pac_enabled_p): New function.
803         (aarch_bti_enabled) New function.
804         (use_return_insn): Return zero when pac is enabled.
805         * config/arm/arm.md (pac_ip_lr_sp, pacbti_ip_lr_sp, aut_ip_lr_sp):
806         Add new patterns.
807         * config/arm/unspecs.md (UNSPEC_PAC_NOP)
808         (VUNSPEC_PACBTI_NOP, VUNSPEC_AUT_NOP): Add unspecs.
810 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
812         * config/arm/t-rmprofile: Add multilib rules for march +pacbti and
813         mbranch-protection.
815 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
816             Tejas Belagod   <tbelagod@arm.com>
818         * config/arm/arm.cc (arm_file_start): Emit EABI attributes for
819         Tag_PAC_extension, Tag_BTI_extension, TAG_BTI_use, TAG_PACRET_use.
821 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
822             Tejas Belagod   <tbelagod@arm.com>
823             Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
825         * ginclude/unwind-arm-common.h (_Unwind_VRS_RegClass): Introduce
826         new pseudo register class _UVRSC_PAC.
828 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
829             Tejas Belagod   <tbelagod@arm.com>
831         * config/arm/arm-c.cc (arm_cpu_builtins): Define
832         __ARM_FEATURE_BTI_DEFAULT, __ARM_FEATURE_PAC_DEFAULT,
833         __ARM_FEATURE_PAUTH and __ARM_FEATURE_BTI.
835 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
836             Tejas Belagod   <tbelagod@arm.com>
838         * doc/sourcebuild.texi: Document arm_pacbti_hw.
840 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
841             Tejas Belagod   <tbelagod@arm.com>
842             Richard Earnshaw  <Richard.Earnshaw@arm.com>
844         * config/arm/arm.cc (arm_configure_build_target): Parse and validate
845         -mbranch-protection option and initialize appropriate data structures.
846         * config/arm/arm.opt (-mbranch-protection): New option.
847         * doc/invoke.texi (Arm Options): Document it.
849 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
850             Tejas Belagod   <tbelagod@arm.com>
852         * config/arm/arm.h (TARGET_HAVE_PACBTI): New macro.
853         * config/arm/arm-cpus.in (pacbti): New feature.
854         * doc/invoke.texi (Arm Options): Document it.
856 2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
857             Tejas Belagod   <tbelagod@arm.com>
859         * common/config/aarch64/aarch64-common.cc: Include aarch-common.h.
860         (all_architectures): Fix comment.
861         (aarch64_parse_extension): Rename return type, enum value names.
862         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Rename
863         factored out aarch_ra_sign_scope and aarch_ra_sign_key variables.
864         Also rename corresponding enum values.
865         * config/aarch64/aarch64-opts.h (aarch64_function_type): Factor
866         out aarch64_function_type and move it to common code as
867         aarch_function_type in aarch-common.h.
868         * config/aarch64/aarch64-protos.h: Include common types header,
869         move out types aarch64_parse_opt_result and aarch64_key_type to
870         aarch-common.h
871         * config/aarch64/aarch64.cc: Move mbranch-protection parsing types
872         and functions out into aarch-common.h and aarch-common.cc.  Fix up
873         all the name changes resulting from the move.
874         * config/aarch64/aarch64.md: Fix up aarch64_ra_sign_key type name change
875         and enum value.
876         * config/aarch64/aarch64.opt: Include aarch-common.h to import
877         type move.  Fix up name changes from factoring out common code and
878         data.
879         * config/arm/aarch-common-protos.h: Export factored out routines to both
880         backends.
881         * config/arm/aarch-common.cc: Include newly factored out types.
882         Move all mbranch-protection code and data structures from
883         aarch64.cc.
884         * config/arm/aarch-common.h: New header that declares types shared
885         between aarch32 and aarch64 backends.
886         * config/arm/arm-protos.h: Declare types and variables that are
887         made common to aarch64 and aarch32 backends - aarch_ra_sign_key,
888         aarch_ra_sign_scope and aarch_enable_bti.
889         * config/arm/arm.opt (config/arm/aarch-common.h): Include header.
890         (aarch_ra_sign_scope, aarch_enable_bti): Declare variable.
891         * config/arm/arm.cc: Add missing includes.
893 2023-01-23  Tobias Burnus  <tobias@codesourcery.com>
895         * doc/install.texi (amdgcn, nvptx): Require newlib 4.3.0.
897 2023-01-23  Richard Biener  <rguenther@suse.de>
899         PR tree-optimization/108449
900         * cgraphunit.cc (check_global_declaration): Do not turn
901         undefined statics into externs.
903 2023-01-22  Dimitar Dimitrov  <dimitar@dinux.eu>
905         * config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix value for QI
906         and HI input modes.
907         * config/pru/pru.md (clz): Fix generated code for QI and HI
908         input modes.
910 2023-01-22  Cupertino Miranda  <cupertino.miranda@oracle.com>
912         * config/v850/v850.cc (v850_select_section): Put const volatile
913         objects into read-only sections.
915 2023-01-20  Tejas Belagod  <tejas.belagod@arm.com>
917         * config/aarch64/arm_neon.h (vmull_p64, vmull_high_p64, vaeseq_u8,
918         vaesdq_u8, vaesmcq_u8, vaesimcq_u8): Gate under "nothing+aes".
919         (vsha1*_u32, vsha256*_u32): Gate under "nothing+sha2".
921 2023-01-20  Jakub Jelinek  <jakub@redhat.com>
923         PR tree-optimization/108457
924         * tree-ssa-loop-niter.cc (build_cltz_expr): Use
925         SCALAR_INT_TYPE_MODE (utype) directly as C[LT]Z_DEFINED_VALUE_AT_ZERO
926         argument instead of a temporary.  Formatting fixes.
928 2023-01-19  Jakub Jelinek  <jakub@redhat.com>
930         PR tree-optimization/108447
931         * value-relation.cc (rr_union_table): Fix VREL_UNDEFINED row order.
932         (relation_tests): Add self-tests for relation_{intersect,union}
933         commutativity.
934         * selftest.h (relation_tests): Declare.
935         * function-tests.cc (test_ranges): Call it.
937 2023-01-19  H.J. Lu  <hjl.tools@gmail.com>
939         PR target/108436
940         * config/i386/i386-expand.cc (ix86_expand_builtin): Check
941         invalid third argument to __builtin_ia32_prefetch.
943 2023-01-19  Jakub Jelinek  <jakub@redhat.com>
945         PR middle-end/108459
946         * omp-expand.cc (expand_omp_for_init_counts): Use fold_build1 rather
947         than fold_unary for NEGATE_EXPR.
949 2023-01-19  Christophe Lyon  <christophe.lyon@arm.com>
951         PR target/108411
952         * config/aarch64/aarch64.cc (aarch64_layout_arg): Improve
953         comment. Move assert about alignment a bit later.
955 2023-01-19  Jakub Jelinek  <jakub@redhat.com>
957         PR tree-optimization/108440
958         * tree-ssa-forwprop.cc: Include gimple-range.h.
959         (simplify_rotate): For the forms with T2 wider than T and shift counts of
960         Y and B - Y add & (B - 1) masking for the rotate count if Y could be equal
961         to B.  For the forms with T2 wider than T and shift counts of
962         Y and (-Y) & (B - 1), don't punt if range could be [B, B2], but only if
963         range doesn't guarantee Y < B or Y = N * B.  If range doesn't guarantee
964         Y < B, also add & (B - 1) masking for the rotate count.  Use lazily created
965         pass specific ranger instead of get_global_range_query.
966         (pass_forwprop::execute): Disable that ranger at the end of pass if it has
967         been created.
969 2023-01-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
971         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
972         exact_log2 (INTVAL (operands[2])) >= 0 as condition for gating
973         the pattern.
974         (aarch64_simd_vec_copy_lane<mode>): Likewise.
975         (aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Likewise.
977 2023-01-19  Alexandre Oliva  <oliva@adacore.com>
979         PR debug/106746
980         * sched-deps.cc (sched_analyze_2): Skip cselib address lookup
981         within debug insns.
983 2023-01-18  Martin Jambor  <mjambor@suse.cz>
985         PR ipa/107944
986         * cgraph.cc (cgraph_node::remove): Check whether nodes up the
987         lcone_of chain also do not need the body.
989 2023-01-18  Richard Biener  <rguenther@suse.de>
991         Revert:
992         2022-12-16  Richard Biener  <rguenther@suse.de>
994         PR middle-end/108086
995         * tree-inline.cc (remap_ssa_name): Do not unshare the
996         result from the decl_map.
998 2023-01-18  Murray Steele  <murray.steele@arm.com>
1000         PR target/108442
1001         * config/arm/arm_mve.h (__arm_vst1q_p_u8): Use prefixed intrinsic
1002         function.
1003         (__arm_vst1q_p_s8): Likewise.
1004         (__arm_vld1q_z_u8): Likewise.
1005         (__arm_vld1q_z_s8): Likewise.
1006         (__arm_vst1q_p_u16): Likewise.
1007         (__arm_vst1q_p_s16): Likewise.
1008         (__arm_vld1q_z_u16): Likewise.
1009         (__arm_vld1q_z_s16): Likewise.
1010         (__arm_vst1q_p_u32): Likewise.
1011         (__arm_vst1q_p_s32): Likewise.
1012         (__arm_vld1q_z_u32): Likewise.
1013         (__arm_vld1q_z_s32): Likewise.
1014         (__arm_vld1q_z_f16): Likewise.
1015         (__arm_vst1q_p_f16): Likewise.
1016         (__arm_vld1q_z_f32): Likewise.
1017         (__arm_vst1q_p_f32): Likewise.
1019 2023-01-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1021         * config/xtensa/xtensa.md (xorsi3_internal):
1022         Rename from the original of "xorsi3".
1023         (xorsi3): New expansion pattern that emits addition rather than
1024         bitwise-XOR when the second source is a constant of -2147483648
1025         if TARGET_DENSITY.
1027 2023-01-18  Kewen Lin  <linkw@linux.ibm.com>
1028             Andrew Pinski  <apinski@marvell.com>
1030         PR target/108396
1031         * config/rs6000/rs6000-overload.def (VEC_VSUBCUQ): Fix typo
1032         vec_vsubcuqP with vec_vsubcuq.
1034 2023-01-18  Kewen Lin  <linkw@linux.ibm.com>
1036         PR target/108348
1037         * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
1038         support for invalid uses of MMA opaque type in function arguments.
1040 2023-01-18  liuhongt  <hongtao.liu@intel.com>
1042         PR target/55522
1043         * config/i386/cygwin.h (ENDFILE_SPEC): Link crtfastmath.o
1044         whenever -mdaz-ftz is specified. Don't link crtfastmath.o when
1045         -share or -mno-daz-ftz is specified.
1046         * config/i386/darwin.h (ENDFILE_SPEC): Ditto.
1047         * config/i386/mingw32.h (ENDFILE_SPEC): Ditto.
1049 2023-01-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
1051         * config/bpf/bpf.cc (bpf_option_override): Disable
1052         -fstack-protector.
1054 2023-01-17  Jakub Jelinek  <jakub@redhat.com>
1056         PR tree-optimization/106523
1057         * tree-ssa-forwprop.cc (simplify_rotate): For the
1058         patterns with (-Y) & (B - 1) in one operand's shift
1059         count and Y in another, if T2 has wider precision than T,
1060         punt if Y could have a value in [B, B2 - 1] range.
1062 2023-01-16  H.J. Lu  <hjl.tools@gmail.com>
1064         PR target/105980
1065         * config/i386/i386.cc (x86_output_mi_thunk): Disable
1066         -mforce-indirect-call for PIC in 32-bit mode.
1068 2023-01-16  Jan Hubicka  <hubicka@ucw.cz>
1070         PR ipa/106077
1071         * ipa-modref.cc (modref_access_analysis::analyze): Use
1072         find_always_executed_bbs.
1073         * ipa-sra.cc (process_scan_results): Likewise.
1074         * ipa-utils.cc (stmt_may_terminate_function_p): New function.
1075         (find_always_executed_bbs): New function.
1076         * ipa-utils.h (stmt_may_terminate_function_p): Declare.
1077         (find_always_executed_bbs): Declare.
1079 2023-01-16  Jan Hubicka  <jh@suse.cz>
1081         * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Guard scatter
1082         by TARGET_USE_SCATTER.
1083         * config/i386/i386.h (TARGET_USE_SCATTER_2PARTS,
1084         TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New macros.
1085         * config/i386/x86-tune.def (TARGET_USE_SCATTER_2PARTS,
1086         TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New tunes.
1087         (X86_TUNE_AVOID_256FMA_CHAINS, X86_TUNE_AVOID_512FMA_CHAINS): Disable
1088         for znver4.  (X86_TUNE_USE_GATHER): Disable for zen4.
1090 2023-01-16  Richard Biener  <rguenther@suse.de>
1092         PR target/55522
1093         * config/sol2.h (ENDFILE_SPEC): Don't add crtfastmath.o for -shared.
1095 2023-01-16  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
1097         PR target/96795
1098         PR target/107515
1099         * config/arm/arm_mve.h (__ARM_mve_coerce2): Split types.
1100         (__ARM_mve_coerce3): Likewise.
1102 2023-01-16  Andrew Carlotti  <andrew.carlotti@arm.com>
1104         * tree-ssa-loop-niter.cc (build_popcount_expr): Add IFN support.
1106 2023-01-16  Andrew Carlotti  <andrew.carlotti@arm.com>
1108         * tree-ssa-loop-niter.cc (number_of_iterations_cltz): New.
1109         (number_of_iterations_bitcount): Add call to the above.
1110         (number_of_iterations_exit_assumptions): Add EQ_EXPR case for
1111         c[lt]z idiom recognition.
1113 2023-01-16  Andrew Carlotti  <andrew.carlotti@arm.com>
1115         * doc/sourcebuild.texi: Add missing target attributes.
1117 2023-01-16  Andrew Carlotti  <andrew.carlotti@arm.com>
1119         PR tree-optimization/94793
1120         * tree-scalar-evolution.cc (expression_expensive_p): Add checks
1121         for c[lt]z optabs.
1122         * tree-ssa-loop-niter.cc (build_cltz_expr): New.
1123         (number_of_iterations_cltz_complement): New.
1124         (number_of_iterations_bitcount): Add call to the above.
1126 2023-01-16  Jonathan Wakely  <jwakely@redhat.com>
1128         * doc/extend.texi (Common Function Attributes): Fix grammar.
1130 2023-01-16  Jakub Jelinek  <jakub@redhat.com>
1132         PR other/108413
1133         * config/riscv/riscv-vsetvl.h: Add space in between Copyright and (C).
1134         * config/riscv/riscv-vsetvl.cc: Likewise.
1136 2023-01-16  Jakub Jelinek  <jakub@redhat.com>
1138         PR c++/105593
1139         * config/i386/xmmintrin.h (_mm_undefined_ps): Temporarily
1140         disable -Winit-self using pragma GCC diagnostic ignored.
1141         * config/i386/emmintrin.h (_mm_undefined_pd, _mm_undefined_si128):
1142         Likewise.
1143         * config/i386/avxintrin.h (_mm256_undefined_pd, _mm256_undefined_ps,
1144         _mm256_undefined_si256): Likewise.
1145         * config/i386/avx512fintrin.h (_mm512_undefined_pd,
1146         _mm512_undefined_ps, _mm512_undefined_epi32): Likewise.
1147         * config/i386/avx512fp16intrin.h (_mm_undefined_ph,
1148         _mm256_undefined_ph, _mm512_undefined_ph): Likewise.
1150 2023-01-16  Kewen Lin  <linkw@linux.ibm.com>
1152         PR target/108272
1153         * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
1154         support for invalid uses in inline asm, factor out the checking and
1155         erroring to lambda function check_and_error_invalid_use.
1157 2023-01-15  Aldy Hernandez  <aldyh@redhat.com>
1159         PR tree-optimization/107608
1160         * range-op-float.cc (range_operator_float::fold_range): Avoid
1161         folding into INF when flag_trapping_math.
1162         * value-range.h (frange::known_isinf): Return false for possible NANs.
1164 2023-01-15  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
1166         * config.gcc (csky-*-*): Support --with-float=softfp.
1168 2023-01-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1170         * config/xtensa/xtensa-protos.h (order_regs_for_local_alloc):
1171         Rename to xtensa_adjust_reg_alloc_order.
1172         * config/xtensa/xtensa.cc (xtensa_adjust_reg_alloc_order):
1173         Ditto.  And also remove code to reorder register numbers for
1174         leaf functions, rename the tables, and adjust the allocation
1175         order for the call0 ABI to use register A0 more.
1176         (xtensa_leaf_regs): Remove.
1177         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Cosmetics.
1178         (order_regs_for_local_alloc): Rename as the above.
1179         (LEAF_REGISTERS, LEAF_REG_REMAP, leaf_function): Remove.
1181 2023-01-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
1183         * config/aarch64/aarch64-sve.md (aarch64_vec_duplicate_vq<mode>_le):
1184         Change to define_insn_and_split to fold ldr+dup to ld1rq.
1185         * config/aarch64/predicates.md (aarch64_sve_dup_ld1rq_operand): New.
1187 2023-01-14  Alexandre Oliva  <oliva@adacore.com>
1189         * hash-table.h (is_deleted): Precheck !is_empty.
1190         (mark_deleted): Postcheck !is_empty.
1191         (copy constructor): Test is_empty before is_deleted.
1193 2023-01-14  Alexandre Oliva  <oliva@adacore.com>
1195         PR target/40457
1196         * config/arm/arm.md (movmisaligndi): Prefer aligned SImode
1197         moves.
1199 2023-01-13  Eric Botcazou  <ebotcazou@adacore.com>
1201         PR rtl-optimization/108274
1202         * function.cc (thread_prologue_and_epilogue_insns): Also update the
1203         DF information for calls in a few more cases.
1205 2023-01-13  John David Anglin  <danglin@gcc.gnu.org>
1207         * config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): Delete define.
1208         * config/pa/pa.cc (pa_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE
1209         define.
1210         * config/pa/pa.h (TARGET_SYNC_LIBCALLS): Use flag_sync_libcalls.
1211         (MAX_SYNC_LIBFUNC_SIZE): Define.
1212         (TARGET_CPU_CPP_BUILTINS): Define __SOFTFP__ when soft float is
1213         enabled.
1214         * config/pa/pa.md (atomic_storeqi): Emit __atomic_exchange_1
1215         libcall when sync libcalls are disabled.
1216         (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
1217         (atomic_loaddi): Emit __atomic_load_8 libcall when sync libcalls
1218         are disabled on 32-bit target.
1219         * config/pa/pa.opt (matomic-libcalls): New option.
1220         * doc/invoke.texi (HPPA Options): Update.
1222 2023-01-13  Alexander Monakov  <amonakov@ispras.ru>
1224         PR rtl-optimization/108117
1225         PR rtl-optimization/108132
1226         * sched-deps.cc (deps_analyze_insn): Do not schedule across
1227         calls before reload.
1229 2023-01-13  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
1231         * common/config/arm/arm-common.cc (arm_canon_arch_option_1): Ignore cde
1232         options for -mlibarch.
1233         * config/arm/arm-cpus.in (begin cpu cortex-m55): Add cde options.
1234         * doc/invoke.texi (CDE): Document options for Cortex-M55 CPU.
1236 2023-01-13  Qing Zhao  <qing.zhao@oracle.com>
1238         * attribs.cc (strict_flex_array_level_of): Move this function to ...
1239         * attribs.h (strict_flex_array_level_of): Remove the declaration.
1240         * gimple-array-bounds.cc (array_bounds_checker::check_array_ref):
1241         replace the referece to strict_flex_array_level_of with
1242         DECL_NOT_FLEXARRAY.
1243         * tree.cc (component_ref_size): Likewise.
1245 2023-01-13  Richard Biener  <rguenther@suse.de>
1247         PR target/55522
1248         * config/arm/linux-eabi.h (ENDFILE_SPEC): Don't add
1249         crtfastmath.o for -shared.
1250         * config/arm/unknown-elf.h (STARTFILE_SPEC): Likewise.
1252 2023-01-13  Richard Biener  <rguenther@suse.de>
1254         PR target/55522
1255         * config/aarch64/aarch64-elf-raw.h (ENDFILE_SPEC): Don't add
1256         crtfastmath.o for -shared.
1257         * config/aarch64/aarch64-freebsd.h (GNU_USER_TARGET_MATHFILE_SPEC):
1258         Likewise.
1259         * config/aarch64/aarch64-linux.h (GNU_USER_TARGET_MATHFILE_SPEC):
1260         Likewise.
1262 2023-01-13  Richard Sandiford  <richard.sandiford@arm.com>
1264         * config/aarch64/aarch64.cc (aarch64_dwarf_frame_reg_mode): New
1265         function.
1266         (TARGET_DWARF_FRAME_REG_MODE): Define.
1268 2023-01-13  Richard Biener  <rguenther@suse.de>
1270         PR target/107209
1271         * config/aarch64/aarch64.cc (aarch64_gimple_fold_builtin): Don't
1272         update EH info on the fly.
1274 2023-01-13  Richard Biener  <rguenther@suse.de>
1276         PR tree-optimization/108387
1277         * tree-ssa-sccvn.cc (visit_nary_op): Check for SSA_NAME
1278         value before inserting expression into the tables.
1280 2023-01-12  Andrew Pinski  <apinski@marvell.com>
1281             Roger Sayle  <roger@nextmovesoftware.com>
1283         PR tree-optimization/92342
1284         * match.pd ((m1 CMP m2) * d -> (m1 CMP m2) ? d : 0):
1285         Use tcc_comparison and :c for the multiply.
1286         (b & -(a CMP c) -> (a CMP c)?b:0): New pattern.
1288 2023-01-12  Christophe Lyon  <christophe.lyon@arm.com>
1289             Richard Sandiford  <richard.sandiford@arm.com>
1291         PR target/105549
1292         * config/aarch64/aarch64.cc (aarch64_function_arg_alignment):
1293         Check DECL_PACKED for bitfield.
1294         (aarch64_layout_arg): Warn when parameter passing ABI changes.
1295         (aarch64_function_arg_boundary): Do not warn here.
1296         (aarch64_gimplify_va_arg_expr): Warn when parameter passing ABI
1297         changes.
1299 2023-01-12  Christophe Lyon  <christophe.lyon@arm.com>
1300             Richard Sandiford  <richard.sandiford@arm.com>
1302         * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Fix
1303         comment.
1304         (aarch64_layout_arg): Factorize warning conditions.
1305         (aarch64_function_arg_boundary): Fix typo.
1306         * function.cc (currently_expanding_function_start): New variable.
1307         (expand_function_start): Handle
1308         currently_expanding_function_start.
1309         * function.h (currently_expanding_function_start): Declare.
1311 2023-01-12  Richard Biener  <rguenther@suse.de>
1313         PR tree-optimization/99412
1314         * tree-ssa-reassoc.cc (is_phi_for_stmt): Remove.
1315         (swap_ops_for_binary_stmt): Remove reduction handling.
1316         (rewrite_expr_tree_parallel): Adjust.
1317         (reassociate_bb): Likewise.
1318         * tree-parloops.cc (build_new_reduction): Handle MINUS_EXPR.
1320 2023-01-12  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1322         * config/xtensa/xtensa.md (ctzsi2, ffssi2):
1323         Rearrange the emitting codes.
1325 2023-01-12  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1327         * config/xtensa/xtensa.md (*btrue):
1328         Correct value of the attribute "length" that depends on
1329         TARGET_DENSITY and operands, and add '?' character to the register
1330         constraint of the compared operand.
1332 2023-01-12  Alexandre Oliva  <oliva@adacore.com>
1334         * hash-table.h (expand): Check elements and deleted counts.
1335         (verify): Likewise.
1337 2023-01-11  Roger Sayle  <roger@nextmovesoftware.com>
1339         PR tree-optimization/71343
1340         * tree-ssa-sccvn.cc (visit_nary_op) <case LSHIFT_EXPR>: Make
1341         the value number of the expression X << C the same as the value
1342         number for the multiplication X * (1<<C).
1344 2023-01-11  David Faust  <david.faust@oracle.com>
1346         PR target/108293
1347         * config/bpf/bpf.cc (bpf_print_operand): Correct handling for
1348         floating point modes.
1350 2023-01-11  Eric Botcazou  <ebotcazou@adacore.com>
1352         PR tree-optimization/108199
1353         * tree-sra.cc (sra_modify_expr): Deal with reverse storage order
1354         for bit-field references.
1356 2023-01-11  Kewen Lin  <linkw@linux.ibm.com>
1358         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make
1359         OPTION_MASK_P10_FUSION implicit setting honour Power10 tuning setting.
1360         * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER): Remove
1361         OPTION_MASK_P10_FUSION.
1363 2023-01-11  Richard Biener  <rguenther@suse.de>
1365         PR tree-optimization/107767
1366         * tree-cfgcleanup.cc (phi_alternatives_equal): Export.
1367         * tree-cfgcleanup.h (phi_alternatives_equal): Declare.
1368         * tree-switch-conversion.cc (switch_conversion::collect):
1369         Count unique non-default targets accounting for later
1370         merging opportunities.
1372 2023-01-11  Martin Liska  <mliska@suse.cz>
1374         PR middle-end/107976
1375         * params.opt: Limit JT params.
1376         * stmt.cc (emit_case_dispatch_table): Use auto_vec.
1378 2023-01-11  Richard Biener  <rguenther@suse.de>
1380         PR tree-optimization/108352
1381         * tree-ssa-threadbackward.cc
1382         (back_threader_profitability::profitable_path_p): Adjust
1383         heuristic that allows non-multi-way branch threads creating
1384         irreducible loops.
1385         * doc/invoke.texi (--param fsm-scale-path-blocks): Remove.
1386         (--param fsm-scale-path-stmts): Adjust.
1387         * params.opt (--param=fsm-scale-path-blocks=): Remove.
1388         (-param=fsm-scale-path-stmts=): Adjust description.
1390 2023-01-11  Richard Biener  <rguenther@suse.de>
1392         PR tree-optimization/108353
1393         * tree-ssa-propagate.cc (cfg_blocks_back, ssa_edge_worklist_back):
1394         Remove.
1395         (add_ssa_edge): Simplify.
1396         (add_control_edge): Likewise.
1397         (ssa_prop_init): Likewise.
1398         (ssa_prop_fini): Likewise.
1399         (ssa_propagation_engine::ssa_propagate): Likewise.
1401 2023-01-11  Andreas Krebbel  <krebbel@linux.ibm.com>
1403         * config/s390/s390.md (*not<mode>): New pattern.
1405 2023-01-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1407         * config/xtensa/xtensa.cc (xtensa_insn_cost):
1408         Let insn cost for size be obtained by applying COSTS_N_INSNS()
1409         to instruction length and then dividing by 3.
1411 2023-01-10  Richard Biener  <rguenther@suse.de>
1413         PR tree-optimization/106293
1414         * tree-ssa-dse.cc (dse_classify_store): Use a worklist to
1415         process degenerate PHI defs.
1417 2023-01-10  Roger Sayle  <roger@nextmovesoftware.com>
1419         PR rtl-optimization/106421
1420         * cprop.cc (bypass_block): Check that DEST is local to this
1421         function (non-NULL) before calling find_edge.
1423 2023-01-10  Martin Jambor  <mjambor@suse.cz>
1425         PR ipa/108110
1426         * ipa-param-manipulation.h (ipa_param_body_adjustments): New members
1427         sort_replacements, lookup_first_base_replacement and
1428         m_sorted_replacements_p.
1429         * ipa-param-manipulation.cc: Define INCLUDE_ALGORITHM.
1430         (ipa_param_body_adjustments::register_replacement): Set
1431         m_sorted_replacements_p to false.
1432         (compare_param_body_replacement): New function.
1433         (ipa_param_body_adjustments::sort_replacements): Likewise.
1434         (ipa_param_body_adjustments::common_initialization): Call
1435         sort_replacements.
1436         (ipa_param_body_adjustments::ipa_param_body_adjustments): Initialize
1437         m_sorted_replacements_p.
1438         (ipa_param_body_adjustments::lookup_replacement_1): Rework to use
1439         std::lower_bound.
1440         (ipa_param_body_adjustments::lookup_first_base_replacement): New
1441         function.
1442         (ipa_param_body_adjustments::modify_call_stmt): Use
1443         lookup_first_base_replacement.
1444         * omp-simd-clone.cc (ipa_simd_modify_function_body): Call
1445         adjustments->sort_replacements.
1447 2023-01-10  Richard Biener  <rguenther@suse.de>
1449         PR tree-optimization/108314
1450         * tree-vect-stmts.cc (vectorizable_condition): Do not
1451         perform BIT_NOT_EXPR optimization for EXTRACT_LAST_REDUCTION.
1453 2023-01-10  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
1455         * config/csky/csky-linux-elf.h (SYSROOT_SUFFIX_SPEC): New.
1457 2023-01-10  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
1459         * config/csky/csky.h (MULTILIB_DEFAULTS): Fix float abi option.
1461 2023-01-10  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
1463         * config/csky/csky.cc (csky_cpu_cpp_builtins): Add builtin
1464         defines for soft float abi.
1466 2023-01-10  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
1468         * config/csky/csky.md (smart_bseti): Change condition to CSKY_ISA_FEATURE (E1).
1469         (smart_bclri): Likewise.
1470         (fast_bseti): Change condition to CSKY_ISA_FEATURE (E2).
1471         (fast_bclri): Likewise.
1472         (fast_cmpnesi_i): Likewise.
1473         (*fast_cmpltsi_i): Likewise.
1474         (*fast_cmpgeusi_i): Likewise.
1476 2023-01-10  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
1478         * config/csky/csky_insn_fpuv3.md (l<frm_pattern><fixsuop><mode>si2): Test
1479         flag_fp_int_builtin_inexact || !flag_trapping_math.
1480         (<frm_pattern><mode>2): Likewise.
1482 2023-01-10  Andreas Krebbel  <krebbel@linux.ibm.com>
1484         * config/s390/s390.cc (s390_register_info): Check call_used_regs
1485         instead of hard-coding the register numbers for call saved
1486         registers.
1487         (s390_optimize_register_info): Likewise.
1489 2023-01-09  Eric Botcazou  <ebotcazou@adacore.com>
1491         * doc/gm2.texi (Overview): Fix @node markers.
1492         (Using): Likewise.  Remove subsections that were moved to Overview
1493         from the menu and move others around.
1495 2023-01-09  Richard Biener  <rguenther@suse.de>
1497         PR middle-end/108209
1498         * genmatch.cc (commutative_op): Fix return value for
1499         user-id with non-commutative first replacement.
1501 2023-01-09  Jakub Jelinek  <jakub@redhat.com>
1503         PR target/107453
1504         * calls.cc (expand_call): For calls with
1505         TYPE_NO_NAMED_ARGS_STDARG_P (funtype) use zero for n_named_args.
1506         Formatting fix.
1508 2023-01-09  Richard Biener  <rguenther@suse.de>
1510         PR middle-end/69482
1511         * cfgexpand.cc (discover_nonconstant_array_refs_r): Volatile
1512         qualified accesses also force objects to memory.
1514 2023-01-09  Martin Liska  <mliska@suse.cz>
1516         PR lto/108330
1517         * lto-cgraph.cc (compute_ltrans_boundary): Do not insert
1518         NULL (deleleted value) to a hash_set.
1520 2023-01-08  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1522         * config/xtensa/xtensa.md (*splice_bits):
1523         New insn_and_split pattern.
1525 2023-01-07  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1527         * config/xtensa/xtensa.cc
1528         (xtensa_split_imm_two_addends, xtensa_emit_add_imm):
1529         New helper functions.
1530         (xtensa_set_return_address, xtensa_output_mi_thunk):
1531         Change to use the helper function.
1532         (xtensa_emit_adjust_stack_ptr): Ditto.
1533         And also change to try reusing the content of scratch register
1534         A9 if the register is not modified in the function body.
1536 2023-01-07  LIU Hao  <lh_mouse@126.com>
1538         PR middle-end/108300
1539         * config/xtensa/xtensa-dynconfig.c: Define `WIN32_LEAN_AND_MEAN`
1540         before <windows.h>.
1541         * diagnostic-color.cc: Likewise.
1542         * plugin.cc: Likewise.
1543         * prefix.cc: Likewise.
1545 2023-01-06  Joseph Myers  <joseph@codesourcery.com>
1547         * doc/extend.texi (__builtin_tgmath): Do not restate standard rule
1548         for handling real integer types.
1550 2023-01-06  Tamar Christina  <tamar.christina@arm.com>
1552         Revert:
1553         2022-12-12  Tamar Christina  <tamar.christina@arm.com>
1555         * config/aarch64/aarch64-simd.md (*aarch64_simd_movv2hf): New.
1556         (mov<mode>, movmisalign<mode>, aarch64_dup_lane<mode>,
1557         aarch64_store_lane0<mode>, aarch64_simd_vec_set<mode>,
1558         @aarch64_simd_vec_copy_lane<mode>, vec_set<mode>,
1559         reduc_<optab>_scal_<mode>, reduc_<fmaxmin>_scal_<mode>,
1560         aarch64_reduc_<optab>_internal<mode>, aarch64_get_lane<mode>,
1561         vec_init<mode><Vel>, vec_extract<mode><Vel>): Support V2HF.
1562         (aarch64_simd_dupv2hf): New.
1563         * config/aarch64/aarch64.cc (aarch64_classify_vector_mode):
1564         Add E_V2HFmode.
1565         * config/aarch64/iterators.md (VHSDF_P): New.
1566         (V2F, VMOVE, nunits, Vtype, Vmtype, Vetype, stype, VEL,
1567         Vel, q, vp): Add V2HF.
1568         * config/arm/types.md (neon_fp_reduc_add_h): New.
1570 2023-01-06  Martin Liska  <mliska@suse.cz>
1572         PR middle-end/107966
1573         * doc/options.texi: Fix Var documentation in internal manual.
1575 2023-01-05  Roger Sayle  <roger@nextmovesoftware.com>
1577         Revert:
1578         2023-01-03  Roger Sayle  <roger@nextmovesoftware.com>
1580         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Rewrite
1581         RTL expansion to allow condition (mask) to be shared/reused,
1582         by avoiding overwriting pseudos and adding REG_EQUAL notes.
1584 2023-01-05  Iain Sandoe  <iain@sandoe.co.uk>
1586         * common.opt: Add -static-libgm2.
1587         * config/darwin.h (LINK_SPEC): Handle static-libgm2.
1588         * doc/gm2.texi: Document static-libgm2.
1589         * gcc.cc (driver_handle_option): Allow static-libgm2.
1591 2023-01-05  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
1593         * common/config/i386/i386-common.cc (processor_alias_table):
1594         Use CPU_ZNVER4 for znver4.
1595         * config/i386/i386.md: Add znver4.md.
1596         * config/i386/znver4.md: New.
1598 2023-01-04  Jakub Jelinek  <jakub@redhat.com>
1600         PR tree-optimization/108253
1601         * tree-vrp.cc (maybe_set_nonzero_bits): Handle var with pointer
1602         types.
1604 2023-01-04  Jakub Jelinek  <jakub@redhat.com>
1606         PR middle-end/108237
1607         * generic-match-head.cc: Include tree-pass.h.
1608         (canonicalize_math_p, optimize_vectors_before_lowering_p): Define
1609         to false if cfun and cfun->curr_properties has PROP_gimple_opt_math
1610         resp. PROP_gimple_lvec property set.
1612 2023-01-04  Jakub Jelinek  <jakub@redhat.com>
1614         PR sanitizer/108256
1615         * convert.cc (do_narrow): Punt for MULT_EXPR if original
1616         type doesn't wrap around and -fsanitize=signed-integer-overflow
1617         is on.
1618         * fold-const.cc (fold_unary_loc) <CASE_CONVERT>: Likewise.
1620 2023-01-04  Hu, Lin1  <lin1.hu@intel.com>
1622         * common/config/i386/cpuinfo.h (get_intel_cpu): Handle Emeraldrapids.
1623         * common/config/i386/i386-common.cc: Add Emeraldrapids.
1625 2023-01-04  Hu, Lin1  <lin1.hu@intel.com>
1627         * common/config/i386/cpuinfo.h (get_intel_cpu): Remove case 0xb5
1628         for meteorlake.
1630 2023-01-03  Sandra Loosemore  <sandra@codesourcery.com>
1632         * cgraph.h (struct cgraph_node): Add gc_candidate bit, modify
1633         default constructor to initialize it.
1634         * cgraphunit.cc (expand_all_functions): Save gc_candidate functions
1635         for last and iterate to handle recursive calls.  Delete leftover
1636         candidates at the end.
1637         * omp-simd-clone.cc (simd_clone_create): Set gc_candidate bit
1638         on local clones.
1639         * tree-vect-stmts.cc (vectorizable_simd_clone_call): Clear
1640         gc_candidate bit when a clone is used.
1642 2023-01-03  Florian Weimer  <fweimer@redhat.com>
1644         Revert:
1645         2023-01-02  Florian Weimer  <fweimer@redhat.com>
1647         * dwarf2cfi.cc (init_return_column_size): Remove.
1648         (init_one_dwarf_reg_size): Adjust.
1649         (generate_dwarf_reg_sizes): New function.  Extracted
1650         from expand_builtin_init_dwarf_reg_sizes.
1651         (expand_builtin_init_dwarf_reg_sizes): Call
1652         generate_dwarf_reg_sizes.
1653         * target.def (init_dwarf_reg_sizes_extra): Adjust
1654         hook signature.
1655         * config/msp430/msp430.cc
1656         (msp430_init_dwarf_reg_sizes_extra): Adjust.
1657         * config/rs6000/rs6000.cc
1658         (rs6000_init_dwarf_reg_sizes_extra): Likewise.
1659         * doc/tm.texi: Update.
1661 2023-01-03  Florian Weimer  <fweimer@redhat.com>
1663         Revert:
1664         2023-01-02  Florian Weimer  <fweimer@redhat.com>
1666         * debug.h (dwarf_reg_sizes_constant): Declare.
1667         * dwarf2cfi.cc (dwarf_reg_sizes_constant): New function.
1669 2023-01-03  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1671         PR tree-optimization/105043
1672         * doc/extend.texi (Object Size Checking): Split out into two
1673         subsections and mention _FORTIFY_SOURCE.
1675 2023-01-03  Roger Sayle  <roger@nextmovesoftware.com>
1677         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Rewrite
1678         RTL expansion to allow condition (mask) to be shared/reused,
1679         by avoiding overwriting pseudos and adding REG_EQUAL notes.
1681 2023-01-03  Roger Sayle  <roger@nextmovesoftware.com>
1683         PR target/108229
1684         * config/i386/i386-features.cc
1685         (general_scalar_chain::compute_convert_gain) <case PLUS>: Consider
1686         the gain/cost of converting a MEM operand.
1688 2023-01-03  Jakub Jelinek  <jakub@redhat.com>
1690         PR middle-end/108264
1691         * expr.cc (store_expr): For stores into SUBREG_PROMOTED_* targets
1692         from source which doesn't have scalar integral mode first convert
1693         it to outer_mode.
1695 2023-01-03  Jakub Jelinek  <jakub@redhat.com>
1697         PR rtl-optimization/108263
1698         * cfgrtl.cc (fixup_reorder_chain): Avoid trying to redirect
1699         asm goto to EXIT.
1701 2023-01-02  Alexander Monakov  <amonakov@ispras.ru>
1703         PR target/87832
1704         * config/i386/lujiazui.md (lujiazui_div): New automaton.
1705         (lua_div): New unit.
1706         (lua_idiv_qi): Correct unit in the reservation.
1707         (lua_idiv_qi_load): Ditto.
1708         (lua_idiv_hi): Ditto.
1709         (lua_idiv_hi_load): Ditto.
1710         (lua_idiv_si): Ditto.
1711         (lua_idiv_si_load): Ditto.
1712         (lua_idiv_di): Ditto.
1713         (lua_idiv_di_load): Ditto.
1714         (lua_fdiv_SF): Ditto.
1715         (lua_fdiv_SF_load): Ditto.
1716         (lua_fdiv_DF): Ditto.
1717         (lua_fdiv_DF_load): Ditto.
1718         (lua_fdiv_XF): Ditto.
1719         (lua_fdiv_XF_load): Ditto.
1720         (lua_ssediv_SF): Ditto.
1721         (lua_ssediv_load_SF): Ditto.
1722         (lua_ssediv_V4SF): Ditto.
1723         (lua_ssediv_load_V4SF): Ditto.
1724         (lua_ssediv_V8SF): Ditto.
1725         (lua_ssediv_load_V8SF): Ditto.
1726         (lua_ssediv_SD): Ditto.
1727         (lua_ssediv_load_SD): Ditto.
1728         (lua_ssediv_V2DF): Ditto.
1729         (lua_ssediv_load_V2DF): Ditto.
1730         (lua_ssediv_V4DF): Ditto.
1731         (lua_ssediv_load_V4DF): Ditto.
1733 2023-01-02  Florian Weimer  <fweimer@redhat.com>
1735         * debug.h (dwarf_reg_sizes_constant): Declare.
1736         * dwarf2cfi.cc (dwarf_reg_sizes_constant): New function.
1738 2023-01-02  Florian Weimer  <fweimer@redhat.com>
1740         * dwarf2cfi.cc (init_return_column_size): Remove.
1741         (init_one_dwarf_reg_size): Adjust.
1742         (generate_dwarf_reg_sizes): New function.  Extracted
1743         from expand_builtin_init_dwarf_reg_sizes.
1744         (expand_builtin_init_dwarf_reg_sizes): Call
1745         generate_dwarf_reg_sizes.
1746         * target.def (init_dwarf_reg_sizes_extra): Adjust
1747         hook signature.
1748         * config/msp430/msp430.cc
1749         (msp430_init_dwarf_reg_sizes_extra): Adjust.
1750         * config/rs6000/rs6000.cc
1751         (rs6000_init_dwarf_reg_sizes_extra): Likewise.
1752         * doc/tm.texi: Update.
1754 2023-01-02  Jakub Jelinek  <jakub@redhat.com>
1756         * gcc.cc (process_command): Update copyright notice dates.
1757         * gcov-dump.cc (print_version): Ditto.
1758         * gcov.cc (print_version): Ditto.
1759         * gcov-tool.cc (print_version): Ditto.
1760         * gengtype.cc (create_file): Ditto.
1761         * doc/cpp.texi: Bump @copying's copyright year.
1762         * doc/cppinternals.texi: Ditto.
1763         * doc/gcc.texi: Ditto.
1764         * doc/gccint.texi: Ditto.
1765         * doc/gcov.texi: Ditto.
1766         * doc/install.texi: Ditto.
1767         * doc/invoke.texi: Ditto.
1769 2023-01-01  Roger Sayle  <roger@nextmovesoftware.com>
1770             Uroš Bizjak  <ubizjak@gmail.com>
1772         * config/i386/i386.md (extendditi2): New define_insn.
1773         (define_split): Use DWIH mode iterator to treat new extendditi2
1774         identically to existing extendsidi2_1.
1775         (define_peephole2): Likewise.
1776         (define_peephole2): Likewise.
1777         (define_Split): Likewise.
1780 Copyright (C) 2023 Free Software Foundation, Inc.
1782 Copying and distribution of this file, with or without modification,
1783 are permitted in any medium without royalty provided the copyright
1784 notice and this notice are preserved.