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.
12 * config/riscv/riscv-vector-builtins-bases.h: New function declare.
13 * config/riscv/riscv-vector-builtins-functions.def (vluxei8): Ditto.
29 * config/riscv/riscv-vector-builtins-shapes.cc
30 (struct indexed_loadstore_def): New class.
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
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
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
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
104 2023-01-30 Richard Biener <rguenther@suse.de>
107 * cgraph.cc (possibly_call_in_translation_unit_p): Relax
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
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
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):
157 * config/riscv/riscv-vector-builtins-bases.h: Ditto.
158 * config/riscv/riscv-vector-builtins-functions.def (vlse): 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>
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>
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>
202 * config/ia64/linux.h (ENDFILE_SPEC): Don't add crtfastmath.o
205 2023-01-27 Richard Biener <rguenther@suse.de>
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.
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.
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>
292 * doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len
295 2023-01-27 Jakub Jelinek <jakub@redhat.com>
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
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>
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
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
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
491 * config/riscv/riscv-vector-builtins.cc
492 (function_expander::add_mem_operand): Refine function.
493 (function_expander::use_contiguous_load_insn): Adjust new
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>
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):
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>
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>):
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
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
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
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
641 2023-01-24 Andre Vieira <andre.simoesdiasvieira@arm.com>
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
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>
668 * optc-save-gen.awk: Fix copy-and-paste error.
670 2023-01-24 Jakub Jelinek <jakub@redhat.com>
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>
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>
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>
700 * config/sparc/freebsd.h (ENDFILE_SPEC): Don't add crtfastmath.o
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
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
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
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'
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
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):
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):
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
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
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
876 * config/aarch64/aarch64.opt: Include aarch-common.h to import
877 type move. Fix up name changes from factoring out common code and
879 * config/arm/aarch-common-protos.h: Export factored out routines to both
881 * config/arm/aarch-common.cc: Include newly factored out types.
882 Move all mbranch-protection code and data structures from
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
907 * config/pru/pru.md (clz): Fix generated code for QI and HI
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}
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>
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>
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>
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
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
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>
980 * sched-deps.cc (sched_analyze_2): Skip cselib address lookup
983 2023-01-18 Martin Jambor <mjambor@suse.cz>
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>
992 2022-12-16 Richard Biener <rguenther@suse.de>
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>
1001 * config/arm/arm_mve.h (__arm_vst1q_p_u8): Use prefixed intrinsic
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
1027 2023-01-18 Kewen Lin <linkw@linux.ibm.com>
1028 Andrew Pinski <apinski@marvell.com>
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>
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>
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
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>
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>
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>
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>
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
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>
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>
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):
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>
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>
1196 * config/arm/arm.md (movmisaligndi): Prefer aligned SImode
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
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
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
1243 * tree.cc (component_ref_size): Likewise.
1245 2023-01-13 Richard Biener <rguenther@suse.de>
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>
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):
1259 * config/aarch64/aarch64-linux.h (GNU_USER_TARGET_MATHFILE_SPEC):
1262 2023-01-13 Richard Sandiford <richard.sandiford@arm.com>
1264 * config/aarch64/aarch64.cc (aarch64_dwarf_frame_reg_mode): New
1266 (TARGET_DWARF_FRAME_REG_MODE): Define.
1268 2023-01-13 Richard Biener <rguenther@suse.de>
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>
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
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
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.
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>
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
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):
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>
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
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
1440 (ipa_param_body_adjustments::lookup_first_base_replacement): New
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
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>
1504 * calls.cc (expand_call): For calls with
1505 TYPE_NO_NAMED_ARGS_STDARG_P (funtype) use zero for n_named_args.
1508 2023-01-09 Richard Biener <rguenther@suse.de>
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>
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`
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>
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):
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>
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
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>
1615 * convert.cc (do_narrow): Punt for MULT_EXPR if original
1616 type doesn't wrap around and -fsanitize=signed-integer-overflow
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
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
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>
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
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>
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>
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
1695 2023-01-03 Jakub Jelinek <jakub@redhat.com>
1697 PR rtl-optimization/108263
1698 * cfgrtl.cc (fixup_reorder_chain): Avoid trying to redirect
1701 2023-01-02 Alexander Monakov <amonakov@ispras.ru>
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
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.