12024-06-20 Release Manager 2 3 * GCC 12.4.0 released. 4 52024-06-12 Alex Coplan <alex.coplan@arm.com> 6 7 Backported from master: 8 2024-05-03 Alex Coplan <alex.coplan@arm.com> 9 10 PR rtl-optimization/114924 11 * cfgrtl.cc (duplicate_insn_chain): When updating MEM_EXPRs, 12 don't strip (e.g.) ARRAY_REFs from the final MEM_EXPR. 13 142024-06-12 Vladimir N. Makarov <vmakarov@redhat.com> 15 16 Backported from master: 17 2023-09-25 Vladimir N. Makarov <vmakarov@redhat.com> 18 19 PR middle-end/111497 20 * lra-constraints.cc (lra_constraints): Copy substituted 21 equivalence. 22 * lra.cc (lra): Change comment for calling unshare_all_rtl_again. 23 242024-06-12 Richard Biener <rguenther@suse.de> 25 26 Backported from master: 27 2022-12-05 Richard Biener <rguenther@suse.de> 28 29 PR middle-end/40635 30 * tree-into-ssa.cc (rewrite_update_phi_arguments): Only 31 update the argument when the reaching definition is different 32 from the current argument. Keep an existing argument 33 location. 34 352024-06-12 Richard Biener <rguenther@suse.de> 36 37 Backported from master: 38 2024-02-19 Richard Biener <rguenther@suse.de> 39 40 PR rtl-optimization/54052 41 * rtl-ssa/blocks.cc (function_info::place_phis): Filter 42 local defs by LR_OUT. 43 442024-06-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> 45 46 Backported from master: 47 2024-06-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> 48 Yvan ROUX <yvan.roux@foss.st.com> 49 50 PR target/115253 51 * config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear): 52 Sign extend for Thumb1. 53 (thumb1_expand_prologue): Add zero/sign extend. 54 552024-06-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 56 57 Backported from master: 58 2024-03-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 59 60 PR middle-end/111632 61 * system.h: Include safe-ctype.h after C++ standard headers. 62 632024-06-11 Andrew Pinski <quic_apinski@quicinc.com> 64 65 Backported from master: 66 2024-05-20 Andrew Pinski <quic_apinski@quicinc.com> 67 68 PR tree-optimization/115143 69 * tree-ssa-phiopt.cc (minmax_replacement): Check for empty 70 phi nodes for middle bbs for the case where middle bb is not empty. 71 722024-06-11 Jakub Jelinek <jakub@redhat.com> 73 74 Backported from master: 75 2024-06-04 Jakub Jelinek <jakub@redhat.com> 76 77 PR tree-optimization/115337 78 * fold-const.cc (tree_call_nonnegative_warnv_p) <CASE_CFN_CLZ>: 79 If fn is CFN_CLZ, use CLZ_DEFINED_VALUE_AT. 80 812024-06-11 Jakub Jelinek <jakub@redhat.com> 82 83 Backported from master: 84 2024-06-04 Jakub Jelinek <jakub@redhat.com> 85 86 PR middle-end/108789 87 * builtins.cc (fold_builtin_arith_overflow): For ovf_only, 88 don't call save_expr and don't build REALPART_EXPR, otherwise 89 set TREE_SIDE_EFFECTS on call before calling save_expr. 90 912024-06-11 Jakub Jelinek <jakub@redhat.com> 92 93 Backported from master: 94 2024-06-03 Jakub Jelinek <jakub@redhat.com> 95 96 PR target/115324 97 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Remove 98 GTY markup from struct bifdata and struct ovlddata and remove their 99 fntype members. Change next member in struct ovlddata and 100 first_instance member of struct ovldrecord to have int type rather 101 than struct ovlddata *. Remove GTY markup from rs6000_builtin_info 102 and rs6000_instance_info arrays, declare new 103 rs6000_builtin_info_fntype and rs6000_instance_info_fntype arrays, 104 which have GTY markup. 105 (write_bif_static_init): Adjust for the above changes. 106 (write_ovld_static_init): Likewise. 107 (write_init_bif_table): Likewise. 108 (write_init_ovld_table): Likewise. 109 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Likewise. 110 * config/rs6000/rs6000-c.cc (find_instance): Likewise. Make static. 111 (altivec_resolve_overloaded_builtin): Adjust for the above changes. 112 1132024-06-11 Jakub Jelinek <jakub@redhat.com> 114 115 Backported from master: 116 2024-05-15 Jakub Jelinek <jakub@redhat.com> 117 118 PR rtl-optimization/114902 119 PR rtl-optimization/115092 120 * combine.cc (simplify_compare_const): Don't optimize 121 GE op0 SIGNED_MIN or LT op0 SIGNED_MIN into NE op0 const0_rtx or 122 EQ op0 const0_rtx. 123 1242024-06-11 Jakub Jelinek <jakub@redhat.com> 125 126 Backported from master: 127 2024-05-07 Jakub Jelinek <jakub@redhat.com> 128 129 PR sanitizer/114956 130 * tree-inline.cc: Include asan.h. 131 (copy_bb): Remove also .ASAN_MARK calls if id->dst_fn has asan/hwasan 132 sanitization disabled. 133 1342024-06-11 Jakub Jelinek <jakub@redhat.com> 135 136 Backported from master: 137 2024-04-30 Jakub Jelinek <jakub@redhat.com> 138 139 PR tree-optimization/114876 140 * gimple-ssa-sprintf.cc (format_character): For min == 0 && max == 0, 141 set max, likely and unlikely members to 1 rather than 0. Remove 142 useless res.knownrange = true;. Formatting fixes. 143 1442024-06-11 Jakub Jelinek <jakub@redhat.com> 145 146 Backported from master: 147 2024-04-25 Jakub Jelinek <jakub@redhat.com> 148 149 PR fortran/114825 150 * tree-nested.cc (get_debug_decl): New function. 151 (get_nonlocal_debug_decl): Use it. 152 (get_local_debug_decl): Likewise. 153 1542024-06-11 Jakub Jelinek <jakub@redhat.com> 155 156 Backported from master: 157 2024-04-19 Jakub Jelinek <jakub@redhat.com> 158 159 PR rtl-optimization/114768 160 * rtlanal.cc (set_noop_p): Don't return true for MEM <- MEM 161 sets if src has side-effects or for stores into ZERO_EXTRACT 162 if ZERO_EXTRACT operand has side-effects. 163 1642024-06-11 Jakub Jelinek <jakub@redhat.com> 165 166 Backported from master: 167 2024-04-18 Jakub Jelinek <jakub@redhat.com> 168 169 PR middle-end/114753 170 * internal-fn.cc (expand_mul_overflow): Save flag_trapv and 171 temporarily clear it for the duration of the function, then 172 restore previous value. 173 (expand_vector_ubsan_overflow): Likewise. 174 (expand_arith_overflow): Likewise. 175 1762024-06-11 Jakub Jelinek <jakub@redhat.com> 177 178 Backported from master: 179 2024-04-15 Jakub Jelinek <jakub@redhat.com> 180 181 PR c++/114634 182 * attribs.cc (diag_attr_exclusions): Set attrs[1] to NULL_TREE for 183 decls with NULL TREE_TYPE. 184 1852024-06-11 Jakub Jelinek <jakub@redhat.com> 186 187 Backported from master: 188 2024-04-11 Jakub Jelinek <jakub@redhat.com> 189 190 PR middle-end/110027 191 * asan.cc (asan_emit_stack_protection): Assert offsets[0] is 192 zero if there is no stack protect guard, otherwise 193 -ASAN_RED_ZONE_SIZE. If alignb > ASAN_RED_ZONE_SIZE and there is 194 stack pointer guard, take the ASAN_RED_ZONE_SIZE bytes allocated at 195 the top of the stack into account when computing base_align_bias. 196 Recompute use_after_return_class from asan_frame_size + base_align_bias 197 and set to -1 if that would overflow to 11. 198 1992024-06-11 Jakub Jelinek <jakub@redhat.com> 200 201 Backported from master: 202 2024-04-05 Jakub Jelinek <jakub@redhat.com> 203 204 PR tree-optimization/114566 205 * tree-vect-loop.cc (update_epilogue_loop_vinfo): Don't clear 206 base_misaligned. 207 2082024-06-11 Jakub Jelinek <jakub@redhat.com> 209 210 Backported from master: 211 2024-04-04 Jakub Jelinek <jakub@redhat.com> 212 213 PR c++/114537 214 * fold-const.cc (native_encode_initializer): Look through 215 NON_LVALUE_EXPR if val is INTEGER_CST. 216 2172024-06-11 Jakub Jelinek <jakub@redhat.com> 218 219 Backported from master: 220 2024-03-14 Jakub Jelinek <jakub@redhat.com> 221 222 PR middle-end/113907 223 * ipa-icf.cc (sem_item_optimizer::merge_classes): Reset 224 SSA_NAME_RANGE_INFO and SSA_NAME_PTR_INFO on successfully ICF merged 225 functions. 226 2272024-06-11 Jakub Jelinek <jakub@redhat.com> 228 229 Backported from master: 230 2024-03-14 Jakub Jelinek <jakub@redhat.com> 231 232 PR target/114310 233 * config/aarch64/aarch64.cc (aarch64_expand_compare_and_swap): For 234 TImode force newval into a register. 235 2362024-06-11 Jakub Jelinek <jakub@redhat.com> 237 238 Backported from master: 239 2024-03-07 Jakub Jelinek <jakub@redhat.com> 240 241 PR rtl-optimization/110079 242 * bb-reorder.cc (fix_crossing_unconditional_branches): Don't adjust 243 asm goto. 244 2452024-06-11 Jakub Jelinek <jakub@redhat.com> 246 247 Backported from master: 248 2024-03-04 Jakub Jelinek <jakub@redhat.com> 249 250 PR target/114184 251 * config/i386/i386-expand.cc (ix86_expand_move): If XFmode op1 252 is SUBREG of CONSTANT_P, force the SUBREG_REG into memory or 253 register. 254 2552024-06-11 Jakub Jelinek <jakub@redhat.com> 256 257 Backported from master: 258 2024-02-12 Jakub Jelinek <jakub@redhat.com> 259 260 PR c++/113674 261 * attribs.cc (extract_attribute_substring): Remove. 262 (lookup_scoped_attribute_spec): Don't call it. 263 2642024-06-11 Jakub Jelinek <jakub@redhat.com> 265 266 Backported from master: 267 2024-02-03 Jakub Jelinek <jakub@redhat.com> 268 269 * ggc-common.cc (gt_pch_save): Allow addr to be equal to 270 mmi.preferred_base + mmi.size - sizeof (void *). 271 2722024-06-11 Jakub Jelinek <jakub@redhat.com> 273 274 Backported from master: 275 2024-01-30 Jakub Jelinek <jakub@redhat.com> 276 277 PR tree-optimization/113603 278 * tree-ssa-strlen.cc (strlen_pass::handle_store): After 279 count_nonzero_bytes call refetch si using get_strinfo in case it 280 has been unshared in the meantime. 281 2822024-06-11 Jakub Jelinek <jakub@redhat.com> 283 284 Backported from master: 285 2024-01-25 Jakub Jelinek <jakub@redhat.com> 286 287 * doc/generic.texi (VECTOR_CST): Fix typo - petterns -> patterns. 288 * doc/rtl.texi (CONST_VECTOR): Likewise. 289 2902024-06-11 Jakub Jelinek <jakub@redhat.com> 291 292 Backported from master: 293 2024-01-18 Jakub Jelinek <jakub@redhat.com> 294 295 PR target/113122 296 * config/i386/i386.cc (x86_function_profiler): Add -masm=intel 297 support. Add missing space after , in emitted assembly in some 298 cases. Formatting fixes. 299 3002024-06-11 Jakub Jelinek <jakub@redhat.com> 301 302 Backported from master: 303 2024-01-16 Jakub Jelinek <jakub@redhat.com> 304 305 PR tree-optimization/113372 306 PR middle-end/90348 307 PR middle-end/110115 308 PR middle-end/111422 309 * cfgexpand.cc (add_scope_conflicts_2): New function. 310 (add_scope_conflicts_1): Use it. 311 3122024-06-11 Richard Biener <rguenther@suse.de> 313 314 Backported from master: 315 2023-08-21 Richard Biener <rguenther@suse.de> 316 317 PR tree-optimization/111070 318 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check we have 319 an SSA name before checking SSA_NAME_OCCURS_IN_ABNORMAL_PHI. 320 3212024-06-07 Jan Hubicka <jh@suse.cz> 322 323 Backported from master: 324 2023-12-29 Jan Hubicka <jh@suse.cz> 325 326 * config/i386/x86-tune.def (X86_TUNE_AVOID_128FMA_CHAINS, 327 X86_TUNE_AVOID_256FMA_CHAINS): Enable for znver4 and Core. 328 3292024-06-04 Richard Biener <rguenther@suse.de> 330 331 Backported from master: 332 2023-11-28 Richard Biener <rguenther@suse.de> 333 334 PR middle-end/112732 335 * tree.cc (build_opaque_vector_type): Reset TYPE_ALIAS_SET 336 of the newly built type. 337 3382024-06-04 Richard Biener <rguenther@suse.de> 339 340 Backported from master: 341 2023-06-26 Richard Biener <rguenther@suse.de> 342 343 PR tree-optimization/110381 344 * tree-vect-slp.cc (vect_optimize_slp_pass::start_choosing_layouts): 345 Materialize permutes before fold-left reductions. 346 3472024-06-04 Richard Biener <rguenther@suse.de> 348 349 Backported from master: 350 2024-02-14 Richard Biener <rguenther@suse.de> 351 352 PR tree-optimization/113910 353 * bitmap.cc (bitmap_hash): Mix the full element "hash" to 354 the hashval_t hash. 355 3562024-06-04 Richard Sandiford <richard.sandiford@arm.com> 357 358 Backported from master: 359 2024-01-29 Richard Sandiford <richard.sandiford@arm.com> 360 361 PR target/113281 362 * tree-vect-patterns.cc (vect_recog_over_widening_pattern): Remove 363 workaround for right shifts. 364 (vect_truncatable_operation_p): Handle NEGATE_EXPR and BIT_NOT_EXPR. 365 (vect_determine_precisions_from_range): Be more selective about 366 which codes can be narrowed based on their input and output ranges. 367 For shifts, require at least one more bit of precision than the 368 maximum shift amount. 369 3702024-06-04 Richard Sandiford <richard.sandiford@arm.com> 371 372 Backported from master: 373 2024-05-24 Richard Sandiford <richard.sandiford@arm.com> 374 375 PR tree-optimization/115192 376 * tree-data-ref.cc (create_intersect_range_checks): Take the 377 alignment of the access sizes into account. 378 3792024-06-03 Uros Bizjak <ubizjak@gmail.com> 380 381 Backported from master: 382 2024-05-31 Uros Bizjak <ubizjak@gmail.com> 383 384 PR target/115297 385 * config/alpha/alpha.md (<any_divmod:code>si3): Wrap DImode 386 operands 3 and 4 with truncate:SI RTX. 387 (*divmodsi_internal_er): Ditto for operands 1 and 2. 388 (*divmodsi_internal_er_1): Ditto. 389 (*divmodsi_internal): Ditto. 390 * config/alpha/constraints.md ("b"): Correct register 391 number in the description. 392 3932024-05-30 YunQiang Su <syq@gcc.gnu.org> 394 395 Backported from master: 396 2024-05-29 YunQiang Su <syq@gcc.gnu.org> 397 398 * config/mips/mips.cc(mips16_gp_pseudo_reg): Mark 399 MIPS16_PIC_TEMP and MIPS_PROLOGUE_TEMP clobbered. 400 (mips_emit_call_insn): Mark MIPS16_PIC_TEMP and 401 MIPS_PROLOGUE_TEMP clobbered if MIPS16 and CALL_CLOBBERED_GP. 402 4032024-05-28 Jakub Jelinek <jakub@redhat.com> 404 405 Backported from master: 406 2024-05-22 Jakub Jelinek <jakub@redhat.com> 407 408 PR sanitizer/115172 409 * ubsan.cc (instrument_bool_enum_load): If rhs is not in generic 410 address space, use qualified version of utype with the right 411 address space. Formatting fix. 412 4132024-05-28 Martin Jambor <mjambor@suse.cz> 414 415 Backported from master: 416 2024-05-14 Martin Jambor <mjambor@suse.cz> 417 418 PR ipa/113907 419 * ipa-prop.h (ipa_jump_functions_equivalent_p): Declare. 420 (values_equal_for_ipcp_p): Likewise. 421 * ipa-prop.cc (ipa_agg_pass_through_jf_equivalent_p): New function. 422 (ipa_agg_jump_functions_equivalent_p): Likewise. 423 (ipa_jump_functions_equivalent_p): Likewise. 424 * ipa-cp.cc (values_equal_for_ipcp_p): Make function public. 425 * ipa-icf-gimple.cc: Include alloc-pool.h, symbol-summary.h, sreal.h, 426 ipa-cp.h and ipa-prop.h. 427 (func_checker::compare_gimple_call): Comapre jump functions. 428 4292024-05-17 Richard Biener <rguenther@suse.de> 430 431 Backported from master: 432 2024-01-31 Richard Biener <rguenther@suse.de> 433 434 PR middle-end/110176 435 * match.pd (zext (bool) <= (int) 4294967295u): Make sure 436 to match INTEGER_CST only without outstanding conversion. 437 4382024-05-17 Richard Biener <rguenther@suse.de> 439 440 Backported from master: 441 2023-08-17 Richard Biener <rguenther@suse.de> 442 443 PR tree-optimization/111039 444 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for 445 SSA_NAME_OCCURS_IN_ABNORMAL_PHI. 446 4472024-05-17 Richard Biener <rguenther@suse.de> 448 449 Backported from master: 450 2023-11-20 Richard Biener <rguenther@suse.de> 451 452 PR tree-optimization/112281 453 * tree-loop-distribution.cc 454 (loop_distribution::pg_add_dependence_edges): For = in the 455 innermost common loop record a partition conflict. 456 4572024-05-17 Richard Biener <rguenther@suse.de> 458 459 Backported from master: 460 2023-11-13 Richard Biener <rguenther@suse.de> 461 462 PR tree-optimization/112495 463 * tree-data-ref.cc (runtime_alias_check_p): Reject checks 464 between different address spaces. 465 4662024-05-17 Richard Biener <rguenther@suse.de> 467 468 Backported from master: 469 2024-01-11 Richard Biener <rguenther@suse.de> 470 471 PR tree-optimization/112505 472 * tree-vect-loop.cc (vectorizable_induction): Reject 473 bit-precision induction. 474 4752024-05-17 Richard Biener <rguenther@suse.de> 476 477 Backported from master: 478 2024-01-23 Richard Biener <rguenther@suse.de> 479 480 PR debug/112718 481 * dwarf2out.cc (dwarf2out_finish): Reset all type units 482 for the fat part of an LTO compile. 483 4842024-05-17 Richard Biener <rguenther@suse.de> 485 486 Backported from master: 487 2023-12-14 Richard Biener <rguenther@suse.de> 488 489 PR tree-optimization/112793 490 * tree-vect-slp.cc (vect_schedule_slp_node): Already 491 code-generated constant/external nodes are OK. 492 4932024-05-16 Richard Biener <rguenther@suse.de> 494 495 Backported from master: 496 2024-02-22 Richard Biener <rguenther@suse.de> 497 498 PR tree-optimization/114027 499 * tree-vect-loop.cc (vecctorizable_reduction): Use optimized 500 condition reduction classification only for single-element 501 chains. 502 5032024-05-16 Richard Biener <rguenther@suse.de> 504 505 Backported from master: 506 2024-05-08 Richard Biener <rguenther@suse.de> 507 508 PR tree-optimization/114375 509 * tree-vect-slp.cc (vect_build_slp_tree_2): Compute the 510 load permutation for masked loads but reject it when any 511 such is necessary. 512 * tree-vect-stmts.cc (vectorizable_load): Reject masked 513 VMAT_ELEMENTWISE and VMAT_STRIDED_SLP as those are not 514 supported. 515 5162024-05-16 Richard Biener <rguenther@suse.de> 517 518 Backported from master: 519 2024-03-21 Richard Biener <rguenther@suse.de> 520 521 PR tree-optimization/114231 522 * tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when 523 processing a BB SLP root. 524 5252024-05-16 Richard Biener <rguenther@suse.de> 526 527 Backported from master: 528 2024-05-06 Richard Biener <rguenther@suse.de> 529 530 PR middle-end/114734 531 * internal-fn.cc (expand_call_mem_ref): Use 532 get_gimple_for_ssa_name to get at the def stmt of the address 533 argument to honor SSA coalescing constraints. 534 5352024-05-16 Richard Biener <rguenther@suse.de> 536 537 Backported from master: 538 2024-04-09 Richard Biener <rguenther@suse.de> 539 540 PR lto/114655 541 * lto-wrapper.cc (merge_flto_options): Add force argument. 542 (merge_and_complain): Do not force here. 543 (run_gcc): But here to make the link-time -flto option override 544 any compile-time one. 545 5462024-05-16 Richard Biener <rguenther@suse.de> 547 548 Backported from master: 549 2024-05-03 Richard Biener <rguenther@suse.de> 550 551 PR gcov-profile/114715 552 * gimplify.cc (gimplify_switch_expr): Set the location of the 553 GIMPLE switch. 554 5552024-05-15 Martin Jambor <mjambor@suse.cz> 556 557 Backported from master: 558 2024-04-08 Martin Jambor <mjambor@suse.cz> 559 560 PR ipa/108007 561 PR ipa/112616 562 * cgraph.h (cgraph_edge): Add a parameter to 563 redirect_call_stmt_to_callee. 564 * ipa-param-manipulation.h (ipa_param_adjustments): Add a 565 parameter to modify_call. 566 (ipa_release_ssas_in_hash): Declare. 567 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): New 568 parameter killed_ssas, pass it to padjs->modify_call. 569 * ipa-param-manipulation.cc (purge_all_uses): New function. 570 (ipa_param_adjustments::modify_call): New parameter killed_ssas. 571 Instead of substituting uses, invoke purge_all_uses. If 572 hash of killed SSAs has not been provided, create a temporary one 573 and release SSAs that have been added to it. 574 (compare_ssa_versions): New function. 575 (ipa_release_ssas_in_hash): Likewise. 576 * tree-inline.cc (redirect_all_calls): Create 577 id->killed_new_ssa_names earlier, pass it to edge redirection, 578 adjust a comment. 579 (copy_body): Release SSAs in id->killed_new_ssa_names. 580 5812024-05-15 Martin Jambor <mjambor@suse.cz> 582 583 Backported from master: 584 2024-04-05 Martin Jambor <mjambor@suse.cz> 585 586 PR ipa/114247 587 * ipa-param-manipulation.cc (ipa_param_adjustments::modify_call): 588 Force values obtined through pass-through maps to the expected 589 split type. 590 5912024-05-13 Andrew MacLeod <amacleod@redhat.com> 592 593 PR tree-optimization/111009 594 * range-op.cc (operator_addr_expr::op1_range): Be more restrictive. 595 * value-range.h (contains_zero_p): New. 596 5972024-05-09 Andrew Pinski <apinski@marvell.com> 598 599 Backported from master: 600 2023-09-25 Andrew Pinski <apinski@marvell.com> 601 602 PR tree-optimization/110386 603 * gimple-ssa-backprop.cc (strip_sign_op_1): Remove ABSU_EXPR. 604 6052024-05-08 Andrew Pinski <quic_apinski@quicinc.com> 606 607 Backported from master: 608 2024-02-22 Andrew Pinski <quic_apinski@quicinc.com> 609 610 PR tree-optimization/109804 611 * gimple-ssa-warn-access.cc (new_delete_mismatch_p): Handle 612 DEMANGLE_COMPONENT_UNNAMED_TYPE. 613 6142024-05-08 Andrew Pinski <apinski@marvell.com> 615 616 Backported from master: 617 2023-09-10 Andrew Pinski <apinski@marvell.com> 618 619 PR tree-optimization/111331 620 * tree-ssa-phiopt.cc (minmax_replacement): 621 Fix the LE/GE comparison for the 622 `(a CMP CST1) ? max<a,CST2> : a` optimization. 623 6242024-05-08 Andrew Pinski <quic_apinski@quicinc.com> 625 626 Backported from master: 627 2024-03-11 Andrew Pinski <quic_apinski@quicinc.com> 628 629 PR middle-end/95351 630 * fold-const.cc (merge_truthop_with_opposite_arm): Use 631 the type of the operands of the comparison and not the type 632 of the comparison. 633 6342024-05-07 Georg-Johann Lay <avr@gjlay.de> 635 636 * config/avr/avr-mcus.def: Add new MCUs (copy from gcc-13). 637 * doc/avr-mmcu.texi: Rebuild. 638 6392024-05-07 Georg-Johann Lay <avr@gjlay.de> 640 641 Backported from master: 642 2024-05-06 Georg-Johann Lay <avr@gjlay.de> 643 644 PR ipa/92606 645 * config/avr/avr.cc (avr_option_override): Set 646 flag_ipa_icf_variables = 0. 647 6482024-05-02 Richard Biener <rguenther@suse.de> 649 650 Backported from master: 651 2024-04-10 Richard Biener <rguenther@suse.de> 652 653 PR tree-optimization/114672 654 * tree-ssa-math-opts.cc (convert_plusminus_to_widen): Only 655 allow mode-precision results. 656 6572024-05-02 Will Schmidt <will_schmidt@linux.ibm.com> 658 659 Backported from master: 660 2024-04-12 Will Schmidt <will_schmidt@linux.ibm.com> 661 Peter Bergner <bergner@linux.ibm.com> 662 663 PR target/101865 664 * config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported): Use 665 TARGET_POWER8. 666 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Use 667 OPTION_MASK_POWER8. 668 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add OPTION_MASK_POWER8. 669 (ISA_2_7_MASKS_SERVER): Likewise. 670 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Update 671 comment. Use OPTION_MASK_POWER8 and TARGET_POWER8. 672 * config/rs6000/rs6000.h (TARGET_SYNC_HI_QI): Use TARGET_POWER8. 673 * config/rs6000/rs6000.md (define_attr "isa"): Add p8. 674 (define_attr "enabled"): Handle it. 675 (define_insn "prefetch"): Use TARGET_POWER8. 676 * config/rs6000/rs6000.opt (mpower8-internal): New. 677 6782024-05-02 Peter Bergner <bergner@linux.ibm.com> 679 680 Backported from master: 681 2024-04-10 Peter Bergner <bergner@linux.ibm.com> 682 683 PR target/101865 684 * config/rs6000/rs6000.h (TARGET_DIRECT_MOVE): Define. 685 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Replace 686 OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR. Delete redundant 687 OPTION_MASK_DIRECT_MOVE usage. Delete TARGET_DIRECT_MOVE dead code. 688 (rs6000_opt_masks): Neuter the "direct-move" option. 689 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Replace 690 OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR. Delete useless 691 comment. 692 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Delete 693 OPTION_MASK_DIRECT_MOVE. 694 (OTHER_P8_VECTOR_MASKS): Likewise. 695 (POWERPC_MASKS): Likewise. 696 * config/rs6000/rs6000.opt (mdirect-move): Remove Mask and Var. 697 6982024-05-01 Jeevitha <jeevitha@linux.ibm.com> 699 700 Backported from master: 701 2024-03-07 Jeevitha Palanisamy <jeevitha@linux.ibm.com> 702 703 PR target/113950 704 * config/rs6000/vsx.md (vsx_splat_<mode>): Correct assignment to operand1 705 and simplify else if with else. 706 7072024-04-30 Joe Ramsay <Joe.Ramsay@arm.com> 708 709 Backported from master: 710 2024-03-15 Joe Ramsay <Joe.Ramsay@arm.com> 711 712 * match.pd: Fix truncation pattern for -fno-signed-zeroes 713 7142024-04-30 Yang Yujie <yangyujie@loongson.cn> 715 716 Backported from master: 717 2023-12-12 Yang Yujie <yangyujie@loongson.cn> 718 719 PR target/114848 720 * config/loongarch/loongarch.cc: Do not restore the saved eh_return 721 data registers ($r4-$r7) for a normal return of a function that calls 722 __builtin_eh_return elsewhere. 723 * config/loongarch/loongarch-protos.h: Same. 724 * config/loongarch/loongarch.md: Same. 725 7262024-04-26 Richard Ball <richard.ball@arm.com> 727 728 PR target/114272 729 * config/aarch64/aarch64-cores.def (AARCH64_CORE): 730 Change SCHEDULER_IDENT from cortexa55 to cortexa53 731 for Cortex-A510. 732 7332024-04-25 Richard Ball <richard.ball@arm.com> 734 735 Backported from master: 736 2024-04-25 Richard Ball <richard.ball@arm.com> 737 738 PR target/114837 739 * config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear): 740 Add zero/sign extend. 741 (arm_expand_prologue): Add zero/sign extend. 742 7432024-04-25 Kewen Lin <linkw@linux.ibm.com> 744 Andrew Pinski <quic_apinski@quicinc.com> 745 746 PR target/88309 747 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Fix 748 wrong align passed to function build_aligned_type. 749 * tree-ssa-loop-prefetch.cc (is_miss_rate_acceptable): Add an 750 assertion to ensure align_unit should be positive. 751 * tree.cc (build_qualified_type): Update function comments. 752 7532024-04-23 Jakub Jelinek <jakub@redhat.com> 754 755 Backported from master: 756 2024-03-26 Jakub Jelinek <jakub@redhat.com> 757 758 PR sanitizer/111736 759 * tsan.cc (instrument_expr): Punt on non-generic address space 760 accesses. 761 7622024-04-23 Jakub Jelinek <jakub@redhat.com> 763 764 Backported from master: 765 2024-03-22 Jakub Jelinek <jakub@redhat.com> 766 767 PR sanitizer/111736 768 * ubsan.cc (ubsan_expand_null_ifn, instrument_mem_ref): Avoid 769 SANITIZE_NULL instrumentation for non-generic address spaces 770 for which targetm.addr_space.zero_address_valid (as) is true. 771 7722024-04-23 Richard Biener <rguenther@suse.de> 773 774 Backported from master: 775 2024-03-21 Richard Biener <rguenther@suse.de> 776 777 PR tree-optimization/111736 778 * asan.cc (instrument_derefs): Do not instrument accesses 779 to non-generic address-spaces. 780 7812024-04-23 Richard Biener <rguenther@suse.de> 782 783 Backported from master: 784 2023-12-05 Richard Biener <rguenther@suse.de> 785 786 PR sanitizer/111736 787 * asan.cc (asan_protect_global): Do not protect globals 788 in non-generic address-space. 789 7902024-04-22 Iain Sandoe <iain@sandoe.co.uk> 791 792 Backported from master: 793 2023-09-04 Iain Sandoe <iain@sandoe.co.uk> 794 795 * config/rs6000/darwin.h (LIB_SPEC): Include libSystemStubs for 796 all 32b Darwin PowerPC cases. 797 7982024-04-22 Iain Sandoe <iain@sandoe.co.uk> 799 800 Backported from master: 801 2024-04-02 Iain Sandoe <iain@sandoe.co.uk> 802 803 * config/darwin.cc (darwin_override_options): Update the 804 clang major version value in the dsymutil check. 805 8062024-04-21 Iain Sandoe <iain@sandoe.co.uk> 807 808 Backported from master: 809 2024-04-02 Iain Sandoe <iain@sandoe.co.uk> 810 811 * config/darwin.cc (darwin_override_options): Reduce the debug 812 level to 2 if dsymutil cannot handle .macinfo sections. 813 8142024-04-19 Iain Sandoe <iain@sandoe.co.uk> 815 816 Backported from master: 817 2023-10-25 Iain Sandoe <iain@sandoe.co.uk> 818 819 * config/darwin.cc (darwin_override_options): Handle fPIE. 820 8212024-04-19 Iain Sandoe <iain@sandoe.co.uk> 822 823 * config/darwin.h (LINK_COMMAND_SPEC_A): Handle weak crts 824 before other objects. (REAL_LIBGCC_SPEC): Remove weak crts 825 from here. (DARWIN_WEAK_CRTS): New. 826 8272024-04-19 Iain Sandoe <iain@sandoe.co.uk> 828 829 Backported from master: 830 2024-01-28 Iain Sandoe <iain@sandoe.co.uk> 831 832 * config/darwin.cc (darwin_build_constant_cfstring): Prevent over- 833 alignment of CFString constants by setting DECL_USER_ALIGN. 834 8352024-04-19 Iain Sandoe <iain@sandoe.co.uk> 836 837 Backported from master: 838 2024-01-18 Iain Sandoe <iain@sandoe.co.uk> 839 840 * config/darwin.cc (darwin_objc1_section): Use the correct 841 meta-data version for constant strings. 842 (machopic_select_section): Assert if we fail to handle CFString 843 sections as Obejctive-C meta-data or drectly. 844 8452024-04-19 Iain Sandoe <iain@sandoe.co.uk> 846 847 Backported from master: 848 2024-01-18 Iain Sandoe <iain@sandoe.co.uk> 849 850 PR target/105522 851 * config/darwin.cc (machopic_select_section): Handle C and C++ 852 CFStrings. 853 (darwin_rename_builtins): Move this out of the CFString code. 854 (darwin_libc_has_function): Likewise. 855 (darwin_build_constant_cfstring): Create an anonymous var to 856 hold each CFString. 857 * config/darwin.h (ASM_OUTPUT_LABELREF): Handle constant 858 CFstrings. 859 8602024-04-19 Iain Sandoe <iain@sandoe.co.uk> 861 862 Backported from master: 863 2023-10-26 Iain Sandoe <iain@sandoe.co.uk> 864 865 * config/darwin.h 866 (darwin_label_is_anonymous_local_objc_name): Make metadata names 867 linker-visibile for GNU objective C. 868 8692024-04-18 Iain Sandoe <iain@sandoe.co.uk> 870 871 Backported from master: 872 2023-10-18 Iain Sandoe <iain@sandoe.co.uk> 873 874 * config.in: Regenerate. 875 * config/darwin.cc (darwin_file_start): Add assembler directives 876 for the target OS version, where these are supported by the 877 assembler. 878 (darwin_override_options): Check for building >= macOS 10.14. 879 * configure: Regenerate. 880 * configure.ac: Check for assembler support of .build_version 881 directives. 882 8832024-04-18 Iain Sandoe <iain@sandoe.co.uk> 884 885 Backported from master: 886 2023-09-10 Iain Sandoe <iain@sandoe.co.uk> 887 888 * config/darwin.cc (darwin_function_section): Place unlikely 889 executed global init code into the standard cold section. 890 8912024-04-18 Iain Sandoe <iain@sandoe.co.uk> 892 893 Backported from master: 894 2023-09-04 Iain Sandoe <iain@sandoe.co.uk> 895 896 * config/darwin-sections.def (static_init_section): Add the 897 __TEXT,__StaticInit section. 898 * config/darwin.cc (darwin_function_section): Use the static init 899 section for global initializers, to match other platform toolchains. 900 9012024-04-18 Iain Sandoe <iain@sandoe.co.uk> 902 903 Backported from master: 904 2023-09-04 Iain Sandoe <iain@sandoe.co.uk> 905 906 * config/darwin-sections.def (darwin_exception_section): Move to 907 the __TEXT segment. 908 * config/darwin.cc (darwin_emit_except_table_label): Align before 909 the exception table label. 910 * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use indirect PC- 911 relative 4byte relocs. 912 9132024-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 914 915 Backported from master: 916 2023-08-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 917 918 * configure.ac (gcc_cv_ld64_version): Allow for dyld in ld -v 919 output. 920 * configure: Regenerate. 921 9222024-04-18 Iain Sandoe <iain@sandoe.co.uk> 923 924 Backported from master: 925 2023-09-18 Iain Sandoe <iain@sandoe.co.uk> 926 927 * configure: Regenerate. 928 * configure.ac: Handle explict disable of stdlib option, set 929 defaults for Darwin. 930 9312024-04-18 Iain Sandoe <iain@sandoe.co.uk> 932 933 Backported from master: 934 2023-09-20 Iain Sandoe <iain@sandoe.co.uk> 935 936 * config/darwin.h: 937 (SUBTARGET_DRIVER_SELF_SPECS): Move handling of 'shared' into the same 938 specs as 'dynamiclib'. (STARTFILE_SPEC): Handle 'shared'. 939 9402024-04-15 Richard Biener <rguenther@suse.de> 941 942 Backported from master: 943 2024-04-05 Richard Biener <rguenther@suse.de> 944 945 PR middle-end/114599 946 PR gcov-profile/114115 947 * symtab.cc (ifunc_ref_map): Do not use auto_bitmap. 948 (is_caller_ifunc_resolver): Optimize bitmap_bit_p/bitmap_set_bit 949 pair. 950 (symtab_node::check_ifunc_callee_symtab_nodes): Properly 951 allocate ifunc_ref_map here. 952 9532024-04-15 H.J. Lu <hjl.tools@gmail.com> 954 955 Backported from master: 956 2024-04-03 H.J. Lu <hjl.tools@gmail.com> 957 958 PR tree-optimization/114115 959 * cgraph.h (symtab_node): Add check_ifunc_callee_symtab_nodes. 960 (cgraph_node): Add called_by_ifunc_resolver. 961 * cgraphunit.cc (symbol_table::compile): Call 962 symtab_node::check_ifunc_callee_symtab_nodes. 963 * symtab.cc (check_ifunc_resolver): New. 964 (ifunc_ref_map): Likewise. 965 (is_caller_ifunc_resolver): Likewise. 966 (symtab_node::check_ifunc_callee_symtab_nodes): Likewise. 967 * tree-profile.cc (gimple_gen_ic_func_profiler): Disable indirect 968 call profiling for IFUNC resolvers and their callees. 969 9702024-04-15 Tamar Christina <tamar.christina@arm.com> 971 972 * config/aarch64/aarch64.h (AARCH64_ARCH): Remove LS64 from 973 Armv8.7-a. 974 9752024-04-15 Tamar Christina <tamar.christina@arm.com> 976 977 PR tree-optimization/113552 978 * config/aarch64/aarch64.cc 979 (aarch64_simd_clone_compute_vecsize_and_simdlen): Block simdlen 1. 980 9812024-04-12 Iain Sandoe <iain@sandoe.co.uk> 982 983 Backported from master: 984 2023-09-27 Iain Sandoe <iain@sandoe.co.uk> 985 986 PR target/111610 987 * configure: Regenerate. 988 * configure.ac: Rename the missing dsymutil case to "DET_UNKNOWN". 989 9902024-04-12 Iain Sandoe <iain@sandoe.co.uk> 991 992 Backported from master: 993 2023-09-18 Iain Sandoe <iain@sandoe.co.uk> 994 995 * config/darwin-protos.h (enum darwin_external_toolchain): New. 996 * config/darwin.cc (DSYMUTIL_VERSION): New. 997 (darwin_override_options): Choose the default debug DWARF version 998 depending on the configured dsymutil version. 999 10002024-04-12 Iain Sandoe <iain@sandoe.co.uk> 1001 1002 Backported from master: 1003 2022-05-03 Iain Sandoe <iain@sandoe.co.uk> 1004 1005 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make 1006 protocol class methods linker-visible. 1007 10082024-04-11 Kito Cheng <kito.cheng@sifive.com> 1009 1010 Backported from master: 1011 2024-02-29 Kito Cheng <kito.cheng@sifive.com> 1012 1013 PR target/114130 1014 * config/riscv/sync.md (atomic_compare_and_swap<mode>): Sign 1015 extend the expected value if needed. 1016 10172024-04-04 Iain Sandoe <iain@sandoe.co.uk> 1018 1019 Backported from master: 1020 2023-07-13 Iain Sandoe <iain@sandoe.co.uk> 1021 1022 PR target/110624 1023 * config/darwin.h (DARWIN_PLATFORM_ID): New. 1024 (LINK_COMMAND_A): Use DARWIN_PLATFORM_ID to pass OS, OS version 1025 and SDK data to the static linker. 1026 10272024-04-02 Qing Zhao <qing.zhao@oracle.com> 1028 1029 Backported from master: 1030 2023-09-15 Qing Zhao <qing.zhao@oracle.com> 1031 1032 PR tree-optimization/111407 1033 * tree-ssa-math-opts.cc (convert_mult_to_widen): Avoid the transform 1034 when one of the operands is subject to abnormal coalescing. 1035 10362024-04-01 Lulu Cheng <chenglulu@loongson.cn> 1037 1038 Backported from master: 1039 2024-01-11 Lulu Cheng <chenglulu@loongson.cn> 1040 1041 PR target/113233 1042 * config/loongarch/genopts/loongarch.opt.in: Mark options with 1043 the "Save" property. 1044 * config/loongarch/loongarch-opts.cc 1045 (loongarch_update_gcc_opt_status): Update the value of the 1046 la_target to global_options. 1047 * config/loongarch/loongarch-opts.h 1048 (loongarch_update_gcc_opt_status): Add a function declaration. 1049 * config/loongarch/loongarch.cc 1050 (loongarch_option_override_internal): Call the function 1051 loongarch_update_gcc_opt_status. 1052 (loongarch_option_save): New functions. 1053 (loongarch_option_restore): Likewise. 1054 (TARGET_OPTION_SAVE): Define macro. 1055 (TARGET_OPTION_RESTORE): Likewise. 1056 * config/loongarch/loongarch.opt: Regenerate. 1057 10582024-03-27 Richard Sandiford <richard.sandiford@arm.com> 1059 1060 Backported from master: 1061 2024-03-05 Richard Sandiford <richard.sandiford@arm.com> 1062 1063 PR sanitizer/97696 1064 * asan.cc (asan_expand_mark_ifn): Allow the length to be a poly_int. 1065 10662024-03-26 Richard Biener <rguenther@suse.de> 1067 1068 Backported from master: 1069 2023-08-04 Richard Biener <rguenther@suse.de> 1070 1071 PR tree-optimization/110838 1072 * match.pd (([rl]shift @0 out-of-bounds) -> zero): Restrict 1073 the arithmetic right-shift case to non-negative operands. 1074 10752024-03-26 Richard Biener <rguenther@suse.de> 1076 1077 Backported from master: 1078 2023-07-27 Richard Biener <rguenther@suse.de> 1079 1080 PR tree-optimization/91838 1081 * gimple-match-head.cc: Include attribs.h and asan.h. 1082 * generic-match-head.cc: Likewise. 1083 * match.pd (([rl]shift @0 out-of-bounds) -> zero): New pattern. 1084 10852024-03-17 Iain Sandoe <iain@sandoe.co.uk> 1086 1087 Backported from master: 1088 2023-07-02 Iain Sandoe <iain@sandoe.co.uk> 1089 1090 PR target/108743 1091 * config/darwin.opt: Add fconstant-cfstrings alias to 1092 mconstant-cfstrings. 1093 * doc/invoke.texi: Amend invocation descriptions to reflect 1094 that the fconstant-cfstrings is a target-option alias and to 1095 add the missing mconstant-cfstrings option description to the 1096 Darwin section. 1097 10982024-03-17 Iain Sandoe <iain@sandoe.co.uk> 1099 1100 * config/i386/darwin.h (ENDFILE_SPEC): Fix whitespace. 1101 11022024-03-14 liuhongt <hongtao.liu@intel.com> 1103 1104 Backported from master: 1105 2024-03-14 liuhongt <hongtao.liu@intel.com> 1106 1107 * config/i386/i386-features.cc 1108 (general_scalar_chain::convert_op): Handle REG_EH_REGION note. 1109 (convert_scalars_to_vector): Ditto. 1110 * config/i386/i386-features.h (class scalar_chain): New 1111 memeber control_flow_insns. 1112 11132024-03-09 Lulu Cheng <chenglulu@loongson.cn> 1114 1115 Backported from master: 1116 2024-03-09 Lulu Cheng <chenglulu@loongson.cn> 1117 1118 * config/loongarch/sync.md (atomic_cas_value_strong<mode>): 1119 In loongarch64, a sign extension operation is added when 1120 operands[2] is a register operand and the mode is SImode. 1121 11222024-03-03 Oleg Endo <olegendo@gcc.gnu.org> 1123 1124 PR target/101737 1125 * config/sh/sh.cc (sh_is_nott_insn): Handle case where the input 1126 is not an insn, but e.g. a code label. 1127 11282024-03-01 Richard Biener <rguenther@suse.de> 1129 1130 Backported from master: 1131 2024-02-06 Richard Biener <rguenther@suse.de> 1132 1133 PR tree-optimization/110221 1134 * tree-vect-slp.cc (vect_schedule_slp_node): When loop 1135 masking / len is applied make sure to not schedule 1136 intenal defs outside of the loop. 1137 11382024-02-27 Eric Botcazou <ebotcazou@adacore.com> 1139 1140 * tree-ssa-dse.cc (compute_trims): Fix description. Return early 1141 if either ref->offset is not byte aligned or ref->size is not known 1142 to be equal to ref->max_size. 1143 (maybe_trim_complex_store): Fix description. 1144 (maybe_trim_constructor_store): Likewise. 1145 (maybe_trim_partially_dead_store): Likewise. 1146 11472024-02-27 Jeevitha <jeevitha@linux.ibm.com> 1148 1149 Backported from master: 1150 2023-08-31 Jeevitha Palanisamy <jeevitha@linux.ibm.com> 1151 1152 PR target/110411 1153 * config/rs6000/mma.md (define_insn_and_split movoo): Disallow 1154 AltiVec address operands. 1155 (define_insn_and_split movxo): Likewise. 1156 * config/rs6000/predicates.md (vsx_quad_dform_memory_operand): Remove 1157 redundant mode size check. 1158 11592024-02-27 H.J. Lu <hjl.tools@gmail.com> 1160 1161 Backported from master: 1162 2024-02-26 H.J. Lu <hjl.tools@gmail.com> 1163 1164 PR target/114098 1165 * config/i386/amxtileintrin.h (_tile_loadconfig): Use 1166 __builtin_ia32_ldtilecfg. 1167 (_tile_storeconfig): Use __builtin_ia32_sttilecfg. 1168 * config/i386/i386-builtin.def (BDESC): Add 1169 __builtin_ia32_ldtilecfg and __builtin_ia32_sttilecfg. 1170 * config/i386/i386-expand.cc (ix86_expand_builtin): Handle 1171 IX86_BUILTIN_LDTILECFG and IX86_BUILTIN_STTILECFG. 1172 * config/i386/i386.md (ldtilecfg): New pattern. 1173 (sttilecfg): Likewise. 1174 11752024-02-23 Richard Earnshaw <rearnsha@arm.com> 1176 1177 Backported from master: 1178 2024-02-23 Richard Earnshaw <rearnsha@arm.com> 1179 1180 PR target/108120 1181 * config/arm/neon.md (div<VCVTF:mode>3): Rename from div<mode>3. 1182 Gate with ARM_HAVE_NEON_<MODE>_ARITH. 1183 11842024-02-22 Xi Ruoyao <xry111@xry111.site> 1185 1186 Backported from master: 1187 2023-10-31 Xi Ruoyao <xry111@xry111.site> 1188 1189 PR target/112299 1190 * config/loongarch/loongarch-opts.h (HAVE_AS_TLS): Define to 0 1191 if not defined yet. 1192 11932024-02-22 Xi Ruoyao <xry111@xry111.site> 1194 1195 Backported from master: 1196 2023-11-14 Xi Ruoyao <xry111@xry111.site> 1197 1198 PR target/112330 1199 * config/loongarch/genopts/loongarch.opt.in: Add 1200 -m[no]-pass-relax-to-as. Change the default of -m[no]-relax to 1201 account conditional branch relaxation support status. 1202 * config/loongarch/loongarch.opt: Regenerate. 1203 * configure.ac (gcc_cv_as_loongarch_cond_branch_relax): Check if 1204 the assembler supports conditional branch relaxation. 1205 * configure: Regenerate. 1206 * config.in: Regenerate. Note that there are some unrelated 1207 changes introduced by r14-5424 (which does not contain a 1208 config.in regeneration). 1209 * config/loongarch/loongarch-opts.h 1210 (HAVE_AS_COND_BRANCH_RELAXATION): Define to 0 if not defined. 1211 * config/loongarch/loongarch.h (ASM_MRELAX_DEFAULT): Define. 1212 (ASM_MRELAX_SPEC): Define. 1213 (ASM_SPEC): Use ASM_MRELAX_SPEC instead of "%{mno-relax}". 1214 * doc/invoke.texi: Document -m[no-]relax and 1215 -m[no-]pass-mrelax-to-as for LoongArch. 1216 12172024-02-22 Lulu Cheng <chenglulu@loongson.cn> 1218 1219 Backported from master: 1220 2023-09-20 Lulu Cheng <chenglulu@loongson.cn> 1221 1222 * config.in: Regenerate. 1223 * config/loongarch/genopts/loongarch.opt.in: Add compilation option 1224 mrelax. And set the initial value of explicit-relocs according to the 1225 detection status. 1226 * config/loongarch/gnu-user.h: When compiling with -mno-relax, pass the 1227 --no-relax option to the linker. 1228 * config/loongarch/loongarch-opts.h (HAVE_AS_MRELAX_OPTION): Define macro. 1229 * config/loongarch/loongarch.opt: Regenerate. 1230 * configure: Regenerate. 1231 * configure.ac: Add detection of support for binutils relax function. 1232 12332024-02-22 Lulu Cheng <chenglulu@loongson.cn> 1234 1235 Backported from master: 1236 2023-10-17 Lulu Cheng <chenglulu@loongson.cn> 1237 Chenghua Xu <xuchenghua@loongson.cn> 1238 1239 * config/loongarch/loongarch.h (ASM_OUTPUT_ALIGN_WITH_NOP): 1240 Delete. 1241 12422024-02-19 Andre Vieira <andre.simoesdiasvieira@arm.com> 1243 1244 Backported from master: 1245 2023-12-20 Andre Vieira <andre.simoesdiasvieira@arm.com> 1246 1247 PR target/112787 1248 * tree-vect-generic.cc (type_for_widest_vector_mode): Change function to 1249 use original vector type and check widest vector mode has at most the 1250 same number of elements. 1251 (get_compute_type): Pass original vector type rather than the element 1252 type to type_for_widest_vector_mode and remove now obsolete check for 1253 the number of elements. 1254 12552024-02-15 Jakub Jelinek <jakub@redhat.com> 1256 1257 Backported from master: 1258 2024-02-15 Jakub Jelinek <jakub@redhat.com> 1259 1260 PR middle-end/113921 1261 * cfgrtl.h (prepend_insn_to_edge): New declaration. 1262 * cfgrtl.cc (insert_insn_on_edge): Clarify behavior in function 1263 comment. 1264 (prepend_insn_to_edge): New function. 1265 * cfgexpand.cc (expand_asm_stmt): Use prepend_insn_to_edge instead of 1266 insert_insn_on_edge. 1267 12682024-02-14 Alex Coplan <alex.coplan@arm.com> 1269 1270 Backported from master: 1271 2024-02-07 Alex Coplan <alex.coplan@arm.com> 1272 1273 PR target/111677 1274 * config/aarch64/aarch64.cc (aarch64_reg_save_mode): Use 1275 V16QImode for the full 16-byte FPR saves in the vector PCS case. 1276 (aarch64_gen_storewb_pair): Handle V16QImode. 1277 (aarch64_gen_loadwb_pair): Likewise. 1278 (aarch64_gen_load_pair): Likewise. 1279 * config/aarch64/aarch64.md (loadwb_pair<TX:mode>_<P:mode>): 1280 Rename to ... 1281 (loadwb_pair<TX_V16QI:mode>_<P:mode>): ... this, extending to 1282 V16QImode. 1283 (storewb_pair<TX:mode>_<P:mode>): Rename to ... 1284 (storewb_pair<TX_V16QI:mode>_<P:mode>): ... this, extending to 1285 V16QImode. 1286 * config/aarch64/iterators.md (TX_V16QI): New. 1287 12882024-02-14 Richard Biener <rguenther@suse.de> 1289 1290 PR tree-optimization/113896 1291 * tree-vect-slp.cc (vect_optimize_slp): Permute 1292 SLP_TREE_SCALAR_STMTS when eliding a permuation in a 1293 VEC_PERM node we need to preserve because it wraps an 1294 extern vector. 1295 12962024-02-08 Georg-Johann Lay <avr@gjlay.de> 1297 1298 Backported from master: 1299 2024-02-08 Georg-Johann Lay <avr@gjlay.de> 1300 1301 PR target/113824 1302 * config/avr/avr-mcus.def (ata5797): Move from avr5 to avr4. 1303 * doc/avr-mmcu.texi: Rebuild. 1304 13052024-02-05 Jason Merrill <jason@redhat.com> 1306 1307 Backported from master: 1308 2023-06-02 Jason Merrill <jason@redhat.com> 1309 1310 PR c++/95226 1311 PR c++/109359 1312 * varasm.cc (output_constant) [REAL_TYPE]: Check that sizes match. 1313 (initializer_constant_valid_p_1): Compare float precision. 1314 13152024-02-05 Xi Ruoyao <xry111@xry111.site> 1316 1317 Backported from master: 1318 2024-02-05 Xi Ruoyao <xry111@xry111.site> 1319 1320 * config/mips/mips-msa.md (neg<mode:MSA>2): Add missing mode for 1321 neg. 1322 13232024-02-05 Xi Ruoyao <xry111@xry111.site> 1324 1325 Backported from master: 1326 2024-02-05 Xi Ruoyao <xry111@xry111.site> 1327 1328 * config/mips/mips-msa.md (elmsgnbit): New define_mode_attr. 1329 (neg<mode>2): Change the mode iterator from MSA to IMSA because 1330 in FP arithmetic we cannot use (0 - x) for -x. 1331 (neg<mode>2): New define_insn to implement FP vector negation, 1332 using a bnegi instruction to negate the sign bit. 1333 13342024-02-02 Martin Jambor <mjambor@suse.cz> 1335 1336 Backported from master: 1337 2024-01-24 Martin Jambor <mjambor@suse.cz> 1338 1339 PR tree-optimization/110422 1340 * tree-sra.cc (scan_function): Disqualify bases of operands of asm 1341 gotos. 1342 13432024-02-01 John David Anglin <danglin@gcc.gnu.org> 1344 1345 * config/pa/pa.md (atomic_storedi_1): Fix bug in 1346 alternative 1. 1347 13482024-01-26 Wilco Dijkstra <wilco.dijkstra@arm.com> 1349 1350 Backported from master: 1351 2024-01-16 Wilco Dijkstra <wilco.dijkstra@arm.com> 1352 1353 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add 'cobalt-100' CPU. 1354 * config/aarch64/aarch64-tune.md: Regenerated. 1355 * doc/invoke.texi (-mcpu): Add cobalt-100 core. 1356 13572024-01-25 Georg-Johann Lay <avr@gjlay.de> 1358 1359 Backported from master: 1360 2024-01-25 Georg-Johann Lay <avr@gjlay.de> 1361 1362 PR target/113601 1363 * config/avr/avr-mcus.def (atmega3208, atmega3209): Fix data_section_start. 1364 13652024-01-16 Georg-Johann Lay <avr@gjlay.de> 1366 1367 Backported from master: 1368 2024-01-15 Georg-Johann Lay <avr@gjlay.de> 1369 1370 PR target/107201 1371 * config/avr/avr.h (EXTRA_SPEC_FUNCTIONS): Add no-devlib, avr_no_devlib. 1372 * config/avr/driver-avr.cc (avr_no_devlib): New function. 1373 (avr_devicespecs_file): Use it to remove -nodevicelib from the 1374 options for cores only. 1375 * config/avr/avr-arch.h (avr_get_parch): New prototype. 1376 * config/avr/avr-devices.cc (avr_get_parch): New function. 1377 13782024-01-15 Andrew Pinski <quic_apinski@quicinc.com> 1379 1380 Backported from master: 1381 2024-01-15 Andrew Pinski <quic_apinski@quicinc.com> 1382 1383 PR target/113156 1384 * config/avr/avr.opt (-mdouble, -mlong-double): Add "Save" flag. 1385 (-mbranch-cost): Set "Optimization" flag. 1386 13872024-01-12 Georg-Johann Lay <avr@gjlay.de> 1388 1389 Backported from master: 1390 2024-01-12 Georg-Johann Lay <avr@gjlay.de> 1391 1392 * config/avr/avr.cc (avr_handle_addr_attribute): Move "..." from 1393 format string to %s argument. 1394 13952024-01-08 Georg-Johann Lay <avr@gjlay.de> 1396 1397 Backported from master: 1398 2024-01-08 Georg-Johann Lay <avr@gjlay.de> 1399 1400 PR target/112952 1401 * config/avr/avr.cc (avr_handle_addr_attribute): Also print valid 1402 range when diagnosing attribute "io" and "io_low" are out of range. 1403 (avr_eval_addr_attrib): Don't ICE on empty address at that place. 1404 (avr_insert_attributes): Reject if attribute "address", "io" or "io_low" 1405 in contexts other than static storage. 1406 (avr_asm_output_aligned_decl_common): Move output of decls with 1407 attribute "address", "io", and "io_low" to... 1408 (avr_output_addr_attrib): ...this new function. 1409 (avr_asm_asm_output_aligned_bss): Remove output for decls with 1410 attribute "address", "io", and "io_low". 1411 (avr_encode_section_info): Rectify handling of decls with attribute 1412 "address", "io", and "io_low". 1413 14142023-12-19 Jakub Jelinek <jakub@redhat.com> 1415 1416 Backported from master: 1417 2023-12-19 Jakub Jelinek <jakub@redhat.com> 1418 1419 PR target/112816 1420 * config/i386/mmx.md (signbitv2sf2): Force operands[1] into a REG. 1421 14222023-12-18 Jakub Jelinek <jakub@redhat.com> 1423 1424 Backported from master: 1425 2023-12-18 Jakub Jelinek <jakub@redhat.com> 1426 1427 PR tree-optimization/113013 1428 * tree-object-size.cc (alloc_object_size): Return size_unknown if 1429 corresponding argument(s) don't have integral type or have integral 1430 type with higher precision than sizetype. Don't check arg1 >= 0 1431 uselessly. Compare argument indexes against gimple_call_num_args 1432 in unsigned type rather than int. Formatting fixes. 1433 14342023-12-16 Jakub Jelinek <jakub@redhat.com> 1435 1436 Backported from master: 1437 2023-11-29 Jakub Jelinek <jakub@redhat.com> 1438 1439 PR middle-end/112733 1440 * fold-const.cc (multiple_of_p): Pass SIGNED rather than 1441 UNSIGNED for wi::multiple_of_p on widest_int arguments. 1442 14432023-12-16 Jakub Jelinek <jakub@redhat.com> 1444 1445 Backported from master: 1446 2023-12-05 Jakub Jelinek <jakub@redhat.com> 1447 1448 PR target/112845 1449 * config/i386/i386.md (movabsq $(i32 << shift), r64 peephole2): FAIL 1450 if the new immediate is ix86_endbr_immediate_operand. 1451 14522023-12-16 Jakub Jelinek <jakub@redhat.com> 1453 1454 Backported from master: 1455 2023-12-04 Jakub Jelinek <jakub@redhat.com> 1456 1457 PR target/112837 1458 * config/i386/i386.cc (ix86_elim_entry_set_got): Before checking 1459 for UNSPEC_SET_GOT check that SET_SRC is UNSPEC. Use SET_SRC and 1460 SET_DEST macros instead of XEXP, rename vec variable to set. 1461 14622023-12-16 Jakub Jelinek <jakub@redhat.com> 1463 1464 Backported from master: 1465 2023-12-04 Jakub Jelinek <jakub@redhat.com> 1466 1467 PR target/112816 1468 * config/i386/sse.md (signbit<mode>2): Force operands[1] into a REG. 1469 14702023-12-16 Jakub Jelinek <jakub@redhat.com> 1471 1472 Backported from master: 1473 2023-11-25 Jakub Jelinek <jakub@redhat.com> 1474 1475 PR target/111408 1476 * config/i386/i386.md (*jcc_bt<mode>_mask): Add (const_int 0) as 1477 expected second operand of bt_comparison_operator. 1478 14792023-12-16 Jakub Jelinek <jakub@redhat.com> 1480 1481 Backported from master: 1482 2023-11-13 Jakub Jelinek <jakub@redhat.com> 1483 1484 PR tree-optimization/111967 1485 * gimple-range-cache.cc (block_range_cache::set_bb_range): Grow 1486 m_ssa_ranges to num_ssa_names rather than num_ssa_names + 1. 1487 (block_range_cache::dump): Iterate from 1 rather than 0. Don't use 1488 ssa_name (x) unless m_ssa_ranges[x] is non-NULL. Iterate to 1489 m_ssa_ranges.length () rather than num_ssa_names. 1490 14912023-12-16 Jakub Jelinek <jakub@redhat.com> 1492 1493 Backported from master: 1494 2023-11-09 Jakub Jelinek <jakub@redhat.com> 1495 1496 PR c/112339 1497 * attribs.cc (attribute_ignored_p): Only return true for 1498 attr_namespace_ignored_p if as is NULL. 1499 (decl_attributes): Never add ignored attributes. 1500 15012023-12-16 Jakub Jelinek <jakub@redhat.com> 1502 1503 Backported from master: 1504 2023-07-19 Jakub Jelinek <jakub@redhat.com> 1505 1506 PR tree-optimization/110731 1507 * wide-int.cc (wi::divmod_internal): Always unpack dividend and 1508 divisor as UNSIGNED regardless of sgn. 1509 15102023-12-15 Richard Biener <rguenther@suse.de> 1511 1512 Backported from master: 1513 2023-08-24 Richard Biener <rguenther@suse.de> 1514 1515 PR debug/111080 1516 * dwarf2out.cc (prune_unused_types_walk): Handle 1517 DW_TAG_restrict_type, DW_TAG_shared_type, DW_TAG_atomic_type, 1518 DW_TAG_immutable_type, DW_TAG_coarray_type, DW_TAG_unspecified_type 1519 and DW_TAG_dynamic_type as to only output them when referenced. 1520 15212023-12-15 Richard Biener <rguenther@suse.de> 1522 1523 Backported from master: 1524 2023-08-25 Richard Biener <rguenther@suse.de> 1525 1526 PR tree-optimization/111137 1527 * tree-vect-data-refs.cc (vect_slp_analyze_load_dependences): 1528 Properly handle grouped stores from other SLP instances. 1529 15302023-12-15 Richard Biener <rguenther@suse.de> 1531 1532 Backported from master: 1533 2023-08-25 Richard Biener <rguenther@suse.de> 1534 1535 * tree-vect-data-refs.cc (vect_slp_analyze_store_dependences): 1536 Split out from vect_slp_analyze_node_dependences, remove 1537 dead code. 1538 (vect_slp_analyze_load_dependences): Split out from 1539 vect_slp_analyze_node_dependences, adjust comments. Process 1540 queued stores before any disambiguation. 1541 (vect_slp_analyze_node_dependences): Remove. 1542 (vect_slp_analyze_instance_dependence): Adjust. 1543 15442023-12-12 liuhongt <hongtao.liu@intel.com> 1545 1546 Backported from master: 1547 2023-12-12 liuhongt <hongtao.liu@intel.com> 1548 1549 PR target/112891 1550 * config/i386/i386.cc (ix86_avx_u128_mode_after): Return 1551 AVX_U128_ANY if callee_abi doesn't clobber all_sse_regs to 1552 align with ix86_avx_u128_mode_needed. 1553 (ix86_avx_u128_mode_needed): Return AVX_U128_ClEAN for 1554 sibling_call. 1555 15562023-11-27 Richard Biener <rguenther@suse.de> 1557 1558 Backported from master: 1559 2023-10-23 Richard Biener <rguenther@suse.de> 1560 1561 PR tree-optimization/111917 1562 * tree-ssa-loop-unswitch.cc (hoist_guard): Always insert 1563 new conditional after last stmt. 1564 15652023-11-27 Richard Biener <rguenther@suse.de> 1566 1567 Backported from master: 1568 2023-10-17 Richard Biener <rguenther@suse.de> 1569 1570 PR middle-end/111818 1571 * tree-ssa.cc (maybe_optimize_var): When clearing 1572 DECL_NOT_GIMPLE_REG_P always rewrite into SSA. 1573 15742023-11-27 Richard Biener <rguenther@suse.de> 1575 1576 Backported from master: 1577 2023-09-28 Richard Biener <rguenther@suse.de> 1578 1579 PR tree-optimization/111614 1580 * tree-ssa-reassoc.cc (undistribute_bitref_for_vector): Properly 1581 convert the first vector when required. 1582 15832023-11-27 Richard Biener <rguenther@suse.de> 1584 1585 Backported from master: 1586 2023-10-12 Richard Biener <rguenther@suse.de> 1587 1588 PR tree-optimization/111764 1589 * tree-vect-loop.cc (check_reduction_path): Remove the attempt 1590 to allow x + x via special-casing of assigns. 1591 15922023-11-27 Richard Biener <rguenther@suse.de> 1593 1594 Backported from master: 1595 2023-10-20 Richard Biener <rguenther@suse.de> 1596 1597 PR tree-optimization/111445 1598 * tree-scalar-evolution.cc (simple_iv_with_niters): 1599 Add missing check for a sign-conversion. 1600 16012023-11-27 Richard Biener <rguenther@suse.de> 1602 1603 Backported from master: 1604 2023-08-18 Richard Biener <rguenther@suse.de> 1605 1606 PR tree-optimization/111019 1607 * tree-ssa-loop-im.cc (gather_mem_refs_stmt): When canonicalizing 1608 also scrap base and offset in case the ref is indirect. 1609 16102023-11-27 Richard Biener <rguenther@suse.de> 1611 1612 Backported from master: 1613 2023-08-03 Richard Biener <rguenther@suse.de> 1614 1615 PR tree-optimization/110702 1616 * tree-ssa-loop-ivopts.cc (rewrite_use_address): When 1617 we created a NULL pointer based access rewrite that to 1618 a LEA. 1619 16202023-11-27 Richard Biener <rguenther@suse.de> 1621 1622 Backported from master: 1623 2023-07-06 Richard Biener <rguenther@suse.de> 1624 1625 PR tree-optimization/110556 1626 * tree-ssa-tail-merge.cc (gimple_equal_p): Check 1627 assign code and all operands of non-stores. 1628 16292023-11-27 Richard Biener <rguenther@suse.de> 1630 1631 Backported from master: 1632 2023-07-06 Richard Biener <rguenther@suse.de> 1633 1634 PR tree-optimization/110515 1635 * tree-ssa-pre.cc (compute_avail): Make code dealing 1636 with hoisting loads with different alias-sets more 1637 robust. 1638 16392023-11-27 Richard Biener <rguenther@suse.de> 1640 1641 Backported from master: 1642 2023-06-20 Richard Biener <rguenther@suse.de> 1643 1644 PR debug/110295 1645 * dwarf2out.cc (process_scope_var): Continue processing 1646 the decl after setting a parent in case the existing DIE 1647 was in limbo. 1648 16492023-11-27 Richard Biener <rguenther@suse.de> 1650 1651 Backported from master: 1652 2023-05-31 Richard Biener <rguenther@suse.de> 1653 1654 PR ipa/109983 1655 PR tree-optimization/109143 1656 * tree-ssa-structalias.cc (struct topo_info): Remove. 1657 (init_topo_info): Likewise. 1658 (free_topo_info): Likewise. 1659 (compute_topo_order): Simplify API, put the component 1660 with ESCAPED last so it's processed first. 1661 (topo_visit): Adjust. 1662 (solve_graph): Likewise. 1663 16642023-11-24 Uros Bizjak <ubizjak@gmail.com> 1665 1666 Backported from master: 1667 2023-11-23 Uros Bizjak <ubizjak@gmail.com> 1668 1669 PR target/112672 1670 * config/i386/i386.md (parityhi2): 1671 Use temporary register in the call to gen_parityhi2_cmp. 1672 16732023-11-22 Maciej W. Rozycki <macro@embecosm.com> 1674 1675 Backported from master: 1676 2023-11-22 Maciej W. Rozycki <macro@embecosm.com> 1677 1678 PR target/111815 1679 * config/vax/vax.cc (index_term_p): Only accept the index scaler 1680 as the RHS operand to ASHIFT. 1681 16822023-11-20 Lulu Cheng <chenglulu@loongson.cn> 1683 1684 Backported from master: 1685 2023-11-20 Lulu Cheng <chenglulu@loongson.cn> 1686 1687 * config/loongarch/gnu-user.h (MUSL_ABI_SPEC): Modify suffix. 1688 16892023-11-20 Peng Fan <fanpeng@loongson.cn> 1690 1691 Backported from master: 1692 2023-04-21 Peng Fan <fanpeng@loongson.cn> 1693 1694 * config/loongarch/gnu-user.h (MUSL_DYNAMIC_LINKER): Redefine. 1695 16962023-11-16 Xi Ruoyao <xry111@xry111.site> 1697 1698 Backported from master: 1699 2023-11-15 Xi Ruoyao <xry111@xry111.site> 1700 1701 * config/loongarch/loongarch.cc 1702 (loongarch_memmodel_needs_release_fence): Remove. 1703 (loongarch_cas_failure_memorder_needs_acquire): New static 1704 function. 1705 (loongarch_print_operand): Redefine 'G' for the barrier on CAS 1706 failure. 1707 * config/loongarch/sync.md (atomic_cas_value_strong<mode>): 1708 Remove the redundant barrier before the LL instruction, and 1709 emit an acquire barrier on failure if needed by 1710 failure_memorder. 1711 (atomic_cas_value_cmp_and_7_<mode>): Likewise. 1712 (atomic_cas_value_add_7_<mode>): Remove the unnecessary barrier 1713 before the LL instruction. 1714 (atomic_cas_value_sub_7_<mode>): Likewise. 1715 (atomic_cas_value_and_7_<mode>): Likewise. 1716 (atomic_cas_value_xor_7_<mode>): Likewise. 1717 (atomic_cas_value_or_7_<mode>): Likewise. 1718 (atomic_cas_value_nand_7_<mode>): Likewise. 1719 (atomic_cas_value_exchange_7_<mode>): Likewise. 1720 17212023-11-15 Kewen Lin <linkw@linux.ibm.com> 1722 1723 Backported from master: 1724 2023-11-06 Kewen Lin <linkw@linux.ibm.com> 1725 1726 PR target/111828 1727 * config.in: Regenerate. 1728 * config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Guard 1729 inline asm handling under !HAVE_AS_POWER10_HTM. 1730 * configure: Regenerate. 1731 * configure.ac: Detect assembler support for HTM insns at power10. 1732 17332023-11-10 liuhongt <hongtao.liu@intel.com> 1734 1735 Backported from master: 1736 2023-11-10 liuhongt <hongtao.liu@intel.com> 1737 1738 PR target/112443 1739 * config/i386/sse.md (*avx2_pcmp<mode>3_4): Fix swap condition 1740 from LT to GT since there's not in the pattern. 1741 (*avx2_pcmp<mode>3_5): Ditto. 1742 17432023-11-06 John David Anglin <danglin@gcc.gnu.org> 1744 1745 * config/pa/pa.cc (pa_asm_trampoline_template): Fix typo. 1746 17472023-10-26 Lulu Cheng <chenglulu@loongson.cn> 1748 1749 Backported from master: 1750 2023-10-23 Lulu Cheng <chenglulu@loongson.cn> 1751 1752 * config/loongarch/loongarch.h (CLEAR_INSN_CACHE): New definition. 1753 17542023-10-26 chenxiaolong <chenxiaolong@loongson.cn> 1755 1756 Backported from master: 1757 2023-10-25 chenxiaolong <chenxiaolong@loongson.cn> 1758 1759 * config/loongarch/loongarch.md (get_thread_pointer<mode>):Adds the 1760 instruction template corresponding to the __builtin_thread_pointer 1761 function. 1762 * doc/extend.texi:Add the __builtin_thread_pointer function support 1763 description to the documentation. 1764 17652023-10-26 liuhongt <hongtao.liu@intel.com> 1766 1767 Backported from master: 1768 2023-07-06 liuhongt <hongtao.liu@intel.com> 1769 1770 PR target/110170 1771 * config/i386/i386.md (movdf_internal): Disparage slightly for 1772 2 alternatives (r,v) and (v,r) by adding constraint modifier 1773 '?'. 1774 17752023-10-23 Oleg Endo <olegendo@gcc.gnu.org> 1776 1777 PR target/111001 1778 * config/sh/sh_treg_combine.cc (sh_treg_combine::record_set_of_reg): 1779 Skip over nop move insns. 1780 17812023-10-23 Kewen Lin <linkw@linux.ibm.com> 1782 1783 Backported from master: 1784 2023-10-12 Kewen Lin <linkw@linux.ibm.com> 1785 1786 PR target/111367 1787 * config/rs6000/rs6000.md (stack_protect_setsi): Support prefixed 1788 instruction emission and incorporate to stack_protect_set<mode>. 1789 (stack_protect_setdi): Rename to ... 1790 (stack_protect_set<mode>): ... this, adjust constraint. 1791 (stack_protect_testsi): Support prefixed instruction emission and 1792 incorporate to stack_protect_test<mode>. 1793 (stack_protect_testdi): Rename to ... 1794 (stack_protect_test<mode>): ... this, adjust constraint. 1795 17962023-10-20 Oleg Endo <olegendo@gcc.gnu.org> 1797 1798 PR target/101177 1799 * config/sh/sh.md (unnamed split pattern): Fix comparison of 1800 find_regno_note result. 1801 18022023-10-19 Richard Sandiford <richard.sandiford@arm.com> 1803 1804 Backported from master: 1805 2023-09-07 Richard Sandiford <richard.sandiford@arm.com> 1806 1807 PR target/111528 1808 * lra-eliminations.cc (lra_eliminate_regs_1): Use simplify_gen_binary 1809 rather than gen_rtx_PLUS. 1810 18112023-10-16 Kewen Lin <linkw@linux.ibm.com> 1812 1813 Backported from master: 1814 2023-09-25 Kewen Lin <linkw@linux.ibm.com> 1815 1816 PR target/111380 1817 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Adopt 1818 target_option_default_node when the callee has no option 1819 attributes, also simplify the existing code accordingly. 1820 18212023-10-16 Kewen Lin <linkw@linux.ibm.com> 1822 1823 Backported from master: 1824 2023-09-25 Kewen Lin <linkw@linux.ibm.com> 1825 1826 PR target/111366 1827 * config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Skip 1828 empty inline asm. 1829 18302023-10-07 Andrew Pinski <pinskia@gmail.com> 1831 1832 Backported from master: 1833 2023-10-06 Andrew Pinski <pinskia@gmail.com> 1834 1835 PR middle-end/111699 1836 * match.pd ((c ? a : b) op d, (c ? a : b) op (c ? d : e), 1837 (v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): Enable only for GIMPLE. 1838 18392023-10-02 Pat Haugen <pthaugen@linux.ibm.com> 1840 1841 Backported from master: 1842 2023-09-19 Pat Haugen <pthaugen@linux.ibm.com> 1843 1844 * config/rs6000/rs6000.cc (rs6000_rtx_costs): Check whether the 1845 modulo instruction is disabled. 1846 * config/rs6000/rs6000.h (RS6000_DISABLE_SCALAR_MODULO): New. 1847 * config/rs6000/rs6000.md (mod<mode>3, *mod<mode>3): Check it. 1848 (define_expand umod<mode>3): New. 1849 (define_insn umod<mode>3): Rename to *umod<mode>3 and check if the modulo 1850 instruction is disabled. 1851 (umodti3, modti3): Check if the modulo instruction is disabled. 1852 18532023-09-29 Wilco Dijkstra <wilco.dijkstra@arm.com> 1854 1855 Backported from master: 1856 2023-09-28 Wilco Dijkstra <wilco.dijkstra@arm.com> 1857 1858 PR target/111121 1859 * config/aarch64/aarch64.md (aarch64_movmemdi): Add new expander. 1860 (movmemdi): Call aarch64_expand_cpymem_mops for correct expansion. 1861 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Add support 1862 for memmove. 1863 * config/aarch64/aarch64-protos.h (aarch64_expand_cpymem_mops): Add new 1864 function. 1865 18662023-09-26 Eric Botcazou <ebotcazou@adacore.com> 1867 1868 * gimple-range-gori.cc (gori_compute::logical_combine): Add missing 1869 return statement in the varying case. 1870 18712023-09-20 Richard Sandiford <richard.sandiford@arm.com> 1872 1873 Backported from master: 1874 2023-09-15 Richard Sandiford <richard.sandiford@arm.com> 1875 1876 PR target/111411 1877 * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): Require 1878 the lower memory access to a mem-pair operand. 1879 18802023-09-20 Richard Sandiford <richard.sandiford@arm.com> 1881 1882 Backported from master: 1883 2023-08-31 Richard Sandiford <richard.sandiford@arm.com> 1884 1885 * config/aarch64/aarch64.md (untyped_call): Emit a call_value 1886 rather than a call. List each possible destination register 1887 in the call pattern. 1888 18892023-09-12 Uros Bizjak <ubizjak@gmail.com> 1890 1891 PR target/111340 1892 * config/i386/i386.cc (output_pic_addr_const): Handle CONST_WIDE_INT. 1893 Call output_addr_const for CASE_CONST_SCALAR_INT. 1894 18952023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1896 1897 * config/aarch64/aarch64.cc (aarch64_save_regs_above_locals_p): 1898 New function. 1899 (aarch64_layout_frame): Use it to decide whether locals should 1900 go above or below the saved registers. 1901 (aarch64_expand_prologue): Update stack layout comment. 1902 Emit a stack tie after the final adjustment. 1903 19042023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1905 1906 * config/aarch64/aarch64.h (aarch64_frame::saved_regs_size) 1907 (aarch64_frame::below_hard_fp_saved_regs_size): Delete. 1908 * config/aarch64/aarch64.cc (aarch64_layout_frame): Update accordingly. 1909 19102023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1911 1912 * config/aarch64/aarch64.h (aarch64_frame::sve_save_and_probe) 1913 (aarch64_frame::hard_fp_save_and_probe): New fields. 1914 * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize them. 1915 Rather than asserting that a leaf function saves LR, instead assert 1916 that a leaf function saves something. 1917 (aarch64_get_separate_components): Prevent the chosen probe 1918 registers from being individually shrink-wrapped. 1919 (aarch64_allocate_and_probe_stack_space): Remove workaround for 1920 probe registers that aren't at the bottom of the previous allocation. 1921 19222023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1923 1924 * config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space): 1925 Always probe the residual allocation at offset 1024, asserting 1926 that that is in range. 1927 19282023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1929 1930 * config/aarch64/aarch64.cc (aarch64_layout_frame): Ensure that 1931 the LR save slot is in the first 16 bytes of the register save area. 1932 Only form STP/LDP push/pop candidates if both registers are valid. 1933 (aarch64_allocate_and_probe_stack_space): Remove workaround for 1934 when LR was not in the first 16 bytes. 1935 19362023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1937 1938 * config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space): 1939 Don't probe final allocations that are exactly 1KiB in size (after 1940 unprobed space above the final allocation has been deducted). 1941 19422023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1943 1944 * config/aarch64/aarch64.cc (aarch64_layout_frame): Tweak 1945 calculation of initial_adjust for frames in which all saves 1946 are SVE saves. 1947 19482023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1949 1950 * config/aarch64/aarch64.cc (aarch64_layout_frame): Simplify 1951 the allocation of the top of the frame. 1952 19532023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1954 1955 * config/aarch64/aarch64.h (aarch64_frame): Add comment above 1956 reg_offset. 1957 * config/aarch64/aarch64.cc (aarch64_layout_frame): Walk offsets 1958 from the bottom of the frame, rather than the bottom of the saved 1959 register area. Measure reg_offset from the bottom of the frame 1960 rather than the bottom of the saved register area. 1961 (aarch64_save_callee_saves): Update accordingly. 1962 (aarch64_restore_callee_saves): Likewise. 1963 (aarch64_get_separate_components): Likewise. 1964 (aarch64_process_components): Likewise. 1965 19662023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1967 1968 * config/aarch64/aarch64.h (aarch64_frame::frame_size): Tweak comment. 1969 19702023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1971 1972 * config/aarch64/aarch64.h (aarch64_frame::hard_fp_offset): Rename 1973 to... 1974 (aarch64_frame::bytes_above_hard_fp): ...this. 1975 * config/aarch64/aarch64.cc (aarch64_layout_frame) 1976 (aarch64_expand_prologue): Update accordingly. 1977 (aarch64_initial_elimination_offset): Likewise. 1978 19792023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1980 1981 * config/aarch64/aarch64.h (aarch64_frame::locals_offset): Rename to... 1982 (aarch64_frame::bytes_above_locals): ...this. 1983 * config/aarch64/aarch64.cc (aarch64_layout_frame) 1984 (aarch64_initial_elimination_offset): Update accordingly. 1985 19862023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1987 1988 * config/aarch64/aarch64.cc (aarch64_expand_prologue): Move the 1989 calculation of chain_offset into the emit_frame_chain block. 1990 19912023-09-12 Richard Sandiford <richard.sandiford@arm.com> 1992 1993 * config/aarch64/aarch64.h (aarch64_frame::callee_offset): Delete. 1994 * config/aarch64/aarch64.cc (aarch64_layout_frame): Remove 1995 callee_offset handling. 1996 (aarch64_save_callee_saves): Replace the start_offset parameter 1997 with a bytes_below_sp parameter. 1998 (aarch64_restore_callee_saves): Likewise. 1999 (aarch64_expand_prologue): Update accordingly. 2000 (aarch64_expand_epilogue): Likewise. 2001 20022023-09-12 Richard Sandiford <richard.sandiford@arm.com> 2003 2004 * config/aarch64/aarch64.h (aarch64_frame::bytes_below_hard_fp): New 2005 field. 2006 * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it. 2007 (aarch64_expand_epilogue): Use it instead of 2008 below_hard_fp_saved_regs_size. 2009 20102023-09-12 Richard Sandiford <richard.sandiford@arm.com> 2011 2012 * config/aarch64/aarch64.h (aarch64_frame::bytes_below_saved_regs): New 2013 field. 2014 * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it, 2015 and use it instead of crtl->outgoing_args_size. 2016 (aarch64_get_separate_components): Use bytes_below_saved_regs instead 2017 of outgoing_args_size. 2018 (aarch64_process_components): Likewise. 2019 20202023-09-12 Richard Sandiford <richard.sandiford@arm.com> 2021 2022 * config/aarch64/aarch64.cc (aarch64_layout_frame): Explicitly 2023 allocate the frame in one go if there are no saved registers. 2024 20252023-09-12 Richard Sandiford <richard.sandiford@arm.com> 2026 2027 * config/aarch64/aarch64.cc (aarch64_expand_prologue): Use 2028 chain_offset rather than callee_offset. 2029 20302023-09-12 Richard Sandiford <richard.sandiford@arm.com> 2031 2032 * config/aarch64/aarch64.cc (aarch64_save_callee_saves): Use 2033 a local shorthand for cfun->machine->frame. 2034 (aarch64_restore_callee_saves, aarch64_get_separate_components): 2035 (aarch64_process_components): Likewise. 2036 (aarch64_allocate_and_probe_stack_space): Likewise. 2037 (aarch64_expand_prologue, aarch64_expand_epilogue): Likewise. 2038 (aarch64_layout_frame): Use existing shorthand for one more case. 2039 20402023-09-12 Haochen Gui <guihaoc@gcc.gnu.org> 2041 2042 Backported from master: 2043 2023-08-31 Haochen Gui <guihaoc@gcc.gnu.org> 2044 2045 PR target/96762 2046 * config/rs6000/rs6000-string.cc (expand_block_move): Call vector 2047 load/store with length only on 64-bit Power10. 2048 20492023-09-11 liuhongt <hongtao.liu@intel.com> 2050 2051 Backported from master: 2052 2023-09-11 liuhongt <hongtao.liu@intel.com> 2053 2054 PR target/111306 2055 PR target/111335 2056 * config/i386/sse.md (int_comm): New int_attr. 2057 (fma_<complexopname>_<mode><sdc_maskz_name><round_name>): 2058 Remove % for Complex conjugate operations since they're not 2059 commutative. 2060 (fma_<complexpairopname>_<mode>_pair): Ditto. 2061 (<avx512>_<complexopname>_<mode>_mask<round_name>): Ditto. 2062 (cmul<conj_op><mode>3): Ditto. 2063 20642023-09-01 Tobias Burnus <tobias@codesourcery.com> 2065 2066 Backported from master: 2067 2023-08-19 Tobias Burnus <tobias@codesourcery.com> 2068 2069 PR middle-end/111017 2070 * omp-expand.cc (expand_omp_for_init_vars): Pass after=true 2071 to expand_omp_build_cond for 'factor != 0' condition, resulting 2072 in pre-r12-5295-g47de0b56ee455e code for the gimple insert. 2073 20742023-09-01 Lulu Cheng <chenglulu@loongson.cn> 2075 2076 Backported from master: 2077 2023-09-01 Lulu Cheng <chenglulu@loongson.cn> 2078 Guo Jie <guojie@loongson.cn> 2079 2080 PR target/110484 2081 * config/loongarch/loongarch.cc (loongarch_emit_stack_tie): Use the 2082 frame_pointer_needed to determine whether to use the $fp register. 2083 20842023-08-30 Jakub Jelinek <jakub@redhat.com> 2085 2086 Backported from master: 2087 2023-08-30 Jakub Jelinek <jakub@redhat.com> 2088 2089 PR tree-optimization/110914 2090 * tree-ssa-strlen.cc (strlen_pass::handle_builtin_memcpy): Don't call 2091 adjust_last_stmt unless len is known constant. 2092 20932023-08-30 Jakub Jelinek <jakub@redhat.com> 2094 2095 Backported from master: 2096 2023-08-30 Jakub Jelinek <jakub@redhat.com> 2097 2098 PR tree-optimization/111015 2099 * gimple-ssa-store-merging.cc 2100 (imm_store_chain_info::output_merged_store): Use wi::mask and 2101 wide_int_to_tree instead of unsigned HOST_WIDE_INT shift and 2102 build_int_cst to build BIT_AND_EXPR mask. 2103 21042023-08-19 Guo Jie <guojie@loongson.cn> 2105 2106 Backported from master: 2107 2023-08-19 Guo Jie <guojie@loongson.cn> 2108 Lulu Cheng <chenglulu@loongson.cn> 2109 2110 * config/loongarch/t-loongarch: Add loongarch-driver.h into 2111 TM_H. Add loongarch-def.h and loongarch-tune.h into 2112 OPTIONS_H_EXTRA. 2113 21142023-08-16 liuhongt <hongtao.liu@intel.com> 2115 2116 Backported from master: 2117 2023-08-16 liuhongt <hongtao.liu@intel.com> 2118 2119 * config/i386/i386-builtins.cc 2120 (ix86_vectorize_builtin_gather): Adjust for use_gather_8parts. 2121 * config/i386/i386-options.cc (parse_mtune_ctrl_str): 2122 Set/Clear tune features use_{gather,scatter}_{2parts, 4parts, 2123 8parts} for -mtune-crtl={,^}{use_gather,use_scatter}. 2124 * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Adjust 2125 for use_scatter_8parts 2126 * config/i386/i386.h (TARGET_USE_GATHER): Rename to .. 2127 (TARGET_USE_GATHER_8PARTS): .. this. 2128 (TARGET_USE_SCATTER): Rename to .. 2129 (TARGET_USE_SCATTER_8PARTS): .. this. 2130 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER): Rename to 2131 (X86_TUNE_USE_GATHER_8PARTS): .. this. 2132 (X86_TUNE_USE_SCATTER): Rename to 2133 (X86_TUNE_USE_SCATTER_8PARTS): .. this. 2134 * config/i386/i386.opt: Add new options mgather, mscatter. 2135 21362023-08-16 liuhongt <hongtao.liu@intel.com> 2137 2138 Backported from master: 2139 2023-08-16 liuhongt <hongtao.liu@intel.com> 2140 2141 * config/i386/i386-options.cc (m_GDS): New macro. 2142 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Don't 2143 enable for m_GDS. 2144 (X86_TUNE_USE_GATHER_4PARTS): Ditto. 2145 (X86_TUNE_USE_GATHER): Ditto. 2146 21472023-08-09 liuhongt <hongtao.liu@intel.com> 2148 2149 * common/config/i386/cpuinfo.h (get_available_features): Check 2150 max_subleaf_level for valid subleaf before use CPUID. 2151 21522023-08-01 Kewen Lin <linkw@linux.ibm.com> 2153 2154 Backported from master: 2155 2023-07-26 Kewen Lin <linkw@linux.ibm.com> 2156 2157 PR target/110741 2158 * config/rs6000/vsx.md (define_insn xxeval): Correct vsx 2159 operands output with "x". 2160 21612023-07-14 Uros Bizjak <ubizjak@gmail.com> 2162 2163 Backported from master: 2164 2023-07-14 Uros Bizjak <ubizjak@gmail.com> 2165 2166 PR target/110206 2167 * fwprop.cc (contains_paradoxical_subreg_p): Move to ... 2168 * rtlanal.cc (contains_paradoxical_subreg_p): ... here. 2169 * rtlanal.h (contains_paradoxical_subreg_p): Add prototype. 2170 * cprop.cc (try_replace_reg): Do not set REG_EQUAL note 2171 when the original source contains a paradoxical subreg. 2172 21732023-07-14 Oleg Endo <olegendo@gcc.gnu.org> 2174 2175 PR target/101469 2176 * config/sh/sh.md (peephole2): Handle case where eliminated reg 2177 is also used by the address of the following memory operand. 2178 21792023-07-13 Uros Bizjak <ubizjak@gmail.com> 2180 2181 Backported from master: 2182 2023-07-13 Uros Bizjak <ubizjak@gmail.com> 2183 2184 PR target/106966 2185 * config/alpha/alpha.cc (alpha_emit_set_long_const): 2186 Always use DImode when constructing long const. 2187 21882023-07-08 Jonathan Wakely <jwakely@redhat.com> 2189 2190 Backported from master: 2191 2023-07-08 Jonathan Wakely <jwakely@redhat.com> 2192 2193 PR c++/110595 2194 * doc/invoke.texi (Warning Options): Fix typo. 2195 21962023-07-05 Michael Meissner <meissner@linux.ibm.com> 2197 2198 Backported from master: 2199 2023-06-23 Michael Meissner <meissner@linux.ibm.com> 2200 Aaron Sawdey <acsawdey@linux.ibm.com> 2201 2202 PR target/105325 2203 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): Fix problems that 2204 allowed prefixed lwa to be generated. 2205 * config/rs6000/fusion.md: Regenerate. 2206 * config/rs6000/predicates.md (ds_form_mem_operand): Delete. 2207 * config/rs6000/rs6000.md (prefixed attribute): Add support for load 2208 plus compare immediate fused insns. 2209 (maybe_prefixed): Likewise. 2210 22112023-07-05 Segher Boessenkool <segher@kernel.crashing.org> 2212 2213 Backported from master: 2214 2023-06-06 Segher Boessenkool <segher@kernel.crashing.org> 2215 2216 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): New, rewritten and 2217 split out from... 2218 (gen_ld_cmpi_p10): ... this. 2219 22202023-07-04 Cui, Lili <lili.cui@intel.com> 2221 2222 * common/config/i386/cpuinfo.h (get_intel_cpu): Remove model value 0xa8 2223 from Rocketlake, remove model value 0xbf from Alderlake. 2224 22252023-06-30 Eric Botcazou <ebotcazou@adacore.com> 2226 2227 * gimple-fold.cc (fold_array_ctor_reference): Fix head comment. 2228 (fold_nonarray_ctor_reference): Likewise. Specifically deal 2229 with integral bit-fields. 2230 (fold_ctor_reference): Make sure that the constructor uses the 2231 native storage order. 2232 22332023-06-29 liuhongt <hongtao.liu@intel.com> 2234 2235 PR rtl-optimization/110237 2236 * config/i386/sse.md (<avx512>_store<mode>_mask): Refine with 2237 UNSPEC_MASKMOV. 2238 (maskstore<mode><avx512fmaskmodelower): Ditto. 2239 (*<avx512>_store<mode>_mask): New define_insn, it's renamed 2240 from original <avx512>_store<mode>_mask. 2241 22422023-06-29 liuhongt <hongtao.liu@intel.com> 2243 2244 PR target/110309 2245 * config/i386/sse.md (maskload<mode><avx512fmaskmodelower>): 2246 Refine pattern with UNSPEC_MASKLOAD. 2247 (maskload<mode><avx512fmaskmodelower>): Ditto. 2248 (*<avx512>_load<mode>_mask): Extend mode iterator to 2249 VI12HF_AVX512VL. 2250 (*<avx512>_load<mode>): Ditto. 2251 22522023-06-29 Hongyu Wang <hongyu.wang@intel.com> 2253 2254 Backported from master: 2255 2023-06-26 Hongyu Wang <hongyu.wang@intel.com> 2256 2257 * config/i386/i386-options.cc (ix86_valid_target_attribute_tree): 2258 Override tune_string with arch_string if tune_string is not 2259 explicitly specified. 2260 22612023-06-28 Thomas Schwinge <thomas@codesourcery.com> 2262 2263 Backported from master: 2264 2023-06-02 Thomas Schwinge <thomas@codesourcery.com> 2265 2266 PR testsuite/66005 2267 * doc/install.texi: Document (optional) Perl usage for parallel 2268 testing of libgomp. 2269 22702023-06-28 liuhongt <hongtao.liu@intel.com> 2271 2272 * config/i386/i386-features.cc (pass_insert_vzeroupper:gate): 2273 Move flag_expensive_optimizations && !optimize_size to .. 2274 * config/i386/i386-options.cc (ix86_option_override_internal): 2275 .. this, it makes -mvzeroupper independent of optimization 2276 level, but still keeps the behavior of architecture 2277 tuning(emit_vzeroupper) unchanged. 2278 22792023-06-27 Andrew Pinski <apinski@marvell.com> 2280 2281 Backported from master: 2282 2023-06-27 Andrew Pinski <apinski@marvell.com> 2283 2284 PR middle-end/110420 2285 PR middle-end/103979 2286 PR middle-end/98619 2287 * gimplify.cc (gimplify_asm_expr): Mark asm with labels as volatile. 2288 22892023-06-23 Richard Biener <rguenther@suse.de> 2290 2291 Backported from master: 2292 2023-06-19 Richard Biener <rguenther@suse.de> 2293 2294 PR tree-optimization/110298 2295 * tree-ssa-loop-ivcanon.cc (tree_unroll_loops_completely): 2296 Clear number of iterations info before cleaning up the CFG. 2297 22982023-06-23 Richard Biener <rguenther@suse.de> 2299 2300 Backported from master: 2301 2023-06-09 Richard Biener <rguenther@suse.de> 2302 2303 PR middle-end/110182 2304 * match.pd (two conversions in a row): Use element_precision 2305 to DTRT for VECTOR_TYPE. 2306 23072023-06-22 Alex Coplan <alex.coplan@arm.com> 2308 2309 Backported from master: 2310 2023-06-07 Alex Coplan <alex.coplan@arm.com> 2311 2312 PR target/110132 2313 * config/aarch64/aarch64-builtins.cc (aarch64_general_simulate_builtin): 2314 New. Use it ... 2315 (aarch64_init_ls64_builtins): ... here. Switch to declaring public ACLE 2316 names for builtins. 2317 (aarch64_general_init_builtins): Ensure we invoke the arm_acle.h 2318 setup if in_lto_p, just like we do for SVE. 2319 * config/aarch64/arm_acle.h: (__arm_ld64b): Delete. 2320 (__arm_st64b): Delete. 2321 (__arm_st64bv): Delete. 2322 (__arm_st64bv0): Delete. 2323 23242023-06-22 Alex Coplan <alex.coplan@arm.com> 2325 2326 Backported from master: 2327 2023-06-07 Alex Coplan <alex.coplan@arm.com> 2328 2329 PR target/110100 2330 * config/aarch64/aarch64-builtins.cc (aarch64_expand_builtin_ls64): 2331 Use input operand for the destination address. 2332 * config/aarch64/aarch64.md (st64b): Fix constraint on address 2333 operand. 2334 23352023-06-22 Alex Coplan <alex.coplan@arm.com> 2336 2337 Backported from master: 2338 2023-06-07 Alex Coplan <alex.coplan@arm.com> 2339 2340 PR target/110100 2341 * config/aarch64/aarch64-builtins.cc (aarch64_init_ls64_builtins_types): 2342 Replace eight consecutive spaces with tabs. 2343 (aarch64_init_ls64_builtins): Likewise. 2344 (aarch64_expand_builtin_ls64): Likewise. 2345 * config/aarch64/aarch64.md (ld64b): Likewise. 2346 (st64b): Likewise. 2347 (st64bv): Likewise 2348 (st64bv0): Likewise. 2349 23502023-06-20 Kewen Lin <linkw@linux.ibm.com> 2351 2352 Backported from master: 2353 2023-06-12 Kewen Lin <linkw@linux.ibm.com> 2354 2355 PR target/109932 2356 * config/rs6000/rs6000-builtins.def (__builtin_pack_vector_int128, 2357 __builtin_unpack_vector_int128): Move from stanza power7 to vsx. 2358 23592023-06-20 Kewen Lin <linkw@linux.ibm.com> 2360 2361 Backported from master: 2362 2023-06-12 Kewen Lin <linkw@linux.ibm.com> 2363 2364 PR target/110011 2365 * config/rs6000/rs6000.cc (output_toc): Use the mode of the 128-bit 2366 floating constant itself for real_to_target call. 2367 23682023-06-15 Lulu Cheng <chenglulu@loongson.cn> 2369 2370 Backported from master: 2371 2023-06-15 Lulu Cheng <chenglulu@loongson.cn> 2372 Andrew Pinski <apinski@marvell.com> 2373 2374 PR target/110136 2375 * config/loongarch/loongarch.md: Modify the register constraints for template 2376 "jumptable" and "indirect_jump" from "r" to "e". 2377 23782023-06-12 Richard Biener <rguenther@suse.de> 2379 2380 Backported from master: 2381 2023-06-12 Richard Biener <rguenther@suse.de> 2382 2383 PR middle-end/110200 2384 * genmatch.cc (expr::gen_transform): Put braces around 2385 the if arm for the (convert ...) short-cut. 2386 23872023-06-10 Georg-Johann Lay <avr@gjlay.de> 2388 2389 PR target/109650 2390 PR target/92729 2391 Backport from 2023-05-10 master r14-1688. 2392 * config/avr/avr-passes.def (avr_pass_ifelse): Insert new pass. 2393 * config/avr/avr.cc (avr_pass_ifelse): New RTL pass. 2394 (avr_pass_data_ifelse): New pass_data for it. 2395 (make_avr_pass_ifelse, avr_redundant_compare, avr_cbranch_cost) 2396 (avr_canonicalize_comparison, avr_out_plus_set_ZN) 2397 (avr_out_cmp_ext): New functions. 2398 (compare_condtition): Make sure REG_CC dies in the branch insn. 2399 (avr_rtx_costs_1): Add computation of cbranch costs. 2400 (avr_adjust_insn_length) [ADJUST_LEN_ADD_SET_ZN, ADJUST_LEN_CMP_ZEXT]: 2401 [ADJUST_LEN_CMP_SEXT]Handle them. 2402 (TARGET_CANONICALIZE_COMPARISON): New define. 2403 (avr_simplify_comparison_p, compare_diff_p, avr_compare_pattern) 2404 (avr_reorg_remove_redundant_compare, avr_reorg): Remove functions. 2405 (TARGET_MACHINE_DEPENDENT_REORG): Remove define. 2406 * config/avr/avr-protos.h (avr_simplify_comparison_p): Remove proto. 2407 (make_avr_pass_ifelse, avr_out_plus_set_ZN, cc_reg_rtx) 2408 (avr_out_cmp_zext): New Protos 2409 * config/avr/avr.md (branch, difficult_branch): Don't split insns. 2410 (*cbranchhi.zero-extend.0", *cbranchhi.zero-extend.1") 2411 (*swapped_tst<mode>, *add.for.eqne.<mode>): New insns. 2412 (*cbranch<mode>4): Rename to cbranch<mode>4_insn. 2413 (define_peephole): Add dead_or_set_regno_p(insn,REG_CC) as needed. 2414 (define_deephole2): Add peep2_regno_dead_p(*,REG_CC) as needed. 2415 Add new RTL peepholes for decrement-and-branch and *swapped_tst<mode>. 2416 Rework signtest-and-branch peepholes for *sbrx_branch<mode>. 2417 (adjust_len) [add_set_ZN, cmp_zext]: New. 2418 (QIPSI): New mode iterator. 2419 (ALLs1, ALLs2, ALLs4, ALLs234): New mode iterators. 2420 (gelt): New code iterator. 2421 (gelt_eqne): New code attribute. 2422 (rvbranch, *rvbranch, difficult_rvbranch, *difficult_rvbranch) 2423 (branch_unspec, *negated_tst<mode>, *reversed_tst<mode>) 2424 (*cmpqi_sign_extend): Remove insns. 2425 (define_c_enum "unspec") [UNSPEC_IDENTITY]: Remove. 2426 * config/avr/avr-dimode.md (cbranch<mode>4): Canonicalize comparisons. 2427 * config/avr/predicates.md (scratch_or_d_register_operand): New. 2428 * config/avr/constraints.md (Yxx): New constraint. 2429 24302023-06-09 Jeevitha Palanisamy <jeevitha@linux.ibm.com> 2431 2432 Backported from master: 2433 2023-06-06 Jeevitha Palanisamy <jeevitha@linux.ibm.com> 2434 2435 PR target/106907 2436 * config/rs6000/rs6000.cc (vec_const_128bit_to_bytes): Remove 2437 duplicate expression. 2438 24392023-06-09 Iain Sandoe <iain@sandoe.co.uk> 2440 2441 Backported from master: 2442 2023-06-02 Iain Sandoe <iain@sandoe.co.uk> 2443 2444 PR target/110044 2445 * config/rs6000/rs6000.cc (darwin_rs6000_special_round_type_align): 2446 Make sure that we do not have a cap on field alignment before altering 2447 the struct layout based on the type alignment of the first entry. 2448 24492023-06-09 liuhongt <hongtao.liu@intel.com> 2450 2451 PR target/110108 2452 * config/i386/i386.cc (ix86_gimple_fold_builtin): Explicitly 2453 view_convert_expr mask to signed type when folding pblendvb 2454 builtins. 2455 24562023-06-08 Alex Coplan <alex.coplan@arm.com> 2457 2458 Backported from master: 2459 2023-05-25 Alex Coplan <alex.coplan@arm.com> 2460 2461 PR target/109800 2462 * config/arm/arm.md (movdf): Generate temporary pseudo in DImode 2463 instead of DFmode. 2464 * config/arm/vfp.md (no_literal_pool_df_immediate): Rather than punning an 2465 lvalue DFmode pseudo into DImode, use a DImode pseudo and pun it into 2466 DFmode as an rvalue. 2467 24682023-06-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2469 2470 Backported from master: 2471 2023-05-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2472 2473 PR target/109939 2474 * config/arm/arm-builtins.cc (SAT_BINOP_UNSIGNED_IMM_QUALIFIERS): Use 2475 qualifier_none for the return operand. 2476 24772023-06-02 Georg-Johann Lay <avr@gjlay.de> 2478 2479 PR target/110088 2480 * config/avr/avr.md: Add an RTL peephole to optimize operations on 2481 non-LD_REGS after a move from LD_REGS. 2482 (piaop): New code iterator. 2483 24842023-06-01 Jonathan Wakely <jwakely@redhat.com> 2485 2486 Backported from master: 2487 2023-06-01 Jonathan Wakely <jwakely@redhat.com> 2488 2489 PR target/109954 2490 * doc/invoke.texi (x86 Options): Fix description of -m32 option. 2491 24922023-05-30 Andreas Schwab <schwab@suse.de> 2493 2494 PR target/110036 2495 * config/riscv/riscv.cc (riscv_asan_shadow_offset): Update to 2496 match libsanitizer. 2497 24982023-05-25 Georg-Johann Lay <avr@gjlay.de> 2499 2500 PR target/104327 2501 * config/avr/avr.cc (avr_can_inline_p): New static function. 2502 (TARGET_CAN_INLINE_P): Define to that function. 2503 25042023-05-25 Georg-Johann Lay <avr@gjlay.de> 2505 2506 PR target/82931 2507 * config/avr/avr.md (*movbitqi.0): Rename to *movbit<mode>.0-6. 2508 Handle any bit position and use mode QISI. 2509 * config/avr/avr.cc (avr_rtx_costs_1) [IOR]: Return a cost 2510 of 2 insns for bit-transfer of respective style. 2511 25122023-05-23 Georg-Johann Lay <avr@gjlay.de> 2513 2514 * config/avr/avr.cc (avr_insn_cost): New static function. 2515 (TARGET_INSN_COST): Define to that function. 2516 25172023-05-22 Michael Meissner <meissner@linux.ibm.com> 2518 2519 PR target/70243 2520 * config/rs6000/vsx.md (vsx_fmav4sf4): Do not generate vmaddfp. 2521 (vsx_nfmsv4sf4): Do not generate vnmsubfp. Back port from master 2522 04/10/2023 change. 2523 25242023-05-22 Jakub Jelinek <jakub@redhat.com> 2525 2526 Backported from master: 2527 2023-05-21 Jakub Jelinek <jakub@redhat.com> 2528 2529 PR tree-optimization/109505 2530 * match.pd ((x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2), 2531 Combine successive equal operations with constants, 2532 (A +- CST1) +- CST2 -> A + CST3, (CST1 - A) +- CST2 -> CST3 - A, 2533 CST1 - (CST2 - A) -> CST3 + A): Use ! on ops with 2 CONSTANT_CLASS_P 2534 operands. 2535 25362023-05-22 Kewen Lin <linkw@linux.ibm.com> 2537 2538 Backported from master: 2539 2023-05-17 Kewen Lin <linkw@linux.ibm.com> 2540 2541 * tree-vect-loop.cc (vect_analyze_loop_1): Don't retry analysis with 2542 suggested unroll factor once the previous analysis fails. 2543 25442023-05-20 Triffid Hunter <triffid.hunter@gmail.com> 2545 2546 PR target/105753 2547 Backport from 2023-05-20 https://gcc.gnu.org/r14-1016 2548 * config/avr/avr.md (divmodpsi, udivmodpsi, divmodsi, udivmodsi): 2549 Remove superfluous "parallel" in insn pattern. 2550 ([u]divmod<mode>4): Tidy code. Use gcc_unreachable() instead of 2551 printing error text to assembly. 2552 25532023-05-18 Alexandre Oliva <oliva@adacore.com> 2554 2555 * config/arm/vfp.md (*thumb2_movsi_vfp): Drop blank after tab 2556 after vmsr and vmrs, and lower the case of P0. 2557 25582023-05-18 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2559 2560 * config/arm/arm_mve.h: (__ARM_mve_typeid): Add more pointer types. 2561 (__ARM_mve_coerce1): Remove. 2562 (__ARM_mve_coerce2): Remove. 2563 (__ARM_mve_coerce3): Remove. 2564 (__ARM_mve_coerce_i_scalar): New. 2565 (__ARM_mve_coerce_s8_ptr): New. 2566 (__ARM_mve_coerce_u8_ptr): New. 2567 (__ARM_mve_coerce_s16_ptr): New. 2568 (__ARM_mve_coerce_u16_ptr): New. 2569 (__ARM_mve_coerce_s32_ptr): New. 2570 (__ARM_mve_coerce_u32_ptr): New. 2571 (__ARM_mve_coerce_s64_ptr): New. 2572 (__ARM_mve_coerce_u64_ptr): New. 2573 (__ARM_mve_coerce_f_scalar): New. 2574 (__ARM_mve_coerce_f16_ptr): New. 2575 (__ARM_mve_coerce_f32_ptr): New. 2576 (__arm_vst4q): Change _coerce_ overloads. 2577 (__arm_vbicq): Change _coerce_ overloads. 2578 (__arm_vmulq): Change _coerce_ overloads. 2579 (__arm_vcmpeqq): Change _coerce_ overloads. 2580 (__arm_vcmpneq): Change _coerce_ overloads. 2581 (__arm_vmaxnmavq): Change _coerce_ overloads. 2582 (__arm_vmaxnmvq): Change _coerce_ overloads. 2583 (__arm_vminnmavq): Change _coerce_ overloads. 2584 (__arm_vsubq): Change _coerce_ overloads. 2585 (__arm_vminnmvq): Change _coerce_ overloads. 2586 (__arm_vrshlq): Change _coerce_ overloads. 2587 (__arm_vqsubq): Change _coerce_ overloads. 2588 (__arm_vqdmulltq): Change _coerce_ overloads. 2589 (__arm_vqdmullbq): Change _coerce_ overloads. 2590 (__arm_vqdmulhq): Change _coerce_ overloads. 2591 (__arm_vqaddq): Change _coerce_ overloads. 2592 (__arm_vhaddq): Change _coerce_ overloads. 2593 (__arm_vhsubq): Change _coerce_ overloads. 2594 (__arm_vqdmlashq): Change _coerce_ overloads. 2595 (__arm_vqrdmlahq): Change _coerce_ overloads. 2596 (__arm_vmlasq): Change _coerce_ overloads. 2597 (__arm_vqdmlahq): Change _coerce_ overloads. 2598 (__arm_vmaxnmavq_p): Change _coerce_ overloads. 2599 (__arm_vmaxnmvq_p): Change _coerce_ overloads. 2600 (__arm_vminnmavq_p): Change _coerce_ overloads. 2601 (__arm_vminnmvq_p): Change _coerce_ overloads. 2602 (__arm_vfmasq_m): Change _coerce_ overloads. 2603 (__arm_vld1q): Change _coerce_ overloads. 2604 (__arm_vld1q_z): Change _coerce_ overloads. 2605 (__arm_vld2q): Change _coerce_ overloads. 2606 (__arm_vld4q): Change _coerce_ overloads. 2607 (__arm_vldrhq_gather_offset): Change _coerce_ overloads. 2608 (__arm_vldrhq_gather_offset_z): Change _coerce_ overloads. 2609 (__arm_vldrhq_gather_shifted_offset): Change _coerce_ overloads. 2610 (__arm_vldrhq_gather_shifted_offset_z): Change _coerce_ overloads. 2611 (__arm_vldrwq_gather_offset): Change _coerce_ overloads. 2612 (__arm_vldrwq_gather_offset_z): Change _coerce_ overloads. 2613 (__arm_vldrwq_gather_shifted_offset): Change _coerce_ overloads. 2614 (__arm_vldrwq_gather_shifted_offset_z): Change _coerce_ overloads. 2615 (__arm_vst1q_p): Change _coerce_ overloads. 2616 (__arm_vst2q): Change _coerce_ overloads. 2617 (__arm_vst1q): Change _coerce_ overloads. 2618 (__arm_vstrhq): Change _coerce_ overloads. 2619 (__arm_vstrhq_p): Change _coerce_ overloads. 2620 (__arm_vstrhq_scatter_offset_p): Change _coerce_ overloads. 2621 (__arm_vstrhq_scatter_offset): Change _coerce_ overloads. 2622 (__arm_vstrhq_scatter_shifted_offset_p): Change _coerce_ overloads. 2623 (__arm_vstrhq_scatter_shifted_offset): Change _coerce_ overloads. 2624 (__arm_vstrwq_p): Change _coerce_ overloads. 2625 (__arm_vstrwq): Change _coerce_ overloads. 2626 (__arm_vstrwq_scatter_offset): Change _coerce_ overloads. 2627 (__arm_vstrwq_scatter_offset_p): Change _coerce_ overloads. 2628 (__arm_vstrwq_scatter_shifted_offset): Change _coerce_ overloads. 2629 (__arm_vstrwq_scatter_shifted_offset_p): Change _coerce_ overloads. 2630 (__arm_vsetq_lane): Change _coerce_ overloads. 2631 (__arm_vcmpneq_m): Change _coerce_ overloads. 2632 (__arm_vldrbq_gather_offset): Change _coerce_ overloads. 2633 (__arm_vdwdupq_x_u8): Change _coerce_ overloads. 2634 (__arm_vdwdupq_x_u16): Change _coerce_ overloads. 2635 (__arm_vdwdupq_x_u32): Change _coerce_ overloads. 2636 (__arm_viwdupq_x_u8): Change _coerce_ overloads. 2637 (__arm_viwdupq_x_u16): Change _coerce_ overloads. 2638 (__arm_viwdupq_x_u32): Change _coerce_ overloads. 2639 (__arm_vidupq_x_u8): Change _coerce_ overloads. 2640 (__arm_vddupq_x_u8): Change _coerce_ overloads. 2641 (__arm_vidupq_x_u16): Change _coerce_ overloads. 2642 (__arm_vddupq_x_u16): Change _coerce_ overloads. 2643 (__arm_vidupq_x_u32): Change _coerce_ overloads. 2644 (__arm_vddupq_x_u32): Change _coerce_ overloads. 2645 (__arm_vhaddq_x): Change _coerce_ overloads. 2646 (__arm_vhsubq_x): Change _coerce_ overloads. 2647 (__arm_vldrdq_gather_offset): Change _coerce_ overloads. 2648 (__arm_vldrdq_gather_offset_z): Change _coerce_ overloads. 2649 (__arm_vldrdq_gather_shifted_offset): Change _coerce_ overloads. 2650 (__arm_vldrdq_gather_shifted_offset_z): Change _coerce_ overloads. 2651 (__arm_vldrbq_gather_offset_z): Change _coerce_ overloads. 2652 (__arm_vqrdmlahq_m): Change _coerce_ overloads. 2653 (__arm_vqrdmlashq_m): Change _coerce_ overloads. 2654 (__arm_vqdmlashq_m): Change _coerce_ overloads. 2655 (__arm_vmlaldavaxq_p): Change _coerce_ overloads. 2656 (__arm_vmlasq_m): Change _coerce_ overloads. 2657 (__arm_vqdmulhq_m): Change _coerce_ overloads. 2658 (__arm_vqdmulltq_m): Change _coerce_ overloads. 2659 (__arm_vidupq_u16): Change _coerce_ overloads. 2660 (__arm_vidupq_u32): Change _coerce_ overloads. 2661 (__arm_vidupq_u8): Change _coerce_ overloads. 2662 (__arm_vddupq_u16): Change _coerce_ overloads. 2663 (__arm_vddupq_u32): Change _coerce_ overloads. 2664 (__arm_vddupq_u8): Change _coerce_ overloads. 2665 (__arm_viwdupq_m): Change _coerce_ overloads. 2666 (__arm_viwdupq_u16): Change _coerce_ overloads. 2667 (__arm_viwdupq_u32): Change _coerce_ overloads. 2668 (__arm_viwdupq_u8): Change _coerce_ overloads. 2669 (__arm_vdwdupq_m): Change _coerce_ overloads. 2670 (__arm_vdwdupq_u16): Change _coerce_ overloads. 2671 (__arm_vdwdupq_u32): Change _coerce_ overloads. 2672 (__arm_vdwdupq_u8): Change _coerce_ overloads. 2673 (__arm_vaddlvaq): Change _coerce_ overloads. 2674 (__arm_vaddlvaq_p): Change _coerce_ overloads. 2675 (__arm_vaddvaq): Change _coerce_ overloads. 2676 (__arm_vaddvaq_p): Change _coerce_ overloads. 2677 (__arm_vcmphiq_m): Change _coerce_ overloads. 2678 (__arm_vmladavaq_p): Change _coerce_ overloads. 2679 (__arm_vmladavaxq): Change _coerce_ overloads. 2680 (__arm_vmlaldavaxq): Change _coerce_ overloads. 2681 (__arm_vstrbq): Change _coerce_ overloads. 2682 (__arm_vstrbq_p): Change _coerce_ overloads. 2683 (__arm_vrmlaldavhaq_p): Change _coerce_ overloads. 2684 (__arm_vstrbq_scatter_offset): Change _coerce_ overloads. 2685 (__arm_vstrbq_scatter_offset_p): Change _coerce_ overloads. 2686 (__arm_vstrdq_scatter_offset_p): Change _coerce_ overloads. 2687 (__arm_vstrdq_scatter_offset): Change _coerce_ overloads. 2688 (__arm_vstrdq_scatter_shifted_offset_p): Change _coerce_ overloads. 2689 (__arm_vstrdq_scatter_shifted_offset): Change _coerce_ overloads. 2690 26912023-05-18 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2692 2693 * config/arm/arm_mve.h (__arm_vbicq): Change coerce on 2694 scalar constant. 2695 (__arm_vmvnq_m): Likewise. 2696 26972023-05-18 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2698 2699 * config/arm/arm_mve.h (__arm_vorrq): Add _n variant. 2700 27012023-05-18 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2702 2703 Backported from master: 2704 2023-05-18 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2705 2706 * config/arm/arm_mve.h (__arm_vadcq_s32): Fix arithmetic. 2707 (__arm_vadcq_u32): Likewise. 2708 (__arm_vadcq_m_s32): Likewise. 2709 (__arm_vadcq_m_u32): Likewise. 2710 (__arm_vsbcq_s32): Likewise. 2711 (__arm_vsbcq_u32): Likewise. 2712 (__arm_vsbcq_m_s32): Likewise. 2713 (__arm_vsbcq_m_u32): Likewise. 2714 * config/arm/mve.md (get_fpscr_nzcvqc): Make unspec_volatile. 2715 27162023-05-18 Andrea Corallo <andrea.corallo@arm.com> 2717 2718 * config/arm/mve.md (mve_vrndq_m_f<mode>, mve_vrev64q_f<mode>) 2719 (mve_vrev32q_fv8hf, mve_vcvttq_f32_f16v4sf) 2720 (mve_vcvtbq_f32_f16v4sf, mve_vcvtq_to_f_<supf><mode>) 2721 (mve_vrev64q_<supf><mode>, mve_vcvtq_from_f_<supf><mode>) 2722 (mve_vmovltq_<supf><mode>, mve_vmovlbq_<supf><mode>) 2723 (mve_vcvtpq_<supf><mode>, mve_vcvtnq_<supf><mode>) 2724 (mve_vcvtmq_<supf><mode>, mve_vcvtaq_<supf><mode>) 2725 (mve_vmvnq_n_<supf><mode>, mve_vrev16q_<supf>v16qi) 2726 (mve_vctp<mode1>qhi, mve_vbrsrq_n_f<mode>) 2727 (mve_vbrsrq_n_<supf><mode>, mve_vandq_f<mode>, mve_vbicq_f<mode>) 2728 (mve_vbicq_n_<supf><mode>, mve_vctp<mode1>q_mhi) 2729 (mve_vcvtbq_f16_f32v8hf, mve_vcvttq_f16_f32v8hf) 2730 (mve_veorq_f<mode>, mve_vmlaldavxq_s<mode>, mve_vmlsldavq_s<mode>) 2731 (mve_vmlsldavxq_s<mode>, mve_vornq_f<mode>, mve_vorrq_f<mode>) 2732 (mve_vrmlaldavhxq_sv4si, mve_vbicq_m_n_<supf><mode>) 2733 (mve_vcvtq_m_to_f_<supf><mode>, mve_vshlcq_<supf><mode>) 2734 (mve_vmvnq_m_<supf><mode>, mve_vpselq_<supf><mode>) 2735 (mve_vcvtbq_m_f16_f32v8hf, mve_vcvtbq_m_f32_f16v4sf) 2736 (mve_vcvttq_m_f16_f32v8hf, mve_vcvttq_m_f32_f16v4sf) 2737 (mve_vmlaldavq_p_<supf><mode>, mve_vmlsldavaq_s<mode>) 2738 (mve_vmlsldavaxq_s<mode>, mve_vmlsldavq_p_s<mode>) 2739 (mve_vmlsldavxq_p_s<mode>, mve_vmvnq_m_n_<supf><mode>) 2740 (mve_vorrq_m_n_<supf><mode>, mve_vpselq_f<mode>) 2741 (mve_vrev32q_m_fv8hf, mve_vrev32q_m_<supf><mode>) 2742 (mve_vrev64q_m_f<mode>, mve_vrmlaldavhaxq_sv4si) 2743 (mve_vrmlaldavhxq_p_sv4si, mve_vrmlsldavhaxq_sv4si) 2744 (mve_vrmlsldavhq_p_sv4si, mve_vrmlsldavhxq_p_sv4si) 2745 (mve_vrev16q_m_<supf>v16qi, mve_vrmlaldavhq_p_<supf>v4si) 2746 (mve_vrmlsldavhaq_sv4si, mve_vandq_m_<supf><mode>) 2747 (mve_vbicq_m_<supf><mode>, mve_veorq_m_<supf><mode>) 2748 (mve_vornq_m_<supf><mode>, mve_vorrq_m_<supf><mode>) 2749 (mve_vandq_m_f<mode>, mve_vbicq_m_f<mode>, mve_veorq_m_f<mode>) 2750 (mve_vornq_m_f<mode>, mve_vorrq_m_f<mode>) 2751 (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di_insn) 2752 (mve_vstrdq_scatter_shifted_offset_<supf>v2di_insn) 2753 (mve_vstrdq_scatter_base_wb_p_<supf>v2di) : Fix spacing and 2754 capitalization in the emitted asm. 2755 27562023-05-18 Andrea Corallo <andrea.corallo@arm.com> 2757 2758 * config/arm/constraints.md (mve_vldrd_immediate): Move it to 2759 predicates.md. 2760 (Ri): Move constraint definition from predicates.md. 2761 (Rl): Define new constraint. 2762 * config/arm/mve.md (mve_vstrwq_scatter_base_wb_p_<supf>v4si): Add 2763 missing constraint. 2764 (mve_vstrwq_scatter_base_wb_p_fv4sf): Add missing Up constraint 2765 for op 1, use mve_vstrw_immediate predicate and Rl constraint for 2766 op 2. Fix asm output spacing. 2767 (mve_vstrdq_scatter_base_wb_p_<supf>v2di): Add missing constraint. 2768 * config/arm/predicates.md (Ri) Move constraint to constraints.md 2769 (mve_vldrd_immediate): Move it from 2770 constraints.md. 2771 (mve_vstrw_immediate): New predicate. 2772 27732023-05-18 Murray Steele <murray.steele@arm.com> 2774 2775 Backported from master: 2776 2023-01-18 Murray Steele <murray.steele@arm.com> 2777 2778 PR target/108442 2779 * config/arm/arm_mve.h (__arm_vst1q_p_u8): Use prefixed intrinsic 2780 function. 2781 (__arm_vst1q_p_s8): Likewise. 2782 (__arm_vld1q_z_u8): Likewise. 2783 (__arm_vld1q_z_s8): Likewise. 2784 (__arm_vst1q_p_u16): Likewise. 2785 (__arm_vst1q_p_s16): Likewise. 2786 (__arm_vld1q_z_u16): Likewise. 2787 (__arm_vld1q_z_s16): Likewise. 2788 (__arm_vst1q_p_u32): Likewise. 2789 (__arm_vst1q_p_s32): Likewise. 2790 (__arm_vld1q_z_u32): Likewise. 2791 (__arm_vld1q_z_s32): Likewise. 2792 (__arm_vld1q_z_f16): Likewise. 2793 (__arm_vst1q_p_f16): Likewise. 2794 (__arm_vld1q_z_f32): Likewise. 2795 (__arm_vst1q_p_f32): Likewise. 2796 27972023-05-18 Andre Vieira <andre.simoesdiasvieira@arm.com> 2798 2799 Backported from master: 2800 2023-01-24 Andre Vieira <andre.simoesdiasvieira@arm.com> 2801 2802 PR target/108177 2803 * config/arm/mve.md (mve_vstrbq_p_<supf><mode>, mve_vstrhq_p_fv8hf, 2804 mve_vstrhq_p_<supf><mode>, mve_vstrwq_p_<supf>v4si): Add memory operand 2805 as input operand. 2806 28072023-05-18 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2808 2809 Backported from master: 2810 2023-04-04 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2811 2812 * config/arm/mve.md (mve_vcvtq_n_to_f_<supf><mode>): Swap operands. 2813 (mve_vcreateq_f<mode>): Swap operands. 2814 28152023-05-18 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2816 2817 Backported from master: 2818 2023-01-16 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2819 2820 PR target/96795 2821 PR target/107515 2822 * config/arm/arm_mve.h (__ARM_mve_coerce2): Split types. 2823 (__ARM_mve_coerce3): Likewise. 2824 28252023-05-18 Andrea Corallo <andrea.corallo@arm.com> 2826 2827 Backported from master: 2828 2023-01-25 Andrea Corallo <andrea.corallo@arm.com> 2829 2830 * config/arm/mve.md (mve_vqnegq_s<mode>): Fix spacing. 2831 28322023-05-18 Andrea Corallo <andrea.corallo@arm.com> 2833 2834 Backported from master: 2835 2023-01-25 Andrea Corallo <andrea.corallo@arm.com> 2836 2837 * config/arm/mve.md (mve_vqabsq_s<mode>): Fix spacing. 2838 28392023-05-18 Andrea Corallo <andrea.corallo@arm.com> 2840 2841 Backported from master: 2842 2023-01-25 Andrea Corallo <andrea.corallo@arm.com> 2843 2844 * config/arm/mve.md (mve_vnegq_f<mode>, mve_vnegq_s<mode>): 2845 Fix spacing. 2846 28472023-05-18 Andrea Corallo <andrea.corallo@arm.com> 2848 2849 Backported from master: 2850 2023-01-25 Andrea Corallo <andrea.corallo@arm.com> 2851 2852 * config/arm/mve.md (@mve_vclzq_s<mode>): Fix spacing. 2853 28542023-05-18 Andrea Corallo <andrea.corallo@arm.com> 2855 2856 Backported from master: 2857 2023-01-25 Andrea Corallo <andrea.corallo@arm.com> 2858 2859 * config/arm/mve.md (mve_vclsq_s<mode>): Fix spacing. 2860 28612023-05-18 Christophe Lyon <christophe.lyon@arm.com> 2862 2863 Backported from master: 2864 2023-02-03 Christophe Lyon <christophe.lyon@arm.com> 2865 2866 * config/arm/mve.md (mve_vabavq_p_<supf><mode>): Add length 2867 attribute. 2868 (mve_vqshluq_m_n_s<mode>): Likewise. 2869 (mve_vshlq_m_<supf><mode>): Likewise. 2870 (mve_vsriq_m_n_<supf><mode>): Likewise. 2871 (mve_vsubq_m_<supf><mode>): Likewise. 2872 28732023-05-18 Christophe Lyon <christophe.lyon@arm.com> 2874 2875 Backported from master: 2876 2022-10-03 Christophe Lyon <christophe.lyon@arm.com> 2877 2878 * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early 2879 clobber. 2880 (mve_vrev64q_m_f<mode>): Likewise. 2881 28822023-05-18 Andrea Corallo <andrea.corallo@arm.com> 2883 2884 Backported from master: 2885 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> 2886 2887 * config/arm/mve.md (mve_vrmlaldavhq_<supf>v4si, 2888 mve_vrmlaldavhaq_<supf>v4si): Fix spacing vs tabs. 2889 28902023-05-18 Andrea Corallo <andrea.corallo@arm.com> 2891 2892 Backported from master: 2893 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> 2894 2895 * config/arm/mve.md (mve_vmlaldavaq_<supf><mode>) 2896 (mve_vmlaldavaxq_s<mode>, mve_vmlaldavaxq_p_<supf><mode>): Fix 2897 spacing vs tabs. 2898 28992023-05-18 Andrea Corallo <andrea.corallo@arm.com> 2900 2901 Backported from master: 2902 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> 2903 2904 * config/arm/mve.md (mve_vsubq_n_f<mode>): Fix spacing. 2905 29062023-05-18 Andrea Corallo <andrea.corallo@arm.com> 2907 2908 Backported from master: 2909 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> 2910 2911 * config/arm/mve.md (mve_vaddlvq_p_<supf>v4si) 2912 (mve_vaddq_n_<supf><mode>, mve_vaddvaq_<supf><mode>) 2913 (mve_vaddlvaq_<supf>v4si, mve_vaddq_n_f<mode>) 2914 (mve_vaddlvaq_p_<supf>v4si, mve_vaddq<mode>, mve_vaddq_f<mode>): 2915 Fix spacing. 2916 29172023-05-18 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2918 2919 Backported from master: 2920 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2921 2922 * config/arm/arm_mve.h (__arm_vsubq_x FP): New overloads. 2923 (__arm_vsubq_x Integer): New. 2924 29252023-05-18 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2926 2927 Backported from master: 2928 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2929 2930 PR target/107515 2931 * config/arm/arm_mve.h (__ARM_mve_typeid): Add float types. 2932 29332023-05-18 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2934 2935 Backported from master: 2936 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2937 2938 PR target/96795 2939 * config/arm/arm_mve.h (__arm_vaddq): Fix Overloading. 2940 (__arm_vmulq): Likewise. 2941 (__arm_vcmpeqq): Likewise. 2942 (__arm_vcmpneq): Likewise. 2943 (__arm_vmaxnmavq): Likewise. 2944 (__arm_vmaxnmvq): Likewise. 2945 (__arm_vminnmavq): Likewise. 2946 (__arm_vsubq): Likewise. 2947 (__arm_vminnmvq): Likewise. 2948 (__arm_vrshlq): Likewise. 2949 (__arm_vqsubq): Likewise. 2950 (__arm_vqdmulltq): Likewise. 2951 (__arm_vqdmullbq): Likewise. 2952 (__arm_vqdmulhq): Likewise. 2953 (__arm_vqaddq): Likewise. 2954 (__arm_vhaddq): Likewise. 2955 (__arm_vhsubq): Likewise. 2956 (__arm_vqdmlashq): Likewise. 2957 (__arm_vqrdmlahq): Likewise. 2958 (__arm_vmlasq): Likewise. 2959 (__arm_vqdmlahq): Likewise. 2960 (__arm_vmaxnmavq_p): Likewise. 2961 (__arm_vmaxnmvq_p): Likewise. 2962 (__arm_vminnmavq_p): Likewise. 2963 (__arm_vminnmvq_p): Likewise. 2964 (__arm_vfmasq_m): Likewise. 2965 (__arm_vsetq_lane): Likewise. 2966 (__arm_vcmpneq_m): Likewise. 2967 (__arm_vhaddq_x): Likewise. 2968 (__arm_vhsubq_x): Likewise. 2969 (__arm_vqrdmlashq_m): Likewise. 2970 (__arm_vqdmlashq_m): Likewise. 2971 (__arm_vmlaldavaxq_p): Likewise. 2972 (__arm_vmlasq_m): Likewise. 2973 (__arm_vqdmulhq_m): Likewise. 2974 (__arm_vqdmulltq_m): Likewise. 2975 (__arm_viwdupq_m): Likewise. 2976 (__arm_viwdupq_u16): Likewise. 2977 (__arm_viwdupq_u32): Likewise. 2978 (__arm_viwdupq_u8): Likewise. 2979 (__arm_vdwdupq_m): Likewise. 2980 (__arm_vdwdupq_u16): Likewise. 2981 (__arm_vdwdupq_u32): Likewise. 2982 (__arm_vdwdupq_u8): Likewise. 2983 (__arm_vaddlvaq): Likewise. 2984 (__arm_vaddlvaq_p): Likewise. 2985 (__arm_vaddvaq): Likewise. 2986 (__arm_vaddvaq_p): Likewise. 2987 (__arm_vcmphiq_m): Likewise. 2988 (__arm_vmladavaq_p): Likewise. 2989 (__arm_vmladavaxq): Likewise. 2990 (__arm_vmlaldavaxq): Likewise. 2991 (__arm_vrmlaldavhaq_p): Likewise. 2992 29932023-05-18 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2994 2995 Backported from master: 2996 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com> 2997 2998 PR target/96795 2999 * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Change types. 3000 (__arm_vaddq_m_n_s32): Likewise. 3001 (__arm_vaddq_m_n_s16): Likewise. 3002 (__arm_vaddq_m_n_u8): Likewise. 3003 (__arm_vaddq_m_n_u32): Likewise. 3004 (__arm_vaddq_m_n_u16): Likewise. 3005 (__arm_vaddq_m): Fix Overloading. 3006 (__ARM_mve_coerce3): New. 3007 30082023-05-18 Andrea Corallo <andrea.corallo@arm.com> 3009 3010 Backported from master: 3011 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> 3012 3013 * config/arm/mve.md (mve_vabsq_f<mode>): Fix spacing. 3014 30152023-05-18 Andrea Corallo <andrea.corallo@arm.com> 3016 3017 Backported from master: 3018 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> 3019 3020 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>): Fix 3021 spacing. 3022 * config/arm/arm_mve.h (__arm_vcmpgtq_m, __arm_vcmpleq_m) 3023 (__arm_vcmpltq_m, __arm_vcmpneq_m): Add missing defines. 3024 30252023-05-18 Andrea Corallo <andrea.corallo@arm.com> 3026 3027 Backported from master: 3028 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> 3029 3030 * config/arm/mve.md (mve_vdupq_n_f<mode>) 3031 (mve_vdupq_n_<supf><mode>, mve_vdupq_m_n_<supf><mode>) 3032 (mve_vdupq_m_n_f<mode>): Fix spacing. 3033 30342023-05-18 Andrea Corallo <andrea.corallo@arm.com> 3035 3036 Backported from master: 3037 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> 3038 3039 * config/arm/mve.md (mve_vdwdupq_m_wb_u<mode>_insn): Fix spacing. 3040 30412023-05-18 Andrea Corallo <andrea.corallo@arm.com> 3042 3043 Backported from master: 3044 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> 3045 3046 * config/arm/mve.md (mve_vddupq_u<mode>_insn): Fix 'vddup.u' 3047 spacing. 3048 (mve_vddupq_m_wb_u<mode>_insn): Likewise. 3049 30502023-05-18 Andrea Corallo <andrea.corallo@arm.com> 3051 3052 Backported from master: 3053 2022-11-28 Andrea Corallo <andrea.corallo@arm.com> 3054 3055 * config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Fix 3056 'vmsr' spacing and reg capitalization. 3057 30582023-05-15 liuhongt <hongtao.liu@intel.com> 3059 3060 * config/i386/cygwin.h (ENDFILE_SPEC): Link crtfastmath.o 3061 whenever -mdaz-ftz is specified. Don't link crtfastmath.o 3062 when -mno-daz-ftz is specified. 3063 * config/i386/darwin.h (ENDFILE_SPEC): Ditto. 3064 * config/i386/gnu-user-common.h 3065 (GNU_USER_TARGET_MATHFILE_SPEC): Ditto. 3066 * config/i386/mingw32.h (ENDFILE_SPEC): Ditto. 3067 * config/i386/i386.opt (mdaz-ftz): New option. 3068 * doc/invoke.texi (x86 options): Document mftz-daz. 3069 30702023-05-09 Jakub Jelinek <jakub@redhat.com> 3071 3072 Backported from master: 3073 2023-05-09 Jakub Jelinek <jakub@redhat.com> 3074 3075 PR tree-optimization/109778 3076 * wide-int.h (wi::lrotate, wi::rrotate): Call wi::lrshift on 3077 wi::zext (x, width) rather than x if width != precision, rather 3078 than using wi::zext (right, width) after the shift. 3079 * tree-ssa-ccp.cc (bit_value_binop): Call wi::ext on the results 3080 of wi::lrotate or wi::rrotate. 3081 30822023-05-09 Kewen Lin <linkw@linux.ibm.com> 3083 3084 Backported from master: 3085 2023-04-26 Kewen Lin <linkw@linux.ibm.com> 3086 3087 PR target/108758 3088 * config/rs6000/rs6000-builtins.def 3089 (__builtin_vsx_scalar_cmp_exp_qp_eq, __builtin_vsx_scalar_cmp_exp_qp_gt 3090 __builtin_vsx_scalar_cmp_exp_qp_lt, 3091 __builtin_vsx_scalar_cmp_exp_qp_unordered): Move from stanza ieee128-hw 3092 to power9-vector. 3093 30942023-05-09 Kewen Lin <linkw@linux.ibm.com> 3095 3096 Backported from master: 3097 2023-04-26 Kewen Lin <linkw@linux.ibm.com> 3098 3099 PR target/109069 3100 * config/rs6000/altivec.md (sldoi_to_mov<mode>): Replace predicate 3101 easy_vector_constant with const_vector_each_byte_same, add 3102 handlings in preparation for !easy_vector_constant, and update 3103 VECTOR_UNIT_ALTIVEC_OR_VSX_P with VECTOR_MEM_ALTIVEC_OR_VSX_P. 3104 * config/rs6000/predicates.md (const_vector_each_byte_same): New 3105 predicate. 3106 31072023-05-08 Release Manager 3108 3109 * GCC 12.3.0 released. 3110 31112023-04-27 Jakub Jelinek <jakub@redhat.com> 3112 3113 Backported from master: 3114 2023-04-08 Jakub Jelinek <jakub@redhat.com> 3115 3116 PR tree-optimization/109392 3117 * tree-vect-generic.cc (tree_vec_extract): Handle failure 3118 of maybe_push_res_to_seq better. 3119 31202023-04-27 Richard Biener <rguenther@suse.de> 3121 3122 Backported from master: 3123 2023-02-16 Richard Biener <rguenther@suse.de> 3124 3125 PR tree-optimization/108791 3126 * tree-ssa-forwprop.cc (optimize_vector_load): Build 3127 the ADDR_EXPR of a TARGET_MEM_REF using a more meaningful 3128 type. 3129 31302023-04-27 Roger Sayle <roger@nextmovesoftware.com> 3131 3132 Backported from master: 3133 2023-01-10 Roger Sayle <roger@nextmovesoftware.com> 3134 3135 PR rtl-optimization/106421 3136 * cprop.cc (bypass_block): Check that DEST is local to this 3137 function (non-NULL) before calling find_edge. 3138 31392023-04-27 H.J. Lu <hjl.tools@gmail.com> 3140 3141 Backported from master: 3142 2023-01-16 H.J. Lu <hjl.tools@gmail.com> 3143 3144 PR target/105980 3145 * config/i386/i386.cc (x86_output_mi_thunk): Disable 3146 -mforce-indirect-call for PIC in 32-bit mode. 3147 31482023-04-27 Jan Hubicka <jh@suse.cz> 3149 3150 Backported from master: 3151 2022-08-12 Jan Hubicka <hubicka@ucw.cz> 3152 3153 PR middle-end/106057 3154 * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New 3155 function. 3156 (possible_polymorphic_call_targets): Use it. 3157 31582023-04-26 Martin Jambor <mjambor@suse.cz> 3159 3160 Backported from master: 3161 2023-04-17 Martin Jambor <mjambor@suse.cz> 3162 3163 PR ipa/107769 3164 PR ipa/109318 3165 * cgraph.h (symtab_node::find_reference): Add parameter use_type. 3166 * ipa-prop.h (ipa_pass_through_data): New flag refdesc_decremented. 3167 (ipa_zap_jf_refdesc): New function. 3168 (ipa_get_jf_pass_through_refdesc_decremented): Likewise. 3169 (ipa_set_jf_pass_through_refdesc_decremented): Likewise. 3170 * ipa-cp.cc (ipcp_discover_new_direct_edges): Provide a value for 3171 the new parameter of find_reference. 3172 (adjust_references_in_caller): Likewise. Make sure the constant jump 3173 function is not used to decrement a refdec counter again. Only 3174 decrement refdesc counters when the pass_through jump function allows 3175 it. Added a detailed dump when decrementing refdesc counters. 3176 * ipa-prop.cc (ipa_print_node_jump_functions_for_edge): Dump new flag. 3177 (ipa_set_jf_simple_pass_through): Initialize the new flag. 3178 (ipa_set_jf_unary_pass_through): Likewise. 3179 (ipa_set_jf_arith_pass_through): Likewise. 3180 (remove_described_reference): Provide a value for the new parameter of 3181 find_reference. 3182 (update_jump_functions_after_inlining): Zap refdesc of new jfunc if 3183 the previous pass_through had a flag mandating that we do so. 3184 (propagate_controlled_uses): Likewise. Only decrement refdesc 3185 counters when the pass_through jump function allows it. 3186 (ipa_edge_args_sum_t::duplicate): Provide a value for the new 3187 parameter of find_reference. 3188 (ipa_write_jump_function): Assert the new flag does not have to be 3189 streamed. 3190 * symtab.cc (symtab_node::find_reference): Add parameter use_type, use 3191 it in searching. 3192 31932023-04-26 Jakub Jelinek <jakub@redhat.com> 3194 3195 Backported from master: 3196 2023-04-25 Jakub Jelinek <jakub@redhat.com> 3197 3198 PR target/109566 3199 * config/rs6000/rs6000.cc (rs6000_is_valid_rotate_dot_mask): For 3200 !TARGET_64BIT, don't return true if UINTVAL (mask) << (63 - nb) 3201 is larger than signed int maximum. 3202 32032023-04-26 Richard Biener <rguenther@suse.de> 3204 3205 Backported from master: 3206 2023-04-25 Richard Biener <rguenther@suse.de> 3207 3208 PR tree-optimization/109609 3209 * attr-fnspec.h (arg_max_access_size_given_by_arg_p): 3210 Clarify semantics. 3211 * tree-ssa-alias.cc (check_fnspec): Correctly interpret 3212 the size given by arg_max_access_size_given_by_arg_p as 3213 maximum, not exact, size. 3214 32152023-04-26 Richard Biener <rguenther@suse.de> 3216 3217 Backported from master: 3218 2023-04-25 Richard Biener <rguenther@suse.de> 3219 3220 PR rtl-optimization/109585 3221 * tree-ssa-alias.cc (aliasing_component_refs_p): Fix typo. 3222 32232023-04-26 Richard Biener <rguenther@suse.de> 3224 3225 Backported from master: 3226 2023-04-21 Richard Biener <rguenther@suse.de> 3227 3228 PR tree-optimization/109573 3229 * tree-vect-loop.cc (vectorizable_live_operation): Allow 3230 unhandled SSA copy as well. Demote assert to checking only. 3231 32322023-04-21 John David Anglin <danglin@gcc.gnu.org> 3233 3234 PR target/109478 3235 * config/pa/pa-protos.h (pa_function_arg_size): Update prototype. 3236 * config/pa/pa.cc (pa_function_arg): Return NULL_RTX if argument 3237 size is zero. 3238 (pa_arg_partial_bytes): Don't call pa_function_arg_size twice. 3239 (pa_function_arg_size): Change return type to int. Return zero 3240 for arguments larger than 1 GB. Update comments. 3241 32422023-04-21 Haochen Gui <guihaoc@gcc.gnu.org> 3243 3244 Backported from master: 3245 2023-04-11 Haochen Gui <guihaoc@gcc.gnu.org> 3246 3247 PR target/108812 3248 * config/rs6000/vsx.md (vsx_sign_extend_qi_<mode>): Rename to... 3249 (vsx_sign_extend_v16qi_<mode>): ... this. 3250 (vsx_sign_extend_hi_<mode>): Rename to... 3251 (vsx_sign_extend_v8hi_<mode>): ... this. 3252 (vsx_sign_extend_si_v2di): Rename to... 3253 (vsx_sign_extend_v4si_v2di): ... this. 3254 (vsignextend_qi_<mode>): Remove. 3255 (vsignextend_hi_<mode>): Remove. 3256 (vsignextend_si_v2di): Remove. 3257 (vsignextend_v2di_v1ti): Remove. 3258 (*xxspltib_<mode>_split): Replace gen_vsx_sign_extend_qi_v2di with 3259 gen_vsx_sign_extend_v16qi_v2di and gen_vsx_sign_extend_qi_v4si 3260 with gen_vsx_sign_extend_v16qi_v4si. 3261 * config/rs6000/rs6000.md (split for DI constant generation): 3262 Replace gen_vsx_sign_extend_qi_si with gen_vsx_sign_extend_v16qi_si. 3263 (split for HSDI constant generation): Replace gen_vsx_sign_extend_qi_di 3264 with gen_vsx_sign_extend_v16qi_di and gen_vsx_sign_extend_qi_si 3265 with gen_vsx_sign_extend_v16qi_si. 3266 * config/rs6000/rs6000-builtins.def (__builtin_altivec_vsignextsb2d): 3267 Set bif-pattern to vsx_sign_extend_v16qi_v2di. 3268 (__builtin_altivec_vsignextsb2w): Set bif-pattern to 3269 vsx_sign_extend_v16qi_v4si. 3270 (__builtin_altivec_visgnextsh2d): Set bif-pattern to 3271 vsx_sign_extend_v8hi_v2di. 3272 (__builtin_altivec_vsignextsh2w): Set bif-pattern to 3273 vsx_sign_extend_v8hi_v4si. 3274 (__builtin_altivec_vsignextsw2d): Set bif-pattern to 3275 vsx_sign_extend_si_v2di. 3276 (__builtin_altivec_vsignext): Set bif-pattern to 3277 vsx_sign_extend_v2di_v1ti. 3278 * config/rs6000/rs6000-builtin.cc (lxvrse_expand_builtin): Replace 3279 gen_vsx_sign_extend_qi_v2di with gen_vsx_sign_extend_v16qi_v2di, 3280 gen_vsx_sign_extend_hi_v2di with gen_vsx_sign_extend_v8hi_v2di and 3281 gen_vsx_sign_extend_si_v2di with gen_vsx_sign_extend_v4si_v2di. 3282 32832023-04-18 Jakub Jelinek <jakub@redhat.com> 3284 3285 Backported from master: 3286 2023-04-12 Jakub Jelinek <jakub@redhat.com> 3287 3288 PR tree-optimization/109410 3289 * tree-ssa-reassoc.cc (build_and_add_sum): Split edge from entry 3290 block if first statement of the function is a call to returns_twice 3291 function. 3292 32932023-04-18 Jakub Jelinek <jakub@redhat.com> 3294 3295 Backported from master: 3296 2023-03-28 Jakub Jelinek <jakub@redhat.com> 3297 3298 PR middle-end/106190 3299 * sanopt.cc (pass_sanopt::execute): Return TODO_cleanup_cfg if any 3300 of the IFN_{UB,HWA,A}SAN_* internal fns are lowered. 3301 33022023-04-18 Jakub Jelinek <jakub@redhat.com> 3303 3304 Backported from master: 3305 2023-03-28 Jakub Jelinek <jakub@redhat.com> 3306 3307 PR target/109276 3308 * config/i386/i386.cc (assign_386_stack_local): For DImode 3309 with SLOT_FLOATxFDI_387 and -m32 -mpreferred-stack-boundary=2 pass 3310 align 32 rather than 0 to assign_stack_local. 3311 33122023-04-18 Jakub Jelinek <jakub@redhat.com> 3313 3314 Backported from master: 3315 2023-03-26 Jakub Jelinek <jakub@redhat.com> 3316 3317 PR ipa/105685 3318 * predict.cc (compute_function_frequency): Don't call 3319 warn_function_cold if function already has cold attribute. 3320 33212023-04-18 Jakub Jelinek <jakub@redhat.com> 3322 3323 Backported from master: 3324 2023-03-23 Jakub Jelinek <jakub@redhat.com> 3325 3326 PR tree-optimization/109176 3327 * tree-vect-generic.cc (expand_vector_condition): If a has 3328 vector boolean type and is a comparison, also check if both 3329 the comparison and VEC_COND_EXPR could be successfully expanded 3330 individually. 3331 33322023-04-18 Philipp Tomsich <philipp.tomsich@vrull.eu> 3333 3334 Backported from master: 3335 2023-01-31 Philipp Tomsich <philipp.tomsich@vrull.eu> 3336 3337 PR target/108589 3338 * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Check 3339 REG_P on SET_DEST. 3340 33412023-04-17 Philipp Tomsich <philipp.tomsich@vrull.eu> 3342 3343 Backported from master: 3344 2023-04-17 Philipp Tomsich <philipp.tomsich@vrull.eu> 3345 Di Zhao <di.zhao@amperecomputing.com> 3346 3347 * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION): 3348 Add AARCH64_EXTRA_TUNE_NO_LDP_COMBINE. 3349 * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): 3350 Check for the above tuning option when processing loads. 3351 33522023-04-17 Richard Sandiford <richard.sandiford@arm.com> 3353 3354 Backported from master: 3355 2023-04-13 Richard Sandiford <richard.sandiford@arm.com> 3356 3357 PR target/108910 3358 * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Do 3359 not trust TYPE_ALIGN for pointer types; use POINTER_SIZE instead. 3360 33612023-04-17 Richard Biener <rguenther@suse.de> 3362 3363 PR tree-optimization/109434 3364 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Properly 3365 handle possibly throwing calls when processing the LHS 3366 and may-defs are not OK. Add mode to initialize a may-def. 3367 (dse_optimize_stmt): Query may-defs. 3368 33692023-04-17 Richard Biener <rguenther@suse.de> 3370 3371 Backported from master: 3372 2023-04-14 Richard Biener <rguenther@suse.de> 3373 3374 PR tree-optimization/109502 3375 * tree-vect-stmts.cc (vectorizable_assignment): Fix 3376 check for conversion between mask and non-mask types. 3377 33782023-04-17 Richard Biener <rguenther@suse.de> 3379 3380 Backported from master: 3381 2023-04-13 Richard Biener <rguenther@suse.de> 3382 3383 PR tree-optimization/109491 3384 * tree-ssa-sccvn.cc (expressions_equal_p): Restore the 3385 NULL operands test. 3386 33872023-04-17 Richard Biener <rguenther@suse.de> 3388 3389 Backported from master: 3390 2023-04-12 Richard Biener <rguenther@suse.de> 3391 3392 PR tree-optimization/109473 3393 * tree-vect-loop.cc (vect_create_epilog_for_reduction): 3394 Convert scalar result to the computation type before performing 3395 the reduction adjustment. 3396 33972023-04-17 Richard Biener <rguenther@suse.de> 3398 3399 Backported from master: 3400 2023-04-12 Richard Biener <rguenther@suse.de> 3401 3402 PR tree-optimization/109469 3403 * tree-vect-slp.cc (vect_slp_function): Skip region starts with 3404 a returns-twice call. 3405 34062023-04-17 Richard Biener <rguenther@suse.de> 3407 3408 Backported from master: 3409 2023-03-27 Richard Biener <rguenther@suse.de> 3410 3411 PR lto/109263 3412 * lto-wrapper.cc (run_gcc): Parse alternate debug options 3413 as well, they always enable debug. 3414 34152023-04-17 Richard Biener <rguenther@suse.de> 3416 3417 Backported from master: 3418 2023-03-21 Richard Biener <rguenther@suse.de> 3419 3420 PR tree-optimization/109219 3421 * tree-vect-loop.cc (vectorizable_reduction): Check 3422 slp_node, not STMT_SLP_TYPE. 3423 * tree-vect-stmts.cc (vectorizable_condition): Likewise. 3424 * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): 3425 Remove assertion on STMT_SLP_TYPE. 3426 34272023-04-17 Richard Biener <rguenther@suse.de> 3428 3429 Backported from master: 3430 2023-03-29 Richard Biener <rguenther@suse.de> 3431 3432 PR ipa/106124 3433 * dwarf2out.cc (lookup_type_die): Reset TREE_ASM_WRITTEN 3434 so we can re-create the DIE for the type if required. 3435 34362023-04-17 Richard Biener <rguenther@suse.de> 3437 3438 Backported from master: 3439 2022-12-07 Richard Biener <rguenther@suse.de> 3440 3441 PR ipa/105676 3442 * ipa-pure-const.cc (ipa_make_function_pure): Skip also 3443 for functions already being const. 3444 34452023-04-17 Kewen Lin <linkw@linux.ibm.com> 3446 3447 Backported from master: 3448 2023-04-04 Kewen Lin <linkw@linux.ibm.com> 3449 3450 PR target/108699 3451 * config/rs6000/altivec.md (*p9v_parity<mode>2): Rename to ... 3452 (rs6000_vprtyb<mode>2): ... this. 3453 * config/rs6000/rs6000-builtins.def (VPRTYBD): Replace parityv2di2 with 3454 rs6000_vprtybv2di2. 3455 (VPRTYBW): Replace parityv4si2 with rs6000_vprtybv4si2. 3456 (VPRTYBQ): Replace parityv1ti2 with rs6000_vprtybv1ti2. 3457 * config/rs6000/vector.md (parity<mode>2 with VEC_IP): Expand with 3458 popcountv16qi2 and the corresponding rs6000_vprtyb<mode>2. 3459 34602023-04-17 Kewen Lin <linkw@linux.ibm.com> 3461 3462 Backported from master: 3463 2023-04-04 Kewen Lin <linkw@linux.ibm.com> 3464 3465 PR target/108807 3466 * config/rs6000/rs6000.cc (rs6000_expand_vector_set_var_p9): Fix gen 3467 function for permutation control vector by considering big endianness. 3468 34692023-04-14 Jan Hubicka <hubicka@ucw.cz> 3470 3471 PR target/109137 3472 * config/i386/x86-tune.def (X86_TUNE_AVX256_MOVE_BY_PIECES): 3473 Remove znver1-3. 3474 (X86_TUNE_AVX256_STORE_BY_PIECES): Remove znver1-3. 3475 34762023-04-13 Philipp Tomsich <philipp.tomsich@vrull.eu> 3477 3478 Backported from master: 3479 2023-03-27 Philipp Tomsich <philipp.tomsich@vrull.eu> 3480 Jiangning Liu <jiangning.liu@amperecomputing.com> 3481 Manolis Tsamis <manolis.tsamis@vrull.eu> 3482 3483 * config/aarch64/aarch64.cc: Update vector costs for ampere1. 3484 34852023-04-11 Michael Meissner <meissner@linux.ibm.com> 3486 3487 PR target/109067 3488 * config/rs6000/rs6000.cc (create_complex_muldiv): Delete. 3489 (init_float128_ieee): Delete code to switch complex multiply and divide 3490 for long double. Backport from master, 3/20/2023. 3491 (complex_multiply_builtin_code): New helper function. 3492 (complex_divide_builtin_code): Likewise. 3493 (rs6000_mangle_decl_assembler_name): Add support for mangling the name 3494 of complex 128-bit multiply and divide built-in functions. 3495 34962023-04-06 Andrew Pinski <apinski@marvell.com> 3497 3498 Backported from master: 3499 2023-04-06 Andrew Pinski <apinski@marvell.com> 3500 3501 PR tree-optimization/109427 3502 * params.opt (-param=vect-induction-float=): 3503 Fix option attribute typo for IntegerRange. 3504 35052023-04-03 Richard Sandiford <richard.sandiford@arm.com> 3506 3507 PR tree-optimization/96373 3508 PR tree-optimization/108979 3509 * tree-vect-stmts.cc (vectorizable_operation): Predicate trapping 3510 operations on the loop mask. Reject partial vectors if this isn't 3511 possible. Don't mask operations on invariants. 3512 35132023-04-03 Richard Sandiford <richard.sandiford@arm.com> 3514 3515 Backported from master: 3516 2023-03-28 Richard Sandiford <richard.sandiford@arm.com> 3517 3518 PR target/109072 3519 * config/aarch64/aarch64-protos.h (aarch64_vector_load_decl): Declare. 3520 * config/aarch64/aarch64.h (machine_function::vector_load_decls): New 3521 variable. 3522 * config/aarch64/aarch64-builtins.cc (aarch64_record_vector_load_arg): 3523 New function. 3524 (aarch64_general_gimple_fold_builtin): Delay folding of vld1 until 3525 after inlining. Record which decls are loaded from. Fix handling 3526 of vops for loads and stores. 3527 * config/aarch64/aarch64.cc (aarch64_vector_load_decl): New function. 3528 (aarch64_accesses_vector_load_decl_p): Likewise. 3529 (aarch64_vector_costs::m_stores_to_vector_load_decl): New member 3530 variable. 3531 (aarch64_vector_costs::add_stmt_cost): If the function has a vld1 3532 that loads from a decl, treat vector stores to those decls as 3533 zero cost. 3534 (aarch64_vector_costs::finish_cost): ...and in that case, 3535 if the vector code does nothing more than a store, give the 3536 prologue a zero cost as well. 3537 35382023-04-03 Richard Sandiford <richard.sandiford@arm.com> 3539 3540 Backported from master: 3541 2023-02-13 Richard Sandiford <richard.sandiford@arm.com> 3542 3543 PR rtl-optimization/108681 3544 * lra-spills.cc (lra_final_code_change): Extend subreg replacement 3545 code to handle bare uses and clobbers. 3546 35472023-04-03 Richard Sandiford <richard.sandiford@arm.com> 3548 3549 Backported from master: 3550 2023-01-31 Richard Sandiford <richard.sandiford@arm.com> 3551 3552 PR tree-optimization/108608 3553 * tree-vect-loop.cc (vect_transform_reduction): Handle single 3554 def-use cycles that involve function calls rather than tree codes. 3555 35562023-04-03 Richard Sandiford <richard.sandiford@arm.com> 3557 3558 Backported from master: 3559 2023-03-02 Richard Sandiford <richard.sandiford@arm.com> 3560 3561 PR tree-optimization/108603 3562 * explow.cc (convert_memory_address_addr_space_1): Only wrap 3563 the result of a recursive call in a CONST if no instructions 3564 were emitted. 3565 35662023-04-03 Richard Sandiford <richard.sandiford@arm.com> 3567 3568 Backported from master: 3569 2023-02-02 Richard Sandiford <richard.sandiford@arm.com> 3570 3571 PR rtl-optimization/108508 3572 * rtl-ssa/accesses.cc (function_info::split_clobber_group): When 3573 the splay tree search gives the first clobber in the second group, 3574 make sure that the root of the first clobber group is updated 3575 correctly. Enter the new clobber group into the definition splay 3576 tree. 3577 35782023-04-03 Richard Sandiford <richard.sandiford@arm.com> 3579 3580 Backported from master: 3581 2023-03-02 Richard Sandiford <richard.sandiford@arm.com> 3582 3583 PR tree-optimization/108430 3584 * tree-vect-stmts.cc (vectorizable_condition): Fix handling 3585 of inverted condition. 3586 35872023-04-03 Richard Sandiford <richard.sandiford@arm.com> 3588 3589 Backported from master: 3590 2023-02-02 Richard Sandiford <richard.sandiford@arm.com> 3591 3592 PR rtl-optimization/108086 3593 * rtl-ssa/insns.h (insn_info): Make m_num_defs a full unsigned int. 3594 Adjust size-related commentary accordingly. 3595 35962023-03-31 Vladimir N. Makarov <vmakarov@redhat.com> 3597 3598 * ira-costs.cc: Include print-rtl.h. 3599 (record_reg_classes, scan_one_insn): Add code to print debug info. 3600 (record_operand_costs): Find and use smaller cost for hard reg 3601 move. 3602 36032023-03-29 David Malcolm <dmalcolm@redhat.com> 3604 3605 * doc/invoke.texi (Static Analyzer Options): Add notes about 3606 limitations of -fanalyzer. 3607 36082023-03-29 David Malcolm <dmalcolm@redhat.com> 3609 3610 * doc/analyzer.texi: Drop out-of-date ideas for other checkers. 3611 36122023-03-28 Eric Botcazou <ebotcazou@adacore.com> 3613 3614 PR target/109140 3615 * config/sparc/sparc.cc (sparc_expand_vcond): Call signed_condition 3616 on operand #3 to get the final condition code. Use std::swap. 3617 * config/sparc/sparc.md (vcondv8qiv8qi): New VIS 4 expander. 3618 (fucmp<gcond:code>8<P:mode>_vis): Move around. 3619 (fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis): Likewise. 3620 (vcondu<GCM:mode><GCM:mode>): New VIS 4 expander. 3621 36222023-03-22 Martin Jambor <mjambor@suse.cz> 3623 3624 Backported from master: 3625 2023-03-14 Martin Jambor <mjambor@suse.cz> 3626 3627 PR ipa/107925 3628 * ipa-cp.cc (update_specialized_profile): Drop orig_node_count to 3629 ipa count, remove assert, lenient_count_portion_handling, dump 3630 also orig_node_count. 3631 36322023-03-20 Peter Bergner <bergner@linux.ibm.com> 3633 3634 Backported from master: 3635 2023-03-20 Peter Bergner <bergner@linux.ibm.com> 3636 3637 PR target/109178 3638 * config/rs6000/rs6000-builtin.cc (stv_expand_builtin): Use tmode. 3639 36402023-03-19 Jakub Jelinek <jakub@redhat.com> 3641 3642 Backported from master: 3643 2023-03-17 Jakub Jelinek <jakub@redhat.com> 3644 3645 PR target/105554 3646 * function.h (push_struct_function): Add ABSTRACT_P argument defaulted 3647 to false. 3648 * function.cc (push_struct_function): Add ABSTRACT_P argument, pass it 3649 to allocate_struct_function instead of false. 3650 * tree-inline.cc (initialize_cfun): Don't copy DECL_ARGUMENTS 3651 nor DECL_RESULT here. Pass true as ABSTRACT_P to 3652 push_struct_function. Call targetm.target_option.relayout_function 3653 after it. 3654 (tree_function_versioning): Formatting fix. 3655 36562023-03-19 Jakub Jelinek <jakub@redhat.com> 3657 3658 Backported from master: 3659 2023-03-17 Jakub Jelinek <jakub@redhat.com> 3660 3661 PR middle-end/108685 3662 * omp-expand.cc (expand_omp_for_ordered_loops): Add L0_BB argument, 3663 use its loop_father rather than BODY_BB's loop_father. 3664 (expand_omp_for_generic): Adjust expand_omp_for_ordered_loops caller. 3665 If broken_loop with ordered > collapse and at least one of those 3666 extra loops aren't guaranteed to have at least one iteration, change 3667 l0_bb's loop_father to entry_bb's loop_father. Set cont_bb's 3668 loop_father to l0_bb's loop_father rather than l1_bb's. 3669 36702023-03-19 Jakub Jelinek <jakub@redhat.com> 3671 3672 Backported from master: 3673 2023-03-10 Jakub Jelinek <jakub@redhat.com> 3674 3675 PR c/108079 3676 * cgraphunit.cc (check_global_declaration): Don't warn for unused 3677 variables which have OPT_Wunused_variable warning suppressed. 3678 36792023-03-19 Jakub Jelinek <jakub@redhat.com> 3680 3681 Backported from master: 3682 2023-03-04 Jakub Jelinek <jakub@redhat.com> 3683 3684 PR testsuite/108973 3685 * selftest-diagnostic.cc 3686 (test_diagnostic_context::test_diagnostic_context): Set 3687 caret_max_width to 80. 3688 36892023-03-19 Jakub Jelinek <jakub@redhat.com> 3690 3691 Backported from master: 3692 2023-03-03 Jakub Jelinek <jakub@redhat.com> 3693 3694 PR c/108986 3695 * gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes): 3696 Return immediately if OPT_Wnonnull or OPT_Wstringop_overflow_ is 3697 suppressed on stmt. For [static %E] warning, print access_nelts 3698 rather than access_size. Fix up comment wording. 3699 37002023-03-19 Jakub Jelinek <jakub@redhat.com> 3701 3702 Backported from master: 3703 2023-03-02 Jakub Jelinek <jakub@redhat.com> 3704 3705 PR c++/108934 3706 * fold-const.cc (native_interpret_expr) <case REAL_CST>: Before memcmp 3707 comparison copy the bytes from ptr to a temporary buffer and clearing 3708 padding bits in there. 3709 37102023-03-19 Jakub Jelinek <jakub@redhat.com> 3711 3712 Backported from master: 3713 2023-03-01 Jakub Jelinek <jakub@redhat.com> 3714 3715 PR debug/108967 3716 * cfgexpand.cc (expand_debug_expr): Handle WIDEN_{PLUS,MINUS}_EXPR 3717 and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR. 3718 37192023-03-19 Jakub Jelinek <jakub@redhat.com> 3720 3721 Backported from master: 3722 2023-02-24 Jakub Jelinek <jakub@redhat.com> 3723 3724 PR middle-end/108854 3725 * cgraphclones.cc (duplicate_thunk_for_node): If no parameter 3726 changes are needed, copy at least DECL_ARGUMENTS PARM_DECL 3727 nodes and adjust their DECL_CONTEXT. 3728 37292023-03-19 Jakub Jelinek <jakub@redhat.com> 3730 3731 Backported from master: 3732 2023-02-24 Jakub Jelinek <jakub@redhat.com> 3733 3734 PR target/108881 3735 * config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16hi, 3736 __builtin_ia32_cvtne2ps2bf16_v16hi_mask, 3737 __builtin_ia32_cvtne2ps2bf16_v16hi_maskz, 3738 __builtin_ia32_cvtne2ps2bf16_v8hi, 3739 __builtin_ia32_cvtne2ps2bf16_v8hi_mask, 3740 __builtin_ia32_cvtne2ps2bf16_v8hi_maskz, 3741 __builtin_ia32_cvtneps2bf16_v8sf_mask, 3742 __builtin_ia32_cvtneps2bf16_v8sf_maskz, 3743 __builtin_ia32_cvtneps2bf16_v4sf_mask, 3744 __builtin_ia32_cvtneps2bf16_v4sf_maskz, 3745 __builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask, 3746 __builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf, 3747 __builtin_ia32_dpbf16ps_v4sf_mask, 3748 __builtin_ia32_dpbf16ps_v4sf_maskz): Require also 3749 OPTION_MASK_ISA_AVX512VL. 3750 37512023-03-19 Jakub Jelinek <jakub@redhat.com> 3752 3753 Backported from master: 3754 2023-02-18 Jakub Jelinek <jakub@redhat.com> 3755 3756 PR tree-optimization/108819 3757 * tree-ssa-reassoc.cc (update_ops): Fold new stmt in place. 3758 37592023-03-19 Jakub Jelinek <jakub@redhat.com> 3760 3761 Backported from master: 3762 2023-02-09 Jakub Jelinek <jakub@redhat.com> 3763 3764 PR target/100758 3765 * common/config/i386/cpuinfo.h (cpu_indicator_init): Call 3766 get_available_features for all CPUs with max_level >= 1, rather 3767 than just Intel or AMD. 3768 37692023-03-15 Richard Biener <rguenther@suse.de> 3770 3771 Backported from master: 3772 2023-03-01 Richard Biener <rguenther@suse.de> 3773 3774 PR tree-optimization/108950 3775 * tree-vect-patterns.cc (vect_recog_widen_sum_pattern): 3776 Check oprnd0 is defined in the loop. 3777 * tree-vect-loop.cc (vectorizable_reduction): Record all 3778 operands vector types, compute that of invariants and 3779 properly update their SLP nodes. 3780 37812023-03-15 Richard Biener <rguenther@suse.de> 3782 3783 Backported from master: 3784 2023-02-17 Richard Biener <rguenther@suse.de> 3785 3786 PR tree-optimization/108821 3787 * tree-ssa-loop-im.cc (sm_seq_valid_bb): We can also not 3788 move volatile accesses. 3789 37902023-03-15 Richard Biener <rguenther@suse.de> 3791 3792 Backported from master: 3793 2023-02-20 Richard Biener <rguenther@suse.de> 3794 3795 PR tree-optimization/108816 3796 * tree-vect-loop-manip.cc (vect_loop_versioning): Adjust 3797 versioning condition split prerequesite, assert required 3798 invariant. 3799 38002023-03-15 Richard Biener <rguenther@suse.de> 3801 3802 Backported from master: 3803 2023-02-21 Richard Biener <rguenther@suse.de> 3804 3805 PR tree-optimization/108793 3806 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap): 3807 Use convert operands to niter_type when computing num. 3808 38092023-03-15 Richard Biener <rguenther@suse.de> 3810 3811 Backported from master: 3812 2023-02-10 Richard Biener <rguenther@suse.de> 3813 3814 PR tree-optimization/108724 3815 * tree-vect-stmts.cc (vectorizable_operation): Avoid 3816 using word_mode vectors when vector lowering will 3817 decompose them to elementwise operations. 3818 38192023-03-15 Richard Biener <rguenther@suse.de> 3820 3821 Backported from master: 3822 2023-02-02 Richard Biener <rguenther@suse.de> 3823 3824 PR middle-end/108625 3825 * genmatch.cc (expr::gen_transform): Also disallow resimplification 3826 from pushing to lseq with force_leaf. 3827 (dt_simplify::gen_1): Likewise. 3828 38292023-03-15 Richard Biener <rguenther@suse.de> 3830 3831 Backported from master: 3832 2023-02-01 Richard Biener <rguenther@suse.de> 3833 3834 PR middle-end/108500 3835 * dominance.cc (assign_dfs_numbers): Replace recursive DFS 3836 with tree traversal algorithm. 3837 38382023-03-15 Richard Biener <rguenther@suse.de> 3839 3840 Backported from master: 3841 2022-12-22 Richard Biener <rguenther@suse.de> 3842 3843 PR tree-optimization/107451 3844 * tree-vect-stmts.cc (vectorizable_load): Avoid loading 3845 SLP group members from group numbers in excess of the 3846 vectorization factor. 3847 38482023-03-15 Richard Biener <rguenther@suse.de> 3849 3850 Backported from master: 3851 2022-12-11 Richard Biener <rguenther@suse.de> 3852 3853 PR tree-optimization/106904 3854 * tree.h (strip_zero_offset_components): Declare. 3855 * tree.cc (strip_zero_offset_components): Define. 3856 * tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref): 3857 Strip zero offset components before building the address. 3858 38592023-03-14 Jan Hubicka <jh@suse.cz> 3860 3861 Backported from master: 3862 2023-03-06 Jan Hubicka <hubicka@ucw.cz> 3863 3864 PR target/108429 3865 * config/i386/x86-tune.def (X86_TUNE_USE_SCATTER_2PARTS): Enable for 3866 generic. 3867 (X86_TUNE_USE_SCATTER_4PARTS): Likewise. 3868 (X86_TUNE_USE_SCATTER): Likewise. 3869 38702023-03-14 Jan Hubicka <jh@suse.cz> 3871 3872 Backported from master: 3873 2023-02-07 Jan Hubicka <jh@suse.cz> 3874 3875 * config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Turn off 3876 for znver4. 3877 38782023-03-11 Andrew Pinski <apinski@marvell.com> 3879 3880 Backported from master: 3881 2022-12-21 Andrew Pinski <apinski@marvell.com> 3882 3883 PR tree-optimization/105532 3884 * match.pd (~(X >> Y) -> ~X >> Y): Check if it is an integral 3885 type before calling tree_nonzero_bits. 3886 (popcount(X) + popcount(Y)): Likewise. 3887 (popcount(X&C1)): Likewise. 3888 38892023-03-10 Andrew Pinski <apinski@marvell.com> 3890 3891 Backported from master: 3892 2023-02-10 Andrew Pinski <apinski@marvell.com> 3893 Andrew Macleod <amacleod@redhat.com> 3894 3895 PR tree-optimization/108684 3896 * tree-ssa-dce.cc (simple_dce_from_worklist): 3897 Check all ssa names and not just non-vdef ones 3898 before accepting the inline-asm. 3899 Call unlink_stmt_vdef on the statement before 3900 removing it. 3901 39022023-03-08 Tobias Burnus <tobias@codesourcery.com> 3903 3904 Backported from master: 3905 2023-03-01 Tobias Burnus <tobias@codesourcery.com> 3906 3907 PR middle-end/108546 3908 * omp-low.cc (lower_omp_target): Remove optional handling 3909 on the receiver side, i.e. inside target (data), for 3910 use_device_ptr. 3911 39122023-03-06 Xi Ruoyao <xry111@xry111.site> 3913 3914 Backported from master: 3915 2023-03-06 Xi Ruoyao <xry111@xry111.site> 3916 3917 PR target/109000 3918 * config/loongarch/loongarch.h (FP_RETURN): Use 3919 TARGET_*_FLOAT_ABI instead of TARGET_*_FLOAT. 3920 (UNITS_PER_FP_ARG): Likewise. 3921 39222023-02-27 Martin Liska <mliska@suse.cz> 3923 3924 Backported from master: 3925 2023-02-24 Martin Liska <mliska@suse.cz> 3926 3927 PR sanitizer/108834 3928 * asan.cc (asan_add_global): Use proper TU name for normal 3929 global variables (and aux_base_name for the artificial one). 3930 39312023-02-24 Sebastian Huber <sebastian.huber@embedded-brains.de> 3932 3933 Backported from master: 3934 2023-02-24 Sebastian Huber <sebastian.huber@embedded-brains.de> 3935 3936 * config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs. 3937 Add non-compact 32-bit multilibs. 3938 39392023-02-20 Alex Coplan <alex.coplan@arm.com> 3940 3941 Backported from master: 3942 2023-02-06 Alex Coplan <alex.coplan@arm.com> 3943 3944 PR target/104921 3945 * config/aarch64/aarch64-simd.md (aarch64_bfmlal<bt>_lane<q>v4sf): 3946 Use correct constraint for operand 3. 3947 39482023-02-18 Xi Ruoyao <xry111@xry111.site> 3949 3950 Backported from master: 3951 2023-02-18 Xi Ruoyao <xry111@xry111.site> 3952 3953 * config.gcc (triplet_abi): Set its value based on $with_abi, 3954 instead of $target. 3955 (la_canonical_triplet): Set it after $triplet_abi is set 3956 correctly. 3957 * config/loongarch/t-linux (MULTILIB_OSDIRNAMES): Make the 3958 multiarch tuple for lp64d "loongarch64-linux-gnu" (without 3959 "f64" suffix). 3960 39612023-02-15 Eric Botcazou <ebotcazou@adacore.com> 3962 3963 PR target/90458 3964 * config/i386/i386.cc (ix86_compute_frame_layout): Disable the 3965 effects of -fstack-clash-protection for TARGET_STACK_PROBE. 3966 (ix86_expand_prologue): Likewise. 3967 39682023-02-15 Marek Polacek <polacek@redhat.com> 3969 3970 Backported from master: 3971 2023-02-15 Marek Polacek <polacek@redhat.com> 3972 3973 PR middle-end/106080 3974 * gimple-ssa-warn-access.cc (is_auto_decl): Remove. Use auto_var_p 3975 instead. 3976 39772023-02-14 Eric Botcazou <ebotcazou@adacore.com> 3978 3979 * gimplify.cc (gimplify_save_expr): Add missing guard. 3980 39812023-02-13 Kewen Lin <linkw@linux.ibm.com> 3982 3983 Backported from master: 3984 2023-01-18 Kewen Lin <linkw@linux.ibm.com> 3985 Andrew Pinski <apinski@marvell.com> 3986 3987 PR target/108396 3988 * config/rs6000/rs6000-overload.def (VEC_VSUBCUQ): Fix typo 3989 vec_vsubcuqP with vec_vsubcuq. 3990 39912023-02-13 Kewen Lin <linkw@linux.ibm.com> 3992 3993 Backported from master: 3994 2023-01-18 Kewen Lin <linkw@linux.ibm.com> 3995 3996 PR target/108348 3997 * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the 3998 support for invalid uses of MMA opaque type in function arguments. 3999 40002023-02-13 Kewen Lin <linkw@linux.ibm.com> 4001 4002 Backported from master: 4003 2023-01-16 Kewen Lin <linkw@linux.ibm.com> 4004 4005 PR target/108272 4006 * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the 4007 support for invalid uses in inline asm, factor out the checking and 4008 erroring to lambda function check_and_error_invalid_use. 4009 40102023-02-11 John David Anglin <danglin@gcc.gnu.org> 4011 4012 * config/pa/pa.cc (pa_option_override): Disable -fstack-protector. 4013 40142023-02-10 Jakub Jelinek <jakub@redhat.com> 4015 4016 Backported from master: 4017 2023-01-31 Jakub Jelinek <jakub@redhat.com> 4018 4019 PR c++/105593 4020 * config/i386/avx512erintrin.h (_mm512_exp2a23_round_pd, 4021 _mm512_exp2a23_round_ps, _mm512_rcp28_round_pd, _mm512_rcp28_round_ps, 4022 _mm512_rsqrt28_round_pd, _mm512_rsqrt28_round_ps): Use 4023 _mm512_undefined_pd () or _mm512_undefined_ps () instead of using 4024 uninitialized automatic variable __W. 4025 40262023-02-10 Jakub Jelinek <jakub@redhat.com> 4027 4028 Backported from master: 4029 2023-01-16 Jakub Jelinek <jakub@redhat.com> 4030 4031 PR c++/105593 4032 * config/i386/xmmintrin.h (_mm_undefined_ps): Temporarily 4033 disable -Winit-self using pragma GCC diagnostic ignored. 4034 * config/i386/emmintrin.h (_mm_undefined_pd, _mm_undefined_si128): 4035 Likewise. 4036 * config/i386/avxintrin.h (_mm256_undefined_pd, _mm256_undefined_ps, 4037 _mm256_undefined_si256): Likewise. 4038 * config/i386/avx512fintrin.h (_mm512_undefined_pd, 4039 _mm512_undefined_ps, _mm512_undefined_epi32): Likewise. 4040 * config/i386/avx512fp16intrin.h (_mm_undefined_ph, 4041 _mm256_undefined_ph, _mm512_undefined_ph): Likewise. 4042 40432023-02-10 Jakub Jelinek <jakub@redhat.com> 4044 4045 Backported from master: 4046 2023-01-19 Jakub Jelinek <jakub@redhat.com> 4047 4048 PR tree-optimization/108440 4049 * tree-ssa-forwprop.cc: Include gimple-range.h. 4050 (simplify_rotate): For the forms with T2 wider than T and shift counts of 4051 Y and B - Y add & (B - 1) masking for the rotate count if Y could be equal 4052 to B. For the forms with T2 wider than T and shift counts of 4053 Y and (-Y) & (B - 1), don't punt if range could be [B, B2], but only if 4054 range doesn't guarantee Y < B or Y = N * B. If range doesn't guarantee 4055 Y < B, also add & (B - 1) masking for the rotate count. Use lazily created 4056 pass specific ranger instead of get_global_range_query. 4057 (pass_forwprop::execute): Disable that ranger at the end of pass if it has 4058 been created. 4059 40602023-02-10 Jakub Jelinek <jakub@redhat.com> 4061 4062 Backported from master: 4063 2023-01-17 Jakub Jelinek <jakub@redhat.com> 4064 4065 PR tree-optimization/106523 4066 * tree-ssa-forwprop.cc (simplify_rotate): For the 4067 patterns with (-Y) & (B - 1) in one operand's shift 4068 count and Y in another, if T2 has wider precision than T, 4069 punt if Y could have a value in [B, B2 - 1] range. 4070 40712023-02-10 Andrew Pinski <apinski@marvell.com> 4072 4073 Backported from master: 4074 2023-02-09 Andrew Pinski <apinski@marvell.com> 4075 4076 PR tree-optimization/108688 4077 * match.pd (bit_field_ref [bit_insert]): Avoid generating 4078 BIT_FIELD_REFs of non-mode-precision integral operands. 4079 40802023-02-10 Jakub Jelinek <jakub@redhat.com> 4081 4082 Backported from master: 4083 2023-02-08 Jakub Jelinek <jakub@redhat.com> 4084 4085 PR tree-optimization/108692 4086 * tree-vect-patterns.cc (vect_widened_op_tree): If rhs_code is 4087 widened_code which is different from code, don't call 4088 vect_look_through_possible_promotion but instead just check op is 4089 SSA_NAME with integral type for which vect_is_simple_use is true 4090 and call set_op on this_unprom. 4091 40922023-02-10 Jakub Jelinek <jakub@redhat.com> 4093 4094 Backported from master: 4095 2023-02-02 Jakub Jelinek <jakub@redhat.com> 4096 4097 PR middle-end/108435 4098 * tree-nested.cc (convert_nonlocal_omp_clauses) 4099 <case OMP_CLAUSE_LASTPRIVATE>: If info->new_local_var_chain and *seq 4100 is not a GIMPLE_BIND, wrap the sequence into a new GIMPLE_BIND 4101 before calling declare_vars. 4102 (convert_nonlocal_omp_clauses) <case OMP_CLAUSE_LINEAR>: Merge 4103 with the OMP_CLAUSE_LASTPRIVATE handling except for whether 4104 seq is initialized to &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause) 4105 or &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause). 4106 41072023-02-10 Jakub Jelinek <jakub@redhat.com> 4108 4109 Backported from master: 4110 2023-02-01 Jakub Jelinek <jakub@redhat.com> 4111 4112 PR debug/108573 4113 * ree.cc (combine_reaching_defs): Don't return false for paradoxical 4114 subregs in DEBUG_INSNs. 4115 41162023-02-10 Jakub Jelinek <jakub@redhat.com> 4117 4118 Backported from master: 4119 2023-01-31 Jakub Jelinek <jakub@redhat.com> 4120 4121 PR target/108599 4122 * config/i386/i386-expand.cc 4123 (ix86_convert_const_wide_int_to_broadcast): Return nullptr if 4124 CONST_WIDE_INT_NUNITS (op) times HOST_BITS_PER_WIDE_INT isn't 4125 equal to bitsize of mode. 4126 41272023-02-10 Jakub Jelinek <jakub@redhat.com> 4128 4129 Backported from master: 4130 2023-01-31 Jakub Jelinek <jakub@redhat.com> 4131 4132 PR rtl-optimization/108596 4133 * bb-reorder.cc (fix_up_fall_thru_edges): Handle the case where cur_bb 4134 ends with asm goto and has a crossing fallthrough edge to the same bb 4135 that contains at least one of its labels by restoring EDGE_CROSSING 4136 flag even on possible edge from cur_bb to new_bb successor. 4137 41382023-02-10 Jakub Jelinek <jakub@redhat.com> 4139 4140 Backported from master: 4141 2023-01-27 Jakub Jelinek <jakub@redhat.com> 4142 4143 PR other/108560 4144 * doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len 4145 from size_t to int. 4146 41472023-02-10 Jakub Jelinek <jakub@redhat.com> 4148 4149 Backported from master: 4150 2023-01-25 Jakub Jelinek <jakub@redhat.com> 4151 4152 PR tree-optimization/108498 4153 * gimple-ssa-store-merging.cc (class store_operand_info): 4154 End coment with full stop rather than comma. 4155 (split_group): Likewise. 4156 (merged_store_group::apply_stores): Clear string_concatenation if 4157 start or end aren't on a byte boundary. 4158 41592023-02-10 Eric Biggers <ebiggers@google.com> 4160 4161 Backported from master: 4162 2023-01-24 Eric Biggers <ebiggers@google.com> 4163 4164 PR bootstrap/90543 4165 * optc-save-gen.awk: Fix copy-and-paste error. 4166 41672023-02-10 Jakub Jelinek <jakub@redhat.com> 4168 4169 Backported from master: 4170 2023-01-19 Jakub Jelinek <jakub@redhat.com> 4171 4172 PR middle-end/108459 4173 * omp-expand.cc (expand_omp_for_init_counts): Use fold_build1 rather 4174 than fold_unary for NEGATE_EXPR. 4175 41762023-02-10 Jakub Jelinek <jakub@redhat.com> 4177 4178 Backported from master: 4179 2023-01-04 Jakub Jelinek <jakub@redhat.com> 4180 4181 PR middle-end/108237 4182 * generic-match-head.cc: Include tree-pass.h. 4183 (canonicalize_math_p, optimize_vectors_before_lowering_p): Define 4184 to false if cfun and cfun->curr_properties has PROP_gimple_opt_math 4185 resp. PROP_gimple_lvec property set. 4186 41872023-02-10 Jakub Jelinek <jakub@redhat.com> 4188 4189 Backported from master: 4190 2023-01-03 Jakub Jelinek <jakub@redhat.com> 4191 4192 PR middle-end/108264 4193 * expr.cc (store_expr): For stores into SUBREG_PROMOTED_* targets 4194 from source which doesn't have scalar integral mode first convert 4195 it to outer_mode. 4196 41972023-02-10 Jakub Jelinek <jakub@redhat.com> 4198 4199 Backported from master: 4200 2022-12-23 Jakub Jelinek <jakub@redhat.com> 4201 4202 PR tree-optimization/108068 4203 * tree.h (real_maybe_zerop): Declare. 4204 * tree.cc (real_maybe_zerop): Define. 4205 * tree-ssa-dom.cc (record_edge_info): Use it instead of 4206 real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop. Always set 4207 can_infer_simple_equiv to false for decimal floating point types. 4208 42092023-02-10 Jakub Jelinek <jakub@redhat.com> 4210 4211 Backported from master: 4212 2022-12-22 Jakub Jelinek <jakub@redhat.com> 4213 4214 PR tree-optimization/108166 4215 * tree-ssa-phiopt.cc (value_replacement): For the maybe_equal_p 4216 case turned into equal_p reset SSA_NAME_RANGE_INFO of phi result. 4217 42182023-02-10 Jakub Jelinek <jakub@redhat.com> 4219 4220 Backported from master: 4221 2022-12-22 Jakub Jelinek <jakub@redhat.com> 4222 4223 PR rtl-optimization/108193 4224 * cse.cc (compute_const_anchors): Change n type to 4225 unsigned HOST_WIDE_INT, adjust comparison against it to avoid 4226 warnings. Formatting fix. 4227 (insert_const_anchor): Use gen_int_mode instead of GEN_INT. 4228 42292023-02-10 Jakub Jelinek <jakub@redhat.com> 4230 4231 Backported from master: 4232 2022-12-16 Jakub Jelinek <jakub@redhat.com> 4233 4234 PR rtl-optimization/106751 4235 * loop-invariant.cc (move_invariant_reg): If preheader bb ends 4236 with a JUMP_INSN, split the preheader edge and emit invariants 4237 into the new preheader basic block. 4238 42392023-02-10 Jakub Jelinek <jakub@redhat.com> 4240 4241 Backported from master: 4242 2022-12-15 Jakub Jelinek <jakub@redhat.com> 4243 4244 PR tree-optimization/108095 4245 * tree-into-ssa.cc (maybe_register_def): Insert debug stmt 4246 on all non-EH edges from asm goto if they have a single 4247 predecessor rather than asserting there is at most one such edge. 4248 Test whether there are no PHI nodes next to the single predecessor 4249 test. 4250 42512023-02-10 Jakub Jelinek <jakub@redhat.com> 4252 4253 Backported from master: 4254 2022-12-10 Jakub Jelinek <jakub@redhat.com> 4255 4256 PR tree-optimization/107997 4257 * tree-ssa-loop-ivopts.cc: Include cfganal.h. 4258 (create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends 4259 with a stmt which ends bb, instead of adding iv update after it split 4260 the latch edge and insert iterator into the new latch bb. 4261 42622023-02-10 Jakub Jelinek <jakub@redhat.com> 4263 4264 Backported from master: 4265 2022-12-08 Jakub Jelinek <jakub@redhat.com> 4266 4267 PR debug/106719 4268 * cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between 4269 debug_insn (seen after flow_transfer_insn) and insn, move NOTEs 4270 before all the DEBUG_INSNs and split after NOTEs. If there are 4271 other insns like jump table data, clear debug_insn. 4272 42732023-02-10 Jakub Jelinek <jakub@redhat.com> 4274 4275 Backported from master: 4276 2022-11-28 Jakub Jelinek <jakub@redhat.com> 4277 4278 PR target/106875 4279 * config/i386/i386.opt (x_ix86_abi): Remove TargetSave. 4280 (ix86_abi): Replace it with TargetVariable. 4281 * config/i386/i386-options.cc (ix86_function_specific_save, 4282 ix86_function_specific_restore): Don't save and restore x_ix86_abi. 4283 42842023-02-10 Jakub Jelinek <jakub@redhat.com> 4285 4286 Backported from master: 4287 2022-11-24 Jakub Jelinek <jakub@redhat.com> 4288 4289 PR middle-end/107317 4290 * asan.cc: Include diagnostic-core.h. 4291 (asan_emit_stack_protection): Return NULL early if seen_error (). 4292 42932023-02-07 Andrew Pinski <apinski@marvell.com> 4294 4295 Backported from master: 4296 2023-01-30 Andrew Pinski <apinski@marvell.com> 4297 4298 PR tree-optimization/108582 4299 * tree-ssa-phiopt.cc (match_simplify_replacement): Add check 4300 for middlebb to have no phi nodes. 4301 43022023-02-07 Siddhesh Poyarekar <siddhesh@gotplt.org> 4303 4304 Backported from master: 4305 2023-01-26 Siddhesh Poyarekar <siddhesh@gotplt.org> 4306 4307 PR tree-optimization/108522 4308 * tree-object-size.cc (compute_object_offset): Make EXPR 4309 argument non-const. Call component_ref_field_offset. 4310 43112023-02-07 Siddhesh Poyarekar <siddhesh@gotplt.org> 4312 4313 Backported from master: 4314 2023-01-25 Siddhesh Poyarekar <siddhesh@gotplt.org> 4315 Jakub Jelinek <jakub@redhat.com> 4316 4317 PR tree-optimization/108522 4318 * tree-object-size.cc (compute_object_offset): Use 4319 TREE_OPERAND(ref, 2) for COMPONENT_REF when available. 4320 43212023-02-01 Martin Jambor <mjambor@suse.cz> 4322 4323 Backported from master: 4324 2023-01-18 Martin Jambor <mjambor@suse.cz> 4325 4326 PR ipa/107944 4327 * cgraph.cc (cgraph_node::remove): Check whether nodes up the 4328 lcone_of chain also do not need the body. 4329 43302023-01-30 Andrew MacLeod <amacleod@redhat.com> 4331 4332 PR tree-optimization/108306 4333 * range-op.cc (operator_lshift::fold_range): Return [0, 0] not 4334 varying for shifts that are always out of void range. 4335 (operator_rshift::fold_range): Return [0, 0] not 4336 varying for shifts that are always out of void range. 4337 43382023-01-30 liuhongt <hongtao.liu@intel.com> 4339 4340 * config/i386/i386.opt: Change AVX512FP16 to AVX512-FP16. 4341 * doc/invoke.texi: Ditto. 4342 43432023-01-29 Jan Hubicka <jh@suse.cz> 4344 4345 Backported from master: 4346 2023-01-16 Jan Hubicka <jh@suse.cz> 4347 4348 * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Guard scatter 4349 by TARGET_USE_SCATTER. 4350 * config/i386/i386.h (TARGET_USE_SCATTER_2PARTS, 4351 TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New macros. 4352 * config/i386/x86-tune.def (TARGET_USE_SCATTER_2PARTS, 4353 TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New tunes. 4354 (X86_TUNE_AVOID_256FMA_CHAINS, X86_TUNE_AVOID_512FMA_CHAINS): Disable 4355 for znver4. (X86_TUNE_USE_GATHER): Disable for zen4. 4356 43572023-01-29 Jan Hubicka <jh@suse.cz> 4358 4359 Backported from master: 4360 2022-12-22 Jan Hubicka <hubicka@ucw.cz> 4361 4362 * config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Add 4363 TARGET_AVX512_SPLIT_REGS 4364 * config/i386/i386-options.cc (ix86_option_override_internal): 4365 Honor x86_TONE_AVOID_256FMA_CHAINS. 4366 * config/i386/i386.cc (ix86_vec_cost): Honor TARGET_AVX512_SPLIT_REGS. 4367 (ix86_reassociation_width): Likewise. 4368 * config/i386/i386.h (TARGET_AVX512_SPLIT_REGS): New tune. 4369 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable 4370 for znver4. 4371 (X86_TUNE_USE_GATHER_4PARTS): Likewise. 4372 (X86_TUNE_AVOID_256FMA_CHAINS): Set for znver4. 4373 (X86_TUNE_AVOID_512FMA_CHAINS): New utne; set for znver4. 4374 (X86_TUNE_AVX256_OPTIMAL): Add znver4. 4375 (X86_TUNE_AVX512_SPLIT_REGS): New tune. 4376 (X86_TUNE_AVX256_MOVE_BY_PIECES): Add znver1-3. 4377 (X86_TUNE_AVX256_STORE_BY_PIECES): Add znver1-3. 4378 (X86_TUNE_AVX512_MOVE_BY_PIECES): Add znver4. 4379 (X86_TUNE_AVX512_STORE_BY_PIECES): Add znver4. 4380 43812023-01-29 Jan Hubicka <jh@suse.cz> 4382 4383 Backported from master: 4384 2022-12-22 Jan Hubicka <hubicka@ucw.cz> 4385 4386 * config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE 4387 moves, division multiplication, gathers, L2 cache size, and more 4388 complex FP instrutions. 4389 43902023-01-28 Tejas Joshi <TejasSanjay.Joshi@amd.com> 4391 4392 Backported from master: 4393 2023-01-05 Tejas Joshi <TejasSanjay.Joshi@amd.com> 4394 4395 * common/config/i386/i386-common.cc (processor_alias_table): 4396 Use CPU_ZNVER4 for znver4. 4397 * config/i386/i386.md: Add znver4.md. 4398 * config/i386/znver4.md: New. 4399 44002023-01-28 Tejas Joshi <TejasSanjay.Joshi@amd.com> 4401 4402 Backported from master: 4403 2022-10-25 Tejas Joshi <TejasSanjay.Joshi@amd.com> 4404 4405 * common/config/i386/i386-common.cc (processor_alias_table): Use 4406 CPU_ZNVER3 for znver4. 4407 * config/i386/znver.md: Remove znver4 reservations. 4408 44092023-01-28 Tejas Joshi <TejasSanjay.Joshi@amd.com> 4410 4411 Backported from master: 4412 2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com> 4413 4414 * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4. 4415 * common/config/i386/i386-common.cc (processor_names): Add znver4. 4416 (processor_alias_table): Add znver4 and modularize old znvers. 4417 * common/config/i386/i386-cpuinfo.h (processor_subtypes): 4418 AMDFAM19H_ZNVER4. 4419 * config.gcc (x86_64-*-* |...): Likewise. 4420 * config/i386/driver-i386.cc (host_detect_local_cpu): Let 4421 -march=native recognize znver4 cpus. 4422 * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4. 4423 * config/i386/i386-options.cc (m_ZNVER4): New definition. 4424 (m_ZNVER): Include m_ZNVER4. 4425 (processor_cost_table): Add znver4. 4426 * config/i386/i386.cc (ix86_reassociation_width): Likewise. 4427 * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4. 4428 (PTA_ZNVER1): New definition. 4429 (PTA_ZNVER2): Likewise. 4430 (PTA_ZNVER3): Likewise. 4431 (PTA_ZNVER4): Likewise. 4432 * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename 4433 md file. 4434 * config/i386/x86-tune-costs.h (znver4_cost): New definition. 4435 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4. 4436 (ix86_adjust_cost): Likewise. 4437 * config/i386/znver1.md: Rename to znver.md. 4438 * config/i386/znver.md: Add new reservations for znver4. 4439 * doc/extend.texi: Add details about znver4. 4440 * doc/invoke.texi: Likewise. 4441 44422023-01-27 Andre Vieira <andre.simoesdiasvieira@arm.com> 4443 4444 Backported from master: 4445 2022-12-06 Andre Vieira <andre.simoesdiasvieira@arm.com> 4446 4447 PR target/107987 4448 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>, 4449 @mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar 4450 operand. 4451 44522023-01-26 Marek Polacek <polacek@redhat.com> 4453 4454 Backported from master: 4455 2023-01-26 Marek Polacek <polacek@redhat.com> 4456 4457 PR middle-end/108543 4458 * opts.cc (parse_sanitizer_options): Don't always clear SANITIZE_ADDRESS 4459 if it was previously set. 4460 44612023-01-26 Dimitar Dimitrov <dimitar@dinux.eu> 4462 4463 Backported from master: 4464 2023-01-22 Dimitar Dimitrov <dimitar@dinux.eu> 4465 4466 * config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix value for QI 4467 and HI input modes. 4468 * config/pru/pru.md (clz): Fix generated code for QI and HI 4469 input modes. 4470 44712023-01-25 Christophe Lyon <christophe.lyon@arm.com> 4472 4473 Backported from master: 4474 2023-01-12 Christophe Lyon <christophe.lyon@arm.com> 4475 Richard Sandiford <richard.sandiford@arm.com> 4476 4477 * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Fix 4478 comment. 4479 (aarch64_layout_arg): Factorize warning conditions. 4480 (aarch64_function_arg_boundary): Fix typo. 4481 * function.cc (currently_expanding_function_start): New variable. 4482 (expand_function_start): Handle 4483 currently_expanding_function_start. 4484 * function.h (currently_expanding_function_start): Declare. 4485 44862023-01-24 Richard Biener <rguenther@suse.de> 4487 4488 Backported from master: 4489 2022-12-19 Richard Biener <rguenther@suse.de> 4490 4491 PR tree-optimization/108164 4492 * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer): 4493 Perform vect_step_op_add update in the appropriate type. 4494 44952023-01-24 Richard Biener <rguenther@suse.de> 4496 4497 Backported from master: 4498 2022-12-13 Richard Biener <rguenther@suse.de> 4499 4500 PR tree-optimization/108076 4501 * tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks 4502 with non-local or forced labels that we later remove 4503 labels from. 4504 45052023-01-24 Richard Biener <rguenther@suse.de> 4506 4507 Backported from master: 4508 2022-12-21 Richard Biener <rguenther@suse.de> 4509 4510 PR middle-end/107994 4511 * gimplify.cc (gimplify_expr): Catch errorneous comparison 4512 operand. 4513 45142023-01-24 Richard Biener <rguenther@suse.de> 4515 4516 Backported from master: 4517 2022-11-11 Richard Biener <rguenther@suse.de> 4518 Nikita Voronov <nik_1357@mail.ru> 4519 4520 PR tree-optimization/107554 4521 * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes): 4522 Use unsigned HOST_WIDE_INT type for the strlen. 4523 45242023-01-24 Sergei Trofimovich <siarheit@google.com> 4525 4526 Backported from master: 4527 2022-08-16 Sergei Trofimovich <siarheit@google.com> 4528 4529 PR driver/106624 4530 * gcc.cc (driver::detect_jobserver): Allocate storage xputenv() 4531 argument using xstrdup(). 4532 45332023-01-23 Andreas Krebbel <krebbel@linux.ibm.com> 4534 4535 Backported from master: 4536 2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com> 4537 4538 PR target/106101 4539 * config/s390/predicates.md (subreg_register_operand): New 4540 predicate. 4541 * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New 4542 function prototype. 4543 * config/s390/s390.cc (s390_gen_lowpart_subreg): New function. 4544 (s390_expand_insv): Use s390_gen_lowpart_subreg instead of 4545 gen_lowpart. 4546 * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31") 4547 ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise. 4548 ("movstrictqi", "movstricthi", "movstrictsi"): Use the 4549 subreg_register_operand predicate instead of register_operand. 4550 45512023-01-11 Eric Botcazou <ebotcazou@adacore.com> 4552 4553 PR tree-optimization/108199 4554 * tree-sra.cc (sra_modify_expr): Deal with reverse storage order 4555 for bit-field references. 4556 45572023-01-11 Martin Liska <mliska@suse.cz> 4558 4559 Backported from master: 4560 2022-12-28 Martin Liska <mliska@suse.cz> 4561 4562 PR tree-optimization/108137 4563 * tree-ssa-strlen.cc (get_range_strlen_phi): Reject anything 4564 different from INTEGER_CST. 4565 45662023-01-10 Stam Markianos-Wright <stam.markianos-wright@arm.com> 4567 4568 Backported from master: 4569 2022-12-30 Stam Markianos-Wright <stam.markianos-wright@arm.com> 4570 4571 PR target/107714 4572 * config/arm/arm-protos.h (mve_struct_mem_operand): New protoype. 4573 * config/arm/arm.cc (mve_struct_mem_operand): New function. 4574 * config/arm/constraints.md (Ug): New constraint. 4575 * config/arm/mve.md (mve_vst4q<mode>): Change constraint. 4576 (mve_vst2q<mode>): Likewise. 4577 (mve_vld4q<mode>): Likewise. 4578 (mve_vld2q<mode>): Likewise. 4579 * config/arm/predicates.md (mve_struct_operand): New predicate. 4580 45812023-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 4582 4583 Backported from master: 4584 2022-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 4585 4586 PR target/108140 4587 * config/aarch64/aarch64-builtins.cc 4588 (aarch64_expand_builtin_data_intrinsic): Handle NULL target. 4589 45902023-01-05 Kewen Lin <linkw@linux.ibm.com> 4591 4592 PR target/106736 4593 * config/rs6000/mma.md (define_expand movoo): Call function 4594 rs6000_opaque_type_invalid_use_p to check and emit error message for 4595 the invalid use of opaque type. 4596 (define_expand movxo): Likewise. 4597 * config/rs6000/rs6000-protos.h 4598 (rs6000_opaque_type_invalid_use_p): New function declaration. 4599 (currently_expanding_gimple_stmt): New extern declaration. 4600 * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): New 4601 function. 4602 46032022-12-22 Richard Biener <rguenther@suse.de> 4604 4605 Backported from master: 4606 2022-12-22 Richard Biener <rguenther@suse.de> 4607 4608 PR bootstrap/106482 4609 * doc/install.texi (ISO C++11 Compiler): Document GCC version 4610 known to work. 4611 46122022-12-22 Martin Liska <mliska@suse.cz> 4613 4614 Backported from master: 4615 2022-08-10 Martin Liska <mliska@suse.cz> 4616 4617 * opts-jobserver.h: Add one member. 4618 * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO 4619 format of --jobserver-auth. 4620 46212022-12-22 Martin Liska <mliska@suse.cz> 4622 4623 Backported from master: 4624 2022-08-10 Martin Liska <mliska@suse.cz> 4625 4626 * gcc.cc (driver::detect_jobserver): Remove and move to 4627 jobserver.h. 4628 * lto-wrapper.cc (jobserver_active_p): Likewise. 4629 (run_gcc): Likewise. 4630 * opts-jobserver.h: New file. 4631 * opts-common.cc (jobserver_info::jobserver_info): New function. 4632 46332022-12-20 Richard Biener <rguenther@suse.de> 4634 4635 Backported from master: 4636 2022-12-20 Richard Biener <rguenther@suse.de> 4637 4638 PR d/104749 4639 * doc/install.texi (GDC): Document GDC 9.4 or later is required 4640 to build the D language frontend. 4641 46422022-12-20 Hongyu Wang <hongyu.wang@intel.com> 4643 4644 * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add 4645 m_SAPPHIRERAPIDS, m_ALDERLAKE. 4646 46472022-12-15 Sebastian Pop <spop@amazon.com> 4648 4649 PR target/98776 4650 * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area): 4651 Declared. 4652 * config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry): 4653 Emit an UNSPECV_PATCHABLE_AREA pseudo instruction. 4654 (aarch64_output_patchable_area): New. 4655 * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New. 4656 (patchable_area): Define. 4657 46582022-12-13 Alex Coplan <alex.coplan@arm.com> 4659 4660 Backported from master: 4661 2022-12-01 Alex Coplan <alex.coplan@arm.com> 4662 4663 * varasm.cc (assemble_variable): Fix type confusion bug when 4664 checking for ".vtable_map_vars" section. 4665 46662022-12-12 Richard Biener <rguenther@suse.de> 4667 4668 Backported from master: 4669 2022-11-29 Richard Biener <rguenther@suse.de> 4670 4671 PR tree-optimization/107898 4672 * gimple-ssa-warn-alloca.cc (alloca_call_type): Check 4673 the type of the alloca argument is compatible with size_t 4674 before querying ranges. 4675 46762022-12-12 Richard Biener <rguenther@suse.de> 4677 4678 Backported from master: 4679 2022-11-25 Richard Biener <rguenther@suse.de> 4680 4681 PR tree-optimization/107865 4682 * tree-cfg.cc (move_sese_region_to_fn): Free the number of 4683 iterations of moved loops. 4684 46852022-12-12 Richard Biener <rguenther@suse.de> 4686 4687 Backported from master: 4688 2022-12-05 Richard Biener <rguenther@suse.de> 4689 4690 PR tree-optimization/107833 4691 PR tree-optimization/107839 4692 * cfghooks.cc: Include tree.h. 4693 * tree-ssa-loop-im.cc (movement_possibility): Wrap and 4694 make stmts using any ssa_name_maybe_undef_p operand 4695 to preserve execution. 4696 (loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs 4697 to init maybe-undefined status. 4698 * tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p, 4699 ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p, 4700 mark_ssa_maybe_undefs): Move ... 4701 * tree-ssa.cc: ... here. 4702 * tree-ssa.h (ssa_name_any_use_dominates_bb_p, 4703 mark_ssa_maybe_undefs): Declare. 4704 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define. 4705 47062022-12-12 Richard Biener <rguenther@suse.de> 4707 4708 Backported from master: 4709 2022-11-16 Richard Biener <rguenther@suse.de> 4710 4711 PR tree-optimization/107686 4712 * tree-ssa-forwprop.cc (optimize_vector_load): Restrict 4713 VEC_UNPACK support to integral typed bitfield refs. 4714 47152022-12-12 Richard Biener <rguenther@suse.de> 4716 4717 Backported from master: 4718 2022-11-22 Richard Biener <rguenther@suse.de> 4719 4720 PR tree-optimization/107766 4721 * tree-vect-slp-patterns.cc (complex_mul_pattern::matches): 4722 Use *node to check for FP vector types. 4723 47242022-12-12 Richard Biener <rguenther@suse.de> 4725 4726 Backported from master: 4727 2022-11-18 Richard Biener <rguenther@suse.de> 4728 4729 PR tree-optimization/107647 4730 * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only 4731 allow FMA generation with -ffp-contract=fast for FP types. 4732 (complex_mul_pattern::matches): Likewise. 4733 47342022-12-12 Richard Biener <rguenther@suse.de> 4735 4736 Backported from master: 4737 2022-10-28 Richard Biener <rguenther@suse.de> 4738 4739 PR tree-optimization/107407 4740 * tree-ssa-dse.cc (dse_classify_store): Perform backedge 4741 varying index check when collecting PHI uses rather than 4742 after optimizing processing of the candidate defs. 4743 47442022-12-12 Richard Biener <rguenther@suse.de> 4745 4746 Backported from master: 4747 2022-12-05 Richard Biener <rguenther@suse.de> 4748 4749 PR tree-optimization/106868 4750 * gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref): 4751 Inline into single user ... 4752 (pass_waccess::check_dangling_uses): ... here and adjust the 4753 call and the PHI case to require that ref.aref is the address 4754 of the decl. 4755 47562022-12-09 Martin Liska <mliska@suse.cz> 4757 4758 Backported from master: 4759 2022-12-09 Martin Liska <mliska@suse.cz> 4760 4761 * config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path 4762 as for PR103661. 4763 * doc/extend.texi: Fix "x86-64" use. 4764 47652022-12-09 Martin Liska <mliska@suse.cz> 4766 4767 Backported from master: 4768 2022-05-11 Martin Liska <mliska@suse.cz> 4769 4770 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly 4771 compute index in cpu_features2. 4772 (set_cpu_feature): Likewise. 4773 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove 4774 loop for cpu_features2 and use NOP_EXPRs. 4775 47762022-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 4777 4778 Backported from master: 4779 2022-11-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 4780 4781 * config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg. 4782 (*aarch64_cpymemdi): Likewise. 4783 (aarch64_movmemdi): Likewise. 4784 (aarch64_setmemdi): Likewise. 4785 (*aarch64_setmemdi): Likewise. 4786 47872022-12-05 Andrew Pinski <pinskia@gmail.com> 4788 4789 Backported from master: 4790 2022-12-05 Andrew Pinski <pinskia@gmail.com> 4791 4792 PR tree-optimization/107956 4793 * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern): 4794 Check for NULL LHS on masked loads. 4795 47962022-12-01 liuhongt <hongtao.liu@intel.com> 4797 4798 PR target/107863 4799 * config/i386/i386-expand.cc (ix86_expand_vec_set_builtin): 4800 Convert op1 to target mode whenever mode mismatch. 4801 48022022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> 4803 4804 Backported from master: 4805 2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org> 4806 4807 * config/darwin-d.cc: Include tm.h. 4808 * config/dragonfly-d.cc: Likewise. 4809 * config/freebsd-d.cc: Remove memmodel.h. 4810 * config/glibc-d.cc: Likewise. 4811 * config/netbsd-d.cc: Include tm.h. 4812 * config/openbsd-d.cc: Likewise. 4813 * config/sol2-d.cc: Likewise. 4814 48152022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> 4816 4817 Backported from master: 4818 2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org> 4819 4820 PR d/105659 4821 * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h. 4822 * config/aarch64/aarch64-d.cc: Include tm_d.h. 4823 * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to 4824 config/aarch64/aarch64-d.h. 4825 (aarch64_d_register_target_info): Likewise. 4826 * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise. 4827 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 4828 * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of 4829 tm_p.h. 4830 * config/arm/arm-protos.h (arm_d_target_versions): Move to 4831 config/arm/arm-d.h. 4832 (arm_d_register_target_info): Likewise. 4833 * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise. 4834 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 4835 * config/default-d.cc: Remove memmodel.h include. 4836 * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h. 4837 * config/glibc-d.cc: Likewise. 4838 * config/i386/i386-d.cc: Include tm_d.h. 4839 * config/i386/i386-protos.h (ix86_d_target_versions): Move to 4840 config/i386/i386-d.h. 4841 (ix86_d_register_target_info): Likewise. 4842 (ix86_d_has_stdcall_convention): Likewise. 4843 * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise. 4844 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 4845 (TARGET_D_HAS_STDCALL_CONVENTION): Likewise. 4846 * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h. 4847 * config/mips/mips-d.cc: Include tm_d.h. 4848 * config/mips/mips-protos.h (mips_d_target_versions): Move to 4849 config/mips/mips-d.h. 4850 (mips_d_register_target_info): Likewise. 4851 * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise. 4852 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 4853 * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h. 4854 * config/openbsd-d.cc: Likewise. 4855 * config/pa/pa-d.cc: Include tm_d.h. 4856 * config/pa/pa-protos.h (pa_d_target_versions): Move to 4857 config/pa/pa-d.h. 4858 (pa_d_register_target_info): Likewise. 4859 * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise. 4860 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 4861 * config/riscv/riscv-d.cc: Include tm_d.h. 4862 * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to 4863 config/riscv/riscv-d.h. 4864 (riscv_d_register_target_info): Likewise. 4865 * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise. 4866 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 4867 * config/rs6000/rs6000-d.cc: Include tm_d.h. 4868 * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to 4869 config/rs6000/rs6000-d.h. 4870 (rs6000_d_register_target_info): Likewise. 4871 * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.: 4872 (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.: 4873 * config/s390/s390-d.cc: Include tm_d.h. 4874 * config/s390/s390-protos.h (s390_d_target_versions): Move to 4875 config/s390/s390-d.h. 4876 (s390_d_register_target_info): Likewise. 4877 * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise. 4878 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 4879 * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h. 4880 * config/sparc/sparc-d.cc: Include tm_d.h. 4881 * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to 4882 config/sparc/sparc-d.h. 4883 (sparc_d_register_target_info): Likewise. 4884 * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise. 4885 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 4886 * configure: Regenerate. 4887 * configure.ac (tm_d_file): Remove defaults.h. 4888 (tm_d_include_list): Remove options.h and insn-constants.h. 4889 * config/aarch64/aarch64-d.h: New file. 4890 * config/arm/arm-d.h: New file. 4891 * config/i386/i386-d.h: New file. 4892 * config/mips/mips-d.h: New file. 4893 * config/pa/pa-d.h: New file. 4894 * config/riscv/riscv-d.h: New file. 4895 * config/rs6000/rs6000-d.h: New file. 4896 * config/s390/s390-d.h: New file. 4897 * config/sparc/sparc-d.h: New file. 4898 48992022-11-30 John David Anglin <danglin@gcc.gnu.org> 4900 4901 * config/pa/pa.md (addvdi3): Force operand 2 to a register. 4902 Remove "addi,tsv,*" instruction from unamed pattern. 4903 (subvdi3): Force operand 1 to a register. 4904 Remove "subi,tsv" instruction from from unamed pattern. 4905 49062022-11-29 Max Filippov <jcmvbkbc@gmail.com> 4907 4908 Backported from master: 4909 2022-11-08 Max Filippov <jcmvbkbc@gmail.com> 4910 4911 PR rtl-optimization/107482 4912 * ira-color.cc (assign_hard_reg): Only call 4913 update_costs_from_copies when retry_p is false. 4914 49152022-11-25 Eric Botcazou <ebotcazou@adacore.com> 4916 4917 * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko. 4918 49192022-11-25 Eric Botcazou <ebotcazou@adacore.com> 4920 4921 * tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst): 4922 Bail out if source and destination do not have the same storage order. 4923 49242022-11-21 Jakub Jelinek <jakub@redhat.com> 4925 4926 Backported from master: 4927 2022-11-21 Jakub Jelinek <jakub@redhat.com> 4928 4929 PR target/107748 4930 * config/i386/avx512fp16intrin.h (_mm512_castph512_ph128, 4931 _mm512_castph512_ph256, _mm512_castph128_ph512, 4932 _mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local 4933 variables and union members. 4934 * config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128, 4935 _mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise. 4936 * config/i386/smmintrin.h (_mm_extract_ps): Likewise. 4937 * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Likewise. 4938 49392022-11-20 Jakub Jelinek <jakub@redhat.com> 4940 4941 Backported from master: 4942 2022-11-20 Jakub Jelinek <jakub@redhat.com> 4943 4944 PR target/107183 4945 * reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument. 4946 If >= 0 and a DEBUG_INSN would be otherwise returned, set 4947 DEBUG_SEEN to 1 and ignore it. 4948 (swap_rtx_condition): Add DEBUG_SEEN argument. In >= 0 4949 mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs 4950 were seen and revert all changes on success in that case. 4951 Don't try to recog_memoized DEBUG_INSNs. 4952 (compare_for_stack_reg): Adjust swap_rtx_condition caller. 4953 If it returns true and debug_seen is 1, call swap_rtx_condition 4954 again with debug_seen -1. 4955 49562022-11-19 Thomas Schwinge <thomas@codesourcery.com> 4957 4958 Backported from master: 4959 2022-11-19 Thomas Schwinge <thomas@codesourcery.com> 4960 4961 * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for 4962 '-mmainkernel'. 4963 49642022-11-19 Jinyang He <hejinyang@loongson.cn> 4965 4966 Backported from master: 4967 2022-11-18 Jinyang He <hejinyang@loongson.cn> 4968 4969 PR target/107713 4970 * config/loongarch/sync.md 4971 (atomic_cas_value_exchange_7_<mode>): New define_insn. 4972 (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of 4973 atomic_cas_value_cmp_and_7_si. 4974 49752022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> 4976 4977 Backported from master: 4978 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> 4979 4980 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a. 4981 * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs. 4982 * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR): 4983 Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two 4984 registers and then +1/-1). 4985 * config/aarch64/aarch64-tune.md: Regenerate. 4986 * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement 4987 idiom-matcher for the new fusion pair. 4988 * doc/invoke.texi: Add ampere1a. 4989 49902022-11-16 Martin Jambor <mjambor@suse.cz> 4991 4992 Backported from master: 4993 2022-10-19 Martin Jambor <mjambor@suse.cz> 4994 4995 PR tree-optimization/107206 4996 * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs. 4997 (analyze_access_subtree): Do not create replacements for accesses with 4998 this flag when not toally scalarizing. 4999 (propagate_subaccesses_from_lhs): Set the new flag. 5000 50012022-11-09 Eric Botcazou <ebotcazou@adacore.com> 5002 5003 * alias.cc (init_alias_analysis): Do not record sets to the hard 5004 frame pointer if the frame pointer has not been eliminated. 5005 50062022-11-08 H.J. Lu <hjl.tools@gmail.com> 5007 5008 Backported from master: 5009 2022-10-25 H.J. Lu <hjl.tools@gmail.com> 5010 5011 PR target/107304 5012 * expr.cc (get_inner_reference): Always use TYPE_MODE for vector 5013 field with vector raw mode. 5014 50152022-11-07 Cui,Lili <lili.cui@intel.com> 5016 5017 * config/i386/driver-i386.cc (host_detect_local_cpu): 5018 Move sapphirerapids out of AVX512_VP2INTERSECT. 5019 * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS 5020 * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS 5021 50222022-11-05 Jonathan Wakely <jwakely@redhat.com> 5023 5024 Backported from master: 5025 2022-11-05 Jonathan Wakely <jwakely@redhat.com> 5026 5027 PR c/41041 5028 * doc/cppopts.texi: Document -fwide-exec-charset defaults 5029 correctly. 5030 50312022-11-04 Eric Botcazou <ebotcazou@adacore.com> 5032 5033 * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>: 5034 Do not take into account operand 2. 5035 (operand_compare::hash_operand) <COMPONENT_REF>: Likewise. 5036 50372022-11-03 Uros Bizjak <ubizjak@gmail.com> 5038 5039 Backported from master: 5040 2022-11-03 Uroš Bizjak <ubizjak@gmail.com> 5041 5042 PR target/107404 5043 * config/i386/i386.md (eliminate reg-reg move by inverting the 5044 condition of a cmove #2 peephole2): Check if eliminated move 5045 initialized a register, used in the moved instruction. 5046 50472022-11-03 Jakub Jelinek <jakub@redhat.com> 5048 5049 Backported from master: 5050 2022-10-02 Jakub Jelinek <jakub@redhat.com> 5051 5052 PR tree-optimization/107121 5053 * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics, 5054 DEFFERED_INIT -> DEFERRED_INIT. 5055 50562022-11-03 Jakub Jelinek <jakub@redhat.com> 5057 5058 Backported from master: 5059 2022-09-24 Jakub Jelinek <jakub@redhat.com> 5060 5061 PR c/107001 5062 * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement 5063 at the end. 5064 * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA 5065 is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't 5066 update parent. 5067 (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset 5068 cur_region back after new_omp_region. 5069 50702022-10-28 Julian Brown <julian@codesourcery.com> 5071 5072 Backported from master: 5073 2022-10-28 Julian Brown <julian@codesourcery.com> 5074 Thomas Schwinge <thomas@codesourcery.com> 5075 5076 PR middle-end/90115 5077 * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not 5078 privatization candidates. 5079 50802022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> 5081 5082 Backported from master: 5083 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> 5084 Yvan ROUX <yvan.roux@foss.st.com> 5085 5086 * ira.cc: Resize array after reg number increased. 5087 50882022-10-26 Philipp Tomsich <philipp.tomsich@vrull.eu> 5089 5090 Backported from master: 5091 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> 5092 5093 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update 5094 Ampere-1 core entry. 5095 50962022-10-26 Philipp Tomsich <philipp.tomsich@vrull.eu> 5097 5098 Backported from master: 5099 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> 5100 5101 * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one. 5102 51032022-10-25 Eric Botcazou <ebotcazou@adacore.com> 5104 5105 * profile.cc (branch_prob): Be prepared for ignored functions with 5106 DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION. 5107 51082022-10-25 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> 5109 5110 Backported from master: 5111 2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> 5112 5113 PR target/106355 5114 * config/s390/s390.cc (s390_call_saved_register_used): For a 5115 parameter with BLKmode fix determining number of consecutive 5116 registers. 5117 51182022-10-25 Martin Liska <mliska@suse.cz> 5119 5120 Backported from master: 5121 2022-10-25 Martin Liska <mliska@suse.cz> 5122 5123 PR target/107364 5124 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): 5125 Fix pedantic warning. 5126 51272022-10-25 Martin Liska <mliska@suse.cz> 5128 5129 Backported from master: 5130 2022-10-24 Martin Liska <mliska@suse.cz> 5131 5132 PR target/107364 5133 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): 5134 Reorder enum values as BUILTIN_VENDOR_MAX should not point 5135 in the middle of the valid enum values. 5136 51372022-10-21 Julian Brown <julian@codesourcery.com> 5138 5139 Backported from master: 5140 2022-10-20 Julian Brown <julian@codesourcery.com> 5141 5142 PR target/105421 5143 * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer 5144 argument forces FLAT addressing mode, not just 5145 pointer-to-non-aggregate. 5146 51472022-10-21 Richard Biener <rguenther@suse.de> 5148 5149 Backported from master: 5150 2022-10-21 Richard Biener <rguenther@suse.de> 5151 5152 PR tree-optimization/107323 5153 * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs): 5154 New function. 5155 (loop_distribution::break_alias_scc_partitions): Revert 5156 postorder save/restore from the PR94125 fix. Instead 5157 make sure to not ignore edges from SCCs we are going to 5158 merge. 5159 51602022-10-20 Thomas Schwinge <thomas@codesourcery.com> 5161 5162 Backported from master: 5163 2022-05-10 Thomas Schwinge <thomas@codesourcery.com> 5164 5165 PR middle-end/100400 5166 * omp-oacc-kernels-decompose.cc 5167 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly 5168 call 'internal_error'. 5169 51702022-10-20 Richard Sandiford <richard.sandiford@arm.com> 5171 5172 Backported from master: 5173 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> 5174 5175 * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove 5176 merging alternative. 5177 (*aarch64_brk<brk_op>_ptest): Likewise. 5178 51792022-10-20 Richard Sandiford <richard.sandiford@arm.com> 5180 5181 Backported from master: 5182 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> 5183 5184 * config/aarch64/iterators.md (SVE_BRKP): New iterator. 5185 * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern. 5186 (*aarch64_brkn_ptest): Likewise. 5187 (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP. 5188 (*aarch64_brk<brk_op>_ptest): Likewise. 5189 51902022-10-20 Richard Sandiford <richard.sandiford@arm.com> 5191 5192 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_3): Add 5193 AARCH64_FL_RCPC. 5194 (AARCH64_ISA_RCPC): New macro. 5195 * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1) 5196 (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores. 5197 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define 5198 __ARM_FEATURE_RCPC when appropriate. 5199 52002022-10-19 Kewen Lin <linkw@linux.ibm.com> 5201 5202 Backported from master: 5203 2022-09-26 Kewen Lin <linkw@linux.ibm.com> 5204 5205 PR target/96072 5206 * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the 5207 condition for adding REG_CFA_DEF_CFA reg note with 5208 frame_pointer_needed_indeed. 5209 52102022-10-19 Kewen Lin <linkw@linux.ibm.com> 5211 5212 Backported from master: 5213 2022-09-26 Kewen Lin <linkw@linux.ibm.com> 5214 5215 PR target/100645 5216 * config/rs6000/vector.md (vec_shr_<mode>): Replace condition 5217 TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P. 5218 52192022-10-17 Pat Haugen <pthaugen@linux.ibm.com> 5220 5221 Backported from master: 5222 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com> 5223 5224 PR target/99685 5225 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump 5226 register count when not splitting IEEE 128-bit Complex. 5227 52282022-10-17 Richard Biener <rguenther@suse.de> 5229 5230 Backported from master: 5231 2022-10-14 Richard Biener <rguenther@suse.de> 5232 5233 PR tree-optimization/107254 5234 * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): 5235 For permutes also analyze live lanes. 5236 (vect_schedule_slp_node): For permutes also code generate 5237 live lane extracts. 5238 52392022-10-17 Richard Biener <rguenther@suse.de> 5240 5241 Backported from master: 5242 2022-10-11 Richard Biener <rguenther@suse.de> 5243 5244 PR tree-optimization/107212 5245 * tree-vect-loop.cc (vectorizable_reduction): Make sure to 5246 set STMT_VINFO_REDUC_DEF for all live lanes in a SLP 5247 reduction. 5248 (vectorizable_live_operation): Do not pun to the SLP 5249 node representative for reduction epilogue generation. 5250 52512022-10-17 Richard Biener <rguenther@suse.de> 5252 5253 Backported from master: 5254 2022-10-13 Richard Biener <rguenther@suse.de> 5255 5256 PR tree-optimization/107160 5257 * tree-vect-loop.cc (vect_create_epilog_for_reduction): 5258 Do not register accumulator if we failed to reduce it 5259 to a single vector. 5260 52612022-10-17 Richard Biener <rguenther@suse.de> 5262 5263 Backported from master: 5264 2022-10-06 Richard Biener <rguenther@suse.de> 5265 5266 PR tree-optimization/107107 5267 * tree-ssa-sccvn.cc (visit_reference_op_store): Do not 5268 affect value-numbering when doing the tail merging 5269 MODIFY_EXPR lookup. 5270 52712022-10-17 Richard Biener <rguenther@suse.de> 5272 5273 Backported from master: 5274 2022-09-23 Richard Biener <rguenther@suse.de> 5275 5276 PR tree-optimization/106922 5277 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow 5278 an arbitrary number of same valued skipped stores. 5279 52802022-10-17 Richard Biener <rguenther@suse.de> 5281 5282 Backported from master: 5283 2022-09-22 Richard Biener <rguenther@suse.de> 5284 5285 PR tree-optimization/106922 5286 * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member. 5287 (vn_walk_cb_data::finish): Perform delayed verification of 5288 a skipped may-alias. 5289 (vn_reference_lookup_pieces): Likewise. 5290 (vn_reference_lookup): Likewise. 5291 (vn_reference_lookup_3): When skipping stores of the same 5292 value also handle constant stores that are more than a 5293 single VDEF away by delaying the verification. 5294 52952022-10-14 Eric Botcazou <ebotcazou@adacore.com> 5296 5297 PR target/107248 5298 * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame 5299 blockage for leaf functions. 5300 (sparc_flat_expand_prologue): Emit frame instead of full blockage. 5301 (sparc_expand_epilogue): Emit a frame blockage for leaf functions. 5302 (sparc_flat_expand_epilogue): Emit frame instead of full blockage. 5303 53042022-10-13 Tobias Burnus <tobias@codesourcery.com> 5305 5306 Backported from master: 5307 2022-10-04 Tobias Burnus <tobias@codesourcery.com> 5308 5309 * doc/install.texi (Specific): Add missing items to bullet list. 5310 (amdgcn): Update LLVM requirements, use version not date for newlib. 5311 (nvptx): Use version not git hash for newlib. 5312 53132022-10-11 Christophe Lyon <christophe.lyon@arm.com> 5314 5315 * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use 5316 MVE_pred/MVE_constraint instead of mve_imm_7/Ra. 5317 (mve_vqshluq_m_n_s<mode>): Likewise. 5318 (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3 5319 instead of mve_imm_8/Rb. 5320 (mve_vqrshrunbq_n_s<mode>): Likewise. 5321 (mve_vqrshrntq_n_<supf><mode>): Likewise. 5322 (mve_vqrshruntq_n_s<mode>): Likewise. 5323 (mve_vrshrnbq_n_<supf><mode>): Likewise. 5324 (mve_vrshrntq_n_<supf><mode>): Likewise. 5325 (mve_vqrshrnbq_m_n_<supf><mode>): Likewise. 5326 (mve_vqrshrntq_m_n_<supf><mode>): Likewise. 5327 (mve_vrshrnbq_m_n_<supf><mode>): Likewise. 5328 (mve_vrshrntq_m_n_<supf><mode>): Likewise. 5329 (mve_vqrshrunbq_m_n_s<mode>): Likewise. 5330 (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead 5331 of mve_imm_selective_upto_8/Rg. 5332 (mve_vsriq_m_n_<supf><mode>): Likewise. 5333 (cherry-picked from c3fb6658c7670e446f2fd00984404d971e416b3c) 5334 53352022-10-11 Richard Biener <rguenther@suse.de> 5336 5337 Backported from master: 5338 2022-09-14 Richard Biener <rguenther@suse.de> 5339 5340 PR tree-optimization/106934 5341 * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs 5342 of bitfields. 5343 (maybe_rewrite_mem_ref_base): Likewise. 5344 53452022-10-11 Richard Biener <rguenther@suse.de> 5346 5347 Backported from master: 5348 2022-09-15 Richard Biener <rguenther@suse.de> 5349 5350 PR tree-optimization/106922 5351 * tree-ssa-pre.cc (translate_vuse_through_block): Only 5352 keep the VUSE if its def dominates PHIBLOCK. 5353 (prune_clobbered_mems): Rewrite logic so we check whether 5354 a value dies in a block when the VUSE def doesn't dominate it. 5355 53562022-10-11 Richard Biener <rguenther@suse.de> 5357 5358 Backported from master: 5359 2022-09-09 Richard Biener <rguenther@suse.de> 5360 5361 PR tree-optimization/106892 5362 * tree-predcom.cc (ref_at_iteration): Do not associate the 5363 constant part of the offset into the MEM_REF offset 5364 operand, across a non-zero offset. 5365 53662022-10-11 Richard Biener <rguenther@suse.de> 5367 5368 Backported from master: 5369 2022-08-22 Richard Biener <rguenther@suse.de> 5370 5371 PR tree-optimization/105937 5372 * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs 5373 on backedges. 5374 (execute_late_warn_uninitialized): Mark backedges. 5375 53762022-10-03 Sergei Trofimovich <siarheit@google.com> 5377 5378 Backported from master: 5379 2022-10-03 Sergei Trofimovich <siarheit@google.com> 5380 5381 PR target/107064 5382 * config/i386/t-i386: Add build-time dependencies against 5383 i386-builtin-types.inc to i386-builtins.o, i386-expand.o, 5384 i386-features.o. 5385 53862022-09-29 H.J. Lu <hjl.tools@gmail.com> 5387 5388 Backported from master: 5389 2022-09-28 H.J. Lu <hjl.tools@gmail.com> 5390 5391 PR target/107061 5392 * config/i386/predicates.md (encodekey128_operation): Check 5393 XMM4-XMM6 as clobbered. 5394 (encodekey256_operation): Likewise. 5395 * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6. 5396 (encodekey256u32): Likewise. 5397 53982022-09-29 Tobias Burnus <tobias@codesourcery.com> 5399 5400 Backported from master: 5401 2022-09-26 Tobias Burnus <tobias@codesourcery.com> 5402 5403 PR middle-end/106982 5404 * omp-low.cc (lower_oacc_reductions): Add some unshare_expr. 5405 54062022-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5407 5408 Backported from master: 5409 2022-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5410 5411 * config/aarch64/aarch64-cores.def (neoverse-v2): New entry. 5412 (demeter): Update tunings to neoversev2. 5413 * config/aarch64/aarch64-tune.md: Regenerate. 5414 * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to 5415 neoversev2_addrcost_table. 5416 (demeter_regmove_cost): Rename to neoversev2_addrcost_table. 5417 (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost. 5418 (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost. 5419 (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info. 5420 (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info. 5421 (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info. 5422 (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info. 5423 Update references to above. 5424 (demeter_vector_cost): Rename to neoversev2_vector_cost. 5425 (demeter_tunings): Rename to neoversev2_tunings. 5426 (aarch64_vec_op_count::rename_cycles_per_iter): Use 5427 neoversev2_sve_issue_info instead of demeter_sve_issue_info. 5428 * doc/invoke.texi (AArch64 Options): Document neoverse-v2. 5429 54302022-09-21 Richard Sandiford <richard.sandiford@arm.com> 5431 5432 Backported from master: 5433 2022-09-20 Richard Sandiford <richard.sandiford@arm.com> 5434 5435 PR target/106491 5436 * config/aarch64/aarch64-sve-builtins.cc (scalar_types) 5437 (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY 5438 markup to (new) extern declarations instead of to the main 5439 definition. 5440 54412022-09-21 Kewen Lin <linkw@linux.ibm.com> 5442 5443 Backported from master: 5444 2022-09-13 Kewen Lin <linkw@linux.ibm.com> 5445 5446 PR target/104482 5447 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix 5448 the equality check for argument number, and move this hunk ahead. 5449 54502022-09-21 Kewen.Lin <linkw@gcc.gnu.org> 5451 5452 Backported from master: 5453 2022-09-13 Kewen.Lin <linkw@gcc.gnu.org> 5454 5455 PR target/105485 5456 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add 5457 the handling for unresolved overloaded builtin function. 5458 (rs6000_expand_builtin): Likewise. 5459 54602022-09-09 Richard Biener <rguenther@suse.de> 5461 5462 Backported from master: 5463 2022-09-07 Richard Biener <rguenther@suse.de> 5464 5465 PR tree-optimization/106860 5466 * tree-ssa-loop-split.cc (split_loop): Find the exit to 5467 latch edge from the loop exit edge instead of from the 5468 latch. Verify we're going to find it. 5469 54702022-09-09 Richard Biener <rguenther@suse.de> 5471 5472 Backported from master: 5473 2022-09-06 Richard Biener <rguenther@suse.de> 5474 5475 PR tree-optimization/106841 5476 * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process 5477 scatter/gather offset. 5478 54792022-09-09 Richard Biener <rguenther@suse.de> 5480 5481 Backported from master: 5482 2022-09-02 Richard Biener <rguenther@suse.de> 5483 5484 PR tree-optimization/106809 5485 * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have 5486 more than one successor before doing extra work. 5487 54882022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de> 5489 5490 * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if 5491 -mvrsave is present. 5492 * config/rs6000/t-rtems: Add -mvrsave multilib variants for 5493 -mcpu=e6500. 5494 54952022-09-03 Peter Bergner <bergner@linux.ibm.com> 5496 5497 Backported from master: 5498 2022-09-01 Peter Bergner <bergner@linux.ibm.com> 5499 5500 PR target/101322 5501 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): 5502 Enforce the use of a valid MMA pointer type. 5503 55042022-09-02 Richard Earnshaw <rearnsha@arm.com> 5505 5506 Backported from master: 5507 2022-08-03 Richard Earnshaw <rearnsha@arm.com> 5508 5509 PR rtl-optimization/106187 5510 * alias.h (mems_same_for_tbaa_p): Declare. 5511 * alias.cc (mems_same_for_tbaa_p): New function. 5512 * dse.cc (record_store): Use it instead of open-coding 5513 alias check. 5514 * cselib.h (cselib_redundant_set_p): Declare. 5515 * cselib.cc: Include alias.h 5516 (cselib_redundant_set_p): New function. 5517 * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead 5518 of rtx_equal_for_cselib_p. 5519 * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p. 5520 (reload_cse_noop_set_p): Delete. 5521 55222022-09-02 Richard Earnshaw <rearnsha@arm.com> 5523 5524 Backported from master: 5525 2022-05-13 Richard Earnshaw <rearnsha@arm.com> 5526 5527 PR target/105463 5528 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use 5529 mve_memory_operand. 5530 (*movmisalign<mode>_mve_load): Likewise. 5531 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator 5532 form... 5533 (@movmisalign<mode>): ... thus. Use generic predicates and then 5534 rework operands if they are not valid. For MVE rework to a 5535 narrower element size if the alignment is not high enough. 5536 55372022-09-02 Tamar Christina <tamar.christina@arm.com> 5538 5539 Backported from master: 5540 2022-09-01 Tamar Christina <tamar.christina@arm.com> 5541 5542 PR other/106782 5543 * config/aarch64/aarch64.cc 5544 (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with 5545 HOST_WIDE_INT_PRINT_UNSIGNED. 5546 55472022-09-01 Jakub Jelinek <jakub@redhat.com> 5548 5549 Backported from master: 5550 2022-09-01 Jakub Jelinek <jakub@redhat.com> 5551 5552 PR other/106782 5553 * tree-vect-slp.cc (vect_print_slp_tree): Use 5554 HOST_WIDE_INT_PRINT_UNSIGNED instead of %u. 5555 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Use 5556 HOST_WIDE_INT_PRINT_UNSIGNED instead of %d. 5557 * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G 5558 instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node)) 5559 instead of SLP_TREE_DEF_TYPE (node). 5560 55612022-08-30 Tamar Christina <tamar.christina@arm.com> 5562 5563 Backported from master: 5564 2022-08-12 Tamar Christina <tamar.christina@arm.com> 5565 5566 PR target/106524 5567 * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine, 5568 *fcmuo<mode>_bic_combine): Don't accept comparisons against zero. 5569 55702022-08-29 Peter Bergner <bergner@linux.ibm.com> 5571 5572 Backported from master: 5573 2022-08-28 Peter Bergner <bergner@linux.ibm.com> 5574 5575 PR target/106017 5576 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling 5577 of MMA pointer conversions. 5578 55792022-08-29 H.J. Lu <hjl.tools@gmail.com> 5580 5581 Backported from master: 5582 2022-08-23 H.J. Lu <hjl.tools@gmail.com> 5583 5584 PR target/106714 5585 * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to 5586 __PTRDIFF_TYPE__. 5587 (_tile_stream_loadd_internal): Likewise. 5588 (_tile_stored_internal): Likewise. 5589 55902022-08-29 Jakub Jelinek <jakub@redhat.com> 5591 5592 Backported from master: 5593 2022-08-24 Jakub Jelinek <jakub@redhat.com> 5594 5595 PR target/106721 5596 * config/i386/sse.md (i128vldq): Add V16HF entry. 5597 (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo, 5598 mask_opernad3 -> mask_operand3. 5599 56002022-08-29 Jakub Jelinek <jakub@redhat.com> 5601 5602 Backported from master: 5603 2022-08-15 Jakub Jelinek <jakub@redhat.com> 5604 5605 PR rtl-optimization/106590 5606 * ifcvt.cc (check_for_cc_cmp_clobbers): New function. 5607 (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs 5608 mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any 5609 further conditional moves. 5610 56112022-08-26 liuhongt <hongtao.liu@intel.com> 5612 5613 PR target/106704 5614 * config/i386/i386-builtin.def (BDESC): Add 5615 CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to 5616 corresponding builtins. 5617 * config/i386/i386.cc (ix86_gimple_fold_builtin): 5618 Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256, 5619 IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2. 5620 56212022-08-25 Chenghua Xu <xuchenghua@loongson.cn> 5622 5623 Backported from master: 5624 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn> 5625 5626 PR target/106459 5627 * config/loongarch/loongarch.cc (loongarch_build_integer): 5628 Use HOST_WIDE_INT. 5629 * config/loongarch/loongarch.h (IMM_REACH): Likewise. 5630 (HWIT_1U): New Defined. 5631 (LU12I_OPERAND): Use HOST_WIDE_INT. 5632 (LU32I_OPERAND): Likewise. 5633 (LU52I_OPERAND): Likewise. 5634 (HWIT_UC_0xFFF): Likwise. 5635 56362022-08-24 Kewen Lin <linkw@linux.ibm.com> 5637 5638 Backported from master: 5639 2022-08-16 Kewen Lin <linkw@linux.ibm.com> 5640 5641 PR tree-optimization/106322 5642 * tree-vect-stmts.cc (vectorizable_call): Don't allow 5643 vect_emulated_vector_p type for both vectype_in and vectype_out. 5644 56452022-08-24 Kewen.Lin <linkw@gcc.gnu.org> 5646 5647 Backported from master: 5648 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org> 5649 5650 PR target/103353 5651 * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition 5652 check to preparation statements and add handlings for !TARGET_MMA. 5653 (define_expand movxo): Likewise. 5654 56552022-08-23 Tobias Burnus <tobias@codesourcery.com> 5656 5657 Backported from master: 5658 2022-08-19 Tobias Burnus <tobias@codesourcery.com> 5659 5660 * config/gcn/mkoffload.cc (main): Add dbgobj to files_to_cleanup. 5661 56622022-08-23 Tobias Burnus <tobias@codesourcery.com> 5663 5664 Backported from master: 5665 2022-08-17 Tobias Burnus <tobias@codesourcery.com> 5666 5667 PR middle-end/106548 5668 * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref 5669 for 'simd' linear-step values that are variable. 5670 56712022-08-19 Release Manager 5672 5673 * GCC 12.2.0 released. 5674 56752022-08-17 Ilya Leoshkevich <iii@linux.ibm.com> 5676 5677 Backported from master: 5678 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com> 5679 5680 * config/s390/vector.md (V_HW_FT): New iterator. 5681 * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead 5682 of V_HW. 5683 56842022-08-12 Peter Bergner <bergner@linux.ibm.com> 5685 5686 Backported from master: 5687 2022-07-26 Peter Bergner <bergner@linux.ibm.com> 5688 5689 PR c/106016 5690 * expr.cc (count_type_elements): Handle OPAQUE_TYPE. 5691 56922022-08-11 Andre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com> 5693 5694 Backported from master: 5695 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com> 5696 5697 * config/aarch64/aarch64.md (rbit<mode>2): Rename this ... 5698 (@aarch64_rbit<mode>): ... to this and change it in... 5699 (ffs<mode>2,ctz<mode>2): ... here. 5700 (@aarch64_rev16<mode>): New. 5701 * config/aarch64/aarch64-builtins.cc: (aarch64_builtins): 5702 Define the following enum AARCH64_REV16, AARCH64_REV16L, 5703 AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL. 5704 (aarch64_init_data_intrinsics): New. 5705 (aarch64_general_init_builtins): Add call to 5706 aarch64_init_data_intrinsics. 5707 (aarch64_expand_builtin_data_intrinsic): New. 5708 (aarch64_general_expand_builtin): Add call to 5709 aarch64_expand_builtin_data_intrinsic. 5710 * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl, 5711 __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16, 5712 __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New. 5713 57142022-08-10 Tobias Burnus <tobias@codesourcery.com> 5715 5716 Backported from master: 5717 2022-08-09 Tobias Burnus <tobias@codesourcery.com> 5718 5719 PR middle-end/106492 5720 * omp-low.cc (lower_rec_input_clauses): Add missing folding 5721 to data type of linear-clause list item. 5722 57232022-08-10 Richard Biener <rguenther@suse.de> 5724 5725 Backported from master: 5726 2022-08-10 Richard Biener <rguenther@suse.de> 5727 5728 PR tree-optimization/106513 5729 * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t 5730 for head_marker. 5731 57322022-08-10 Richard Biener <rguenther@suse.de> 5733 5734 Backported from master: 5735 2022-08-08 Richard Biener <rguenther@suse.de> 5736 5737 PR lto/106540 5738 PR lto/106334 5739 * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1 5740 to input DECL_INITIAL, avoiding to commit drefs. 5741 57422022-08-05 Michael Meissner <meissner@linux.ibm.com> 5743 5744 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code 5745 setting -mblock-ops-vector-pair. Back port patch from trunk on 8/3. 5746 57472022-08-02 Peter Bergner <bergner@linux.ibm.com> 5748 5749 Backported from master: 5750 2022-07-25 Peter Bergner <bergner@linux.ibm.com> 5751 Kewen Lin <linkw@linux.ibm.com> 5752 5753 PR testsuite/106345 5754 * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu 5755 to filter out all -mtune options. 5756 57572022-08-02 Kewen Lin <linkw@linux.ibm.com> 5758 5759 Backported from master: 5760 2022-07-26 Kewen Lin <linkw@linux.ibm.com> 5761 5762 PR target/106091 5763 * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy 5764 REG_EH_REGION when replacing one store insn having it. 5765 (replace_swapped_aligned_load): Likewise. 5766 57672022-07-30 Jakub Jelinek <jakub@redhat.com> 5768 5769 Backported from master: 5770 2022-07-29 Jakub Jelinek <jakub@redhat.com> 5771 5772 PR middle-end/106449 5773 * omp-expand.cc (expand_omp_simd): Fix up handling of pointer 5774 iterators in non-rectangular simd loops. Unshare fd->loops[i].n2 5775 or n2 before regimplifying it inside of a condition. 5776 57772022-07-30 Jakub Jelinek <jakub@redhat.com> 5778 5779 Backported from master: 5780 2022-07-27 Jakub Jelinek <jakub@redhat.com> 5781 5782 PR debug/106261 5783 * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't 5784 output asm thunks for -dx. 5785 57862022-07-30 Jakub Jelinek <jakub@redhat.com> 5787 5788 Backported from master: 5789 2022-07-01 Jakub Jelinek <jakub@redhat.com> 5790 5791 PR middle-end/106144 5792 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after 5793 emitting element for shift or if shift is 0 first element after start. 5794 (wide_int_cc_tests): Add tests for equivalency of wi::mask and 5795 wi::shifted_mask with 0 start. 5796 57972022-07-27 David Malcolm <dmalcolm@redhat.com> 5798 5799 * json.cc (string::print): Fix escaping of '\'. 5800 58012022-07-27 David Malcolm <dmalcolm@redhat.com> 5802 5803 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the 5804 fpath.txt output. 5805 58062022-07-27 Maciej W. Rozycki <macro@embecosm.com> 5807 5808 Backported from master: 5809 2022-07-27 Maciej W. Rozycki <macro@embecosm.com> 5810 5811 * config/riscv/riscv.md (stack_protect_set_<mode>): Remove 5812 duplicate backslashes. 5813 58142022-07-27 Richard Biener <rguenther@suse.de> 5815 5816 Backported from master: 5817 2022-07-26 Richard Biener <rguenther@suse.de> 5818 5819 PR tree-optimization/106189 5820 * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): 5821 Divide using offset_ints. 5822 58232022-07-27 Joseph Myers <joseph@codesourcery.com> 5824 5825 Backported from master: 5826 2022-06-30 Joseph Myers <joseph@codesourcery.com> 5827 5828 PR lto/106129 5829 * lto-wrapper.cc (find_option): Add argument start. 5830 (merge_and_complain): Loop over existing_opt_index and 5831 existing_opt2_index for Xassembler check. Update calls to 5832 find_option. 5833 (find_and_merge_options): Add argument first to determine whether 5834 to merge options with those passed in *opts. 5835 (run_gcc): Update calls to find_and_merge_options. 5836 58372022-07-27 Andrew Pinski <apinski@marvell.com> 5838 5839 Backported from master: 5840 2022-07-09 Andrew Pinski <apinski@marvell.com> 5841 5842 PR tree-optimization/106087 5843 * tree-ssa-dce.cc (simple_dce_from_worklist): Check 5844 to make sure the statement is only defining one operand. 5845 58462022-07-27 Tamar Christina <tamar.christina@arm.com> 5847 5848 Backported from master: 5849 2022-07-08 Tamar Christina <tamar.christina@arm.com> 5850 5851 PR tree-optimization/106063 5852 * match.pd: Do not apply pattern after veclower is not supported. 5853 58542022-07-27 Alexandre Oliva <oliva@adacore.com> 5855 5856 Backported from master: 5857 2022-06-03 Alexandre Oliva <oliva@adacore.com> 5858 5859 PR tree-optimization/105665 5860 PR tree-optimization/100810 5861 * tree-ssa-loop-ivopts.cc 5862 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New. 5863 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New. 5864 (find_ssa_undef): Check precomputed flag and intervening uses. 5865 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs. 5866 58672022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de> 5868 5869 Backported from master: 5870 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de> 5871 5872 * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef. 5873 58742022-07-19 Richard Biener <rguenther@suse.de> 5875 5876 Backported from master: 5877 2022-07-19 Richard Biener <rguenther@suse.de> 5878 5879 PR middle-end/106331 5880 * builtins.cc (get_memory_rtx): Compute alignment from 5881 the original address and set MEM_OFFSET to unknown when 5882 we create a MEM_EXPR from the base object of the address. 5883 58842022-07-19 Richard Biener <rguenther@suse.de> 5885 5886 Backported from master: 5887 2022-07-01 Richard Biener <rguenther@suse.de> 5888 5889 PR tree-optimization/106131 5890 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set 5891 zero when offsetting the read looking through an aggregate 5892 copy. 5893 58942022-07-19 Richard Biener <rguenther@suse.de> 5895 5896 Backported from master: 5897 2022-06-29 Richard Biener <rguenther@suse.de> 5898 5899 PR tree-optimization/106112 5900 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend 5901 a constant operand according to its type. 5902 59032022-07-19 Richard Biener <rguenther@suse.de> 5904 5905 Backported from master: 5906 2022-06-20 Richard Biener <rguenther@suse.de> 5907 5908 PR middle-end/106027 5909 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the 5910 type of the prevailing comparison for the new comparison type. 5911 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y 5912 to A < X && A >= Y folding. 5913 59142022-07-19 Richard Biener <rguenther@suse.de> 5915 5916 Backported from master: 5917 2022-06-15 Richard Biener <rguenther@suse.de> 5918 5919 PR tree-optimization/105971 5920 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for 5921 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation 5922 to leak less surprising alias results. 5923 59242022-07-19 Richard Biener <rguenther@suse.de> 5925 5926 Backported from master: 5927 2022-06-15 Richard Biener <rguenther@suse.de> 5928 5929 PR tree-optimization/105969 5930 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division 5931 by zero in overflow check. 5932 59332022-07-19 Richard Biener <rguenther@suse.de> 5934 5935 Backported from master: 5936 2022-06-14 Richard Biener <rguenther@suse.de> 5937 5938 PR middle-end/105965 5939 * match.pd (view_convert CONSTRUCTOR): Handle single-element 5940 CTOR case. 5941 59422022-07-19 Richard Biener <rguenther@suse.de> 5943 5944 Backported from master: 5945 2022-06-14 Richard Biener <rguenther@suse.de> 5946 5947 PR tree-optimization/105946 5948 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference): 5949 Do not look at arguments not specified in the function call. 5950 59512022-07-19 Richard Biener <rguenther@suse.de> 5952 5953 Backported from master: 5954 2022-07-11 Richard Biener <rguenthert@suse.de> 5955 5956 PR target/105459 5957 * config/i386/i386-options.cc (ix86_set_current_function): 5958 Rebuild the target optimization node whenever necessary, 5959 not only when the optimization node didn't change. 5960 59612022-07-14 Michael Meissner <meissner@linux.ibm.com> 5962 5963 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do 5964 not generate block copies with vector pair instructions if we are 5965 tuning for power10. Back port from master branch. 5966 59672022-07-14 Surya Kumari Jangala <jskumari@linux.vnet.ibm.com> 5968 5969 Backported from master: 5970 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com> 5971 5972 PR rtl-optimization/105041 5973 * regrename.cc (check_new_reg_p): Use nregs value from du chain. 5974 59752022-07-11 Martin Jambor <mjambor@suse.cz> 5976 5977 Backported from master: 5978 2022-07-04 Martin Jambor <mjambor@suse.cz> 5979 5980 PR tree-optimization/105860 5981 * tree-sra.cc (build_reconstructed_reference): Start expr 5982 traversal only just below the outermost union. 5983 59842022-07-10 Xi Ruoyao <xry111@xry111.site> 5985 5986 Backported from master: 5987 2022-07-10 Xi Ruoyao <xry111@xry111.site> 5988 5989 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w 5990 instead of mul.d. 5991 59922022-07-09 Roger Sayle <roger@nextmovesoftware.com> 5993 Uroš Bizjak <ubizjak@gmail.com> 5994 5995 PR target/105930 5996 * config/i386/i386.md (*<any_or>di3_doubleword): Split after 5997 reload. Use rtx_equal_p to avoid creating memory-to-memory moves, 5998 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0). 5999 60002022-07-08 Lulu Cheng <chenglulu@loongson.cn> 6001 6002 Backported from master: 6003 2022-07-08 Lulu Cheng <chenglulu@loongson.cn> 6004 6005 * config/loongarch/loongarch.cc (loongarch_compute_frame_info): 6006 Modify fp_sp_offset and gp_sp_offset's calculation method, 6007 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD 6008 or UNITS_PER_FP_REG. 6009 60102022-07-04 Andrew MacLeod <amacleod@redhat.com> 6011 6012 PR tree-optimization/106114 6013 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check 6014 statement operands instead of GORI cache. 6015 60162022-07-04 Roger Sayle <roger@nextmovesoftware.com> 6017 Marek Polacek <polacek@redhat.com> 6018 Segher Boessenkool <segher@kernel.crashing.org> 6019 Kewen Lin <linkw@linux.ibm.com> 6020 6021 PR target/105991 6022 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that 6023 exact_log2 doesn't return -1 (or zero). 6024 (plus_xor): New code iterator. 6025 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split. 6026 60272022-07-04 Xi Ruoyao <xry111@xry111.site> 6028 6029 Backported from master: 6030 2022-07-03 Xi Ruoyao <xry111@xry111.site> 6031 Lulu Cheng <chenglulu@loongson.cn> 6032 6033 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p): 6034 New static function. 6035 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead 6036 of TARGET_CHECK_ZERO_DIV. 6037 (loongarch_output_division): Likewise. 6038 * common/config/loongarch/loongarch-common.cc 6039 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook. 6040 * doc/invoke.texi: Update to match the new behavior. 6041 60422022-07-03 Roger Sayle <roger@nextmovesoftware.com> 6043 6044 PR target/106122 6045 * config/i386/i386.md (peephole2): Avoid generating pop %esp 6046 when optimizing for size. 6047 60482022-07-02 Sergei Trofimovich <siarheit@google.com> 6049 6050 Backported from master: 6051 2022-06-29 Sergei Trofimovich <siarheit@google.com> 6052 6053 PR c++/106102 6054 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>. 6055 60562022-07-01 Vladimir Makarov <vmakarov@gcc.gnu.org> 6057 6058 Backported from master: 6059 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org> 6060 6061 PR target/103722 6062 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which 6063 is special) for various scenarios. 6064 60652022-06-29 Richard Biener <rguenther@suse.de> 6066 6067 Backported from master: 6068 2022-05-11 Richard Biener <rguenther@suse.de> 6069 6070 PR bootstrap/105551 6071 * opts.cc (finish_options): Also disable var-tracking if 6072 !DWARF2_DEBUGGING_INFO. 6073 60742022-06-29 Lulu Cheng <chenglulu@loongson.cn> 6075 6076 Backported from master: 6077 2022-06-29 Lulu Cheng <chenglulu@loongson.cn> 6078 6079 PR target/106097 6080 * config/loongarch/loongarch.cc (loongarch_build_integer): 6081 Remove undefined behavior from code. 6082 60832022-06-28 Jakub Jelinek <jakub@redhat.com> 6084 6085 Backported from master: 6086 2022-06-21 Jakub Jelinek <jakub@redhat.com> 6087 6088 PR rtl-optimization/106032 6089 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and 6090 t may_trap_or_fault_p, even if it is cheap. 6091 60922022-06-28 Jakub Jelinek <jakub@redhat.com> 6093 6094 Backported from master: 6095 2022-06-21 Jakub Jelinek <jakub@redhat.com> 6096 6097 PR middle-end/106030 6098 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of 6099 temp to expand_operands if mode has been promoted. 6100 61012022-06-28 Xi Ruoyao <xry111@xry111.site> 6102 6103 Backported from master: 6104 2022-06-28 Xi Ruoyao <xry111@xry111.site> 6105 6106 PR target/106096 6107 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude 6108 $r13 from SIBCALL_REGS. 6109 * config/loongarch/loongarch.cc (loongarch_regno_to_class): 6110 Change $r13 to JIRL_REGS. 6111 61122022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> 6113 6114 Backported from master: 6115 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> 6116 6117 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop 6118 condition to avoid overflow. 6119 61202022-06-23 Martin Liska <mliska@suse.cz> 6121 6122 Backported from master: 6123 2022-06-23 Martin Liska <mliska@suse.cz> 6124 6125 PR ipa/105600 6126 * ipa-icf.cc (sem_item_optimizer::filter_removed_items): 6127 Skip variables with body_removed. 6128 61292022-06-23 Siddhesh Poyarekar <siddhesh@gotplt.org> 6130 6131 Backported from master: 6132 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org> 6133 6134 PR tree-optimization/105736 6135 * tree-object-size.cc (addr_object_size): Return size_unknown 6136 when object offset computation returns an error. 6137 61382022-06-23 Richard Sandiford <richard.sandiford@arm.com> 6139 6140 Backported from master: 6141 2022-06-15 Richard Sandiford <richard.sandiford@arm.com> 6142 6143 PR tree-optimization/105254 6144 PR tree-optimization/105940 6145 Revert: 6146 * config/aarch64/aarch64.cc 6147 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a 6148 loop_vec_info as argument. Restrict the unroll factor to values 6149 that divide the VF. 6150 (aarch64_vector_costs::finish_cost): Update call accordingly. 6151 61522022-06-23 Kewen Lin <linkw@linux.ibm.com> 6153 6154 Backported from master: 6155 2022-06-14 Kewen Lin <linkw@linux.ibm.com> 6156 6157 PR tree-optimization/105940 6158 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of 6159 applying suggested_unroll_factor after start_over. 6160 61612022-06-21 H.J. Lu <hjl.tools@gmail.com> 6162 6163 Backported from master: 6164 2022-06-20 H.J. Lu <hjl.tools@gmail.com> 6165 6166 PR target/105960 6167 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return 6168 false if PIC register is used when calling ifunc functions. 6169 61702022-06-20 Uros Bizjak <ubizjak@gmail.com> 6171 6172 Backported from master: 6173 2022-06-17 Uroš Bizjak <ubizjak@gmail.com> 6174 6175 PR target/105209 6176 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New. 6177 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function. 6178 (alpha_store_data_bypass_p_1): Ditto. 6179 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead 6180 of generic store_data_bypass_p. 6181 (ev4_ist_c): Remove insn reservation. 6182 61832022-06-20 Uros Bizjak <ubizjak@gmail.com> 6184 6185 Backported from master: 6186 2022-06-17 Uroš Bizjak <ubizjak@gmail.com> 6187 6188 PR target/105970 6189 * config/i386/i386.cc (ix86_function_arg): Assert that 6190 the mode of pointer argumet is equal to ptr_mode, not Pmode. 6191 61922022-06-19 Jakub Jelinek <jakub@redhat.com> 6193 6194 Backported from master: 6195 2022-06-18 Jakub Jelinek <jakub@redhat.com> 6196 6197 PR middle-end/105998 6198 * varasm.cc (narrowing_initializer_constant_valid_p): Check 6199 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on 6200 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type. 6201 62022022-06-19 Jakub Jelinek <jakub@redhat.com> 6203 6204 Backported from master: 6205 2022-06-16 Jakub Jelinek <jakub@redhat.com> 6206 6207 PR middle-end/105951 6208 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and, 6209 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call) 6210 as last argument to the internal functions. 6211 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the 6212 extra call argument to ifns. If expand_atomic_fetch_op fails for the 6213 lhs == NULL_TREE case, fall through into the optab code with 6214 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op 6215 fails, construct a CALL_EXPR and expand that. 6216 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument 6217 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and 6218 expand that. 6219 62202022-06-19 Jan Hubicka <jh@suse.cz> 6221 6222 Backported from master: 6223 2022-06-14 Jan Hubicka <hubicka@ucw.cz> 6224 6225 PR ipa/105739 6226 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads. 6227 62282022-06-16 Richard Earnshaw <rearnsha@arm.com> 6229 6230 Backported from master: 6231 2022-06-15 Richard Earnshaw <rearnsha@arm.com> 6232 6233 PR target/105981 6234 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg 6235 to first_reg and second_reg respectively. Initialize them correctly 6236 when generating big-endian code. 6237 62382022-06-15 Simon Wright <simon@pushface.org> 6239 6240 Backported from master: 6241 2022-06-12 Simon Wright <simon@pushface.org> 6242 6243 PR target/104871 6244 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS 6245 version is darwin20 (macOS 11) or greater, truncate the version to the 6246 major number. 6247 62482022-06-15 Mark Mentovai <mark@mentovai.com> 6249 6250 Backported from master: 6251 2022-06-12 Mark Mentovai <mark@mentovai.com> 6252 6253 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof. 6254 62552022-06-15 Iain Sandoe <iain@sandoe.co.uk> 6256 6257 Backported from master: 6258 2022-05-29 Iain Sandoe <iain@sandoe.co.uk> 6259 6260 PR target/105599 6261 * config/darwin.h: Move versions-specific handling of multiply_defined 6262 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC. 6263 62642022-06-15 liuhongt <hongtao.liu@intel.com> 6265 6266 PR target/105953 6267 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg 6268 operands[3]. 6269 62702022-06-14 H.J. Lu <hjl.tools@gmail.com> 6271 6272 Backported from master: 6273 2022-06-13 H.J. Lu <hjl.tools@gmail.com> 6274 6275 * common/config/i386/cpuinfo.h (get_available_features): Require 6276 AVX for F16C and VAES. 6277 62782022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu> 6279 6280 Backported from master: 6281 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu> 6282 6283 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as 6284 (-1 << 31) for the single-bit case, when operating on (1 << 31) 6285 in SImode. 6286 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for 6287 any single-bit value, moving the special case for (1 << 31) to 6288 riscv_build_integer_1 (in riscv.c). 6289 62902022-06-08 Max Filippov <jcmvbkbc@gmail.com> 6291 6292 Backported from master: 6293 2022-06-08 Max Filippov <jcmvbkbc@gmail.com> 6294 6295 PR target/105879 6296 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second' 6297 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and 6298 'gen_highpart' bitwise semantics and fix order of highpart and 6299 lowpart depending on target endianness. 6300 63012022-06-08 liuhongt <hongtao.liu@intel.com> 6302 6303 PR target/105854 6304 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2 6305 from Yv to Yw. 6306 63072022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu> 6308 6309 Backported from master: 6310 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu> 6311 Manolis Tsamis <manolis.tsamis@vrull.eu> 6312 6313 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement. 6314 (CTZ_DEFINED_VALUE_AT_ZERO): Same. 6315 * doc/sourcebuild.texi: add documentation for RISC-V specific 6316 test target keywords 6317 63182022-06-02 Richard Biener <rguenther@suse.de> 6319 6320 Backported from master: 6321 2022-06-01 Richard Biener <rguenther@suse.de> 6322 6323 PR tree-optimization/105786 6324 * tree-loop-distribution.cc 6325 (loop_distribution::transform_reduction_loop): Only do strlen 6326 replacement for integer type reductions. 6327 63282022-06-02 Richard Biener <rguenther@suse.de> 6329 6330 Backported from master: 6331 2022-05-27 Richard Biener <rguenther@suse.de> 6332 6333 PR tree-optimization/105726 6334 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset): 6335 Constrain array-of-flexarray case more. 6336 63372022-06-02 Richard Biener <rguenther@suse.de> 6338 6339 Backported from master: 6340 2022-05-24 Richard Biener <rguenther@suse.de> 6341 6342 PR middle-end/105711 6343 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter 6344 and use it. 6345 (extract_bit_field_1): Pass down the mode of op0 to 6346 extract_bit_field_as_subreg. 6347 63482022-06-02 Martin Sebor <msebor@redhat.com> 6349 6350 Backported from master: 6351 2022-05-24 Martin Sebor <msebor@redhat.com> 6352 Richard Biener <rguenther@suse.de> 6353 6354 PR middle-end/105604 6355 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments. 6356 (get_origin_and_offset_r): Remove null handling. Handle variable array 6357 sizes. 6358 (get_origin_and_offset): Handle null argument here. Simplify. 6359 (alias_offset): Update comment. 6360 * pointer-query.cc (field_at_offset): Update comment. Handle members 6361 of variable-length types. 6362 63632022-06-02 Vineet Gupta <vineetg@rivosinc.com> 6364 6365 Backported from master: 6366 2022-05-24 Vineet Gupta <vineetg@rivosinc.com> 6367 6368 * config/riscv/riscv.cc: (struct riscv_tune_param): Add 6369 fmv_cost. 6370 (rocket_tune_info): Add default fmv_cost 8. 6371 (sifive_7_tune_info): Ditto. 6372 (thead_c906_tune_info): Ditto. 6373 (optimize_size_tune_info): Ditto. 6374 (riscv_register_move_cost): Use fmv_cost for int<->fp moves. 6375 63762022-05-30 Martin Jambor <mjambor@suse.cz> 6377 6378 Backported from master: 6379 2022-05-27 Martin Jambor <mjambor@suse.cz> 6380 6381 PR ipa/105639 6382 * ipa-prop.cc (propagate_controlled_uses): Check type of the 6383 constant before adding a LOAD reference. 6384 63852022-05-30 Jakub Jelinek <jakub@redhat.com> 6386 6387 Backported from master: 6388 2022-05-27 Jakub Jelinek <jakub@redhat.com> 6389 6390 PR sanitizer/105729 6391 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w) 6392 to (X &) z + w if -fsanitize=null during GENERIC folding. 6393 63942022-05-30 Jakub Jelinek <jakub@redhat.com> 6395 6396 Backported from master: 6397 2022-05-25 Jakub Jelinek <jakub@redhat.com> 6398 6399 PR sanitizer/105714 6400 * asan.cc (has_stmt_been_instrumented_p): For assignments which 6401 are both stores and loads, return true only if both destination 6402 and source have been instrumented. 6403 64042022-05-30 Jakub Jelinek <jakub@redhat.com> 6405 6406 Backported from master: 6407 2022-05-19 Jakub Jelinek <jakub@redhat.com> 6408 6409 PR c/105635 6410 * pointer-query.cc (gimple_parm_array_size): Return NULL if var 6411 doesn't have pointer or reference type. 6412 64132022-05-26 Simon Cook <simon.cook@embecosm.com> 6414 6415 Backported from master: 6416 2022-05-25 Simon Cook <simon.cook@embecosm.com> 6417 6418 * config/riscv/arch-canonicalize: Only add mafd extension if 6419 base was rv32/rv64g. 6420 64212022-05-26 Kito Cheng <kito.cheng@sifive.com> 6422 6423 Backported from master: 6424 2022-05-09 Kito Cheng <kito.cheng@sifive.com> 6425 6426 * config/riscv/arch-canonicalize: Handle g correctly. 6427 64282022-05-24 Qing Zhao <qing.zhao@oracle.com> 6429 6430 Backported from master: 6431 2022-05-09 Qing Zhao <qing.zhao@oracle.com> 6432 6433 PR target/101891 6434 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode 6435 as a generic MMX mode instead of V4HImode. 6436 (zero_all_mm_registers): Use SET to zero instead of MOV for 6437 zeroing scratch registers. 6438 (ix86_zero_call_used_regs): Likewise. 6439 64402022-05-24 Bruno Haible <bruno@clisp.org> 6441 6442 Backported from master: 6443 2022-05-24 Bruno Haible <bruno@clisp.org> 6444 6445 PR other/105527 6446 * doc/install.texi (Configuration): Add more details about --with-zstd. 6447 Document --with-zstd-include and --with-zstd-lib 6448 64492022-05-24 Martin Liska <mliska@suse.cz> 6450 6451 Backported from master: 6452 2022-05-11 Martin Liska <mliska@suse.cz> 6453 6454 PR other/105527 6455 * doc/install.texi: Document the configure option --with-zstd. 6456 64572022-05-20 Peter Bergner <bergner@linux.ibm.com> 6458 6459 Backported from master: 6460 2022-05-18 Peter Bergner <bergner@linux.ibm.com> 6461 Segher Boessenkool <segher@kernel.crashing.org> 6462 6463 PR target/105556 6464 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>, 6465 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>, 6466 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>, 6467 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa". 6468 Update other operands accordingly. 6469 64702022-05-20 Richard Biener <rguenther@suse.de> 6471 6472 Backported from master: 6473 2022-05-04 Richard Biener <rguenther@suse.de> 6474 6475 PR tree-optimization/103116 6476 * tree-vect-stmts.cc (get_group_load_store_type): Handle the 6477 case we need peeling for gaps even though GROUP_GAP is zero. 6478 64792022-05-19 Richard Biener <rguenther@suse.de> 6480 6481 Backported from master: 6482 2022-05-17 Richard Biener <rguenther@suse.de> 6483 6484 PR tree-optimization/105618 6485 * tree-ssa-sink.cc (statement_sink_location): For virtual 6486 PHI uses ignore those defining the used virtual operand. 6487 64882022-05-19 Richard Biener <rguenther@suse.de> 6489 6490 Backported from master: 6491 2022-05-12 Richard Biener <rguenther@suse.de> 6492 6493 PR rtl-optimization/105577 6494 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH 6495 edges before running fast DCE via df_analyze. 6496 64972022-05-19 Richard Biener <rguenther@suse.de> 6498 6499 Backported from master: 6500 2022-05-12 Richard Biener <rguenther@suse.de> 6501 6502 PR tree-optimization/105562 6503 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate 6504 against all CLOBBER defs if there's not an obvious must-alias 6505 and we are not doing redundant store elimination. 6506 (vn_walk_cb_data::redundant_store_removal_p): New field. 6507 (vn_reference_lookup_pieces): Initialize it. 6508 (vn_reference_lookup): Add argument to specify if we are 6509 doing redundant store removal. 6510 (eliminate_dom_walker::eliminate_stmt): Specify we do. 6511 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust. 6512 65132022-05-19 Richard Biener <rguenther@suse.de> 6514 6515 Backported from master: 6516 2022-05-11 Richard Biener <rguenther@suse.de> 6517 6518 PR rtl-optimization/105559 6519 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END 6520 for non-debug insns. 6521 65222022-05-19 Richard Biener <rguenther@suse.de> 6523 6524 Backported from master: 6525 2022-05-10 Richard Biener <rguenther@suse.de> 6526 6527 PR middle-end/105537 6528 * toplev.cc (process_options): Move flag_var_tracking 6529 handling ... 6530 * opts.cc (finish_options): ... here. 6531 65322022-05-19 Richard Biener <rguenther@suse.de> 6533 6534 Backported from master: 6535 2022-05-10 Richard Biener <rguenther@suse.de> 6536 6537 * flags.h (dwarf_debuginfo_p): Add opts argument, guard 6538 API with !GENERATOR_FILE. 6539 * opts.cc (global_options): Poison. 6540 (global_options_set): Likewise. 6541 (finish_options): Refer to options via opts. 6542 65432022-05-19 Richard Biener <rguenther@suse.de> 6544 6545 Backported from master: 6546 2022-04-29 Richard Biener <rguenther@suse.de> 6547 6548 PR tree-optimization/105431 6549 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned. 6550 (powi_as_mults): Use absu_hwi. 6551 (gimple_expand_builtin_powi): Remove now pointless n != -n 6552 check. 6553 65542022-05-18 Andrew MacLeod <amacleod@redhat.com> 6555 6556 PR tree-optimization/105458 6557 * value-relation.cc (path_oracle::register_relation): Merge, then check 6558 for equivalence. 6559 65602022-05-16 Sebastian Pop <spop@amazon.com> 6561 6562 PR target/105162 6563 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension 6564 of str array. 6565 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call 6566 memmodel_from_int and handle MEMMODEL_SYNC_*. 6567 (DEF0): Add __aarch64_*_sync functions. 6568 65692022-05-16 Eric Botcazou <ebotcazou@adacore.com> 6570 6571 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical 6572 instead of a bitwise negation. 6573 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR. 6574 65752022-05-13 Eric Botcazou <ebotcazou@adacore.com> 6576 6577 * tree-sra.cc (sra_modify_assign): Check that scalar storage order 6578 is the same on the LHS and RHS before rewriting one with the model 6579 of the other. 6580 65812022-05-13 Alexandre Oliva <oliva@adacore.com> 6582 6583 Backported from master: 6584 2022-05-13 Alexandre Oliva <oliva@adacore.com> 6585 6586 PR rtl-optimization/105455 6587 * gimple-harden-conditionals.cc (insert_check_and_trap): Set 6588 probabilities for newly-conditional edges. 6589 65902022-05-11 Martin Jambor <mjambor@suse.cz> 6591 6592 Backported from master: 6593 2022-04-29 Martin Jambor <mjambor@suse.cz> 6594 6595 PR ipa/100413 6596 * cgraph.cc (cgraph_node::remove): Release body of the node this 6597 is clone_of if appropriate. 6598 65992022-05-10 Jakub Jelinek <jakub@redhat.com> 6600 6601 Backported from master: 6602 2022-05-10 Jakub Jelinek <jakub@redhat.com> 6603 6604 PR tree-optimization/105528 6605 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove 6606 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment. 6607 66082022-05-10 Eric Botcazou <ebotcazou@adacore.com> 6609 6610 PR target/105292 6611 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return 6612 true only for 8-byte vector modes. 6613 66142022-05-06 Michael Meissner <meissner@linux.ibm.com> 6615 6616 Backported from master: 6617 2022-05-06 Michael Meissner <meissner@linux.ibm.com> 6618 6619 PR target/102059 6620 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion 6621 and -mpower10-fusion options for inlining purposes. 6622 66232022-05-06 Richard Biener <rguenther@suse.de> 6624 6625 Backported from master: 6626 2022-04-29 Richard Biener <rguenther@suse.de> 6627 6628 PR middle-end/105376 6629 * tree.cc (build_real): Special case dconst* arguments 6630 for decimal floating point types. 6631 66322022-05-06 Richard Biener <rguenther@suse.de> 6633 6634 Backported from master: 6635 2022-05-05 Richard Biener <rguenther@suse.de> 6636 6637 PR tree-optimization/105484 6638 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return 6639 whether the CFG changed. 6640 (gimple_expand_vec_exprs): When the CFG changed, clean it up. 6641 66422022-05-06 Richard Biener <rguenther@suse.de> 6643 6644 Backported from master: 6645 2022-05-03 Richard Biener <rguenther@suse.de> 6646 6647 PR middle-end/105461 6648 * opts.cc (finish_options): Match the condition to 6649 disable flag_var_tracking to that of process_options. 6650 66512022-05-06 Richard Biener <rguenther@suse.de> 6652 6653 Backported from master: 6654 2022-05-03 Richard Biener <rguenther@suse.de> 6655 6656 * opts.cc: #undef OPTIONS_SET_P. 6657 (finish_options): Use opts_set instead of OPTIONS_SET_P. 6658 66592022-05-06 Richard Biener <rguenther@suse.de> 6660 6661 Backported from master: 6662 2022-05-02 Richard Biener <rguenther@suse.de> 6663 6664 PR tree-optimization/105437 6665 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the 6666 case where last_stmt alters control flow. 6667 66682022-05-06 Richard Biener <rguenther@suse.de> 6669 6670 Backported from master: 6671 2022-05-03 Richard Biener <rguenther@suse.de> 6672 6673 PR tree-optimization/105394 6674 * tree-vect-generic.cc (expand_vector_condition): Adjust 6675 comp_width for non-integer mode masks as well. 6676 66772022-05-06 Release Manager 6678 6679 * GCC 12.1.0 released. 6680 66812022-05-02 Jakub Jelinek <jakub@redhat.com> 6682 6683 Backported from master: 6684 2022-05-02 Jakub Jelinek <jakub@redhat.com> 6685 6686 * system.h: Include initializer_list. 6687 66882022-04-28 Jakub Jelinek <jakub@redhat.com> 6689 6690 PR lto/105399 6691 * cgraph.cc (cgraph_node::verify_node): Don't verify 6692 semantic_interposition flag against 6693 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1. 6694 66952022-04-28 Jakub Jelinek <jakub@redhat.com> 6696 6697 PR target/105331 6698 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp 6699 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR 6700 of it. 6701 67022022-04-28 Jonathan Wakely <jwakely@redhat.com> 6703 6704 * doc/install.texi (Configuration): Remove misleading text 6705 around LE PowerPC Linux multilibs. 6706 67072022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6708 6709 PR d/103528 6710 * doc/install.texi (Tools/packages necessary for building GCC) 6711 (GDC): Document libphobos requirement. 6712 (Host/target specific installation notes for GCC, *-*-solaris2*): 6713 Document libphobos and GDC specifics. 6714 67152022-04-28 Richard Biener <rguenther@suse.de> 6716 6717 PR tree-optimization/105219 6718 * tree-vect-loop.cc (vect_transform_loop): Disable 6719 special code narrowing the vectorized epilogue max 6720 iterations when peeling for alignment or gaps was in effect. 6721 67222022-04-28 Xi Ruoyao <xry111@mengyan1223.wang> 6723 6724 * config/loongarch/loongarch.cc 6725 (loongarch_flatten_aggregate_field): Ignore empty fields for 6726 RECORD_TYPE. 6727 67282022-04-27 Lulu Cheng <chenglulu@loongson.cn> 6729 6730 * config/loongarch/loongarch.md: Add fdiv define_expand template, 6731 then generate floating-point division and floating-point reciprocal 6732 instructions. 6733 67342022-04-27 Lulu Cheng <chenglulu@loongson.cn> 6735 6736 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))' 6737 to PLV instruction templates. 6738 67392022-04-27 Richard Biener <rguenther@suse.de> 6740 6741 PR middle-end/104492 6742 * gimple-ssa-warn-access.cc 6743 (pass_waccess::warn_invalid_pointer): Exclude equality compare 6744 diagnostics for all kind of invalidations. 6745 (pass_waccess::check_dangling_uses): Fix post-dominator query. 6746 (pass_waccess::check_pointer_uses): Likewise. 6747 67482022-04-27 Andreas Krebbel <krebbel@linux.ibm.com> 6749 6750 PR target/102024 6751 * config/s390/s390-protos.h (s390_function_arg_vector): Remove 6752 prototype. 6753 * config/s390/s390.cc (s390_single_field_struct_p): New function. 6754 (s390_function_arg_vector): Invoke s390_single_field_struct_p. 6755 (s390_function_arg_float): Likewise. 6756 67572022-04-27 Jakub Jelinek <jakub@redhat.com> 6758 6759 PR sanitizer/105396 6760 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case 6761 where offset is bigger than off but smaller than m_prev_offset + 32 6762 bits by pushing one or more 0 bytes. Sink the 6763 m_shadow_bytes.safe_push (value); flush_if_full (); statements from 6764 all cases to the end of the function. 6765 67662022-04-27 Kewen Lin <linkw@linux.ibm.com> 6767 6768 PR target/105271 6769 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector] 6770 stanza. 6771 67722022-04-26 Thomas Schwinge <thomas@codesourcery.com> 6773 6774 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private 6775 data-share memory exhausted" error more verbose. 6776 67772022-04-26 Martin Liska <mliska@suse.cz> 6778 6779 PR lto/105364 6780 * lto-wrapper.cc (print_lto_docs_link): Use global_dc. 6781 (run_gcc): Parse OPT_fdiagnostics_urls_. 6782 (main): Initialize global_dc. 6783 67842022-04-26 Jakub Jelinek <jakub@redhat.com> 6785 6786 PR rtl-optimization/105314 6787 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero 6788 operand is equal to if_info->x, instead use the non-zero operand 6789 as one of the operands of AND with if_info->x as target. 6790 67912022-04-26 Jakub Jelinek <jakub@redhat.com> 6792 6793 PR tree-optimization/105374 6794 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if 6795 !fold_convertible_p rather than assuming fold_convert must succeed. 6796 67972022-04-26 Jakub Jelinek <jakub@redhat.com> 6798 6799 PR target/105367 6800 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass 6801 el_mode == DFmode ? double_type_node : float_type_node instead of 6802 TREE_TYPE (type_in) as first arguments to mathfn_built_in. 6803 68042022-04-25 David Malcolm <dmalcolm@redhat.com> 6805 6806 PR analyzer/104308 6807 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set 6808 the location of new_stmt in all places that don't already set it, 6809 whether explicitly, or via a call to gsi_replace. 6810 68112022-04-25 Paul A. Clarke <pc@us.ibm.com> 6812 6813 * doc/extend.texi (Other Builtins): Correct reference to 'modff'. 6814 68152022-04-25 Andrew MacLeod <amacleod@redhat.com> 6816 6817 PR tree-optimization/105276 6818 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include 6819 existing global range with calculated value. 6820 68212022-04-25 Richard Biener <rguenther@suse.de> 6822 6823 PR tree-optimization/105368 6824 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi. 6825 68262022-04-25 Richard Biener <rguenther@suse.de> 6827 6828 PR tree-optimization/100810 6829 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag. 6830 (find_ssa_undef): New function. 6831 (add_candidate_1): Avoid adding derived candidates with 6832 undefined SSA names and mark the original ones. 6833 (determine_group_iv_cost_generic): Reject rewriting 6834 uses with a different IV when that involves undefined SSA names. 6835 68362022-04-25 Steven G. Kargl <kargl@gcc.gnu.org> 6837 6838 PR target/89125 6839 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be 6840 bsd_libc_has_function. 6841 * targhooks.cc (bsd_libc_has_function): New function. 6842 Expand the supported math functions to inclue C99 libm. 6843 * targhooks.h (bsd_libc_has_function): New Prototype. 6844 68452022-04-25 Richard Biener <rguenther@suse.de> 6846 6847 PR rtl-optimization/105231 6848 * combine.cc (distribute_notes): Assert that a REG_EH_REGION 6849 with landing pad > 0 is from i3. Put any REG_EH_REGION note 6850 on i3 or drop it if the insn can not trap. 6851 (try_combine): Ensure that we can merge REG_EH_REGION notes 6852 with non-call exceptions. Ensure we are not splitting a 6853 trapping part of an insn with non-call exceptions when there 6854 is any REG_EH_REGION note to preserve. 6855 68562022-04-25 Hongyu Wang <hongyu.wang@intel.com> 6857 6858 PR target/105339 6859 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd): 6860 Add parentheses for parameters and djust format. 6861 (_mm512_mask_scalef_round_pd): Ditto. 6862 (_mm512_maskz_scalef_round_pd): Ditto. 6863 (_mm512_scalef_round_ps): Ditto. 6864 (_mm512_mask_scalef_round_ps): Ditto. 6865 (_mm512_maskz_scalef_round_ps): Ditto. 6866 (_mm_scalef_round_sd): Use _mm_undefined_pd. 6867 (_mm_scalef_round_ss): Use _mm_undefined_ps. 6868 (_mm_mask_scalef_round_sd): New macro. 6869 (_mm_mask_scalef_round_ss): Ditto. 6870 (_mm_maskz_scalef_round_sd): Ditto. 6871 (_mm_maskz_scalef_round_ss): Ditto. 6872 68732022-04-23 Jakub Jelinek <jakub@redhat.com> 6874 6875 PR target/105338 6876 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle 6877 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov 6878 cases. 6879 68802022-04-22 Segher Boessenkool <segher@kernel.crashing.org> 6881 6882 PR target/105334 6883 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander. 6884 (pack<mode> for FMOVE128): Rename and split the insn_and_split to... 6885 (pack<mode>_hard for FMOVE128): ... this... 6886 (pack<mode>_soft for FMOVE128): ... and this. 6887 68882022-04-22 Paul A. Clarke <pc@us.ibm.com> 6889 6890 * doc/extend.texi: Correct "This" to "These". 6891 68922022-04-22 Jakub Jelinek <jakub@redhat.com> 6893 6894 PR rtl-optimization/105333 6895 * rtlanal.cc (replace_rtx): Use simplify_subreg or 6896 simplify_unary_operation if CONST_SCALAR_INT_P rather than just 6897 CONST_INT_P. 6898 68992022-04-21 Segher Boessenkool <segher@kernel.crashing.org> 6900 6901 PR target/103197 6902 PR target/102146 6903 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage 6904 the "Z" alternatives in {l,st}{f,xs}iwzx. 6905 (zero_extendhi<mode>2 for EXTHI): Ditto. 6906 (zero_extendsi<mode>2 for EXTSI): Ditto. 6907 (*movsi_internal1): Ditto. 6908 (*mov<mode>_internal1 for QHI): Ditto. 6909 (movsd_hardfloat): Ditto. 6910 69112022-04-21 Martin Liska <mliska@suse.cz> 6912 6913 * configure.ac: Enable compressed debug sections for mold 6914 linker. 6915 * configure: Regenerate. 6916 69172022-04-21 Jakub Jelinek <jakub@redhat.com> 6918 6919 PR debug/105203 6920 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label 6921 on DEBUG_INSNs. 6922 69232022-04-20 Richard Biener <rguenther@suse.de> 6924 6925 PR tree-optimization/104912 6926 * tree-vect-loop-manip.cc (vect_loop_versioning): Split 6927 the cost model check to a separate BB to make sure it is 6928 checked first and not combined with other version checks. 6929 69302022-04-20 Richard Biener <rguenther@suse.de> 6931 6932 PR tree-optimization/105312 6933 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both 6934 VCOND and VCONDU for EQ and NE. 6935 69362022-04-20 Jan Hubicka <hubicka@ucw.cz> 6937 6938 PR ipa/103818 6939 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use 6940 poly_offset_int to avoid overflow. 6941 (modref_access_node::update2): likewise. 6942 69432022-04-20 Jakub Jelinek <jakub@redhat.com> 6944 6945 PR ipa/105306 6946 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition 6947 to opt_for_fn (decl, flag_semantic_interposition). 6948 * cgraphclones.cc (cgraph_node::create_clone): Copy over 6949 semantic_interposition flag. 6950 69512022-04-19 Sergei Trofimovich <siarheit@google.com> 6952 6953 PR gcov-profile/105282 6954 * value-prof.cc (stream_out_histogram_value): Allow negative counts 6955 on HIST_TYPE_INDIR_CALL. 6956 69572022-04-19 Jakub Jelinek <jakub@redhat.com> 6958 6959 PR target/105257 6960 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO, 6961 use gen_raw_REG instead of gen_rtx_REG and copy over also 6962 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */. 6963 69642022-04-19 Richard Biener <rguenther@suse.de> 6965 6966 PR tree-optimization/104010 6967 PR tree-optimization/103941 6968 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When 6969 we run into stmts in patterns continue walking those 6970 for uses outside of the vectorized region instead of 6971 marking the lane live. 6972 69732022-04-18 Hans-Peter Nilsson <hp@axis.com> 6974 6975 * doc/install.texi <CRIS>: Remove references to removed websites and 6976 adjust for cris-*-elf being the only remaining toolchain. 6977 69782022-04-18 Hans-Peter Nilsson <hp@axis.com> 6979 6980 * doc/invoke.texi <CRIS>: Remove references to options for removed 6981 subtarget cris-axis-linux-gnu and tweak wording accordingly. 6982 69832022-04-16 Gerald Pfeifer <gerald@pfeifer.com> 6984 6985 * doc/install.texi (Specific): Adjust mingw-w64 download link. 6986 69872022-04-15 Hongyu Wang <hongyu.wang@intel.com> 6988 6989 * config/i386/smmintrin.h: Correct target pragma from sse4.1 6990 and sse4.2 to crc32 for crc32 intrinsics. 6991 69922022-04-14 Indu Bhagat <indu.bhagat@oracle.com> 6993 6994 PR debug/105089 6995 * ctfc.cc (ctf_dvd_ignore_insert): New function. 6996 (ctf_dvd_ignore_lookup): Likewise. 6997 (ctf_add_variable): Keep track of non-defining decl DIEs. 6998 (new_ctf_container): Initialize the new hash-table. 6999 (ctfc_delete_container): Empty hash-table. 7000 * ctfc.h (struct ctf_container): Add new hash-table. 7001 (ctf_dvd_ignore_lookup): New declaration. 7002 (ctf_add_variable): Add additional argument. 7003 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable 7004 record for non-defining decl for which a defining decl exists 7005 in the same TU. 7006 (ctf_preprocess): Defer updating the number of global objts 7007 until here. 7008 (output_ctf_header): Use ctfc_vars_list_count as some CTF 7009 variables may not make it to the final output. 7010 (output_ctf_vars): Likewise. 7011 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable 7012 if this is known to be a non-defining decl DIE. 7013 70142022-04-14 Indu Bhagat <indu.bhagat@oracle.com> 7015 7016 * ctfc.h (struct ctf_container): Introduce a new member. 7017 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static 7018 variable. 7019 70202022-04-14 Jakub Jelinek <jakub@redhat.com> 7021 7022 PR target/105247 7023 * simplify-rtx.cc (simplify_const_binary_operation): For shifts 7024 or rotates by VOIDmode constant integer shift count use word_mode 7025 for the operand if int_mode is narrower than word. 7026 70272022-04-14 Robin Dapp <rdapp@linux.ibm.com> 7028 7029 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16. 7030 (s390_get_unit_mask): Likewise. 7031 (s390_is_fpd): Likewise. 7032 (s390_is_fxd): Likewise. 7033 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16. 7034 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15): 7035 Add z16. 7036 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16): 7037 Likewise. 7038 * config/s390/3931.md: New file. 7039 70402022-04-13 Richard Sandiford <richard.sandiford@arm.com> 7041 7042 PR tree-optimization/105254 7043 * config/aarch64/aarch64.cc 7044 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a 7045 loop_vec_info as argument. Restrict the unroll factor to values 7046 that divide the VF. 7047 (aarch64_vector_costs::finish_cost): Update call accordingly. 7048 70492022-04-13 Richard Biener <rguenther@suse.de> 7050 7051 PR tree-optimization/105263 7052 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume 7053 negates in multiplication chains with DFP. 7054 70552022-04-13 Jakub Jelinek <jakub@redhat.com> 7056 7057 PR middle-end/105253 7058 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple, 7059 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT 7060 comparisons or tree_nop_conversion_p checks. 7061 70622022-04-13 Hongyu Wang <hongyu.wang@intel.com> 7063 7064 PR target/103069 7065 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): 7066 Add missing set to target_val at pause label. 7067 70682022-04-13 Jakub Jelinek <jakub@redhat.com> 7069 7070 PR target/105234 7071 * attribs.cc (decl_attributes): Don't set 7072 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is 7073 NULL. 7074 70752022-04-13 Richard Biener <rguenther@suse.de> 7076 7077 PR tree-optimization/105250 7078 * fold-const.cc (fold_convertible_p): Revert 7079 r12-7979-geaaf77dd85c333, instead check for size equality 7080 of the vector types involved. 7081 70822022-04-13 Richard Biener <rguenther@suse.de> 7083 7084 Revert: 7085 2022-04-13 Richard Biener <rguenther@suse.de> 7086 7087 PR tree-optimization/104912 7088 * tree-vect-loop-manip.cc (vect_loop_versioning): Split 7089 the cost model check to a separate BB to make sure it is 7090 checked first and not combined with other version checks. 7091 70922022-04-13 Richard Biener <rguenther@suse.de> 7093 7094 PR tree-optimization/104912 7095 * tree-vect-loop-manip.cc (vect_loop_versioning): Split 7096 the cost model check to a separate BB to make sure it is 7097 checked first and not combined with other version checks. 7098 70992022-04-13 Jakub Jelinek <jakub@redhat.com> 7100 7101 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo. 7102 71032022-04-12 Antoni Boucher <bouanto@zoho.com> 7104 7105 PR jit/104072 7106 * reginfo.cc: New functions (clear_global_regs_cache, 7107 reginfo_cc_finalize) to avoid an issue where compiling the same 7108 code multiple times gives an error about assigning the same 7109 register to 2 global variables. 7110 * rtl.h: New function (reginfo_cc_finalize). 7111 * toplev.cc: Call it. 7112 71132022-04-12 Antoni Boucher <bouanto@zoho.com> 7114 7115 PR jit/104071 7116 * toplev.cc: Call the new function tree_cc_finalize in 7117 toplev::finalize. 7118 * tree.cc: New functions (clear_nonstandard_integer_type_cache 7119 and tree_cc_finalize) to clear the cache of non-standard integer 7120 types to avoid having issues with some optimizations of 7121 bitcast where the SSA_NAME will have a size of a cached 7122 integer type that should have been invalidated, causing a 7123 comparison of integer constant to fail. 7124 * tree.h: New function (tree_cc_finalize). 7125 71262022-04-12 Thomas Schwinge <thomas@codesourcery.com> 7127 7128 PR target/97348 7129 * config/nvptx/nvptx.h (ASM_SPEC): Don't set. 7130 * config/nvptx/nvptx.opt (misa): Adjust comment. 7131 71322022-04-12 Thomas Schwinge <thomas@codesourcery.com> 7133 7134 Revert: 7135 2022-03-03 Tom de Vries <tdevries@suse.de> 7136 7137 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}. 7138 71392022-04-12 Thomas Schwinge <thomas@codesourcery.com> 7140 7141 Revert: 7142 2022-03-31 Tom de Vries <tdevries@suse.de> 7143 7144 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30. 7145 71462022-04-12 Richard Biener <rguenther@suse.de> 7147 7148 PR ipa/104303 7149 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not 7150 include local escaped memory as obviously necessary stores. 7151 71522022-04-12 Richard Biener <rguenther@suse.de> 7153 7154 PR tree-optimization/105235 7155 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and 7156 return whether the CFG changed. 7157 (execute_cse_sincos_1): Adjust. 7158 71592022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com> 7160 7161 PR target/104144 7162 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options. 7163 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories. 7164 (MULTILIB_REQUIRED): Don't require Armv9-a libraries. 7165 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a. 7166 (MULTILIB_REUSE): Remove remap rules for Armv9-a. 7167 * config/arm/t-multilib (v9_a_nosimd_variants): Delete. 7168 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants. 7169 71702022-04-12 Richard Biener <rguenther@suse.de> 7171 7172 PR tree-optimization/105232 7173 * tree.cc (component_ref_size): Bail out for too large 7174 or non-constant sizes. 7175 71762022-04-12 Richard Biener <rguenther@suse.de> 7177 7178 PR tree-optimization/105226 7179 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify 7180 we can split the exit of an outer loop we choose to version. 7181 71822022-04-12 Jakub Jelinek <jakub@redhat.com> 7183 7184 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh, 7185 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh, 7186 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round, 7187 ix86_emit_swdivsf, ix86_emit_swsqrtsf, 7188 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop): 7189 Formatting fix. 7190 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise. 7191 71922022-04-12 Jakub Jelinek <jakub@redhat.com> 7193 7194 PR target/105214 7195 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call 7196 do_pending_stack_adjust. 7197 71982022-04-12 Jakub Jelinek <jakub@redhat.com> 7199 7200 PR rtl-optimization/105211 7201 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1 7202 fails for TREE_TYPE (arg), retry it with 7203 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that 7204 fails, emit call normally. 7205 72062022-04-12 Andreas Krebbel <krebbel@linux.ibm.com> 7207 7208 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16. 7209 * config.gcc: Add z16 as march/mtune switch. 7210 * config/s390/driver-native.cc (s390_host_detect_local_cpu): 7211 Recognize z16 with -march=native. 7212 * config/s390/s390-opts.h (enum processor_type): Rename 7213 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16. 7214 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ... 7215 (PROCESSOR_3931_Z16): ... throughout the file. 7216 (s390_processor processor_table): Add z16 as cpu string. 7217 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to 7218 PF_Z16. 7219 (TARGET_CPU_ARCH14): Rename to ... 7220 (TARGET_CPU_Z16): ... this. 7221 (TARGET_CPU_ARCH14_P): Rename to ... 7222 (TARGET_CPU_Z16_P): ... this. 7223 (TARGET_ARCH14): Rename to ... 7224 (TARGET_Z16): ... this. 7225 (TARGET_ARCH14_P): Rename to ... 7226 (TARGET_Z16_P): ... this. 7227 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and 7228 check TARGET_Z16 instead of TARGET_ARCH14. 7229 * config/s390/s390.opt: Add z16 to processor_type. 7230 * doc/invoke.texi: Document z16 and arch14. 7231 72322022-04-12 chenglulu <chenglulu@loongson.cn> 7233 7234 * config/loongarch/loongarch.cc: Fix bug for 7235 tmpdir-g++.dg-struct-layout-1/t033. 7236 72372022-04-11 Peter Bergner <bergner@linux.ibm.com> 7238 7239 PR target/104894 7240 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls 7241 to longcall functions. 7242 72432022-04-11 Jason Merrill <jason@redhat.com> 7244 7245 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos. 7246 72472022-04-11 Segher Boessenkool <segher@kernel.crashing.org> 7248 7249 PR target/105213 7250 PR target/103623 7251 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative. 7252 72532022-04-11 Jakub Jelinek <jakub@redhat.com> 7254 7255 PR tree-optimization/105218 7256 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has 7257 more than one predecessor or phi's bb more than 2 predecessors, 7258 reset phi result uses instead of adding a debug temp. 7259 72602022-04-11 Kito Cheng <kito.cheng@sifive.com> 7261 7262 PR target/104853 7263 * config.gcc: Pass -misa-spec to arch-canonicalize and 7264 multilib-generator. 7265 * config/riscv/arch-canonicalize: Adding -misa-spec option. 7266 (SUPPORTED_ISA_SPEC): New. 7267 (arch_canonicalize): New argument `isa_spec`. 7268 Handle multiple ISA spec versions. 7269 * config/riscv/multilib-generator: Adding -misa-spec option. 7270 72712022-04-11 Kito Cheng <kito.cheng@sifive.com> 7272 7273 * config/riscv/arch-canonicalize: Add TODO item. 7274 (IMPLIED_EXT): Sync. 7275 (arch_canonicalize): Checking until no change. 7276 72772022-04-11 Tamar Christina <tamar.christina@arm.com> 7278 7279 PR target/105197 7280 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when 7281 not masked. 7282 72832022-04-11 Jason Merrill <jason@redhat.com> 7284 7285 PR c++/100370 7286 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require 7287 deref == -1. 7288 72892022-04-11 Jakub Jelinek <jakub@redhat.com> 7290 7291 PR tree-optimization/104639 7292 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h. 7293 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3 7294 into x != cst3. 7295 72962022-04-11 Jeff Law <jeffreyalaw@gmail.com> 7297 7298 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the 7299 sign bit of the source ends up in CC. 7300 73012022-04-09 Jan Hubicka <hubicka@ucw.cz> 7302 7303 PR ipa/103376 7304 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition 7305 flag. 7306 73072022-04-09 Jan Hubicka <hubicka@ucw.cz> 7308 7309 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate 7310 nondeterministic and side_effects flags. 7311 73122022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com> 7313 7314 PR target/105157 7315 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS. 7316 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro. 7317 (TARGET_CPU_MASK): Likewise. 7318 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS. 7319 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK. 7320 (aarch64_get_arch): Likewise. 7321 (aarch64_override_options): Use TARGET_CPU_NBITS. 7322 73232022-04-08 Richard Biener <rguenther@suse.de> 7324 7325 PR tree-optimization/105198 7326 * tree-predcom.cc (find_looparound_phi): Check whether 7327 the found memory location of the entry value is clobbered 7328 inbetween the value we want to use and loop entry. 7329 73302022-04-08 Jakub Jelinek <jakub@redhat.com> 7331 7332 PR tree-optimization/105189 7333 * fold-const.cc (make_range_step): Fix up handling of 7334 (unsigned) x +[low, -] ranges for signed x if low fits into 7335 typeof (x). 7336 73372022-04-08 Richard Biener <rguenther@suse.de> 7338 7339 PR tree-optimization/105175 7340 * tree-vect-stmts.cc (vectorizable_operation): Suppress 7341 -Wvector-operation-performance if using emulated vectors. 7342 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose 7343 -Wvector-operation-performance when suppressed. 7344 (expand_vector_parallel): Likewise. 7345 (expand_vector_comparison): Likewise. 7346 (expand_vector_condition): Likewise. 7347 (lower_vec_perm): Likewise. 7348 (expand_vector_conversion): Likewise. 7349 73502022-04-07 Tamar Christina <tamar.christina@arm.com> 7351 7352 PR target/104409 7353 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New. 7354 (aarch64_general_init_builtins): Move LS64 code. 7355 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support 7356 arm_acle.h 7357 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New. 7358 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h". 7359 73602022-04-07 Richard Biener <rguenther@suse.de> 7361 Jan Hubicka <hubicka@ucw.cz> 7362 7363 PR ipa/104303 7364 * tree-ssa-alias.h (ptr_deref_may_alias_global_p, 7365 ref_may_alias_global_p, ref_may_alias_global_p, 7366 stmt_may_clobber_global_p, pt_solution_includes_global): Add 7367 bool parameters indicating whether escaped locals should be 7368 considered global. 7369 * tree-ssa-structalias.cc (pt_solution_includes_global): 7370 When the new escaped_nonlocal_p flag is true also consider 7371 pt->vars_contains_escaped. 7372 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p): 7373 Pass down new escaped_nonlocal_p flag. 7374 (ref_may_alias_global_p): Likewise. 7375 (stmt_may_clobber_global_p): Likewise. 7376 (ref_may_alias_global_p_1): Likewise. For decls also 7377 query the escaped solution if true. 7378 (ref_may_access_global_memory_p): Remove. 7379 (modref_may_conflict): Use ref_may_alias_global_p with 7380 escaped locals considered global. 7381 (ref_maybe_used_by_stmt_p): Adjust. 7382 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p): 7383 Likewise. 7384 * tree-ssa-dse.cc (dse_classify_store): Likewise. 7385 * trans-mem.cc (thread_private_new_memory): Likewise, but 7386 consider escaped locals global. 7387 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise. 7388 73892022-04-07 Richard Biener <rguenther@suse.de> 7390 7391 PR tree-optimization/105185 7392 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify 7393 modref query again. 7394 73952022-04-07 Tamar Christina <tamar.christina@arm.com> 7396 7397 PR target/104049 7398 * config/aarch64/aarch64-simd.md 7399 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to... 7400 (reduc_plus_scal_<mode>): ... This. 7401 (reduc_plus_scal_v4sf): Moved. 7402 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to... 7403 (reduc_plus_scal_v2si): ... This. 7404 74052022-04-07 Jakub Jelinek <jakub@redhat.com> 7406 7407 PR tree-optimization/102586 7408 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base 7409 langhook. 7410 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define. 7411 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it. 7412 * gimple-fold.cc (clear_padding_type): Use ftype instead of 7413 TREE_TYPE (field) some more. For artificial FIELD_DECLs without 7414 name try the lang_hooks.types.classtype_as_base langhook and 7415 if it returns non-NULL, use that instead of ftype for recursive call. 7416 74172022-04-07 Jakub Jelinek <jakub@redhat.com> 7418 7419 PR tree-optimization/105150 7420 * tree.cc (tree_builtin_call_types_compatible_p): New function. 7421 (get_call_combined_fn): Use it. 7422 74232022-04-07 Richard Biener <rguenther@suse.de> 7424 7425 PR middle-end/105165 7426 * tree-complex.cc (expand_complex_asm): Sorry for asm goto 7427 _Complex outputs. 7428 74292022-04-07 liuhongt <hongtao.liu@intel.com> 7430 7431 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask): 7432 Removed. 7433 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns 7434 for mask_applied. 7435 (<code><mode>3<mask_name>): Ditto. 7436 (*<code><mode>3<mask_name>): Ditto. 7437 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to 7438 real instruction. 7439 (VFB_512): Ditto. 7440 (VFB): Ditto. 7441 74422022-04-06 Jakub Jelinek <jakub@redhat.com> 7443 7444 PR rtl-optimization/104985 7445 * combine.cc (struct undo): Add where.regno member. 7446 (do_SUBST_MODE): Rename to ... 7447 (subst_mode): ... this. Change first argument from rtx * into int, 7448 operate on regno_reg_rtx[regno] and save regno into where.regno. 7449 (SUBST_MODE): Remove. 7450 (try_combine): Use subst_mode instead of SUBST_MODE, change first 7451 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use 7452 regno_reg_rtx[undo->where.regno] instead of *undo->where.r. 7453 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno] 7454 instead of *undo->where.r. 7455 (simplify_set): Use subst_mode instead of SUBST_MODE, change first 7456 argument from regno_reg_rtx[whatever] to whatever. 7457 74582022-04-06 Jakub Jelinek <jakub@redhat.com> 7459 7460 PR target/105069 7461 * config/sh/sh.opt (mdiv=): Add Save. 7462 74632022-04-06 Martin Liska <mliska@suse.cz> 7464 7465 PR driver/105096 7466 * common.opt: Document properly based on what it does. 7467 * gcc.cc (display_help): Unify with what we have in common.opt. 7468 * opts.cc (common_handle_option): Do not print undocumented 7469 options. 7470 74712022-04-06 Xi Ruoyao <xry111@mengyan1223.wang> 7472 7473 * config/mips/mips.cc (mips_fpr_return_fields): Ignore 7474 cxx17_empty_base_field_p fields and set an indicator. 7475 (mips_return_in_msb): Adjust for mips_fpr_return_fields change. 7476 (mips_function_value_1): Inform psABI change about C++17 empty 7477 bases. 7478 74792022-04-06 Jakub Jelinek <jakub@redhat.com> 7480 7481 PR tree-optimization/105150 7482 * gimple.cc (gimple_builtin_call_types_compatible_p): Use 7483 builtin_decl_explicit here... 7484 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than 7485 here. 7486 74872022-04-06 Richard Biener <rguenther@suse.de> 7488 7489 PR tree-optimization/105173 7490 * tree-ssa-reassoc.cc (find_insert_point): Get extra 7491 insert_before output argument and compute it. 7492 (insert_stmt_before_use): Adjust. 7493 (rewrite_expr_tree): Likewise. 7494 74952022-04-06 Richard Biener <rguenther@suse.de> 7496 7497 PR ipa/105166 7498 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail 7499 out for non-pointer arguments. 7500 75012022-04-06 Richard Biener <rguenther@suse.de> 7502 7503 PR tree-optimization/105163 7504 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating 7505 negated abnormals. 7506 75072022-04-06 Jakub Jelinek <jakub@redhat.com> 7508 7509 PR tree-optimization/105150 7510 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn): 7511 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p 7512 preferrably on builtin_decl_explicit decl rather than fndecl. 7513 * tree-ssa-strlen.cc (valid_builtin_call): Don't call 7514 gimple_builtin_call_types_compatible_p here. 7515 75162022-04-06 Richard Sandiford <richard.sandiford@arm.com> 7517 7518 PR tree-optimization/103761 7519 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace 7520 the ncopies parameter with an slp_node parameter. Calculate the 7521 number of vectors based on it and vectype. Rename lambda to 7522 group_memory_nvectors. 7523 (vectorizable_store, vectorizable_load): Update calls accordingly. 7524 75252022-04-06 Martin Liska <mliska@suse.cz> 7526 7527 * doc/invoke.texi: Document it. 7528 75292022-04-06 Richard Biener <rguenther@suse.de> 7530 7531 PR tree-optimization/105148 7532 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands 7533 2 and 3 of ARRAY_REFs. 7534 75352022-04-06 Roger Sayle <roger@nextmovesoftware.com> 7536 7537 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI. 7538 (*andnottf3): Replace with... 7539 (*andnot<mode>3): New define_insn using ANDNOT_MODE. 7540 75412022-04-06 Richard Biener <rguenther@suse.de> 7542 7543 PR tree-optimization/105142 7544 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted 7545 basic-block parameter. 7546 (maybe_fold_or_comparisons): Likewise. 7547 * gimple-fold.cc (follow_outer_ssa_edges): New. 7548 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges 7549 when an outer condition basic-block is specified. 7550 (and_comparisons_1, and_var_with_comparison, 7551 and_var_with_comparison_1, or_comparisons_1, 7552 or_var_with_comparison, or_var_with_comparison_1): Receive and pass 7553 down the outer condition basic-block. 7554 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the 7555 basic-block of the outer condition. 7556 75572022-04-06 Kewen Lin <linkw@linux.ibm.com> 7558 7559 PR target/105002 7560 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more 7561 comparison codes UNLT/UNLE/UNGT/UNGE. 7562 75632022-04-05 David Malcolm <dmalcolm@redhat.com> 7564 7565 * doc/extend.texi (Common Function Attributes): Document that 7566 'access' does not imply 'nonnull'. 7567 75682022-04-05 Uroš Bizjak <ubizjak@gmail.com> 7569 7570 PR target/105139 7571 * config/i386/mmx.md (*movv2qi_internal): 7572 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16. 7573 75742022-04-05 Richard Sandiford <richard.sandiford@arm.com> 7575 7576 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a 7577 define_expand and turn operands 0 and 1 from REGs to MEMs. 7578 (*aarch64_cpymemdi): New pattern. 7579 (aarch64_setmemdi): Turn into a define_expand and turn operand 0 7580 from a REG to a MEM. 7581 (*aarch64_setmemdi): New pattern. 7582 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use 7583 copy_to_mode_reg on all three registers. Replace the original 7584 MEM addresses rather than creating wild reads and writes. 7585 (aarch64_expand_setmem_mops): Likewise for the size and for the 7586 destination memory and address. 7587 75882022-04-05 Richard Sandiford <richard.sandiford@arm.com> 7589 7590 PR target/103147 7591 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class. 7592 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit 7593 from aarch64_simd_switcher. 7594 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes): 7595 New variable. 7596 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE. 7597 (register_tuple_type): Add more asserts. Expect the alignment 7598 of the structure to be subject to flag_pack_struct and 7599 maximum_field_alignment. Set aarch64_simd_tuple_modes. 7600 (aarch64_simd_switcher::aarch64_simd_switcher): New function. 7601 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise. 7602 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout. 7603 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher 7604 while calling aarch64_init_simd_builtins. 7605 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher) 7606 (sve_switcher::~sve_switcher): Remove code now performed by 7607 aarch64_simd_switcher. 7608 76092022-04-05 Richard Sandiford <richard.sandiford@arm.com> 7610 7611 PR target/104897 7612 * config/aarch64/aarch64-sve-builtins.cc 7613 (function_resolver::infer_vector_or_tuple_type): Use error_n 7614 for "%d vectors" messages. 7615 76162022-04-05 Chung-Lin Tang <cltang@codesourcery.com> 7617 7618 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as 7619 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from 7620 current clause. 7621 76222022-04-05 Richard Biener <rguenther@suse.de> 7623 7624 PR c/105151 7625 * passes.def (pass_walloca): Move early instance into 7626 pass_build_ssa_passes to make SSA form available. 7627 76282022-04-05 liuhongt <hongtao.liu@intel.com> 7629 7630 PR target/101908 7631 * config/i386/i386.cc (ix86_split_stlf_stall_load): New 7632 function 7633 (ix86_reorg): Call ix86_split_stlf_stall_load. 7634 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New 7635 param. 7636 76372022-04-05 Alexandre Oliva <oliva@adacore.com> 7638 7639 * targhooks.cc (default_zero_call_used_regs): Attempt to group 7640 regs that the target refuses to use in their natural modes. 7641 (zcur_select_mode_rtx): New. 7642 * regs.h (struct target_regs): Add x_hard_regno_max_nregs. 7643 (hard_regno_max_nregs): Define. 7644 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs. 7645 76462022-04-04 Alex Coplan <alex.coplan@arm.com> 7647 7648 * doc/match-and-simplify.texi: Fix typos. 7649 76502022-04-04 Jakub Jelinek <jakub@redhat.com> 7651 7652 PR target/105144 7653 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change 7654 only if configured with --enable-maintainer-mode, otherwise compare 7655 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and 7656 if they differ, emit a message and fail. 7657 76582022-04-04 Jakub Jelinek <jakub@redhat.com> 7659 7660 PR target/105144 7661 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md. 7662 * config/aarch64/aarch64-tune.md: Regenerated. 7663 76642022-04-04 Richard Biener <rguenther@suse.de> 7665 7666 PR tree-optimization/105132 7667 * tree-vect-stmts.cc (vectorizable_operation): Check that 7668 the input vectors have the same number of elements. 7669 76702022-04-04 Richard Biener <rguenther@suse.de> 7671 7672 PR middle-end/105140 7673 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg. 7674 76752022-04-03 Jeff Law <jeffreyalaw@gmail.com> 7676 7677 PR target/104987 7678 * config/iq2000/iq2000.md (bbi): New attribute, default to no. 7679 (delay slot descripts): Use different delay slot description when 7680 the insn as the "bbi" attribute. 7681 (bbi, bbin patterns): Set the bbi attribute to yes. 7682 76832022-04-03 Jakub Jelinek <jakub@redhat.com> 7684 7685 PR target/105123 7686 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid 7687 using word as target for expand_simple_binop when doing ASHIFT and 7688 IOR. 7689 76902022-04-02 Xi Ruoyao <xry111@mengyan1223.wang> 7691 7692 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is 7693 NULL before dereferencing it. 7694 76952022-04-01 Qing Zhao <qing.zhao@oracle.com> 7696 7697 * config/i386/i386.cc (zero_all_st_registers): Return the value of 7698 num_of_st. 7699 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to 7700 the return value of zero_all_st_registers. 7701 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS. 7702 * function.cc (gen_call_used_regs_seq): Add an assertion. 7703 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS. 7704 77052022-04-01 Xi Ruoyao <xry111@mengyan1223.wang> 7706 7707 PR target/102024 7708 * config/mips/mips.cc (mips_function_arg): Ignore zero-width 7709 fields, and inform if it causes a psABI change. 7710 77112022-04-01 Xi Ruoyao <xry111@mengyan1223.wang> 7712 7713 PR target/102024 7714 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++ 7715 zero-width bit-fields and set up an indicator. 7716 (mips_return_in_msb): Adapt for mips_fpr_return_fields change. 7717 (mips_function_value_1): Diagnose when the presense of a C++ 7718 zero-width bit-field changes function returning in GCC 12. 7719 77202022-04-01 Jakub Jelinek <jakub@redhat.com> 7721 7722 PR tree-optimization/104645 7723 * tree-ssa-phiopt.cc (value_replacement): If assign has 7724 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation 7725 statement with constant evaluation. 7726 77272022-04-01 YunQiang Su <yunqiang.su@cipunited.com> 7728 7729 * config/mips/mips.cc (mips_expand_prologue): 7730 IPL is 8bit for MCU ASE. 7731 77322022-03-31 Bill Schmidt <wschmidt@linux.ibm.com> 7733 7734 PR target/104004 7735 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft. 7736 (MTFSB0): Likewise. 7737 (MTFSB1): Likewise. 7738 (SET_FPSCR_RN): Likewise. 7739 (SET_FPSCR_DRN): Mark nosoft and no32bit. 7740 77412022-03-31 Thomas Schwinge <thomas@codesourcery.com> 7742 7743 * doc/options.texi (Option file format): Clarifications around 7744 option definition records' help texts. 7745 77462022-03-31 Thomas Schwinge <thomas@codesourcery.com> 7747 7748 * optc-gen.awk <END>: Fix "Multiple different help strings" error 7749 diagnostic. 7750 77512022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com> 7752 7753 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define 7754 determine_suggested_unroll_factor and m_has_avg. 7755 (determine_suggested_unroll_factor): New function. 7756 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern 7757 to set m_nosve_pattern. 7758 (aarch64_vector_costs::finish_costs): Use 7759 determine_suggested_unroll_factor. 7760 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New. 7761 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option. 7762 77632022-03-31 Martin Jambor <mjambor@suse.cz> 7764 7765 PR ipa/103083 7766 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null; 7767 (ipa_get_jf_ancestor_keep_null): New function. 7768 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the 7769 ancestor function. 7770 (compute_complex_assign_jump_func): Pass false to keep_null 7771 parameter of ipa_set_ancestor_jf. 7772 (compute_complex_ancestor_jump_func): Pass true to keep_null 7773 parameter of ipa_set_ancestor_jf. 7774 (update_jump_functions_after_inlining): Carry over keep_null from the 7775 original ancestor jump-function or merge them. 7776 (ipa_write_jump_function): Stream keep_null flag. 7777 (ipa_read_jump_function): Likewise. 7778 (ipa_print_node_jump_functions_for_edge): Print the new flag. 7779 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New 7780 member function known_nonzero_p. 7781 (ipcp_bits_lattice::known_nonzero_p): New. 7782 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones, 7783 observe it. 7784 (ipcp_bits_lattice::meet_with): Likewise. 7785 (propagate_bits_across_jump_function): Simplify. Pass true in 7786 drop_all_ones when it is necessary. 7787 (propagate_aggs_across_jump_function): Take care of keep_null 7788 flag. 7789 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null 7790 jump functions. 7791 77922022-03-31 Martin Jambor <mjambor@suse.cz> 7793 7794 PR ipa/102513 7795 * ipa-cp.cc (decide_whether_version_node): Skip scalar values 7796 which do not fit the known value_range. 7797 77982022-03-31 Martin Jambor <mjambor@suse.cz> 7799 7800 PR ipa/103171 7801 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference 7802 always when an ADDR_EXPR constant is known to reach a load because 7803 of inlining, not just when removing an ADDR reference. 7804 78052022-03-31 Richard Biener <rguenther@suse.de> 7806 7807 PR tree-optimization/105109 7808 * tree-ssa.cc (execute_update_addresses_taken): Suppress 7809 diagnostics on the load of the other complex component. 7810 78112022-03-31 Tom de Vries <tdevries@suse.de> 7812 7813 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30. 7814 78152022-03-31 Richard Biener <rguenther@suse.de> 7816 7817 PR rtl-optimization/105091 7818 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF 7819 bases. 7820 78212022-03-31 Richard Biener <rguenther@suse.de> 7822 7823 Revert: 7824 2021-09-13 Richard Earnshaw <rearnsha@arm.com> 7825 7826 PR target/102125 7827 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding 7828 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO. 7829 78302022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de> 7831 7832 * gcov-io.cc (gcov_read_string): Reword documentation comment. 7833 78342022-03-30 Bill Schmidt <wschmidt@linux.ibm.com> 7835 7836 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec] 7837 stanza. 7838 (NEG_V4SF): Likewise. 7839 (NEG_V4SI): Likewise. 7840 (NEG_V8HI): Likewise. 7841 (NEG_V2DF): Move to [vsx] stanza. 7842 (NEG_V2DI): Likewise. 7843 78442022-03-30 Vladimir N. Makarov <vmakarov@redhat.com> 7845 7846 PR middle-end/105032 7847 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition. 7848 78492022-03-30 Tom de Vries <tdevries@suse.de> 7850 Tobias Burnus <tobias@codesourcery.com> 7851 7852 * doc/invoke.texi (march): Document __PTX_SM__. 7853 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and 7854 __PTX_ISA_VERSION_MINOR__. 7855 78562022-03-30 Jakub Jelinek <jakub@redhat.com> 7857 7858 PR sanitizer/105093 7859 * ubsan.cc (instrument_object_size): If t is equal to inner and 7860 is a decl other than global var, punt. When emitting call to 7861 UBSAN_OBJECT_SIZE ifn, make sure base is addressable. 7862 78632022-03-30 Jakub Jelinek <jakub@redhat.com> 7864 7865 PR tree-optimization/105094 7866 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if 7867 bitsize <= 0 rather than just == 0. 7868 78692022-03-30 Tom de Vries <tdevries@suse.de> 7870 7871 * doc/invoke.texi (misa, mptx): Update. 7872 (march, march-map): Add. 7873 78742022-03-30 Thomas Schwinge <thomas@codesourcery.com> 7875 7876 * opt-functions.awk (n_args): New function. 7877 (lang_enabled_by): Merge function into... 7878 * optc-gen.awk <END>: ... sole user here. 7879 Improve diagnostics. 7880 78812022-03-29 Marek Polacek <polacek@redhat.com> 7882 Jakub Jelinek <jakub@redhat.com> 7883 7884 PR middle-end/103597 7885 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps 7886 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P. 7887 (gimplify_cond_expr): Set UNUSED_LABEL_P. 7888 * tree.h (UNUSED_LABEL_P): New. 7889 78902022-03-29 Michael Meissner <meissner@linux.ibm.com> 7891 7892 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to 7893 be any VSX register. 7894 78952022-03-29 Richard Earnshaw <rearnsha@arm.com> 7896 7897 PR target/102024 7898 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle 7899 zero-sized bit-fields. Detect cases where a warning may be needed. 7900 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a 7901 zero-sized bit-field has caused parameter passing to change. 7902 79032022-03-29 Richard Earnshaw <rearnsha@arm.com> 7904 7905 PR target/102024 7906 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized 7907 bit-fields. Detect cases where a warning may be needed. 7908 (aapcs_vfp_is_call_or_return_candidate): Emit a note if 7909 a zero-sized bit-field has caused parameter passing to change. 7910 79112022-03-29 Richard Earnshaw <rearnsha@arm.com> 7912 7913 PR target/96882 7914 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of 7915 ARM_PCS_AAPCS_LOCAL. 7916 79172022-03-29 Tom de Vries <tdevries@suse.de> 7918 7919 PR target/104857 7920 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit 7921 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__. 7922 * config/nvptx/nvptx.cc (ptx_version_to_number): New function. 7923 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare. 7924 79252022-03-29 Tom de Vries <tdevries@suse.de> 7926 7927 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it 7928 is ignored. 7929 79302022-03-29 Tom de Vries <tdevries@suse.de> 7931 7932 PR target/104714 7933 * config/nvptx/nvptx.opt (march-map=*): Add aliases. 7934 79352022-03-29 Jan Hubicka <hubicka@ucw.cz> 7936 7937 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test 7938 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS. 7939 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro. 7940 (TARGET_USE_GATHER_4PARTS): New macro. 7941 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune 7942 (X86_TUNE_USE_GATHER_4PARTS): New tune 7943 79442022-03-29 Tom de Vries <tdevries@suse.de> 7945 7946 * config/nvptx/nvptx.opt (march): Add alias of misa. 7947 79482022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 7949 Lulu Cheng <chenglulu@loongson.cn> 7950 7951 * doc/install.texi: Add LoongArch options section. 7952 * doc/invoke.texi: Add LoongArch options section. 7953 * doc/md.texi: Add LoongArch options section. 7954 79552022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 7956 Lulu Cheng <chenglulu@loongson.cn> 7957 7958 * config/loongarch/loongarch-c.cc 7959 79602022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 7961 Lulu Cheng <chenglulu@loongson.cn> 7962 7963 * config/loongarch/larchintrin.h: New file. 7964 * config/loongarch/loongarch-builtins.cc: New file. 7965 79662022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 7967 Lulu Cheng <chenglulu@loongson.cn> 7968 7969 * config/host-linux.cc: Add LoongArch support. 7970 * config/loongarch/loongarch-protos.h: New file. 7971 * config/loongarch/loongarch-tune.h: Likewise. 7972 * config/loongarch/loongarch.cc: Likewise. 7973 * config/loongarch/loongarch.h: Likewise. 7974 79752022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 7976 Lulu Cheng <chenglulu@loongson.cn> 7977 7978 * config/loongarch/constraints.md: New file. 7979 * config/loongarch/generic.md: New file. 7980 * config/loongarch/la464.md: New file. 7981 * config/loongarch/loongarch-ftypes.def: New file. 7982 * config/loongarch/loongarch-modes.def: New file. 7983 * config/loongarch/loongarch.md: New file. 7984 * config/loongarch/predicates.md: New file. 7985 * config/loongarch/sync.md: New file. 7986 79872022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 7988 Lulu Cheng <chenglulu@loongson.cn> 7989 7990 * configure: Regenerate file. 7991 79922022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 7993 Lulu Cheng <chenglulu@loongson.cn> 7994 7995 * common/config/loongarch/loongarch-common.cc: New file. 7996 * config/loongarch/genopts/genstr.sh: New file. 7997 * config/loongarch/genopts/loongarch-strings: New file. 7998 * config/loongarch/genopts/loongarch.opt.in: New file. 7999 * config/loongarch/loongarch-str.h: New file. 8000 * config/loongarch/gnu-user.h: New file. 8001 * config/loongarch/linux.h: New file. 8002 * config/loongarch/loongarch-cpu.cc: New file. 8003 * config/loongarch/loongarch-cpu.h: New file. 8004 * config/loongarch/loongarch-def.c: New file. 8005 * config/loongarch/loongarch-def.h: New file. 8006 * config/loongarch/loongarch-driver.cc: New file. 8007 * config/loongarch/loongarch-driver.h: New file. 8008 * config/loongarch/loongarch-opts.cc: New file. 8009 * config/loongarch/loongarch-opts.h: New file. 8010 * config/loongarch/loongarch.opt: New file. 8011 * config/loongarch/t-linux: New file. 8012 * config/loongarch/t-loongarch: New file. 8013 * config.gcc: Add LoongArch support. 8014 * configure.ac: Add LoongArch support. 8015 80162022-03-29 Thomas Schwinge <thomas@codesourcery.com> 8017 8018 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs' 8019 typo. 8020 80212022-03-29 Richard Biener <rguenther@suse.de> 8022 8023 PR tree-optimization/105080 8024 * tree-ssa-strlen.cc (printf_strlen_execute): Always init 8025 loops and SCEV. 8026 80272022-03-28 Indu Bhagat <indu.bhagat@oracle.com> 8028 8029 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead. 8030 (output_ctf_vars): Likewise. 8031 80322022-03-28 Jason Merrill <jason@redhat.com> 8033 8034 PR c++/59426 8035 * doc/extend.texi: Refer to __is_trivial instead of __is_pod. 8036 80372022-03-28 H.J. Lu <hjl.tools@gmail.com> 8038 8039 PR target/105068 8040 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with 8041 "Yw" in clobber. 8042 80432022-03-28 Tom de Vries <tdevries@suse.de> 8044 8045 PR target/104818 8046 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text. 8047 * config/nvptx/nvptx-gen.opt: Regenerate. 8048 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text. 8049 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on 8050 gen-opt.sh. 8051 80522022-03-28 David Malcolm <dmalcolm@redhat.com> 8053 8054 PR analyzer/104308 8055 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing 8056 to loads then stores, set the location of the new load stmt. 8057 80582022-03-28 Richard Biener <rguenther@suse.de> 8059 8060 PR tree-optimization/105070 8061 * tree-switch-conversion.h 8062 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location 8063 argument. 8064 * tree-switch-conversion.cc 8065 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate 8066 cond with location. 8067 (bit_test_cluster::emit): Annotate all generated expressions 8068 with location. 8069 80702022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com> 8071 8072 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry. 8073 80742022-03-28 liuhongt <hongtao.liu@intel.com> 8075 8076 PR target/105066 8077 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of 8078 alternative 4 from sse4_noavx to noavx. 8079 80802022-03-28 Jakub Jelinek <jakub@redhat.com> 8081 8082 PR tree-optimization/105056 8083 * tree-predcom.cc (component::component): Initialize also comp_step. 8084 80852022-03-27 H.J. Lu <hjl.tools@gmail.com> 8086 8087 PR target/105068 8088 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with 8089 "Yw". 8090 80912022-03-26 Roger Sayle <roger@nextmovesoftware.com> 8092 8093 PR middle-end/104885 8094 * calls.cc (mark_stack_region_used): Check that the region 8095 is within the allocated size of stack_usage_map. 8096 80972022-03-26 Jakub Jelinek <jakub@redhat.com> 8098 8099 PR rtl-optimization/103775 8100 * recog.cc (check_invalid_inc_dec): New function. 8101 (insn_invalid_p): Return 1 if REG_INC operand overlaps 8102 any stored REGs. 8103 81042022-03-26 H.J. Lu <hjl.tools@gmail.com> 8105 8106 PR target/105058 8107 * config/i386/sse.md (loadiwkey): Replace "v" with "x". 8108 (aes<aesklvariant>u8): Likewise. 8109 81102022-03-26 H.J. Lu <hjl.tools@gmail.com> 8111 8112 PR target/105052 8113 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3): 8114 Replace "Yv" with "x". 8115 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise. 8116 (ssse3_psign<mode>3): Likewise. 8117 81182022-03-26 Hans-Peter Nilsson <hp@axis.com> 8119 8120 * reload.cc (find_reloads): Align comment with code where 8121 considering the intersection of register classes then tweaking the 8122 regclass for the current alternative or rejecting it. 8123 81242022-03-25 Christophe Lyon <christohe.lyon@arm.com> 8125 8126 PR target/104882 8127 Revert 8128 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org> 8129 8130 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete. 8131 (mve_vec_unpack<US>_hi_<mode>): Delete. 8132 (@mve_vec_pack_trunc_lo_<mode>): Delete. 8133 (mve_vmovntq_<supf><mode>): Remove '@' prefix. 8134 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back 8135 from vec-common.md. 8136 (vec_unpack<US>_lo_<mode>): Likewise. 8137 (vec_pack_trunc_<mode>): Rename from 8138 neon_quad_vec_pack_trunc_<mode>. 8139 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete. 8140 (vec_unpack<US>_lo_<mode>): Delete. 8141 (vec_pack_trunc_<mode>): Delete. 8142 81432022-03-25 Vladimir N. Makarov <vmakarov@redhat.com> 8144 8145 PR middle-end/104971 8146 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard 8147 regs to clear remove_p flag. 8148 81492022-03-25 Richard Biener <rguenther@suse.de> 8150 8151 PR tree-optimization/105053 8152 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick 8153 the correct live-out stmt for a reduction chain. 8154 81552022-03-25 Richard Biener <rguenther@suse.de> 8156 8157 PR middle-end/105049 8158 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or 8159 CONSTRUCTOR first elements. 8160 81612022-03-25 Tobias Burnus <tobias@codesourcery.com> 8162 8163 PR analyzer/103533 8164 * doc/invoke.texi (Static Analyzer Options): Move 8165 @ignore block after @gccoptlist's '}' for 'make pdf'. 8166 81672022-03-25 David Malcolm <dmalcolm@redhat.com> 8168 8169 PR analyzer/104954 8170 * doc/invoke.texi (Static Analyzer Options): Add 8171 -fdump-analyzer-untracked. 8172 81732022-03-25 Avinash Sonawane <rootkea@gmail.com> 8174 8175 PR analyzer/103533 8176 * doc/invoke.texi: Document that enabling taint analyzer 8177 checker disables some warnings from `-fanalyzer`. 8178 81792022-03-24 Alexandre Oliva <oliva@adacore.com> 8180 8181 PR debug/104564 8182 * gimple-harden-conditionals.cc (detach_value): Keep temps 8183 anonymous. 8184 81852022-03-24 Alexandre Oliva <oliva@adacore.com> 8186 8187 PR middle-end/104975 8188 * gimple-harden-conditionals.cc 8189 (pass_harden_compares::execute): Force split in case of 8190 multiple edges. 8191 81922022-03-24 Jakub Jelinek <jakub@redhat.com> 8193 8194 PR c++/105035 8195 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either 8196 field0 or field1 is not a FIELD_DECL, return false. 8197 81982022-03-24 Richard Biener <rguenther@suse.de> 8199 8200 * tree-predcom.cc (chain::chain): Add CTOR. 8201 (component::component): Likewise. 8202 (pcom_worker::release_chain): Use delete. 8203 (release_components): Likewise. 8204 (pcom_worker::filter_suitable_components): Likewise. 8205 (pcom_worker::split_data_refs_to_components): Use new. 8206 (make_invariant_chain): Likewise. 8207 (make_rooted_chain): Likewise. 8208 (pcom_worker::combine_chains): Likewise. 8209 * tree-vect-loop.cc (vect_create_epilog_for_reduction): 8210 Make sure to release previously constructed scalar_results. 8211 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec 8212 for vec_offsets. 8213 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges): 8214 Release m_flag_set_edges. 8215 82162022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org> 8217 8218 PR tree-optimization/104970 8219 * tree-object-size.cc (parm_object_size): Restrict size 8220 computation scenarios to explicit access attributes. 8221 82222022-03-24 Kewen Lin <linkw@linux.ibm.com> 8223 8224 PR target/104967 8225 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null 8226 function types. 8227 82282022-03-23 Richard Biener <rguenther@suse.de> 8229 8230 PR target/102125 8231 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the 8232 use of movmisalign when either the source or destination 8233 decl is properly aligned. 8234 82352022-03-23 Richard Biener <rguenther@suse.de> 8236 8237 PR rtl-optimization/105028 8238 * ira-color.cc (form_threads_from_copies): Remove unnecessary 8239 copying of the sorted_copies tail. 8240 82412022-03-23 Martin Liska <mliska@suse.cz> 8242 8243 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): 8244 Use %qs in format. 8245 * config/rs6000/rs6000.cc (rs6000_option_override_internal): 8246 Reword the error message. 8247 82482022-03-23 liuhongt <hongtao.liu@intel.com> 8249 8250 PR target/104976 8251 * config/i386/sse.md (ssePSmodelower): New. 8252 (*avx_cmp<mode>3_ltint_not): Force_reg operand before 8253 lowpart_subreg to avoid NULL_RTX. 8254 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>, 8255 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>, 8256 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst, 8257 <avx512>_<complexopname>_<mode>_mask<round_name>, 8258 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>, 8259 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>, 8260 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>, 8261 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>, 8262 float<floatunssuffix><mode>v4hf2, 8263 float<floatunssuffix>v2div2hf2, 8264 fix<fixunssuffix>_truncv4hf<mode>2, 8265 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2, 8266 extendv2hfv2df2, 8267 trunc<mode>v4hf2,truncv2dfv2hf2, 8268 *avx512bw_permvar_truncv16siv16hi_1, 8269 *avx512bw_permvar_truncv16siv16hi_1_hf, 8270 *avx512f_permvar_truncv8siv8hi_1, 8271 *avx512f_permvar_truncv8siv8hi_1_hf, 8272 *avx512f_vpermvar_truncv8div8si_1, 8273 *avx512f_permvar_truncv32hiv32qi_1, 8274 *avx512f_permvar_truncv16hiv16qi_1, 8275 *avx512f_permvar_truncv4div4si_1, 8276 *avx512f_pshufb_truncv8hiv8qi_1, 8277 *avx512f_pshufb_truncv4siv4hi_1, 8278 *avx512f_pshufd_truncv2div2si_1, 8279 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1, 8280 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto. 8281 82822022-03-22 Tom de Vries <tdevries@suse.de> 8283 8284 PR target/104925 8285 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"): 8286 Use % as register prefix. 8287 82882022-03-22 Tom de Vries <tdevries@suse.de> 8289 8290 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p) 8291 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for 8292 mexperimental. 8293 82942022-03-22 Tom de Vries <tdevries@suse.de> 8295 8296 * config/nvptx/nvptx.opt (mexperimental): New option. 8297 82982022-03-22 Tom de Vries <tdevries@suse.de> 8299 8300 PR target/104957 8301 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare. 8302 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker 8303 for alias. 8304 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def. 8305 (nvptx_asm_output_def_from_decls): New function. 8306 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to 8307 gcc_unreachable (). 8308 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to 8309 nvptx_asm_output_def_from_decls. 8310 * config/nvptx/nvptx.opt (malias): New opt. 8311 83122022-03-22 Tom de Vries <tdevries@suse.de> 8313 8314 PR target/104916 8315 PR target/104783 8316 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp 8317 sync (or uniform warp check for mptx < 6.0). 8318 83192022-03-22 Richard Biener <rguenther@suse.de> 8320 8321 PR tree-optimization/105012 8322 * tree-if-conv.cc (ifcvt_local_dce): Only call 8323 dse_classify_store when we have a VDEF. 8324 83252022-03-22 Martin Liska <mliska@suse.cz> 8326 8327 PR target/104902 8328 * config/nvptx/nvptx.cc (handle_ptx_version_option): 8329 Fix option wrapping in an error message. 8330 83312022-03-22 Martin Liska <mliska@suse.cz> 8332 8333 PR target/104903 8334 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): 8335 Wrap const keyword. 8336 83372022-03-22 Martin Liska <mliska@suse.cz> 8338 8339 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma 8340 name. 8341 83422022-03-22 Martin Liska <mliska@suse.cz> 8343 8344 PR target/104898 8345 * config/rs6000/rs6000.cc (rs6000_option_override_internal): 8346 Use %qs instead of (%qs). 8347 83482022-03-22 Martin Liska <mliska@suse.cz> 8349 8350 PR target/104898 8351 * config/i386/i386-options.cc (ix86_option_override_internal): 8352 Use '%qs' instead of '(%qs)'. 8353 83542022-03-22 Martin Liska <mliska@suse.cz> 8355 8356 PR target/104898 8357 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch): 8358 Use 'qs' and remove usage '(%qs)'. 8359 (aarch64_handle_attr_cpu): Likewise. 8360 (aarch64_handle_attr_tune): Likewise. 8361 (aarch64_handle_attr_isa_flags): Likewise. 8362 83632022-03-22 Tamar Christina <tamar.christina@arm.com> 8364 Andre Vieira <andre.simoesdiasvieira@arm.com> 8365 8366 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning 8367 struct. 8368 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int 8369 cost. 8370 (neoverse512tvb_tunings): Likewise. 8371 83722022-03-22 Tamar Christina <tamar.christina@arm.com> 8373 Andre Vieira <andre.simoesdiasvieira@arm.com> 8374 8375 * config/aarch64/aarch64.cc (demeter_addrcost_table, 8376 demeter_regmove_cost, demeter_advsimd_vector_cost, 8377 demeter_sve_vector_cost, demeter_scalar_issue_info, 8378 demeter_advsimd_issue_info, demeter_sve_issue_info, 8379 demeter_vec_issue_info, demeter_vector_cost, 8380 demeter_tunings): New tuning structs. 8381 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter 8382 tuning. 8383 * config/aarch64/aarch64-cores.def: Add entry for demeter. 8384 * config/aarch64/aarch64-tune.md (tune): Add demeter to list. 8385 83862022-03-22 Tamar Christina <tamar.christina@arm.com> 8387 Andre Vieira <andre.simoesdiasvieira@arm.com> 8388 8389 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct. 8390 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost. 8391 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all 8392 tunings to use cpu_memmov_cost struct. 8393 83942022-03-22 Tamar Christina <tamar.christina@arm.com> 8395 Andre Vieira <andre.simoesdiasvieira@arm.com> 8396 8397 * config/aarch64/aarch64.cc (neoversen2_addrcost_table, 8398 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost, 8399 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info, 8400 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info, 8401 neoversen2_vec_issue_info, neoversen2_tunings): New structs. 8402 (neoversen2_tunings): Use new structs and update tuning flags. 8403 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2 8404 tuning. 8405 84062022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com> 8407 8408 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature 8409 bit. 8410 84112022-03-22 liuhongt <hongtao.liu@intel.com> 8412 8413 PR target/104982 8414 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the 8415 following splitter to reversed condition. 8416 84172022-03-22 Jakub Jelinek <jakub@redhat.com> 8418 8419 PR rtl-optimization/104989 8420 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after 8421 sorry for passing too large argument, instead set sibcall_failure 8422 for pass == 0, or a new normal_failure flag otherwise. If 8423 normal_failure is set, don't assert all stack has been deallocated 8424 at the end and throw away the whole insn sequence. 8425 84262022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com> 8427 8428 * print-tree.cc: Change array length 8429 84302022-03-22 Hongyu Wang <hongyu.wang@intel.com> 8431 8432 PR target/104978 8433 * config/i386/sse.md 8434 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name): 8435 Use avx512f_movsf_mask instead of vmovaps or vblend, and 8436 force_reg before lowpart_subreg. 8437 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise. 8438 84392022-03-21 H.J. Lu <hjl.tools@gmail.com> 8440 8441 PR target/105000 8442 * common/config/i386/i386-common.cc 8443 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace 8444 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET. 8445 84462022-03-21 H.J. Lu <hjl.tools@gmail.com> 8447 8448 PR target/104998 8449 * common/config/i386/cpuinfo.h (get_available_features): Pass 8450 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if 8451 bit_AESKLE is set. 8452 84532022-03-21 Richard Sandiford <richard.sandiford@arm.com> 8454 8455 PR middle-end/104869 8456 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare. 8457 (clobber_group::next_clobber): Likewise. 8458 (def_lookup::prev_def): Rename to... 8459 (def_lookup::last_def_of_prev_group): ...this. 8460 (def_lookup::next_def): Rename to... 8461 (def_lookup::first_def_of_next_group): ...this. 8462 (def_lookup::matching_or_prev_def): Rename to... 8463 (def_lookup::matching_set_or_last_def_of_prev_group): ...this. 8464 (def_lookup::matching_or_next_def): Rename to... 8465 (def_lookup::matching_set_or_first_def_of_next_group): ...this. 8466 (def_lookup::prev_def): New function, taking the lookup insn as 8467 argument. 8468 (def_lookup::next_def): Likewise. 8469 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to... 8470 (def_lookup::last_def_of_prev_group): ...this. 8471 (def_lookup::next_def): Rename to... 8472 (def_lookup::first_def_of_next_group): ...this. 8473 (def_lookup::matching_or_prev_def): Rename to... 8474 (def_lookup::matching_set_or_last_def_of_prev_group): ...this. 8475 (def_lookup::matching_or_next_def): Rename to... 8476 (def_lookup::matching_set_or_first_def_of_next_group): ...this. 8477 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after 8478 above renaming. 8479 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function. 8480 (clobber_group::next_clobber): Likewise. 8481 (def_lookup::prev_def): Likewise. 8482 (def_lookup::next_def): Likewise. 8483 (function_info::make_use_available): Pass the lookup insn to 8484 def_lookup::prev_def and def_lookup::next_def. 8485 84862022-03-21 Martin Liska <mliska@suse.cz> 8487 8488 * doc/invoke.texi: Document min-pagesize parameter. 8489 84902022-03-21 Richard Biener <rguenther@suse.de> 8491 8492 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump 8493 we are estimating niter of loop. 8494 84952022-03-21 Kito Cheng <kito.cheng@sifive.com> 8496 8497 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table): 8498 Update flag name and mask name. 8499 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define 8500 misc macro for vector extensions. 8501 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ... 8502 (MASK_VECTOR_ELEN_32): ... this. 8503 (MASK_VECTOR_EEW_64): Rename to ... 8504 (MASK_VECTOR_ELEN_64): ... this. 8505 (MASK_VECTOR_EEW_FP_32): Rename to ... 8506 (MASK_VECTOR_ELEN_FP_32): ... this. 8507 (MASK_VECTOR_EEW_FP_64): Rename to ... 8508 (MASK_VECTOR_ELEN_FP_64): ... this. 8509 (TARGET_VECTOR_ELEN_32): New. 8510 (TARGET_VECTOR_ELEN_64): Ditto. 8511 (TARGET_VECTOR_ELEN_FP_32): Ditto. 8512 (TARGET_VECTOR_ELEN_FP_64): Ditto. 8513 (TARGET_MIN_VLEN): Ditto. 8514 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ... 8515 (riscv_vector_elen_flags): ... this. 8516 85172022-03-21 Hongyu Wang <hongyu.wang@intel.com> 8518 8519 PR target/104977 8520 * config/i386/sse.md 8521 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>): 8522 Correct round operand for intel dialect. 8523 85242022-03-19 Arthur Cohen <arthur.cohen@embecosm.com> 8525 8526 * diagnostic.cc (diagnostic_cc_tests): Rename to... 8527 (c_diagnostic_cc_tests): ...this. 8528 * opt-problem.cc (opt_problem_cc_tests): Rename to... 8529 (c_opt_problem_cc_tests): ...this. 8530 * selftest-run-tests.cc (selftest::run_tests): No longer run 8531 opt_problem_cc_tests or diagnostic_cc_tests. 8532 * selftest.h (diagnostic_cc_tests): Remove declaration. 8533 (opt_problem_cc_tests): Likewise. 8534 85352022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> 8536 8537 PR jit/63854 8538 * hash-traits.h (struct typed_const_free_remove): New. 8539 (struct free_string_hash): New. 8540 * pass_manager.h: Use free_string_hash. 8541 * passes.cc (pass_manager::register_pass_name): Use free_string_hash. 8542 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map. 8543 85442022-03-19 Jakub Jelinek <jakub@redhat.com> 8545 8546 PR middle-end/104971 8547 * config/i386/i386-expand.cc 8548 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore, 8549 don't push/pop anything and just return const0_rtx. 8550 85512022-03-18 Vladimir N. Makarov <vmakarov@redhat.com> 8552 8553 PR rtl-optimization/104961 8554 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber. 8555 85562022-03-18 Jason Merrill <jason@redhat.com> 8557 8558 * tree.h (IDENTIFIER_LENGTH): Add comment. 8559 85602022-03-18 Jakub Jelinek <jakub@redhat.com> 8561 8562 PR middle-end/99578 8563 PR middle-end/100680 8564 PR tree-optimization/100834 8565 * params.opt (--param=min-pagesize=): New parameter. 8566 * pointer-query.cc 8567 (compute_objsize_r) <case ARRAY_REF>: Formatting fix. 8568 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead 8569 of zero for pointer constants equal or larger than min-pagesize. 8570 85712022-03-18 Tom de Vries <tdevries@suse.de> 8572 8573 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'. 8574 Set gfor location only when dealing with a OMP_TASKLOOP. 8575 85762022-03-18 Tom de Vries <tdevries@suse.de> 8577 8578 * gimplify.cc (gimplify_omp_for): Set taskloop location. 8579 85802022-03-18 Tom de Vries <tdevries@suse.de> 8581 8582 PR target/104952 8583 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY 8584 is executed unconditionally. 8585 85862022-03-18 liuhongt <hongtao.liu@intel.com> 8587 8588 PR target/104974 8589 * config/i386/i386.md (*movhi_internal): Set attr type from HI 8590 to HF for alternative 12 under TARGET_AVX512FP16. 8591 85922022-03-18 Cui,Lili <lili.cui@intel.com> 8593 8594 PR target/104963 8595 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX. 8596 * doc/invoke.texi: Update documents for Intel sapphirerapids. 8597 85982022-03-17 Roger Sayle <roger@nextmovesoftware.com> 8599 8600 PR target/86722 8601 PR tree-optimization/90356 8602 * config/i386/i386.md (*movtf_internal): Don't guard 8603 standard_sse_constant_p clause by optimize_function_for_size_p. 8604 (*movdf_internal): Likewise. 8605 (*movsf_internal): Likewise. 8606 86072022-03-17 Andrew MacLeod <amacleod@redhat.com> 8608 8609 PR tree-optimization/102943 8610 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via 8611 dominators and apply intermediary outgoing edge ranges. 8612 86132022-03-17 Richard Biener <rguenther@suse.de> 8614 8615 PR tree-optimization/104960 8616 * passes.def: Add pass parameter to pass_sink_code, mark 8617 last one to unsplit edges. 8618 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New. 8619 (pass_sink_code::execute): Always execute TODO_cleanup_cfg 8620 when we need to unsplit edges. 8621 86222022-03-17 Jakub Jelinek <jakub@redhat.com> 8623 8624 PR middle-end/103984 8625 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and 8626 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers 8627 and asan unpoisioning, then append the temporary sequence and 8628 finally the TARGET_EXPR_CLEANUP clobbers. 8629 86302022-03-16 Roger Sayle <roger@nextmovesoftware.com> 8631 8632 * config/i386/sse.md: Delete corrupt character/typo. 8633 86342022-03-16 Roger Sayle <roger@nextmovesoftware.com> 8635 8636 PR target/94680 8637 * config/i386/sse.md (sse2_movq128): New define_expand to 8638 preserve previous named instruction. 8639 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and 8640 generalized to VI8F_128 (both V2DI and V2DF). 8641 86422022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org> 8643 8644 PR tree-optimization/104941 8645 * tree-object-size.cc (size_for_offset): Make useless conversion 8646 check lighter and assign result of fold_convert to OFFSET. 8647 86482022-03-16 H.J. Lu <hjl.tools@gmail.com> 8649 8650 PR target/104890 8651 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before 8652 pushing target("general-regs-only"). 8653 86542022-03-16 Kito Cheng <kito.cheng@sifive.com> 8655 8656 * common/config/riscv/riscv-common.cc (riscv_ext_version_table): 8657 Add version info for zk, zks and zkn. 8658 86592022-03-16 LiaoShihua <shihua@iscas.ac.cn> 8660 8661 * common/config/riscv/riscv-common.cc 8662 (riscv_combine_info): New. 8663 (riscv_subset_list::handle_combine_ext): Combine back into zk to 8664 maintain the canonical order in isa strings. 8665 (riscv_subset_list::parse): Ditto. 8666 * config/riscv/riscv-subset.h (handle_combine_ext): New. 8667 86682022-03-16 Richard Biener <rguenther@suse.de> 8669 8670 PR tree-optimization/102008 8671 * passes.def: Move the added code sinking pass before the 8672 preceeding phiopt pass. 8673 86742022-03-16 Patrick Palka <ppalka@redhat.com> 8675 8676 PR c++/96780 8677 * doc/invoke.texi (C++ Dialect Options): Document 8678 -ffold-simple-inlines. 8679 86802022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org> 8681 8682 PR tree-optimization/104942 8683 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS. 8684 86852022-03-16 Jakub Jelinek <jakub@redhat.com> 8686 8687 PR target/104910 8688 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy 8689 imm rtx. 8690 86912022-03-16 Roger Sayle <roger@nextmovesoftware.com> 8692 Richard Biener <rguenther@suse.de> 8693 8694 * gimple-match-head.cc (single_use): Implement inline using a 8695 single loop. 8696 86972022-03-16 Roger Sayle <roger@nextmovesoftware.com> 8698 8699 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p 8700 instead of HONOR_NANS. 8701 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as 8702 this can't trap/signal. 8703 87042022-03-16 liuhongt <hongtao.liu@intel.com> 8705 8706 PR target/104946 8707 * config/i386/i386-builtin.def (BDESC): Add 8708 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD. 8709 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold 8710 __builtin_ia32_blendvpd w/o sse4.2 8711 87122022-03-15 Peter Bergner <bergner@linux.ibm.com> 8713 8714 PR target/104923 8715 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict 8716 acceptable MEM addresses. 8717 87182022-03-15 Jakub Jelinek <jakub@redhat.com> 8719 8720 PR target/91229 8721 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p, 8722 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0 8723 to warning calls. 8724 87252022-03-15 Jakub Jelinek <jakub@redhat.com> 8726 8727 PR target/104890 8728 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse 8729 instead of general-regs-only. 8730 87312022-03-15 Roger Sayle <roger@nextmovesoftware.com> 8732 Marc Glisse <marc.glisse@inria.fr> 8733 Richard Biener <rguenther@suse.de> 8734 8735 PR tree-optimization/101895 8736 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def. 8737 (plus (vec_perm (mult ...) ...) ...): New reordering simplification. 8738 87392022-03-15 Jakub Jelinek <jakub@redhat.com> 8740 8741 PR rtl-optimization/104814 8742 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't 8743 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL. 8744 87452022-03-15 Martin Sebor <msebor@redhat.com> 8746 8747 PR middle-end/104436 8748 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores): 8749 Check for warning suppression. Avoid by-value arguments transformed 8750 into by-transparent-reference. 8751 87522022-03-14 Roger Sayle <roger@nextmovesoftware.com> 8753 Uroš Bizjak <ubizjak@gmail.com> 8754 8755 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable 8756 transformation when *zero_extend<mode>si2 is not available. 8757 87582022-03-14 Xi Ruoyao <xry111@mengyan1223.wang> 8759 8760 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define. 8761 * config/mips/mips.cc (mips_option_override): Make 8762 -fsanitize=address imply -fasynchronous-unwind-tables. This is 8763 needed by libasan for stack backtrace on MIPS. 8764 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET. 8765 87662022-03-14 Jakub Jelinek <jakub@redhat.com> 8767 8768 PR debug/104778 8769 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify 8770 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive 8771 call simplified the first operand into VOIDmode constant. 8772 87732022-03-14 Jakub Jelinek <jakub@redhat.com> 8774 8775 PR tree-optimization/102586 8776 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++ 8777 argument type should be pointer to trivially-copyable type unless it 8778 is address of a variable or parameter. 8779 87802022-03-14 Jakub Jelinek <jakub@redhat.com> 8781 8782 PR target/99754 8783 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into 8784 first rather than last element of the vector, use __m32_u to do 8785 a really unaligned load, use just 0 instead of (int)0. 8786 (_mm_loadu_si16): Put loaded value into first rather than last 8787 element of the vector, use __m16_u to do a really unaligned load, 8788 use just 0 instead of (short)0. 8789 87902022-03-14 Jakub Jelinek <jakub@redhat.com> 8791 8792 PR other/104899 8793 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo 8794 in diagnostic message - cannott -> cannot. Use %< and %> around 8795 names of attribute. Avoid too long line. 8796 * range-op.cc (operator_logical_and::op1_range): Fix up a typo 8797 in comment - cannott -> cannot. Use 2 spaces after . instead of one. 8798 87992022-03-14 liuhongt <hongtao.liu@intel.com> 8800 8801 PR target/104666 8802 * config/i386/i386-expand.cc 8803 (ix86_check_builtin_isa_match): New func. 8804 (ix86_expand_builtin): Move code to 8805 ix86_check_builtin_isa_match and call it. 8806 * config/i386/i386-protos.h 8807 (ix86_check_builtin_isa_match): Declare. 8808 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold 8809 builtin into gimple when isa mismatches. 8810 88112022-03-13 Tobias Burnus <tobias@codesourcery.com> 8812 8813 * doc/invoke.texi: Fix typos. 8814 * doc/tm.texi.in: Remove duplicated word. 8815 * doc/tm.texi: Regenerate. 8816 88172022-03-12 Segher Boessenkool <segher@kernel.crashing.org> 8818 8819 PR target/104829 8820 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output 8821 "ppc" and "ppc64" based on rs6000_cpu. 8822 88232022-03-12 Thomas Schwinge <thomas@codesourcery.com> 8824 8825 PR middle-end/100280 8826 PR middle-end/104892 8827 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1): 8828 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'. 8829 88302022-03-12 Thomas Schwinge <thomas@codesourcery.com> 8831 8832 PR middle-end/100280 8833 PR middle-end/104086 8834 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1): 8835 Mark variables used in 'present' clauses as addressable. 8836 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully 8837 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'. 8838 88392022-03-12 Thomas Schwinge <thomas@codesourcery.com> 8840 8841 PR other/65095 8842 * tree-core.h (user_omp_claus_code_name): Declare function. 8843 * tree.cc (user_omp_clause_code_name): New function. 8844 88452022-03-12 Roger Sayle <roger@nextmovesoftware.com> 8846 8847 PR middle-end/98420 8848 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math 8849 (the defaut) or -fno-signed-zeros. 8850 88512022-03-12 Michael Meissner <meissner@linux.ibm.com> 8852 8853 PR target/104868 8854 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when 8855 moving from a GPR register to an Altivec register. 8856 88572022-03-11 Roger Sayle <roger@nextmovesoftware.com> 8858 8859 PR tree-optimization/98335 8860 * config/i386/i386.md (peephole2): Eliminate redundant insv. 8861 Combine movl followed by movb. Transform xorl followed by 8862 a suitable movb or movw into the equivalent movz[bw]l. 8863 88642022-03-11 Roger Sayle <roger@nextmovesoftware.com> 8865 Richard Biener <rguenther@suse.de> 8866 8867 PR tree-optimization/98335 8868 * builtins.cc (get_object_alignment_2): Export. 8869 * builtins.h (get_object_alignment_2): Likewise. 8870 * tree-ssa-alias.cc (ao_ref_alignment): New. 8871 * tree-ssa-alias.h (ao_ref_alignment): Declare. 8872 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether 8873 to align head/tail, writing more bytes but using fewer store insns. 8874 88752022-03-11 Richard Biener <rguenther@suse.de> 8876 8877 PR tree-optimization/104880 8878 * tree-ssa.cc (execute_update_address_taken): Remember if we 8879 optimistically made something not addressable and 8880 prepare to undo it. 8881 88822022-03-11 Richard Biener <rguenther@suse.de> 8883 8884 PR target/104762 8885 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not 8886 cost the first lane of SSE pieces as inserts for vec_construct. 8887 88882022-03-10 Roger Sayle <roger@nextmovesoftware.com> 8889 8890 PR c++/84964 8891 * calls.cc (expand_call): Ignore stack adjustments after sorry. 8892 88932022-03-10 Vladimir N. Makarov <vmakarov@redhat.com> 8894 8895 PR target/103074 8896 * lra-constraints.cc (split_reg): Set up 8897 check_and_force_assignment_correctness_p when splitting hard 8898 register live range. 8899 89002022-03-10 Martin Jambor <mjambor@suse.cz> 8901 8902 PR ipa/104813 8903 * ipa-cp.cc (create_specialized_node): Move removal of 8904 self-recursive calls from callers vector before refrence 8905 adjustments. 8906 89072022-03-10 Richard Biener <rguenther@suse.de> 8908 8909 PR tree-optimization/102943 8910 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec): 8911 Make a bitmap_head. 8912 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch 8913 to tree view. 8914 (sbr_sparse_bitmap::set_bb_range): Adjust. 8915 (sbr_sparse_bitmap::get_bb_range): Likewise. 8916 89172022-03-10 Richard Biener <rguenther@suse.de> 8918 8919 PR tree-optimization/102943 8920 * tree-ssa-dom.cc (back_propagate_equivalences): Only 8921 populate the dominance bitmap if fast queries are not 8922 available. Use a tree view bitmap. 8923 (record_temporary_equivalences): Cache the dominance bitmap 8924 across all equivalences on the edge. 8925 89262022-03-10 Tom de Vries <tdevries@suse.de> 8927 8928 PR target/104840 8929 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead 8930 of false,true. 8931 89322022-03-10 Tom de Vries <tdevries@suse.de> 8933 8934 PR target/104783 8935 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate) 8936 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate. 8937 (nvptx_get_unisimt_outside_simt_predicate): New function. 8938 (predicate_insn): New function, factored out of ... 8939 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns. 8940 * config/nvptx/nvptx.h (struct machine_function): Add 8941 unisimt_outside_simt_predicate field. 8942 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync") 8943 (define_insn "nvptx_uniform_warp_check"): Make predicable. 8944 89452022-03-10 Tom de Vries <tdevries@suse.de> 8946 8947 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused 8948 result. 8949 89502022-03-10 Tom de Vries <tdevries@suse.de> 8951 8952 PR target/104815 8953 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand 8954 modifier. 8955 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns. 8956 89572022-03-10 Tom de Vries <tdevries@suse.de> 8958 8959 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"): 8960 Emit atom.and.b64 instead of atom.b64.and. 8961 89622022-03-10 Tom de Vries <tdevries@suse.de> 8963 8964 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ... 8965 (MULTILIB_OPTIONS): ... here. 8966 89672022-03-10 Tom de Vries <tdevries@suse.de> 8968 8969 PR target/104758 8970 * config/nvptx/nvptx.opt (misa): Set default to sm_30. 8971 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30. 8972 89732022-03-10 Thomas Schwinge <thomas@codesourcery.com> 8974 8975 PR middle-end/90115 8976 PR middle-end/102330 8977 PR middle-end/104774 8978 * omp-low.cc (oacc_privatization_candidate_p) 8979 (oacc_privatization_scan_clause_chain) 8980 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker): 8981 Analyze 'lookup_decl'-translated DECL. 8982 89832022-03-10 Jakub Jelinek <jakub@redhat.com> 8984 8985 PR target/99708 8986 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove 8987 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float. 8988 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove. 8989 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return 8990 "**NULL**" if type_node is NULL first. Handle 8991 ieee128_float_type_node. 8992 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node 8993 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and 8994 ieee128_float_type_node to NULL rather than long_double_type_node if 8995 they aren't supported. Do support __ibm128 even if 8996 !TARGET_FLOAT128_TYPE when long double is double double. 8997 (rs6000_expand_builtin): Error if bif_is_ibm128 and 8998 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to 8999 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check 9000 for it. 9001 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define 9002 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined. 9003 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here. 9004 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL. 9005 Formatting fix. 9006 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute. 9007 (struct attrinfo): Add isibm128 member. 9008 (TYPE_MAP_SIZE): Remove. 9009 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use 9010 ibm128_float_type_node only if it is non-NULL, otherwise fall back 9011 to long_double_type_node. Remove "pif" entry. 9012 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging. 9013 (write_decls): Output bif_ibm128_bit and bif_is_ibm128. 9014 (write_type_node): Use sizeof type_map / sizeof type_map[0] 9015 instead of TYPE_MAP_SIZE. 9016 (write_bif_static_init): Handle isibm128. 9017 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute. 9018 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128 9019 attribute. 9020 90212022-03-09 Richard Biener <rguenther@suse.de> 9022 9023 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF 9024 with non-decl operand, avoiding a copy. 9025 90262022-03-09 Jakub Jelinek <jakub@redhat.com> 9027 9028 PR target/104781 9029 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32. 9030 90312022-03-09 Richard Biener <rguenther@suse.de> 9032 9033 PR middle-end/104786 9034 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy 9035 for VLAs without an upper size bound. 9036 90372022-03-09 Xi Ruoyao <xry111@mengyan1223.wang> 9038 9039 PR tree-optimization/104851 9040 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one 9041 error. 9042 90432022-03-09 Jakub Jelinek <jakub@redhat.com> 9044 9045 PR c/104711 9046 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value 9047 is enabled by it only for C++11 to C++17 rather than for C++03 or 9048 later. 9049 (-Wshift-negative-value): Similarly (except here we stated 9050 that it is enabled for C++11 or later). 9051 90522022-03-09 Jakub Jelinek <jakub@redhat.com> 9053 9054 PR rtl-optimization/104839 9055 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>: 9056 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET. 9057 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED 9058 instead of incorrect 0 in SUBREG_PROMOTED_SET. 9059 90602022-03-09 Xi Ruoyao <xry111@mengyan1223.wang> 9061 9062 PR target/104842 9063 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned 9064 value before adding an offset. 9065 90662022-03-08 Christophe Lyon <christophe.lyon@arm.com> 9067 9068 * config/arm/arm-builtins.cc 9069 (arm_binop_none_none_unone_qualifiers): Delete. 9070 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete. 9071 90722022-03-08 Iain Sandoe <iain@sandoe.co.uk> 9073 9074 PR translation/104552 9075 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend 9076 the PCH out of memory error message punctuation and wording. 9077 90782022-03-08 Marek Polacek <polacek@redhat.com> 9079 9080 PR rtl-optimization/104777 9081 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if 9082 ASM_OPERANDS_LABEL_VEC has at least one element. 9083 90842022-03-08 H.J. Lu <hjl.tools@gmail.com> 9085 9086 PR target/104781 9087 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is 9088 stack realignment or regparm nested function with EH return. 9089 90902022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com> 9091 9092 PR target/104790 9093 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO. 9094 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base 9095 register for non widening loads or narrowing stores. 9096 90972022-03-08 Eric Gallager <egallager@gcc.gnu.org> 9098 9099 PR translation/104552 9100 * params.opt: Fix typo. 9101 91022022-03-08 Richard Biener <rguenther@suse.de> 9103 9104 PR tree-optimization/84201 9105 * params.opt (-param=vect-induction-float): Add. 9106 * doc/invoke.texi (vect-induction-float): Document. 9107 * tree-vect-loop.cc (vectorizable_induction): Honor 9108 param_vect_induction_float. 9109 91102022-03-08 Martin Jambor <mjambor@suse.cz> 9111 9112 PR translation/104552 9113 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word 9114 "that" in the description. 9115 91162022-03-08 Richard Biener <rguenther@suse.de> 9117 9118 PR tree-optimization/104825 9119 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly 9120 guard modref get_ao_ref on a pointer typed argument. 9121 91222022-03-08 liuhongt <hongtao.liu@intel.com> 9123 9124 * config/i386/sse.md (*vec_dupv4si): Disable memory operand 9125 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed. 9126 91272022-03-07 Jonathan Wakely <jwakely@redhat.com> 9128 9129 * doc/invoke.texi (C++ Modules): Remove anachronism. 9130 91312022-03-07 Martin Liska <mliska@suse.cz> 9132 9133 PR middle-end/104381 9134 * opts.cc (finish_options): If debug info is disabled 9135 (debug_info_level) and -fvar-tracking is unset, disable it. 9136 91372022-03-07 Jakub Jelinek <jakub@redhat.com> 9138 9139 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment. 9140 * config/riscv/riscv.cc: Likewise. 9141 * config/darwin.h: Likewise. 9142 * config/i386/i386.cc: Likewise. 9143 * config/aarch64/thunderx3t110.md: Likewise. 9144 * config/aarch64/fractional-cost.h: Likewise. 9145 * config/vax/vax.cc: Likewise. 9146 * config/rs6000/pcrel-opt.md: Likewise. 9147 * config/rs6000/predicates.md: Likewise. 9148 * ctfc.h: Likewise. 9149 * tree-ssa-uninit.cc: Likewise. 9150 * value-relation.h: Likewise. 9151 * gimple-range-gori.cc: Likewise. 9152 * ipa-polymorphic-call.cc: Likewise. 9153 * pointer-query.cc: Likewise. 9154 * ipa-sra.cc: Likewise. 9155 * internal-fn.cc: Likewise. 9156 * varasm.cc: Likewise. 9157 * gimple-ssa-warn-access.cc: Likewise. 9158 91592022-03-07 Martin Liska <mliska@suse.cz> 9160 9161 PR target/104794 9162 * config/arm/arm.cc (arm_option_override_internal): Add missing 9163 space. 9164 91652022-03-07 Richard Biener <rguenther@suse.de> 9166 9167 PR tree-optimization/104782 9168 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt): 9169 Re-instantiate r10-5979 fix, add comment. 9170 91712022-03-07 Martin Liska <mliska@suse.cz> 9172 9173 PR target/104797 9174 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove 9175 parenthesis from built-in name. 9176 91772022-03-07 Martin Liska <mliska@suse.cz> 9178 9179 PR target/104794 9180 * config/arm/arm.cc (arm_option_override_internal): Fix quoting 9181 of options in error messages. 9182 (arm_option_reconfigure_globals): Likewise. 9183 91842022-03-07 Martin Liska <mliska@suse.cz> 9185 9186 PR target/104794 9187 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error 9188 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can 9189 have only range [0,32]. 9190 91912022-03-07 Jakub Jelinek <jakub@redhat.com> 9192 9193 PR target/104775 9194 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use 9195 S constraint instead of T in the last alternative. 9196 91972022-03-07 Martin Liska <mliska@suse.cz> 9198 9199 * plugin.cc (default_plugin_dir_name): Remove <dir> from error 9200 message. 9201 92022022-03-07 Martin Liska <mliska@suse.cz> 9203 9204 PR translation/90148 9205 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put 9206 quote to a proper place. 9207 * plugin.cc (default_plugin_dir_name): Likewise. 9208 92092022-03-07 Martin Liska <mliska@suse.cz> 9210 9211 PR target/99297 9212 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation 9213 string. 9214 92152022-03-07 Jakub Jelinek <jakub@redhat.com> 9216 9217 PR target/104779 9218 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New 9219 define_expand pattern. Rename define_insn to ... 9220 (*avx512dq_mul<mode>3<mask_name>): ... this. 9221 (<code><mode>3_mask): New any_logic define_expand pattern. 9222 (<mask_codefor><code><mode>3<mask_name>): Rename to ... 9223 (*<code><mode>3<mask_name>): ... this. 9224 92252022-03-05 Jakub Jelinek <jakub@redhat.com> 9226 9227 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove 9228 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges. 9229 92302022-03-05 Roger Sayle <roger@nextmovesoftware.com> 9231 Uroš Bizjak <ubizjak@gmail.com> 9232 9233 PR testsuite/104732 9234 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s. 9235 Include DI mode unconditionally. 9236 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition, 9237 i.e. always split on !TARGET_64BIT. 9238 (*<any_or>di3_doubleword): Likewise. 9239 (*one_cmpldi2_doubleword): Likewise. 9240 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s. 9241 (<any_or><mode>3 expander): Likewise. 9242 (one_cmpl<mode>2 expander): Likewise. 9243 92442022-03-05 Michael Meissner <meissner@linux.ibm.com> 9245 9246 PR target/104698 9247 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete. 9248 (mtvsrdd_diti_w1): Delete. 9249 (extendditi2): Convert from define_expand to 9250 define_insn_and_split. Replace with code to deal with both GPR 9251 registers and with altivec registers. 9252 92532022-03-04 Segher Boessenkool <segher@kernel.crashing.org> 9254 9255 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a 9256 bit. Handle most older CPUs. 9257 92582022-03-04 Iain Sandoe <iain@sandoe.co.uk> 9259 9260 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to 9261 avoid a mismatch with DECL_MD_FUNCTION_CODE(). 9262 92632022-03-04 Iain Sandoe <iain@sandoe.co.uk> 9264 9265 PR target/104117 9266 * config/rs6000/darwin.md (@machopic_high_<mode>): New. 9267 (@machopic_low_<mode>): New. 9268 * config/rs6000/predicates.md (macho_pic_address): New. 9269 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not 9270 apply the TLS processing to Darwin. 9271 * lra-constraints.cc (process_address_1): Revert the changes 9272 in r12-7209. 9273 92742022-03-04 Peter Bergner <bergner@linux.ibm.com> 9275 9276 PR target/87496 9277 PR target/104208 9278 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the 9279 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on 9280 -mlong-double-128. 9281 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking 9282 from here... 9283 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option): 9284 ... to here. 9285 92862022-03-04 Jakub Jelinek <jakub@redhat.com> 9287 9288 PR middle-end/104529 9289 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY 9290 on automatic objects which will be runtime initialized. 9291 92922022-03-04 Thomas Schwinge <thomas@codesourcery.com> 9293 9294 PR middle-end/100280 9295 PR middle-end/104132 9296 PR middle-end/104133 9297 * omp-low.cc (task_shared_vars): Rename to 9298 'make_addressable_vars'. Adjust all users. 9299 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for 9300 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too. 9301 93022022-03-04 Thomas Schwinge <thomas@codesourcery.com> 9303 9304 PR middle-end/100280 9305 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New. 9306 * tree-core.h: Document it. 9307 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle 9308 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'. 9309 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region): 9310 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of 9311 'TREE_ADDRESSABLE'. 9312 93132022-03-04 Thomas Schwinge <thomas@codesourcery.com> 9314 9315 PR middle-end/100280 9316 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region): 9317 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable 9318 '[...]' declared in block made addressable". 9319 93202022-03-04 Thomas Schwinge <thomas@codesourcery.com> 9321 9322 PR middle-end/100400 9323 PR middle-end/103836 9324 PR middle-end/104061 9325 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body): 9326 Catch 'GIMPLE_DEBUG'. 9327 93282022-03-04 Jakub Jelinek <jakub@redhat.com> 9329 9330 PR c/104627 9331 * tree.cc (warn_deprecated_use): For types prefer to use node 9332 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is 9333 NULL. 9334 93352022-03-04 H.J. Lu <hjl.tools@gmail.com> 9336 9337 PR target/104704 9338 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return 9339 a pseudo register. 9340 93412022-03-03 Martin Sebor <msebor@redhat.com> 9342 9343 PR middle-end/104761 9344 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call 9345 mark_dfs_back_edges. 9346 93472022-03-03 Martin Liska <mliska@suse.cz> 9348 9349 * configure.ac: Use linker plug-in by default. 9350 * configure: Regenerate. 9351 93522022-03-03 Martin Liska <mliska@suse.cz> 9353 9354 * configure.ac: Now ld.mold support LTO plugin API, use it. 9355 * configure: Regenerate. 9356 93572022-03-03 Tom de Vries <tdevries@suse.de> 9358 9359 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1. 9360 93612022-03-03 Tom de Vries <tdevries@suse.de> 9362 9363 PR target/104758 9364 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30. 9365 93662022-03-03 Tom de Vries <tdevries@suse.de> 9367 9368 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}. 9369 93702022-03-03 Jakub Jelinek <jakub@redhat.com> 9371 9372 PR middle-end/104757 9373 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than 9374 gimplify_omp_for. 9375 (gimplify_expr) <case OMP_SIMD>: Temporarily disable 9376 gimplify_ctxp->into_ssa around call to gimplify_omp_for. 9377 93782022-03-03 Jakub Jelinek <jakub@redhat.com> 9379 9380 PR middle-end/104558 9381 * calls.cc (store_one_arg): When not calling emit_push_insn 9382 because size_rtx is const0_rtx, call at least anti_adjust_stack 9383 on arg->locate.alignment_pad if !argblock and the alignment might 9384 be non-zero. 9385 93862022-03-02 Alexandre Oliva <oliva@adacore.com> 9387 9388 * lra-constraints.cc (undo_optional_reloads): Recognize and 9389 drop insns of multi-word move sequences, tolerate removal 9390 iteration on an already-removed clobber, and refuse to 9391 substitute original pseudos into clobbers. 9392 93932022-03-02 Qing Zhao <qing.zhao@oracle.com> 9394 9395 PR middle-end/102276 9396 * common.opt (-Wtrivial-auto-var-init): New option. 9397 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option. 9398 (-ftrivial-auto-var-init): Update option; 9399 * gimplify.cc (emit_warn_switch_unreachable): New function. 9400 (warn_switch_unreachable_r): Rename to ... 9401 (warn_switch_unreachable_and_auto_init_r): This. 9402 (maybe_warn_switch_unreachable): Rename to ... 9403 (maybe_warn_switch_unreachable_and_auto_init): This. 9404 (gimplify_switch_expr): Update calls to renamed function. 9405 94062022-03-02 Richard Biener <rguenther@suse.de> 9407 9408 PR rtl-optimization/104686 9409 * ira-color.cc (object_conflicts_with_allocno_p): New function 9410 using a bitvector test instead of iterating when possible. 9411 (allocnos_conflict_p): Choose the best allocno to iterate over 9412 object conflicts. 9413 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test 9414 last. 9415 94162022-03-02 Jakub Jelinek <jakub@redhat.com> 9417 9418 * cfg.cc (dump_edge_info): Dump goto_locus if present. 9419 94202022-03-02 Jakub Jelinek <jakub@redhat.com> 9421 9422 PR rtl-optimization/104589 9423 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct 9424 INSN_LOCATION comparison with goto_locus. 9425 94262022-03-02 Jakub Jelinek <jakub@redhat.com> 9427 9428 * tree-ssa-strlen.cc (strlen_pass::handle_assign, 9429 strlen_pass::before_dom_children): Comment spelling fixes. 9430 94312022-03-02 Jakub Jelinek <jakub@redhat.com> 9432 9433 * ipa-modref-tree.cc (modref_access_node::contains, 9434 modref_access_node::closer_pair_p, modref_access_node::insert, 9435 modref_access_node::insert_kill): Comment spelling fixes. 9436 * ipa-modref.cc: Likewise. 9437 (modref_summary::finalize, ignore_nondeterminism_p, 9438 class modref_access_analysis, 9439 modref_access_analysis::set_side_effects, 9440 modref_access_analysis::set_nondeterministic, 9441 modref_access_analysis::record_global_memory_load, 9442 modref_access_analysis::propagate, modref_access_analysis::analyze, 9443 struct escape_point, class modref_lattice, modref_lattice::merge, 9444 modref_lattice::merge_deref, class modref_eaf_analysis, 9445 modref_eaf_analysis::merge_call_lhs_flags, 9446 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate, 9447 modref_eaf_analysis::record_escape_points, remap_kills, 9448 update_escape_summary, remove_useless_summaries, 9449 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute): 9450 Likewise. 9451 * ipa-modref.h (struct modref_summary, interposable_eaf_flags): 9452 Likewise. 9453 * ipa-modref-tree.h (enum modref_special_parms, 9454 struct modref_access_node): Likewise. 9455 94562022-03-01 Jakub Jelinek <jakub@redhat.com> 9457 9458 PR tree-optimization/104715 9459 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't 9460 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs 9461 of a call if gimple_call_return_arg is equal to ptr, not just when it 9462 is non-NULL. 9463 94642022-03-01 Jakub Jelinek <jakub@redhat.com> 9465 9466 * gimple-ssa-warn-access.cc (warn_string_no_nul, 9467 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p, 9468 matching_alloc_calls_p, maybe_warn_alloc_args_overflow, 9469 pass_waccess::check_alloca, pass_waccess::check_strcat, 9470 memmodel_to_uhwi, fntype_argno_type, 9471 pass_waccess::maybe_check_access_sizes, 9472 pass_waccess::check_call_access, 9473 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt): 9474 Comment spelling fixes. 9475 94762022-03-01 Richard Biener <rguenther@suse.de> 9477 9478 PR tree-optimization/104716 9479 * tree-loop-distribution.cc (find_seed_stmts_for_distribution): 9480 Check if we can copy the loop. 9481 94822022-03-01 H.J. Lu <hjl.tools@gmail.com> 9483 9484 PR middle-end/104721 9485 * cfgexpand.cc (expand_gimple_basic_block): Clear 9486 currently_expanding_gimple_stmt when returning inside the loop. 9487 94882022-03-01 Martin Liska <mliska@suse.cz> 9489 9490 PR ipa/104533 9491 * multiple_target.cc (get_attr_len): Move to tree.c. 9492 (expand_target_clones): Remove single value checking. 9493 * tree.cc (get_target_clone_attr_len): New fn. 9494 * tree.h (get_target_clone_attr_len): Likewise. 9495 94962022-03-01 Martin Liska <mliska@suse.cz> 9497 9498 PR gcov-profile/104677 9499 * doc/invoke.texi: Document more .gcda file name generation. 9500 95012022-03-01 Tom de Vries <tdevries@suse.de> 9502 9503 PR target/102429 9504 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode. 9505 * config/nvptx/nvptx.md 9506 (define_predicate "nvptx_register_or_complex_di_df_register_operand"): 9507 New predicate. 9508 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"): 9509 Use nvptx_register_or_complex_di_df_register_operand. 9510 95112022-03-01 Tom de Vries <tdevries@suse.de> 9512 9513 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options. 9514 * config/nvptx/gen-copyright.sh: New file. 9515 * config/nvptx/gen-h.sh: New file. 9516 * config/nvptx/gen-opt.sh: New file. 9517 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70) 9518 (TARGET_SM75, TARGET_SM80): Move ... 9519 * config/nvptx/nvptx-gen.h: ... here. New file, generate. 9520 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ... 9521 * config/nvptx/nvptx-gen.opt: ... here. New file, generate. 9522 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h) 9523 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target. 9524 95252022-03-01 Tom de Vries <tdevries@suse.de> 9526 9527 * config/nvptx/gen-omp-device-properties.sh: New file. 9528 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh. 9529 95302022-03-01 Tom de Vries <tdevries@suse.de> 9531 9532 * config/nvptx/nvptx-sm.def: New file. 9533 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def. 9534 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same. 9535 * config/nvptx/nvptx.cc (sm_version_to_string) 9536 (nvptx_omp_device_kind_arch_isa): Same. 9537 95382022-03-01 Robin Dapp <rdapp@linux.ibm.com> 9539 9540 PR rtl-optimization/104154 9541 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode 9542 comparison ifcvt passed us. 9543 95442022-03-01 Hongyu Wang <hongyu.wang@intel.com> 9545 9546 PR target/104664 9547 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): 9548 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg. 9549 95502022-02-28 Roger Sayle <roger@nextmovesoftware.com> 9551 9552 PR tree-optimization/91384 9553 * config/i386/i386.md (peephole2): Eliminate final testl insn 9554 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by 9555 transforming using *negsi_2 for the negation. 9556 95572022-02-28 Roger Sayle <roger@nextmovesoftware.com> 9558 Eric Botcazou <ebotcazou@adacore.com> 9559 9560 PR middle-end/80270 9561 * expmed.cc (extract_integral_bit_field): If OP0 is a hard 9562 register, copy it to a pseudo before calling simplify_gen_subreg. 9563 95642022-02-28 Vladimir N. Makarov <vmakarov@redhat.com> 9565 9566 PR rtl-optimization/104637 9567 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many 9568 as possible on one subpass. 9569 95702022-02-28 Qing Zhao <qing.zhao@oracle.com> 9571 9572 PR middle-end/104550 9573 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new 9574 created uses. 9575 95762022-02-28 Martin Liska <mliska@suse.cz> 9577 9578 PR ipa/104648 9579 * main.cc (main): Use flag_checking instead of CHECKING_P 9580 and run toplev::finalize only if there is not error seen. 9581 95822022-02-28 Richard Biener <rguenther@suse.de> 9583 9584 * tree-ssa-pre.cc (compute_avail): Revert part of last change. 9585 95862022-02-28 Richard Biener <rguenther@suse.de> 9587 9588 PR tree-optimization/104700 9589 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline 9590 into ... 9591 (find_or_generate_expression): ... here, simplifying code. 9592 95932022-02-28 Tom de Vries <tdevries@suse.de> 9594 9595 * config/nvptx/nvptx-opts.h (enum ptx_version): Add 9596 PTX_VERSION_default. 9597 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle 9598 PTX_VERSION_default. 9599 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default. 9600 96012022-02-28 Richard Biener <rguenther@suse.de> 9602 9603 PR rtl-optimization/104686 9604 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop 9605 skipping bits that are zero. 9606 (ira_object_conflict_iter_cond): Likewise. 9607 96082022-02-28 Hongyu Wang <hongyu.wang@intel.com> 9609 9610 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum. 9611 (_mm512_ternarylogic_epi64): Truncate imm to unsigned 9612 char to avoid error when using ~enum as parameter. 9613 (_mm512_mask_ternarylogic_epi64): Likewise. 9614 (_mm512_maskz_ternarylogic_epi64): Likewise. 9615 (_mm512_ternarylogic_epi32): Likewise. 9616 (_mm512_mask_ternarylogic_epi32): Likewise. 9617 (_mm512_maskz_ternarylogic_epi32): Likewise. 9618 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64): 9619 Adjust imm param type to unsigned char. 9620 (_mm256_mask_ternarylogic_epi64): Likewise. 9621 (_mm256_maskz_ternarylogic_epi64): Likewise. 9622 (_mm256_ternarylogic_epi32): Likewise. 9623 (_mm256_mask_ternarylogic_epi32): Likewise. 9624 (_mm256_maskz_ternarylogic_epi32): Likewise. 9625 (_mm_ternarylogic_epi64): Likewise. 9626 (_mm_mask_ternarylogic_epi64): Likewise. 9627 (_mm_maskz_ternarylogic_epi64): Likewise. 9628 (_mm_ternarylogic_epi32): Likewise. 9629 (_mm_mask_ternarylogic_epi32): Likewise. 9630 (_mm_maskz_ternarylogic_epi32): Likewise. 9631 96322022-02-25 Jakub Jelinek <jakub@redhat.com> 9633 Marc Glisse <marc.glisse@inria.fr> 9634 9635 PR tree-optimization/104675 9636 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1): 9637 Restrict simplifications to INTEGRAL_TYPE_P. 9638 96392022-02-25 Jakub Jelinek <jakub@redhat.com> 9640 9641 PR target/104681 9642 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move. 9643 96442022-02-25 Claudiu Zissulescu <claziss@synopsys.com> 9645 9646 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the 9647 comparison is not valid. 9648 * config/arc/arc.md (movsicc): Fail if comparison is not valid. 9649 (movdicc): Likewise. 9650 (movsfcc): Likewise. 9651 (movdfcc): Likewise. 9652 96532022-02-25 Richard Biener <rguenther@suse.de> 9654 9655 PR tree-optimization/103037 9656 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare. 9657 (vn_nary_length_from_stmt): Likewise. 9658 (init_vn_nary_op_from_stmt): Likewise. 9659 (vn_nary_op_compute_hash): Likewise. 9660 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export. 9661 (vn_nary_length_from_stmt): Likewise. 9662 (init_vn_nary_op_from_stmt): Likewise. 9663 (vn_nary_op_compute_hash): Likewise. 9664 * tree-ssa-pre.cc (pre_expr_obstack): New obstack. 9665 (get_or_alloc_expr_for_nary): Pass in the value-id to use, 9666 (re-)compute the hash value and if the expression is not 9667 found allocate it from pre_expr_obstack. 9668 (phi_translate_1): Do not insert the NARY found in the 9669 VN tables but build a PRE expression from the valueized 9670 NARY with the value-id we eventually found. 9671 (find_or_generate_expression): Assert we have an entry 9672 for constant values. 9673 (compute_avail): Insert not valueized expressions into 9674 EXP_GEN using the value-id from the VN tables. 9675 (init_pre): Allocate pre_expr_obstack. 9676 (fini_pre): Free pre_expr_obstack. 9677 96782022-02-25 Jakub Jelinek <jakub@redhat.com> 9679 9680 PR target/104674 9681 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387. 9682 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use 9683 SLOT_FLOATxFDI_387 rather than SLOT_TEMP. 9684 96852022-02-25 Jakub Jelinek <jakub@redhat.com> 9686 9687 * warning-control.cc (get_nowarn_spec): Comment spelling fix. 9688 96892022-02-25 Jakub Jelinek <jakub@redhat.com> 9690 9691 PR middle-end/104679 9692 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust. 9693 96942022-02-25 Jakub Jelinek <jakub@redhat.com> 9695 9696 PR tree-optimization/104675 9697 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for 9698 COMPLEX_TYPE. 9699 97002022-02-25 Alexandre Oliva <oliva@adacore.com> 9701 9702 PR target/104121 9703 PR target/103302 9704 * expr.cc (emit_move_multi_word): Restore clobbers during LRA. 9705 97062022-02-25 Alexandre Oliva <oliva@adacore.com> 9707 9708 PR middle-end/104540 9709 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL 9710 dw_cfi_cfa_loc. 9711 97122022-02-25 Alexandre Oliva <oliva@adacore.com> 9713 9714 PR tree-optimization/103856 9715 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the 9716 eh edge to be requested through an extra parameter. 9717 (pass_harden_compares::execute): Copy PHI args in the EH dest 9718 block for the new EH edge added for the inverted compare. 9719 97202022-02-24 Palmer Dabbelt <palmer@rivosinc.com> 9721 9722 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree 9723 of position independence that -mcmodel=medany affords. 9724 97252022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com> 9726 9727 PR target/104656 9728 * configure.ac: --disable-gcov if targetting bpf-*. 9729 * configure: Regenerate. 9730 97312022-02-24 Richard Biener <rguenther@suse.de> 9732 9733 PR tree-optimization/104676 9734 * tree-loop-distribution.cc (loop_distribution::execute): 9735 Do a full scev_reset. 9736 97372022-02-24 Jakub Jelinek <jakub@redhat.com> 9738 9739 PR tree-optimization/104601 9740 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with 9741 non-SSA_NAME lhs value number vdef to itself instead of e.g. the 9742 vuse value number. 9743 97442022-02-24 Tom de Vries <tdevries@suse.de> 9745 Tobias Burnus <tobias@codesourcery.com> 9746 9747 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle 9748 sm_70, sm_75 and sm_80. 9749 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80. 9750 97512022-02-24 Tom de Vries <tdevries@suse.de> 9752 9753 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn 9754 "rotrsi3"): New define_insn. 9755 97562022-02-24 Tom de Vries <tdevries@suse.de> 9757 9758 * config/nvptx/nvptx.cc (gen_comment): Use 9759 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus. 9760 97612022-02-24 liuhongt <hongtao.liu@intel.com> 9762 9763 * config/i386/sse.md (<code>v1ti3): Add suffix and replace 9764 isa attr of alternative 2 from avx to avx512vl. 9765 97662022-02-23 Richard Biener <rguenther@suse.de> 9767 Jakub Jelinek <jakub@redhat.com> 9768 9769 PR tree-optimization/104644 9770 * doc/match-and-simplify.texi: Amend ! documentation. 9771 * genmatch.cc (expr::gen_transform): Code-generate ! support 9772 for GENERIC. 9773 (parser::parse_expr): Allow ! for GENERIC. 9774 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on 9775 bswap. 9776 97772022-02-23 Richard Biener <rguenther@suse.de> 9778 9779 PR tree-optimization/101636 9780 * tree-vect-slp.cc (vect_print_slp_tree): Dump the 9781 vector type of the node. 9782 (vect_slp_analyze_operations): Make sure the CTOR 9783 is vectorized with an expected type. 9784 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix. 9785 97862022-02-23 Jakub Jelinek <jakub@redhat.com> 9787 9788 PR c/104633 9789 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit): 9790 Don't warn about calls to corresponding builtin from extern inline 9791 gnu_inline wrappers. 9792 97932022-02-23 Roger Sayle <roger@nextmovesoftware.com> 9794 9795 PR target/104489 9796 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute. 9797 97982022-02-23 Christophe Lyon <christophe.lyon@arm.com> 9799 9800 PR target/100757 9801 PR target/101325 9802 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix 9803 typo. 9804 98052022-02-23 Cui,Lili <lili.cui@intel.com> 9806 9807 * doc/invoke.texi: Update documents for Intel architectures. 9808 98092022-02-22 Roger Sayle <roger@nextmovesoftware.com> 9810 9811 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore 9812 bootstrap. 9813 98142022-02-22 Thomas Schwinge <thomas@codesourcery.com> 9815 9816 * omp-low.cc (omp_build_component_ref): Move function... 9817 * omp-general.cc (omp_build_component_ref): ... here. Remove 9818 'static'. 9819 * omp-general.h (omp_build_component_ref): Declare function. 9820 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove 9821 function. 9822 (build_receiver_ref, build_sender_ref): Call 9823 'omp_build_component_ref' instead. 9824 98252022-02-22 Thomas Schwinge <thomas@codesourcery.com> 9826 9827 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further 9828 simplify. Adjust all users. 9829 98302022-02-22 Segher Boessenkool <segher@kernel.crashing.org> 9831 9832 PR target/88134 9833 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl, 9834 atomic_update_decl): Add GTY markup. 9835 98362022-02-22 Christophe Lyon <christophe.lyon@arm.com> 9837 9838 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS. 9839 98402022-02-22 Christophe Lyon <christophe.lyon@arm.com> 9841 9842 PR target/100757 9843 PR target/101325 9844 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use 9845 predicate. 9846 (CX_BINARY_UNONE_QUALIFIERS): Likewise. 9847 (CX_TERNARY_UNONE_QUALIFIERS): Likewise. 9848 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete. 9849 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete. 9850 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete. 9851 * config/arm/arm_mve_builtins.def: Use predicated qualifiers. 9852 * config/arm/mve.md: Use VxBI instead of HI. 9853 98542022-02-22 Christophe Lyon <christophe.lyon@arm.com> 9855 9856 PR target/100757 9857 PR target/101325 9858 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate 9859 qualifier. 9860 (STRSBU_P_QUALIFIERS): Likewise. 9861 (LDRGBS_Z_QUALIFIERS): Likewise. 9862 (LDRGBU_Z_QUALIFIERS): Likewise. 9863 (LDRGBWBXU_Z_QUALIFIERS): Likewise. 9864 (LDRGBWBS_Z_QUALIFIERS): Likewise. 9865 (LDRGBWBU_Z_QUALIFIERS): Likewise. 9866 (STRSBWBS_P_QUALIFIERS): Likewise. 9867 (STRSBWBU_P_QUALIFIERS): Likewise. 9868 * config/arm/mve.md: Use VxBI instead of HI. 9869 98702022-02-22 Christophe Lyon <christophe.lyon@arm.com> 9871 9872 PR target/100757 9873 PR target/101325 9874 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ... 9875 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this. 9876 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... 9877 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this. 9878 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ... 9879 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this. 9880 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ... 9881 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this. 9882 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ... 9883 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this. 9884 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New. 9885 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ... 9886 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this. 9887 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New. 9888 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ... 9889 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this. 9890 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... 9891 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this. 9892 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... 9893 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this. 9894 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ... 9895 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this. 9896 (STRS_P_QUALIFIERS): Use predicate qualifier. 9897 (STRU_P_QUALIFIERS): Likewise. 9898 (STRSU_P_QUALIFIERS): Likewise. 9899 (STRSS_P_QUALIFIERS): Likewise. 9900 (LDRGS_Z_QUALIFIERS): Likewise. 9901 (LDRGU_Z_QUALIFIERS): Likewise. 9902 (LDRS_Z_QUALIFIERS): Likewise. 9903 (LDRU_Z_QUALIFIERS): Likewise. 9904 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... 9905 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this. 9906 (BINOP_NONE_NONE_PRED_QUALIFIERS): New. 9907 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New. 9908 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers. 9909 * config/arm/mve.md: Use MVE_VPRED instead of HI. 9910 99112022-02-22 Christophe Lyon <christophe.lyon@arm.com> 9912 9913 PR target/100757 9914 PR target/101325 9915 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS): 9916 Delete. 9917 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ... 9918 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this. 9919 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New. 9920 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new 9921 predicated qualifiers. 9922 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>) 9923 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI. 9924 99252022-02-22 Christophe Lyon <christophe.lyon@arm.com> 9926 9927 PR target/100757 9928 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype. 9929 (arm_expand_vector_compare): Update prototype. 9930 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New. 9931 (arm_vector_mode_supported_p): Add support for VxBI modes. 9932 (arm_expand_vector_compare): Remove useless generation of vpsel. 9933 (arm_expand_vcond): Fix select operands. 9934 (arm_get_mask_mode): New. 9935 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New. 9936 (vec_cmpu<mode><MVE_vpred>): New. 9937 (vcond_mask_<mode><MVE_vpred>): New. 9938 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>) 9939 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ... 9940 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>) 9941 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here 9942 and disable for MVE. 9943 * doc/sourcebuild.texi (arm_mve): Document new effective-target. 9944 99452022-02-22 Christophe Lyon <christophe.lyon@arm.com> 9946 9947 PR target/100757 9948 PR target/101325 9949 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS) 9950 (BINOP_PRED_NONE_NONE_QUALIFIERS) 9951 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS) 9952 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New. 9953 * config/arm/arm-protos.h (mve_bool_vec_to_const): New. 9954 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI 9955 modes. 9956 (arm_mode_to_pred_mode): New. 9957 (arm_expand_vector_compare): Use the right VxBI mode instead of 9958 HI. 9959 (arm_expand_vcond): Likewise. 9960 (simd_valid_immediate): Handle MODE_VECTOR_BOOL. 9961 (mve_bool_vec_to_const): New. 9962 (neon_make_constant): Call mve_bool_vec_to_const when needed. 9963 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_) 9964 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f) 9965 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u) 9966 (vpselq_s, vpselq_f): Use new predicated qualifiers. 9967 * config/arm/constraints.md (DB): New. 9968 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators. 9969 (MVE_VPRED, MVE_vpred): New attribute iterators. 9970 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>) 9971 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>) 9972 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI. 9973 (@mve_vpselq_<supf>v2di): Define separately. 9974 (mov<mode>): New expander for VxBI modes. 9975 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use 9976 MVE_7_HI iterator and add support for DB constraint. 9977 99782022-02-22 Christophe Lyon <christophe.lyon@arm.com> 9979 Richard Sandiford <richard.sandiford@arm.com> 9980 9981 PR target/100757 9982 PR target/101325 9983 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI, 9984 VNx2BI): Update definition. 9985 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new 9986 simd types. 9987 (arm_init_builtin): Map predicate vectors arguments to HImode. 9988 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI 9989 rtx. Move return value to HImode rtx. 9990 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate. 9991 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes. 9992 * config/arm/arm-simd-builtin-types.def (Pred1x16_t, 9993 Pred2x8_t,Pred4x4_t): New. 9994 * emit-rtl.cc (init_emit_once): Handle all boolean modes. 9995 * genmodes.cc (mode_data): Add boolean field. 9996 (blank_mode): Initialize it. 9997 (make_complex_modes): Fix handling of boolean modes. 9998 (make_vector_modes): Likewise. 9999 (VECTOR_BOOL_MODE): Use new COMPONENT parameter. 10000 (make_vector_bool_mode): Likewise. 10001 (BOOL_MODE): New. 10002 (make_bool_mode): New. 10003 (emit_insn_modes_h): Fix generation of boolean modes. 10004 (emit_class_narrowest_mode): Likewise. 10005 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT 10006 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to 10007 define BImode. 10008 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value): 10009 Fix handling of constm1_rtx for VECTOR_BOOL. 10010 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL. 10011 (native_decode_vector_rtx): Likewise. 10012 (test_vector_ops_duplicate): Skip vec_merge test 10013 with vectors of booleans. 10014 * varasm.cc (output_constant_pool_2): Likewise. 10015 100162022-02-22 Christophe Lyon <christophe.lyon@arm.com> 10017 10018 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode 10019 for operand 1. 10020 100212022-02-22 Christophe Lyon <christophe.lyon@arm.com> 10022 10023 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG. 10024 100252022-02-22 Christophe Lyon <christophe.lyon@arm.com> 10026 10027 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS. 10028 (REG_CLASS_NAMES): Likewise. 10029 (REG_CLASS_CONTENTS): Likewise. 10030 (CLASS_MAX_NREGS): Handle VPR. 10031 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR. 10032 100332022-02-22 Tobias Burnus <tobias@codesourcery.com> 10034 Tom de Vries <tdevries@suse.de> 10035 10036 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70. 10037 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm): 10038 Likewise. 10039 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70. 10040 100412022-02-22 Tobias Burnus <tobias@codesourcery.com> 10042 Tom de Vries <tdevries@suse.de> 10043 10044 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0. 10045 * doc/invoke.texi (-mptx): Update for new values and defaults. 10046 100472022-02-22 Tom de Vries <tdevries@suse.de> 10048 10049 * config/nvptx/nvptx.cc (gen_comment): New function. 10050 (workaround_uninit_method_1, workaround_uninit_method_2) 10051 (workaround_uninit_method_3): : Use gen_comment. 10052 * config/nvptx/nvptx.opt (mptx-comment): New option. 10053 100542022-02-22 Richard Biener <rguenther@suse.de> 10055 10056 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used 10057 for a splat. 10058 100592022-02-22 Roger Sayle <roger@nextmovesoftware.com> 10060 Richard Biener <rguenther@suse.de> 10061 10062 * fold-const.cc (ctor_single_nonzero_element): New function to 10063 return the single non-zero element of a (vector) constructor. 10064 * fold-const.h (ctor_single_nonzero_element): Prototype here. 10065 * match.pd (reduc (constructor@0)): Simplify reductions of a 10066 constructor containing a single non-zero element. 10067 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify 10068 reductions of vector operations of the same operator with 10069 constant vector operands. 10070 100712022-02-22 Jakub Jelinek <jakub@redhat.com> 10072 10073 PR tree-optimization/104604 10074 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr): 10075 Only check if gimple_assign_rhs1 is COMPLEX_CST if 10076 gimple_assign_rhs_code is COMPLEX_CST. 10077 100782022-02-22 Jakub Jelinek <jakub@redhat.com> 10079 10080 PR target/104612 10081 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg 10082 on input operands before calling lowpart_subreg on it. For output 10083 operand, use a vmode pseudo as destination and then move its lowpart 10084 subreg into operands[0] if lowpart_subreg fails on dest. 10085 (ix86_expand_xorsign): Likewise. 10086 100872022-02-22 Richard Biener <rguenther@suse.de> 10088 10089 PR tree-optimization/104582 10090 PR target/99881 10091 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): 10092 Cost GPR to vector register moves for integer vector construction. 10093 100942022-02-22 Richard Biener <rguenther@suse.de> 10095 10096 PR tree-optimization/104582 10097 * tree-vectorizer.h (stmt_info_for_cost::node): New field. 10098 (vector_costs::add_stmt_cost): Add SLP node parameter. 10099 (dump_stmt_cost): Likewise. 10100 (add_stmt_cost): Likewise, new overload and adjust. 10101 (add_stmt_costs): Adjust. 10102 (record_stmt_cost): New overload. 10103 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node. 10104 (vector_costs::add_stmt_cost): Adjust. 10105 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): 10106 Adjust. 10107 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record 10108 the SLP node for costing. 10109 (vectorizable_slp_permutation): Likewise. 10110 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add 10111 new overloads. 10112 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): 10113 Adjust. 10114 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost): 10115 Adjust. 10116 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost): 10117 Adjust. 10118 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise. 10119 101202022-02-22 Richard Biener <rguenther@suse.de> 10121 10122 PR tree-optimization/104582 10123 * tree-vectorizer.h (add_stmt_cost): New overload. 10124 (record_stmt_cost): Likewise. 10125 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost): 10126 Use add_stmt_costs. 10127 (vect_get_known_peeling_cost): Use new overloads. 10128 (vect_estimate_min_profitable_iters): Likewise. Consistently 10129 use scalar_stmt for costing versioning checks. 10130 * tree-vect-stmts.cc (record_stmt_cost): New overload. 10131 101322022-02-22 Hongyu Wang <hongyu.wang@intel.com> 10133 10134 PR target/103069 10135 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop): 10136 Split atomic fetch and loop part. 10137 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop. 10138 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New 10139 prototype. 10140 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new 10141 expander under TARGET_RELAX_CMPXCHG_LOOP. 10142 (atomic_compare_and_swap<mode>): Likewise for doubleword modes. 10143 101442022-02-21 Dan Li <ashimida@linux.alibaba.com> 10145 10146 * config/aarch64/aarch64.cc (SLOT_REQUIRED): 10147 Change wb_candidate[12] to wb_push_candidate[12]. 10148 (aarch64_layout_frame): Likewise, and 10149 change callee_adjust when scs is enabled. 10150 (aarch64_save_callee_saves): 10151 Change wb_candidate[12] to wb_push_candidate[12]. 10152 (aarch64_restore_callee_saves): 10153 Change wb_candidate[12] to wb_pop_candidate[12]. 10154 (aarch64_get_separate_components): 10155 Change wb_candidate[12] to wb_push_candidate[12]. 10156 (aarch64_expand_prologue): Push x30 onto SCS before it's 10157 pushed onto stack. 10158 (aarch64_expand_epilogue): Pop x30 frome SCS, while 10159 preventing it from being popped from the regular stack again. 10160 (aarch64_override_options_internal): Add SCS compile option check. 10161 (TARGET_HAVE_SHADOW_CALL_STACK): New hook. 10162 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled, 10163 wb_pop_candidate[12], and rename wb_candidate[12] to 10164 wb_push_candidate[12]. 10165 * config/aarch64/aarch64.md (scs_push): New template. 10166 (scs_pop): Likewise. 10167 * doc/invoke.texi: Document -fsanitize=shadow-call-stack. 10168 * doc/tm.texi: Regenerate. 10169 * doc/tm.texi.in: Add hook have_shadow_call_stack. 10170 * flag-types.h (enum sanitize_code): 10171 Add SANITIZE_SHADOW_CALL_STACK. 10172 * opts.cc (parse_sanitizer_options): Add shadow-call-stack 10173 and exclude SANITIZE_SHADOW_CALL_STACK. 10174 * target.def: New hook. 10175 * toplev.cc (process_options): Add SCS compile option check. 10176 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion. 10177 101782022-02-21 Tom de Vries <tdevries@suse.de> 10179 10180 PR target/104440 10181 * config/nvptx/nvptx.cc (workaround_uninit_method_1) 10182 (workaround_uninit_method_2, workaround_uninit_method_3) 10183 (workaround_uninit): New function. 10184 (nvptx_reorg): Use workaround_uninit. 10185 * config/nvptx/nvptx.opt (minit-regs): New option. 10186 101872022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com> 10188 10189 PR rtl-optimization/104498 10190 * alias.cc (compare_base_symbol_refs): Correct distance computation 10191 when swapping x and y. 10192 101932022-02-21 Andrew Pinski <apinski@marvell.com> 10194 10195 PR c/104506 10196 * tree-ssa.cc (tree_ssa_useless_type_conversion): 10197 Check the inner type before calling useless_type_conversion_p. 10198 101992022-02-19 Tom de Vries <tdevries@suse.de> 10200 10201 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn. 10202 * config/nvptx/nvptx.md 10203 (define_insn "nvptx_atomic_store<mode>"): Rename to ... 10204 (define_insn "nvptx_atomic_store_sm70<mode>"): This. 10205 (define_insn "nvptx_atomic_store<mode>"): New define_insn. 10206 (define_expand "atomic_store<mode>"): Handle rename. Use 10207 nvptx_atomic_store instead of atomic_exchange. 10208 102092022-02-19 Tom de Vries <tdevries@suse.de> 10210 10211 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all 10212 insns with atomic attribute. Assert that all handled insns are 10213 PARALLELs. 10214 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): 10215 Set atomic attribute to false. 10216 102172022-02-19 Tom de Vries <tdevries@suse.de> 10218 10219 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return 10220 type to bool. 10221 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or 10222 nvptx_warpsync, if necessary. 10223 102242022-02-19 Jakub Jelinek <jakub@redhat.com> 10225 10226 PR sanitizer/102656 10227 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is 10228 known to be within bounds, treat it like automatic variables. 10229 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from 10230 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark 10231 it addressable. 10232 102332022-02-18 Pat Haugen <pthaugen@linux.ibm.com> 10234 10235 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented. 10236 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical, 10237 mpower10-fusion-logical-add, mpower10-fusion-add-logical, 10238 mpower10-fusion-2add, mpower10-fusion-2store): Remove. 10239 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER, 10240 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options. 10241 * config/rs6000/rs6000.cc (rs6000_option_override_internal, 10242 power10_sched_reorder): Likewise. 10243 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf, 10244 gen_addadd): Likewise 10245 * config/rs6000/fusion.md: Regenerate. 10246 102472022-02-18 Jakub Jelinek <jakub@redhat.com> 10248 10249 PR target/104257 10250 PR target/104598 10251 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign 10252 rather than __posix_memalign. 10253 102542022-02-18 Richard Biener <rguenther@suse.de> 10255 10256 PR target/104581 10257 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove. 10258 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead 10259 of calling ix86_avx_u128_mode_source which would eventually 10260 have returned AVX_U128_ANY in some very special case. 10261 102622022-02-18 Richard Biener <rguenther@suse.de> 10263 10264 PR tree-optimization/96881 10265 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment 10266 CLOBBER handling. 10267 (control_parents_preserved_p): New function. 10268 (eliminate_unnecessary_stmts): Check that we preserved control 10269 parents before retaining a CLOBBER. 10270 (perform_tree_ssa_dce): Pass down aggressive flag 10271 to eliminate_unnecessary_stmts. 10272 102732022-02-17 Jason Merrill <jason@redhat.com> 10274 10275 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL 10276 on TYPE_MAIN_VARIANT. 10277 102782022-02-17 Paul A. Clarke <pc@us.ibm.com> 10279 10280 PR target/104257 10281 * config/rs6000/bmi2intrin.h: Uglify local variables. 10282 * config/rs6000/emmintrin.h: Likewise. 10283 * config/rs6000/mm_malloc.h: Likewise. 10284 * config/rs6000/mmintrin.h: Likewise. 10285 * config/rs6000/pmmintrin.h: Likewise. 10286 * config/rs6000/smmintrin.h: Likewise. 10287 * config/rs6000/tmmintrin.h: Likewise. 10288 * config/rs6000/xmmintrin.h: Likewise. 10289 102902022-02-17 Robin Dapp <rdapp@linux.ibm.com> 10291 10292 PR target/104335 10293 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false 10294 if the expected comparison's first operand is of mode MODE_CC. 10295 102962022-02-17 Vladimir N. Makarov <vmakarov@redhat.com> 10297 10298 PR rtl-optimization/104447 10299 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore 10300 hard reg set by lra_no_alloc_regs. 10301 103022022-02-17 liuhongt <hongtao.liu@intel.com> 10303 10304 PR tree-optimization/104551 10305 PR tree-optimization/103771 10306 * match.pd (cond_expr_convert_p): Add types_match check when 10307 convert is extension. 10308 * tree-vect-patterns.cc 10309 (gimple_cond_expr_convert_p): Adjust comments. 10310 (vect_recog_cond_expr_convert_pattern): Ditto. 10311 103122022-02-17 Jakub Jelinek <jakub@redhat.com> 10313 10314 PR debug/104557 10315 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG 10316 if expr has VOIDmode. 10317 103182022-02-17 liuhongt <hongtao.liu@intel.com> 10319 10320 * config/i386/cpuid.h (bit_MPX): Removed. 10321 (bit_BNDREGS): Ditto. 10322 (bit_BNDCSR): Ditto. 10323 103242022-02-17 Michael Meissner <meissner@the-meissners.org> 10325 10326 PR target/99708 10327 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define 10328 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created. 10329 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type 10330 is created. 10331 103322022-02-16 Andrew MacLeod <amacleod@redhat.com> 10333 10334 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use 10335 range_compatible_p instead of direct type comparison. 10336 103372022-02-16 Jakub Jelinek <jakub@redhat.com> 10338 10339 PR rtl-optimization/104544 10340 * combine.cc (try_combine): When looking for insn whose links 10341 should be updated from i3 to i2, don't stop on debug insns, instead 10342 skip over them. 10343 103442022-02-16 Richard Sandiford <richard.sandiford@arm.com> 10345 10346 PR target/100056 10347 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator. 10348 * config/aarch64/aarch64.md: Extend the PR100056 patterns 10349 to handle plus in the same way as ior, if the operands have 10350 no set bits in common. 10351 103522022-02-15 Andrew MacLeod <amacleod@redhat.com> 10353 10354 PR tree-optimization/104526 10355 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call 10356 new routine. 10357 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build 10358 of dependency chain if there isn't one. 10359 (gori_compute::condexpr_adjust): New. 10360 * gimple-range-gori.h (class gori_compute): New prototype. 10361 103622022-02-15 Richard Sandiford <richard.sandiford@arm.com> 10363 10364 PR target/100874 10365 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const): 10366 Declare. 10367 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function. 10368 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern. 10369 103702022-02-15 Richard Sandiford <richard.sandiford@arm.com> 10371 10372 * tree-vectorizer.h (vect_scalar_ops_slice): New struct. 10373 (vect_scalar_ops_slice_hash): Likewise. 10374 (vect_scalar_ops_slice::op): New function. 10375 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function. 10376 (vect_scalar_ops_slice_hash::hash): Likewise. 10377 (vect_scalar_ops_slice_hash::equal): Likewise. 10378 (vect_prologue_cost_for_slp): Check for duplicate vectors. 10379 * config/aarch64/aarch64.cc 10380 (aarch64_vector_costs::m_stp_sequence_cost): New member variable. 10381 (aarch64_aligned_constant_offset_p): New function. 10382 (aarch64_stp_sequence_cost): Likewise. 10383 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic. 10384 (aarch64_vector_costs::finish_cost): Likewise. 10385 103862022-02-15 Richard Sandiford <richard.sandiford@arm.com> 10387 10388 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix 10389 use after free. 10390 103912022-02-15 Richard Biener <rguenther@suse.de> 10392 10393 PR tree-optimization/104543 10394 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits 10395 come after the inner loop. 10396 103972022-02-15 Jakub Jelinek <jakub@redhat.com> 10398 10399 PR target/104536 10400 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use 10401 cannot instead of can%'t in diagnostics. Formatting fixes. 10402 104032022-02-15 Jakub Jelinek <jakub@redhat.com> 10404 10405 PR middle-end/104522 10406 * fold-const.h (native_interpret_real): Declare. 10407 * fold-const.cc (native_interpret_real): No longer static. Don't 10408 perform MODE_COMPOSITE_P verification here. 10409 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead 10410 for all modes. 10411 * gimple-fold.cc (clear_padding_type): Call native_interpret_real 10412 instead of native_interpret_expr. 10413 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx 10414 and comparison verification for all FLOAT_MODE_P modes, not just 10415 MODE_COMPOSITE_P. 10416 104172022-02-15 Richard Biener <rguenther@suse.de> 10418 10419 PR tree-optimization/104519 10420 * fold-const.cc (multiple_of_p): Remove never true condition. 10421 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use 10422 the appropriate types for determining whether the difference 10423 of final and base is a multiple of the step. 10424 104252022-02-15 Jakub Jelinek <jakub@redhat.com> 10426 10427 PR debug/104517 10428 * omp-low.cc (task_cpyfns): New variable. 10429 (delete_omp_context): Don't call finalize_task_copyfn from here. 10430 (create_task_copyfn): Push task_stmt into task_cpyfns. 10431 (execute_lower_omp): Call finalize_task_copyfn here on entries from 10432 task_cpyfns vector and release the vector. 10433 104342022-02-14 Martin Sebor <msebor@redhat.com> 10435 10436 PR middle-end/104355 10437 * doc/invoke.texi (-Warray-bounds): Update documentation. 10438 104392022-02-14 Michael Meissner <meissner@the-meissners.org> 10440 10441 PR target/104253 10442 * config/rs6000/rs6000.cc (init_float128_ibm): Update the 10443 conversion functions used to convert IFmode types. 10444 104452022-02-14 Andrew Stubbs <ams@codesourcery.com> 10446 10447 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg. 10448 104492022-02-14 Richard Biener <rguenther@suse.de> 10450 10451 PR tree-optimization/104528 10452 * tree-ssa.h (find_released_ssa_name): Declare. 10453 * tree-ssa.cc (find_released_ssa_name): Export. 10454 * cfgloop.cc (verify_loop_structure): Look for released 10455 SSA names in loops nb_iterations. 10456 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration 10457 estimates. 10458 104592022-02-14 Richard Biener <rguenther@suse.de> 10460 10461 PR tree-optimization/104511 10462 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid 10463 touching DFP <-> FP conversions. 10464 104652022-02-14 Richard Biener <rguenther@suse.de> 10466 10467 PR middle-end/104497 10468 * gimplify.cc (gimplify_compound_lval): Make sure the 10469 base is a non-register if needed and possible. 10470 104712022-02-13 liuhongt <hongtao.liu@intel.com> 10472 10473 PR target/103771 10474 * match.pd (cond_expr_convert_p): New match. 10475 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare. 10476 (vect_recog_cond_expr_convert_pattern): New. 10477 104782022-02-12 Jakub Jelinek <jakub@redhat.com> 10479 10480 PR sanitizer/104449 10481 * asan.cc: Include tree-eh.h. 10482 (handle_builtin_alloca): Handle the case when __builtin_alloca or 10483 __builtin_alloca_with_align can throw. 10484 104852022-02-12 Jakub Jelinek <jakub@redhat.com> 10486 10487 PR target/104502 10488 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+ 10489 and AVX512VL isn't available, move operands[1] to operands[0] first. 10490 104912022-02-12 Uroš Bizjak <ubizjak@gmail.com> 10492 10493 PR target/79754 10494 * config/i386/i386.cc (type_natural_mode): 10495 Skip decimal float vector modes. 10496 104972022-02-11 Iain Sandoe <iain@sandoe.co.uk> 10498 Vladimir Makarov <vmakarov@redhat.com> 10499 10500 PR target/104117 10501 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p): 10502 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when 10503 emitting PIC code. 10504 (legitimate_lo_sum_address_p): Likewise. 10505 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg 10506 load from an invalid lo_sum address. 10507 105082022-02-11 Jakub Jelinek <jakub@redhat.com> 10509 10510 PR tree-optimization/104499 10511 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead 10512 of convert. 10513 105142022-02-11 Jakub Jelinek <jakub@redhat.com> 10515 10516 * tree.cc (build_common_builtin_nodes): Fix up formatting in 10517 __builtin_clear_padding decl creation. 10518 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode 10519 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING 10520 argument rather than in 3rd argument. 10521 (gimplify_call_expr): Likewise. Fix up comment formatting. 10522 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect 10523 2 arguments instead of 3, take for_auto_init from the value 10524 of 2nd argument. 10525 105262022-02-11 Vladimir N. Makarov <vmakarov@redhat.com> 10527 10528 PR rtl-optimization/104400 10529 * lra-constraints.cc (process_alt_operands): Don't make union of 10530 this_alternative_exclude_start_hard_regs when reg class in insn 10531 alternative covers other reg classes in the same alternative. 10532 105332022-02-11 Jakub Jelinek <jakub@redhat.com> 10534 10535 PR middle-end/104446 10536 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC 10537 operands. 10538 105392022-02-11 Richard Biener <rguenther@suse.de> 10540 10541 PR middle-end/104496 10542 * internal-fn.cc (vectorized_internal_fn_supported_p): 10543 Bail out for integer mode vector types. 10544 105452022-02-11 Jakub Jelinek <jakub@redhat.com> 10546 10547 PR rtl-optimization/104459 10548 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when 10549 moving DEBUG_INSNs between bbs. 10550 105512022-02-11 liuhongt <hongtao.liu@intel.com> 10552 10553 PR tree-optimization/104479 10554 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use 10555 for the dest of uncond_op. 10556 105572022-02-11 Tom de Vries <tdevries@suse.de> 10558 10559 PR target/104456 10560 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm 10561 insn. 10562 105632022-02-10 Qing Zhao <qing.zhao@oracle.com> 10564 10565 PR middle-end/100775 10566 * function.cc (gen_call_used_regs_seq): Call 10567 df_update_exit_block_uses when updating df. 10568 105692022-02-10 Uroš Bizjak <ubizjak@gmail.com> 10570 10571 PR target/104469 10572 * config/i386/sse.md (vec_unpacks_float_lo_v4si): 10573 Change operand 1 constraint to register_operand. 10574 105752022-02-10 Richard Biener <rguenther@suse.de> 10576 10577 PR tree-optimization/104373 10578 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the 10579 walk kind. 10580 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default 10581 walk kind as argument. 10582 (run_rpo_vn): Adjust. 10583 (pass_fre::execute): Likewise. 10584 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip 10585 blocks not reachable. 10586 (execute_late_warn_uninitialized): Mark all edges as 10587 executable. 10588 (execute_early_warn_uninitialized): Use VN to compute 10589 executable edges. 10590 (pass_data_early_warn_uninitialized): Enable a dump file, 10591 change dump name to warn_uninit. 10592 105932022-02-10 Richard Biener <rguenther@suse.de> 10594 10595 PR middle-end/104467 10596 * match.pd (vector extract simplification): Multiply the 10597 number of CTOR elements with the number of element elements. 10598 105992022-02-10 Richard Biener <rguenther@suse.de> 10600 10601 PR tree-optimization/104466 10602 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2 10603 for the MR_DEPENDENCE checks as intended. 10604 106052022-02-10 Tom de Vries <tdevries@suse.de> 10606 10607 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New 10608 define_insn. 10609 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for 10610 TARGET_SM70. 10611 (define_c_enum "unspecv"): Add UNSPECV_ST. 10612 106132022-02-10 Tom de Vries <tdevries@suse.de> 10614 10615 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare. 10616 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function. 10617 (nvptx_mem_maybe_shared_p): New function. 10618 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New 10619 define_expand. 10620 106212022-02-10 Tom de Vries <tdevries@suse.de> 10622 10623 PR target/97005 10624 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround 10625 driver JIT bug by using sub.s16 instead of sub.u16. 10626 106272022-02-10 Roger Sayle <roger@nextmovesoftware.com> 10628 10629 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate 10630 floating point constants as operands 1 and/or 2. 10631 106322022-02-10 Roger Sayle <roger@nextmovesoftware.com> 10633 10634 PR target/104345 10635 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation. 10636 (sel_false<mode>): Likewise. 10637 (define_code_iterator eqne): New code iterator for EQ and NE. 10638 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize 10639 the negation of a selp instruction. 10640 (*selp<mode>_not_<code>): New define_insn_and_split to optimize 10641 the bitwise not of a selp instruction. 10642 (*setcc_int<mode>): Use set instruction for neg:SI of a selp. 10643 106442022-02-10 Roger Sayle <roger@nextmovesoftware.com> 10645 10646 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier 10647 in machine description. 10648 (logic): Move code attribute earlier in machine description. 10649 (ilogic): New code attribute, like logic but "ior" for IOR. 10650 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with... 10651 (<ilogic><mode>3): New define_insn for HSDIM logic operations. 10652 (<ilogic>bi3): New define_insn for BI mode logic operations. 10653 (define_split): Lower logic operations from integer modes to 10654 BI mode predicate operations. 10655 106562022-02-10 Roger Sayle <roger@nextmovesoftware.com> 10657 10658 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC. 10659 (one_cmplbi2): New define_insn for not.pred. 10660 (mulditi3): New define_expand for signed widening multiply. 10661 (umulditi3): New define_expand for unsigned widening multiply. 10662 (smul<mode>3_highpart): New define_insn for signed highpart mult. 10663 (umul<mode>3_highpart): New define_insn for unsigned highpart mult. 10664 (*smulhi3_highpart_2): Renamed from smulhi3_highpart. 10665 (*smulsi3_highpart_2): Renamed from smulsi3_highpart. 10666 (*umulhi3_highpart_2): Renamed from umulhi3_highpart. 10667 (*umulsi3_highpart_2): Renamed from umulsi3_highpart. 10668 (*setcc<mode>_from_not_bi): New define_insn. 10669 (*setcc_isinf<mode>): New define_insn for testp.infinite. 10670 (isinf<mode>2): New define_expand. 10671 106722022-02-10 Roger Sayle <roger@nextmovesoftware.com> 10673 10674 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>. 10675 (setcc<mode>_from_bi): Additionally support QImode. 10676 (extendbi<mode>2): Additionally support QImode. 10677 (zero_extendbi<mode>2): Additionally support QImode. 10678 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code 10679 iterators for signed and unsigned, binary and unary operations. 10680 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New 10681 expanders to perform QImode operations using SImode instructions. 10682 (cstoreqi4): New define_expand. 10683 (*ext_truncsi2_qi): New define_insn. 10684 (*zext_truncsi2_qi): New define_insn. 10685 106862022-02-10 Roger Sayle <roger@nextmovesoftware.com> 10687 10688 * config/nvptx/nvptx.md (*cmpf): New define_insn. 10689 (cstorehf4): New define_expand. 10690 (fmahf4): New define_insn. 10691 (neghf2): New define_insn. 10692 (abshf2): New define_insn. 10693 106942022-02-10 Gerald Pfeifer <gerald@pfeifer.com> 10695 10696 * doc/install.texi (Specific): Change the www.bitwizard.nl 10697 reference to use https. 10698 106992022-02-10 Marcel Vollweiler <marcel@codesourcery.com> 10700 10701 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for 10702 OMP_CLAUSE_HAS_DEVICE_ADDR 10703 and handle array sections. 10704 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case. 10705 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR. 10706 (lower_omp_target): Same. 10707 * tree-core.h (enum omp_clause_code): Same. 10708 * tree-nested.cc (convert_nonlocal_omp_clauses): Same. 10709 (convert_local_omp_clauses): Same. 10710 * tree-pretty-print.cc (dump_omp_clause): Same. 10711 * tree.cc: Same. 10712 107132022-02-10 Eugene Rozenfeld <erozen@microsoft.com> 10714 10715 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls 10716 that will result in direct recursive calls. 10717 107182022-02-10 Andrew Pinski <apinski@marvell.com> 10719 10720 PR target/104474 10721 * config/aarch64/aarch64.cc 10722 (aarch64_sve_expand_vector_init_handle_trailing_constants): 10723 Use CONST0_RTX instead of const0_rtx for the non-constant elements. 10724 107252022-02-09 Uroš Bizjak <ubizjak@gmail.com> 10726 10727 PR target/104462 10728 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET): 10729 Also include OPTION_MASK_ISA2_AVX2_UNSET. 10730 107312022-02-09 Uroš Bizjak <ubizjak@gmail.com> 10732 10733 PR target/104458 10734 * config/i386/i386-expand.cc (ix86_split_idivmod): 10735 Force operands[2] and operands[3] into a register.. 10736 107372022-02-09 Jeff Law <jeffreyalaw@gmail.com> 10738 10739 PR target/97040 10740 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4. 10741 (*v850_fnmssf4): Renamed from fnmssf4 10742 107432022-02-09 Ian Lance Taylor <iant@golang.org> 10744 10745 * godump.cc (go_force_record_alignment): Really name the alignment 10746 field "_" (complete 2021-12-29 change). 10747 107482022-02-09 Bill Schmidt <wschmidt@linux.ibm.com> 10749 10750 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change 10751 function prototype. 10752 (VREPLACE_UN_UV4SI): Likewise. 10753 (VREPLACE_UN_V2DF): Likewise. 10754 (VREPLACE_UN_V2DI): Likewise. 10755 (VREPLACE_UN_V4SF): Likewise. 10756 (VREPLACE_UN_V4SI): Likewise. 10757 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all 10758 function prototypes. 10759 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand. 10760 (vreplace_un_<mode>): New define_insn. 10761 107622022-02-09 Richard Sandiford <richard.sandiford@arm.com> 10763 10764 * config/aarch64/iterators.md (VDCSIF): New mode iterator. 10765 (VDBL): Handle SF. 10766 (single_wx, single_type, single_dtype, dblq): New mode attributes. 10767 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend 10768 from VDC to VDCSIF. 10769 (store_pair_lanes<mode>): Likewise. 10770 (*aarch64_combine_internal<mode>): Likewise. 10771 (*aarch64_combine_internal_be<mode>): Likewise. 10772 (*aarch64_combinez<mode>): Likewise. 10773 (*aarch64_combinez_be<mode>): Likewise. 10774 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle 10775 8-byte modes for ADDR_QUERY_LDP_STP_N. 10776 (aarch64_print_operand): Likewise for %y. 10777 107782022-02-09 Richard Sandiford <richard.sandiford@arm.com> 10779 10780 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>): 10781 Use aarch64_combine instead of move_lo/hi_quad. Tabify. 10782 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete. 10783 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete. 10784 (vec_pack_trunc_<mode>): Take general_operand elements and use 10785 aarch64_combine rather than move_lo/hi_quad to combine them. 10786 (vec_pack_trunc_df): Likewise. 10787 107882022-02-09 Richard Sandiford <richard.sandiford@arm.com> 10789 10790 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine): 10791 Delete. 10792 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename 10793 to... 10794 (*aarch64_combinez<mode>): ...this. 10795 (@aarch64_combinez_be<mode>): Rename to... 10796 (*aarch64_combinez_be<mode>): ...this. 10797 (@aarch64_vec_concat<mode>): New expander. 10798 (aarch64_combine<mode>): Use it. 10799 (@aarch64_simd_combine<mode>): Delete. 10800 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete. 10801 (aarch64_expand_vector_init): Use aarch64_vec_concat. 10802 108032022-02-09 Richard Sandiford <richard.sandiford@arm.com> 10804 10805 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand): 10806 New predicate. 10807 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>) 10808 (*aarch64_combine_internal_be<mode>): New patterns. 10809 108102022-02-09 Richard Sandiford <richard.sandiford@arm.com> 10811 10812 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>) 10813 (move_lo_quad_internal_be_<mode>): Delete. 10814 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above. 10815 108162022-02-09 Richard Sandiford <richard.sandiford@arm.com> 10817 10818 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p): 10819 Declare. 10820 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use 10821 aarch64_mergeable_load_pair_p instead of inline check. 10822 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise. 10823 (aarch64_check_consecutive_mems): Allow the reversed parameter 10824 to be null. 10825 (aarch64_mergeable_load_pair_p): New function. 10826 108272022-02-09 Richard Sandiford <richard.sandiford@arm.com> 10828 10829 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the 10830 element to be an aarch64_simd_nonimmediate_operand. 10831 108322022-02-09 Richard Sandiford <richard.sandiford@arm.com> 10833 10834 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use 10835 aarch64_simd_nonimmediate_operand instead of 10836 aarch64_simd_general_operand. 10837 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of 10838 general_operand. 10839 (@aarch64_combinez_be<mode>): Likewise. 10840 108412022-02-09 Richard Biener <rguenther@suse.de> 10842 10843 PR middle-end/104464 10844 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone 10845 throwing check to after unproblematic replacement. 10846 108472022-02-09 Roger Sayle <roger@nextmovesoftware.com> 10848 10849 PR tree-optimization/104420 10850 * match.pd (mult @0 real_zerop): Tweak conditions for constant 10851 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate. 10852 108532022-02-09 Jakub Jelinek <jakub@redhat.com> 10854 10855 PR debug/104407 10856 * dwarf2out.cc (mangle_referenced_decls): New function. 10857 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if 10858 early_dwarf. Instead walk the initializer and try to mangle vars or 10859 functions referenced from it. 10860 108612022-02-09 Andrew MacLeod <amacleod@redhat.com> 10862 10863 PR tree-optimization/104288 10864 * gimple-range-cache.cc (non_null_ref::set_nonnull): New. 10865 (non_null_ref::adjust_range): Move to header. 10866 (ranger_cache::range_of_def): Don't check non-null. 10867 (ranger_cache::entry_range): Don't check non-null. 10868 (ranger_cache::range_on_edge): Check for nonnull on normal edges. 10869 (ranger_cache::update_to_nonnull): New. 10870 (non_null_loadstore): New. 10871 (ranger_cache::block_apply_nonnull): New. 10872 * gimple-range-cache.h (class non_null_ref): Update prototypes. 10873 (non_null_ref::adjust_range): Move to here and inline. 10874 (class ranger_cache): Update prototypes. 10875 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do 10876 not search dominators. 10877 (path_range_query::adjust_for_non_null_uses): Ditto. 10878 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for 10879 def overrides. Do not check nonnull. 10880 (gimple_ranger::range_on_entry): Check dominators for nonnull. 10881 (gimple_ranger::range_on_edge): Check for nonnull on normal edges.. 10882 (gimple_ranger::register_side_effects): New. 10883 * gimple-range.h (gimple_ranger::register_side_effects): New. 10884 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects. 10885 108862022-02-09 Richard Biener <rguenther@suse.de> 10887 10888 PR tree-optimization/104445 10889 PR tree-optimization/102832 10890 * optabs-query.h (can_vec_extract): New. 10891 * optabs-query.cc (can_vec_extract): Likewise. 10892 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check 10893 we can extract a hi/lo part from the larger vector, rework 10894 check iteration from larger to smaller sizes. 10895 108962022-02-09 H.J. Lu <hjl.tools@gmail.com> 10897 10898 PR target/35513 10899 PR target/100593 10900 * config/i386/gnu-property.cc: Include "i386-protos.h". 10901 (file_end_indicate_exec_stack_and_gnu_property): Generate 10902 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or 10903 nodirect_extern_access attribute. 10904 * config/i386/i386-options.cc 10905 (handle_nodirect_extern_access_attribute): New function. 10906 (ix86_attribute_table): Add nodirect_extern_access attribute. 10907 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a 10908 bool argument. 10909 (ix86_has_no_direct_extern_access): New. 10910 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New. 10911 (ix86_force_load_from_GOT_p): Add a bool argument to indicate 10912 call operand. Force non-call load from GOT for 10913 -mno-direct-extern-access or nodirect_extern_access attribute. 10914 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE 10915 for -mno-direct-extern-access or nodirect_extern_access attribute. 10916 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p 10917 for call operand. 10918 (asm_preferred_eh_data_format): Use PC-relative format for 10919 -mno-direct-extern-access to avoid copy relocation. Check 10920 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4. 10921 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to 10922 true for -mno-direct-extern-access or nodirect_extern_access 10923 attribute. Don't treat protected data as extern and avoid copy 10924 relocation on common symbol with -mno-direct-extern-access or 10925 nodirect_extern_access attribute. 10926 (ix86_reloc_rw_mask): New to avoid copy relocation for 10927 -mno-direct-extern-access. 10928 (TARGET_ASM_RELOC_RW_MASK): New. 10929 * config/i386/i386.opt: Add -mdirect-extern-access. 10930 * doc/extend.texi: Document nodirect_extern_access attribute. 10931 * doc/invoke.texi: Document -m[no-]direct-extern-access. 10932 109332022-02-09 H.J. Lu <hjl.tools@gmail.com> 10934 10935 PR target/104441 10936 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function. 10937 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN. 10938 Call ix86_avx_u128_mode_source to check mode for each component 10939 of source operand. 10940 109412022-02-09 liuhongt <hongtao.liu@intel.com> 10942 10943 PR target/104451 10944 * config/i386/sse.md (<insn><mode>3): lowpart_subreg 10945 operands[2] from SImode to QImode. 10946 109472022-02-09 Richard Biener <rguenther@suse.de> 10948 10949 PR middle-end/104450 10950 * gimple-isel.cc: Pass cfun around. 10951 (+gimple_expand_vec_cond_expr): Do not combine a throwing 10952 comparison with the select. 10953 109542022-02-09 Richard Biener <rguenther@suse.de> 10955 10956 PR target/104453 10957 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift 10958 folding for NULL LHS. 10959 109602022-02-08 Robin Dapp <rdapp@linux.ibm.com> 10961 10962 PR rtl-optimization/104198 10963 PR rtl-optimization/104153 10964 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of 10965 using it directly. Rework comparison handling and always 10966 perform a second pass. 10967 109682022-02-08 Jakub Jelinek <jakub@redhat.com> 10969 10970 PR target/102140 10971 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if 10972 split1 pass has finished already. 10973 109742022-02-08 Bill Schmidt <wschmidt@linux.ibm.com> 10975 10976 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New. 10977 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New. 10978 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant. 10979 (vmsumcud): New define_insn. 10980 109812022-02-08 Tom de Vries <tdevries@suse.de> 10982 10983 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70. 10984 * config/nvptx/nvptx.h (TARGET_SM70): Define. 10985 109862022-02-08 Robin Dapp <rdapp@linux.ibm.com> 10987 10988 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load 10989 on condition. 10990 * config/s390/s390.md: Use paradoxical subreg. 10991 109922022-02-08 Robin Dapp <rdapp@linux.ibm.com> 10993 10994 * combine.cc (reg_subword_p): Check for paradoxical subreg. 10995 109962022-02-08 Tom de Vries <tdevries@suse.de> 10997 10998 PR target/104283 10999 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0 11000 and PTX_VERSION_4_2. 11001 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm) 11002 (default_ptx_version_option, ptx_version_to_string) 11003 (sm_version_to_string, handle_ptx_version_option): New function. 11004 (nvptx_option_override): Call handle_ptx_version_option. 11005 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string. 11006 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>") 11007 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0. 11008 * config/nvptx/nvptx.opt (mptx): Remove 'Init'. 11009 110102022-02-08 Maciej W. Rozycki <macro@embecosm.com> 11011 11012 * doc/install.texi (Configuration): Document `--with-isa-spec=' 11013 RISC-V option. 11014 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V 11015 option. 11016 (RISC-V Options): Document it. 11017 110182022-02-08 Maciej W. Rozycki <macro@embecosm.com> 11019 11020 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency. 11021 110222022-02-08 Tom de Vries <tdevries@suse.de> 11023 11024 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'. 11025 110262022-02-08 Tom de Vries <tdevries@suse.de> 11027 11028 PR target/104364 11029 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare. 11030 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that 11031 change is validated. 11032 (nvptx_mem_local_p): New function. 11033 * config/nvptx/nvptx.md: Use nvptx_mem_local_p. 11034 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL. 11035 (define_insn "atomic_compare_and_swap<mode>_1_local"): New 11036 non-atomic, non-predicable define_insn, factored out of ... 11037 (define_insn "atomic_compare_and_swap<mode>_1"): ... here. 11038 Make predicable again. 11039 (define_expand "atomic_compare_and_swap<mode>"): Use 11040 atomic_compare_and_swap<mode>_1_local. 11041 110422022-02-08 liuhongt <hongtao.liu@intel.com> 11043 11044 PR rtl-optimization/104059 11045 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate 11046 for a more expensive reg-reg move. 11047 110482022-02-07 Tamar Christina <tamar.christina@arm.com> 11049 11050 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32, 11051 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New 11052 * config/arm/arm_neon_builtins.def (usdot): Add V16QI. 11053 (usdot_laneq, sudot_laneq): New. 11054 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New. 11055 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code. 11056 110572022-02-07 Tamar Christina <tamar.christina@arm.com> 11058 11059 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32, 11060 vdot_laneq_s32, vdotq_laneq_s32): New. 11061 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New. 11062 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New. 11063 (<sup>dot_prod<vsi2qi>): Re-order rtl. 11064 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes. 11065 (neon_<sup>dot_laneq<vsi2qi>): New. 11066 110672022-02-07 Andreas Krebbel <krebbel@linux.ibm.com> 11068 11069 PR target/104327 11070 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags 11071 if always_inline is set. Don't inline when tune differs without 11072 always_inline. 11073 110742022-02-07 Richard Biener <rguenther@suse.de> 11075 11076 PR middle-end/104402 11077 * gimple-expr.cc (is_gimple_condexpr): _Complex typed 11078 compares are not valid. 11079 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR 11080 check is_gimple_condexpr. 11081 110822022-02-07 Kewen Lin <linkw@linux.ibm.com> 11083 11084 PR target/103627 11085 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the 11086 hunk affecting VSX and ALTIVEC to appropriate place. 11087 110882022-02-07 Kewen Lin <linkw@linux.ibm.com> 11089 11090 PR target/103627 11091 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable 11092 MMA if !TARGET_VSX. 11093 110942022-02-06 Jakub Jelinek <jakub@redhat.com> 11095 11096 PR c++/89074 11097 PR c++/104033 11098 * fold-const.h (folding_initializer): Adjust comment. 11099 (folding_cxx_constexpr): Declare. 11100 * fold-const.cc (folding_initializer): Adjust comment. 11101 (folding_cxx_constexpr): New variable. 11102 (address_compare): Restrict the decl vs. STRING_CST 11103 or vice versa or STRING_CST vs. STRING_CST or 11104 is_global_var != is_global_var optimizations to !folding_cxx_constexpr. 11105 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer, 11106 assume non-aliased functions have non-zero size and have different 11107 addresses. For folding_cxx_constexpr, punt on comparisons of start 11108 of some object and end of another one, regardless whether it is a decl 11109 or string literal. Also punt for folding_cxx_constexpr on 11110 STRING_CST vs. STRING_CST comparisons if the two literals could be 11111 overlapping. 11112 111132022-02-05 Jakub Jelinek <jakub@redhat.com> 11114 11115 PR tree-optimization/104389 11116 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are 11117 honored. 11118 111192022-02-05 Kito Cheng <kito.cheng@sifive.com> 11120 11121 * configure.ac: Fix detection for zifencei support. 11122 * configure: Regenerate. 11123 111242022-02-05 Kito Cheng <kito.cheng@sifive.com> 11125 11126 PR target/104219 11127 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value. 11128 (all_defaults): Add isa_spec. 11129 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec. 11130 111312022-02-04 Bill Schmidt <wschmidt@linux.ibm.com> 11132 11133 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types 11134 parameters instead of arglist and nargs. Simplify accordingly. Remove 11135 unnecessary test for argument count mismatch. 11136 (resolve_vec_cmpne): Likewise. 11137 (resolve_vec_adde_sube): Likewise. 11138 (resolve_vec_addec_subec): Likewise. 11139 (altivec_resolve_overloaded_builtin): Move overload special handling 11140 after the gathering of arguments into args[] and types[] and the test 11141 for correct number of arguments. Don't perform the test for correct 11142 number of arguments for certain special cases. Call the other special 11143 cases with args and types instead of arglist and nargs. 11144 111452022-02-04 Bill Schmidt <wschmidt@linux.ibm.com> 11146 11147 PR target/100808 11148 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA 11149 3.1): Provide consistent type names. Remove unnecessary semicolons. 11150 Fix bad line breaks. 11151 111522022-02-04 Jakub Jelinek <jakub@redhat.com> 11153 11154 PR target/104380 11155 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also 11156 adjust mangling of __builtin*printf_chk. 11157 111582022-02-04 Jonathan Wakely <jwakely@redhat.com> 11159 11160 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20. 11161 111622022-02-04 Richard Biener <rguenther@suse.de> 11163 Bin Cheng <bin.cheng@linux.alibaba.com> 11164 11165 PR tree-optimization/100499 11166 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted 11167 to true. 11168 * fold-const.cc (multiple_of_p): Likewise. Honor it for 11169 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along, 11170 switching to false for conversions. 11171 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not 11172 claim the outermost expression does not wrap when calling 11173 multiple_of_p. Refactor the check done to check the 11174 original IV, avoiding a bias that might wrap. 11175 111762022-02-04 Richard Biener <rguenther@suse.de> 11177 11178 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR 11179 handling. 11180 111812022-02-04 Eric Botcazou <ebotcazou@adacore.com> 11182 11183 PR debug/104366 11184 * dwarf2out.cc (dwarf2out_finish): Empty base_types. 11185 (dwarf2out_early_finish): Likewise. 11186 111872022-02-04 Eric Botcazou <ebotcazou@adacore.com> 11188 11189 PR tree-optimization/104356 11190 * match.pd (X / bool_range_Y is X): Add guard. 11191 (X / X is one): Likewise. 11192 (X / abs (X) is X < 0 ? -1 : 1): Likewise. 11193 (X / -X is -1): Likewise. 11194 (1 / X -> X == 1): Likewise. 11195 111962022-02-04 Richard Biener <rguenther@suse.de> 11197 11198 PR tree-optimization/103641 11199 * tree-vect-patterns.cc (vect_synth_mult_by_constant): 11200 Pass the vector mode to choose_mult_variant. 11201 112022022-02-04 Roger Sayle <roger@nextmovesoftware.com> 11203 11204 PR rtl-optimization/101885 11205 * combine.cc (try_combine): When splitting a parallel into two 11206 sequential sets, check not only that the first doesn't clobber 11207 the second but also that the second doesn't clobber the first. 11208 112092022-02-04 Richard Biener <rguenther@suse.de> 11210 11211 PR middle-end/90348 11212 PR middle-end/104092 11213 * tree-core.h (clobber_kind): New enum. 11214 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs. 11215 * tree.h (CLOBBER_KIND): Add. 11216 (build_clobber): Add clobber kind argument, defaulted to 11217 CLOBBER_UNDEF. 11218 * tree.cc (build_clobber): Likewise. 11219 * gimple.h (gimple_clobber_p): New overload with specified kind. 11220 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream 11221 CLOBBER_KIND. 11222 * tree-streamer-out.cc (streamer_write_tree_bitfields): 11223 Likewise. 11224 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs. 11225 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers 11226 with CLOBBER_EOL. 11227 (gimplify_target_expr): Likewise. 11228 * tree-inline.cc (expand_call_inline): Likewise. 11229 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise. 11230 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat 11231 CLOBBER_EOL clobbers as ending lifetime of storage. 11232 112332022-02-04 Martin Sebor <msebor@redhat.com> 11234 11235 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto 11236 cleanup. 11237 112382022-02-03 Martin Sebor <msebor@redhat.com> 11239 11240 PR middle-end/104260 11241 * passes.def (pass_warn_access): Adjust pass placement. 11242 112432022-02-03 Uroš Bizjak <ubizjak@gmail.com> 11244 11245 PR target/104362 11246 * config/i386/i386.cc (find_drap_reg): For 32bit targets 11247 return DI_REG if function uses __builtin_eh_return. 11248 112492022-02-03 Martin Sebor <msebor@redhat.com> 11250 11251 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor. 11252 (pass_wrestrict::m_ptr_qry): New member. 11253 (wrestrict_walk): Rename... 11254 (pass_wrestrict::check_block): ...to this. 11255 (pass_wrestrict::execute): Set up and tear down pointer_query and 11256 ranger. 11257 (builtin_memref::builtin_memref): Change ctor argument. Simplify. 11258 (builtin_access::builtin_access): Same. 11259 (builtin_access::m_ptr_qry): New member. 11260 (check_call): Rename... 11261 (pass_wrestrict::check_call): ...to this. 11262 (check_bounds_or_overlap): Change argument. 11263 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same. 11264 112652022-02-03 Martin Sebor <msebor@redhat.com> 11266 11267 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker): 11268 Define ctor. 11269 (array_bounds_checker::get_value_range): Use new member. 11270 (array_bounds_checker::check_mem_ref): Same. 11271 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker): 11272 Outline ctor. 11273 (array_bounds_checker::m_ptr_query): New member. 11274 112752022-02-03 Martin Sebor <msebor@redhat.com> 11276 11277 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove 11278 pointer_query cache. 11279 * pointer-query.cc (pointer_query::pointer_query): Remove cache 11280 argument. Zero-initialize new cache member. 11281 (pointer_query::get_ref): Replace cache pointer with direct access. 11282 (pointer_query::put_ref): Same. 11283 (pointer_query::flush_cache): Same. 11284 (pointer_query::dump): Same. 11285 * pointer-query.h (class pointer_query): Remove cache argument from 11286 ctor. Change cache pointer to cache subobject member. 11287 * tree-ssa-strlen.cc: Remove pointer_query cache. 11288 112892022-02-03 Martin Sebor <msebor@redhat.com> 11290 11291 PR tree-optimization/104119 11292 * gimple-ssa-sprintf.cc (struct directive): Change argument type. 11293 (format_none): Same. 11294 (format_percent): Same. 11295 (format_integer): Same. 11296 (format_floating): Same. 11297 (get_string_length): Same. 11298 (format_character): Same. 11299 (format_string): Same. 11300 (format_plain): Same. 11301 (format_directive): Same. 11302 (compute_format_length): Same. 11303 (handle_printf_call): Same. 11304 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call 11305 get_maxbound. 11306 (get_range_strlen_phi): Same. 11307 (get_maxbound): New function. 11308 (strlen_pass::get_len_or_size): Adjust to parameter change. 11309 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type. 11310 113112022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> 11312 11313 PR target/103686 11314 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove 11315 test for !rs6000_fold_gimple. 11316 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise. 11317 * config/rs6000/rs6000.opt (mfold-gimple): Remove. 11318 113192022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> 11320 11321 PR target/95082 11322 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle 11323 endianness for vclzlsbb and vctzlsbb. 11324 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change 11325 default pattern and indicate a different pattern will be used for 11326 big endian. 11327 (VCLZLSBB_V4SI): Likewise. 11328 (VCLZLSBB_V8HI): Likewise. 11329 (VCTZLSBB_V16QI): Likewise. 11330 (VCTZLSBB_V4SI): Likewise. 11331 (VCTZLSBB_V8HI): Likewise. 11332 113332022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> 11334 11335 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs. 11336 * config/rs6000/rs6000-builtin.cc: New file, containing code moved 11337 from other files. 11338 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to 11339 rs6000-builtin.cc. 11340 (cpu_supports_info): Likewise. 11341 (rs6000_type_string): Likewise. 11342 (altivec_expand_predicate_builtin): Likewise. 11343 (rs6000_htm_spr_icode): Likewise. 11344 (altivec_expand_vec_init_builtin): Likewise. 11345 (get_element_number): Likewise. 11346 (altivec_expand_vec_set_builtin): Likewise. 11347 (altivec_expand_vec_ext_builtin): Likewise. 11348 (rs6000_invalid_builtin): Likewise. 11349 (rs6000_fold_builtin): Likewise. 11350 (fold_build_vec_cmp): Likewise. 11351 (fold_compare_helper): Likewise. 11352 (map_to_integral_tree_type): Likewise. 11353 (fold_mergehl_helper): Likewise. 11354 (fold_mergeeo_helper): Likewise. 11355 (rs6000_builtin_valid_without_lhs): Likewise. 11356 (rs6000_builtin_is_supported): Likewise. 11357 (rs6000_gimple_fold_mma_builtin): Likewise. 11358 (rs6000_gimple_fold_builtin): Likewise. 11359 (rs6000_expand_ldst_mask): Likewise. 11360 (cpu_expand_builtin): Likewise. 11361 (elemrev_icode): Likewise. 11362 (ldv_expand_builtin): Likewise. 11363 (lxvrse_expand_builtin): Likewise. 11364 (lxvrze_expand_builtin): Likewise. 11365 (stv_expand_builtin): Likewise. 11366 (mma_expand_builtin): Likewise. 11367 (htm_spr_num): Likewise. 11368 (htm_expand_builtin): Likewise. 11369 (rs6000_expand_builtin): Likewise. 11370 (rs6000_vector_type): Likewise. 11371 (rs6000_init_builtins): Likewise. Remove initialization of 11372 builtin_mode_to_type entries. 11373 (rs6000_builtin_decl): Move to rs6000-builtin.cc. 11374 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New 11375 external declaration. 11376 (rs6000_builtin_md_vectorized_function): Likewise. 11377 (rs6000_builtin_reciprocal): Likewise. 11378 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc. 11379 (rs6000_builtin_types): Likewise. 11380 (builtin_mode_to_type): Remove. 11381 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove 11382 static qualifier. 11383 (rs6000_builtin_md_vectorized_function): Likewise. 11384 (rs6000_builtin_reciprocal): Likewise. 11385 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove. 11386 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target. 11387 113882022-02-03 Richard Biener <rguenther@suse.de> 11389 11390 PR debug/104337 11391 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found 11392 together via DECL_ABSTRACT_ORIGIN. 11393 113942022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> 11395 11396 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error 11397 message for RES_BITS case. 11398 113992022-02-03 Aldy Hernandez <aldyh@redhat.com> 11400 11401 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly. 11402 114032022-02-03 Jakub Jelinek <jakub@redhat.com> 11404 11405 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098, 11406 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop. 11407 114082022-02-03 Aldy Hernandez <aldyh@redhat.com> 11409 11410 * cfganal.cc (verify_marked_backedges): New. 11411 * cfganal.h (verify_marked_backedges): New. 11412 * gimple-range-path.cc (path_range_query::path_range_query): 11413 Verify freshness of back edges. 11414 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call 11415 mark_dfs_back_edges. 11416 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move 11417 path_range_query construction after backedges have been 11418 updated. 11419 114202022-02-03 Richard Sandiford <richard.sandiford@arm.com> 11421 11422 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from 11423 VALL to VALL_F16. 11424 114252022-02-03 Richard Sandiford <richard.sandiford@arm.com> 11426 11427 * config/aarch64/iterators.md (VALL_F16MOV): Delete. 11428 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead 11429 of VALL_F16MOV. 11430 114312022-02-03 Martin Liska <mliska@suse.cz> 11432 11433 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): 11434 Change subject and object in the error message. 11435 * config/s390/s390.cc (s390_valid_target_attribute_inner_p): 11436 Likewise. 11437 114382022-02-03 Martin Liska <mliska@suse.cz> 11439 11440 * config/s390/s390.cc (s390_valid_target_attribute_inner_p): 11441 Use the error message for i386 target. 11442 114432022-02-03 Jakub Jelinek <jakub@redhat.com> 11444 11445 PR tree-optimization/104334 11446 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range 11447 and rh_range type to widest_int and subtract in widest_int. Remove 11448 ov_rh, ov_lh and sign vars, always perform comparisons as signed 11449 and use >, < and == operators for it. 11450 114512022-02-03 Martin Sebor <msebor@redhat.com> 11452 11453 * common.opt (-Wuse-after-free): Correct typos. 11454 114552022-02-02 David Malcolm <dmalcolm@redhat.com> 11456 11457 PR analyzer/104270 11458 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to 11459 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that 11460 -ftrivial-auto-var-init= doesn't suppress warnings. 11461 114622022-02-02 Martin Liska <mliska@suse.cz> 11463 11464 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro. 11465 114662022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de> 11467 11468 PR target/94372 11469 * config/or1k/linux.h (CPP_SPEC): Define. 11470 114712022-02-02 Tamar Christina <tamar.christina@arm.com> 11472 11473 PR tree-optimization/102819 11474 PR tree-optimization/103169 11475 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use 11476 canonical order. 11477 114782022-02-02 Tamar Christina <tamar.christina@arm.com> 11479 11480 PR tree-optimization/102819 11481 PR tree-optimization/103169 11482 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use 11483 canonical order. 11484 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise. 11485 114862022-02-02 Tamar Christina <tamar.christina@arm.com> 11487 11488 PR tree-optimization/102819 11489 PR tree-optimization/103169 11490 * doc/md.texi: Update docs for cfms, cfma. 11491 * tree-data-ref.h (same_data_refs): Accept optional offset. 11492 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating 11493 patterns. 11494 (vect_normalize_conj_loc): Remove. 11495 (is_eq_or_top): Change to take two nodes. 11496 (enum _conj_status, compatible_complex_nodes_p, 11497 vect_validate_multiplication): New. 11498 (class complex_add_pattern, complex_add_pattern::matches, 11499 complex_add_pattern::recognize, class complex_mul_pattern, 11500 complex_mul_pattern::recognize, class complex_fms_pattern, 11501 complex_fms_pattern::recognize, class complex_operations_pattern, 11502 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass 11503 new cache. 11504 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new 11505 cache and use new validation code. 11506 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns, 11507 vect_analyze_slp): Pass along cache. 11508 (compatible_calls_p): Expose. 11509 * tree-vectorizer.h (compatible_calls_p, slp_node_hash, 11510 slp_compat_nodes_map_t): New. 11511 (class vect_pattern): Update signatures include new cache. 11512 115132022-02-02 Hans-Peter Nilsson <hp@axis.com> 11514 11515 * config/cris/cris.cc (cris_preferred_reload_class): Reject 11516 "eliminated" registers and small-enough constants unless 11517 reloaded into a class that is a subset of GENERAL_REGS. 11518 * config/cris/cris.md (attribute "cpu_variant"): New. 11519 (attribute "enabled"): Conditionalize on a matching attribute 11520 cpu_variant, if specified. 11521 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from 11522 memory, add cpu-variant-enabled variants for "r" alternatives on 11523 the far side of the "x" alternatives, preferring the "x" ones 11524 only for variants where MOF is present (in addition to SRP). 11525 115262022-02-02 Hans-Peter Nilsson <hp@axis.com> 11527 11528 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira 11529 extra cost for ALL_REGS. 11530 115312022-02-02 Hans-Peter Nilsson <hp@axis.com> 11532 11533 * config/cris/constraints.md (define_register_constraint "b"): Now 11534 GENERAL_REGS. 11535 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove. 11536 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES) 11537 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS, 11538 and SPEC_GENNONACR_REGS. 11539 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention 11540 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS. 11541 115422022-02-02 Hans-Peter Nilsson <hp@axis.com> 11543 11544 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"): 11545 Conditionalize on (sub-)register operands or operand 1 being 0. 11546 115472022-02-02 Hans-Peter Nilsson <hp@axis.com> 11548 11549 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG. 11550 (MUL_BUG_ASM_DEFAULT): New macro. 11551 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT. 11552 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust 11553 accordingly. 11554 115552022-02-01 Eugene Rozenfeld <erozen@microsoft.com> 11556 11557 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations 11558 to 10 for AutoFDO. 11559 115602022-02-01 Eugene Rozenfeld <erozen@microsoft.com> 11561 11562 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10). 11563 115642022-02-01 Andrew Pinski <apinski@marvell.com> 11565 11566 * doc/install.texi: 11567 115682022-02-01 Ilya Leoshkevich <iii@linux.ibm.com> 11569 11570 * config/s390/s390.cc (s390_code_end): Do not switch back to 11571 code section. 11572 115732022-02-01 Jakub Jelinek <jakub@redhat.com> 11574 11575 PR target/104323 11576 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h 11577 rather than $(srcdir)/config/rs6000/rs6000-builtins.def. 11578 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use 11579 GTY((user)) for struct bifdata and struct ovlddata. Instead add 11580 GTY((skip(""))) to members with pointer and enum types that don't need 11581 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info 11582 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations. 11583 (write_extern_fntype, write_fntype): Remove. 11584 (write_fntype_init): Emit the fntype vars as automatic vars instead 11585 of file scope ones. 11586 (write_header_file): Don't iterate with write_extern_fntype. 11587 (write_init_file): Don't iterate with write_fntype. Don't emit 11588 gt_ggc_mx and gt_pch_nx definitions. 11589 115902022-02-01 Jason Merrill <jason@redhat.com> 11591 11592 * tree.h (struct tree_vec_map_cache_hasher): Move from... 11593 * tree.cc (struct tree_vec_map_cache_hasher): ...here. 11594 115952022-02-01 Tom de Vries <tdevries@suse.de> 11596 11597 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check. 11598 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add 11599 UNSPECV_UNIFORM_WARP_CHECK. 11600 (define_insn "nvptx_uniform_warp_check"): New define_insn. 11601 116022022-02-01 Tom de Vries <tdevries@suse.de> 11603 11604 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync. 11605 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add 11606 UNSPECV_WARPSYNC. 11607 (define_insn "nvptx_warpsync"): New define_insn. 11608 116092022-02-01 Tom de Vries <tdevries@suse.de> 11610 11611 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default. 11612 116132022-02-01 Tom de Vries <tdevries@suse.de> 11614 11615 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0. 11616 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro. 11617 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier 11618 insn for TARGET_PTX_6_0. 11619 116202022-02-01 Tom de Vries <tdevries@suse.de> 11621 11622 PR target/100428 11623 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop 11624 insn. 11625 116262022-02-01 Tom de Vries <tdevries@suse.de> 11627 11628 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1") 11629 (define_insn "atomic_exchange<mode>") 11630 (define_insn "atomic_fetch_add<mode>") 11631 (define_insn "atomic_fetch_addsf") 11632 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version 11633 if memory operands is frame-relative. 11634 116352022-02-01 Tom de Vries <tdevries@suse.de> 11636 11637 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add 11638 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA. 11639 (VOID): New macro. 11640 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA. 11641 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and 11642 NVPTX_BUILTIN_MEMBAR_CTA. 11643 (nvptx_lockfull_update): Add level parameter. Emit barriers. 11644 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to 11645 nvptx_lockfull_update. 11646 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add 11647 UNSPECV_MEMBAR_GL. 11648 (define_expand "nvptx_membar_gl"): New expand. 11649 (define_insn "*nvptx_membar_gl"): New insn. 11650 116512022-02-01 Martin Liska <mliska@suse.cz> 11652 11653 * doc/install.texi: Remove option for GCC < 4.8. 11654 116552022-02-01 Jakub Jelinek <jakub@redhat.com> 11656 11657 PR middle-end/104307 11658 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug 11659 stmts to uses vector, just set vec_cond_expr_only to false for 11660 non-VEC_COND_EXPRs instead of pushing them into uses. Treat 11661 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too 11662 like non-VEC_COND_EXPRs. 11663 116642022-02-01 Bill Schmidt <wschmidt@linux.ibm.com> 11665 11666 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token. 11667 (VEC_BLENDV): Likewise. 11668 (VEC_BPERM): Likewise. 11669 (VEC_CFUGE): Likewise. 11670 (VEC_CIPHER_BE): Likewise. 11671 (VEC_CIPHERLAST_BE): Likewise. 11672 (VEC_CLRL): Likewise. 11673 (VEC_CLRR): Likewise. 11674 (VEC_CMPNEZ): Likewise. 11675 (VEC_CNTLZ): Likewise. 11676 (VEC_CNTLZM): Likewise. 11677 (VEC_CNTTZM): Likewise. 11678 (VEC_CNTLZ_LSBB): Likewise. 11679 (VEC_CNTM): Likewise. 11680 (VEC_CNTTZ): Likewise. 11681 (VEC_CNTTZ_LSBB): Likewise. 11682 (VEC_CONVERT_4F32_8F16): Likewise. 11683 (VEC_DIV): Likewise. 11684 (VEC_DIVE): Likewise. 11685 (VEC_EQV): Likewise. 11686 (VEC_EXPANDM): Likewise. 11687 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise. 11688 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise. 11689 (VEC_EXTRACTH): Likewise. 11690 (VEC_EXTRACTL): Likewise. 11691 (VEC_EXTRACTM): Likewise. 11692 (VEC_EXTRACT4B): Likewise. 11693 (VEC_EXTULX): Likewise. 11694 (VEC_EXTURX): Likewise. 11695 (VEC_FIRSTMATCHINDEX): Likewise. 11696 (VEC_FIRSTMACHOREOSINDEX): Likewise. 11697 (VEC_FIRSTMISMATCHINDEX): Likewise. 11698 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise. 11699 (VEC_GB): Likewise. 11700 (VEC_GENBM): Likewise. 11701 (VEC_GENHM): Likewise. 11702 (VEC_GENWM): Likewise. 11703 (VEC_GENDM): Likewise. 11704 (VEC_GENQM): Likewise. 11705 (VEC_GENPCVM): Likewise. 11706 (VEC_GNB): Likewise. 11707 (VEC_INSERTH): Likewise. 11708 (VEC_INSERTL): Likewise. 11709 (VEC_INSERT4B): Likewise. 11710 (VEC_LXVL): Likewise. 11711 (VEC_MERGEE): Likewise. 11712 (VEC_MERGEO): Likewise. 11713 (VEC_MOD): Likewise. 11714 (VEC_MSUB): Likewise. 11715 (VEC_MULH): Likewise. 11716 (VEC_NAND): Likewise. 11717 (VEC_NCIPHER_BE): Likewise. 11718 (VEC_NCIPHERLAST_BE): Likewise. 11719 (VEC_NEARBYINT): Likewise. 11720 (VEC_NMADD): Likewise. 11721 (VEC_ORC): Likewise. 11722 (VEC_PDEP): Likewise. 11723 (VEC_PERMX): Likewise. 11724 (VEC_PEXT): Likewise. 11725 (VEC_POPCNT): Likewise. 11726 (VEC_PARITY_LSBB): Likewise. 11727 (VEC_REPLACE_ELT): Likewise. 11728 (VEC_REPLACE_UN): Likewise. 11729 (VEC_REVB): Likewise. 11730 (VEC_RINT): Likewise. 11731 (VEC_RLMI): Likewise. 11732 (VEC_RLNM): Likewise. 11733 (VEC_SBOX_BE): Likewise. 11734 (VEC_SIGNEXTI): Likewise. 11735 (VEC_SIGNEXTLL): Likewise. 11736 (VEC_SIGNEXTQ): Likewise. 11737 (VEC_SLDB): Likewise. 11738 (VEC_SLV): Likewise. 11739 (VEC_SPLATI): Likewise. 11740 (VEC_SPLATID): Likewise. 11741 (VEC_SPLATI_INS): Likewise. 11742 (VEC_SQRT): Likewise. 11743 (VEC_SRDB): Likewise. 11744 (VEC_SRV): Likewise. 11745 (VEC_STRIL): Likewise. 11746 (VEC_STRIL_P): Likewise. 11747 (VEC_STRIR): Likewise. 11748 (VEC_STRIR_P): Likewise. 11749 (VEC_STXVL): Likewise. 11750 (VEC_TERNARYLOGIC): Likewise. 11751 (VEC_TEST_LSBB_ALL_ONES): Likewise. 11752 (VEC_TEST_LSBB_ALL_ZEROS): Likewise. 11753 (VEC_VEE): Likewise. 11754 (VEC_VES): Likewise. 11755 (VEC_VIE): Likewise. 11756 (VEC_VPRTYB): Likewise. 11757 (VEC_VSCEEQ): Likewise. 11758 (VEC_VSCEGT): Likewise. 11759 (VEC_VSCELT): Likewise. 11760 (VEC_VSCEUO): Likewise. 11761 (VEC_VSEE): Likewise. 11762 (VEC_VSES): Likewise. 11763 (VEC_VSIE): Likewise. 11764 (VEC_VSTDC): Likewise. 11765 (VEC_VSTDCN): Likewise. 11766 (VEC_VTDC): Likewise. 11767 (VEC_XL): Likewise. 11768 (VEC_XL_BE): Likewise. 11769 (VEC_XL_LEN_R): Likewise. 11770 (VEC_XL_SEXT): Likewise. 11771 (VEC_XL_ZEXT): Likewise. 11772 (VEC_XST): Likewise. 11773 (VEC_XST_BE): Likewise. 11774 (VEC_XST_LEN_R): Likewise. 11775 (VEC_XST_TRUNC): Likewise. 11776 (VEC_XXPERMDI): Likewise. 11777 (VEC_XXSLDWI): Likewise. 11778 (VEC_TSTSFI_EQ_DD): Likewise. 11779 (VEC_TSTSFI_EQ_TD): Likewise. 11780 (VEC_TSTSFI_GT_DD): Likewise. 11781 (VEC_TSTSFI_GT_TD): Likewise. 11782 (VEC_TSTSFI_LT_DD): Likewise. 11783 (VEC_TSTSFI_LT_TD): Likewise. 11784 (VEC_TSTSFI_OV_DD): Likewise. 11785 (VEC_TSTSFI_OV_TD): Likewise. 11786 (VEC_VADDCUQ): Likewise. 11787 (VEC_VADDECUQ): Likewise. 11788 (VEC_VADDEUQM): Likewise. 11789 (VEC_VADDUDM): Likewise. 11790 (VEC_VADDUQM): Likewise. 11791 (VEC_VBPERMQ): Likewise. 11792 (VEC_VCLZB): Likewise. 11793 (VEC_VCLZD): Likewise. 11794 (VEC_VCLZH): Likewise. 11795 (VEC_VCLZW): Likewise. 11796 (VEC_VCTZB): Likewise. 11797 (VEC_VCTZD): Likewise. 11798 (VEC_VCTZH): Likewise. 11799 (VEC_VCTZW): Likewise. 11800 (VEC_VEEDP): Likewise. 11801 (VEC_VEESP): Likewise. 11802 (VEC_VESDP): Likewise. 11803 (VEC_VESSP): Likewise. 11804 (VEC_VIEDP): Likewise. 11805 (VEC_VIESP): Likewise. 11806 (VEC_VPKSDSS): Likewise. 11807 (VEC_VPKSDUS): Likewise. 11808 (VEC_VPKUDUM): Likewise. 11809 (VEC_VPKUDUS): Likewise. 11810 (VEC_VPOPCNT): Likewise. 11811 (VEC_VPOPCNTB): Likewise. 11812 (VEC_VPOPCNTD): Likewise. 11813 (VEC_VPOPCNTH): Likewise. 11814 (VEC_VPOPCNTW): Likewise. 11815 (VEC_VPRTYBD): Likewise. 11816 (VEC_VPRTYBQ): Likewise. 11817 (VEC_VPRTYBW): Likewise. 11818 (VEC_VRLD): Likewise. 11819 (VEC_VSLD): Likewise. 11820 (VEC_VSRAD): Likewise. 11821 (VEC_VSRD): Likewise. 11822 (VEC_VSTDCDP): Likewise. 11823 (VEC_VSTDCNDP): Likewise. 11824 (VEC_VSTDCNQP): Likewise. 11825 (VEC_VSTDCNSP): Likewise. 11826 (VEC_VSTDCQP): Likewise. 11827 (VEC_VSTDCSP): Likewise. 11828 (VEC_VSUBECUQ): Likewise. 11829 (VEC_VSUBEUQM): Likewise. 11830 (VEC_VSUBUDM): Likewise. 11831 (VEC_VSUBUQM): Likewise. 11832 (VEC_VTDCDP): Likewise. 11833 (VEC_VTDCSP): Likewise. 11834 (VEC_VUPKHSW): Likewise. 11835 (VEC_VUPKLSW): Likewise. 11836 118372022-02-01 Andreas Krebbel <krebbel@linux.ibm.com> 11838 11839 PR rtl-optimization/101260 11840 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for 11841 copy_regno. 11842 118432022-02-01 Xi Ruoyao <xry111@mengyan1223.wang> 11844 11845 PR middle-end/95115 11846 * fold-const.cc (const_binop): Do not fold NaN result from 11847 non-NaN operands. 11848 118492022-02-01 Tom de Vries <tdevries@suse.de> 11850 11851 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for 11852 -ftree-loop-distribute-patterns. 11853 (loop_distribution::execute): Don't call transform_reduction_loop for 11854 -fno-tree-loop-distribute-patterns. 11855 118562022-01-31 Andrew Pinski <apinski@marvell.com> 11857 11858 * fold-const.h (operand_compare::operand_equal_p): 11859 Fix comment about OEP_* flags. 11860 118612022-01-31 Jakub Jelinek <jakub@redhat.com> 11862 11863 PR target/104298 11864 * config/rs6000/aix.h (OPTION_GLIBC): Remove. 11865 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise. 11866 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0 11867 if not already defined. 11868 118692022-01-31 Martin Sebor <msebor@redhat.com> 11870 11871 PR middle-end/104232 11872 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument. 11873 Handle PHIs. Add a synonymous overload. 11874 (pass_waccess::check_pointer_uses): Call pointers_related_p. 11875 118762022-01-31 Richard Biener <rguenther@suse.de> 11877 11878 PR tree-optimization/100499 11879 * fold-const.cc (multiple_of_p): Pass the correct type of 11880 the expression to the recursive invocation of multiple_of_p 11881 for conversions and use CASE_CONVERT. 11882 118832022-01-31 Eric Botcazou <ebotcazou@adacore.com> 11884 11885 PR target/104189 11886 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS. 11887 118882022-01-31 Richard Biener <rguenther@suse.de> 11889 11890 PR tree-optimization/100499 11891 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p 11892 on poly-ints instead of multiple_of_p. 11893 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise. 11894 (non_rewritable_mem_ref_base): Likewise. 11895 (non_rewritable_lvalue_p): Likewise. 11896 (execute_update_addresses_taken): Likewise. 11897 118982022-01-29 Jakub Jelinek <jakub@redhat.com> 11899 Andrew Pinski <apinski@marvell.com> 11900 11901 PR tree-optimization/104279 11902 PR tree-optimization/104280 11903 PR tree-optimization/104281 11904 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with 11905 boolean_type_node and convert to type. Formatting fixes. 11906 119072022-01-28 Yoshinori Sato <yo-satoh@sios.com> 11908 11909 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a. 11910 119112022-01-28 Navid Rahimi <navidrahimi@microsoft.com> 11912 11913 PR tree-optimization/103514 11914 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization. 11915 (a & b) == (a ^ b) -> !(a | b): New optimization. 11916 119172022-01-28 Marek Polacek <polacek@redhat.com> 11918 11919 * doc/invoke.texi: Update -Wbidi-chars documentation. 11920 119212022-01-28 Iain Sandoe <iain@sandoe.co.uk> 11922 11923 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0. 11924 119252022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com> 11926 11927 PR tree-optimization/95424 11928 * match.pd: Simplify 1 / X where X is an integer. 11929 119302022-01-28 Jakub Jelinek <jakub@redhat.com> 11931 11932 PR tree-optimization/104263 11933 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For 11934 cfun->can_throw_non_call_exceptions && cfun->eh test whether 11935 last non-debug stmt in the bb is store_valid_for_store_merging_p 11936 rather than last stmt. 11937 119382022-01-28 Martin Liska <mliska@suse.cz> 11939 11940 * diagnostic.cc (diagnostic_action_after_output): Remove extra 11941 newline. 11942 119432022-01-28 Martin Liska <mliska@suse.cz> 11944 11945 * config/rs6000/host-darwin.cc (segv_crash_handler): 11946 Do not use leading capital letter. 11947 (segv_handler): Likewise. 11948 * ipa-sra.cc (verify_splitting_accesses): Likewise. 11949 * varasm.cc (get_section): Likewise. 11950 119512022-01-28 Richard Biener <rguenther@suse.de> 11952 11953 PR tree-optimization/104267 11954 * tree-vect-stmts.cc (vectorizable_call): Properly use the 11955 per-argument determined vector type for externals and 11956 invariants. 11957 119582022-01-28 Richard Biener <rguenther@suse.de> 11959 11960 PR tree-optimization/104263 11961 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges): 11962 Purge edges also when !cfun->has_nonlocal_label 11963 and !cfun->calls_setjmp. 11964 119652022-01-28 Maciej W. Rozycki <macro@embecosm.com> 11966 11967 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type' 11968 attributes. 11969 119702022-01-28 Jakub Jelinek <jakub@redhat.com> 11971 11972 PR lto/104237 11973 * cfgrtl.cc (loc_equal): New function. 11974 (unique_locus_on_edge_between_p): Use it. 11975 119762022-01-28 Richard Biener <rguenther@suse.de> 11977 11978 * cfganal.h (mark_dfs_back_edges): Provide API with struct 11979 function argument. 11980 * cfganal.cc (mark_dfs_back_edges): Take a struct function 11981 to work on, add a wrapper passing cfun. 11982 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun 11983 uses with fun which is already passed. 11984 (draw_cfg_edges): Likewise. 11985 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop 11986 for fun != cfun. 11987 119882022-01-27 Patrick Palka <ppalka@redhat.com> 11989 11990 PR c++/99895 11991 * tree.cc (build_call_vec): Add const to second parameter. 11992 * tree.h (build_call_vec): Likewise. 11993 119942022-01-27 Martin Liska <mliska@suse.cz> 11995 11996 PR web/104254 11997 * diagnostic.cc (diagnostic_initialize): 11998 Initialize report_bug flag. 11999 (diagnostic_action_after_output): 12000 Explain that -freport-bug option can be used for pre-processed 12001 file creation. Make the message shorter. 12002 (error_recursion): Rename Internal to internal. 12003 * diagnostic.h (struct diagnostic_context): New field. 12004 * opts.cc (common_handle_option): Init the field here. 12005 120062022-01-27 Kewen Lin <linkw@linux.ibm.com> 12007 12008 PR target/103702 12009 * config/rs6000/rs6000.cc 12010 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong 12011 assertion with early return. 12012 120132022-01-27 Chung-Lin Tang <cltang@codesourcery.com> 12014 12015 PR middle-end/103642 12016 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling 12017 for non-pointer or non-reference-to-pointer cases. 12018 120192022-01-27 Jakub Jelinek <jakub@redhat.com> 12020 12021 PR tree-optimization/104196 12022 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument. 12023 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true, 12024 return NULL and emit needed stmts before and after stmt. 12025 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt 12026 pick as operand_entry that will hold the merged test the one feeding 12027 earliest condition, ensure that by swapping range->idx with some 12028 other range's idx if needed. If seq is non-NULL, don't actually swap 12029 it but instead rewrite stmts with undefined overflow in between 12030 the two locations. 12031 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the 12032 corresponding condition even if they have non-NULL ops[]->op. 12033 Formatting fix. 12034 120352022-01-26 Jakub Jelinek <jakub@redhat.com> 12036 12037 PR target/104239 12038 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of 12039 asm. 12040 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator 12041 before for loop instead of for init clause. 12042 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise. 12043 120442022-01-26 Jakub Jelinek <jakub@redhat.com> 12045 12046 PR target/104239 12047 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of 12048 _X86INTRIN_H_INCLUDED and adjust #error wording. 12049 * config/rs6000/bmi2intrin.h: Likewise. 12050 120512022-01-26 Jakub Jelinek <jakub@redhat.com> 12052 12053 PR debug/104194 12054 * dwarf2out.cc (long_double_as_float128): New function. 12055 (modified_type_die): For powerpc64le IEEE 754 quad long double 12056 and complex long double emit those as DW_TAG_typedef to 12057 _Float128 or complex _Float128 base type. 12058 120592022-01-26 Marek Polacek <polacek@redhat.com> 12060 12061 PR target/104213 12062 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't 12063 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free. 12064 120652022-01-26 Martin Liska <mliska@suse.cz> 12066 12067 * ipa-modref-tree.cc (modref_access_node::update): 12068 Remove "--param param=foo" with "--param foo". 12069 (modref_access_node::insert): Likewise. 12070 (modref_access_node::insert_kill): Likewise. 12071 * ipa-modref-tree.h (struct modref_ref_node): Likewise. 12072 (struct modref_base_node): Likewise. 12073 (struct modref_tree): Likewise. 12074 120752022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com> 12076 12077 PR target/94193 12078 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0 12079 predicate check. 12080 120812022-01-25 Martin Sebor <msebor@redhat.com> 12082 12083 PR tree-optimization/104203 12084 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use 12085 TV_WARN_ACCESS. 12086 * pointer-query.cc (access_ref::merge_ref): Change return type. 12087 Convert failure to a conservative success. 12088 (access_ref::get_ref): Adjust to the change above. Short-circuit 12089 PHI evaluation after first failure turned into conservative success. 12090 * pointer-query.h (access_ref::merge_ref): Change return type. 12091 * timevar.def (TV_WARN_ACCESS): New timer variable. 12092 120932022-01-25 David Edelsohn <dje.gcc@gmail.com> 12094 12095 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0. 12096 120972022-01-25 Richard Biener <rguenther@suse.de> 12098 12099 PR tree-optimization/104214 12100 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use 12101 stronger guarantees for relational pointer compares when 12102 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as 12103 BASE0 + STEP0 - STEP1 cmp BASE1. 12104 121052022-01-25 Jakub Jelinek <jakub@redhat.com> 12106 12107 PR target/104172 12108 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't 12109 declare. 12110 * config/rs6000/rs6000.cc (rs6000_passes_ieee128, 12111 ieee128_mangling_gcc_8_1): Remove. 12112 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine. 12113 (rs6000_mangle_type): Return "u9__ieee128" instead of 12114 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128". 12115 (rs6000_globalize_decl_name): Remove. 12116 * config/rs6000/rs6000-call.cc (init_cumulative_args, 12117 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128. 12118 121192022-01-24 Martin Sebor <msebor@redhat.com> 12120 12121 * pointer-query.cc (pointer_query::dump): Remove duplicate 12122 block. 12123 121242022-01-24 Marek Polacek <polacek@redhat.com> 12125 12126 PR preprocessor/104030 12127 * doc/invoke.texi: Update documentation for -Wbidi-chars. 12128 121292022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com> 12130 12131 PR target/94193 12132 * builtins.cc (expand_builtin_fegetround): New function. 12133 (expand_builtin_feclear_feraise_except): New function. 12134 (expand_builtin): Add cases for BUILT_IN_FEGETROUND, 12135 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT. 12136 * config/rs6000/rs6000.md (fegetroundsi): New pattern. 12137 (feclearexceptsi): New Pattern. 12138 (feraiseexceptsi): New Pattern. 12139 * doc/extend.texi: Add a new introductory paragraph about the 12140 new builtins. 12141 * doc/md.texi: (fegetround@var{m}): Document new optab. 12142 (feclearexcept@var{m}): Document new optab. 12143 (feraiseexcept@var{m}): Document new optab. 12144 * optabs.def (fegetround_optab): New optab. 12145 (feclearexcept_optab): New optab. 12146 (feraiseexcept_optab): New optab. 12147 121482022-01-24 Richard Biener <rguenther@suse.de> 12149 Jiufu Guo <guojiufu@linux.ibm.com> 12150 12151 PR tree-optimization/100740 12152 PR tree-optimization/101508 12153 PR tree-optimization/101972 12154 PR tree-optimization/102131 12155 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly 12156 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to 12157 BASE0 + STEP0 - STEP1 cmp BASE1 transform. 12158 121592022-01-24 Jakub Jelinek <jakub@redhat.com> 12160 12161 PR sanitizer/104158 12162 * opt-functions.awk (var_set): Handle EnumBitSet property. 12163 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is 12164 specified. 12165 * opts.h (enum cl_enum_var_value): New type. 12166 * opts-common.cc (decode_cmdline_option): Use CLEV_* values. 12167 Handle CLEV_BITSET. 12168 (cmdline_handle_error): Handle CLEV_BITSET. 12169 * opts.cc (test_enum_sets): Also test EnumBitSet requirements. 12170 * doc/options.texi (EnumBitSet): Document. 12171 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of 12172 EnumSet. 12173 (trace-pc, trace-cmp): Drop Set properties. 12174 121752022-01-24 Jakub Jelinek <jakub@redhat.com> 12176 12177 PR sanitizer/104158 12178 * common.opt (flag_sanitize_coverage): Remove Variable entry. 12179 (fsanitize-coverage=): Remove RejectNegative property, add 12180 Var(flag_sanitize_coverage) and EnumSet properties. 12181 (trace-pc): Add Set(1) property. 12182 (trace-cmp): Add Set(2) property. 12183 * opts.cc (common_handle_option): Don't handle 12184 OPT_fsanitize_coverage_. 12185 121862022-01-24 Jakub Jelinek <jakub@redhat.com> 12187 12188 PR sanitizer/104158 12189 * opt-functions.awk (var_set): Handle EnumSet property. 12190 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is 12191 specified. 12192 * opt-read.awk: Handle Set property. 12193 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define. 12194 (struct cl_decoded_option): Mention enum in value description. 12195 Add mask member. 12196 (set_option): Add mask argument defaulted to 0. 12197 * opts.cc (test_enum_sets): New function. 12198 (opts_cc_tests): Call it. 12199 * opts-common.cc (enum_arg_to_value): Change return argument 12200 from bool to int, on success return index into the cl_enum_arg 12201 array, on failure -1. Add len argument, if non-0, use strncmp 12202 instead of strcmp. 12203 (opt_enum_arg_to_value): Adjust caller. 12204 (decode_cmdline_option): Handle EnumSet represented as 12205 CLVC_ENUM with non-zero var_value. Initialize decoded->mask. 12206 (decode_cmdline_options_to_array): CLear opt_array[0].mask. 12207 (handle_option): Pass decoded->mask to set_options last argument. 12208 (generate_option): Clear decoded->mask. 12209 (generate_option_input_file): Likewise. 12210 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG. 12211 (set_option): Add mask argument, use it for CLVC_ENUM. 12212 (control_warning_option): Adjust enum_arg_to_value caller. 12213 * doc/options.texi: Document Set and EnumSet properties. 12214 122152022-01-24 Jakub Jelinek <jakub@redhat.com> 12216 12217 PR bootstrap/104170 12218 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, 12219 OPTION_BIONIC_P, OPTION_MUSL_P): Define. 12220 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine 12221 using OPTION_*_P macros. 12222 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, 12223 OPTION_BIONIC_P, OPTION_MUSL_P): Define. 12224 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine 12225 using OPTION_*_P macros. 12226 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, 12227 OPTION_BIONIC_P, OPTION_MUSL_P): Define. 12228 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine 12229 using OPTION_*_P macros. 12230 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, 12231 OPTION_BIONIC_P, OPTION_MUSL_P): Define. 12232 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine 12233 using OPTION_*_P macros. 12234 * config/fuchsia.h (OPTION_MUSL_P): Redefine. 12235 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined. 12236 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add 12237 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use 12238 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false). 12239 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If 12240 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition, 12241 otherwise assume if (true). 12242 122432022-01-24 Kito Cheng <kito.cheng@sifive.com> 12244 12245 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string): 12246 Skip zicsr and zifencei if I-ext is 2.0. 12247 122482022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn> 12249 12250 * config.gcc: Modify default isa_spec version. 12251 122522022-01-24 Jiufu Guo <guojiufu@linux.ibm.com> 12253 12254 PR tree-optimization/102087 12255 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap): 12256 Correct PLUS result type. 12257 122582022-01-24 H.J. Lu <hjl.tools@gmail.com> 12259 12260 PR target/104188 12261 * config/i386/predicates.md (bcst_mem_operand): Also check mode 12262 of memory broadcast. 12263 122642022-01-23 Andrew Pinski <apinski@marvell.com> 12265 12266 PR target/64821 12267 * config/aarch64/aarch64-builtins.cc 12268 (aarch64_general_gimple_fold_builtin): Handle 12269 __builtin_aarch64_sqrt* and simplify into SQRT internal 12270 function. 12271 122722022-01-22 Jakub Jelinek <jakub@redhat.com> 12273 12274 PR other/104176 12275 * opts-global.cc (handle_common_deferred_options): Quote 12276 --enable-plugin in diagnostics to avoid -Werror=format-diag. 12277 122782022-01-21 Michael Meissner <meissner@the-meissners.org> 12279 12280 PR target/104136 12281 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete. 12282 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete. 12283 * config/rs6000/rs6000.md (prefixed attribute): Delete section 12284 that sets the prefixed attribute for xxspltiw, xxspltidp, and 12285 xxsplti32dx instructions. 12286 (movsf_hardfloat): Explicitly set the prefixed attribute 12287 when xxspltiw and xxspltidp instructions are generated. 12288 (mov<mode>_hardfloat32): Likewise. 12289 (mov<mode>_hardfloat64): Likewise. 12290 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the 12291 prefixed attribute for xxspltiw and xxspltidp instructions. 12292 (vsx_mov<mode>_32bit): Likewise. 12293 122942022-01-21 H.J. Lu <hjl.tools@gmail.com> 12295 12296 PR bootstrap/104170 12297 * common/config/i386/i386-common.cc (ix86_supports_split_stack): 12298 Return true only on glibc. 12299 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): 12300 Revert commit c163647ffbc. 12301 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise. 12302 123032022-01-21 Sören Tempel <soeren@soeren-tempel.net> 12304 12305 * common/config/s390/s390-common.cc (s390_supports_split_stack): 12306 Only support split-stack on glibc targets. 12307 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto. 12308 * config/i386/gnu.h (defined): Ditto. 12309 123102022-01-21 Bill Schmidt <wschmidt@linux.ibm.com> 12311 12312 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for 12313 vector float and vector double. 12314 123152022-01-21 Bill Seurer <seurer@gcc.gnu.org> 12316 12317 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher): 12318 Fix mention of ifunc in string. 12319 123202022-01-21 Roger Sayle <roger@nextmovesoftware.com> 12321 12322 PR middle-end/104140 12323 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the 12324 operands of the widening multiplication are either both signed or 12325 both unsigned, and abort the conversion if mismatched. 12326 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node. 12327 (MULT_HIGHPART_EXPR): Clarify that operands must have the same 12328 signedness. 12329 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have 12330 integer types with the same precision and signedness. 12331 (WIDEN_MULT_EXPR): Document that operands must have integer types 12332 with the same precision, but possibly differing signedness. 12333 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against 12334 riscv_current_subset_list returning a NULL pointer (empty list). 12335 123362022-01-21 Vladimir N. Makarov <vmakarov@redhat.com> 12337 12338 PR target/103676 12339 * ira.h (struct target_ira): Add member 12340 x_ira_exclude_class_mode_regs. 12341 (ira_exclude_class_mode_regs): New macro. 12342 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and 12343 move from here ... 12344 * lra-int.h: ... to here. 12345 (lra_create_new_reg_with_unique_value): Add arg 12346 exclude_start_hard_regs. 12347 (class lra_reg): Add member exclude_start_hard_regs. 12348 * lra-assigns.cc (find_hard_regno_for_1): Setup 12349 impossible_start_hard_regs from exclude_start_hard_regs. 12350 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass 12351 it lra_create_new_reg[_with_unique_value]. 12352 (match_reload): Ditto. 12353 (check_and_process_move): Pass NULL 12354 exclude_start_hard_regs to lra_create_new_reg_with_unique_value. 12355 (goal_alt_exclude_start_hard_regs): New static variable. 12356 (process_addr_reg, simplify_operand_subreg): Pass NULL 12357 exclude_start_hard_regs to lra_create_new_reg_with_unique_value 12358 and get_reload_reg. 12359 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs. 12360 Use this_alternative_exclude_start_hard_regs additionally to find 12361 winning operand alternative. 12362 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL 12363 exclude_start_hard_regs to lra_create_new_reg. 12364 (process_address_1, emit_inc): Ditto. 12365 (curr_insn_transform): Pass exclude_start_hard_regs value to 12366 lra_create_new_reg, get_reload_reg, match_reload. 12367 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs 12368 to lra_create_new_reg. 12369 (process_invariant_for_inheritance): Ditto. 12370 * lra-remat.cc (update_scratch_ops): Ditto. 12371 * lra.cc (lra_create_new_reg_with_unique_value): Add arg 12372 exclude_start_hard_regs. Setup the corresponding member of 12373 lra reg info. 12374 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it 12375 to lra_create_new_reg_with_unique_value. 12376 (initialize_lra_reg_info_element): Initialize member 12377 exclude_start_hard_regs. 12378 (get_scratch_reg): Pass NULL to lra_create_new_reg. 12379 * ira.cc (setup_prohibited_class_mode_regs): Rename to 12380 setup_prohibited_and_exclude_class_mode_regs and calculate 12381 ira_exclude_class_mode_regs. 12382 123832022-01-21 Martin Liska <mliska@suse.cz> 12384 12385 * configure.ac: Detect ld_is_mold and use it for 12386 comdat_group=yes and gcc_cv_ld_hidden=yes. 12387 * configure: Regenerate. 12388 123892022-01-21 Richard Biener <rguenther@suse.de> 12390 12391 PR tree-optimization/100089 12392 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization 12393 of if-converted loops with unvectorized COND_EXPRs for 12394 all but the unlimited cost models. 12395 123962022-01-21 Ard Biesheuvel <ardb@kernel.org> 12397 12398 * config/arm/arm-opts.h (enum stack_protector_guard): New. 12399 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem): 12400 New. 12401 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define. 12402 (arm_option_override_internal): Handle and put in error checks. 12403 for stack protector guard options. 12404 (arm_option_reconfigure_globals): Likewise. 12405 (arm_stack_protect_tls_canary_mem): New. 12406 (arm_stack_protect_guard): New. 12407 * config/arm/arm.md (stack_protect_set): New. 12408 (stack_protect_set_tls): Likewise. 12409 (stack_protect_test): Likewise. 12410 (stack_protect_test_tls): Likewise. 12411 (reload_tp_hard): Likewise. 12412 * config/arm/arm.opt (-mstack-protector-guard): New 12413 (-mstack-protector-guard-offset): New. 12414 * doc/invoke.texi: Document new options. 12415 124162022-01-21 Richard Biener <rguenther@suse.de> 12417 12418 PR tree-optimization/104156 12419 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop): 12420 Collect and reset debug stmts with out-of-loop uses when 12421 hoisting guards. 12422 (find_loop_guard): Adjust. 12423 (empty_bb_without_guard_p): Likewise. Ignore debug stmts. 12424 (used_outside_loop_p): Push debug uses to a vector of 12425 debug stmts to reset. 12426 (hoist_guard): Adjust -fopt-info category. 12427 124282022-01-21 Richard Biener <rguenther@suse.de> 12429 12430 PR tree-optimization/104152 12431 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing 12432 can_duplicate_and_interleave_p check. 12433 124342022-01-21 Jakub Jelinek <jakub@redhat.com> 12435 12436 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): 12437 Avoid passing var to warning_at when the format string doesn't 12438 refer to it. 12439 124402022-01-21 Aldy Hernandez <aldyh@redhat.com> 12441 12442 PR tree-optimization/103721 12443 * gimple-range-path.cc 12444 (path_range_query::relations_may_be_invalidated): New. 12445 (path_range_query::compute_ranges_in_block): Reset relations if 12446 they may be invalidated. 12447 (path_range_query::maybe_register_phi_relation): Exit if relations 12448 may be invalidated on incoming edge. 12449 (path_range_query::compute_phi_relations): Pass incoming PHI edge 12450 to maybe_register_phi_relation. 12451 * gimple-range-path.h (relations_may_be_invalidated): New. 12452 (maybe_register_phi_relation): Pass edge instead of tree. 12453 * tree-ssa-threadbackward.cc (back_threader::back_threader): 12454 Mark DFS edges. 12455 * value-relation.cc (path_oracle::path_oracle): Call 12456 mark_dfs_back_edges. 12457 (path_oracle::register_relation): Add SSA names to m_registered 12458 bitmap. 12459 (path_oracle::reset_path): Clear m_registered bitmap. 12460 * value-relation.h (path_oracle::set_root_oracle): New. 12461 124622022-01-21 Jakub Jelinek <jakub@redhat.com> 12463 12464 PR rtl-optimization/102478 12465 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't 12466 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg 12467 would be needed. 12468 124692022-01-20 Richard Biener <rguenther@suse.de> 12470 12471 PR middle-end/100786 12472 * gimple-fold.cc (get_symbol_constant_value): Only return 12473 values of compatible type to the symbol. 12474 124752022-01-20 Andrew MacLeod <amacleod@redhat.com> 12476 12477 * value-relation.cc (relation_oracle::valid_equivs): Query and add 12478 if valid members of a set. 12479 (equiv_oracle::register_equiv): Call valid_equivs rather than 12480 bitmap direct operations. 12481 (path_oracle::register_equiv): Ditto. 12482 * value-relation.h (relation_oracle::valid_equivs): New prototype. 12483 124842022-01-20 Richard Biener <rguenther@suse.de> 12485 12486 PR target/100784 12487 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for 12488 LHS before folding __builtin_ia32_shufpd and friends. 12489 124902022-01-20 Richard Earnshaw <rearnsha@arm.com> 12491 12492 * config/arm/crypto.md (aes_op_protect): Allow moves from core 12493 registers and from memory. 12494 (aes_op_protect_misalign_load): New pattern. 12495 (aes_op_protect_neon_vld1v16qi): New pattern. 12496 124972022-01-20 Richard Earnshaw <rearnsha@arm.com> 12498 12499 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected): 12500 New pattern. 12501 (aarch32_crypto_aese_fused_protected): Likewise. 12502 (aarch32_crypto_aesd_fused_protected): Likewise. 12503 125042022-01-20 Richard Earnshaw <rearnsha@arm.com> 12505 12506 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert 12507 to define_expand. Add mitigation for the Cortex-A AES erratum 12508 when enabled. 12509 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based 12510 on original crypto_<CRYPTO_AES:crypto_pattern> insn. 12511 (aes_op_protect): New pattern. 12512 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT. 12513 125142022-01-20 Richard Earnshaw <rearnsha@arm.com> 12515 12516 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature 12517 (ALL_QUIRKS): Add it. 12518 (cortex-a57, cortex-a72): Enable it. 12519 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise. 12520 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line 12521 option. 12522 (mfix-cortex-a72-aes-1655431): New option alias. 12523 * config/arm/arm.cc (arm_option_override): Handle default settings 12524 for AES erratum switch. 12525 * doc/invoke.texi (Arm Options): Document new options. 12526 125272022-01-20 Richard Earnshaw <rearnsha@arm.com> 12528 12529 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use 12530 <crypto_mode> rather than hard-coding the mode. 12531 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space. 12532 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise. 12533 (*aarch32_crypto_aese_fused): Likewise. 12534 (*aarch32_crypto_aesd_fused): Likewise. 12535 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise. 12536 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise. 12537 (crypto_sha1h_lb): Likewise. 12538 (crypto_vmullp64): Likewise. 12539 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise. 12540 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise. 12541 125422022-01-20 Richard Earnshaw <rearnsha@arm.com> 12543 12544 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add 12545 iterator to pattern name to disambiguate. 12546 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise. 12547 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise. 12548 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise. 12549 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise. 12550 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise. 12551 125522022-01-20 Martin Liska <mliska@suse.cz> 12553 12554 PR bootstrap/104135 12555 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings. 12556 * rtl.cc: Partially disable -Wformat-diag for RTL checking 12557 error messages. 12558 125592022-01-20 Jakub Jelinek <jakub@redhat.com> 12560 12561 PR debug/103874 12562 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and 12563 block_num > 0, index entry even if !have_multiple_function_sections. 12564 125652022-01-20 liuhongt <hongtao.liu@intel.com> 12566 12567 PR target/103771 12568 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance 12569 integral mode mask pack by multi steps which takes 12570 vec_pack_sbool_trunc_optab as start when elements number is 12571 less than BITS_PER_UNITS. 12572 125732022-01-20 Richard Biener <rguenther@suse.de> 12574 12575 PR tree-optimization/104114 12576 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose 12577 single element vector decomposition. 12578 125792022-01-19 Robin Dapp <rdapp@linux.ibm.com> 12580 12581 * ifcvt.cc (noce_convert_multiple_sets_1): New function. 12582 (noce_convert_multiple_sets): Call function a second time if we can 12583 improve the first try. 12584 125852022-01-19 Robin Dapp <rdapp@linux.ibm.com> 12586 12587 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the 12588 reversed comparison. 12589 (try_emit_cmove_seq): New function to facilitate creating a cmov 12590 sequence. 12591 (noce_convert_multiple_sets): Create two sequences and use the less 12592 expensive one. 12593 125942022-01-19 Robin Dapp <rdapp@linux.ibm.com> 12595 12596 * rtl.h (struct rtx_comparison): New struct that holds an rtx 12597 comparison. 12598 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of 12599 single parameters. 12600 (rs6000_emit_swsqrt): Likewise. 12601 * expmed.cc (expand_sdiv_pow2): Likewise. 12602 (emit_store_flag): Likewise. 12603 * expr.cc (expand_cond_expr_using_cmove): Likewise. 12604 (expand_expr_real_2): Likewise. 12605 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare 12606 parameters. 12607 * optabs.cc (emit_conditional_move_1): New function. 12608 (expand_doubleword_shift_condmove): Use struct. 12609 (emit_conditional_move): Use struct and allow to call directly 12610 without going through preparation steps. 12611 * optabs.h (emit_conditional_move): Use struct. 12612 126132022-01-19 Robin Dapp <rdapp@linux.ibm.com> 12614 12615 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs. 12616 (noce_process_if_block): Use potential costs. 12617 126182022-01-19 Robin Dapp <rdapp@linux.ibm.com> 12619 12620 * ifcvt.cc (noce_convert_multiple_sets): Allow constants. 12621 (bb_ok_for_noce_convert_multiple_sets): Likewise. 12622 126232022-01-19 Robin Dapp <rdapp@linux.ibm.com> 12624 12625 * ifcvt.cc (need_cmov_or_rewire): New function. 12626 (noce_convert_multiple_sets): Call it. 12627 126282022-01-19 David Malcolm <dmalcolm@redhat.com> 12629 12630 * attribs.cc (attribute_c_tests): Rename to... 12631 (attribs_cc_tests): ...this. 12632 * bitmap.cc (bitmap_c_tests): Rename to... 12633 (bitmap_cc_tests): ...this. 12634 * cgraph.cc (cgraph_c_finalize): Rename to... 12635 (cgraph_cc_finalize): ...this. 12636 (cgraph_c_tests): Rename to... 12637 (cgraph_cc_tests): ...this. 12638 * cgraph.h (cgraph_c_finalize): Rename to... 12639 (cgraph_cc_finalize): ...this. 12640 (cgraphunit_c_finalize): Rename to... 12641 (cgraphunit_cc_finalize): ...this. 12642 * cgraphunit.cc (cgraphunit_c_finalize): Rename to... 12643 (cgraphunit_cc_finalize): ...this. 12644 * convert.cc (convert_c_tests): Rename to... 12645 (convert_cc_tests): ...this. 12646 * dbgcnt.cc (dbgcnt_c_tests): Rename to... 12647 (dbgcnt_cc_tests): ...this. 12648 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to... 12649 (diagnostic_show_locus_cc_tests): ...this. 12650 * diagnostic.cc (diagnostic_c_tests): Rename to... 12651 (diagnostic_cc_tests): ...this. 12652 * dumpfile.cc (dumpfile_c_tests): Rename to... 12653 (dumpfile_cc_tests): ...this. 12654 * dwarf2out.cc (dwarf2out_c_finalize): Rename to... 12655 (dwarf2out_cc_finalize): ...this. 12656 * dwarf2out.h (dwarf2out_c_finalize): Rename to... 12657 (dwarf2out_cc_finalize): ...this. 12658 * edit-context.cc (edit_context_c_tests): Rename to... 12659 (edit_context_cc_tests): ...this. 12660 * et-forest.cc (et_forest_c_tests): Rename to... 12661 (et_forest_cc_tests): ...this. 12662 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to... 12663 (fibonacci_heap_cc_tests): ...this. 12664 * fold-const.cc (fold_const_c_tests): Rename to... 12665 (fold_const_cc_tests): ...this. 12666 * function-tests.cc (function_tests_c_tests): Rename to... 12667 (function_tests_cc_tests): ...this. 12668 * gcse.cc (gcse_c_finalize): Rename to... 12669 (gcse_cc_finalize): ...this. 12670 * gcse.h (gcse_c_finalize): Rename to... 12671 (gcse_cc_finalize): ...this. 12672 * ggc-tests.cc (ggc_tests_c_tests): Rename to... 12673 (ggc_tests_cc_tests): ...this. 12674 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to... 12675 (store_merging_cc_tests): ...this. 12676 * gimple.cc (gimple_c_tests): Rename to... 12677 (gimple_cc_tests): ...this. 12678 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to... 12679 (hash_map_tests_cc_tests): ...this. 12680 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to... 12681 (hash_set_tests_cc_tests): ...this. 12682 * input.cc (input_c_tests): Rename to... 12683 (input_cc_tests): ...this. 12684 * ipa-cp.cc (ipa_cp_c_finalize): Rename to... 12685 (ipa_cp_cc_finalize): ...this. 12686 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to... 12687 (ipa_fnsummary_cc_finalize): ...this. 12688 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to... 12689 (ipa_fnsummary_cc_finalize): ...this. 12690 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to... 12691 (ipa_modref_tree_cc_tests): ...this. 12692 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl. 12693 * ipa-modref.cc (ipa_modref_c_finalize): Rename to... 12694 (ipa_modref_cc_finalize): ...this. 12695 * ipa-modref.h (ipa_modref_c_finalize): Rename to... 12696 (ipa_modref_cc_finalize): ...this. 12697 * ipa-prop.h (ipa_cp_c_finalize): Rename to... 12698 (ipa_cp_cc_finalize): ...this. 12699 * ipa-reference.cc (ipa_reference_c_finalize): Rename to... 12700 (ipa_reference_cc_finalize): ...this. 12701 * ipa-reference.h (ipa_reference_c_finalize): Rename to... 12702 (ipa_reference_cc_finalize): ...this. 12703 * ira-costs.cc (ira_costs_c_finalize): Rename to... 12704 (ira_costs_cc_finalize): ...this. 12705 * ira.h (ira_costs_c_finalize): Rename to... 12706 (ira_costs_cc_finalize): ...this. 12707 * opt-suggestions.cc (opt_proposer_c_tests): Rename to... 12708 (opt_suggestions_cc_tests): ...this. 12709 * opts.cc (opts_c_tests): Rename to... 12710 (opts_cc_tests): ...this. 12711 * predict.cc (predict_c_tests): Rename to... 12712 (predict_cc_tests): ...this. 12713 * pretty-print.cc (pretty_print_c_tests): Rename to... 12714 (pretty_print_cc_tests): ...this. 12715 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to... 12716 (read_rtl_function_cc_tests): ...this. 12717 * rtl-tests.cc (rtl_tests_c_tests): Rename to... 12718 (rtl_tests_cc_tests): ...this. 12719 * sbitmap.cc (sbitmap_c_tests): Rename to... 12720 (sbitmap_cc_tests): ...this. 12721 * selftest-run-tests.cc (selftest::run_tests): Update calls for 12722 _c_ to _cc_ function renamings; fix names of attribs and 12723 opt-suggestions tests. 12724 * selftest.cc (selftest_c_tests): Rename to... 12725 (selftest_cc_tests): ...this. 12726 * selftest.h (attribute_c_tests): Rename to... 12727 (attribs_cc_tests): ...this. 12728 (bitmap_c_tests): Rename to... 12729 (bitmap_cc_tests): ...this. 12730 (cgraph_c_tests): Rename to... 12731 (cgraph_cc_tests): ...this. 12732 (convert_c_tests): Rename to... 12733 (convert_cc_tests): ...this. 12734 (diagnostic_c_tests): Rename to... 12735 (diagnostic_cc_tests): ...this. 12736 (diagnostic_show_locus_c_tests): Rename to... 12737 (diagnostic_show_locus_cc_tests): ...this. 12738 (dumpfile_c_tests): Rename to... 12739 (dumpfile_cc_tests): ...this. 12740 (edit_context_c_tests): Rename to... 12741 (edit_context_cc_tests): ...this. 12742 (et_forest_c_tests): Rename to... 12743 (et_forest_cc_tests): ...this. 12744 (fibonacci_heap_c_tests): Rename to... 12745 (fibonacci_heap_cc_tests): ...this. 12746 (fold_const_c_tests): Rename to... 12747 (fold_const_cc_tests): ...this. 12748 (function_tests_c_tests): Rename to... 12749 (function_tests_cc_tests): ...this. 12750 (ggc_tests_c_tests): Rename to... 12751 (ggc_tests_cc_tests): ...this. 12752 (gimple_c_tests): Rename to... 12753 (gimple_cc_tests): ...this. 12754 (hash_map_tests_c_tests): Rename to... 12755 (hash_map_tests_cc_tests): ...this. 12756 (hash_set_tests_c_tests): Rename to... 12757 (hash_set_tests_cc_tests): ...this. 12758 (input_c_tests): Rename to... 12759 (input_cc_tests): ...this. 12760 (opts_c_tests): Rename to... 12761 (opts_cc_tests): ...this. 12762 (predict_c_tests): Rename to... 12763 (predict_cc_tests): ...this. 12764 (pretty_print_c_tests): Rename to... 12765 (pretty_print_cc_tests): ...this. 12766 (read_rtl_function_c_tests): Rename to... 12767 (read_rtl_function_cc_tests): ...this. 12768 (rtl_tests_c_tests): Rename to... 12769 (rtl_tests_cc_tests): ...this. 12770 (sbitmap_c_tests): Rename to... 12771 (sbitmap_cc_tests): ...this. 12772 (selftest_c_tests): Rename to... 12773 (selftest_cc_tests): ...this. 12774 (simplify_rtx_c_tests): Rename to... 12775 (simplify_rtx_cc_tests): ...this. 12776 (spellcheck_c_tests): Rename to... 12777 (spellcheck_cc_tests): ...this. 12778 (spellcheck_tree_c_tests): Rename to... 12779 (spellcheck_tree_cc_tests): ...this. 12780 (sreal_c_tests): Rename to... 12781 (sreal_cc_tests): ...this. 12782 (store_merging_c_tests): Rename to... 12783 (store_merging_cc_tests): ...this. 12784 (tree_c_tests): Rename to... 12785 (tree_cc_tests): ...this. 12786 (tree_cfg_c_tests): Rename to... 12787 (tree_cfg_cc_tests): ...this. 12788 (typed_splay_tree_c_tests): Rename to... 12789 (typed_splay_tree_cc_tests): ...this. 12790 (vec_c_tests): Rename to... 12791 (vec_cc_tests): ...this. 12792 (vec_perm_indices_c_tests): Rename to... 12793 (vec_perm_indices_cc_tests): ..this. 12794 (opt_proposer_c_tests): Rename to... 12795 (opt_suggestions_cc_tests): ...this. 12796 (dbgcnt_c_tests): Rename to... 12797 (dbgcnt_cc_tests): ...this. 12798 (ipa_modref_tree_c_tests): Rename to... 12799 (ipa_modref_tree_cc_tests): ...this. 12800 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to... 12801 (simplify_rtx_cc_tests): ...this. 12802 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to... 12803 (spellcheck_tree_cc_tests): ...this. 12804 * spellcheck.cc (spellcheck_c_tests): Rename to... 12805 (spellcheck_cc_tests): ...this. 12806 * sreal.cc (sreal_c_tests): Rename to... 12807 (sreal_cc_tests): ...this. 12808 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_ 12809 function renamings. 12810 * tree-cfg.cc (tree_cfg_c_tests): Rename to... 12811 (tree_cfg_cc_tests): ...this. 12812 * tree.cc (tree_c_tests): Rename to... 12813 (tree_cc_tests): ...this. 12814 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to... 12815 (typed_splay_tree_cc_tests): ...this. 12816 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to... 12817 (vec_perm_indices_cc_tests): ...this. 12818 * vec.cc (vec_c_tests): Rename to... 12819 (vec_cc_tests): ...this. 12820 128212022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com> 12822 12823 PR tree-optimization/103997 12824 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue 12825 vectorization. 12826 128272022-01-19 Jakub Jelinek <jakub@redhat.com> 12828 12829 PR middle-end/102860 12830 * match.pd (x %[fl] y -> x % y): New simplification for 12831 unsigned integral types. 12832 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab 12833 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE. 12834 128352022-01-19 Richard Biener <rguenther@suse.de> 12836 12837 PR tree-optimization/104112 12838 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check 12839 for required intermediate vector types. 12840 128412022-01-19 Jakub Jelinek <jakub@redhat.com> 12842 12843 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:. 12844 128452022-01-19 Martin Liska <mliska@suse.cz> 12846 12847 * configure.ac: Remove -Wno-error=format-diag. 12848 * configure: Regenerate. 12849 128502022-01-19 Martin Liska <mliska@suse.cz> 12851 12852 * config/riscv/riscv.cc (riscv_handle_type_attribute): 12853 Update one -Wformat-diag string in warning message. 12854 128552022-01-19 Jakub Jelinek <jakub@redhat.com> 12856 12857 PR middle-end/104103 12858 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check 12859 .ASAN_MARK calls. 12860 128612022-01-19 Jakub Jelinek <jakub@redhat.com> 12862 12863 PR c++/89074 12864 * fold-const.cc (address_compare): Consider different STRING_CSTs 12865 with the same lengths that memcmp the same as equal, not different. 12866 128672022-01-19 Jakub Jelinek <jakub@redhat.com> 12868 12869 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of 12870 {%0}. 12871 128722022-01-19 Martin Liska <mliska@suse.cz> 12873 Thomas Schwinge <thomas@codesourcery.com> 12874 12875 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update 12876 warning messages. 12877 128782022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de> 12879 12880 PR target/104090 12881 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also 12882 rs6000_cpu. 12883 128842022-01-19 Jakub Jelinek <jakub@redhat.com> 12885 12886 PR target/104104 12887 * config/i386/sse.md 12888 (<avx512>_<complexopname>_<mode><maskc_name><round_name>, 12889 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>, 12890 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>, 12891 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>, 12892 avx512dq_rangep<mode><mask_name><round_saeonly_name>, 12893 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>, 12894 <avx512>_getmant<mode><mask_name><round_saeonly_name>, 12895 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>): 12896 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}. 12897 128982022-01-19 Martin Sebor <msebor@redhat.com> 12899 12900 PR middle-end/104069 12901 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for 12902 an unknown result as documented. 12903 129042022-01-18 Andrew Pinski <apinski@marvell.com> 12905 12906 * ipa-split.cc (visit_bb): Fix comment before the 12907 warning/error attribute checking code. 12908 129092022-01-18 David Faust <david.faust@oracle.com> 12910 12911 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account 12912 for base strtab offset yet as it may change. 12913 (output_asm_btfext_core_reloc): Do so here instead. 12914 (output_btfext_core_sections): Likewise. 12915 129162022-01-18 David Faust <david.faust@oracle.com> 12917 12918 * config/bpf/coreout.cc (output_btfext_header): Account for 12919 4-byte record size in core_relo_len. 12920 (output_btfext_core_sections): Only write record size once. 12921 * config/bpf/coreout.h (btf_ext_section_header): Delete unused 12922 member. 12923 129242022-01-18 Maciej W. Rozycki <macro@embecosm.com> 12925 12926 * common/config/riscv/riscv-common.cc 12927 (riscv_subset_list::parse_multiletter_ext): Move pointer 12928 arithmetic ahead of `free'. 12929 129302022-01-18 Jason Merrill <jason@redhat.com> 12931 12932 PR c++/104007 12933 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional 12934 context. 12935 129362022-01-18 Sandra Loosemore <sandra@codesourcery.com> 12937 12938 PR middle-end/103163 12939 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here... 12940 (init_emit_once): ...not here. 12941 129422022-01-18 Martin Liska <mliska@suse.cz> 12943 12944 * collect2.cc (scan_libraries): Fix -Wformat-diag issues. 12945 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise. 12946 * config/arc/arc.md: Likewise. 12947 * config/avr/avr.cc (avr_section_type_flags): Likewise. 12948 * config/bfin/bfin.cc (bfin_option_override): Likewise. 12949 (bfin_handle_longcall_attribute): Likewise. 12950 * config/cris/cris.h (FUNCTION_PROFILER): Likewise. 12951 * config/frv/frv.cc (frv_expand_builtin): Likewise. 12952 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise. 12953 * config/iq2000/iq2000.cc (save_restore_insns): Likewise. 12954 (iq2000_print_operand_address): Likewise. 12955 (iq2000_print_operand): Likewise. 12956 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise. 12957 (m32c_pragma_address): Likewise. 12958 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise. 12959 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise. 12960 (mips_set_compression_mode): Likewise. 12961 * config/mmix/mmix.cc (mmix_function_profiler): Likewise. 12962 (mmix_print_operand): Likewise. 12963 (mmix_output_shiftvalue_op_from_str): Likewise. 12964 (mmix_output_shifted_value): Likewise. 12965 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise. 12966 * config/msp430/msp430.cc (msp430_option_override): Likewise. 12967 (msp430_attr): Likewise. 12968 (msp430_expand_delay_cycles): Likewise. 12969 (msp430_expand_builtin): Likewise. 12970 * config/rs6000/aix73.h: Likewise. 12971 * config/rs6000/rtems.h (INVALID_64BIT): Likewise. 12972 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise. 12973 (valid_psw_flag): Likewise. 12974 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise. 12975 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise. 12976 (xstormy16_expand_builtin_va_start): Likewise. 12977 (xstormy16_handle_below100_attribute): Likewise. 12978 129792022-01-18 Martin Liska <mliska@suse.cz> 12980 12981 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag 12982 warning. 12983 (vms_pragma_standard): Likewise. 12984 (vms_pragma_extern_prefix): Likewise. 12985 129862022-01-18 Martin Liska <mliska@suse.cz> 12987 12988 * config/xtensa/xtensa.cc (print_operand): Fix warnings. 12989 (print_operand_address): Likewise. 12990 (xtensa_multibss_section_type_flags): Likewise. 12991 129922022-01-18 Martin Liska <mliska@suse.cz> 12993 12994 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change 12995 wording of an error message. 12996 129972022-01-18 Martin Liska <mliska@suse.cz> 12998 12999 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag 13000 warning. 13001 (ghs_pragma_section): Likewise. 13002 (ghs_pragma_interrupt): Likewise. 13003 (ghs_pragma_starttda): Likewise. 13004 (ghs_pragma_startsda): Likewise. 13005 (ghs_pragma_startzda): Likewise. 13006 (ghs_pragma_endtda): Likewise. 13007 (ghs_pragma_endsda): Likewise. 13008 (ghs_pragma_endzda): Likewise. 13009 130102022-01-18 Martin Liska <mliska@suse.cz> 13011 13012 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl): 13013 Fix warnings. 13014 * config/nds32/nds32-intrinsic.md: Likewise. 13015 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise. 13016 * config/nds32/nds32.cc (nds32_print_operand): Likewise. 13017 (nds32_insert_attributes): Likewise. 13018 130192022-01-18 Martin Liska <mliska@suse.cz> 13020 13021 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap 13022 keyword. 13023 * config/nvptx/nvptx.md: Remove trailing dot. 13024 130252022-01-18 Martin Liska <mliska@suse.cz> 13026 13027 * common/config/riscv/riscv-common.cc (riscv_subset_list::add): 13028 Wrap keywords with quotes and remove trailing dots. 13029 (riscv_subset_list::parsing_subset_version): Likewise. 13030 (riscv_subset_list::parse_std_ext): Likewise. 13031 (riscv_subset_list::parse_multiletter_ext): Likewise. 13032 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise. 13033 130342022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com> 13035 13036 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new 13037 argument suggested_unroll_factor. 13038 (vect_analyze_loop_costing): Likewise. 13039 (_loop_vec_info::_loop_vec_info): Initialize new member 13040 suggested_unroll_factor. 13041 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled 13042 main loop use partial vectors. 13043 (vect_analyze_loop_2): Pass and use new argument 13044 suggested_unroll_factor. 13045 (vect_analyze_loop_1): Change to intialize local 13046 suggested_unroll_factor and use it. 13047 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling. 13048 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member 13049 suggested_unroll_factor. 13050 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor. 13051 (vector_costs::suggested_unroll_factor): New getter function. 13052 (finish_cost): Set return argument suggested_unroll_factor. 13053 130542022-01-18 Andrew MacLeod <amacleod@redhat.com> 13055 13056 PR tree-optimization/104038 13057 * doc/invoke.texi (relation-block-limit): New. 13058 * params.opt (relation-block-limit): New. 13059 * value-relation.cc (dom_oracle::register_relation): Check for NULL 13060 record before invoking transitive registery. 13061 (dom_oracle::set_one_relation): Check limit before creating record. 13062 (dom_oracle::register_transitives): Stop when no record created. 13063 * value-relation.h (relation_chain_head::m_num_relations): New. 13064 130652022-01-18 Richard Biener <rguenther@suse.de> 13066 13067 PR ipa/103989 13068 * ipa-inline.cc (inline_small_functions): Do not enqueue call 13069 edges originating in functions compiled with -Og. 13070 130712022-01-18 Richard Biener <rguenther@suse.de> 13072 13073 PR ipa/103989 13074 * passes.def (pass_all_optimizations_g): Remove pass_modref 13075 and pass_local_pure_const. 13076 130772022-01-18 Martin Liska <mliska@suse.cz> 13078 13079 * config/s390/s390.cc: Fix -Wformat-diag warnings. 13080 130812022-01-18 Martin Liska <mliska@suse.cz> 13082 13083 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap 13084 keyword in quotes. 13085 (s390_resolve_overloaded_builtin): Remove trailing dot. 13086 * config/s390/s390.cc (s390_const_operand_ok): Use - for range. 13087 (s390_expand_builtin): Remove trailing dot. 13088 (s390_emit_prologue): Likewise, use semicolon. 13089 (s390_option_override_internal): Update keyword. 13090 * varasm.cc (do_assemble_alias): Wrap keyword in quotes. 13091 130922022-01-18 Martin Liska <mliska@suse.cz> 13093 13094 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap 13095 keywords and use %qs instead of %<%s%>. 13096 130972022-01-18 Richard Biener <rguenther@suse.de> 13098 13099 PR tree-optimization/103987 13100 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref 13101 query with a pointer check. 13102 131032022-01-18 Richard Sandiford <richard.sandiford@arm.com> 13104 13105 PR target/104005 13106 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems): 13107 When using MEM_EXPR, require the base to be a decl. 13108 131092022-01-18 Richard Biener <rguenther@suse.de> 13110 13111 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to 13112 avoid padding. 13113 * function.h (struct function): Likewise. 13114 131152022-01-18 Arnaud Charlet <charlet@adacore.com> 13116 13117 * doc/install.texi: Update prerequisites for GNAT 13118 131192022-01-18 Andrew Pinski <apinski@marvell.com> 13120 13121 PR tree-optimization/101941 13122 * ipa-split.cc (visit_bb): Disallow function calls where 13123 the function has either error or warning attribute. 13124 131252022-01-18 Richard Biener <rguenther@suse.de> 13126 13127 PR tree-optimization/104064 13128 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check 13129 DR_INIT fits in a signed HWI, represent the difference from the 13130 first DR in unsigned. 13131 131322022-01-17 Martin Liska <mliska@suse.cz> 13133 13134 * Makefile.in: Rename .c names to .cc. 13135 * config.gcc: Likewise. 13136 * configure: Regenerate. Likewise. 13137 * configure.ac: Likewise. 13138 * gengtype.cc (set_gc_used): Likewise. 13139 (source_dot_c_frul): Likewise. 13140 (source_dot_cc_frul): Likewise. 13141 (struct file_rule_st): Likewise. 13142 (close_output_files): Likewise. 13143 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD. 13144 131452022-01-17 Martin Liska <mliska@suse.cz> 13146 13147 * Makefile.in: Rename .c names to .cc. 13148 * alias.h: Likewise. 13149 * asan.cc: Likewise. 13150 * auto-profile.h: Likewise. 13151 * basic-block.h (struct basic_block_d): Likewise. 13152 * btfout.cc: Likewise. 13153 * builtins.cc (expand_builtin_longjmp): Likewise. 13154 (validate_arg): Likewise. 13155 (access_ref::offset_bounded): Likewise. 13156 * caller-save.cc (reg_restore_code): Likewise. 13157 (setup_save_areas): Likewise. 13158 * calls.cc (initialize_argument_information): Likewise. 13159 (expand_call): Likewise. 13160 (emit_library_call_value_1): Likewise. 13161 * cfg-flags.def (RTL): Likewise. 13162 (SIBCALL): Likewise. 13163 (CAN_FALLTHRU): Likewise. 13164 * cfganal.cc (post_order_compute): Likewise. 13165 * cfgcleanup.cc (try_simplify_condjump): Likewise. 13166 (merge_blocks_move_predecessor_nojumps): Likewise. 13167 (merge_blocks_move_successor_nojumps): Likewise. 13168 (merge_blocks_move): Likewise. 13169 (old_insns_match_p): Likewise. 13170 (try_crossjump_bb): Likewise. 13171 * cfgexpand.cc (expand_gimple_stmt): Likewise. 13172 * cfghooks.cc (split_block_before_cond_jump): Likewise. 13173 (profile_record_check_consistency): Likewise. 13174 * cfghooks.h: Likewise. 13175 * cfgrtl.cc (pass_free_cfg::execute): Likewise. 13176 (rtl_can_merge_blocks): Likewise. 13177 (try_redirect_by_replacing_jump): Likewise. 13178 (make_pass_outof_cfg_layout_mode): Likewise. 13179 (cfg_layout_can_merge_blocks_p): Likewise. 13180 * cgraph.cc (release_function_body): Likewise. 13181 (cgraph_node::get_fun): Likewise. 13182 * cgraph.h (struct cgraph_node): Likewise. 13183 (asmname_hasher::equal): Likewise. 13184 (cgraph_inline_failed_type): Likewise. 13185 (thunk_adjust): Likewise. 13186 (dump_callgraph_transformation): Likewise. 13187 (record_references_in_initializer): Likewise. 13188 (ipa_discover_variable_flags): Likewise. 13189 * cgraphclones.cc (GTY): Likewise. 13190 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise. 13191 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise. 13192 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise. 13193 * collect2.cc (maybe_run_lto_and_relink): Likewise. 13194 * combine-stack-adj.cc: Likewise. 13195 * combine.cc (setup_incoming_promotions): Likewise. 13196 (combine_simplify_rtx): Likewise. 13197 (count_rtxs): Likewise. 13198 * common.opt: Likewise. 13199 * common/config/aarch64/aarch64-common.cc: Likewise. 13200 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise. 13201 * common/config/avr/avr-common.cc: Likewise. 13202 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise. 13203 * conditions.h: Likewise. 13204 * config.gcc: Likewise. 13205 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise. 13206 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise. 13207 (aarch64_get_extension_string_for_isa_flags): Likewise. 13208 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise. 13209 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise. 13210 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise. 13211 (aarch64_option_valid_attribute_p): Likewise. 13212 (aarch64_short_vector_p): Likewise. 13213 (aarch64_float_const_representable_p): Likewise. 13214 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise. 13215 (ASM_OUTPUT_POOL_EPILOGUE): Likewise. 13216 (GTY): Likewise. 13217 * config/aarch64/cortex-a57-fma-steering.cc: Likewise. 13218 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise. 13219 * config/aarch64/t-aarch64: Likewise. 13220 * config/aarch64/x-aarch64: Likewise. 13221 * config/aarch64/x-darwin: Likewise. 13222 * config/alpha/alpha-protos.h: Likewise. 13223 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise. 13224 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise. 13225 (enum reg_class): Likewise. 13226 * config/alpha/alpha.md: Likewise. 13227 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise. 13228 * config/alpha/x-alpha: Likewise. 13229 * config/arc/arc-protos.h (arc_eh_uses): Likewise. 13230 * config/arc/arc.cc (ARC_OPT): Likewise. 13231 (arc_ccfsm_advance): Likewise. 13232 (arc_arg_partial_bytes): Likewise. 13233 (conditionalize_nonjump): Likewise. 13234 * config/arc/arc.md: Likewise. 13235 * config/arc/builtins.def: Likewise. 13236 * config/arc/t-arc: Likewise. 13237 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise. 13238 (arm_pragma_target_parse): Likewise. 13239 * config/arm/arm-protos.h (save_restore_target_globals): Likewise. 13240 (arm_cpu_cpp_builtins): Likewise. 13241 * config/arm/arm.cc (vfp3_const_double_index): Likewise. 13242 (shift_op): Likewise. 13243 (thumb2_final_prescan_insn): Likewise. 13244 (arm_final_prescan_insn): Likewise. 13245 (arm_asm_output_labelref): Likewise. 13246 (arm_small_register_classes_for_mode_p): Likewise. 13247 * config/arm/arm.h: Likewise. 13248 * config/arm/arm.md: Likewise. 13249 * config/arm/driver-arm.cc: Likewise. 13250 * config/arm/symbian.h: Likewise. 13251 * config/arm/t-arm: Likewise. 13252 * config/arm/thumb1.md: Likewise. 13253 * config/arm/x-arm: Likewise. 13254 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise. 13255 * config/avr/avr-fixed.md: Likewise. 13256 * config/avr/avr-log.cc (avr_log_vadump): Likewise. 13257 * config/avr/avr-mcus.def: Likewise. 13258 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise. 13259 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise. 13260 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise. 13261 * config/avr/avr.cc (avr_option_override): Likewise. 13262 (avr_build_builtin_va_list): Likewise. 13263 (avr_mode_dependent_address_p): Likewise. 13264 (avr_function_arg_advance): Likewise. 13265 (avr_asm_output_aligned_decl_common): Likewise. 13266 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise. 13267 (SUPPORTS_INIT_PRIORITY): Likewise. 13268 * config/avr/avr.md: Likewise. 13269 * config/avr/builtins.def: Likewise. 13270 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise. 13271 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise. 13272 (main): Likewise. 13273 * config/avr/t-avr: Likewise. 13274 * config/bfin/bfin.cc (frame_related_constant_load): Likewise. 13275 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise. 13276 * config/bpf/bpf.h (enum reg_class): Likewise. 13277 * config/bpf/t-bpf: Likewise. 13278 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise. 13279 * config/cr16/cr16-protos.h: Likewise. 13280 * config/cris/cris.cc (cris_address_cost): Likewise. 13281 (cris_side_effect_mode_ok): Likewise. 13282 (cris_init_machine_status): Likewise. 13283 (cris_emit_movem_store): Likewise. 13284 * config/cris/cris.h (INDEX_REG_CLASS): Likewise. 13285 (enum reg_class): Likewise. 13286 (struct cum_args): Likewise. 13287 * config/cris/cris.opt: Likewise. 13288 * config/cris/sync.md: Likewise. 13289 * config/csky/csky.cc (csky_expand_prologue): Likewise. 13290 * config/darwin-c.cc: Likewise. 13291 * config/darwin-f.cc: Likewise. 13292 * config/darwin-sections.def (zobj_const_section): Likewise. 13293 * config/darwin.cc (output_objc_section_asm_op): Likewise. 13294 (fprintf): Likewise. 13295 * config/darwin.h (GTY): Likewise. 13296 * config/elfos.h: Likewise. 13297 * config/epiphany/epiphany-sched.md: Likewise. 13298 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise. 13299 * config/epiphany/epiphany.h (GTY): Likewise. 13300 (NO_FUNCTION_CSE): Likewise. 13301 * config/epiphany/mode-switch-use.cc: Likewise. 13302 * config/epiphany/predicates.md: Likewise. 13303 * config/epiphany/t-epiphany: Likewise. 13304 * config/fr30/fr30-protos.h: Likewise. 13305 * config/frv/frv-protos.h: Likewise. 13306 * config/frv/frv.cc (TLS_BIAS): Likewise. 13307 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise. 13308 * config/ft32/ft32-protos.h: Likewise. 13309 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise. 13310 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise. 13311 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise. 13312 * config/gcn/t-gcn-hsa: Likewise. 13313 * config/gcn/t-omp-device: Likewise. 13314 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise. 13315 (same_cmp_following_p): Likewise. 13316 * config/h8300/h8300.cc (F): Likewise. 13317 * config/h8300/h8300.h (struct cum_arg): Likewise. 13318 (BRANCH_COST): Likewise. 13319 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise. 13320 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise. 13321 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise. 13322 * config/i386/driver-i386.cc (detect_caches_intel): Likewise. 13323 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise. 13324 * config/i386/i386-c.cc (ix86_target_macros): Likewise. 13325 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise. 13326 * config/i386/i386-options.cc (ix86_set_func_type): Likewise. 13327 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise. 13328 (ix86_register_pragmas): Likewise. 13329 (ix86_d_has_stdcall_convention): Likewise. 13330 (i386_pe_seh_init_sections): Likewise. 13331 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise. 13332 (ix86_function_value_regno_p): Likewise. 13333 (ix86_compute_frame_layout): Likewise. 13334 (legitimize_pe_coff_symbol): Likewise. 13335 (output_pic_addr_const): Likewise. 13336 * config/i386/i386.h (defined): Likewise. 13337 (host_detect_local_cpu): Likewise. 13338 (CONSTANT_ADDRESS_P): Likewise. 13339 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise. 13340 (struct machine_frame_state): Likewise. 13341 * config/i386/i386.md: Likewise. 13342 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise. 13343 * config/i386/mmx.md: Likewise. 13344 * config/i386/sse.md: Likewise. 13345 * config/i386/t-cygming: Likewise. 13346 * config/i386/t-djgpp: Likewise. 13347 * config/i386/t-gnu-property: Likewise. 13348 * config/i386/t-i386: Likewise. 13349 * config/i386/t-intelmic: Likewise. 13350 * config/i386/t-omp-device: Likewise. 13351 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise. 13352 (i386_pe_adjust_class_at_definition): Likewise. 13353 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise. 13354 (i386_pe_mangle_decl_assembler_name): Likewise. 13355 (i386_pe_encode_section_info): Likewise. 13356 * config/i386/x-cygwin: Likewise. 13357 * config/i386/x-darwin: Likewise. 13358 * config/i386/x-i386: Likewise. 13359 * config/i386/x-mingw32: Likewise. 13360 * config/i386/x86-tune-sched-core.cc: Likewise. 13361 * config/i386/x86-tune.def: Likewise. 13362 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise. 13363 * config/ia64/freebsd.h: Likewise. 13364 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise. 13365 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise. 13366 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise. 13367 (ia64_secondary_reload_class): Likewise. 13368 (bundling): Likewise. 13369 * config/ia64/ia64.h: Likewise. 13370 * config/ia64/ia64.md: Likewise. 13371 * config/ia64/predicates.md: Likewise. 13372 * config/ia64/sysv4.h: Likewise. 13373 * config/ia64/t-ia64: Likewise. 13374 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise. 13375 * config/iq2000/iq2000.md: Likewise. 13376 * config/linux.h (TARGET_HAS_BIONIC): Likewise. 13377 (if): Likewise. 13378 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise. 13379 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise. 13380 * config/m32c/t-m32c: Likewise. 13381 * config/m32r/m32r-protos.h: Likewise. 13382 * config/m32r/m32r.cc (m32r_print_operand): Likewise. 13383 * config/m32r/m32r.h: Likewise. 13384 * config/m32r/m32r.md: Likewise. 13385 * config/m68k/m68k-isas.def: Likewise. 13386 * config/m68k/m68k-microarchs.def: Likewise. 13387 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise. 13388 (m68k_epilogue_uses): Likewise. 13389 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise. 13390 (m68k_sched_adjust_cost): Likewise. 13391 (m68k_sched_md_init): Likewise. 13392 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise. 13393 (enum m68k_function_kind): Likewise. 13394 * config/m68k/m68k.md: Likewise. 13395 * config/m68k/m68kemb.h: Likewise. 13396 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise. 13397 * config/mcore/mcore-protos.h: Likewise. 13398 * config/mcore/mcore.cc (mcore_expand_insv): Likewise. 13399 (mcore_expand_prolog): Likewise. 13400 * config/mcore/mcore.h (TARGET_MCORE): Likewise. 13401 * config/mcore/mcore.md: Likewise. 13402 * config/microblaze/microblaze-protos.h: Likewise. 13403 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise. 13404 (microblaze_function_prologue): Likewise. 13405 (microblaze_function_epilogue): Likewise. 13406 (microblaze_select_section): Likewise. 13407 (microblaze_asm_output_mi_thunk): Likewise. 13408 (microblaze_eh_return): Likewise. 13409 * config/microblaze/microblaze.h: Likewise. 13410 * config/microblaze/microblaze.md: Likewise. 13411 * config/microblaze/t-microblaze: Likewise. 13412 * config/mips/driver-native.cc: Likewise. 13413 * config/mips/loongson2ef.md: Likewise. 13414 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise. 13415 * config/mips/mips.cc (mips_rtx_costs): Likewise. 13416 (mips_output_filename): Likewise. 13417 (mips_output_function_prologue): Likewise. 13418 (mips_output_function_epilogue): Likewise. 13419 (mips_output_mi_thunk): Likewise. 13420 * config/mips/mips.h: Likewise. 13421 * config/mips/mips.md: Likewise. 13422 * config/mips/t-mips: Likewise. 13423 * config/mips/x-native: Likewise. 13424 * config/mmix/mmix-protos.h: Likewise. 13425 * config/mmix/mmix.cc (mmix_option_override): Likewise. 13426 (mmix_dbx_register_number): Likewise. 13427 (mmix_expand_prologue): Likewise. 13428 * config/mmix/mmix.h: Likewise. 13429 * config/mmix/mmix.md: Likewise. 13430 * config/mmix/predicates.md: Likewise. 13431 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise. 13432 (mn10300_legitimate_pic_operand_p): Likewise. 13433 * config/mn10300/mn10300.h (enum reg_class): Likewise. 13434 (NO_FUNCTION_CSE): Likewise. 13435 * config/moxie/moxie-protos.h: Likewise. 13436 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise. 13437 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise. 13438 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise. 13439 (msp430_incoming_return_addr_rtx): Likewise. 13440 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise. 13441 * config/msp430/t-msp430: Likewise. 13442 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise. 13443 (nds32_rtx_costs_size_prefer): Likewise. 13444 (nds32_init_rtx_costs): Likewise. 13445 * config/nds32/nds32-doubleword.md: Likewise. 13446 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise. 13447 (nds32_builtin_decl): Likewise. 13448 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise. 13449 (enum nds32_isr_nested_type): Likewise. 13450 (enum reg_class): Likewise. 13451 * config/nds32/predicates.md: Likewise. 13452 * config/nds32/t-nds32: Likewise. 13453 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise. 13454 * config/nvptx/nvptx-protos.h: Likewise. 13455 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise. 13456 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise. 13457 * config/nvptx/t-nvptx: Likewise. 13458 * config/nvptx/t-omp-device: Likewise. 13459 * config/pa/elf.h: Likewise. 13460 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise. 13461 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise. 13462 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise. 13463 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise. 13464 (pa_legitimize_reload_address): Likewise. 13465 (pa_can_use_return_insn): Likewise. 13466 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise. 13467 (som_output_text_section_asm_op): Likewise. 13468 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise. 13469 * config/pa/pa.md: Likewise. 13470 * config/pa/som.h: Likewise. 13471 * config/pa/t-pa: Likewise. 13472 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise. 13473 * config/pdp11/pdp11.h: Likewise. 13474 * config/pdp11/pdp11.md: Likewise. 13475 * config/pdp11/t-pdp11: Likewise. 13476 * config/pru/pru.md: Likewise. 13477 * config/pru/t-pru: Likewise. 13478 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise. 13479 (riscv_gpr_save_operation_p): Likewise. 13480 (riscv_d_register_target_info): Likewise. 13481 (riscv_init_builtins): Likewise. 13482 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise. 13483 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise. 13484 * config/riscv/t-riscv: Likewise. 13485 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise. 13486 * config/rl78/t-rl78: Likewise. 13487 * config/rs6000/aix.h: Likewise. 13488 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise. 13489 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise. 13490 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise. 13491 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise. 13492 * config/rs6000/driver-rs6000.cc: Likewise. 13493 * config/rs6000/freebsd.h: Likewise. 13494 * config/rs6000/freebsd64.h: Likewise. 13495 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise. 13496 * config/rs6000/rbtree.cc: Likewise. 13497 * config/rs6000/rbtree.h: Likewise. 13498 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise. 13499 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise. 13500 (rs6000_expand_builtin): Likewise. 13501 (rs6000_init_builtins): Likewise. 13502 * config/rs6000/rs6000-cpus.def: Likewise. 13503 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise. 13504 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise. 13505 (quad_address_offset_p): Likewise. 13506 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise. 13507 (rs6000_emit_epilogue): Likewise. 13508 * config/rs6000/rs6000-overload.def: Likewise. 13509 * config/rs6000/rs6000-p8swap.cc: Likewise. 13510 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise. 13511 (rs6000_const_f32_to_i32): Likewise. 13512 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise. 13513 (rs6000_debug_legitimize_address): Likewise. 13514 (rs6000_mode_dependent_address): Likewise. 13515 (rs6000_adjust_priority): Likewise. 13516 (rs6000_c_mode_for_suffix): Likewise. 13517 * config/rs6000/rs6000.h (defined): Likewise. 13518 (LONG_DOUBLE_TYPE_SIZE): Likewise. 13519 * config/rs6000/rs6000.md: Likewise. 13520 * config/rs6000/sysv4.h: Likewise. 13521 * config/rs6000/t-linux: Likewise. 13522 * config/rs6000/t-linux64: Likewise. 13523 * config/rs6000/t-rs6000: Likewise. 13524 * config/rs6000/x-darwin: Likewise. 13525 * config/rs6000/x-darwin64: Likewise. 13526 * config/rs6000/x-rs6000: Likewise. 13527 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise. 13528 * config/rx/rx.cc (rx_expand_builtin): Likewise. 13529 * config/s390/constraints.md: Likewise. 13530 * config/s390/driver-native.cc: Likewise. 13531 * config/s390/htmxlintrin.h: Likewise. 13532 * config/s390/s390-builtins.def (B_DEF): Likewise. 13533 (OB_DEF_VAR): Likewise. 13534 * config/s390/s390-builtins.h: Likewise. 13535 * config/s390/s390-c.cc: Likewise. 13536 * config/s390/s390-opts.h: Likewise. 13537 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise. 13538 (s390_register_target_pragmas): Likewise. 13539 * config/s390/s390.cc (s390_init_builtins): Likewise. 13540 (s390_expand_plus_operand): Likewise. 13541 (s390_expand_atomic): Likewise. 13542 (s390_valid_target_attribute_inner_p): Likewise. 13543 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise. 13544 * config/s390/s390.md: Likewise. 13545 * config/s390/t-s390: Likewise. 13546 * config/s390/vx-builtins.md: Likewise. 13547 * config/s390/x-native: Likewise. 13548 * config/sh/divtab-sh4-300.cc (main): Likewise. 13549 * config/sh/divtab-sh4.cc (main): Likewise. 13550 * config/sh/divtab.cc (main): Likewise. 13551 * config/sh/elf.h: Likewise. 13552 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise. 13553 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise. 13554 (sh_struct_value_rtx): Likewise. 13555 (sh_remove_reg_dead_or_unused_notes): Likewise. 13556 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise. 13557 * config/sh/t-sh: Likewise. 13558 * config/sol2-protos.h (solaris_override_options): Likewise. 13559 * config/sol2.h: Likewise. 13560 * config/sparc/driver-sparc.cc: Likewise. 13561 * config/sparc/freebsd.h: Likewise. 13562 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise. 13563 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise. 13564 (sparc_asan_shadow_offset): Likewise. 13565 * config/sparc/sparc.h: Likewise. 13566 * config/sparc/sparc.md: Likewise. 13567 * config/sparc/t-sparc: Likewise. 13568 * config/sparc/x-sparc: Likewise. 13569 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise. 13570 * config/t-darwin: Likewise. 13571 * config/t-dragonfly: Likewise. 13572 * config/t-freebsd: Likewise. 13573 * config/t-glibc: Likewise. 13574 * config/t-linux: Likewise. 13575 * config/t-netbsd: Likewise. 13576 * config/t-openbsd: Likewise. 13577 * config/t-pnt16-warn: Likewise. 13578 * config/t-sol2: Likewise. 13579 * config/t-vxworks: Likewise. 13580 * config/t-winnt: Likewise. 13581 * config/tilegx/t-tilegx: Likewise. 13582 * config/tilegx/tilegx-c.cc: Likewise. 13583 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise. 13584 * config/tilegx/tilegx.md: Likewise. 13585 * config/tilepro/t-tilepro: Likewise. 13586 * config/tilepro/tilepro-c.cc: Likewise. 13587 * config/v850/t-v850: Likewise. 13588 * config/v850/v850-protos.h: Likewise. 13589 * config/v850/v850.cc (F): Likewise. 13590 * config/v850/v850.h (enum reg_class): Likewise. 13591 (SLOW_BYTE_ACCESS): Likewise. 13592 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise. 13593 * config/vax/vax.h (enum reg_class): Likewise. 13594 * config/vax/vax.md: Likewise. 13595 * config/visium/visium.cc (visium_legitimate_address_p): Likewise. 13596 * config/visium/visium.h: Likewise. 13597 * config/vms/t-vms: Likewise. 13598 * config/vms/vms-crtlmap.map: Likewise. 13599 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise. 13600 * config/vx-common.h: Likewise. 13601 * config/x-darwin: Likewise. 13602 * config/x-hpux: Likewise. 13603 * config/x-linux: Likewise. 13604 * config/x-netbsd: Likewise. 13605 * config/x-openbsd: Likewise. 13606 * config/x-solaris: Likewise. 13607 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise. 13608 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise. 13609 * config/xtensa/xtensa.h: Likewise. 13610 * configure.ac: Likewise. 13611 * context.cc: Likewise. 13612 * convert.h: Likewise. 13613 * coretypes.h: Likewise. 13614 * coverage.cc: Likewise. 13615 * coverage.h: Likewise. 13616 * cppdefault.h (struct default_include): Likewise. 13617 * cprop.cc (local_cprop_pass): Likewise. 13618 (one_cprop_pass): Likewise. 13619 * cse.cc (hash_rtx_cb): Likewise. 13620 (fold_rtx): Likewise. 13621 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise. 13622 * data-streamer.h (bp_unpack_var_len_int): Likewise. 13623 (streamer_write_widest_int): Likewise. 13624 * dbgcnt.def: Likewise. 13625 * dbxout.cc (dbxout_early_global_decl): Likewise. 13626 (dbxout_common_check): Likewise. 13627 * dbxout.h: Likewise. 13628 * debug.h (struct gcc_debug_hooks): Likewise. 13629 (dump_go_spec_init): Likewise. 13630 * df-core.cc: Likewise. 13631 * df-scan.cc (df_insn_info_delete): Likewise. 13632 (df_insn_delete): Likewise. 13633 * df.h (debug_df_chain): Likewise. 13634 (can_move_insns_across): Likewise. 13635 * dfp.cc (decimal_from_binary): Likewise. 13636 * diagnostic-color.cc: Likewise. 13637 * diagnostic-event-id.h: Likewise. 13638 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise. 13639 * diagnostic.cc (bt_callback): Likewise. 13640 (num_digits): Likewise. 13641 * doc/avr-mmcu.texi: Likewise. 13642 * doc/cfg.texi: Likewise. 13643 * doc/contrib.texi: Likewise. 13644 * doc/cppinternals.texi: Likewise. 13645 * doc/extend.texi: Likewise. 13646 * doc/generic.texi: Likewise. 13647 * doc/gimple.texi: Likewise. 13648 * doc/gty.texi: Likewise. 13649 * doc/invoke.texi: Likewise. 13650 * doc/loop.texi: Likewise. 13651 * doc/lto.texi: Likewise. 13652 * doc/match-and-simplify.texi: Likewise. 13653 * doc/md.texi: Likewise. 13654 * doc/optinfo.texi: Likewise. 13655 * doc/options.texi: Likewise. 13656 * doc/passes.texi: Likewise. 13657 * doc/plugins.texi: Likewise. 13658 * doc/rtl.texi: Likewise. 13659 * doc/sourcebuild.texi: Likewise. 13660 * doc/tm.texi: Likewise. 13661 * doc/tm.texi.in: Likewise. 13662 * doc/tree-ssa.texi: Likewise. 13663 * dojump.cc (do_jump): Likewise. 13664 * dojump.h: Likewise. 13665 * dumpfile.cc (test_impl_location): Likewise. 13666 (test_capture_of_dump_calls): Likewise. 13667 * dumpfile.h (enum dump_kind): Likewise. 13668 (class dump_location_t): Likewise. 13669 (dump_enabled_p): Likewise. 13670 (enable_rtl_dump_file): Likewise. 13671 (dump_combine_total_stats): Likewise. 13672 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise. 13673 * dwarf2ctf.h (ctf_debug_finish): Likewise. 13674 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise. 13675 (struct loc_descr_context): Likewise. 13676 (rtl_for_decl_location): Likewise. 13677 (gen_subprogram_die): Likewise. 13678 (gen_label_die): Likewise. 13679 (is_trivial_indirect_ref): Likewise. 13680 (dwarf2out_late_global_decl): Likewise. 13681 (dwarf_file_hasher::hash): Likewise. 13682 (dwarf2out_end_source_file): Likewise. 13683 (dwarf2out_define): Likewise. 13684 (dwarf2out_early_finish): Likewise. 13685 * dwarf2out.h (struct dw_fde_node): Likewise. 13686 (struct dw_discr_list_node): Likewise. 13687 (output_loc_sequence_raw): Likewise. 13688 * emit-rtl.cc (gen_raw_REG): Likewise. 13689 (maybe_set_max_label_num): Likewise. 13690 * emit-rtl.h (struct rtl_data): Likewise. 13691 * errors.cc (internal_error): Likewise. 13692 (trim_filename): Likewise. 13693 * et-forest.cc: Likewise. 13694 * except.cc (init_eh_for_function): Likewise. 13695 * explow.cc (promote_ssa_mode): Likewise. 13696 (get_dynamic_stack_size): Likewise. 13697 * explow.h: Likewise. 13698 * expmed.h: Likewise. 13699 * expr.cc (safe_from_p): Likewise. 13700 (expand_expr_real_2): Likewise. 13701 (expand_expr_real_1): Likewise. 13702 * file-prefix-map.cc (remap_filename): Likewise. 13703 * final.cc (app_enable): Likewise. 13704 (make_pass_compute_alignments): Likewise. 13705 (final_scan_insn_1): Likewise. 13706 (final_scan_insn): Likewise. 13707 * fixed-value.h (fixed_from_string): Likewise. 13708 * flag-types.h (NO_DEBUG): Likewise. 13709 (DWARF2_DEBUG): Likewise. 13710 (VMS_DEBUG): Likewise. 13711 (BTF_DEBUG): Likewise. 13712 (enum ctf_debug_info_levels): Likewise. 13713 * fold-const.cc (const_binop): Likewise. 13714 (fold_binary_loc): Likewise. 13715 (fold_checksum_tree): Likewise. 13716 * fp-test.cc: Likewise. 13717 * function.cc (expand_function_end): Likewise. 13718 * function.h (struct function): Likewise. 13719 * fwprop.cc (should_replace_address): Likewise. 13720 * gcc-main.cc: Likewise. 13721 * gcc-rich-location.h (class gcc_rich_location): Likewise. 13722 * gcc-symtab.h: Likewise. 13723 * gcc.cc (MIN_FATAL_STATUS): Likewise. 13724 (driver_handle_option): Likewise. 13725 (quote_spec_arg): Likewise. 13726 (driver::finalize): Likewise. 13727 * gcc.h (set_input): Likewise. 13728 * gcov-dump.cc: Likewise. 13729 * gcov.cc (solve_flow_graph): Likewise. 13730 * gcse-common.cc: Likewise. 13731 * gcse.cc (make_pass_rtl_hoist): Likewise. 13732 * genattr-common.cc: Likewise. 13733 * genattrtab.cc (min_fn): Likewise. 13734 (write_const_num_delay_slots): Likewise. 13735 * genautomata.cc: Likewise. 13736 * genconditions.cc (write_one_condition): Likewise. 13737 * genconstants.cc: Likewise. 13738 * genemit.cc (gen_exp): Likewise. 13739 * generic-match-head.cc: Likewise. 13740 * genextract.cc: Likewise. 13741 * gengenrtl.cc (always_void_p): Likewise. 13742 * gengtype-parse.cc (gtymarker_opt): Likewise. 13743 * gengtype-state.cc (state_writer::state_writer): Likewise. 13744 (write_state_trailer): Likewise. 13745 (equals_type_number): Likewise. 13746 (read_state): Likewise. 13747 * gengtype.cc (open_base_files): Likewise. 13748 (struct file_rule_st): Likewise. 13749 (header_dot_h_frul): Likewise. 13750 * gengtype.h: Likewise. 13751 * genmatch.cc (main): Likewise. 13752 * genmddeps.cc: Likewise. 13753 * genmodes.cc (emit_mode_inner): Likewise. 13754 (emit_mode_unit_size): Likewise. 13755 * genpeep.cc (gen_peephole): Likewise. 13756 * genpreds.cc (write_tm_preds_h): Likewise. 13757 * genrecog.cc (validate_pattern): Likewise. 13758 (write_header): Likewise. 13759 (main): Likewise. 13760 * gensupport.cc (change_subst_attribute): Likewise. 13761 (traverse_c_tests): Likewise. 13762 (add_predicate): Likewise. 13763 (init_predicate_table): Likewise. 13764 * gensupport.h (struct optab_pattern): Likewise. 13765 (get_num_insn_codes): Likewise. 13766 (maybe_eval_c_test): Likewise. 13767 (struct pred_data): Likewise. 13768 * ggc-internal.h: Likewise. 13769 * gimple-fold.cc (maybe_fold_reference): Likewise. 13770 (get_range_strlen_tree): Likewise. 13771 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise. 13772 * gimple-low.cc: Likewise. 13773 * gimple-match-head.cc (directly_supported_p): Likewise. 13774 * gimple-pretty-print.h: Likewise. 13775 * gimple-ssa-sprintf.cc (format_percent): Likewise. 13776 (adjust_range_for_overflow): Likewise. 13777 * gimple-streamer.h: Likewise. 13778 * gimple.h (struct GTY): Likewise. 13779 (is_gimple_resx): Likewise. 13780 * gimplify.cc (gimplify_expr): Likewise. 13781 (gimplify_init_constructor): Likewise. 13782 (omp_construct_selector_matches): Likewise. 13783 (gimplify_omp_target_update): Likewise. 13784 (gimplify_omp_ordered): Likewise. 13785 (gimplify_va_arg_expr): Likewise. 13786 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise. 13787 * haifa-sched.cc (increase_insn_priority): Likewise. 13788 (try_ready): Likewise. 13789 (sched_create_recovery_edges): Likewise. 13790 * ifcvt.cc (find_if_case_1): Likewise. 13791 (find_if_case_2): Likewise. 13792 * inchash.h: Likewise. 13793 * incpath.cc (add_env_var_paths): Likewise. 13794 * input.cc (dump_location_info): Likewise. 13795 (assert_loceq): Likewise. 13796 (test_lexer_string_locations_concatenation_1): Likewise. 13797 (test_lexer_string_locations_concatenation_2): Likewise. 13798 (test_lexer_string_locations_concatenation_3): Likewise. 13799 * input.h (BUILTINS_LOCATION): Likewise. 13800 (class string_concat_db): Likewise. 13801 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise. 13802 (expand_LOOP_VECTORIZED): Likewise. 13803 * ipa-cp.cc (make_pass_ipa_cp): Likewise. 13804 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise. 13805 (ipa_fn_summary_t::duplicate): Likewise. 13806 (make_pass_ipa_fn_summary): Likewise. 13807 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise. 13808 * ipa-free-lang-data.cc (fld_simplified_type): Likewise. 13809 (free_lang_data_in_decl): Likewise. 13810 * ipa-inline.cc (compute_inlined_call_time): Likewise. 13811 (inline_always_inline_functions): Likewise. 13812 * ipa-inline.h (free_growth_caches): Likewise. 13813 (inline_account_function_p): Likewise. 13814 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise. 13815 (modref_eaf_analysis::analyze_ssa_name): Likewise. 13816 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise. 13817 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise. 13818 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise. 13819 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise. 13820 (unadjusted_ptr_and_unit_offset): Likewise. 13821 * ipa-reference.cc (make_pass_ipa_reference): Likewise. 13822 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise. 13823 * ipa-split.cc (consider_split): Likewise. 13824 * ipa-sra.cc (isra_read_node_info): Likewise. 13825 * ipa-utils.h (struct ipa_dfs_info): Likewise. 13826 (recursive_call_p): Likewise. 13827 (ipa_make_function_pure): Likewise. 13828 * ira-build.cc (ira_create_allocno): Likewise. 13829 (ira_flattening): Likewise. 13830 * ira-color.cc (do_coloring): Likewise. 13831 (update_curr_costs): Likewise. 13832 * ira-conflicts.cc (process_regs_for_copy): Likewise. 13833 * ira-int.h (struct ira_emit_data): Likewise. 13834 (ira_prohibited_mode_move_regs): Likewise. 13835 (ira_get_dup_out_num): Likewise. 13836 (ira_destroy): Likewise. 13837 (ira_tune_allocno_costs): Likewise. 13838 (ira_implicitly_set_insn_hard_regs): Likewise. 13839 (ira_build_conflicts): Likewise. 13840 (ira_color): Likewise. 13841 * ira-lives.cc (process_bb_node_lives): Likewise. 13842 * ira.cc (class ira_spilled_reg_stack_slot): Likewise. 13843 (setup_uniform_class_p): Likewise. 13844 (def_dominates_uses): Likewise. 13845 * ira.h (ira_nullify_asm_goto): Likewise. 13846 * langhooks.cc (lhd_post_options): Likewise. 13847 * langhooks.h (class substring_loc): Likewise. 13848 (struct lang_hooks_for_tree_inlining): Likewise. 13849 (struct lang_hooks_for_types): Likewise. 13850 (struct lang_hooks): Likewise. 13851 * libfuncs.h (synchronize_libfunc): Likewise. 13852 * loop-doloop.cc (doloop_condition_get): Likewise. 13853 * loop-init.cc (fix_loop_structure): Likewise. 13854 * loop-invariant.cc: Likewise. 13855 * lower-subreg.h: Likewise. 13856 * lra-constraints.cc (curr_insn_transform): Likewise. 13857 * lra-int.h (struct lra_insn_reg): Likewise. 13858 (lra_undo_inheritance): Likewise. 13859 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise. 13860 (lra_split_hard_reg_for): Likewise. 13861 (lra_coalesce): Likewise. 13862 (lra_final_code_change): Likewise. 13863 * lra-spills.cc (lra_final_code_change): Likewise. 13864 * lra.cc (lra_process_new_insns): Likewise. 13865 * lto-compress.h (struct lto_compression_stream): Likewise. 13866 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise. 13867 (write_symbol): Likewise. 13868 * lto-streamer.h (enum LTO_tags): Likewise. 13869 (lto_value_range_error): Likewise. 13870 (lto_append_block): Likewise. 13871 (lto_streamer_hooks_init): Likewise. 13872 (stream_read_tree_ref): Likewise. 13873 (lto_prepare_function_for_streaming): Likewise. 13874 (select_what_to_stream): Likewise. 13875 (omp_lto_input_declare_variant_alt): Likewise. 13876 (cl_optimization_stream_in): Likewise. 13877 * lto-wrapper.cc (append_compiler_options): Likewise. 13878 * machmode.def: Likewise. 13879 * machmode.h (struct int_n_data_t): Likewise. 13880 * main.cc (main): Likewise. 13881 * match.pd: Likewise. 13882 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise. 13883 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise. 13884 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise. 13885 (make_pass_expand_omp_ssa): Likewise. 13886 * omp-low.cc (struct omp_context): Likewise. 13887 (struct omp_taskcopy_context): Likewise. 13888 (lower_omp): Likewise. 13889 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise. 13890 (mask_name): Likewise. 13891 (omp_sese_dump_pars): Likewise. 13892 (worker_single_simple): Likewise. 13893 * omp-offload.cc (omp_finish_file): Likewise. 13894 (execute_oacc_loop_designation): Likewise. 13895 * optabs-query.cc (lshift_cheap_p): Likewise. 13896 * optc-gen.awk: Likewise. 13897 * optc-save-gen.awk: Likewise. 13898 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise. 13899 * opts-common.cc: Likewise. 13900 * output.h (app_enable): Likewise. 13901 (output_operand_lossage): Likewise. 13902 (insn_current_reference_address): Likewise. 13903 (get_insn_template): Likewise. 13904 (output_quoted_string): Likewise. 13905 * pass_manager.h (struct register_pass_info): Likewise. 13906 * plugin.cc: Likewise. 13907 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise. 13908 * plugin.h (invoke_plugin_callbacks): Likewise. 13909 * pointer-query.cc (handle_mem_ref): Likewise. 13910 * postreload-gcse.cc (alloc_mem): Likewise. 13911 * predict.h (enum prediction): Likewise. 13912 (add_reg_br_prob_note): Likewise. 13913 * prefix.h: Likewise. 13914 * profile.h (get_working_sets): Likewise. 13915 * read-md.cc: Likewise. 13916 * read-md.h (struct mapping): Likewise. 13917 (class md_reader): Likewise. 13918 (class noop_reader): Likewise. 13919 * read-rtl-function.cc (function_reader::create_function): Likewise. 13920 (function_reader::extra_parsing_for_operand_code_0): Likewise. 13921 * read-rtl.cc (initialize_iterators): Likewise. 13922 * real.cc: Likewise. 13923 * real.h (struct real_value): Likewise. 13924 (format_helper::format_helper): Likewise. 13925 (real_hash): Likewise. 13926 (real_can_shorten_arithmetic): Likewise. 13927 * recog.cc (struct target_recog): Likewise. 13928 (offsettable_nonstrict_memref_p): Likewise. 13929 (constrain_operands): Likewise. 13930 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise. 13931 (which_op_alt): Likewise. 13932 (struct insn_gen_fn): Likewise. 13933 * reg-notes.def (REG_NOTE): Likewise. 13934 * reg-stack.cc: Likewise. 13935 * regs.h (reg_is_parm_p): Likewise. 13936 * regset.h: Likewise. 13937 * reload.cc (push_reload): Likewise. 13938 (find_reloads): Likewise. 13939 (find_reloads_address_1): Likewise. 13940 (find_replacement): Likewise. 13941 (refers_to_regno_for_reload_p): Likewise. 13942 (refers_to_mem_for_reload_p): Likewise. 13943 * reload.h (push_reload): Likewise. 13944 (deallocate_reload_reg): Likewise. 13945 * reload1.cc (emit_input_reload_insns): Likewise. 13946 * reorg.cc (relax_delay_slots): Likewise. 13947 * rtl.def (UNKNOWN): Likewise. 13948 (SEQUENCE): Likewise. 13949 (BARRIER): Likewise. 13950 (ASM_OPERANDS): Likewise. 13951 (EQ_ATTR_ALT): Likewise. 13952 * rtl.h (struct GTY): Likewise. 13953 (LABEL_NAME): Likewise. 13954 (LABEL_ALT_ENTRY_P): Likewise. 13955 (SUBREG_BYTE): Likewise. 13956 (get_stack_check_protect): Likewise. 13957 (dump_rtx_statistics): Likewise. 13958 (unwrap_const_vec_duplicate): Likewise. 13959 (subreg_promoted_mode): Likewise. 13960 (gen_lowpart_common): Likewise. 13961 (operand_subword): Likewise. 13962 (immed_wide_int_const): Likewise. 13963 (decide_function_section): Likewise. 13964 (active_insn_p): Likewise. 13965 (delete_related_insns): Likewise. 13966 (try_split): Likewise. 13967 (val_signbit_known_clear_p): Likewise. 13968 (simplifiable_subregs): Likewise. 13969 (set_insn_deleted): Likewise. 13970 (subreg_get_info): Likewise. 13971 (remove_free_EXPR_LIST_node): Likewise. 13972 (finish_subregs_of_mode): Likewise. 13973 (get_mem_attrs): Likewise. 13974 (lookup_constant_def): Likewise. 13975 (rtx_to_tree_code): Likewise. 13976 (hash_rtx): Likewise. 13977 (condjump_in_parallel_p): Likewise. 13978 (validate_subreg): Likewise. 13979 (make_compound_operation): Likewise. 13980 (schedule_ebbs): Likewise. 13981 (print_inline_rtx): Likewise. 13982 (fixup_args_size_notes): Likewise. 13983 (expand_dec): Likewise. 13984 (prepare_copy_insn): Likewise. 13985 (mark_elimination): Likewise. 13986 (valid_mode_changes_for_regno): Likewise. 13987 (make_debug_expr_from_rtl): Likewise. 13988 (delete_vta_debug_insns): Likewise. 13989 (simplify_using_condition): Likewise. 13990 (set_insn_locations): Likewise. 13991 (fatal_insn_not_found): Likewise. 13992 (word_register_operation_p): Likewise. 13993 * rtlanal.cc (get_call_fndecl): Likewise. 13994 (side_effects_p): Likewise. 13995 (subreg_nregs): Likewise. 13996 (rtx_cost): Likewise. 13997 (canonicalize_condition): Likewise. 13998 * rtlanal.h (rtx_properties::try_to_add_note): Likewise. 13999 * run-rtl-passes.cc (run_rtl_passes): Likewise. 14000 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise. 14001 * sched-deps.cc (add_dependence_1): Likewise. 14002 * sched-ebb.cc (begin_move_insn): Likewise. 14003 (add_deps_for_risky_insns): Likewise. 14004 (advance_target_bb): Likewise. 14005 * sched-int.h (reemit_notes): Likewise. 14006 (struct _haifa_insn_data): Likewise. 14007 (HID): Likewise. 14008 (DEP_CANCELLED): Likewise. 14009 (debug_ds): Likewise. 14010 (number_in_ready): Likewise. 14011 (schedule_ebbs_finish): Likewise. 14012 (find_modifiable_mems): Likewise. 14013 * sched-rgn.cc (debug_rgn_dependencies): Likewise. 14014 * sel-sched-dump.cc (dump_lv_set): Likewise. 14015 * sel-sched-dump.h: Likewise. 14016 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise. 14017 (setup_id_reg_sets): Likewise. 14018 (has_dependence_p): Likewise. 14019 (sel_num_cfg_preds_gt_1): Likewise. 14020 (bb_ends_ebb_p): Likewise. 14021 * sel-sched-ir.h (struct _list_node): Likewise. 14022 (struct idata_def): Likewise. 14023 (bb_next_bb): Likewise. 14024 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise. 14025 (choose_best_pseudo_reg): Likewise. 14026 (verify_target_availability): Likewise. 14027 (can_speculate_dep_p): Likewise. 14028 (sel_rank_for_schedule): Likewise. 14029 * selftest-run-tests.cc (selftest::run_tests): Likewise. 14030 * selftest.h (class auto_fix_quotes): Likewise. 14031 * shrink-wrap.cc (handle_simple_exit): Likewise. 14032 * shrink-wrap.h: Likewise. 14033 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise. 14034 (simplify_context::simplify_gen_vec_select): Likewise. 14035 * spellcheck-tree.h: Likewise. 14036 * spellcheck.h: Likewise. 14037 * statistics.h (struct function): Likewise. 14038 * stmt.cc (conditional_probability): Likewise. 14039 * stmt.h: Likewise. 14040 * stor-layout.h: Likewise. 14041 * streamer-hooks.h: Likewise. 14042 * stringpool.h: Likewise. 14043 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise. 14044 * target.def (HOOK_VECTOR_END): Likewise. 14045 (type.): Likewise. 14046 * target.h (union cumulative_args_t): Likewise. 14047 (by_pieces_ninsns): Likewise. 14048 (class predefined_function_abi): Likewise. 14049 * targhooks.cc (default_translate_mode_attribute): Likewise. 14050 * timevar.def: Likewise. 14051 * timevar.h (class timer): Likewise. 14052 * toplev.h (enable_rtl_dump_file): Likewise. 14053 * trans-mem.cc (collect_bb2reg): Likewise. 14054 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise. 14055 * tree-cfg.cc (remove_bb): Likewise. 14056 (verify_gimple_debug): Likewise. 14057 (remove_edge_and_dominated_blocks): Likewise. 14058 (push_fndecl): Likewise. 14059 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise. 14060 * tree-complex.cc (expand_complex_multiplication): Likewise. 14061 (expand_complex_div_straight): Likewise. 14062 * tree-core.h (enum tree_index): Likewise. 14063 (enum operand_equal_flag): Likewise. 14064 * tree-eh.cc (honor_protect_cleanup_actions): Likewise. 14065 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise. 14066 * tree-inline.cc (initialize_inlined_parameters): Likewise. 14067 * tree-inline.h (force_value_to_type): Likewise. 14068 * tree-nested.cc (get_chain_decl): Likewise. 14069 (walk_all_functions): Likewise. 14070 * tree-object-size.h: Likewise. 14071 * tree-outof-ssa.cc: Likewise. 14072 * tree-parloops.cc (create_parallel_loop): Likewise. 14073 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise. 14074 (dump_generic_node): Likewise. 14075 * tree-profile.cc (tree_profiling): Likewise. 14076 * tree-sra.cc (maybe_add_sra_candidate): Likewise. 14077 * tree-ssa-address.cc: Likewise. 14078 * tree-ssa-alias.cc: Likewise. 14079 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise. 14080 (dump_alias_stats): Likewise. 14081 * tree-ssa-ccp.cc: Likewise. 14082 * tree-ssa-coalesce.h: Likewise. 14083 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise. 14084 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise. 14085 * tree-ssa-loop-unswitch.cc: Likewise. 14086 * tree-ssa-math-opts.cc: Likewise. 14087 * tree-ssa-operands.cc (class operands_scanner): Likewise. 14088 * tree-ssa-pre.cc: Likewise. 14089 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise. 14090 (debug_range_entry): Likewise. 14091 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise. 14092 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise. 14093 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise. 14094 (equal_mem_array_ref_p): Likewise. 14095 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise. 14096 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise. 14097 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise. 14098 * tree-ssa-ter.h: Likewise. 14099 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise. 14100 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise. 14101 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise. 14102 (write_ts_block_tree_pointers): Likewise. 14103 * tree-streamer.h (struct streamer_tree_cache_d): Likewise. 14104 (streamer_read_tree_bitfields): Likewise. 14105 (streamer_write_integer_cst): Likewise. 14106 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise. 14107 (vect_synth_mult_by_constant): Likewise. 14108 * tree-vect-stmts.cc (vectorizable_operation): Likewise. 14109 * tree-vectorizer.cc: Likewise. 14110 * tree-vectorizer.h (class auto_purge_vect_location): Likewise. 14111 (vect_update_inits_of_drs): Likewise. 14112 (vect_get_mask_type_for_stmt): Likewise. 14113 (vect_rgroup_iv_might_wrap_p): Likewise. 14114 (cse_and_gimplify_to_preheader): Likewise. 14115 (vect_free_slp_tree): Likewise. 14116 (vect_pattern_recog): Likewise. 14117 (vect_stmt_dominates_stmt_p): Likewise. 14118 * tree.cc (initialize_tree_contains_struct): Likewise. 14119 (need_assembler_name_p): Likewise. 14120 (type_with_interoperable_signedness): Likewise. 14121 * tree.def (SWITCH_EXPR): Likewise. 14122 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise. 14123 (poly_int_tree_p): Likewise. 14124 (inlined_function_outer_scope_p): Likewise. 14125 (tree_code_for_canonical_type_merging): Likewise. 14126 * value-prof.cc: Likewise. 14127 * value-prof.h (get_nth_most_common_value): Likewise. 14128 (find_func_by_profile_id): Likewise. 14129 * value-range.cc (vrp_operand_equal_p): Likewise. 14130 * value-range.h: Likewise. 14131 * var-tracking.cc: Likewise. 14132 * varasm.cc (default_function_section): Likewise. 14133 (function_section_1): Likewise. 14134 (assemble_variable): Likewise. 14135 (handle_vtv_comdat_section): Likewise. 14136 * vec.h (struct vec_prefix): Likewise. 14137 * vmsdbgout.cc (full_name): Likewise. 14138 * vtable-verify.cc: Likewise. 14139 * vtable-verify.h (struct vtv_graph_node): Likewise. 14140 * xcoffout.cc: Likewise. 14141 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise. 14142 141432022-01-17 Martin Liska <mliska@suse.cz> 14144 14145 * adjust-alignment.c: Moved to... 14146 * adjust-alignment.cc: ...here. 14147 * alias.c: Moved to... 14148 * alias.cc: ...here. 14149 * alloc-pool.c: Moved to... 14150 * alloc-pool.cc: ...here. 14151 * asan.c: Moved to... 14152 * asan.cc: ...here. 14153 * attribs.c: Moved to... 14154 * attribs.cc: ...here. 14155 * auto-inc-dec.c: Moved to... 14156 * auto-inc-dec.cc: ...here. 14157 * auto-profile.c: Moved to... 14158 * auto-profile.cc: ...here. 14159 * bb-reorder.c: Moved to... 14160 * bb-reorder.cc: ...here. 14161 * bitmap.c: Moved to... 14162 * bitmap.cc: ...here. 14163 * btfout.c: Moved to... 14164 * btfout.cc: ...here. 14165 * builtins.c: Moved to... 14166 * builtins.cc: ...here. 14167 * caller-save.c: Moved to... 14168 * caller-save.cc: ...here. 14169 * calls.c: Moved to... 14170 * calls.cc: ...here. 14171 * ccmp.c: Moved to... 14172 * ccmp.cc: ...here. 14173 * cfg.c: Moved to... 14174 * cfg.cc: ...here. 14175 * cfganal.c: Moved to... 14176 * cfganal.cc: ...here. 14177 * cfgbuild.c: Moved to... 14178 * cfgbuild.cc: ...here. 14179 * cfgcleanup.c: Moved to... 14180 * cfgcleanup.cc: ...here. 14181 * cfgexpand.c: Moved to... 14182 * cfgexpand.cc: ...here. 14183 * cfghooks.c: Moved to... 14184 * cfghooks.cc: ...here. 14185 * cfgloop.c: Moved to... 14186 * cfgloop.cc: ...here. 14187 * cfgloopanal.c: Moved to... 14188 * cfgloopanal.cc: ...here. 14189 * cfgloopmanip.c: Moved to... 14190 * cfgloopmanip.cc: ...here. 14191 * cfgrtl.c: Moved to... 14192 * cfgrtl.cc: ...here. 14193 * cgraph.c: Moved to... 14194 * cgraph.cc: ...here. 14195 * cgraphbuild.c: Moved to... 14196 * cgraphbuild.cc: ...here. 14197 * cgraphclones.c: Moved to... 14198 * cgraphclones.cc: ...here. 14199 * cgraphunit.c: Moved to... 14200 * cgraphunit.cc: ...here. 14201 * collect-utils.c: Moved to... 14202 * collect-utils.cc: ...here. 14203 * collect2-aix.c: Moved to... 14204 * collect2-aix.cc: ...here. 14205 * collect2.c: Moved to... 14206 * collect2.cc: ...here. 14207 * combine-stack-adj.c: Moved to... 14208 * combine-stack-adj.cc: ...here. 14209 * combine.c: Moved to... 14210 * combine.cc: ...here. 14211 * common/common-targhooks.c: Moved to... 14212 * common/common-targhooks.cc: ...here. 14213 * common/config/aarch64/aarch64-common.c: Moved to... 14214 * common/config/aarch64/aarch64-common.cc: ...here. 14215 * common/config/alpha/alpha-common.c: Moved to... 14216 * common/config/alpha/alpha-common.cc: ...here. 14217 * common/config/arc/arc-common.c: Moved to... 14218 * common/config/arc/arc-common.cc: ...here. 14219 * common/config/arm/arm-common.c: Moved to... 14220 * common/config/arm/arm-common.cc: ...here. 14221 * common/config/avr/avr-common.c: Moved to... 14222 * common/config/avr/avr-common.cc: ...here. 14223 * common/config/bfin/bfin-common.c: Moved to... 14224 * common/config/bfin/bfin-common.cc: ...here. 14225 * common/config/bpf/bpf-common.c: Moved to... 14226 * common/config/bpf/bpf-common.cc: ...here. 14227 * common/config/c6x/c6x-common.c: Moved to... 14228 * common/config/c6x/c6x-common.cc: ...here. 14229 * common/config/cr16/cr16-common.c: Moved to... 14230 * common/config/cr16/cr16-common.cc: ...here. 14231 * common/config/cris/cris-common.c: Moved to... 14232 * common/config/cris/cris-common.cc: ...here. 14233 * common/config/csky/csky-common.c: Moved to... 14234 * common/config/csky/csky-common.cc: ...here. 14235 * common/config/default-common.c: Moved to... 14236 * common/config/default-common.cc: ...here. 14237 * common/config/epiphany/epiphany-common.c: Moved to... 14238 * common/config/epiphany/epiphany-common.cc: ...here. 14239 * common/config/fr30/fr30-common.c: Moved to... 14240 * common/config/fr30/fr30-common.cc: ...here. 14241 * common/config/frv/frv-common.c: Moved to... 14242 * common/config/frv/frv-common.cc: ...here. 14243 * common/config/gcn/gcn-common.c: Moved to... 14244 * common/config/gcn/gcn-common.cc: ...here. 14245 * common/config/h8300/h8300-common.c: Moved to... 14246 * common/config/h8300/h8300-common.cc: ...here. 14247 * common/config/i386/i386-common.c: Moved to... 14248 * common/config/i386/i386-common.cc: ...here. 14249 * common/config/ia64/ia64-common.c: Moved to... 14250 * common/config/ia64/ia64-common.cc: ...here. 14251 * common/config/iq2000/iq2000-common.c: Moved to... 14252 * common/config/iq2000/iq2000-common.cc: ...here. 14253 * common/config/lm32/lm32-common.c: Moved to... 14254 * common/config/lm32/lm32-common.cc: ...here. 14255 * common/config/m32r/m32r-common.c: Moved to... 14256 * common/config/m32r/m32r-common.cc: ...here. 14257 * common/config/m68k/m68k-common.c: Moved to... 14258 * common/config/m68k/m68k-common.cc: ...here. 14259 * common/config/mcore/mcore-common.c: Moved to... 14260 * common/config/mcore/mcore-common.cc: ...here. 14261 * common/config/microblaze/microblaze-common.c: Moved to... 14262 * common/config/microblaze/microblaze-common.cc: ...here. 14263 * common/config/mips/mips-common.c: Moved to... 14264 * common/config/mips/mips-common.cc: ...here. 14265 * common/config/mmix/mmix-common.c: Moved to... 14266 * common/config/mmix/mmix-common.cc: ...here. 14267 * common/config/mn10300/mn10300-common.c: Moved to... 14268 * common/config/mn10300/mn10300-common.cc: ...here. 14269 * common/config/msp430/msp430-common.c: Moved to... 14270 * common/config/msp430/msp430-common.cc: ...here. 14271 * common/config/nds32/nds32-common.c: Moved to... 14272 * common/config/nds32/nds32-common.cc: ...here. 14273 * common/config/nios2/nios2-common.c: Moved to... 14274 * common/config/nios2/nios2-common.cc: ...here. 14275 * common/config/nvptx/nvptx-common.c: Moved to... 14276 * common/config/nvptx/nvptx-common.cc: ...here. 14277 * common/config/or1k/or1k-common.c: Moved to... 14278 * common/config/or1k/or1k-common.cc: ...here. 14279 * common/config/pa/pa-common.c: Moved to... 14280 * common/config/pa/pa-common.cc: ...here. 14281 * common/config/pdp11/pdp11-common.c: Moved to... 14282 * common/config/pdp11/pdp11-common.cc: ...here. 14283 * common/config/pru/pru-common.c: Moved to... 14284 * common/config/pru/pru-common.cc: ...here. 14285 * common/config/riscv/riscv-common.c: Moved to... 14286 * common/config/riscv/riscv-common.cc: ...here. 14287 * common/config/rs6000/rs6000-common.c: Moved to... 14288 * common/config/rs6000/rs6000-common.cc: ...here. 14289 * common/config/rx/rx-common.c: Moved to... 14290 * common/config/rx/rx-common.cc: ...here. 14291 * common/config/s390/s390-common.c: Moved to... 14292 * common/config/s390/s390-common.cc: ...here. 14293 * common/config/sh/sh-common.c: Moved to... 14294 * common/config/sh/sh-common.cc: ...here. 14295 * common/config/sparc/sparc-common.c: Moved to... 14296 * common/config/sparc/sparc-common.cc: ...here. 14297 * common/config/tilegx/tilegx-common.c: Moved to... 14298 * common/config/tilegx/tilegx-common.cc: ...here. 14299 * common/config/tilepro/tilepro-common.c: Moved to... 14300 * common/config/tilepro/tilepro-common.cc: ...here. 14301 * common/config/v850/v850-common.c: Moved to... 14302 * common/config/v850/v850-common.cc: ...here. 14303 * common/config/vax/vax-common.c: Moved to... 14304 * common/config/vax/vax-common.cc: ...here. 14305 * common/config/visium/visium-common.c: Moved to... 14306 * common/config/visium/visium-common.cc: ...here. 14307 * common/config/xstormy16/xstormy16-common.c: Moved to... 14308 * common/config/xstormy16/xstormy16-common.cc: ...here. 14309 * common/config/xtensa/xtensa-common.c: Moved to... 14310 * common/config/xtensa/xtensa-common.cc: ...here. 14311 * compare-elim.c: Moved to... 14312 * compare-elim.cc: ...here. 14313 * config/aarch64/aarch64-bti-insert.c: Moved to... 14314 * config/aarch64/aarch64-bti-insert.cc: ...here. 14315 * config/aarch64/aarch64-builtins.c: Moved to... 14316 * config/aarch64/aarch64-builtins.cc: ...here. 14317 * config/aarch64/aarch64-c.c: Moved to... 14318 * config/aarch64/aarch64-c.cc: ...here. 14319 * config/aarch64/aarch64-d.c: Moved to... 14320 * config/aarch64/aarch64-d.cc: ...here. 14321 * config/aarch64/aarch64.c: Moved to... 14322 * config/aarch64/aarch64.cc: ...here. 14323 * config/aarch64/cortex-a57-fma-steering.c: Moved to... 14324 * config/aarch64/cortex-a57-fma-steering.cc: ...here. 14325 * config/aarch64/driver-aarch64.c: Moved to... 14326 * config/aarch64/driver-aarch64.cc: ...here. 14327 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to... 14328 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here. 14329 * config/aarch64/host-aarch64-darwin.c: Moved to... 14330 * config/aarch64/host-aarch64-darwin.cc: ...here. 14331 * config/alpha/alpha.c: Moved to... 14332 * config/alpha/alpha.cc: ...here. 14333 * config/alpha/driver-alpha.c: Moved to... 14334 * config/alpha/driver-alpha.cc: ...here. 14335 * config/arc/arc-c.c: Moved to... 14336 * config/arc/arc-c.cc: ...here. 14337 * config/arc/arc.c: Moved to... 14338 * config/arc/arc.cc: ...here. 14339 * config/arc/driver-arc.c: Moved to... 14340 * config/arc/driver-arc.cc: ...here. 14341 * config/arm/aarch-common.c: Moved to... 14342 * config/arm/aarch-common.cc: ...here. 14343 * config/arm/arm-builtins.c: Moved to... 14344 * config/arm/arm-builtins.cc: ...here. 14345 * config/arm/arm-c.c: Moved to... 14346 * config/arm/arm-c.cc: ...here. 14347 * config/arm/arm-d.c: Moved to... 14348 * config/arm/arm-d.cc: ...here. 14349 * config/arm/arm.c: Moved to... 14350 * config/arm/arm.cc: ...here. 14351 * config/arm/driver-arm.c: Moved to... 14352 * config/arm/driver-arm.cc: ...here. 14353 * config/avr/avr-c.c: Moved to... 14354 * config/avr/avr-c.cc: ...here. 14355 * config/avr/avr-devices.c: Moved to... 14356 * config/avr/avr-devices.cc: ...here. 14357 * config/avr/avr-log.c: Moved to... 14358 * config/avr/avr-log.cc: ...here. 14359 * config/avr/avr.c: Moved to... 14360 * config/avr/avr.cc: ...here. 14361 * config/avr/driver-avr.c: Moved to... 14362 * config/avr/driver-avr.cc: ...here. 14363 * config/avr/gen-avr-mmcu-specs.c: Moved to... 14364 * config/avr/gen-avr-mmcu-specs.cc: ...here. 14365 * config/avr/gen-avr-mmcu-texi.c: Moved to... 14366 * config/avr/gen-avr-mmcu-texi.cc: ...here. 14367 * config/bfin/bfin.c: Moved to... 14368 * config/bfin/bfin.cc: ...here. 14369 * config/bpf/bpf.c: Moved to... 14370 * config/bpf/bpf.cc: ...here. 14371 * config/bpf/coreout.c: Moved to... 14372 * config/bpf/coreout.cc: ...here. 14373 * config/c6x/c6x.c: Moved to... 14374 * config/c6x/c6x.cc: ...here. 14375 * config/cr16/cr16.c: Moved to... 14376 * config/cr16/cr16.cc: ...here. 14377 * config/cris/cris.c: Moved to... 14378 * config/cris/cris.cc: ...here. 14379 * config/csky/csky.c: Moved to... 14380 * config/csky/csky.cc: ...here. 14381 * config/darwin-c.c: Moved to... 14382 * config/darwin-c.cc: ...here. 14383 * config/darwin-d.c: Moved to... 14384 * config/darwin-d.cc: ...here. 14385 * config/darwin-driver.c: Moved to... 14386 * config/darwin-driver.cc: ...here. 14387 * config/darwin-f.c: Moved to... 14388 * config/darwin-f.cc: ...here. 14389 * config/darwin.c: Moved to... 14390 * config/darwin.cc: ...here. 14391 * config/default-c.c: Moved to... 14392 * config/default-c.cc: ...here. 14393 * config/default-d.c: Moved to... 14394 * config/default-d.cc: ...here. 14395 * config/dragonfly-d.c: Moved to... 14396 * config/dragonfly-d.cc: ...here. 14397 * config/epiphany/epiphany.c: Moved to... 14398 * config/epiphany/epiphany.cc: ...here. 14399 * config/epiphany/mode-switch-use.c: Moved to... 14400 * config/epiphany/mode-switch-use.cc: ...here. 14401 * config/epiphany/resolve-sw-modes.c: Moved to... 14402 * config/epiphany/resolve-sw-modes.cc: ...here. 14403 * config/fr30/fr30.c: Moved to... 14404 * config/fr30/fr30.cc: ...here. 14405 * config/freebsd-d.c: Moved to... 14406 * config/freebsd-d.cc: ...here. 14407 * config/frv/frv.c: Moved to... 14408 * config/frv/frv.cc: ...here. 14409 * config/ft32/ft32.c: Moved to... 14410 * config/ft32/ft32.cc: ...here. 14411 * config/gcn/driver-gcn.c: Moved to... 14412 * config/gcn/driver-gcn.cc: ...here. 14413 * config/gcn/gcn-run.c: Moved to... 14414 * config/gcn/gcn-run.cc: ...here. 14415 * config/gcn/gcn-tree.c: Moved to... 14416 * config/gcn/gcn-tree.cc: ...here. 14417 * config/gcn/gcn.c: Moved to... 14418 * config/gcn/gcn.cc: ...here. 14419 * config/gcn/mkoffload.c: Moved to... 14420 * config/gcn/mkoffload.cc: ...here. 14421 * config/glibc-c.c: Moved to... 14422 * config/glibc-c.cc: ...here. 14423 * config/glibc-d.c: Moved to... 14424 * config/glibc-d.cc: ...here. 14425 * config/h8300/h8300.c: Moved to... 14426 * config/h8300/h8300.cc: ...here. 14427 * config/host-darwin.c: Moved to... 14428 * config/host-darwin.cc: ...here. 14429 * config/host-hpux.c: Moved to... 14430 * config/host-hpux.cc: ...here. 14431 * config/host-linux.c: Moved to... 14432 * config/host-linux.cc: ...here. 14433 * config/host-netbsd.c: Moved to... 14434 * config/host-netbsd.cc: ...here. 14435 * config/host-openbsd.c: Moved to... 14436 * config/host-openbsd.cc: ...here. 14437 * config/host-solaris.c: Moved to... 14438 * config/host-solaris.cc: ...here. 14439 * config/i386/djgpp.c: Moved to... 14440 * config/i386/djgpp.cc: ...here. 14441 * config/i386/driver-i386.c: Moved to... 14442 * config/i386/driver-i386.cc: ...here. 14443 * config/i386/driver-mingw32.c: Moved to... 14444 * config/i386/driver-mingw32.cc: ...here. 14445 * config/i386/gnu-property.c: Moved to... 14446 * config/i386/gnu-property.cc: ...here. 14447 * config/i386/host-cygwin.c: Moved to... 14448 * config/i386/host-cygwin.cc: ...here. 14449 * config/i386/host-i386-darwin.c: Moved to... 14450 * config/i386/host-i386-darwin.cc: ...here. 14451 * config/i386/host-mingw32.c: Moved to... 14452 * config/i386/host-mingw32.cc: ...here. 14453 * config/i386/i386-builtins.c: Moved to... 14454 * config/i386/i386-builtins.cc: ...here. 14455 * config/i386/i386-c.c: Moved to... 14456 * config/i386/i386-c.cc: ...here. 14457 * config/i386/i386-d.c: Moved to... 14458 * config/i386/i386-d.cc: ...here. 14459 * config/i386/i386-expand.c: Moved to... 14460 * config/i386/i386-expand.cc: ...here. 14461 * config/i386/i386-features.c: Moved to... 14462 * config/i386/i386-features.cc: ...here. 14463 * config/i386/i386-options.c: Moved to... 14464 * config/i386/i386-options.cc: ...here. 14465 * config/i386/i386.c: Moved to... 14466 * config/i386/i386.cc: ...here. 14467 * config/i386/intelmic-mkoffload.c: Moved to... 14468 * config/i386/intelmic-mkoffload.cc: ...here. 14469 * config/i386/msformat-c.c: Moved to... 14470 * config/i386/msformat-c.cc: ...here. 14471 * config/i386/winnt-cxx.c: Moved to... 14472 * config/i386/winnt-cxx.cc: ...here. 14473 * config/i386/winnt-d.c: Moved to... 14474 * config/i386/winnt-d.cc: ...here. 14475 * config/i386/winnt-stubs.c: Moved to... 14476 * config/i386/winnt-stubs.cc: ...here. 14477 * config/i386/winnt.c: Moved to... 14478 * config/i386/winnt.cc: ...here. 14479 * config/i386/x86-tune-sched-atom.c: Moved to... 14480 * config/i386/x86-tune-sched-atom.cc: ...here. 14481 * config/i386/x86-tune-sched-bd.c: Moved to... 14482 * config/i386/x86-tune-sched-bd.cc: ...here. 14483 * config/i386/x86-tune-sched-core.c: Moved to... 14484 * config/i386/x86-tune-sched-core.cc: ...here. 14485 * config/i386/x86-tune-sched.c: Moved to... 14486 * config/i386/x86-tune-sched.cc: ...here. 14487 * config/ia64/ia64-c.c: Moved to... 14488 * config/ia64/ia64-c.cc: ...here. 14489 * config/ia64/ia64.c: Moved to... 14490 * config/ia64/ia64.cc: ...here. 14491 * config/iq2000/iq2000.c: Moved to... 14492 * config/iq2000/iq2000.cc: ...here. 14493 * config/linux.c: Moved to... 14494 * config/linux.cc: ...here. 14495 * config/lm32/lm32.c: Moved to... 14496 * config/lm32/lm32.cc: ...here. 14497 * config/m32c/m32c-pragma.c: Moved to... 14498 * config/m32c/m32c-pragma.cc: ...here. 14499 * config/m32c/m32c.c: Moved to... 14500 * config/m32c/m32c.cc: ...here. 14501 * config/m32r/m32r.c: Moved to... 14502 * config/m32r/m32r.cc: ...here. 14503 * config/m68k/m68k.c: Moved to... 14504 * config/m68k/m68k.cc: ...here. 14505 * config/mcore/mcore.c: Moved to... 14506 * config/mcore/mcore.cc: ...here. 14507 * config/microblaze/microblaze-c.c: Moved to... 14508 * config/microblaze/microblaze-c.cc: ...here. 14509 * config/microblaze/microblaze.c: Moved to... 14510 * config/microblaze/microblaze.cc: ...here. 14511 * config/mips/driver-native.c: Moved to... 14512 * config/mips/driver-native.cc: ...here. 14513 * config/mips/frame-header-opt.c: Moved to... 14514 * config/mips/frame-header-opt.cc: ...here. 14515 * config/mips/mips-d.c: Moved to... 14516 * config/mips/mips-d.cc: ...here. 14517 * config/mips/mips.c: Moved to... 14518 * config/mips/mips.cc: ...here. 14519 * config/mmix/mmix.c: Moved to... 14520 * config/mmix/mmix.cc: ...here. 14521 * config/mn10300/mn10300.c: Moved to... 14522 * config/mn10300/mn10300.cc: ...here. 14523 * config/moxie/moxie.c: Moved to... 14524 * config/moxie/moxie.cc: ...here. 14525 * config/msp430/driver-msp430.c: Moved to... 14526 * config/msp430/driver-msp430.cc: ...here. 14527 * config/msp430/msp430-c.c: Moved to... 14528 * config/msp430/msp430-c.cc: ...here. 14529 * config/msp430/msp430-devices.c: Moved to... 14530 * config/msp430/msp430-devices.cc: ...here. 14531 * config/msp430/msp430.c: Moved to... 14532 * config/msp430/msp430.cc: ...here. 14533 * config/nds32/nds32-cost.c: Moved to... 14534 * config/nds32/nds32-cost.cc: ...here. 14535 * config/nds32/nds32-fp-as-gp.c: Moved to... 14536 * config/nds32/nds32-fp-as-gp.cc: ...here. 14537 * config/nds32/nds32-intrinsic.c: Moved to... 14538 * config/nds32/nds32-intrinsic.cc: ...here. 14539 * config/nds32/nds32-isr.c: Moved to... 14540 * config/nds32/nds32-isr.cc: ...here. 14541 * config/nds32/nds32-md-auxiliary.c: Moved to... 14542 * config/nds32/nds32-md-auxiliary.cc: ...here. 14543 * config/nds32/nds32-memory-manipulation.c: Moved to... 14544 * config/nds32/nds32-memory-manipulation.cc: ...here. 14545 * config/nds32/nds32-pipelines-auxiliary.c: Moved to... 14546 * config/nds32/nds32-pipelines-auxiliary.cc: ...here. 14547 * config/nds32/nds32-predicates.c: Moved to... 14548 * config/nds32/nds32-predicates.cc: ...here. 14549 * config/nds32/nds32-relax-opt.c: Moved to... 14550 * config/nds32/nds32-relax-opt.cc: ...here. 14551 * config/nds32/nds32-utils.c: Moved to... 14552 * config/nds32/nds32-utils.cc: ...here. 14553 * config/nds32/nds32.c: Moved to... 14554 * config/nds32/nds32.cc: ...here. 14555 * config/netbsd-d.c: Moved to... 14556 * config/netbsd-d.cc: ...here. 14557 * config/netbsd.c: Moved to... 14558 * config/netbsd.cc: ...here. 14559 * config/nios2/nios2.c: Moved to... 14560 * config/nios2/nios2.cc: ...here. 14561 * config/nvptx/mkoffload.c: Moved to... 14562 * config/nvptx/mkoffload.cc: ...here. 14563 * config/nvptx/nvptx-c.c: Moved to... 14564 * config/nvptx/nvptx-c.cc: ...here. 14565 * config/nvptx/nvptx.c: Moved to... 14566 * config/nvptx/nvptx.cc: ...here. 14567 * config/openbsd-d.c: Moved to... 14568 * config/openbsd-d.cc: ...here. 14569 * config/or1k/or1k.c: Moved to... 14570 * config/or1k/or1k.cc: ...here. 14571 * config/pa/pa-d.c: Moved to... 14572 * config/pa/pa-d.cc: ...here. 14573 * config/pa/pa.c: Moved to... 14574 * config/pa/pa.cc: ...here. 14575 * config/pdp11/pdp11.c: Moved to... 14576 * config/pdp11/pdp11.cc: ...here. 14577 * config/pru/pru-passes.c: Moved to... 14578 * config/pru/pru-passes.cc: ...here. 14579 * config/pru/pru-pragma.c: Moved to... 14580 * config/pru/pru-pragma.cc: ...here. 14581 * config/pru/pru.c: Moved to... 14582 * config/pru/pru.cc: ...here. 14583 * config/riscv/riscv-builtins.c: Moved to... 14584 * config/riscv/riscv-builtins.cc: ...here. 14585 * config/riscv/riscv-c.c: Moved to... 14586 * config/riscv/riscv-c.cc: ...here. 14587 * config/riscv/riscv-d.c: Moved to... 14588 * config/riscv/riscv-d.cc: ...here. 14589 * config/riscv/riscv-shorten-memrefs.c: Moved to... 14590 * config/riscv/riscv-shorten-memrefs.cc: ...here. 14591 * config/riscv/riscv-sr.c: Moved to... 14592 * config/riscv/riscv-sr.cc: ...here. 14593 * config/riscv/riscv.c: Moved to... 14594 * config/riscv/riscv.cc: ...here. 14595 * config/rl78/rl78-c.c: Moved to... 14596 * config/rl78/rl78-c.cc: ...here. 14597 * config/rl78/rl78.c: Moved to... 14598 * config/rl78/rl78.cc: ...here. 14599 * config/rs6000/driver-rs6000.c: Moved to... 14600 * config/rs6000/driver-rs6000.cc: ...here. 14601 * config/rs6000/host-darwin.c: Moved to... 14602 * config/rs6000/host-darwin.cc: ...here. 14603 * config/rs6000/host-ppc64-darwin.c: Moved to... 14604 * config/rs6000/host-ppc64-darwin.cc: ...here. 14605 * config/rs6000/rbtree.c: Moved to... 14606 * config/rs6000/rbtree.cc: ...here. 14607 * config/rs6000/rs6000-c.c: Moved to... 14608 * config/rs6000/rs6000-c.cc: ...here. 14609 * config/rs6000/rs6000-call.c: Moved to... 14610 * config/rs6000/rs6000-call.cc: ...here. 14611 * config/rs6000/rs6000-d.c: Moved to... 14612 * config/rs6000/rs6000-d.cc: ...here. 14613 * config/rs6000/rs6000-gen-builtins.c: Moved to... 14614 * config/rs6000/rs6000-gen-builtins.cc: ...here. 14615 * config/rs6000/rs6000-linux.c: Moved to... 14616 * config/rs6000/rs6000-linux.cc: ...here. 14617 * config/rs6000/rs6000-logue.c: Moved to... 14618 * config/rs6000/rs6000-logue.cc: ...here. 14619 * config/rs6000/rs6000-p8swap.c: Moved to... 14620 * config/rs6000/rs6000-p8swap.cc: ...here. 14621 * config/rs6000/rs6000-pcrel-opt.c: Moved to... 14622 * config/rs6000/rs6000-pcrel-opt.cc: ...here. 14623 * config/rs6000/rs6000-string.c: Moved to... 14624 * config/rs6000/rs6000-string.cc: ...here. 14625 * config/rs6000/rs6000.c: Moved to... 14626 * config/rs6000/rs6000.cc: ...here. 14627 * config/rx/rx.c: Moved to... 14628 * config/rx/rx.cc: ...here. 14629 * config/s390/driver-native.c: Moved to... 14630 * config/s390/driver-native.cc: ...here. 14631 * config/s390/s390-c.c: Moved to... 14632 * config/s390/s390-c.cc: ...here. 14633 * config/s390/s390-d.c: Moved to... 14634 * config/s390/s390-d.cc: ...here. 14635 * config/s390/s390.c: Moved to... 14636 * config/s390/s390.cc: ...here. 14637 * config/sh/divtab-sh4-300.c: Moved to... 14638 * config/sh/divtab-sh4-300.cc: ...here. 14639 * config/sh/divtab-sh4.c: Moved to... 14640 * config/sh/divtab-sh4.cc: ...here. 14641 * config/sh/divtab.c: Moved to... 14642 * config/sh/divtab.cc: ...here. 14643 * config/sh/sh-c.c: Moved to... 14644 * config/sh/sh-c.cc: ...here. 14645 * config/sh/sh.c: Moved to... 14646 * config/sh/sh.cc: ...here. 14647 * config/sol2-c.c: Moved to... 14648 * config/sol2-c.cc: ...here. 14649 * config/sol2-cxx.c: Moved to... 14650 * config/sol2-cxx.cc: ...here. 14651 * config/sol2-d.c: Moved to... 14652 * config/sol2-d.cc: ...here. 14653 * config/sol2-stubs.c: Moved to... 14654 * config/sol2-stubs.cc: ...here. 14655 * config/sol2.c: Moved to... 14656 * config/sol2.cc: ...here. 14657 * config/sparc/driver-sparc.c: Moved to... 14658 * config/sparc/driver-sparc.cc: ...here. 14659 * config/sparc/sparc-c.c: Moved to... 14660 * config/sparc/sparc-c.cc: ...here. 14661 * config/sparc/sparc-d.c: Moved to... 14662 * config/sparc/sparc-d.cc: ...here. 14663 * config/sparc/sparc.c: Moved to... 14664 * config/sparc/sparc.cc: ...here. 14665 * config/stormy16/stormy16.c: Moved to... 14666 * config/stormy16/stormy16.cc: ...here. 14667 * config/tilegx/mul-tables.c: Moved to... 14668 * config/tilegx/mul-tables.cc: ...here. 14669 * config/tilegx/tilegx-c.c: Moved to... 14670 * config/tilegx/tilegx-c.cc: ...here. 14671 * config/tilegx/tilegx.c: Moved to... 14672 * config/tilegx/tilegx.cc: ...here. 14673 * config/tilepro/mul-tables.c: Moved to... 14674 * config/tilepro/mul-tables.cc: ...here. 14675 * config/tilepro/tilepro-c.c: Moved to... 14676 * config/tilepro/tilepro-c.cc: ...here. 14677 * config/tilepro/tilepro.c: Moved to... 14678 * config/tilepro/tilepro.cc: ...here. 14679 * config/v850/v850-c.c: Moved to... 14680 * config/v850/v850-c.cc: ...here. 14681 * config/v850/v850.c: Moved to... 14682 * config/v850/v850.cc: ...here. 14683 * config/vax/vax.c: Moved to... 14684 * config/vax/vax.cc: ...here. 14685 * config/visium/visium.c: Moved to... 14686 * config/visium/visium.cc: ...here. 14687 * config/vms/vms-c.c: Moved to... 14688 * config/vms/vms-c.cc: ...here. 14689 * config/vms/vms-f.c: Moved to... 14690 * config/vms/vms-f.cc: ...here. 14691 * config/vms/vms.c: Moved to... 14692 * config/vms/vms.cc: ...here. 14693 * config/vxworks-c.c: Moved to... 14694 * config/vxworks-c.cc: ...here. 14695 * config/vxworks.c: Moved to... 14696 * config/vxworks.cc: ...here. 14697 * config/winnt-c.c: Moved to... 14698 * config/winnt-c.cc: ...here. 14699 * config/xtensa/xtensa.c: Moved to... 14700 * config/xtensa/xtensa.cc: ...here. 14701 * context.c: Moved to... 14702 * context.cc: ...here. 14703 * convert.c: Moved to... 14704 * convert.cc: ...here. 14705 * coverage.c: Moved to... 14706 * coverage.cc: ...here. 14707 * cppbuiltin.c: Moved to... 14708 * cppbuiltin.cc: ...here. 14709 * cppdefault.c: Moved to... 14710 * cppdefault.cc: ...here. 14711 * cprop.c: Moved to... 14712 * cprop.cc: ...here. 14713 * cse.c: Moved to... 14714 * cse.cc: ...here. 14715 * cselib.c: Moved to... 14716 * cselib.cc: ...here. 14717 * ctfc.c: Moved to... 14718 * ctfc.cc: ...here. 14719 * ctfout.c: Moved to... 14720 * ctfout.cc: ...here. 14721 * data-streamer-in.c: Moved to... 14722 * data-streamer-in.cc: ...here. 14723 * data-streamer-out.c: Moved to... 14724 * data-streamer-out.cc: ...here. 14725 * data-streamer.c: Moved to... 14726 * data-streamer.cc: ...here. 14727 * dbgcnt.c: Moved to... 14728 * dbgcnt.cc: ...here. 14729 * dbxout.c: Moved to... 14730 * dbxout.cc: ...here. 14731 * dce.c: Moved to... 14732 * dce.cc: ...here. 14733 * ddg.c: Moved to... 14734 * ddg.cc: ...here. 14735 * debug.c: Moved to... 14736 * debug.cc: ...here. 14737 * df-core.c: Moved to... 14738 * df-core.cc: ...here. 14739 * df-problems.c: Moved to... 14740 * df-problems.cc: ...here. 14741 * df-scan.c: Moved to... 14742 * df-scan.cc: ...here. 14743 * dfp.c: Moved to... 14744 * dfp.cc: ...here. 14745 * diagnostic-color.c: Moved to... 14746 * diagnostic-color.cc: ...here. 14747 * diagnostic-show-locus.c: Moved to... 14748 * diagnostic-show-locus.cc: ...here. 14749 * diagnostic-spec.c: Moved to... 14750 * diagnostic-spec.cc: ...here. 14751 * diagnostic.c: Moved to... 14752 * diagnostic.cc: ...here. 14753 * dojump.c: Moved to... 14754 * dojump.cc: ...here. 14755 * dominance.c: Moved to... 14756 * dominance.cc: ...here. 14757 * domwalk.c: Moved to... 14758 * domwalk.cc: ...here. 14759 * double-int.c: Moved to... 14760 * double-int.cc: ...here. 14761 * dse.c: Moved to... 14762 * dse.cc: ...here. 14763 * dumpfile.c: Moved to... 14764 * dumpfile.cc: ...here. 14765 * dwarf2asm.c: Moved to... 14766 * dwarf2asm.cc: ...here. 14767 * dwarf2cfi.c: Moved to... 14768 * dwarf2cfi.cc: ...here. 14769 * dwarf2ctf.c: Moved to... 14770 * dwarf2ctf.cc: ...here. 14771 * dwarf2out.c: Moved to... 14772 * dwarf2out.cc: ...here. 14773 * early-remat.c: Moved to... 14774 * early-remat.cc: ...here. 14775 * edit-context.c: Moved to... 14776 * edit-context.cc: ...here. 14777 * emit-rtl.c: Moved to... 14778 * emit-rtl.cc: ...here. 14779 * errors.c: Moved to... 14780 * errors.cc: ...here. 14781 * et-forest.c: Moved to... 14782 * et-forest.cc: ...here. 14783 * except.c: Moved to... 14784 * except.cc: ...here. 14785 * explow.c: Moved to... 14786 * explow.cc: ...here. 14787 * expmed.c: Moved to... 14788 * expmed.cc: ...here. 14789 * expr.c: Moved to... 14790 * expr.cc: ...here. 14791 * fibonacci_heap.c: Moved to... 14792 * fibonacci_heap.cc: ...here. 14793 * file-find.c: Moved to... 14794 * file-find.cc: ...here. 14795 * file-prefix-map.c: Moved to... 14796 * file-prefix-map.cc: ...here. 14797 * final.c: Moved to... 14798 * final.cc: ...here. 14799 * fixed-value.c: Moved to... 14800 * fixed-value.cc: ...here. 14801 * fold-const-call.c: Moved to... 14802 * fold-const-call.cc: ...here. 14803 * fold-const.c: Moved to... 14804 * fold-const.cc: ...here. 14805 * fp-test.c: Moved to... 14806 * fp-test.cc: ...here. 14807 * function-tests.c: Moved to... 14808 * function-tests.cc: ...here. 14809 * function.c: Moved to... 14810 * function.cc: ...here. 14811 * fwprop.c: Moved to... 14812 * fwprop.cc: ...here. 14813 * gcc-ar.c: Moved to... 14814 * gcc-ar.cc: ...here. 14815 * gcc-main.c: Moved to... 14816 * gcc-main.cc: ...here. 14817 * gcc-rich-location.c: Moved to... 14818 * gcc-rich-location.cc: ...here. 14819 * gcc.c: Moved to... 14820 * gcc.cc: ...here. 14821 * gcov-dump.c: Moved to... 14822 * gcov-dump.cc: ...here. 14823 * gcov-io.c: Moved to... 14824 * gcov-io.cc: ...here. 14825 * gcov-tool.c: Moved to... 14826 * gcov-tool.cc: ...here. 14827 * gcov.c: Moved to... 14828 * gcov.cc: ...here. 14829 * gcse-common.c: Moved to... 14830 * gcse-common.cc: ...here. 14831 * gcse.c: Moved to... 14832 * gcse.cc: ...here. 14833 * genattr-common.c: Moved to... 14834 * genattr-common.cc: ...here. 14835 * genattr.c: Moved to... 14836 * genattr.cc: ...here. 14837 * genattrtab.c: Moved to... 14838 * genattrtab.cc: ...here. 14839 * genautomata.c: Moved to... 14840 * genautomata.cc: ...here. 14841 * gencfn-macros.c: Moved to... 14842 * gencfn-macros.cc: ...here. 14843 * gencheck.c: Moved to... 14844 * gencheck.cc: ...here. 14845 * genchecksum.c: Moved to... 14846 * genchecksum.cc: ...here. 14847 * gencodes.c: Moved to... 14848 * gencodes.cc: ...here. 14849 * genconditions.c: Moved to... 14850 * genconditions.cc: ...here. 14851 * genconfig.c: Moved to... 14852 * genconfig.cc: ...here. 14853 * genconstants.c: Moved to... 14854 * genconstants.cc: ...here. 14855 * genemit.c: Moved to... 14856 * genemit.cc: ...here. 14857 * genenums.c: Moved to... 14858 * genenums.cc: ...here. 14859 * generic-match-head.c: Moved to... 14860 * generic-match-head.cc: ...here. 14861 * genextract.c: Moved to... 14862 * genextract.cc: ...here. 14863 * genflags.c: Moved to... 14864 * genflags.cc: ...here. 14865 * gengenrtl.c: Moved to... 14866 * gengenrtl.cc: ...here. 14867 * gengtype-parse.c: Moved to... 14868 * gengtype-parse.cc: ...here. 14869 * gengtype-state.c: Moved to... 14870 * gengtype-state.cc: ...here. 14871 * gengtype.c: Moved to... 14872 * gengtype.cc: ...here. 14873 * genhooks.c: Moved to... 14874 * genhooks.cc: ...here. 14875 * genmatch.c: Moved to... 14876 * genmatch.cc: ...here. 14877 * genmddeps.c: Moved to... 14878 * genmddeps.cc: ...here. 14879 * genmddump.c: Moved to... 14880 * genmddump.cc: ...here. 14881 * genmodes.c: Moved to... 14882 * genmodes.cc: ...here. 14883 * genopinit.c: Moved to... 14884 * genopinit.cc: ...here. 14885 * genoutput.c: Moved to... 14886 * genoutput.cc: ...here. 14887 * genpeep.c: Moved to... 14888 * genpeep.cc: ...here. 14889 * genpreds.c: Moved to... 14890 * genpreds.cc: ...here. 14891 * genrecog.c: Moved to... 14892 * genrecog.cc: ...here. 14893 * gensupport.c: Moved to... 14894 * gensupport.cc: ...here. 14895 * gentarget-def.c: Moved to... 14896 * gentarget-def.cc: ...here. 14897 * genversion.c: Moved to... 14898 * genversion.cc: ...here. 14899 * ggc-common.c: Moved to... 14900 * ggc-common.cc: ...here. 14901 * ggc-none.c: Moved to... 14902 * ggc-none.cc: ...here. 14903 * ggc-page.c: Moved to... 14904 * ggc-page.cc: ...here. 14905 * ggc-tests.c: Moved to... 14906 * ggc-tests.cc: ...here. 14907 * gimple-builder.c: Moved to... 14908 * gimple-builder.cc: ...here. 14909 * gimple-expr.c: Moved to... 14910 * gimple-expr.cc: ...here. 14911 * gimple-fold.c: Moved to... 14912 * gimple-fold.cc: ...here. 14913 * gimple-iterator.c: Moved to... 14914 * gimple-iterator.cc: ...here. 14915 * gimple-laddress.c: Moved to... 14916 * gimple-laddress.cc: ...here. 14917 * gimple-loop-jam.c: Moved to... 14918 * gimple-loop-jam.cc: ...here. 14919 * gimple-low.c: Moved to... 14920 * gimple-low.cc: ...here. 14921 * gimple-match-head.c: Moved to... 14922 * gimple-match-head.cc: ...here. 14923 * gimple-pretty-print.c: Moved to... 14924 * gimple-pretty-print.cc: ...here. 14925 * gimple-ssa-backprop.c: Moved to... 14926 * gimple-ssa-backprop.cc: ...here. 14927 * gimple-ssa-evrp-analyze.c: Moved to... 14928 * gimple-ssa-evrp-analyze.cc: ...here. 14929 * gimple-ssa-evrp.c: Moved to... 14930 * gimple-ssa-evrp.cc: ...here. 14931 * gimple-ssa-isolate-paths.c: Moved to... 14932 * gimple-ssa-isolate-paths.cc: ...here. 14933 * gimple-ssa-nonnull-compare.c: Moved to... 14934 * gimple-ssa-nonnull-compare.cc: ...here. 14935 * gimple-ssa-split-paths.c: Moved to... 14936 * gimple-ssa-split-paths.cc: ...here. 14937 * gimple-ssa-sprintf.c: Moved to... 14938 * gimple-ssa-sprintf.cc: ...here. 14939 * gimple-ssa-store-merging.c: Moved to... 14940 * gimple-ssa-store-merging.cc: ...here. 14941 * gimple-ssa-strength-reduction.c: Moved to... 14942 * gimple-ssa-strength-reduction.cc: ...here. 14943 * gimple-ssa-warn-alloca.c: Moved to... 14944 * gimple-ssa-warn-alloca.cc: ...here. 14945 * gimple-ssa-warn-restrict.c: Moved to... 14946 * gimple-ssa-warn-restrict.cc: ...here. 14947 * gimple-streamer-in.c: Moved to... 14948 * gimple-streamer-in.cc: ...here. 14949 * gimple-streamer-out.c: Moved to... 14950 * gimple-streamer-out.cc: ...here. 14951 * gimple-walk.c: Moved to... 14952 * gimple-walk.cc: ...here. 14953 * gimple-warn-recursion.c: Moved to... 14954 * gimple-warn-recursion.cc: ...here. 14955 * gimple.c: Moved to... 14956 * gimple.cc: ...here. 14957 * gimplify-me.c: Moved to... 14958 * gimplify-me.cc: ...here. 14959 * gimplify.c: Moved to... 14960 * gimplify.cc: ...here. 14961 * godump.c: Moved to... 14962 * godump.cc: ...here. 14963 * graph.c: Moved to... 14964 * graph.cc: ...here. 14965 * graphds.c: Moved to... 14966 * graphds.cc: ...here. 14967 * graphite-dependences.c: Moved to... 14968 * graphite-dependences.cc: ...here. 14969 * graphite-isl-ast-to-gimple.c: Moved to... 14970 * graphite-isl-ast-to-gimple.cc: ...here. 14971 * graphite-optimize-isl.c: Moved to... 14972 * graphite-optimize-isl.cc: ...here. 14973 * graphite-poly.c: Moved to... 14974 * graphite-poly.cc: ...here. 14975 * graphite-scop-detection.c: Moved to... 14976 * graphite-scop-detection.cc: ...here. 14977 * graphite-sese-to-poly.c: Moved to... 14978 * graphite-sese-to-poly.cc: ...here. 14979 * graphite.c: Moved to... 14980 * graphite.cc: ...here. 14981 * haifa-sched.c: Moved to... 14982 * haifa-sched.cc: ...here. 14983 * hash-map-tests.c: Moved to... 14984 * hash-map-tests.cc: ...here. 14985 * hash-set-tests.c: Moved to... 14986 * hash-set-tests.cc: ...here. 14987 * hash-table.c: Moved to... 14988 * hash-table.cc: ...here. 14989 * hooks.c: Moved to... 14990 * hooks.cc: ...here. 14991 * host-default.c: Moved to... 14992 * host-default.cc: ...here. 14993 * hw-doloop.c: Moved to... 14994 * hw-doloop.cc: ...here. 14995 * hwint.c: Moved to... 14996 * hwint.cc: ...here. 14997 * ifcvt.c: Moved to... 14998 * ifcvt.cc: ...here. 14999 * inchash.c: Moved to... 15000 * inchash.cc: ...here. 15001 * incpath.c: Moved to... 15002 * incpath.cc: ...here. 15003 * init-regs.c: Moved to... 15004 * init-regs.cc: ...here. 15005 * input.c: Moved to... 15006 * input.cc: ...here. 15007 * internal-fn.c: Moved to... 15008 * internal-fn.cc: ...here. 15009 * intl.c: Moved to... 15010 * intl.cc: ...here. 15011 * ipa-comdats.c: Moved to... 15012 * ipa-comdats.cc: ...here. 15013 * ipa-cp.c: Moved to... 15014 * ipa-cp.cc: ...here. 15015 * ipa-devirt.c: Moved to... 15016 * ipa-devirt.cc: ...here. 15017 * ipa-fnsummary.c: Moved to... 15018 * ipa-fnsummary.cc: ...here. 15019 * ipa-icf-gimple.c: Moved to... 15020 * ipa-icf-gimple.cc: ...here. 15021 * ipa-icf.c: Moved to... 15022 * ipa-icf.cc: ...here. 15023 * ipa-inline-analysis.c: Moved to... 15024 * ipa-inline-analysis.cc: ...here. 15025 * ipa-inline-transform.c: Moved to... 15026 * ipa-inline-transform.cc: ...here. 15027 * ipa-inline.c: Moved to... 15028 * ipa-inline.cc: ...here. 15029 * ipa-modref-tree.c: Moved to... 15030 * ipa-modref-tree.cc: ...here. 15031 * ipa-modref.c: Moved to... 15032 * ipa-modref.cc: ...here. 15033 * ipa-param-manipulation.c: Moved to... 15034 * ipa-param-manipulation.cc: ...here. 15035 * ipa-polymorphic-call.c: Moved to... 15036 * ipa-polymorphic-call.cc: ...here. 15037 * ipa-predicate.c: Moved to... 15038 * ipa-predicate.cc: ...here. 15039 * ipa-profile.c: Moved to... 15040 * ipa-profile.cc: ...here. 15041 * ipa-prop.c: Moved to... 15042 * ipa-prop.cc: ...here. 15043 * ipa-pure-const.c: Moved to... 15044 * ipa-pure-const.cc: ...here. 15045 * ipa-ref.c: Moved to... 15046 * ipa-ref.cc: ...here. 15047 * ipa-reference.c: Moved to... 15048 * ipa-reference.cc: ...here. 15049 * ipa-split.c: Moved to... 15050 * ipa-split.cc: ...here. 15051 * ipa-sra.c: Moved to... 15052 * ipa-sra.cc: ...here. 15053 * ipa-utils.c: Moved to... 15054 * ipa-utils.cc: ...here. 15055 * ipa-visibility.c: Moved to... 15056 * ipa-visibility.cc: ...here. 15057 * ipa.c: Moved to... 15058 * ipa.cc: ...here. 15059 * ira-build.c: Moved to... 15060 * ira-build.cc: ...here. 15061 * ira-color.c: Moved to... 15062 * ira-color.cc: ...here. 15063 * ira-conflicts.c: Moved to... 15064 * ira-conflicts.cc: ...here. 15065 * ira-costs.c: Moved to... 15066 * ira-costs.cc: ...here. 15067 * ira-emit.c: Moved to... 15068 * ira-emit.cc: ...here. 15069 * ira-lives.c: Moved to... 15070 * ira-lives.cc: ...here. 15071 * ira.c: Moved to... 15072 * ira.cc: ...here. 15073 * jump.c: Moved to... 15074 * jump.cc: ...here. 15075 * langhooks.c: Moved to... 15076 * langhooks.cc: ...here. 15077 * lcm.c: Moved to... 15078 * lcm.cc: ...here. 15079 * lists.c: Moved to... 15080 * lists.cc: ...here. 15081 * loop-doloop.c: Moved to... 15082 * loop-doloop.cc: ...here. 15083 * loop-init.c: Moved to... 15084 * loop-init.cc: ...here. 15085 * loop-invariant.c: Moved to... 15086 * loop-invariant.cc: ...here. 15087 * loop-iv.c: Moved to... 15088 * loop-iv.cc: ...here. 15089 * loop-unroll.c: Moved to... 15090 * loop-unroll.cc: ...here. 15091 * lower-subreg.c: Moved to... 15092 * lower-subreg.cc: ...here. 15093 * lra-assigns.c: Moved to... 15094 * lra-assigns.cc: ...here. 15095 * lra-coalesce.c: Moved to... 15096 * lra-coalesce.cc: ...here. 15097 * lra-constraints.c: Moved to... 15098 * lra-constraints.cc: ...here. 15099 * lra-eliminations.c: Moved to... 15100 * lra-eliminations.cc: ...here. 15101 * lra-lives.c: Moved to... 15102 * lra-lives.cc: ...here. 15103 * lra-remat.c: Moved to... 15104 * lra-remat.cc: ...here. 15105 * lra-spills.c: Moved to... 15106 * lra-spills.cc: ...here. 15107 * lra.c: Moved to... 15108 * lra.cc: ...here. 15109 * lto-cgraph.c: Moved to... 15110 * lto-cgraph.cc: ...here. 15111 * lto-compress.c: Moved to... 15112 * lto-compress.cc: ...here. 15113 * lto-opts.c: Moved to... 15114 * lto-opts.cc: ...here. 15115 * lto-section-in.c: Moved to... 15116 * lto-section-in.cc: ...here. 15117 * lto-section-out.c: Moved to... 15118 * lto-section-out.cc: ...here. 15119 * lto-streamer-in.c: Moved to... 15120 * lto-streamer-in.cc: ...here. 15121 * lto-streamer-out.c: Moved to... 15122 * lto-streamer-out.cc: ...here. 15123 * lto-streamer.c: Moved to... 15124 * lto-streamer.cc: ...here. 15125 * lto-wrapper.c: Moved to... 15126 * lto-wrapper.cc: ...here. 15127 * main.c: Moved to... 15128 * main.cc: ...here. 15129 * mcf.c: Moved to... 15130 * mcf.cc: ...here. 15131 * mode-switching.c: Moved to... 15132 * mode-switching.cc: ...here. 15133 * modulo-sched.c: Moved to... 15134 * modulo-sched.cc: ...here. 15135 * multiple_target.c: Moved to... 15136 * multiple_target.cc: ...here. 15137 * omp-expand.c: Moved to... 15138 * omp-expand.cc: ...here. 15139 * omp-general.c: Moved to... 15140 * omp-general.cc: ...here. 15141 * omp-low.c: Moved to... 15142 * omp-low.cc: ...here. 15143 * omp-offload.c: Moved to... 15144 * omp-offload.cc: ...here. 15145 * omp-simd-clone.c: Moved to... 15146 * omp-simd-clone.cc: ...here. 15147 * opt-suggestions.c: Moved to... 15148 * opt-suggestions.cc: ...here. 15149 * optabs-libfuncs.c: Moved to... 15150 * optabs-libfuncs.cc: ...here. 15151 * optabs-query.c: Moved to... 15152 * optabs-query.cc: ...here. 15153 * optabs-tree.c: Moved to... 15154 * optabs-tree.cc: ...here. 15155 * optabs.c: Moved to... 15156 * optabs.cc: ...here. 15157 * opts-common.c: Moved to... 15158 * opts-common.cc: ...here. 15159 * opts-global.c: Moved to... 15160 * opts-global.cc: ...here. 15161 * opts.c: Moved to... 15162 * opts.cc: ...here. 15163 * passes.c: Moved to... 15164 * passes.cc: ...here. 15165 * plugin.c: Moved to... 15166 * plugin.cc: ...here. 15167 * postreload-gcse.c: Moved to... 15168 * postreload-gcse.cc: ...here. 15169 * postreload.c: Moved to... 15170 * postreload.cc: ...here. 15171 * predict.c: Moved to... 15172 * predict.cc: ...here. 15173 * prefix.c: Moved to... 15174 * prefix.cc: ...here. 15175 * pretty-print.c: Moved to... 15176 * pretty-print.cc: ...here. 15177 * print-rtl-function.c: Moved to... 15178 * print-rtl-function.cc: ...here. 15179 * print-rtl.c: Moved to... 15180 * print-rtl.cc: ...here. 15181 * print-tree.c: Moved to... 15182 * print-tree.cc: ...here. 15183 * profile-count.c: Moved to... 15184 * profile-count.cc: ...here. 15185 * profile.c: Moved to... 15186 * profile.cc: ...here. 15187 * read-md.c: Moved to... 15188 * read-md.cc: ...here. 15189 * read-rtl-function.c: Moved to... 15190 * read-rtl-function.cc: ...here. 15191 * read-rtl.c: Moved to... 15192 * read-rtl.cc: ...here. 15193 * real.c: Moved to... 15194 * real.cc: ...here. 15195 * realmpfr.c: Moved to... 15196 * realmpfr.cc: ...here. 15197 * recog.c: Moved to... 15198 * recog.cc: ...here. 15199 * ree.c: Moved to... 15200 * ree.cc: ...here. 15201 * reg-stack.c: Moved to... 15202 * reg-stack.cc: ...here. 15203 * regcprop.c: Moved to... 15204 * regcprop.cc: ...here. 15205 * reginfo.c: Moved to... 15206 * reginfo.cc: ...here. 15207 * regrename.c: Moved to... 15208 * regrename.cc: ...here. 15209 * regstat.c: Moved to... 15210 * regstat.cc: ...here. 15211 * reload.c: Moved to... 15212 * reload.cc: ...here. 15213 * reload1.c: Moved to... 15214 * reload1.cc: ...here. 15215 * reorg.c: Moved to... 15216 * reorg.cc: ...here. 15217 * resource.c: Moved to... 15218 * resource.cc: ...here. 15219 * rtl-error.c: Moved to... 15220 * rtl-error.cc: ...here. 15221 * rtl-tests.c: Moved to... 15222 * rtl-tests.cc: ...here. 15223 * rtl.c: Moved to... 15224 * rtl.cc: ...here. 15225 * rtlanal.c: Moved to... 15226 * rtlanal.cc: ...here. 15227 * rtlhash.c: Moved to... 15228 * rtlhash.cc: ...here. 15229 * rtlhooks.c: Moved to... 15230 * rtlhooks.cc: ...here. 15231 * rtx-vector-builder.c: Moved to... 15232 * rtx-vector-builder.cc: ...here. 15233 * run-rtl-passes.c: Moved to... 15234 * run-rtl-passes.cc: ...here. 15235 * sancov.c: Moved to... 15236 * sancov.cc: ...here. 15237 * sanopt.c: Moved to... 15238 * sanopt.cc: ...here. 15239 * sbitmap.c: Moved to... 15240 * sbitmap.cc: ...here. 15241 * sched-deps.c: Moved to... 15242 * sched-deps.cc: ...here. 15243 * sched-ebb.c: Moved to... 15244 * sched-ebb.cc: ...here. 15245 * sched-rgn.c: Moved to... 15246 * sched-rgn.cc: ...here. 15247 * sel-sched-dump.c: Moved to... 15248 * sel-sched-dump.cc: ...here. 15249 * sel-sched-ir.c: Moved to... 15250 * sel-sched-ir.cc: ...here. 15251 * sel-sched.c: Moved to... 15252 * sel-sched.cc: ...here. 15253 * selftest-diagnostic.c: Moved to... 15254 * selftest-diagnostic.cc: ...here. 15255 * selftest-rtl.c: Moved to... 15256 * selftest-rtl.cc: ...here. 15257 * selftest-run-tests.c: Moved to... 15258 * selftest-run-tests.cc: ...here. 15259 * selftest.c: Moved to... 15260 * selftest.cc: ...here. 15261 * sese.c: Moved to... 15262 * sese.cc: ...here. 15263 * shrink-wrap.c: Moved to... 15264 * shrink-wrap.cc: ...here. 15265 * simplify-rtx.c: Moved to... 15266 * simplify-rtx.cc: ...here. 15267 * sparseset.c: Moved to... 15268 * sparseset.cc: ...here. 15269 * spellcheck-tree.c: Moved to... 15270 * spellcheck-tree.cc: ...here. 15271 * spellcheck.c: Moved to... 15272 * spellcheck.cc: ...here. 15273 * sreal.c: Moved to... 15274 * sreal.cc: ...here. 15275 * stack-ptr-mod.c: Moved to... 15276 * stack-ptr-mod.cc: ...here. 15277 * statistics.c: Moved to... 15278 * statistics.cc: ...here. 15279 * stmt.c: Moved to... 15280 * stmt.cc: ...here. 15281 * stor-layout.c: Moved to... 15282 * stor-layout.cc: ...here. 15283 * store-motion.c: Moved to... 15284 * store-motion.cc: ...here. 15285 * streamer-hooks.c: Moved to... 15286 * streamer-hooks.cc: ...here. 15287 * stringpool.c: Moved to... 15288 * stringpool.cc: ...here. 15289 * substring-locations.c: Moved to... 15290 * substring-locations.cc: ...here. 15291 * symtab.c: Moved to... 15292 * symtab.cc: ...here. 15293 * target-globals.c: Moved to... 15294 * target-globals.cc: ...here. 15295 * targhooks.c: Moved to... 15296 * targhooks.cc: ...here. 15297 * timevar.c: Moved to... 15298 * timevar.cc: ...here. 15299 * toplev.c: Moved to... 15300 * toplev.cc: ...here. 15301 * tracer.c: Moved to... 15302 * tracer.cc: ...here. 15303 * trans-mem.c: Moved to... 15304 * trans-mem.cc: ...here. 15305 * tree-affine.c: Moved to... 15306 * tree-affine.cc: ...here. 15307 * tree-call-cdce.c: Moved to... 15308 * tree-call-cdce.cc: ...here. 15309 * tree-cfg.c: Moved to... 15310 * tree-cfg.cc: ...here. 15311 * tree-cfgcleanup.c: Moved to... 15312 * tree-cfgcleanup.cc: ...here. 15313 * tree-chrec.c: Moved to... 15314 * tree-chrec.cc: ...here. 15315 * tree-complex.c: Moved to... 15316 * tree-complex.cc: ...here. 15317 * tree-data-ref.c: Moved to... 15318 * tree-data-ref.cc: ...here. 15319 * tree-dfa.c: Moved to... 15320 * tree-dfa.cc: ...here. 15321 * tree-diagnostic.c: Moved to... 15322 * tree-diagnostic.cc: ...here. 15323 * tree-dump.c: Moved to... 15324 * tree-dump.cc: ...here. 15325 * tree-eh.c: Moved to... 15326 * tree-eh.cc: ...here. 15327 * tree-emutls.c: Moved to... 15328 * tree-emutls.cc: ...here. 15329 * tree-if-conv.c: Moved to... 15330 * tree-if-conv.cc: ...here. 15331 * tree-inline.c: Moved to... 15332 * tree-inline.cc: ...here. 15333 * tree-into-ssa.c: Moved to... 15334 * tree-into-ssa.cc: ...here. 15335 * tree-iterator.c: Moved to... 15336 * tree-iterator.cc: ...here. 15337 * tree-loop-distribution.c: Moved to... 15338 * tree-loop-distribution.cc: ...here. 15339 * tree-nested.c: Moved to... 15340 * tree-nested.cc: ...here. 15341 * tree-nrv.c: Moved to... 15342 * tree-nrv.cc: ...here. 15343 * tree-object-size.c: Moved to... 15344 * tree-object-size.cc: ...here. 15345 * tree-outof-ssa.c: Moved to... 15346 * tree-outof-ssa.cc: ...here. 15347 * tree-parloops.c: Moved to... 15348 * tree-parloops.cc: ...here. 15349 * tree-phinodes.c: Moved to... 15350 * tree-phinodes.cc: ...here. 15351 * tree-predcom.c: Moved to... 15352 * tree-predcom.cc: ...here. 15353 * tree-pretty-print.c: Moved to... 15354 * tree-pretty-print.cc: ...here. 15355 * tree-profile.c: Moved to... 15356 * tree-profile.cc: ...here. 15357 * tree-scalar-evolution.c: Moved to... 15358 * tree-scalar-evolution.cc: ...here. 15359 * tree-sra.c: Moved to... 15360 * tree-sra.cc: ...here. 15361 * tree-ssa-address.c: Moved to... 15362 * tree-ssa-address.cc: ...here. 15363 * tree-ssa-alias.c: Moved to... 15364 * tree-ssa-alias.cc: ...here. 15365 * tree-ssa-ccp.c: Moved to... 15366 * tree-ssa-ccp.cc: ...here. 15367 * tree-ssa-coalesce.c: Moved to... 15368 * tree-ssa-coalesce.cc: ...here. 15369 * tree-ssa-copy.c: Moved to... 15370 * tree-ssa-copy.cc: ...here. 15371 * tree-ssa-dce.c: Moved to... 15372 * tree-ssa-dce.cc: ...here. 15373 * tree-ssa-dom.c: Moved to... 15374 * tree-ssa-dom.cc: ...here. 15375 * tree-ssa-dse.c: Moved to... 15376 * tree-ssa-dse.cc: ...here. 15377 * tree-ssa-forwprop.c: Moved to... 15378 * tree-ssa-forwprop.cc: ...here. 15379 * tree-ssa-ifcombine.c: Moved to... 15380 * tree-ssa-ifcombine.cc: ...here. 15381 * tree-ssa-live.c: Moved to... 15382 * tree-ssa-live.cc: ...here. 15383 * tree-ssa-loop-ch.c: Moved to... 15384 * tree-ssa-loop-ch.cc: ...here. 15385 * tree-ssa-loop-im.c: Moved to... 15386 * tree-ssa-loop-im.cc: ...here. 15387 * tree-ssa-loop-ivcanon.c: Moved to... 15388 * tree-ssa-loop-ivcanon.cc: ...here. 15389 * tree-ssa-loop-ivopts.c: Moved to... 15390 * tree-ssa-loop-ivopts.cc: ...here. 15391 * tree-ssa-loop-manip.c: Moved to... 15392 * tree-ssa-loop-manip.cc: ...here. 15393 * tree-ssa-loop-niter.c: Moved to... 15394 * tree-ssa-loop-niter.cc: ...here. 15395 * tree-ssa-loop-prefetch.c: Moved to... 15396 * tree-ssa-loop-prefetch.cc: ...here. 15397 * tree-ssa-loop-split.c: Moved to... 15398 * tree-ssa-loop-split.cc: ...here. 15399 * tree-ssa-loop-unswitch.c: Moved to... 15400 * tree-ssa-loop-unswitch.cc: ...here. 15401 * tree-ssa-loop.c: Moved to... 15402 * tree-ssa-loop.cc: ...here. 15403 * tree-ssa-math-opts.c: Moved to... 15404 * tree-ssa-math-opts.cc: ...here. 15405 * tree-ssa-operands.c: Moved to... 15406 * tree-ssa-operands.cc: ...here. 15407 * tree-ssa-phiopt.c: Moved to... 15408 * tree-ssa-phiopt.cc: ...here. 15409 * tree-ssa-phiprop.c: Moved to... 15410 * tree-ssa-phiprop.cc: ...here. 15411 * tree-ssa-pre.c: Moved to... 15412 * tree-ssa-pre.cc: ...here. 15413 * tree-ssa-propagate.c: Moved to... 15414 * tree-ssa-propagate.cc: ...here. 15415 * tree-ssa-reassoc.c: Moved to... 15416 * tree-ssa-reassoc.cc: ...here. 15417 * tree-ssa-sccvn.c: Moved to... 15418 * tree-ssa-sccvn.cc: ...here. 15419 * tree-ssa-scopedtables.c: Moved to... 15420 * tree-ssa-scopedtables.cc: ...here. 15421 * tree-ssa-sink.c: Moved to... 15422 * tree-ssa-sink.cc: ...here. 15423 * tree-ssa-strlen.c: Moved to... 15424 * tree-ssa-strlen.cc: ...here. 15425 * tree-ssa-structalias.c: Moved to... 15426 * tree-ssa-structalias.cc: ...here. 15427 * tree-ssa-tail-merge.c: Moved to... 15428 * tree-ssa-tail-merge.cc: ...here. 15429 * tree-ssa-ter.c: Moved to... 15430 * tree-ssa-ter.cc: ...here. 15431 * tree-ssa-threadbackward.c: Moved to... 15432 * tree-ssa-threadbackward.cc: ...here. 15433 * tree-ssa-threadedge.c: Moved to... 15434 * tree-ssa-threadedge.cc: ...here. 15435 * tree-ssa-threadupdate.c: Moved to... 15436 * tree-ssa-threadupdate.cc: ...here. 15437 * tree-ssa-uncprop.c: Moved to... 15438 * tree-ssa-uncprop.cc: ...here. 15439 * tree-ssa-uninit.c: Moved to... 15440 * tree-ssa-uninit.cc: ...here. 15441 * tree-ssa.c: Moved to... 15442 * tree-ssa.cc: ...here. 15443 * tree-ssanames.c: Moved to... 15444 * tree-ssanames.cc: ...here. 15445 * tree-stdarg.c: Moved to... 15446 * tree-stdarg.cc: ...here. 15447 * tree-streamer-in.c: Moved to... 15448 * tree-streamer-in.cc: ...here. 15449 * tree-streamer-out.c: Moved to... 15450 * tree-streamer-out.cc: ...here. 15451 * tree-streamer.c: Moved to... 15452 * tree-streamer.cc: ...here. 15453 * tree-switch-conversion.c: Moved to... 15454 * tree-switch-conversion.cc: ...here. 15455 * tree-tailcall.c: Moved to... 15456 * tree-tailcall.cc: ...here. 15457 * tree-vect-data-refs.c: Moved to... 15458 * tree-vect-data-refs.cc: ...here. 15459 * tree-vect-generic.c: Moved to... 15460 * tree-vect-generic.cc: ...here. 15461 * tree-vect-loop-manip.c: Moved to... 15462 * tree-vect-loop-manip.cc: ...here. 15463 * tree-vect-loop.c: Moved to... 15464 * tree-vect-loop.cc: ...here. 15465 * tree-vect-patterns.c: Moved to... 15466 * tree-vect-patterns.cc: ...here. 15467 * tree-vect-slp-patterns.c: Moved to... 15468 * tree-vect-slp-patterns.cc: ...here. 15469 * tree-vect-slp.c: Moved to... 15470 * tree-vect-slp.cc: ...here. 15471 * tree-vect-stmts.c: Moved to... 15472 * tree-vect-stmts.cc: ...here. 15473 * tree-vector-builder.c: Moved to... 15474 * tree-vector-builder.cc: ...here. 15475 * tree-vectorizer.c: Moved to... 15476 * tree-vectorizer.cc: ...here. 15477 * tree-vrp.c: Moved to... 15478 * tree-vrp.cc: ...here. 15479 * tree.c: Moved to... 15480 * tree.cc: ...here. 15481 * tsan.c: Moved to... 15482 * tsan.cc: ...here. 15483 * typed-splay-tree.c: Moved to... 15484 * typed-splay-tree.cc: ...here. 15485 * ubsan.c: Moved to... 15486 * ubsan.cc: ...here. 15487 * valtrack.c: Moved to... 15488 * valtrack.cc: ...here. 15489 * value-prof.c: Moved to... 15490 * value-prof.cc: ...here. 15491 * var-tracking.c: Moved to... 15492 * var-tracking.cc: ...here. 15493 * varasm.c: Moved to... 15494 * varasm.cc: ...here. 15495 * varpool.c: Moved to... 15496 * varpool.cc: ...here. 15497 * vec-perm-indices.c: Moved to... 15498 * vec-perm-indices.cc: ...here. 15499 * vec.c: Moved to... 15500 * vec.cc: ...here. 15501 * vmsdbgout.c: Moved to... 15502 * vmsdbgout.cc: ...here. 15503 * vr-values.c: Moved to... 15504 * vr-values.cc: ...here. 15505 * vtable-verify.c: Moved to... 15506 * vtable-verify.cc: ...here. 15507 * web.c: Moved to... 15508 * web.cc: ...here. 15509 * xcoffout.c: Moved to... 15510 * xcoffout.cc: ...here. 15511 155122022-01-17 qing zhao <qing.zhao@oracle.com> 15513 15514 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle 15515 .DEFERRED_INIT call with an anonymous SSA_NAME specially. 15516 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME 15517 specially. 15518 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit. 15519 (warn_uninitialized_vars): Likewise. 15520 (warn_uninitialized_phi): Likewise. 15521 155222022-01-17 Jason Merrill <jason@redhat.com> 15523 15524 * diagnostic.h (struct diagnostic_context): Add includes_seen. 15525 * diagnostic.c (diagnostic_initialize): Initialize it. 15526 (diagnostic_finish): Clean it up. 15527 (includes_seen): New function. 15528 (diagnostic_report_current_module): Use it. 15529 155302022-01-17 Richard Biener <rguenther@suse.de> 15531 15532 PR middle-end/101292 15533 * diagnostic-spec.c (copy_warning): Make sure to not 15534 reference old hashtable content on possible resize. 15535 * warning-control.cc (copy_warning): Likewise. 15536 155372022-01-17 Jakub Jelinek <jakub@redhat.com> 15538 15539 PR target/103973 15540 * tree-cfg.h (cond_only_block_p): Declare. 15541 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ... 15542 * tree-cfg.c (cond_only_block_p): ... here. No longer static. 15543 * optabs.def (spaceship_optab): New optab. 15544 * internal-fn.def (SPACESHIP): New internal function. 15545 * internal-fn.h (expand_SPACESHIP): Declare. 15546 * internal-fn.c (expand_PHI): Formatting fix. 15547 (expand_SPACESHIP): New function. 15548 * tree-ssa-math-opts.c (optimize_spaceship): New function. 15549 (math_opts_dom_walker::after_dom_children): Use it. 15550 * config/i386/i386.md (spaceship<mode>3): New define_expand. 15551 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare. 15552 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function. 15553 * doc/md.texi (spaceship@var{m}3): Document. 15554 155552022-01-17 Kewen Lin <linkw@linux.ibm.com> 15556 15557 * config/rs6000/altivec.md (altivec_vreveti2): Remove. 15558 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df, 15559 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use 15560 known constant values to simplify code. 15561 155622022-01-17 Haochen Gui <guihaoc@gcc.gnu.org> 15563 15564 PR target/103124 15565 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined. 15566 155672022-01-16 wwwhhhyyy <hongyu.wang@intel.com> 15568 15569 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro. 15570 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>): 15571 Insert zero-idiom in output template when attr enabled, set new attribute to 15572 true for non-mask/maskz insn. 15573 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>): 15574 Likewise. 15575 (avx512dq_mul<mode>3<mask_name>): Likewise. 15576 (<avx2_avx512>_permvar<mode><mask_name>): Likewise. 15577 (avx2_perm<mode>_1<mask_name>): Likewise. 15578 (avx512f_perm<mode>_1<mask_name>): Likewise. 15579 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise. 15580 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>): 15581 Likewise. 15582 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise. 15583 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>): 15584 Likewise. 15585 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New 15586 subst_attr. 15587 (mask4_dest_false_dep_for_glc_cond): Likewise. 15588 (mask6_dest_false_dep_for_glc_cond): Likewise. 15589 (mask10_dest_false_dep_for_glc_cond): Likewise. 15590 (maskc_dest_false_dep_for_glc_cond): Likewise. 15591 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise. 15592 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise. 15593 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New 15594 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE 15595 155962022-01-15 Martin Sebor <msebor@redhat.com> 15597 15598 PR c/63272 15599 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle 15600 -Wdangling-pointer. 15601 * doc/invoke.texi (-Wdangling-pointer): Document new option. 15602 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member. 15603 (pass_waccess::check_pointer_uses): New function. 15604 (pass_waccess::gimple_call_return_arg): New function. 15605 (pass_waccess::gimple_call_return_arg_ref): New function. 15606 (pass_waccess::check_call_dangling): New function. 15607 (pass_waccess::check_dangling_uses): New function overloads. 15608 (pass_waccess::check_dangling_stores): New function. 15609 (pass_waccess::check_dangling_stores): New function. 15610 (pass_waccess::m_clobbers): New data member. 15611 (pass_waccess::m_func): New data member. 15612 (pass_waccess::m_run_number): New data member. 15613 (pass_waccess::m_check_dangling_p): New data member. 15614 (pass_waccess::check_alloca): Check m_early_checks_p. 15615 (pass_waccess::check_alloc_size_call): Same. 15616 (pass_waccess::check_strcat): Same. 15617 (pass_waccess::check_strncat): Same. 15618 (pass_waccess::check_stxcpy): Same. 15619 (pass_waccess::check_stxncpy): Same. 15620 (pass_waccess::check_strncmp): Same. 15621 (pass_waccess::check_memop_access): Same. 15622 (pass_waccess::check_read_access): Same. 15623 (pass_waccess::check_builtin): Call check_pointer_uses. 15624 (pass_waccess::warn_invalid_pointer): Add arguments. 15625 (is_auto_decl): New function. 15626 (pass_waccess::check_stmt): New function. 15627 (pass_waccess::check_block): Call check_stmt. 15628 (pass_waccess::execute): Call check_dangling_uses, 15629 check_dangling_stores. Empty m_clobbers. 15630 * passes.def (pass_warn_access): Invoke pass two more times. 15631 156322022-01-15 Martin Sebor <msebor@redhat.com> 15633 15634 PR tree-optimization/80532 15635 * common.opt (-Wuse-after-free): New options. 15636 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle 15637 OPT_Wreturn_local_addr and OPT_Wuse_after_free_. 15638 * diagnostic-spec.h (NW_DANGLING): New enumerator. 15639 * doc/invoke.texi (-Wuse-after-free): Document new option. 15640 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename... 15641 (pass_waccess::check_call_access): ...to this. 15642 (pass_waccess::check): Rename... 15643 (pass_waccess::check_block): ...to this. 15644 (pass_waccess::check_pointer_uses): New function. 15645 (pass_waccess::gimple_call_return_arg): New function. 15646 (pass_waccess::warn_invalid_pointer): New function. 15647 (pass_waccess::check_builtin): Handle free and realloc. 15648 (gimple_use_after_inval_p): New function. 15649 (get_realloc_lhs): New function. 15650 (maybe_warn_mismatched_realloc): New function. 15651 (pointers_related_p): New function. 15652 (pass_waccess::check_call): Call check_pointer_uses. 15653 (pass_waccess::execute): Compute and free dominance info. 15654 156552022-01-15 Uroš Bizjak <ubizjak@gmail.com> 15656 15657 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use 15658 expand_simple_unop and expand_simple_binop instead of manually 15659 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand 15660 consistently. Eliminate common subexpressions and simplify code. 15661 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander. 15662 (<any_logic:code><MODEF:mode>3): Make public. 15663 156642022-01-14 Eric Botcazou <ebotcazou@adacore.com> 15665 15666 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump 15667 reverse flag as "reverse" for the sake of consistency. 15668 * ipa-sra.c: Fix copyright year. 15669 (ipa_sra_function_summaries::duplicate): Copy the reverse flag. 15670 (dump_isra_access): Tweak dump line. 15671 (isra_write_node_summary): Write the reverse flag. 15672 (isra_read_node_info): Read it. 15673 (pull_accesses_from_callee): Test its consistency and copy it. 15674 156752022-01-14 Richard Sandiford <richard.sandiford@arm.com> 15676 15677 PR middle-end/104026 15678 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize 15679 partial_load_store_bias. 15680 156812022-01-14 Martin Sebor <msebor@redhat.com> 15682 15683 PR middle-end/101475 15684 * pointer-query.cc (handle_component_ref): Use the size of 15685 the enclosing object if it's smaller than the member. 15686 156872022-01-14 Martin Liska <mliska@suse.cz> 15688 15689 * configure: Regenerate. 15690 156912022-01-14 Uroš Bizjak <ubizjak@gmail.com> 15692 15693 * config/i386/i386.md (*add<mode>_1_slp"): 15694 Mark alternative 1 output operand earlyclobbered. 15695 (*sub<mode>_1_slp): Ditto. 15696 (*and<mode>_1_slp): Ditto. 15697 (*<code><mode>_1_slp): Ditto. 15698 (*neg<mode>_1_slp): Ditto. 15699 (*one_cmpl<mode>_1_slp): Ditto. 15700 (*ashl<mode>3_1_slp): Ditto. 15701 (*<insn><mode>3_1_slp): Ditto. 15702 (*<insn><mode>3_1_slp): Ditto. 15703 157042022-01-14 Kewen Lin <linkw@linux.ibm.com> 15705 15706 PR tree-optimization/104015 15707 * tree-vect-loop.c (vect_analyze_loop): Check 15708 param_vect_partial_vector_usage for supports_partial_vectors. 15709 157102022-01-14 Jakub Jelinek <jakub@redhat.com> 15711 15712 PR c++/89074 15713 * fold-const.c (address_compare): Punt on comparison of address of 15714 one object with address of end of another object if 15715 folding_initializer. 15716 157172022-01-14 Jakub Jelinek <jakub@redhat.com> 15718 15719 PR target/98737 15720 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize 15721 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y) 15722 and __atomic_op_fetch (p, x, y) iop x into 15723 __atomic_fetch_op (p, x, y). 15724 157252022-01-14 Claudiu Zissulescu <claziss@synopsys.com> 15726 15727 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition. 15728 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro. 15729 (INCOMING_RETURN_ADDR_RTX): Likewise. 15730 (DWARF_ALT_FRAME_RETURN_COLUMN): Define. 15731 157322022-01-14 Claudiu Zissulescu <claziss@synopsys.com> 15733 15734 * config/arc/arc.c (arc_compute_frame_size): Remove condition when 15735 computin checking accumulator regs. 15736 (arc_expand_prologue): Update comments. 15737 (arc_expand_epilogue): Likewise. 15738 157392022-01-14 Roger Sayle <roger@nextmovesoftware.com> 15740 Uroš Bizjak <ubizjak@gmail.com> 15741 15742 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg. 15743 (ix86_expand_ti_to_v1ti): Use force_reg. 15744 (ix86_expand_v1ti_shift): Use force_reg. 15745 (ix86_expand_v1ti_rotate): Use force_reg. 15746 (ix86_expand_v1ti_ashiftrt): Provide new three operation 15747 implementations for shifts by 111..126 bits. Use force_reg. 15748 157492022-01-14 Martin Liska <mliska@suse.cz> 15750 15751 * common/config/arm/arm-common.c (arm_target_mode): Fix 15752 warning: unterminated quoting directive [-Wformat=]. 15753 157542022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org> 15755 15756 PR tree-optimization/104009 15757 * tree-object-size.c (compute_builtin_object_size): Bail out on 15758 negative offset. 15759 (plus_stmt_object_size): Return maximum of wholesize and minimum 15760 of 0 for negative offset. 15761 157622022-01-14 liuhongt <hongtao.liu@intel.com> 15763 15764 PR target/104001 15765 PR target/94790 15766 PR target/104014 15767 * config/i386/i386.md (*xor2andn): Refine predicate of 15768 operands[0] from nonimmediate_operand to 15769 register_operand, remove TARGET_AVX512BW from condition. 15770 157712022-01-14 David Malcolm <dmalcolm@redhat.com> 15772 15773 * doc/extend.texi (Function Attributes): Note that "tainted_args" can 15774 be used on field decls. 15775 (Common Function Attributes): Add entry on "tainted_args" attribute. 15776 157772022-01-13 Anthony Sharp <anthonysharp15@gmail.com> 15778 Jason Merrill <jason@redhat.com> 15779 15780 PR c++/70417 15781 * doc/invoke.texi: Documentation for Wmissing-template-keyword. 15782 157832022-01-13 Uroš Bizjak <ubizjak@gmail.com> 15784 15785 PR target/103861 15786 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern. 15787 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto. 15788 * config/i386/mmx.md (<any_shift:insn>v2qi): 15789 New insn_and_split pattern. 15790 157912022-01-13 Robin Dapp <rdapp@linux.ibm.com> 15792 15793 * internal-fn.c (expand_partial_load_optab_fn): Add bias. 15794 (expand_partial_store_optab_fn): Likewise. 15795 (internal_len_load_store_bias): New function. 15796 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define. 15797 (internal_len_load_store_bias): New function. 15798 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias. 15799 (vect_set_loop_condition_partial_vectors): Add header_seq parameter. 15800 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias. 15801 (vect_estimate_min_profitable_iters): Account for bias. 15802 (vect_get_loop_len): Add bias-adjusted length. 15803 * tree-vect-stmts.c (vectorizable_store): Use. 15804 (vectorizable_load): Use. 15805 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length. 15806 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro. 15807 * config/rs6000/vsx.md: Use const0 bias predicate. 15808 * doc/md.texi: Document bias value. 15809 158102022-01-13 Andrew MacLeod <amacleod@redhat.com> 15811 15812 PR tree-optimization/83072 15813 PR tree-optimization/83073 15814 PR tree-optimization/97909 15815 * fold-const.c (expr_not_equal_to): Use a multi-range class. 15816 158172022-01-13 Andrew MacLeod <amacleod@redhat.com> 15818 15819 PR tree-optimization/96707 15820 * range-op.cc (operator_rshift::lhs_op1_relation): New. 15821 158222022-01-13 Uroš Bizjak <ubizjak@gmail.com> 15823 15824 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit. 15825 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size. 15826 (negv2qi splitters): Use lowpart_subreg instead of 15827 gen_lowpart to create subreg. 15828 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit. 15829 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size. 15830 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of 15831 gen_lowpart to create subreg. 15832 * config/i386/i386.md (*subqi_ext<mode>_2): Move. 15833 158342022-01-13 Uroš Bizjak <ubizjak@gmail.com> 15835 15836 PR target/104003 15837 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator. 15838 158392022-01-13 Martin Liska <mliska@suse.cz> 15840 15841 * common/config/arm/arm-common.c (arm_target_mode): Wrap 15842 keywords with %<, %> and remove trailing punctuation char. 15843 (arm_canon_arch_option_1): Likewise. 15844 (arm_asm_auto_mfpu): Likewise. 15845 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise. 15846 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise. 15847 (use_vfp_abi): Likewise. 15848 (aapcs_vfp_is_call_or_return_candidate): Likewise. 15849 (arm_handle_cmse_nonsecure_entry): Likewise. 15850 (arm_handle_cmse_nonsecure_call): Likewise. 15851 (thumb1_md_asm_adjust): Likewise. 15852 158532022-01-13 Paul A. Clarke <pc@us.ibm.com> 15854 15855 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps, 15856 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT, 15857 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF, 15858 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC, 15859 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC, 15860 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New. 15861 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd, 15862 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to 15863 macro. 15864 158652022-01-13 Jakub Jelinek <jakub@redhat.com> 15866 15867 PR tree-optimization/103989 15868 * tree-inline.c (setup_one_parameter): Don't copy parms with 15869 empty type. 15870 158712022-01-13 Thomas Schwinge <thomas@codesourcery.com> 15872 15873 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack 15874 'TYPE_ADDR_SPACE' for offloading. 15875 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack 15876 'TYPE_ADDR_SPACE' for offloading. 15877 158782022-01-13 Julian Brown <julian@codesourcery.com> 15879 Thomas Schwinge <thomas@codesourcery.com> 15880 15881 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out 15882 of... 15883 (add_async_clauses_and_wait): ...here. Call new outlined function. 15884 (decompose_kernels_region_body): Add wait at the end of 15885 explicitly-asynchronous kernels regions. 15886 158872022-01-13 Thomas Schwinge <thomas@codesourcery.com> 15888 15889 PR middle-end/100280 15890 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region): 15891 Mark variables used in synthesized data clauses as addressable. 15892 158932022-01-13 Martin Liska <mliska@suse.cz> 15894 15895 * config/epiphany/epiphany.c (epiphany_mode_priority): 15896 Use gcc_unreachable for not handled cases. 15897 158982022-01-13 Martin Liska <mliska@suse.cz> 15899 15900 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute): 15901 Use %qs format specifier. 15902 (epiphany_override_options): Wrap keyword in %<, %>. 15903 159042022-01-13 Haochen Jiang <haochen.jiang@intel.com> 15905 15906 PR target/94790 15907 * config/i386/i386.md (*xor2andn): New define_insn_and_split. 15908 159092022-01-13 Xionghu Luo <luoxhu@linux.ibm.com> 15910 15911 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New. 15912 159132022-01-12 Uroš Bizjak <ubizjak@gmail.com> 15914 15915 PR target/100637 15916 PR target/103861 15917 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function. 15918 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X 15919 when constructing vector logic RTXes. 15920 (expand_vec_perm_pshufb2): Ditto. 15921 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit. 15922 (<plusminus:insn>v2qi3): Ditto. 15923 (vcond<mode><mode>): Re-enable for TARGET_SSE2. 15924 (vcondu<mode><mode>): Ditto. 15925 (vcond_mask_<mode><mode>): Ditto. 15926 (one_cmpl<VI_32:mode>2): Remove expander. 15927 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi. 15928 Use VI_16_32 mode iterator. 15929 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator. 15930 Use lowpart_subreg instead of gen_lowpart to create subreg. 15931 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and 15932 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator. 15933 Disparage GPR alternative a bit. Add CC clobber. 15934 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator. 15935 Use lowpart_subreg instead of gen_lowpart to create subreg. 15936 (*<any_logic:code><VI_16_32:mode>3): Merge from 15937 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns 15938 using VI_16_32 mode iterator. Disparage GPR alternative a bit. 15939 Add CC clobber. 15940 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode 15941 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg. 15942 159432022-01-12 Clément Chigot <clement.chigot@atos.net> 15944 15945 * configure.ac: Check sizeof ino_t and dev_t. 15946 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat 15947 syscall being able to handle 64bit inodes. 15948 * config.in: Regenerate. 15949 * configure: Regenerate. 15950 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define. 15951 (remove_duplicates): Use it. 15952 159532022-01-12 Andrew MacLeod <amacleod@redhat.com> 15954 15955 PR tree-optimization/103551 15956 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE. 15957 159582022-01-12 Richard Biener <rguenther@suse.de> 15959 15960 PR tree-optimization/103990 15961 * tree-pass.h (tail_merge_optimize): Drop unused argument. 15962 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise. 15963 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg 15964 and adjust call to tail_merge_optimize. 15965 159662022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com> 15967 15968 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target 15969 does not add autovectorize_vector_modes. 15970 159712022-01-12 Martin Liska <mliska@suse.cz> 15972 15973 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use 15974 %qs where possible. 15975 (aarch64_parse_sve_width_string): Likewise. 15976 (aarch64_override_options_internal): Likewise. 15977 (aarch64_print_hint_for_extensions): Likewise. 15978 (aarch64_validate_sls_mitigation): Likewise. 15979 (aarch64_handle_attr_arch): Likewise. 15980 (aarch64_handle_attr_cpu): Likewise. 15981 (aarch64_handle_attr_tune): Likewise. 15982 (aarch64_handle_attr_isa_flags): Likewise. 15983 159842022-01-12 Martin Liska <mliska@suse.cz> 15985 15986 * config.gcc: Include elfos.h before ${tm_file}. 15987 159882022-01-12 Hans-Peter Nilsson <hp@axis.com> 15989 15990 * config/cris/cris.c: Quote identifiers in parameters to error 15991 and internal_error, and remove extraneous spaces with punctuation. 15992 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified 15993 expression to internal_error, pass it as a parameter instead of 15994 appending it to the format part. 15995 159962022-01-12 Hans-Peter Nilsson <hp@axis.com> 15997 15998 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize 15999 parameter to as_a. 16000 160012022-01-11 qing zhao <qing.zhao@oracle.com> 16002 16003 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument. 16004 Change the 3rd argument of function .DEFERRED_INIT to the name of the 16005 decl. 16006 (gimplify_decl_expr): Delete the 3rd argument when call 16007 gimple_add_init_for_auto_var. 16008 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect 16009 the 3rd argument change of function .DEFERRED_INIT. 16010 * tree-cfg.c (verify_gimple_call): Update comments and verification 16011 to reflect the 3rd argument change of function .DEFERRED_INIT. 16012 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument. 16013 (sra_modify_deferred_init): Change the 3rd argument of function 16014 .DEFERRED_INIT to the name of the decl. 16015 160162022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> 16017 16018 * flag-types.h (enum gfc_convert): Add flags for 16019 conversion. 16020 160212022-01-11 Michael Meissner <meissner@the-meissners.org> 16022 16023 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove 16024 checks for only C/C++ front ends before allowing the long double 16025 format to change without a warning. 16026 160272022-01-11 Richard Sandiford <richard.sandiford@arm.com> 16028 16029 PR rtl-optimization/103974 16030 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an 16031 extra argument, default true, that says whether old-reload 16032 targets should be excluded. 16033 * ira-color.c (color_pass): Pass false. 16034 160352022-01-11 Uroš Bizjak <ubizjak@gmail.com> 16036 16037 PR target/103861 16038 * config/i386/mmx.md (vcond<mode><mode>): 16039 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1. 16040 (vcondu<mode><mode>): Ditto. 16041 (vcond_mask_<mode><mode>): Ditto. 16042 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64. 16043 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32. 16044 Use VI_16_32 mode iterator. 16045 * config/i386/i386-expand.c (ix86_expand_sse_movcc): 16046 Update for rename. Handle V2QImode. 16047 (expand_vec_perm_blend): Update for rename. 16048 160492022-01-11 Jakub Jelinek <jakub@redhat.com> 16050 16051 PR c++/101597 16052 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN. 16053 160542022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> 16055 16056 PR middle-end/70090 16057 * tree-object-size.c (size_valid_p): New function. 16058 (size_for_offset): Remove OFFSET constness assertion. 16059 (addr_object_size): Build dynamic expressions for object 16060 sizes and use size_valid_p to decide if it is valid for the 16061 given OBJECT_SIZE_TYPE. 16062 (compute_builtin_object_size): Allow dynamic offsets when 16063 computing size at O0. 16064 (call_object_size): Call size_valid_p. 16065 (plus_stmt_object_size): Allow non-constant offset and use 16066 size_valid_p to decide if it is valid for the given 16067 OBJECT_SIZE_TYPE. 16068 160692022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> 16070 16071 PR middle-end/70090 16072 * tree-object-size.c (alloc_object_size): Make and return 16073 non-constant size expression. 16074 (call_object_size): Return expression or unknown based on 16075 whether dynamic object size is requested. 16076 160772022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> 16078 16079 PR middle-end/70090 16080 * tree-object-size.c: Include tree-dfa.h. 16081 (parm_object_size): New function. 16082 (collect_object_sizes_for): Call it. 16083 160842022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> 16085 16086 PR middle-end/70090 16087 * builtins.c (fold_builtin_object_size): Adjust for dynamic size 16088 expressions. 16089 * tree-object-size.c: Include gimplify-me.h. 16090 (struct object_size_info): New member UNKNOWNS. 16091 (size_initval_p, size_usable_p, object_sizes_get_raw): New 16092 functions. 16093 (object_sizes_get): Return suitable gimple variable for 16094 object size. 16095 (bundle_sizes): New function. 16096 (object_sizes_set): Use it and handle dynamic object size 16097 expressions. 16098 (object_sizes_set_temp): New function. 16099 (size_for_offset): Adjust for dynamic size expressions. 16100 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions): 16101 New functions. 16102 (compute_builtin_object_size): Call gimplify_size_expressions 16103 for OST_DYNAMIC. 16104 (dynamic_object_size): New function. 16105 (cond_expr_object_size): Use it. 16106 (phi_dynamic_object_size): New function. 16107 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to 16108 accommodate dynamic object sizes. 16109 161102022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> 16111 Jakub Jelinek <jakub@redhat.com> 16112 16113 PR tree-optimization/103961 16114 * tree-object-size.c (plus_stmt_object_size): Always avoid 16115 computing offset for -1 size. 16116 161172022-01-11 Andrew MacLeod <amacleod@redhat.com> 16118 16119 PR tree-optimization/103821 16120 * range-op.cc (range_operator::fold_range): Only do precise ranges 16121 when there are not too many subranges. 16122 161232022-01-11 Richard Sandiford <richard.sandiford@arm.com> 16124 16125 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass 16126 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code. 16127 161282022-01-11 Roger Sayle <roger@nextmovesoftware.com> 16129 Richard Biener <rguenther@suse.de> 16130 16131 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a 16132 highpart_mults_inserted field. 16133 (convert_mult_to_highpart): New function to convert right shift 16134 of a widening multiply into a MULT_HIGHPART_EXPR. 16135 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]: 16136 Call new convert_mult_to_highpart function. 16137 (pass_optimize_widening_mul::execute): Add a statistics counter 16138 for tracking "highpart multiplications inserted" events. 16139 161402022-01-11 Xionghu Luo <luoxhu@linux.ibm.com> 16141 16142 PR target/102239 16143 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New 16144 declare. 16145 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New 16146 function. 16147 * config/rs6000/rs6000.md (*branch_anddi3_dot): New. 16148 161492022-01-11 Olivier Hainque <hainque@adacore.com> 16150 16151 * gcc.c (driver_handle_option): State --sysroot as 16152 validated. 16153 161542022-01-11 Kewen Lin <linkw@linux.ibm.com> 16155 16156 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove 16157 useless related to option -mno-power10. 16158 161592022-01-11 Haochen Jiang <haochen.jiang@intel.com> 16160 16161 PR target/53652 16162 * config/i386/sse.md (*andnot<mode>3): Extend predicate of 16163 operands[1] from register_operand to vector_operand. 16164 161652022-01-10 Uroš Bizjak <ubizjak@gmail.com> 16166 16167 PR target/103861 16168 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp): 16169 Handle V2QImode. 16170 * config/i386/mmx.md (<sat_plusminus:insn><mode>3): 16171 Use VI1_16_32 mode iterator. 16172 (*eq<mode>3): Ditto. 16173 (*gt<mode>3): Ditto. 16174 (*xop_maskcmp<mode>3): Ditto. 16175 (*xop_maskcmp_uns<mode>3): Ditto. 16176 (vec_cmp<mode><mode>): Ditto. 16177 (vec_cmpu<mode><mode>): Ditto. 16178 161792022-01-10 Richard Biener <rguenther@suse.de> 16180 16181 PR tree-optimization/103948 16182 * tree-vect-generic.c (expand_vector_condition): Return true if 16183 all ones vector is returned for true, all zeros vector for false 16184 and the target defines corresponding vec_cmp{,u}MN named RTX pattern. 16185 161862022-01-10 Paul A. Clarke <pc@us.ibm.com> 16187 16188 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv 16189 when _ARCH_PWR10. Use signed types. 16190 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10. 16191 (_mm_blendv_pd): Likewise. 16192 161932022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com> 16194 16195 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for 16196 epilogue costing. 16197 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for 16198 epilogues, unless we are guaranteed that we can't have partial vectors. 16199 * genopinit.c: (partial_vectors_supported): Generate new function. 16200 162012022-01-10 Jakub Jelinek <jakub@redhat.com> 16202 16203 PR target/102024 16204 * config/i386/i386.c (classify_argument): Add zero_width_bitfields 16205 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields, 16206 always ignore them, when seeing other zero sized bitfields, either 16207 set zero_width_bitfields to 1 and ignore it or if equal to 2 process 16208 it. Pass it to recursive calls. Add wrapper 16209 with old arguments and diagnose ABI differences for C structures 16210 with zero width bitfields. Formatting fixes. 16211 162122022-01-10 Richard Sandiford <richard.sandiford@arm.com> 16213 16214 PR rtl-optimization/98782 16215 * ira-int.h (ira_soft_conflict): Declare. 16216 * ira-color.c (max_soft_conflict_loop_depth): New constant. 16217 (ira_soft_conflict): New function. 16218 (spill_soft_conflicts): Likewise. 16219 (assign_hard_reg): Use them to handle the case described by 16220 the comment above ira_soft_conflict. 16221 (improve_allocation): Likewise. 16222 * ira.c (check_allocation): Allow allocnos with "soft" conflicts 16223 to share the same register. 16224 162252022-01-10 Richard Sandiford <richard.sandiford@arm.com> 16226 16227 PR rtl-optimization/98782 16228 * ira-int.h (ira_caller_save_cost): New function. 16229 (ira_caller_save_loop_spill_p): Likewise. 16230 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is 16231 cheaper to spill a call-clobbered register throughout a loop rather 16232 than spill it around each individual call. If so, treat all 16233 call-clobbered registers as conflicts and... 16234 (propagate_allocno_info): ...do not propagate call information 16235 from the child to the parent. 16236 * ira-color.c (move_spill_restore): Update accordingly. 16237 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost. 16238 162392022-01-10 Richard Sandiford <richard.sandiford@arm.com> 16240 16241 PR rtl-optimization/98782 16242 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field. 16243 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro. 16244 (ira_single_region_allocno_p): New function. 16245 (ira_total_conflict_hard_regs): Likewise. 16246 * ira-build.c (ira_create_allocno): Initialize 16247 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P. 16248 (ira_propagate_hard_reg_costs): New function. 16249 (propagate_allocno_info): Use it. Try to avoid propagating 16250 hard register conflicts to parent allocnos if we can handle 16251 the conflicts by spilling instead. Limit the propagated 16252 register costs to the cost of spilling throughout the child loop. 16253 * ira-color.c (color_pass): Use ira_single_region_allocno_p to 16254 test whether a child and parent allocno can share the same 16255 register. 16256 (move_spill_restore): Adjust for the new behavior of 16257 propagate_allocno_info. 16258 162592022-01-10 Richard Sandiford <richard.sandiford@arm.com> 16260 16261 PR rtl-optimization/98782 16262 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function, 16263 extracted from... 16264 * ira-color.c (color_pass): ...here. 16265 162662022-01-10 Richard Sandiford <richard.sandiford@arm.com> 16267 16268 PR rtl-optimization/98782 16269 * ira-color.c (color_pass): Add comments to describe the spill costs. 16270 (move_spill_restore): Likewise. Fix reversed calculation. 16271 162722022-01-10 Richard Sandiford <richard.sandiford@arm.com> 16273 16274 PR rtl-optimization/98782 16275 * ira-int.h (ira_loop_border_costs): New class. 16276 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs): 16277 New constructor. 16278 (calculate_allocno_spill_cost): Use ira_loop_border_costs. 16279 (color_pass): Likewise. 16280 (move_spill_restore): Likewise. 16281 162822022-01-10 Eric Botcazou <ebotcazou@adacore.com> 16283 16284 PR target/103465 16285 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET. 16286 162872022-01-10 Richard Biener <rguenther@suse.de> 16288 16289 PR tree-optimization/100359 16290 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): 16291 Allow non-growing peeling with !allow_peel and UL_ALL. 16292 162932022-01-08 Roger Sayle <roger@nextmovesoftware.com> 16294 16295 * config/i386/i386-expand.c (ix86_expand_vector_move): Add 16296 special case for TImode to V1TImode moves, going via V2DImode. 16297 162982022-01-08 Jakub Jelinek <jakub@redhat.com> 16299 16300 PR c++/89074 16301 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC 16302 simplification. 16303 163042022-01-08 David Malcolm <dmalcolm@redhat.com> 16305 16306 * doc/analyzer.texi 16307 (Special Functions for Debugging the Analyzer): Document 16308 __analyzer_dump_escaped. 16309 163102022-01-08 David Malcolm <dmalcolm@redhat.com> 16311 16312 * doc/analyzer.texi (Other Debugging Techniques): Document 16313 region::is_named_decl_p. 16314 163152022-01-07 Andrew Pinski <apinski@marvell.com> 16316 16317 PR target/102941 16318 * config/arm/aarch-common.c (arm_md_asm_adjust): 16319 Use a temp if !REG_P. 16320 163212022-01-07 Uroš Bizjak <ubizjak@gmail.com> 16322 16323 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute. 16324 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5. 16325 163262022-01-07 liuhongt <hongtao.liu@intel.com> 16327 16328 PR rtl-optimization/103750 16329 * fwprop.c (forward_propagate_into): Allow propagations from 16330 inner loop to outer loop. 16331 163322022-01-07 Roger Sayle <roger@nextmovesoftware.com> 16333 16334 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn. 16335 163362022-01-07 Haochen Gui <guihaoc@gcc.gnu.org> 16337 16338 * config/rs6000/rs6000.md (rs6000_mffscrni): Define. 16339 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI. 16340 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand. 16341 163422022-01-07 liuhongt <hongtao.liu@intel.com> 16343 16344 * config/i386/sse.md 16345 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to 16346 UNSPEC_PCMP_UNSIGNED. 16347 163482022-01-07 liuhongt <hongtao.liu@intel.com> 16349 16350 PR target/103753 16351 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use 16352 gen_avx2_pblendph_1 when elt == 0. 16353 * config/i386/sse.md (avx2_pblendph): Rename to .. 16354 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI. 16355 (*avx2_pblendw): Rename to .. 16356 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF. 16357 (avx2_pblendw): Rename to .. 16358 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF. 16359 (blendsuf): Removed. 16360 (sse4_1_pblend<blendsuf>): Renamed to .. 16361 (sse4_1_pblend<ssemodesuffix>): .. this. 16362 163632022-01-06 H.J. Lu <hjl.tools@gmail.com> 16364 16365 PR target/103925 16366 * config/i386/i386.c (ix86_output_indirect_function_return): 16367 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp. 16368 163692022-01-06 H.J. Lu <hjl.tools@gmail.com> 16370 16371 PR target/102952 16372 * config/i386/i386-opts.h (harden_sls): Replace 16373 harden_sls_indirect_branch with harden_sls_indirect_jmp. 16374 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): 16375 Likewise. 16376 (ix86_output_indirect_jmp): Likewise. 16377 (ix86_output_call_insn): Likewise. 16378 * config/i386/i386.opt: Replace indirect-branch with 16379 indirect-jmp. Replace harden_sls_indirect_branch with 16380 harden_sls_indirect_jmp. 16381 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with 16382 indirect-jmp. 16383 163842022-01-06 Uroš Bizjak <ubizjak@gmail.com> 16385 16386 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>: 16387 Add %q modifier for operands in general registers. 16388 <MODE_SI>: Add %q modifier for operands in general registers. 16389 * config/i386/i386.md (*movhi_internal): Change type attribute of 16390 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute 16391 to SImode for non-avx512fp16 targets. 16392 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8. 16393 * config/i386/mmx.md (*movv2qi_internal): 16394 Ditto for xmm-gpr interunit alternatives 8,9. 16395 163962022-01-06 Kito Cheng <kito.cheng@sifive.com> 16397 16398 * common/config/riscv/riscv-common.c (riscv_implied_info): Add 16399 vector extensions. 16400 (riscv_ext_version_table): Add version info for vector extensions. 16401 (riscv_ext_flag_table): Add option mask for vector extensions. 16402 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New. 16403 (MASK_VECTOR_EEW_64): New. 16404 (MASK_VECTOR_EEW_FP_32): New. 16405 (MASK_VECTOR_EEW_FP_64): New. 16406 (MASK_ZVL32B): New. 16407 (MASK_ZVL64B): New. 16408 (MASK_ZVL128B): New. 16409 (MASK_ZVL256B): New. 16410 (MASK_ZVL512B): New. 16411 (MASK_ZVL1024B): New. 16412 (MASK_ZVL2048B): New. 16413 (MASK_ZVL4096B): New. 16414 (MASK_ZVL8192B): New. 16415 (MASK_ZVL16384B): New. 16416 (MASK_ZVL32768B): New. 16417 (MASK_ZVL65536B): New. 16418 (TARGET_ZVL32B): New. 16419 (TARGET_ZVL64B): New. 16420 (TARGET_ZVL128B): New. 16421 (TARGET_ZVL256B): New. 16422 (TARGET_ZVL512B): New. 16423 (TARGET_ZVL1024B): New. 16424 (TARGET_ZVL2048B): New. 16425 (TARGET_ZVL4096B): New. 16426 (TARGET_ZVL8192B): New. 16427 (TARGET_ZVL16384B): New. 16428 (TARGET_ZVL32768B): New. 16429 (TARGET_ZVL65536B): New. 16430 * config/riscv/riscv.opt (Mask(VECTOR)): New. 16431 (riscv_vector_eew_flags): New. 16432 (riscv_zvl_flags): New. 16433 164342022-01-06 Kito Cheng <kito.cheng@sifive.com> 16435 16436 * common/config/riscv/riscv-common.c 16437 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has 16438 digit. 16439 164402022-01-06 Jakub Jelinek <jakub@redhat.com> 16441 16442 PR tree-optimization/103899 16443 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit 16444 warning by moving context variable to the only spot where it is used 16445 and moving gcc_assert into if body. 16446 164472022-01-06 Jakub Jelinek <jakub@redhat.com> 16448 16449 PR rtl-optimization/103908 16450 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with 16451 asm goto. 16452 164532022-01-05 Bill Schmidt <wschmidt@linux.ibm.com> 16454 16455 PR target/103622 16456 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): 16457 Skip over instances with undefined function types. 16458 164592022-01-05 Andrew Pinski <apinski@marvell.com> 16460 16461 PR target/103910 16462 * config/i386/i386.h (x86_mfence): Mark with GTY. 16463 164642022-01-05 Uroš Bizjak <ubizjak@gmail.com> 16465 16466 PR target/103861 16467 * config/i386/mmx.md (VI_16_32): New mode iterator. 16468 (VI1_16_32): Ditto. 16469 (mmxvecsize): Handle V2QI mode. 16470 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3. 16471 Use VI1_16_32 mode iterator. 16472 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3. 16473 Use VI1_16_32 mode iterator. 16474 (abs<mode>2): Use VI_16_32 mode iterator. 16475 (uavgv2qi3_ceil): New insn pattern. 16476 164772022-01-05 Martin Sebor <msebor@redhat.com> 16478 16479 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use 16480 %qs to avoid -Wformat-diag. 16481 164822022-01-05 Uroš Bizjak <ubizjak@gmail.com> 16483 16484 PR target/103915 16485 * config/i386/mmx.md (one_cmplv2qi2): Change 16486 alternatives 1,2 type from sselog to sselog1. 16487 164882022-01-05 Uroš Bizjak <ubizjak@gmail.com> 16489 16490 PR target/103905 16491 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of 16492 narrow mode remapped elements for !one_operand_p case. 16493 164942022-01-05 Richard Biener <rguenther@suse.de> 16495 16496 PR tree-optimization/103816 16497 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also 16498 check DR_GROUP_GAP compute for overflow and representability. 16499 165002022-01-05 Jakub Jelinek <jakub@redhat.com> 16501 16502 PR fortran/103691 16503 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference 16504 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value, 16505 it can do unwanted rhs folding like &a[0] into &2.0 etc. 16506 165072022-01-05 Kewen Lin <linkw@linux.ibm.com> 16508 16509 PR ipa/102059 16510 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro. 16511 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise. 16512 (rs6000_need_ipa_fn_target_info): New function. 16513 (rs6000_update_ipa_fn_target_info): Likewise. 16514 (rs6000_can_inline_p): Adjust for ipa function summary target info. 16515 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro. 16516 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function 16517 summary target info. 16518 (analyze_function_body): Adjust for ipa function summary target info 16519 and call hook rs6000_need_ipa_fn_target_info and 16520 rs6000_update_ipa_fn_target_info. 16521 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary 16522 target info. 16523 (inline_read_section): Likewise. 16524 (ipa_fn_summary_write): Likewise. 16525 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member. 16526 * doc/tm.texi: Regenerate. 16527 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook. 16528 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise. 16529 * target.def (update_ipa_fn_target_info): New hook. 16530 (need_ipa_fn_target_info): Likewise. 16531 * targhooks.c (default_need_ipa_fn_target_info): New function. 16532 (default_update_ipa_fn_target_info): Likewise. 16533 * targhooks.h (default_update_ipa_fn_target_info): New declare. 16534 (default_need_ipa_fn_target_info): Likewise. 16535 165362022-01-04 Martin Sebor <msebor@redhat.com> 16537 16538 PR middle-end/99612 16539 * builtins.c (get_memmodel): Move warning code to 16540 gimple-ssa-warn-access.cc. 16541 (expand_builtin_atomic_compare_exchange): Same. 16542 (expand_ifn_atomic_compare_exchange): Same. 16543 (expand_builtin_atomic_load): Same. 16544 (expand_builtin_atomic_store): Same. 16545 (expand_builtin_atomic_clear): Same. 16546 * doc/extend.texi (__atomic_exchange_n): Update valid memory 16547 models. 16548 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function. 16549 (struct memmodel_pair): New struct. 16550 (memmodel_name): New function. 16551 (pass_waccess::maybe_warn_memmodel): New function. 16552 (pass_waccess::check_atomic_memmodel): New function. 16553 (pass_waccess::check_atomic_builtin): Handle memory model. 16554 * input.c (expansion_point_location_if_in_system_header): Return 16555 original location if expansion location is in a system header. 16556 165572022-01-04 Uroš Bizjak <ubizjak@gmail.com> 16558 16559 PR target/103861 16560 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern. 16561 (one_cmplv2qi3 splitters): New post-reload splitters. 16562 (*andnotv2qi3): New insn pattern. 16563 (andnotv2qi3 splitters): New post-reload splitters. 16564 (<any_logic:code>v2qi3): New insn pattern. 16565 (<any_logic:insn>v2qi3 splitters): New post-reload splitters. 16566 165672022-01-04 Richard Biener <rguenther@suse.de> 16568 16569 PR tree-optimization/103800 16570 * tree-vect-loop.c (vectorizable_phi): Remove assert and 16571 expand comment. 16572 165732022-01-04 Richard Biener <rguenther@suse.de> 16574 16575 PR tree-optimization/103690 16576 * tree-pass.h (tail_merge_optimize): Adjust. 16577 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether 16578 to re-split critical edges, move CFG cleanup ... 16579 * tree-ssa-pre.c (pass_pre::execute): ... here, before 16580 simple_dce_from_worklist and delay freeing inserted_exprs from 16581 ... 16582 (fini_pre): .. here. 16583 165842022-01-04 Roger Sayle <roger@nextmovesoftware.com> 16585 16586 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1. 16587 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true. 16588 (setcc_from_bi): Remove SImode specific pattern. 16589 (setcc<mode>_from_bi): Provide more general HSDIM pattern. 16590 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions 16591 for sign- and zero-extending BImode predicates to integers. 16592 (setcc_int<mode>): Remove previous (-1-based) instructions. 16593 (cstorebi4): Remove BImode to SImode specific expander. 16594 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi. 16595 (cstore<mode>4): For both integer and floating point modes. 16596 165972022-01-04 Olivier Hainque <hainque@adacore.com> 16598 16599 * gcc.c (driver_handle_option): do_save --sysroot. 16600 166012022-01-04 Richard Biener <rguenther@suse.de> 16602 16603 PR tree-optimization/103864 16604 PR tree-optimization/103544 16605 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude 16606 reductions wrapped in conversions from SLP handling. 16607 (vect_analyze_slp): Revert PR103544 change. 16608 166092022-01-04 Jakub Jelinek <jakub@redhat.com> 16610 16611 PR rtl-optimization/103860 16612 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue 16613 uselessly for blocks for which it has been called already. 16614 166152022-01-04 Cui,Lili <lili.cui@intel.com> 16616 16617 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values 16618 to Alderlake and Rocketlake. 16619 166202022-01-04 Chung-Lin Tang <cltang@codesourcery.com> 16621 16622 PR middle-end/103643 16623 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire 16624 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue' 16625 166262022-01-04 liuhongt <hongtao.liu@intel.com> 16627 16628 PR target/103895 16629 * config/i386/sse.md (*bit_and_float_vector_all_ones): 16630 Force_reg operand 1 to avoid ICE. 16631 166322022-01-04 Jason Merrill <jason@redhat.com> 16633 16634 * tree-pretty-print.c (do_niy): Add spc parameter. 16635 (NIY): Pass it. 16636 (print_call_name): Add spc local variable. 16637 166382022-01-03 Uroš Bizjak <ubizjak@gmail.com> 16639 16640 PR target/103894 16641 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint. 16642 (mov<V_32:mode>_internal): Ditto. 16643 (*push<V_32:mode>_rex64): Ditto. 16644 (movmisalign<V_32:mode>): Ditto. 16645 (*push<V_32:mode>_rex64 splitter): Enable for 16646 TARGET_64BIT && TARGET_SSE. 16647 (*push<V_32:mode>2): Remove insn pattern. 16648 166492022-01-03 Andrew Pinski <apinski@marvell.com> 16650 16651 PR c/33193 16652 * doc/extend.texi: Extend the documentation about Complex 16653 types for casting and also rewrite the __real__/__imag__ 16654 expression portion to use tables. 16655 Move __builtin_complex to the Complex type section. 16656 166572022-01-03 Jakub Jelinek <jakub@redhat.com> 16658 16659 PR target/98737 16660 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0, 16661 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0): 16662 New internal fns. 16663 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE, 16664 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE, 16665 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators. 16666 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0, 16667 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0, 16668 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New 16669 functions. 16670 * optabs.def (atomic_add_fetch_cmp_0_optab, 16671 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab, 16672 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New 16673 direct optabs. 16674 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare. 16675 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function. 16676 * tree-ssa-ccp.c: Include internal-fn.h. 16677 (optimize_atomic_bit_test_and): Add . before internal fn call 16678 in function comment. Change return type from void to bool and 16679 return true only if successfully replaced. 16680 (optimize_atomic_op_fetch_cmp_0): New function. 16681 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0 16682 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and 16683 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16}, 16684 for *XOR* ones only if optimize_atomic_bit_test_and failed. 16685 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>, 16686 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns. 16687 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1, 16688 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns. 16689 * doc/md.texi (atomic_add_fetch_cmp_0<mode>, 16690 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>, 16691 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document 16692 new named patterns. 16693 166942022-01-03 Richard Biener <rguenther@suse.de> 16695 16696 PR middle-end/103851 16697 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names. 16698 166992022-01-03 Jakub Jelinek <jakub@redhat.com> 16700 16701 PR c++/94716 16702 * symtab.c: Include fold-const.h. 16703 (symtab_node::equal_address_to): If folding_initializer is true, 16704 handle it like memory_accessed. Simplify. 16705 167062022-01-03 Martin Liska <mliska@suse.cz> 16707 16708 * doc/extend.texi: Use ; for function declarations. 16709 167102022-01-03 Jakub Jelinek <jakub@redhat.com> 16711 16712 PR c++/103600 16713 * symtab.c (symtab_node::equal_address_to): Return 0 if one of 16714 VAR_DECLs has "non overlapping" attribute and rs1 != rs2. 16715 167162022-01-03 Jakub Jelinek <jakub@redhat.com> 16717 16718 * gcc.c (process_command): Update copyright notice dates. 16719 * gcov-dump.c (print_version): Ditto. 16720 * gcov.c (print_version): Ditto. 16721 * gcov-tool.c (print_version): Ditto. 16722 * gengtype.c (create_file): Ditto. 16723 * doc/cpp.texi: Bump @copying's copyright year. 16724 * doc/cppinternals.texi: Ditto. 16725 * doc/gcc.texi: Ditto. 16726 * doc/gccint.texi: Ditto. 16727 * doc/gcov.texi: Ditto. 16728 * doc/install.texi: Ditto. 16729 * doc/invoke.texi: Ditto. 16730 167312022-01-02 Uroš Bizjak <ubizjak@gmail.com> 16732 16733 PR target/103861 16734 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode. 16735 (VALID_INT_MODE_P): Ditto. 16736 * config/i386/i386.c (ix86_secondary_reload): Handle 16737 V2QImode reloads from SSE register to memory. 16738 (vector_mode_supported_p): Always return true for V2QImode. 16739 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern. 16740 (*negqi_ext<mode>_2): Ditto. 16741 * config/i386/mmx.md (movv2qi): New expander. 16742 (movmisalignv2qi): Ditto. 16743 (*movv2qi_internal): New insn pattern. 16744 (*pushv2qi2): Ditto. 16745 (negv2qi2 and splitters): Ditto. 16746 (<plusminus:insn>v2qi3 and splitters): Ditto. 16747 167482022-01-02 John David Anglin <danglin@gcc.gnu.org> 16749 16750 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access 16751 sync_lock_test_and_set libfunc. Call convert_memory_address to 16752 convert memory address to Pmode. 16753 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise. 16754 16755 16756Copyright (C) 2022 Free Software Foundation, Inc. 16757 16758Copying and distribution of this file, with or without modification, 16759are permitted in any medium without royalty provided the copyright 16760notice and this notice are preserved. 16761