12023-05-08 Release Manager 2 3 * GCC 12.3.0 released. 4 52023-04-27 Jakub Jelinek <jakub@redhat.com> 6 7 Backported from master: 8 2023-04-08 Jakub Jelinek <jakub@redhat.com> 9 10 PR tree-optimization/109392 11 * tree-vect-generic.cc (tree_vec_extract): Handle failure 12 of maybe_push_res_to_seq better. 13 142023-04-27 Richard Biener <rguenther@suse.de> 15 16 Backported from master: 17 2023-02-16 Richard Biener <rguenther@suse.de> 18 19 PR tree-optimization/108791 20 * tree-ssa-forwprop.cc (optimize_vector_load): Build 21 the ADDR_EXPR of a TARGET_MEM_REF using a more meaningful 22 type. 23 242023-04-27 Roger Sayle <roger@nextmovesoftware.com> 25 26 Backported from master: 27 2023-01-10 Roger Sayle <roger@nextmovesoftware.com> 28 29 PR rtl-optimization/106421 30 * cprop.cc (bypass_block): Check that DEST is local to this 31 function (non-NULL) before calling find_edge. 32 332023-04-27 H.J. Lu <hjl.tools@gmail.com> 34 35 Backported from master: 36 2023-01-16 H.J. Lu <hjl.tools@gmail.com> 37 38 PR target/105980 39 * config/i386/i386.cc (x86_output_mi_thunk): Disable 40 -mforce-indirect-call for PIC in 32-bit mode. 41 422023-04-27 Jan Hubicka <jh@suse.cz> 43 44 Backported from master: 45 2022-08-12 Jan Hubicka <hubicka@ucw.cz> 46 47 PR middle-end/106057 48 * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New 49 function. 50 (possible_polymorphic_call_targets): Use it. 51 522023-04-26 Martin Jambor <mjambor@suse.cz> 53 54 Backported from master: 55 2023-04-17 Martin Jambor <mjambor@suse.cz> 56 57 PR ipa/107769 58 PR ipa/109318 59 * cgraph.h (symtab_node::find_reference): Add parameter use_type. 60 * ipa-prop.h (ipa_pass_through_data): New flag refdesc_decremented. 61 (ipa_zap_jf_refdesc): New function. 62 (ipa_get_jf_pass_through_refdesc_decremented): Likewise. 63 (ipa_set_jf_pass_through_refdesc_decremented): Likewise. 64 * ipa-cp.cc (ipcp_discover_new_direct_edges): Provide a value for 65 the new parameter of find_reference. 66 (adjust_references_in_caller): Likewise. Make sure the constant jump 67 function is not used to decrement a refdec counter again. Only 68 decrement refdesc counters when the pass_through jump function allows 69 it. Added a detailed dump when decrementing refdesc counters. 70 * ipa-prop.cc (ipa_print_node_jump_functions_for_edge): Dump new flag. 71 (ipa_set_jf_simple_pass_through): Initialize the new flag. 72 (ipa_set_jf_unary_pass_through): Likewise. 73 (ipa_set_jf_arith_pass_through): Likewise. 74 (remove_described_reference): Provide a value for the new parameter of 75 find_reference. 76 (update_jump_functions_after_inlining): Zap refdesc of new jfunc if 77 the previous pass_through had a flag mandating that we do so. 78 (propagate_controlled_uses): Likewise. Only decrement refdesc 79 counters when the pass_through jump function allows it. 80 (ipa_edge_args_sum_t::duplicate): Provide a value for the new 81 parameter of find_reference. 82 (ipa_write_jump_function): Assert the new flag does not have to be 83 streamed. 84 * symtab.cc (symtab_node::find_reference): Add parameter use_type, use 85 it in searching. 86 872023-04-26 Jakub Jelinek <jakub@redhat.com> 88 89 Backported from master: 90 2023-04-25 Jakub Jelinek <jakub@redhat.com> 91 92 PR target/109566 93 * config/rs6000/rs6000.cc (rs6000_is_valid_rotate_dot_mask): For 94 !TARGET_64BIT, don't return true if UINTVAL (mask) << (63 - nb) 95 is larger than signed int maximum. 96 972023-04-26 Richard Biener <rguenther@suse.de> 98 99 Backported from master: 100 2023-04-25 Richard Biener <rguenther@suse.de> 101 102 PR tree-optimization/109609 103 * attr-fnspec.h (arg_max_access_size_given_by_arg_p): 104 Clarify semantics. 105 * tree-ssa-alias.cc (check_fnspec): Correctly interpret 106 the size given by arg_max_access_size_given_by_arg_p as 107 maximum, not exact, size. 108 1092023-04-26 Richard Biener <rguenther@suse.de> 110 111 Backported from master: 112 2023-04-25 Richard Biener <rguenther@suse.de> 113 114 PR rtl-optimization/109585 115 * tree-ssa-alias.cc (aliasing_component_refs_p): Fix typo. 116 1172023-04-26 Richard Biener <rguenther@suse.de> 118 119 Backported from master: 120 2023-04-21 Richard Biener <rguenther@suse.de> 121 122 PR tree-optimization/109573 123 * tree-vect-loop.cc (vectorizable_live_operation): Allow 124 unhandled SSA copy as well. Demote assert to checking only. 125 1262023-04-21 John David Anglin <danglin@gcc.gnu.org> 127 128 PR target/109478 129 * config/pa/pa-protos.h (pa_function_arg_size): Update prototype. 130 * config/pa/pa.cc (pa_function_arg): Return NULL_RTX if argument 131 size is zero. 132 (pa_arg_partial_bytes): Don't call pa_function_arg_size twice. 133 (pa_function_arg_size): Change return type to int. Return zero 134 for arguments larger than 1 GB. Update comments. 135 1362023-04-21 Haochen Gui <guihaoc@gcc.gnu.org> 137 138 Backported from master: 139 2023-04-11 Haochen Gui <guihaoc@gcc.gnu.org> 140 141 PR target/108812 142 * config/rs6000/vsx.md (vsx_sign_extend_qi_<mode>): Rename to... 143 (vsx_sign_extend_v16qi_<mode>): ... this. 144 (vsx_sign_extend_hi_<mode>): Rename to... 145 (vsx_sign_extend_v8hi_<mode>): ... this. 146 (vsx_sign_extend_si_v2di): Rename to... 147 (vsx_sign_extend_v4si_v2di): ... this. 148 (vsignextend_qi_<mode>): Remove. 149 (vsignextend_hi_<mode>): Remove. 150 (vsignextend_si_v2di): Remove. 151 (vsignextend_v2di_v1ti): Remove. 152 (*xxspltib_<mode>_split): Replace gen_vsx_sign_extend_qi_v2di with 153 gen_vsx_sign_extend_v16qi_v2di and gen_vsx_sign_extend_qi_v4si 154 with gen_vsx_sign_extend_v16qi_v4si. 155 * config/rs6000/rs6000.md (split for DI constant generation): 156 Replace gen_vsx_sign_extend_qi_si with gen_vsx_sign_extend_v16qi_si. 157 (split for HSDI constant generation): Replace gen_vsx_sign_extend_qi_di 158 with gen_vsx_sign_extend_v16qi_di and gen_vsx_sign_extend_qi_si 159 with gen_vsx_sign_extend_v16qi_si. 160 * config/rs6000/rs6000-builtins.def (__builtin_altivec_vsignextsb2d): 161 Set bif-pattern to vsx_sign_extend_v16qi_v2di. 162 (__builtin_altivec_vsignextsb2w): Set bif-pattern to 163 vsx_sign_extend_v16qi_v4si. 164 (__builtin_altivec_visgnextsh2d): Set bif-pattern to 165 vsx_sign_extend_v8hi_v2di. 166 (__builtin_altivec_vsignextsh2w): Set bif-pattern to 167 vsx_sign_extend_v8hi_v4si. 168 (__builtin_altivec_vsignextsw2d): Set bif-pattern to 169 vsx_sign_extend_si_v2di. 170 (__builtin_altivec_vsignext): Set bif-pattern to 171 vsx_sign_extend_v2di_v1ti. 172 * config/rs6000/rs6000-builtin.cc (lxvrse_expand_builtin): Replace 173 gen_vsx_sign_extend_qi_v2di with gen_vsx_sign_extend_v16qi_v2di, 174 gen_vsx_sign_extend_hi_v2di with gen_vsx_sign_extend_v8hi_v2di and 175 gen_vsx_sign_extend_si_v2di with gen_vsx_sign_extend_v4si_v2di. 176 1772023-04-18 Jakub Jelinek <jakub@redhat.com> 178 179 Backported from master: 180 2023-04-12 Jakub Jelinek <jakub@redhat.com> 181 182 PR tree-optimization/109410 183 * tree-ssa-reassoc.cc (build_and_add_sum): Split edge from entry 184 block if first statement of the function is a call to returns_twice 185 function. 186 1872023-04-18 Jakub Jelinek <jakub@redhat.com> 188 189 Backported from master: 190 2023-03-28 Jakub Jelinek <jakub@redhat.com> 191 192 PR middle-end/106190 193 * sanopt.cc (pass_sanopt::execute): Return TODO_cleanup_cfg if any 194 of the IFN_{UB,HWA,A}SAN_* internal fns are lowered. 195 1962023-04-18 Jakub Jelinek <jakub@redhat.com> 197 198 Backported from master: 199 2023-03-28 Jakub Jelinek <jakub@redhat.com> 200 201 PR target/109276 202 * config/i386/i386.cc (assign_386_stack_local): For DImode 203 with SLOT_FLOATxFDI_387 and -m32 -mpreferred-stack-boundary=2 pass 204 align 32 rather than 0 to assign_stack_local. 205 2062023-04-18 Jakub Jelinek <jakub@redhat.com> 207 208 Backported from master: 209 2023-03-26 Jakub Jelinek <jakub@redhat.com> 210 211 PR ipa/105685 212 * predict.cc (compute_function_frequency): Don't call 213 warn_function_cold if function already has cold attribute. 214 2152023-04-18 Jakub Jelinek <jakub@redhat.com> 216 217 Backported from master: 218 2023-03-23 Jakub Jelinek <jakub@redhat.com> 219 220 PR tree-optimization/109176 221 * tree-vect-generic.cc (expand_vector_condition): If a has 222 vector boolean type and is a comparison, also check if both 223 the comparison and VEC_COND_EXPR could be successfully expanded 224 individually. 225 2262023-04-18 Philipp Tomsich <philipp.tomsich@vrull.eu> 227 228 Backported from master: 229 2023-01-31 Philipp Tomsich <philipp.tomsich@vrull.eu> 230 231 PR target/108589 232 * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Check 233 REG_P on SET_DEST. 234 2352023-04-17 Philipp Tomsich <philipp.tomsich@vrull.eu> 236 237 Backported from master: 238 2023-04-17 Philipp Tomsich <philipp.tomsich@vrull.eu> 239 Di Zhao <di.zhao@amperecomputing.com> 240 241 * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION): 242 Add AARCH64_EXTRA_TUNE_NO_LDP_COMBINE. 243 * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): 244 Check for the above tuning option when processing loads. 245 2462023-04-17 Richard Sandiford <richard.sandiford@arm.com> 247 248 Backported from master: 249 2023-04-13 Richard Sandiford <richard.sandiford@arm.com> 250 251 PR target/108910 252 * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Do 253 not trust TYPE_ALIGN for pointer types; use POINTER_SIZE instead. 254 2552023-04-17 Richard Biener <rguenther@suse.de> 256 257 PR tree-optimization/109434 258 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Properly 259 handle possibly throwing calls when processing the LHS 260 and may-defs are not OK. Add mode to initialize a may-def. 261 (dse_optimize_stmt): Query may-defs. 262 2632023-04-17 Richard Biener <rguenther@suse.de> 264 265 Backported from master: 266 2023-04-14 Richard Biener <rguenther@suse.de> 267 268 PR tree-optimization/109502 269 * tree-vect-stmts.cc (vectorizable_assignment): Fix 270 check for conversion between mask and non-mask types. 271 2722023-04-17 Richard Biener <rguenther@suse.de> 273 274 Backported from master: 275 2023-04-13 Richard Biener <rguenther@suse.de> 276 277 PR tree-optimization/109491 278 * tree-ssa-sccvn.cc (expressions_equal_p): Restore the 279 NULL operands test. 280 2812023-04-17 Richard Biener <rguenther@suse.de> 282 283 Backported from master: 284 2023-04-12 Richard Biener <rguenther@suse.de> 285 286 PR tree-optimization/109473 287 * tree-vect-loop.cc (vect_create_epilog_for_reduction): 288 Convert scalar result to the computation type before performing 289 the reduction adjustment. 290 2912023-04-17 Richard Biener <rguenther@suse.de> 292 293 Backported from master: 294 2023-04-12 Richard Biener <rguenther@suse.de> 295 296 PR tree-optimization/109469 297 * tree-vect-slp.cc (vect_slp_function): Skip region starts with 298 a returns-twice call. 299 3002023-04-17 Richard Biener <rguenther@suse.de> 301 302 Backported from master: 303 2023-03-27 Richard Biener <rguenther@suse.de> 304 305 PR lto/109263 306 * lto-wrapper.cc (run_gcc): Parse alternate debug options 307 as well, they always enable debug. 308 3092023-04-17 Richard Biener <rguenther@suse.de> 310 311 Backported from master: 312 2023-03-21 Richard Biener <rguenther@suse.de> 313 314 PR tree-optimization/109219 315 * tree-vect-loop.cc (vectorizable_reduction): Check 316 slp_node, not STMT_SLP_TYPE. 317 * tree-vect-stmts.cc (vectorizable_condition): Likewise. 318 * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): 319 Remove assertion on STMT_SLP_TYPE. 320 3212023-04-17 Richard Biener <rguenther@suse.de> 322 323 Backported from master: 324 2023-03-29 Richard Biener <rguenther@suse.de> 325 326 PR ipa/106124 327 * dwarf2out.cc (lookup_type_die): Reset TREE_ASM_WRITTEN 328 so we can re-create the DIE for the type if required. 329 3302023-04-17 Richard Biener <rguenther@suse.de> 331 332 Backported from master: 333 2022-12-07 Richard Biener <rguenther@suse.de> 334 335 PR ipa/105676 336 * ipa-pure-const.cc (ipa_make_function_pure): Skip also 337 for functions already being const. 338 3392023-04-17 Kewen Lin <linkw@linux.ibm.com> 340 341 Backported from master: 342 2023-04-04 Kewen Lin <linkw@linux.ibm.com> 343 344 PR target/108699 345 * config/rs6000/altivec.md (*p9v_parity<mode>2): Rename to ... 346 (rs6000_vprtyb<mode>2): ... this. 347 * config/rs6000/rs6000-builtins.def (VPRTYBD): Replace parityv2di2 with 348 rs6000_vprtybv2di2. 349 (VPRTYBW): Replace parityv4si2 with rs6000_vprtybv4si2. 350 (VPRTYBQ): Replace parityv1ti2 with rs6000_vprtybv1ti2. 351 * config/rs6000/vector.md (parity<mode>2 with VEC_IP): Expand with 352 popcountv16qi2 and the corresponding rs6000_vprtyb<mode>2. 353 3542023-04-17 Kewen Lin <linkw@linux.ibm.com> 355 356 Backported from master: 357 2023-04-04 Kewen Lin <linkw@linux.ibm.com> 358 359 PR target/108807 360 * config/rs6000/rs6000.cc (rs6000_expand_vector_set_var_p9): Fix gen 361 function for permutation control vector by considering big endianness. 362 3632023-04-14 Jan Hubicka <hubicka@ucw.cz> 364 365 PR target/109137 366 * config/i386/x86-tune.def (X86_TUNE_AVX256_MOVE_BY_PIECES): 367 Remove znver1-3. 368 (X86_TUNE_AVX256_STORE_BY_PIECES): Remove znver1-3. 369 3702023-04-13 Philipp Tomsich <philipp.tomsich@vrull.eu> 371 372 Backported from master: 373 2023-03-27 Philipp Tomsich <philipp.tomsich@vrull.eu> 374 Jiangning Liu <jiangning.liu@amperecomputing.com> 375 Manolis Tsamis <manolis.tsamis@vrull.eu> 376 377 * config/aarch64/aarch64.cc: Update vector costs for ampere1. 378 3792023-04-11 Michael Meissner <meissner@linux.ibm.com> 380 381 PR target/109067 382 * config/rs6000/rs6000.cc (create_complex_muldiv): Delete. 383 (init_float128_ieee): Delete code to switch complex multiply and divide 384 for long double. Backport from master, 3/20/2023. 385 (complex_multiply_builtin_code): New helper function. 386 (complex_divide_builtin_code): Likewise. 387 (rs6000_mangle_decl_assembler_name): Add support for mangling the name 388 of complex 128-bit multiply and divide built-in functions. 389 3902023-04-06 Andrew Pinski <apinski@marvell.com> 391 392 Backported from master: 393 2023-04-06 Andrew Pinski <apinski@marvell.com> 394 395 PR tree-optimization/109427 396 * params.opt (-param=vect-induction-float=): 397 Fix option attribute typo for IntegerRange. 398 3992023-04-03 Richard Sandiford <richard.sandiford@arm.com> 400 401 PR tree-optimization/96373 402 PR tree-optimization/108979 403 * tree-vect-stmts.cc (vectorizable_operation): Predicate trapping 404 operations on the loop mask. Reject partial vectors if this isn't 405 possible. Don't mask operations on invariants. 406 4072023-04-03 Richard Sandiford <richard.sandiford@arm.com> 408 409 Backported from master: 410 2023-03-28 Richard Sandiford <richard.sandiford@arm.com> 411 412 PR target/109072 413 * config/aarch64/aarch64-protos.h (aarch64_vector_load_decl): Declare. 414 * config/aarch64/aarch64.h (machine_function::vector_load_decls): New 415 variable. 416 * config/aarch64/aarch64-builtins.cc (aarch64_record_vector_load_arg): 417 New function. 418 (aarch64_general_gimple_fold_builtin): Delay folding of vld1 until 419 after inlining. Record which decls are loaded from. Fix handling 420 of vops for loads and stores. 421 * config/aarch64/aarch64.cc (aarch64_vector_load_decl): New function. 422 (aarch64_accesses_vector_load_decl_p): Likewise. 423 (aarch64_vector_costs::m_stores_to_vector_load_decl): New member 424 variable. 425 (aarch64_vector_costs::add_stmt_cost): If the function has a vld1 426 that loads from a decl, treat vector stores to those decls as 427 zero cost. 428 (aarch64_vector_costs::finish_cost): ...and in that case, 429 if the vector code does nothing more than a store, give the 430 prologue a zero cost as well. 431 4322023-04-03 Richard Sandiford <richard.sandiford@arm.com> 433 434 Backported from master: 435 2023-02-13 Richard Sandiford <richard.sandiford@arm.com> 436 437 PR rtl-optimization/108681 438 * lra-spills.cc (lra_final_code_change): Extend subreg replacement 439 code to handle bare uses and clobbers. 440 4412023-04-03 Richard Sandiford <richard.sandiford@arm.com> 442 443 Backported from master: 444 2023-01-31 Richard Sandiford <richard.sandiford@arm.com> 445 446 PR tree-optimization/108608 447 * tree-vect-loop.cc (vect_transform_reduction): Handle single 448 def-use cycles that involve function calls rather than tree codes. 449 4502023-04-03 Richard Sandiford <richard.sandiford@arm.com> 451 452 Backported from master: 453 2023-03-02 Richard Sandiford <richard.sandiford@arm.com> 454 455 PR tree-optimization/108603 456 * explow.cc (convert_memory_address_addr_space_1): Only wrap 457 the result of a recursive call in a CONST if no instructions 458 were emitted. 459 4602023-04-03 Richard Sandiford <richard.sandiford@arm.com> 461 462 Backported from master: 463 2023-02-02 Richard Sandiford <richard.sandiford@arm.com> 464 465 PR rtl-optimization/108508 466 * rtl-ssa/accesses.cc (function_info::split_clobber_group): When 467 the splay tree search gives the first clobber in the second group, 468 make sure that the root of the first clobber group is updated 469 correctly. Enter the new clobber group into the definition splay 470 tree. 471 4722023-04-03 Richard Sandiford <richard.sandiford@arm.com> 473 474 Backported from master: 475 2023-03-02 Richard Sandiford <richard.sandiford@arm.com> 476 477 PR tree-optimization/108430 478 * tree-vect-stmts.cc (vectorizable_condition): Fix handling 479 of inverted condition. 480 4812023-04-03 Richard Sandiford <richard.sandiford@arm.com> 482 483 Backported from master: 484 2023-02-02 Richard Sandiford <richard.sandiford@arm.com> 485 486 PR rtl-optimization/108086 487 * rtl-ssa/insns.h (insn_info): Make m_num_defs a full unsigned int. 488 Adjust size-related commentary accordingly. 489 4902023-03-31 Vladimir N. Makarov <vmakarov@redhat.com> 491 492 * ira-costs.cc: Include print-rtl.h. 493 (record_reg_classes, scan_one_insn): Add code to print debug info. 494 (record_operand_costs): Find and use smaller cost for hard reg 495 move. 496 4972023-03-29 David Malcolm <dmalcolm@redhat.com> 498 499 * doc/invoke.texi (Static Analyzer Options): Add notes about 500 limitations of -fanalyzer. 501 5022023-03-29 David Malcolm <dmalcolm@redhat.com> 503 504 * doc/analyzer.texi: Drop out-of-date ideas for other checkers. 505 5062023-03-28 Eric Botcazou <ebotcazou@adacore.com> 507 508 PR target/109140 509 * config/sparc/sparc.cc (sparc_expand_vcond): Call signed_condition 510 on operand #3 to get the final condition code. Use std::swap. 511 * config/sparc/sparc.md (vcondv8qiv8qi): New VIS 4 expander. 512 (fucmp<gcond:code>8<P:mode>_vis): Move around. 513 (fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis): Likewise. 514 (vcondu<GCM:mode><GCM:mode>): New VIS 4 expander. 515 5162023-03-22 Martin Jambor <mjambor@suse.cz> 517 518 Backported from master: 519 2023-03-14 Martin Jambor <mjambor@suse.cz> 520 521 PR ipa/107925 522 * ipa-cp.cc (update_specialized_profile): Drop orig_node_count to 523 ipa count, remove assert, lenient_count_portion_handling, dump 524 also orig_node_count. 525 5262023-03-20 Peter Bergner <bergner@linux.ibm.com> 527 528 Backported from master: 529 2023-03-20 Peter Bergner <bergner@linux.ibm.com> 530 531 PR target/109178 532 * config/rs6000/rs6000-builtin.cc (stv_expand_builtin): Use tmode. 533 5342023-03-19 Jakub Jelinek <jakub@redhat.com> 535 536 Backported from master: 537 2023-03-17 Jakub Jelinek <jakub@redhat.com> 538 539 PR target/105554 540 * function.h (push_struct_function): Add ABSTRACT_P argument defaulted 541 to false. 542 * function.cc (push_struct_function): Add ABSTRACT_P argument, pass it 543 to allocate_struct_function instead of false. 544 * tree-inline.cc (initialize_cfun): Don't copy DECL_ARGUMENTS 545 nor DECL_RESULT here. Pass true as ABSTRACT_P to 546 push_struct_function. Call targetm.target_option.relayout_function 547 after it. 548 (tree_function_versioning): Formatting fix. 549 5502023-03-19 Jakub Jelinek <jakub@redhat.com> 551 552 Backported from master: 553 2023-03-17 Jakub Jelinek <jakub@redhat.com> 554 555 PR middle-end/108685 556 * omp-expand.cc (expand_omp_for_ordered_loops): Add L0_BB argument, 557 use its loop_father rather than BODY_BB's loop_father. 558 (expand_omp_for_generic): Adjust expand_omp_for_ordered_loops caller. 559 If broken_loop with ordered > collapse and at least one of those 560 extra loops aren't guaranteed to have at least one iteration, change 561 l0_bb's loop_father to entry_bb's loop_father. Set cont_bb's 562 loop_father to l0_bb's loop_father rather than l1_bb's. 563 5642023-03-19 Jakub Jelinek <jakub@redhat.com> 565 566 Backported from master: 567 2023-03-10 Jakub Jelinek <jakub@redhat.com> 568 569 PR c/108079 570 * cgraphunit.cc (check_global_declaration): Don't warn for unused 571 variables which have OPT_Wunused_variable warning suppressed. 572 5732023-03-19 Jakub Jelinek <jakub@redhat.com> 574 575 Backported from master: 576 2023-03-04 Jakub Jelinek <jakub@redhat.com> 577 578 PR testsuite/108973 579 * selftest-diagnostic.cc 580 (test_diagnostic_context::test_diagnostic_context): Set 581 caret_max_width to 80. 582 5832023-03-19 Jakub Jelinek <jakub@redhat.com> 584 585 Backported from master: 586 2023-03-03 Jakub Jelinek <jakub@redhat.com> 587 588 PR c/108986 589 * gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes): 590 Return immediately if OPT_Wnonnull or OPT_Wstringop_overflow_ is 591 suppressed on stmt. For [static %E] warning, print access_nelts 592 rather than access_size. Fix up comment wording. 593 5942023-03-19 Jakub Jelinek <jakub@redhat.com> 595 596 Backported from master: 597 2023-03-02 Jakub Jelinek <jakub@redhat.com> 598 599 PR c++/108934 600 * fold-const.cc (native_interpret_expr) <case REAL_CST>: Before memcmp 601 comparison copy the bytes from ptr to a temporary buffer and clearing 602 padding bits in there. 603 6042023-03-19 Jakub Jelinek <jakub@redhat.com> 605 606 Backported from master: 607 2023-03-01 Jakub Jelinek <jakub@redhat.com> 608 609 PR debug/108967 610 * cfgexpand.cc (expand_debug_expr): Handle WIDEN_{PLUS,MINUS}_EXPR 611 and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR. 612 6132023-03-19 Jakub Jelinek <jakub@redhat.com> 614 615 Backported from master: 616 2023-02-24 Jakub Jelinek <jakub@redhat.com> 617 618 PR middle-end/108854 619 * cgraphclones.cc (duplicate_thunk_for_node): If no parameter 620 changes are needed, copy at least DECL_ARGUMENTS PARM_DECL 621 nodes and adjust their DECL_CONTEXT. 622 6232023-03-19 Jakub Jelinek <jakub@redhat.com> 624 625 Backported from master: 626 2023-02-24 Jakub Jelinek <jakub@redhat.com> 627 628 PR target/108881 629 * config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16hi, 630 __builtin_ia32_cvtne2ps2bf16_v16hi_mask, 631 __builtin_ia32_cvtne2ps2bf16_v16hi_maskz, 632 __builtin_ia32_cvtne2ps2bf16_v8hi, 633 __builtin_ia32_cvtne2ps2bf16_v8hi_mask, 634 __builtin_ia32_cvtne2ps2bf16_v8hi_maskz, 635 __builtin_ia32_cvtneps2bf16_v8sf_mask, 636 __builtin_ia32_cvtneps2bf16_v8sf_maskz, 637 __builtin_ia32_cvtneps2bf16_v4sf_mask, 638 __builtin_ia32_cvtneps2bf16_v4sf_maskz, 639 __builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask, 640 __builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf, 641 __builtin_ia32_dpbf16ps_v4sf_mask, 642 __builtin_ia32_dpbf16ps_v4sf_maskz): Require also 643 OPTION_MASK_ISA_AVX512VL. 644 6452023-03-19 Jakub Jelinek <jakub@redhat.com> 646 647 Backported from master: 648 2023-02-18 Jakub Jelinek <jakub@redhat.com> 649 650 PR tree-optimization/108819 651 * tree-ssa-reassoc.cc (update_ops): Fold new stmt in place. 652 6532023-03-19 Jakub Jelinek <jakub@redhat.com> 654 655 Backported from master: 656 2023-02-09 Jakub Jelinek <jakub@redhat.com> 657 658 PR target/100758 659 * common/config/i386/cpuinfo.h (cpu_indicator_init): Call 660 get_available_features for all CPUs with max_level >= 1, rather 661 than just Intel or AMD. 662 6632023-03-15 Richard Biener <rguenther@suse.de> 664 665 Backported from master: 666 2023-03-01 Richard Biener <rguenther@suse.de> 667 668 PR tree-optimization/108950 669 * tree-vect-patterns.cc (vect_recog_widen_sum_pattern): 670 Check oprnd0 is defined in the loop. 671 * tree-vect-loop.cc (vectorizable_reduction): Record all 672 operands vector types, compute that of invariants and 673 properly update their SLP nodes. 674 6752023-03-15 Richard Biener <rguenther@suse.de> 676 677 Backported from master: 678 2023-02-17 Richard Biener <rguenther@suse.de> 679 680 PR tree-optimization/108821 681 * tree-ssa-loop-im.cc (sm_seq_valid_bb): We can also not 682 move volatile accesses. 683 6842023-03-15 Richard Biener <rguenther@suse.de> 685 686 Backported from master: 687 2023-02-20 Richard Biener <rguenther@suse.de> 688 689 PR tree-optimization/108816 690 * tree-vect-loop-manip.cc (vect_loop_versioning): Adjust 691 versioning condition split prerequesite, assert required 692 invariant. 693 6942023-03-15 Richard Biener <rguenther@suse.de> 695 696 Backported from master: 697 2023-02-21 Richard Biener <rguenther@suse.de> 698 699 PR tree-optimization/108793 700 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap): 701 Use convert operands to niter_type when computing num. 702 7032023-03-15 Richard Biener <rguenther@suse.de> 704 705 Backported from master: 706 2023-02-10 Richard Biener <rguenther@suse.de> 707 708 PR tree-optimization/108724 709 * tree-vect-stmts.cc (vectorizable_operation): Avoid 710 using word_mode vectors when vector lowering will 711 decompose them to elementwise operations. 712 7132023-03-15 Richard Biener <rguenther@suse.de> 714 715 Backported from master: 716 2023-02-02 Richard Biener <rguenther@suse.de> 717 718 PR middle-end/108625 719 * genmatch.cc (expr::gen_transform): Also disallow resimplification 720 from pushing to lseq with force_leaf. 721 (dt_simplify::gen_1): Likewise. 722 7232023-03-15 Richard Biener <rguenther@suse.de> 724 725 Backported from master: 726 2023-02-01 Richard Biener <rguenther@suse.de> 727 728 PR middle-end/108500 729 * dominance.cc (assign_dfs_numbers): Replace recursive DFS 730 with tree traversal algorithm. 731 7322023-03-15 Richard Biener <rguenther@suse.de> 733 734 Backported from master: 735 2022-12-22 Richard Biener <rguenther@suse.de> 736 737 PR tree-optimization/107451 738 * tree-vect-stmts.cc (vectorizable_load): Avoid loading 739 SLP group members from group numbers in excess of the 740 vectorization factor. 741 7422023-03-15 Richard Biener <rguenther@suse.de> 743 744 Backported from master: 745 2022-12-11 Richard Biener <rguenther@suse.de> 746 747 PR tree-optimization/106904 748 * tree.h (strip_zero_offset_components): Declare. 749 * tree.cc (strip_zero_offset_components): Define. 750 * tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref): 751 Strip zero offset components before building the address. 752 7532023-03-14 Jan Hubicka <jh@suse.cz> 754 755 Backported from master: 756 2023-03-06 Jan Hubicka <hubicka@ucw.cz> 757 758 PR target/108429 759 * config/i386/x86-tune.def (X86_TUNE_USE_SCATTER_2PARTS): Enable for 760 generic. 761 (X86_TUNE_USE_SCATTER_4PARTS): Likewise. 762 (X86_TUNE_USE_SCATTER): Likewise. 763 7642023-03-14 Jan Hubicka <jh@suse.cz> 765 766 Backported from master: 767 2023-02-07 Jan Hubicka <jh@suse.cz> 768 769 * config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Turn off 770 for znver4. 771 7722023-03-11 Andrew Pinski <apinski@marvell.com> 773 774 Backported from master: 775 2022-12-21 Andrew Pinski <apinski@marvell.com> 776 777 PR tree-optimization/105532 778 * match.pd (~(X >> Y) -> ~X >> Y): Check if it is an integral 779 type before calling tree_nonzero_bits. 780 (popcount(X) + popcount(Y)): Likewise. 781 (popcount(X&C1)): Likewise. 782 7832023-03-10 Andrew Pinski <apinski@marvell.com> 784 785 Backported from master: 786 2023-02-10 Andrew Pinski <apinski@marvell.com> 787 Andrew Macleod <amacleod@redhat.com> 788 789 PR tree-optimization/108684 790 * tree-ssa-dce.cc (simple_dce_from_worklist): 791 Check all ssa names and not just non-vdef ones 792 before accepting the inline-asm. 793 Call unlink_stmt_vdef on the statement before 794 removing it. 795 7962023-03-08 Tobias Burnus <tobias@codesourcery.com> 797 798 Backported from master: 799 2023-03-01 Tobias Burnus <tobias@codesourcery.com> 800 801 PR middle-end/108546 802 * omp-low.cc (lower_omp_target): Remove optional handling 803 on the receiver side, i.e. inside target (data), for 804 use_device_ptr. 805 8062023-03-06 Xi Ruoyao <xry111@xry111.site> 807 808 Backported from master: 809 2023-03-06 Xi Ruoyao <xry111@xry111.site> 810 811 PR target/109000 812 * config/loongarch/loongarch.h (FP_RETURN): Use 813 TARGET_*_FLOAT_ABI instead of TARGET_*_FLOAT. 814 (UNITS_PER_FP_ARG): Likewise. 815 8162023-02-27 Martin Liska <mliska@suse.cz> 817 818 Backported from master: 819 2023-02-24 Martin Liska <mliska@suse.cz> 820 821 PR sanitizer/108834 822 * asan.cc (asan_add_global): Use proper TU name for normal 823 global variables (and aux_base_name for the artificial one). 824 8252023-02-24 Sebastian Huber <sebastian.huber@embedded-brains.de> 826 827 Backported from master: 828 2023-02-24 Sebastian Huber <sebastian.huber@embedded-brains.de> 829 830 * config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs. 831 Add non-compact 32-bit multilibs. 832 8332023-02-20 Alex Coplan <alex.coplan@arm.com> 834 835 Backported from master: 836 2023-02-06 Alex Coplan <alex.coplan@arm.com> 837 838 PR target/104921 839 * config/aarch64/aarch64-simd.md (aarch64_bfmlal<bt>_lane<q>v4sf): 840 Use correct constraint for operand 3. 841 8422023-02-18 Xi Ruoyao <xry111@xry111.site> 843 844 Backported from master: 845 2023-02-18 Xi Ruoyao <xry111@xry111.site> 846 847 * config.gcc (triplet_abi): Set its value based on $with_abi, 848 instead of $target. 849 (la_canonical_triplet): Set it after $triplet_abi is set 850 correctly. 851 * config/loongarch/t-linux (MULTILIB_OSDIRNAMES): Make the 852 multiarch tuple for lp64d "loongarch64-linux-gnu" (without 853 "f64" suffix). 854 8552023-02-15 Eric Botcazou <ebotcazou@adacore.com> 856 857 PR target/90458 858 * config/i386/i386.cc (ix86_compute_frame_layout): Disable the 859 effects of -fstack-clash-protection for TARGET_STACK_PROBE. 860 (ix86_expand_prologue): Likewise. 861 8622023-02-15 Marek Polacek <polacek@redhat.com> 863 864 Backported from master: 865 2023-02-15 Marek Polacek <polacek@redhat.com> 866 867 PR middle-end/106080 868 * gimple-ssa-warn-access.cc (is_auto_decl): Remove. Use auto_var_p 869 instead. 870 8712023-02-14 Eric Botcazou <ebotcazou@adacore.com> 872 873 * gimplify.cc (gimplify_save_expr): Add missing guard. 874 8752023-02-13 Kewen Lin <linkw@linux.ibm.com> 876 877 Backported from master: 878 2023-01-18 Kewen Lin <linkw@linux.ibm.com> 879 Andrew Pinski <apinski@marvell.com> 880 881 PR target/108396 882 * config/rs6000/rs6000-overload.def (VEC_VSUBCUQ): Fix typo 883 vec_vsubcuqP with vec_vsubcuq. 884 8852023-02-13 Kewen Lin <linkw@linux.ibm.com> 886 887 Backported from master: 888 2023-01-18 Kewen Lin <linkw@linux.ibm.com> 889 890 PR target/108348 891 * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the 892 support for invalid uses of MMA opaque type in function arguments. 893 8942023-02-13 Kewen Lin <linkw@linux.ibm.com> 895 896 Backported from master: 897 2023-01-16 Kewen Lin <linkw@linux.ibm.com> 898 899 PR target/108272 900 * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the 901 support for invalid uses in inline asm, factor out the checking and 902 erroring to lambda function check_and_error_invalid_use. 903 9042023-02-11 John David Anglin <danglin@gcc.gnu.org> 905 906 * config/pa/pa.cc (pa_option_override): Disable -fstack-protector. 907 9082023-02-10 Jakub Jelinek <jakub@redhat.com> 909 910 Backported from master: 911 2023-01-31 Jakub Jelinek <jakub@redhat.com> 912 913 PR c++/105593 914 * config/i386/avx512erintrin.h (_mm512_exp2a23_round_pd, 915 _mm512_exp2a23_round_ps, _mm512_rcp28_round_pd, _mm512_rcp28_round_ps, 916 _mm512_rsqrt28_round_pd, _mm512_rsqrt28_round_ps): Use 917 _mm512_undefined_pd () or _mm512_undefined_ps () instead of using 918 uninitialized automatic variable __W. 919 9202023-02-10 Jakub Jelinek <jakub@redhat.com> 921 922 Backported from master: 923 2023-01-16 Jakub Jelinek <jakub@redhat.com> 924 925 PR c++/105593 926 * config/i386/xmmintrin.h (_mm_undefined_ps): Temporarily 927 disable -Winit-self using pragma GCC diagnostic ignored. 928 * config/i386/emmintrin.h (_mm_undefined_pd, _mm_undefined_si128): 929 Likewise. 930 * config/i386/avxintrin.h (_mm256_undefined_pd, _mm256_undefined_ps, 931 _mm256_undefined_si256): Likewise. 932 * config/i386/avx512fintrin.h (_mm512_undefined_pd, 933 _mm512_undefined_ps, _mm512_undefined_epi32): Likewise. 934 * config/i386/avx512fp16intrin.h (_mm_undefined_ph, 935 _mm256_undefined_ph, _mm512_undefined_ph): Likewise. 936 9372023-02-10 Jakub Jelinek <jakub@redhat.com> 938 939 Backported from master: 940 2023-01-19 Jakub Jelinek <jakub@redhat.com> 941 942 PR tree-optimization/108440 943 * tree-ssa-forwprop.cc: Include gimple-range.h. 944 (simplify_rotate): For the forms with T2 wider than T and shift counts of 945 Y and B - Y add & (B - 1) masking for the rotate count if Y could be equal 946 to B. For the forms with T2 wider than T and shift counts of 947 Y and (-Y) & (B - 1), don't punt if range could be [B, B2], but only if 948 range doesn't guarantee Y < B or Y = N * B. If range doesn't guarantee 949 Y < B, also add & (B - 1) masking for the rotate count. Use lazily created 950 pass specific ranger instead of get_global_range_query. 951 (pass_forwprop::execute): Disable that ranger at the end of pass if it has 952 been created. 953 9542023-02-10 Jakub Jelinek <jakub@redhat.com> 955 956 Backported from master: 957 2023-01-17 Jakub Jelinek <jakub@redhat.com> 958 959 PR tree-optimization/106523 960 * tree-ssa-forwprop.cc (simplify_rotate): For the 961 patterns with (-Y) & (B - 1) in one operand's shift 962 count and Y in another, if T2 has wider precision than T, 963 punt if Y could have a value in [B, B2 - 1] range. 964 9652023-02-10 Andrew Pinski <apinski@marvell.com> 966 967 Backported from master: 968 2023-02-09 Andrew Pinski <apinski@marvell.com> 969 970 PR tree-optimization/108688 971 * match.pd (bit_field_ref [bit_insert]): Avoid generating 972 BIT_FIELD_REFs of non-mode-precision integral operands. 973 9742023-02-10 Jakub Jelinek <jakub@redhat.com> 975 976 Backported from master: 977 2023-02-08 Jakub Jelinek <jakub@redhat.com> 978 979 PR tree-optimization/108692 980 * tree-vect-patterns.cc (vect_widened_op_tree): If rhs_code is 981 widened_code which is different from code, don't call 982 vect_look_through_possible_promotion but instead just check op is 983 SSA_NAME with integral type for which vect_is_simple_use is true 984 and call set_op on this_unprom. 985 9862023-02-10 Jakub Jelinek <jakub@redhat.com> 987 988 Backported from master: 989 2023-02-02 Jakub Jelinek <jakub@redhat.com> 990 991 PR middle-end/108435 992 * tree-nested.cc (convert_nonlocal_omp_clauses) 993 <case OMP_CLAUSE_LASTPRIVATE>: If info->new_local_var_chain and *seq 994 is not a GIMPLE_BIND, wrap the sequence into a new GIMPLE_BIND 995 before calling declare_vars. 996 (convert_nonlocal_omp_clauses) <case OMP_CLAUSE_LINEAR>: Merge 997 with the OMP_CLAUSE_LASTPRIVATE handling except for whether 998 seq is initialized to &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause) 999 or &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause). 1000 10012023-02-10 Jakub Jelinek <jakub@redhat.com> 1002 1003 Backported from master: 1004 2023-02-01 Jakub Jelinek <jakub@redhat.com> 1005 1006 PR debug/108573 1007 * ree.cc (combine_reaching_defs): Don't return false for paradoxical 1008 subregs in DEBUG_INSNs. 1009 10102023-02-10 Jakub Jelinek <jakub@redhat.com> 1011 1012 Backported from master: 1013 2023-01-31 Jakub Jelinek <jakub@redhat.com> 1014 1015 PR target/108599 1016 * config/i386/i386-expand.cc 1017 (ix86_convert_const_wide_int_to_broadcast): Return nullptr if 1018 CONST_WIDE_INT_NUNITS (op) times HOST_BITS_PER_WIDE_INT isn't 1019 equal to bitsize of mode. 1020 10212023-02-10 Jakub Jelinek <jakub@redhat.com> 1022 1023 Backported from master: 1024 2023-01-31 Jakub Jelinek <jakub@redhat.com> 1025 1026 PR rtl-optimization/108596 1027 * bb-reorder.cc (fix_up_fall_thru_edges): Handle the case where cur_bb 1028 ends with asm goto and has a crossing fallthrough edge to the same bb 1029 that contains at least one of its labels by restoring EDGE_CROSSING 1030 flag even on possible edge from cur_bb to new_bb successor. 1031 10322023-02-10 Jakub Jelinek <jakub@redhat.com> 1033 1034 Backported from master: 1035 2023-01-27 Jakub Jelinek <jakub@redhat.com> 1036 1037 PR other/108560 1038 * doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len 1039 from size_t to int. 1040 10412023-02-10 Jakub Jelinek <jakub@redhat.com> 1042 1043 Backported from master: 1044 2023-01-25 Jakub Jelinek <jakub@redhat.com> 1045 1046 PR tree-optimization/108498 1047 * gimple-ssa-store-merging.cc (class store_operand_info): 1048 End coment with full stop rather than comma. 1049 (split_group): Likewise. 1050 (merged_store_group::apply_stores): Clear string_concatenation if 1051 start or end aren't on a byte boundary. 1052 10532023-02-10 Eric Biggers <ebiggers@google.com> 1054 1055 Backported from master: 1056 2023-01-24 Eric Biggers <ebiggers@google.com> 1057 1058 PR bootstrap/90543 1059 * optc-save-gen.awk: Fix copy-and-paste error. 1060 10612023-02-10 Jakub Jelinek <jakub@redhat.com> 1062 1063 Backported from master: 1064 2023-01-19 Jakub Jelinek <jakub@redhat.com> 1065 1066 PR middle-end/108459 1067 * omp-expand.cc (expand_omp_for_init_counts): Use fold_build1 rather 1068 than fold_unary for NEGATE_EXPR. 1069 10702023-02-10 Jakub Jelinek <jakub@redhat.com> 1071 1072 Backported from master: 1073 2023-01-04 Jakub Jelinek <jakub@redhat.com> 1074 1075 PR middle-end/108237 1076 * generic-match-head.cc: Include tree-pass.h. 1077 (canonicalize_math_p, optimize_vectors_before_lowering_p): Define 1078 to false if cfun and cfun->curr_properties has PROP_gimple_opt_math 1079 resp. PROP_gimple_lvec property set. 1080 10812023-02-10 Jakub Jelinek <jakub@redhat.com> 1082 1083 Backported from master: 1084 2023-01-03 Jakub Jelinek <jakub@redhat.com> 1085 1086 PR middle-end/108264 1087 * expr.cc (store_expr): For stores into SUBREG_PROMOTED_* targets 1088 from source which doesn't have scalar integral mode first convert 1089 it to outer_mode. 1090 10912023-02-10 Jakub Jelinek <jakub@redhat.com> 1092 1093 Backported from master: 1094 2022-12-23 Jakub Jelinek <jakub@redhat.com> 1095 1096 PR tree-optimization/108068 1097 * tree.h (real_maybe_zerop): Declare. 1098 * tree.cc (real_maybe_zerop): Define. 1099 * tree-ssa-dom.cc (record_edge_info): Use it instead of 1100 real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop. Always set 1101 can_infer_simple_equiv to false for decimal floating point types. 1102 11032023-02-10 Jakub Jelinek <jakub@redhat.com> 1104 1105 Backported from master: 1106 2022-12-22 Jakub Jelinek <jakub@redhat.com> 1107 1108 PR tree-optimization/108166 1109 * tree-ssa-phiopt.cc (value_replacement): For the maybe_equal_p 1110 case turned into equal_p reset SSA_NAME_RANGE_INFO of phi result. 1111 11122023-02-10 Jakub Jelinek <jakub@redhat.com> 1113 1114 Backported from master: 1115 2022-12-22 Jakub Jelinek <jakub@redhat.com> 1116 1117 PR rtl-optimization/108193 1118 * cse.cc (compute_const_anchors): Change n type to 1119 unsigned HOST_WIDE_INT, adjust comparison against it to avoid 1120 warnings. Formatting fix. 1121 (insert_const_anchor): Use gen_int_mode instead of GEN_INT. 1122 11232023-02-10 Jakub Jelinek <jakub@redhat.com> 1124 1125 Backported from master: 1126 2022-12-16 Jakub Jelinek <jakub@redhat.com> 1127 1128 PR rtl-optimization/106751 1129 * loop-invariant.cc (move_invariant_reg): If preheader bb ends 1130 with a JUMP_INSN, split the preheader edge and emit invariants 1131 into the new preheader basic block. 1132 11332023-02-10 Jakub Jelinek <jakub@redhat.com> 1134 1135 Backported from master: 1136 2022-12-15 Jakub Jelinek <jakub@redhat.com> 1137 1138 PR tree-optimization/108095 1139 * tree-into-ssa.cc (maybe_register_def): Insert debug stmt 1140 on all non-EH edges from asm goto if they have a single 1141 predecessor rather than asserting there is at most one such edge. 1142 Test whether there are no PHI nodes next to the single predecessor 1143 test. 1144 11452023-02-10 Jakub Jelinek <jakub@redhat.com> 1146 1147 Backported from master: 1148 2022-12-10 Jakub Jelinek <jakub@redhat.com> 1149 1150 PR tree-optimization/107997 1151 * tree-ssa-loop-ivopts.cc: Include cfganal.h. 1152 (create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends 1153 with a stmt which ends bb, instead of adding iv update after it split 1154 the latch edge and insert iterator into the new latch bb. 1155 11562023-02-10 Jakub Jelinek <jakub@redhat.com> 1157 1158 Backported from master: 1159 2022-12-08 Jakub Jelinek <jakub@redhat.com> 1160 1161 PR debug/106719 1162 * cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between 1163 debug_insn (seen after flow_transfer_insn) and insn, move NOTEs 1164 before all the DEBUG_INSNs and split after NOTEs. If there are 1165 other insns like jump table data, clear debug_insn. 1166 11672023-02-10 Jakub Jelinek <jakub@redhat.com> 1168 1169 Backported from master: 1170 2022-11-28 Jakub Jelinek <jakub@redhat.com> 1171 1172 PR target/106875 1173 * config/i386/i386.opt (x_ix86_abi): Remove TargetSave. 1174 (ix86_abi): Replace it with TargetVariable. 1175 * config/i386/i386-options.cc (ix86_function_specific_save, 1176 ix86_function_specific_restore): Don't save and restore x_ix86_abi. 1177 11782023-02-10 Jakub Jelinek <jakub@redhat.com> 1179 1180 Backported from master: 1181 2022-11-24 Jakub Jelinek <jakub@redhat.com> 1182 1183 PR middle-end/107317 1184 * asan.cc: Include diagnostic-core.h. 1185 (asan_emit_stack_protection): Return NULL early if seen_error (). 1186 11872023-02-07 Andrew Pinski <apinski@marvell.com> 1188 1189 Backported from master: 1190 2023-01-30 Andrew Pinski <apinski@marvell.com> 1191 1192 PR tree-optimization/108582 1193 * tree-ssa-phiopt.cc (match_simplify_replacement): Add check 1194 for middlebb to have no phi nodes. 1195 11962023-02-07 Siddhesh Poyarekar <siddhesh@gotplt.org> 1197 1198 Backported from master: 1199 2023-01-26 Siddhesh Poyarekar <siddhesh@gotplt.org> 1200 1201 PR tree-optimization/108522 1202 * tree-object-size.cc (compute_object_offset): Make EXPR 1203 argument non-const. Call component_ref_field_offset. 1204 12052023-02-07 Siddhesh Poyarekar <siddhesh@gotplt.org> 1206 1207 Backported from master: 1208 2023-01-25 Siddhesh Poyarekar <siddhesh@gotplt.org> 1209 Jakub Jelinek <jakub@redhat.com> 1210 1211 PR tree-optimization/108522 1212 * tree-object-size.cc (compute_object_offset): Use 1213 TREE_OPERAND(ref, 2) for COMPONENT_REF when available. 1214 12152023-02-01 Martin Jambor <mjambor@suse.cz> 1216 1217 Backported from master: 1218 2023-01-18 Martin Jambor <mjambor@suse.cz> 1219 1220 PR ipa/107944 1221 * cgraph.cc (cgraph_node::remove): Check whether nodes up the 1222 lcone_of chain also do not need the body. 1223 12242023-01-30 Andrew MacLeod <amacleod@redhat.com> 1225 1226 PR tree-optimization/108306 1227 * range-op.cc (operator_lshift::fold_range): Return [0, 0] not 1228 varying for shifts that are always out of void range. 1229 (operator_rshift::fold_range): Return [0, 0] not 1230 varying for shifts that are always out of void range. 1231 12322023-01-30 liuhongt <hongtao.liu@intel.com> 1233 1234 * config/i386/i386.opt: Change AVX512FP16 to AVX512-FP16. 1235 * doc/invoke.texi: Ditto. 1236 12372023-01-29 Jan Hubicka <jh@suse.cz> 1238 1239 Backported from master: 1240 2023-01-16 Jan Hubicka <jh@suse.cz> 1241 1242 * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Guard scatter 1243 by TARGET_USE_SCATTER. 1244 * config/i386/i386.h (TARGET_USE_SCATTER_2PARTS, 1245 TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New macros. 1246 * config/i386/x86-tune.def (TARGET_USE_SCATTER_2PARTS, 1247 TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New tunes. 1248 (X86_TUNE_AVOID_256FMA_CHAINS, X86_TUNE_AVOID_512FMA_CHAINS): Disable 1249 for znver4. (X86_TUNE_USE_GATHER): Disable for zen4. 1250 12512023-01-29 Jan Hubicka <jh@suse.cz> 1252 1253 Backported from master: 1254 2022-12-22 Jan Hubicka <hubicka@ucw.cz> 1255 1256 * config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Add 1257 TARGET_AVX512_SPLIT_REGS 1258 * config/i386/i386-options.cc (ix86_option_override_internal): 1259 Honor x86_TONE_AVOID_256FMA_CHAINS. 1260 * config/i386/i386.cc (ix86_vec_cost): Honor TARGET_AVX512_SPLIT_REGS. 1261 (ix86_reassociation_width): Likewise. 1262 * config/i386/i386.h (TARGET_AVX512_SPLIT_REGS): New tune. 1263 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable 1264 for znver4. 1265 (X86_TUNE_USE_GATHER_4PARTS): Likewise. 1266 (X86_TUNE_AVOID_256FMA_CHAINS): Set for znver4. 1267 (X86_TUNE_AVOID_512FMA_CHAINS): New utne; set for znver4. 1268 (X86_TUNE_AVX256_OPTIMAL): Add znver4. 1269 (X86_TUNE_AVX512_SPLIT_REGS): New tune. 1270 (X86_TUNE_AVX256_MOVE_BY_PIECES): Add znver1-3. 1271 (X86_TUNE_AVX256_STORE_BY_PIECES): Add znver1-3. 1272 (X86_TUNE_AVX512_MOVE_BY_PIECES): Add znver4. 1273 (X86_TUNE_AVX512_STORE_BY_PIECES): Add znver4. 1274 12752023-01-29 Jan Hubicka <jh@suse.cz> 1276 1277 Backported from master: 1278 2022-12-22 Jan Hubicka <hubicka@ucw.cz> 1279 1280 * config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE 1281 moves, division multiplication, gathers, L2 cache size, and more 1282 complex FP instrutions. 1283 12842023-01-28 Tejas Joshi <TejasSanjay.Joshi@amd.com> 1285 1286 Backported from master: 1287 2023-01-05 Tejas Joshi <TejasSanjay.Joshi@amd.com> 1288 1289 * common/config/i386/i386-common.cc (processor_alias_table): 1290 Use CPU_ZNVER4 for znver4. 1291 * config/i386/i386.md: Add znver4.md. 1292 * config/i386/znver4.md: New. 1293 12942023-01-28 Tejas Joshi <TejasSanjay.Joshi@amd.com> 1295 1296 Backported from master: 1297 2022-10-25 Tejas Joshi <TejasSanjay.Joshi@amd.com> 1298 1299 * common/config/i386/i386-common.cc (processor_alias_table): Use 1300 CPU_ZNVER3 for znver4. 1301 * config/i386/znver.md: Remove znver4 reservations. 1302 13032023-01-28 Tejas Joshi <TejasSanjay.Joshi@amd.com> 1304 1305 Backported from master: 1306 2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com> 1307 1308 * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4. 1309 * common/config/i386/i386-common.cc (processor_names): Add znver4. 1310 (processor_alias_table): Add znver4 and modularize old znvers. 1311 * common/config/i386/i386-cpuinfo.h (processor_subtypes): 1312 AMDFAM19H_ZNVER4. 1313 * config.gcc (x86_64-*-* |...): Likewise. 1314 * config/i386/driver-i386.cc (host_detect_local_cpu): Let 1315 -march=native recognize znver4 cpus. 1316 * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4. 1317 * config/i386/i386-options.cc (m_ZNVER4): New definition. 1318 (m_ZNVER): Include m_ZNVER4. 1319 (processor_cost_table): Add znver4. 1320 * config/i386/i386.cc (ix86_reassociation_width): Likewise. 1321 * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4. 1322 (PTA_ZNVER1): New definition. 1323 (PTA_ZNVER2): Likewise. 1324 (PTA_ZNVER3): Likewise. 1325 (PTA_ZNVER4): Likewise. 1326 * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename 1327 md file. 1328 * config/i386/x86-tune-costs.h (znver4_cost): New definition. 1329 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4. 1330 (ix86_adjust_cost): Likewise. 1331 * config/i386/znver1.md: Rename to znver.md. 1332 * config/i386/znver.md: Add new reservations for znver4. 1333 * doc/extend.texi: Add details about znver4. 1334 * doc/invoke.texi: Likewise. 1335 13362023-01-27 Andre Vieira <andre.simoesdiasvieira@arm.com> 1337 1338 Backported from master: 1339 2022-12-06 Andre Vieira <andre.simoesdiasvieira@arm.com> 1340 1341 PR target/107987 1342 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>, 1343 @mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar 1344 operand. 1345 13462023-01-26 Marek Polacek <polacek@redhat.com> 1347 1348 Backported from master: 1349 2023-01-26 Marek Polacek <polacek@redhat.com> 1350 1351 PR middle-end/108543 1352 * opts.cc (parse_sanitizer_options): Don't always clear SANITIZE_ADDRESS 1353 if it was previously set. 1354 13552023-01-26 Dimitar Dimitrov <dimitar@dinux.eu> 1356 1357 Backported from master: 1358 2023-01-22 Dimitar Dimitrov <dimitar@dinux.eu> 1359 1360 * config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix value for QI 1361 and HI input modes. 1362 * config/pru/pru.md (clz): Fix generated code for QI and HI 1363 input modes. 1364 13652023-01-25 Christophe Lyon <christophe.lyon@arm.com> 1366 1367 Backported from master: 1368 2023-01-12 Christophe Lyon <christophe.lyon@arm.com> 1369 Richard Sandiford <richard.sandiford@arm.com> 1370 1371 * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Fix 1372 comment. 1373 (aarch64_layout_arg): Factorize warning conditions. 1374 (aarch64_function_arg_boundary): Fix typo. 1375 * function.cc (currently_expanding_function_start): New variable. 1376 (expand_function_start): Handle 1377 currently_expanding_function_start. 1378 * function.h (currently_expanding_function_start): Declare. 1379 13802023-01-24 Richard Biener <rguenther@suse.de> 1381 1382 Backported from master: 1383 2022-12-19 Richard Biener <rguenther@suse.de> 1384 1385 PR tree-optimization/108164 1386 * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer): 1387 Perform vect_step_op_add update in the appropriate type. 1388 13892023-01-24 Richard Biener <rguenther@suse.de> 1390 1391 Backported from master: 1392 2022-12-13 Richard Biener <rguenther@suse.de> 1393 1394 PR tree-optimization/108076 1395 * tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks 1396 with non-local or forced labels that we later remove 1397 labels from. 1398 13992023-01-24 Richard Biener <rguenther@suse.de> 1400 1401 Backported from master: 1402 2022-12-21 Richard Biener <rguenther@suse.de> 1403 1404 PR middle-end/107994 1405 * gimplify.cc (gimplify_expr): Catch errorneous comparison 1406 operand. 1407 14082023-01-24 Richard Biener <rguenther@suse.de> 1409 1410 Backported from master: 1411 2022-11-11 Richard Biener <rguenther@suse.de> 1412 Nikita Voronov <nik_1357@mail.ru> 1413 1414 PR tree-optimization/107554 1415 * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes): 1416 Use unsigned HOST_WIDE_INT type for the strlen. 1417 14182023-01-24 Sergei Trofimovich <siarheit@google.com> 1419 1420 Backported from master: 1421 2022-08-16 Sergei Trofimovich <siarheit@google.com> 1422 1423 PR driver/106624 1424 * gcc.cc (driver::detect_jobserver): Allocate storage xputenv() 1425 argument using xstrdup(). 1426 14272023-01-23 Andreas Krebbel <krebbel@linux.ibm.com> 1428 1429 Backported from master: 1430 2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com> 1431 1432 PR target/106101 1433 * config/s390/predicates.md (subreg_register_operand): New 1434 predicate. 1435 * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New 1436 function prototype. 1437 * config/s390/s390.cc (s390_gen_lowpart_subreg): New function. 1438 (s390_expand_insv): Use s390_gen_lowpart_subreg instead of 1439 gen_lowpart. 1440 * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31") 1441 ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise. 1442 ("movstrictqi", "movstricthi", "movstrictsi"): Use the 1443 subreg_register_operand predicate instead of register_operand. 1444 14452023-01-11 Eric Botcazou <ebotcazou@adacore.com> 1446 1447 PR tree-optimization/108199 1448 * tree-sra.cc (sra_modify_expr): Deal with reverse storage order 1449 for bit-field references. 1450 14512023-01-11 Martin Liska <mliska@suse.cz> 1452 1453 Backported from master: 1454 2022-12-28 Martin Liska <mliska@suse.cz> 1455 1456 PR tree-optimization/108137 1457 * tree-ssa-strlen.cc (get_range_strlen_phi): Reject anything 1458 different from INTEGER_CST. 1459 14602023-01-10 Stam Markianos-Wright <stam.markianos-wright@arm.com> 1461 1462 Backported from master: 1463 2022-12-30 Stam Markianos-Wright <stam.markianos-wright@arm.com> 1464 1465 PR target/107714 1466 * config/arm/arm-protos.h (mve_struct_mem_operand): New protoype. 1467 * config/arm/arm.cc (mve_struct_mem_operand): New function. 1468 * config/arm/constraints.md (Ug): New constraint. 1469 * config/arm/mve.md (mve_vst4q<mode>): Change constraint. 1470 (mve_vst2q<mode>): Likewise. 1471 (mve_vld4q<mode>): Likewise. 1472 (mve_vld2q<mode>): Likewise. 1473 * config/arm/predicates.md (mve_struct_operand): New predicate. 1474 14752023-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1476 1477 Backported from master: 1478 2022-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1479 1480 PR target/108140 1481 * config/aarch64/aarch64-builtins.cc 1482 (aarch64_expand_builtin_data_intrinsic): Handle NULL target. 1483 14842023-01-05 Kewen Lin <linkw@linux.ibm.com> 1485 1486 PR target/106736 1487 * config/rs6000/mma.md (define_expand movoo): Call function 1488 rs6000_opaque_type_invalid_use_p to check and emit error message for 1489 the invalid use of opaque type. 1490 (define_expand movxo): Likewise. 1491 * config/rs6000/rs6000-protos.h 1492 (rs6000_opaque_type_invalid_use_p): New function declaration. 1493 (currently_expanding_gimple_stmt): New extern declaration. 1494 * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): New 1495 function. 1496 14972022-12-22 Richard Biener <rguenther@suse.de> 1498 1499 Backported from master: 1500 2022-12-22 Richard Biener <rguenther@suse.de> 1501 1502 PR bootstrap/106482 1503 * doc/install.texi (ISO C++11 Compiler): Document GCC version 1504 known to work. 1505 15062022-12-22 Martin Liska <mliska@suse.cz> 1507 1508 Backported from master: 1509 2022-08-10 Martin Liska <mliska@suse.cz> 1510 1511 * opts-jobserver.h: Add one member. 1512 * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO 1513 format of --jobserver-auth. 1514 15152022-12-22 Martin Liska <mliska@suse.cz> 1516 1517 Backported from master: 1518 2022-08-10 Martin Liska <mliska@suse.cz> 1519 1520 * gcc.cc (driver::detect_jobserver): Remove and move to 1521 jobserver.h. 1522 * lto-wrapper.cc (jobserver_active_p): Likewise. 1523 (run_gcc): Likewise. 1524 * opts-jobserver.h: New file. 1525 * opts-common.cc (jobserver_info::jobserver_info): New function. 1526 15272022-12-20 Richard Biener <rguenther@suse.de> 1528 1529 Backported from master: 1530 2022-12-20 Richard Biener <rguenther@suse.de> 1531 1532 PR d/104749 1533 * doc/install.texi (GDC): Document GDC 9.4 or later is required 1534 to build the D language frontend. 1535 15362022-12-20 Hongyu Wang <hongyu.wang@intel.com> 1537 1538 * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add 1539 m_SAPPHIRERAPIDS, m_ALDERLAKE. 1540 15412022-12-15 Sebastian Pop <spop@amazon.com> 1542 1543 PR target/98776 1544 * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area): 1545 Declared. 1546 * config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry): 1547 Emit an UNSPECV_PATCHABLE_AREA pseudo instruction. 1548 (aarch64_output_patchable_area): New. 1549 * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New. 1550 (patchable_area): Define. 1551 15522022-12-13 Alex Coplan <alex.coplan@arm.com> 1553 1554 Backported from master: 1555 2022-12-01 Alex Coplan <alex.coplan@arm.com> 1556 1557 * varasm.cc (assemble_variable): Fix type confusion bug when 1558 checking for ".vtable_map_vars" section. 1559 15602022-12-12 Richard Biener <rguenther@suse.de> 1561 1562 Backported from master: 1563 2022-11-29 Richard Biener <rguenther@suse.de> 1564 1565 PR tree-optimization/107898 1566 * gimple-ssa-warn-alloca.cc (alloca_call_type): Check 1567 the type of the alloca argument is compatible with size_t 1568 before querying ranges. 1569 15702022-12-12 Richard Biener <rguenther@suse.de> 1571 1572 Backported from master: 1573 2022-11-25 Richard Biener <rguenther@suse.de> 1574 1575 PR tree-optimization/107865 1576 * tree-cfg.cc (move_sese_region_to_fn): Free the number of 1577 iterations of moved loops. 1578 15792022-12-12 Richard Biener <rguenther@suse.de> 1580 1581 Backported from master: 1582 2022-12-05 Richard Biener <rguenther@suse.de> 1583 1584 PR tree-optimization/107833 1585 PR tree-optimization/107839 1586 * cfghooks.cc: Include tree.h. 1587 * tree-ssa-loop-im.cc (movement_possibility): Wrap and 1588 make stmts using any ssa_name_maybe_undef_p operand 1589 to preserve execution. 1590 (loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs 1591 to init maybe-undefined status. 1592 * tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p, 1593 ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p, 1594 mark_ssa_maybe_undefs): Move ... 1595 * tree-ssa.cc: ... here. 1596 * tree-ssa.h (ssa_name_any_use_dominates_bb_p, 1597 mark_ssa_maybe_undefs): Declare. 1598 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define. 1599 16002022-12-12 Richard Biener <rguenther@suse.de> 1601 1602 Backported from master: 1603 2022-11-16 Richard Biener <rguenther@suse.de> 1604 1605 PR tree-optimization/107686 1606 * tree-ssa-forwprop.cc (optimize_vector_load): Restrict 1607 VEC_UNPACK support to integral typed bitfield refs. 1608 16092022-12-12 Richard Biener <rguenther@suse.de> 1610 1611 Backported from master: 1612 2022-11-22 Richard Biener <rguenther@suse.de> 1613 1614 PR tree-optimization/107766 1615 * tree-vect-slp-patterns.cc (complex_mul_pattern::matches): 1616 Use *node to check for FP vector types. 1617 16182022-12-12 Richard Biener <rguenther@suse.de> 1619 1620 Backported from master: 1621 2022-11-18 Richard Biener <rguenther@suse.de> 1622 1623 PR tree-optimization/107647 1624 * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only 1625 allow FMA generation with -ffp-contract=fast for FP types. 1626 (complex_mul_pattern::matches): Likewise. 1627 16282022-12-12 Richard Biener <rguenther@suse.de> 1629 1630 Backported from master: 1631 2022-10-28 Richard Biener <rguenther@suse.de> 1632 1633 PR tree-optimization/107407 1634 * tree-ssa-dse.cc (dse_classify_store): Perform backedge 1635 varying index check when collecting PHI uses rather than 1636 after optimizing processing of the candidate defs. 1637 16382022-12-12 Richard Biener <rguenther@suse.de> 1639 1640 Backported from master: 1641 2022-12-05 Richard Biener <rguenther@suse.de> 1642 1643 PR tree-optimization/106868 1644 * gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref): 1645 Inline into single user ... 1646 (pass_waccess::check_dangling_uses): ... here and adjust the 1647 call and the PHI case to require that ref.aref is the address 1648 of the decl. 1649 16502022-12-09 Martin Liska <mliska@suse.cz> 1651 1652 Backported from master: 1653 2022-12-09 Martin Liska <mliska@suse.cz> 1654 1655 * config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path 1656 as for PR103661. 1657 * doc/extend.texi: Fix "x86-64" use. 1658 16592022-12-09 Martin Liska <mliska@suse.cz> 1660 1661 Backported from master: 1662 2022-05-11 Martin Liska <mliska@suse.cz> 1663 1664 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly 1665 compute index in cpu_features2. 1666 (set_cpu_feature): Likewise. 1667 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove 1668 loop for cpu_features2 and use NOP_EXPRs. 1669 16702022-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1671 1672 Backported from master: 1673 2022-11-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1674 1675 * config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg. 1676 (*aarch64_cpymemdi): Likewise. 1677 (aarch64_movmemdi): Likewise. 1678 (aarch64_setmemdi): Likewise. 1679 (*aarch64_setmemdi): Likewise. 1680 16812022-12-05 Andrew Pinski <pinskia@gmail.com> 1682 1683 Backported from master: 1684 2022-12-05 Andrew Pinski <pinskia@gmail.com> 1685 1686 PR tree-optimization/107956 1687 * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern): 1688 Check for NULL LHS on masked loads. 1689 16902022-12-01 liuhongt <hongtao.liu@intel.com> 1691 1692 PR target/107863 1693 * config/i386/i386-expand.cc (ix86_expand_vec_set_builtin): 1694 Convert op1 to target mode whenever mode mismatch. 1695 16962022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> 1697 1698 Backported from master: 1699 2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org> 1700 1701 * config/darwin-d.cc: Include tm.h. 1702 * config/dragonfly-d.cc: Likewise. 1703 * config/freebsd-d.cc: Remove memmodel.h. 1704 * config/glibc-d.cc: Likewise. 1705 * config/netbsd-d.cc: Include tm.h. 1706 * config/openbsd-d.cc: Likewise. 1707 * config/sol2-d.cc: Likewise. 1708 17092022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> 1710 1711 Backported from master: 1712 2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org> 1713 1714 PR d/105659 1715 * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h. 1716 * config/aarch64/aarch64-d.cc: Include tm_d.h. 1717 * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to 1718 config/aarch64/aarch64-d.h. 1719 (aarch64_d_register_target_info): Likewise. 1720 * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise. 1721 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 1722 * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of 1723 tm_p.h. 1724 * config/arm/arm-protos.h (arm_d_target_versions): Move to 1725 config/arm/arm-d.h. 1726 (arm_d_register_target_info): Likewise. 1727 * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise. 1728 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 1729 * config/default-d.cc: Remove memmodel.h include. 1730 * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h. 1731 * config/glibc-d.cc: Likewise. 1732 * config/i386/i386-d.cc: Include tm_d.h. 1733 * config/i386/i386-protos.h (ix86_d_target_versions): Move to 1734 config/i386/i386-d.h. 1735 (ix86_d_register_target_info): Likewise. 1736 (ix86_d_has_stdcall_convention): Likewise. 1737 * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise. 1738 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 1739 (TARGET_D_HAS_STDCALL_CONVENTION): Likewise. 1740 * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h. 1741 * config/mips/mips-d.cc: Include tm_d.h. 1742 * config/mips/mips-protos.h (mips_d_target_versions): Move to 1743 config/mips/mips-d.h. 1744 (mips_d_register_target_info): Likewise. 1745 * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise. 1746 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 1747 * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h. 1748 * config/openbsd-d.cc: Likewise. 1749 * config/pa/pa-d.cc: Include tm_d.h. 1750 * config/pa/pa-protos.h (pa_d_target_versions): Move to 1751 config/pa/pa-d.h. 1752 (pa_d_register_target_info): Likewise. 1753 * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise. 1754 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 1755 * config/riscv/riscv-d.cc: Include tm_d.h. 1756 * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to 1757 config/riscv/riscv-d.h. 1758 (riscv_d_register_target_info): Likewise. 1759 * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise. 1760 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 1761 * config/rs6000/rs6000-d.cc: Include tm_d.h. 1762 * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to 1763 config/rs6000/rs6000-d.h. 1764 (rs6000_d_register_target_info): Likewise. 1765 * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.: 1766 (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.: 1767 * config/s390/s390-d.cc: Include tm_d.h. 1768 * config/s390/s390-protos.h (s390_d_target_versions): Move to 1769 config/s390/s390-d.h. 1770 (s390_d_register_target_info): Likewise. 1771 * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise. 1772 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 1773 * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h. 1774 * config/sparc/sparc-d.cc: Include tm_d.h. 1775 * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to 1776 config/sparc/sparc-d.h. 1777 (sparc_d_register_target_info): Likewise. 1778 * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise. 1779 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise. 1780 * configure: Regenerate. 1781 * configure.ac (tm_d_file): Remove defaults.h. 1782 (tm_d_include_list): Remove options.h and insn-constants.h. 1783 * config/aarch64/aarch64-d.h: New file. 1784 * config/arm/arm-d.h: New file. 1785 * config/i386/i386-d.h: New file. 1786 * config/mips/mips-d.h: New file. 1787 * config/pa/pa-d.h: New file. 1788 * config/riscv/riscv-d.h: New file. 1789 * config/rs6000/rs6000-d.h: New file. 1790 * config/s390/s390-d.h: New file. 1791 * config/sparc/sparc-d.h: New file. 1792 17932022-11-30 John David Anglin <danglin@gcc.gnu.org> 1794 1795 * config/pa/pa.md (addvdi3): Force operand 2 to a register. 1796 Remove "addi,tsv,*" instruction from unamed pattern. 1797 (subvdi3): Force operand 1 to a register. 1798 Remove "subi,tsv" instruction from from unamed pattern. 1799 18002022-11-29 Max Filippov <jcmvbkbc@gmail.com> 1801 1802 Backported from master: 1803 2022-11-08 Max Filippov <jcmvbkbc@gmail.com> 1804 1805 PR rtl-optimization/107482 1806 * ira-color.cc (assign_hard_reg): Only call 1807 update_costs_from_copies when retry_p is false. 1808 18092022-11-25 Eric Botcazou <ebotcazou@adacore.com> 1810 1811 * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko. 1812 18132022-11-25 Eric Botcazou <ebotcazou@adacore.com> 1814 1815 * tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst): 1816 Bail out if source and destination do not have the same storage order. 1817 18182022-11-21 Jakub Jelinek <jakub@redhat.com> 1819 1820 Backported from master: 1821 2022-11-21 Jakub Jelinek <jakub@redhat.com> 1822 1823 PR target/107748 1824 * config/i386/avx512fp16intrin.h (_mm512_castph512_ph128, 1825 _mm512_castph512_ph256, _mm512_castph128_ph512, 1826 _mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local 1827 variables and union members. 1828 * config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128, 1829 _mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise. 1830 * config/i386/smmintrin.h (_mm_extract_ps): Likewise. 1831 * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Likewise. 1832 18332022-11-20 Jakub Jelinek <jakub@redhat.com> 1834 1835 Backported from master: 1836 2022-11-20 Jakub Jelinek <jakub@redhat.com> 1837 1838 PR target/107183 1839 * reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument. 1840 If >= 0 and a DEBUG_INSN would be otherwise returned, set 1841 DEBUG_SEEN to 1 and ignore it. 1842 (swap_rtx_condition): Add DEBUG_SEEN argument. In >= 0 1843 mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs 1844 were seen and revert all changes on success in that case. 1845 Don't try to recog_memoized DEBUG_INSNs. 1846 (compare_for_stack_reg): Adjust swap_rtx_condition caller. 1847 If it returns true and debug_seen is 1, call swap_rtx_condition 1848 again with debug_seen -1. 1849 18502022-11-19 Thomas Schwinge <thomas@codesourcery.com> 1851 1852 Backported from master: 1853 2022-11-19 Thomas Schwinge <thomas@codesourcery.com> 1854 1855 * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for 1856 '-mmainkernel'. 1857 18582022-11-19 Jinyang He <hejinyang@loongson.cn> 1859 1860 Backported from master: 1861 2022-11-18 Jinyang He <hejinyang@loongson.cn> 1862 1863 PR target/107713 1864 * config/loongarch/sync.md 1865 (atomic_cas_value_exchange_7_<mode>): New define_insn. 1866 (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of 1867 atomic_cas_value_cmp_and_7_si. 1868 18692022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu> 1870 1871 Backported from master: 1872 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu> 1873 1874 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a. 1875 * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs. 1876 * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR): 1877 Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two 1878 registers and then +1/-1). 1879 * config/aarch64/aarch64-tune.md: Regenerate. 1880 * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement 1881 idiom-matcher for the new fusion pair. 1882 * doc/invoke.texi: Add ampere1a. 1883 18842022-11-16 Martin Jambor <mjambor@suse.cz> 1885 1886 Backported from master: 1887 2022-10-19 Martin Jambor <mjambor@suse.cz> 1888 1889 PR tree-optimization/107206 1890 * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs. 1891 (analyze_access_subtree): Do not create replacements for accesses with 1892 this flag when not toally scalarizing. 1893 (propagate_subaccesses_from_lhs): Set the new flag. 1894 18952022-11-09 Eric Botcazou <ebotcazou@adacore.com> 1896 1897 * alias.cc (init_alias_analysis): Do not record sets to the hard 1898 frame pointer if the frame pointer has not been eliminated. 1899 19002022-11-08 H.J. Lu <hjl.tools@gmail.com> 1901 1902 Backported from master: 1903 2022-10-25 H.J. Lu <hjl.tools@gmail.com> 1904 1905 PR target/107304 1906 * expr.cc (get_inner_reference): Always use TYPE_MODE for vector 1907 field with vector raw mode. 1908 19092022-11-07 Cui,Lili <lili.cui@intel.com> 1910 1911 * config/i386/driver-i386.cc (host_detect_local_cpu): 1912 Move sapphirerapids out of AVX512_VP2INTERSECT. 1913 * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS 1914 * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS 1915 19162022-11-05 Jonathan Wakely <jwakely@redhat.com> 1917 1918 Backported from master: 1919 2022-11-05 Jonathan Wakely <jwakely@redhat.com> 1920 1921 PR c/41041 1922 * doc/cppopts.texi: Document -fwide-exec-charset defaults 1923 correctly. 1924 19252022-11-04 Eric Botcazou <ebotcazou@adacore.com> 1926 1927 * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>: 1928 Do not take into account operand 2. 1929 (operand_compare::hash_operand) <COMPONENT_REF>: Likewise. 1930 19312022-11-03 Uros Bizjak <ubizjak@gmail.com> 1932 1933 Backported from master: 1934 2022-11-03 Uroš Bizjak <ubizjak@gmail.com> 1935 1936 PR target/107404 1937 * config/i386/i386.md (eliminate reg-reg move by inverting the 1938 condition of a cmove #2 peephole2): Check if eliminated move 1939 initialized a register, used in the moved instruction. 1940 19412022-11-03 Jakub Jelinek <jakub@redhat.com> 1942 1943 Backported from master: 1944 2022-10-02 Jakub Jelinek <jakub@redhat.com> 1945 1946 PR tree-optimization/107121 1947 * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics, 1948 DEFFERED_INIT -> DEFERRED_INIT. 1949 19502022-11-03 Jakub Jelinek <jakub@redhat.com> 1951 1952 Backported from master: 1953 2022-09-24 Jakub Jelinek <jakub@redhat.com> 1954 1955 PR c/107001 1956 * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement 1957 at the end. 1958 * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA 1959 is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't 1960 update parent. 1961 (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset 1962 cur_region back after new_omp_region. 1963 19642022-10-28 Julian Brown <julian@codesourcery.com> 1965 1966 Backported from master: 1967 2022-10-28 Julian Brown <julian@codesourcery.com> 1968 Thomas Schwinge <thomas@codesourcery.com> 1969 1970 PR middle-end/90115 1971 * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not 1972 privatization candidates. 1973 19742022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> 1975 1976 Backported from master: 1977 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> 1978 Yvan ROUX <yvan.roux@foss.st.com> 1979 1980 * ira.cc: Resize array after reg number increased. 1981 19822022-10-26 Philipp Tomsich <philipp.tomsich@vrull.eu> 1983 1984 Backported from master: 1985 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> 1986 1987 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update 1988 Ampere-1 core entry. 1989 19902022-10-26 Philipp Tomsich <philipp.tomsich@vrull.eu> 1991 1992 Backported from master: 1993 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu> 1994 1995 * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one. 1996 19972022-10-25 Eric Botcazou <ebotcazou@adacore.com> 1998 1999 * profile.cc (branch_prob): Be prepared for ignored functions with 2000 DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION. 2001 20022022-10-25 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> 2003 2004 Backported from master: 2005 2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> 2006 2007 PR target/106355 2008 * config/s390/s390.cc (s390_call_saved_register_used): For a 2009 parameter with BLKmode fix determining number of consecutive 2010 registers. 2011 20122022-10-25 Martin Liska <mliska@suse.cz> 2013 2014 Backported from master: 2015 2022-10-25 Martin Liska <mliska@suse.cz> 2016 2017 PR target/107364 2018 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): 2019 Fix pedantic warning. 2020 20212022-10-25 Martin Liska <mliska@suse.cz> 2022 2023 Backported from master: 2024 2022-10-24 Martin Liska <mliska@suse.cz> 2025 2026 PR target/107364 2027 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): 2028 Reorder enum values as BUILTIN_VENDOR_MAX should not point 2029 in the middle of the valid enum values. 2030 20312022-10-21 Julian Brown <julian@codesourcery.com> 2032 2033 Backported from master: 2034 2022-10-20 Julian Brown <julian@codesourcery.com> 2035 2036 PR target/105421 2037 * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer 2038 argument forces FLAT addressing mode, not just 2039 pointer-to-non-aggregate. 2040 20412022-10-21 Richard Biener <rguenther@suse.de> 2042 2043 Backported from master: 2044 2022-10-21 Richard Biener <rguenther@suse.de> 2045 2046 PR tree-optimization/107323 2047 * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs): 2048 New function. 2049 (loop_distribution::break_alias_scc_partitions): Revert 2050 postorder save/restore from the PR94125 fix. Instead 2051 make sure to not ignore edges from SCCs we are going to 2052 merge. 2053 20542022-10-20 Thomas Schwinge <thomas@codesourcery.com> 2055 2056 Backported from master: 2057 2022-05-10 Thomas Schwinge <thomas@codesourcery.com> 2058 2059 PR middle-end/100400 2060 * omp-oacc-kernels-decompose.cc 2061 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly 2062 call 'internal_error'. 2063 20642022-10-20 Richard Sandiford <richard.sandiford@arm.com> 2065 2066 Backported from master: 2067 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> 2068 2069 * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove 2070 merging alternative. 2071 (*aarch64_brk<brk_op>_ptest): Likewise. 2072 20732022-10-20 Richard Sandiford <richard.sandiford@arm.com> 2074 2075 Backported from master: 2076 2022-10-20 Richard Sandiford <richard.sandiford@arm.com> 2077 2078 * config/aarch64/iterators.md (SVE_BRKP): New iterator. 2079 * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern. 2080 (*aarch64_brkn_ptest): Likewise. 2081 (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP. 2082 (*aarch64_brk<brk_op>_ptest): Likewise. 2083 20842022-10-20 Richard Sandiford <richard.sandiford@arm.com> 2085 2086 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_3): Add 2087 AARCH64_FL_RCPC. 2088 (AARCH64_ISA_RCPC): New macro. 2089 * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1) 2090 (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores. 2091 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define 2092 __ARM_FEATURE_RCPC when appropriate. 2093 20942022-10-19 Kewen Lin <linkw@linux.ibm.com> 2095 2096 Backported from master: 2097 2022-09-26 Kewen Lin <linkw@linux.ibm.com> 2098 2099 PR target/96072 2100 * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the 2101 condition for adding REG_CFA_DEF_CFA reg note with 2102 frame_pointer_needed_indeed. 2103 21042022-10-19 Kewen Lin <linkw@linux.ibm.com> 2105 2106 Backported from master: 2107 2022-09-26 Kewen Lin <linkw@linux.ibm.com> 2108 2109 PR target/100645 2110 * config/rs6000/vector.md (vec_shr_<mode>): Replace condition 2111 TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P. 2112 21132022-10-17 Pat Haugen <pthaugen@linux.ibm.com> 2114 2115 Backported from master: 2116 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com> 2117 2118 PR target/99685 2119 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump 2120 register count when not splitting IEEE 128-bit Complex. 2121 21222022-10-17 Richard Biener <rguenther@suse.de> 2123 2124 Backported from master: 2125 2022-10-14 Richard Biener <rguenther@suse.de> 2126 2127 PR tree-optimization/107254 2128 * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): 2129 For permutes also analyze live lanes. 2130 (vect_schedule_slp_node): For permutes also code generate 2131 live lane extracts. 2132 21332022-10-17 Richard Biener <rguenther@suse.de> 2134 2135 Backported from master: 2136 2022-10-11 Richard Biener <rguenther@suse.de> 2137 2138 PR tree-optimization/107212 2139 * tree-vect-loop.cc (vectorizable_reduction): Make sure to 2140 set STMT_VINFO_REDUC_DEF for all live lanes in a SLP 2141 reduction. 2142 (vectorizable_live_operation): Do not pun to the SLP 2143 node representative for reduction epilogue generation. 2144 21452022-10-17 Richard Biener <rguenther@suse.de> 2146 2147 Backported from master: 2148 2022-10-13 Richard Biener <rguenther@suse.de> 2149 2150 PR tree-optimization/107160 2151 * tree-vect-loop.cc (vect_create_epilog_for_reduction): 2152 Do not register accumulator if we failed to reduce it 2153 to a single vector. 2154 21552022-10-17 Richard Biener <rguenther@suse.de> 2156 2157 Backported from master: 2158 2022-10-06 Richard Biener <rguenther@suse.de> 2159 2160 PR tree-optimization/107107 2161 * tree-ssa-sccvn.cc (visit_reference_op_store): Do not 2162 affect value-numbering when doing the tail merging 2163 MODIFY_EXPR lookup. 2164 21652022-10-17 Richard Biener <rguenther@suse.de> 2166 2167 Backported from master: 2168 2022-09-23 Richard Biener <rguenther@suse.de> 2169 2170 PR tree-optimization/106922 2171 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow 2172 an arbitrary number of same valued skipped stores. 2173 21742022-10-17 Richard Biener <rguenther@suse.de> 2175 2176 Backported from master: 2177 2022-09-22 Richard Biener <rguenther@suse.de> 2178 2179 PR tree-optimization/106922 2180 * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member. 2181 (vn_walk_cb_data::finish): Perform delayed verification of 2182 a skipped may-alias. 2183 (vn_reference_lookup_pieces): Likewise. 2184 (vn_reference_lookup): Likewise. 2185 (vn_reference_lookup_3): When skipping stores of the same 2186 value also handle constant stores that are more than a 2187 single VDEF away by delaying the verification. 2188 21892022-10-14 Eric Botcazou <ebotcazou@adacore.com> 2190 2191 PR target/107248 2192 * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame 2193 blockage for leaf functions. 2194 (sparc_flat_expand_prologue): Emit frame instead of full blockage. 2195 (sparc_expand_epilogue): Emit a frame blockage for leaf functions. 2196 (sparc_flat_expand_epilogue): Emit frame instead of full blockage. 2197 21982022-10-13 Tobias Burnus <tobias@codesourcery.com> 2199 2200 Backported from master: 2201 2022-10-04 Tobias Burnus <tobias@codesourcery.com> 2202 2203 * doc/install.texi (Specific): Add missing items to bullet list. 2204 (amdgcn): Update LLVM requirements, use version not date for newlib. 2205 (nvptx): Use version not git hash for newlib. 2206 22072022-10-11 Christophe Lyon <christophe.lyon@arm.com> 2208 2209 * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use 2210 MVE_pred/MVE_constraint instead of mve_imm_7/Ra. 2211 (mve_vqshluq_m_n_s<mode>): Likewise. 2212 (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3 2213 instead of mve_imm_8/Rb. 2214 (mve_vqrshrunbq_n_s<mode>): Likewise. 2215 (mve_vqrshrntq_n_<supf><mode>): Likewise. 2216 (mve_vqrshruntq_n_s<mode>): Likewise. 2217 (mve_vrshrnbq_n_<supf><mode>): Likewise. 2218 (mve_vrshrntq_n_<supf><mode>): Likewise. 2219 (mve_vqrshrnbq_m_n_<supf><mode>): Likewise. 2220 (mve_vqrshrntq_m_n_<supf><mode>): Likewise. 2221 (mve_vrshrnbq_m_n_<supf><mode>): Likewise. 2222 (mve_vrshrntq_m_n_<supf><mode>): Likewise. 2223 (mve_vqrshrunbq_m_n_s<mode>): Likewise. 2224 (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead 2225 of mve_imm_selective_upto_8/Rg. 2226 (mve_vsriq_m_n_<supf><mode>): Likewise. 2227 (cherry-picked from c3fb6658c7670e446f2fd00984404d971e416b3c) 2228 22292022-10-11 Richard Biener <rguenther@suse.de> 2230 2231 Backported from master: 2232 2022-09-14 Richard Biener <rguenther@suse.de> 2233 2234 PR tree-optimization/106934 2235 * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs 2236 of bitfields. 2237 (maybe_rewrite_mem_ref_base): Likewise. 2238 22392022-10-11 Richard Biener <rguenther@suse.de> 2240 2241 Backported from master: 2242 2022-09-15 Richard Biener <rguenther@suse.de> 2243 2244 PR tree-optimization/106922 2245 * tree-ssa-pre.cc (translate_vuse_through_block): Only 2246 keep the VUSE if its def dominates PHIBLOCK. 2247 (prune_clobbered_mems): Rewrite logic so we check whether 2248 a value dies in a block when the VUSE def doesn't dominate it. 2249 22502022-10-11 Richard Biener <rguenther@suse.de> 2251 2252 Backported from master: 2253 2022-09-09 Richard Biener <rguenther@suse.de> 2254 2255 PR tree-optimization/106892 2256 * tree-predcom.cc (ref_at_iteration): Do not associate the 2257 constant part of the offset into the MEM_REF offset 2258 operand, across a non-zero offset. 2259 22602022-10-11 Richard Biener <rguenther@suse.de> 2261 2262 Backported from master: 2263 2022-08-22 Richard Biener <rguenther@suse.de> 2264 2265 PR tree-optimization/105937 2266 * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs 2267 on backedges. 2268 (execute_late_warn_uninitialized): Mark backedges. 2269 22702022-10-03 Sergei Trofimovich <siarheit@google.com> 2271 2272 Backported from master: 2273 2022-10-03 Sergei Trofimovich <siarheit@google.com> 2274 2275 PR target/107064 2276 * config/i386/t-i386: Add build-time dependencies against 2277 i386-builtin-types.inc to i386-builtins.o, i386-expand.o, 2278 i386-features.o. 2279 22802022-09-29 H.J. Lu <hjl.tools@gmail.com> 2281 2282 Backported from master: 2283 2022-09-28 H.J. Lu <hjl.tools@gmail.com> 2284 2285 PR target/107061 2286 * config/i386/predicates.md (encodekey128_operation): Check 2287 XMM4-XMM6 as clobbered. 2288 (encodekey256_operation): Likewise. 2289 * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6. 2290 (encodekey256u32): Likewise. 2291 22922022-09-29 Tobias Burnus <tobias@codesourcery.com> 2293 2294 Backported from master: 2295 2022-09-26 Tobias Burnus <tobias@codesourcery.com> 2296 2297 PR middle-end/106982 2298 * omp-low.cc (lower_oacc_reductions): Add some unshare_expr. 2299 23002022-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2301 2302 Backported from master: 2303 2022-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2304 2305 * config/aarch64/aarch64-cores.def (neoverse-v2): New entry. 2306 (demeter): Update tunings to neoversev2. 2307 * config/aarch64/aarch64-tune.md: Regenerate. 2308 * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to 2309 neoversev2_addrcost_table. 2310 (demeter_regmove_cost): Rename to neoversev2_addrcost_table. 2311 (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost. 2312 (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost. 2313 (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info. 2314 (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info. 2315 (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info. 2316 (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info. 2317 Update references to above. 2318 (demeter_vector_cost): Rename to neoversev2_vector_cost. 2319 (demeter_tunings): Rename to neoversev2_tunings. 2320 (aarch64_vec_op_count::rename_cycles_per_iter): Use 2321 neoversev2_sve_issue_info instead of demeter_sve_issue_info. 2322 * doc/invoke.texi (AArch64 Options): Document neoverse-v2. 2323 23242022-09-21 Richard Sandiford <richard.sandiford@arm.com> 2325 2326 Backported from master: 2327 2022-09-20 Richard Sandiford <richard.sandiford@arm.com> 2328 2329 PR target/106491 2330 * config/aarch64/aarch64-sve-builtins.cc (scalar_types) 2331 (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY 2332 markup to (new) extern declarations instead of to the main 2333 definition. 2334 23352022-09-21 Kewen Lin <linkw@linux.ibm.com> 2336 2337 Backported from master: 2338 2022-09-13 Kewen Lin <linkw@linux.ibm.com> 2339 2340 PR target/104482 2341 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix 2342 the equality check for argument number, and move this hunk ahead. 2343 23442022-09-21 Kewen.Lin <linkw@gcc.gnu.org> 2345 2346 Backported from master: 2347 2022-09-13 Kewen.Lin <linkw@gcc.gnu.org> 2348 2349 PR target/105485 2350 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add 2351 the handling for unresolved overloaded builtin function. 2352 (rs6000_expand_builtin): Likewise. 2353 23542022-09-09 Richard Biener <rguenther@suse.de> 2355 2356 Backported from master: 2357 2022-09-07 Richard Biener <rguenther@suse.de> 2358 2359 PR tree-optimization/106860 2360 * tree-ssa-loop-split.cc (split_loop): Find the exit to 2361 latch edge from the loop exit edge instead of from the 2362 latch. Verify we're going to find it. 2363 23642022-09-09 Richard Biener <rguenther@suse.de> 2365 2366 Backported from master: 2367 2022-09-06 Richard Biener <rguenther@suse.de> 2368 2369 PR tree-optimization/106841 2370 * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process 2371 scatter/gather offset. 2372 23732022-09-09 Richard Biener <rguenther@suse.de> 2374 2375 Backported from master: 2376 2022-09-02 Richard Biener <rguenther@suse.de> 2377 2378 PR tree-optimization/106809 2379 * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have 2380 more than one successor before doing extra work. 2381 23822022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de> 2383 2384 * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if 2385 -mvrsave is present. 2386 * config/rs6000/t-rtems: Add -mvrsave multilib variants for 2387 -mcpu=e6500. 2388 23892022-09-03 Peter Bergner <bergner@linux.ibm.com> 2390 2391 Backported from master: 2392 2022-09-01 Peter Bergner <bergner@linux.ibm.com> 2393 2394 PR target/101322 2395 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): 2396 Enforce the use of a valid MMA pointer type. 2397 23982022-09-02 Richard Earnshaw <rearnsha@arm.com> 2399 2400 Backported from master: 2401 2022-08-03 Richard Earnshaw <rearnsha@arm.com> 2402 2403 PR rtl-optimization/106187 2404 * alias.h (mems_same_for_tbaa_p): Declare. 2405 * alias.cc (mems_same_for_tbaa_p): New function. 2406 * dse.cc (record_store): Use it instead of open-coding 2407 alias check. 2408 * cselib.h (cselib_redundant_set_p): Declare. 2409 * cselib.cc: Include alias.h 2410 (cselib_redundant_set_p): New function. 2411 * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead 2412 of rtx_equal_for_cselib_p. 2413 * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p. 2414 (reload_cse_noop_set_p): Delete. 2415 24162022-09-02 Richard Earnshaw <rearnsha@arm.com> 2417 2418 Backported from master: 2419 2022-05-13 Richard Earnshaw <rearnsha@arm.com> 2420 2421 PR target/105463 2422 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use 2423 mve_memory_operand. 2424 (*movmisalign<mode>_mve_load): Likewise. 2425 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator 2426 form... 2427 (@movmisalign<mode>): ... thus. Use generic predicates and then 2428 rework operands if they are not valid. For MVE rework to a 2429 narrower element size if the alignment is not high enough. 2430 24312022-09-02 Tamar Christina <tamar.christina@arm.com> 2432 2433 Backported from master: 2434 2022-09-01 Tamar Christina <tamar.christina@arm.com> 2435 2436 PR other/106782 2437 * config/aarch64/aarch64.cc 2438 (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with 2439 HOST_WIDE_INT_PRINT_UNSIGNED. 2440 24412022-09-01 Jakub Jelinek <jakub@redhat.com> 2442 2443 Backported from master: 2444 2022-09-01 Jakub Jelinek <jakub@redhat.com> 2445 2446 PR other/106782 2447 * tree-vect-slp.cc (vect_print_slp_tree): Use 2448 HOST_WIDE_INT_PRINT_UNSIGNED instead of %u. 2449 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Use 2450 HOST_WIDE_INT_PRINT_UNSIGNED instead of %d. 2451 * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G 2452 instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node)) 2453 instead of SLP_TREE_DEF_TYPE (node). 2454 24552022-08-30 Tamar Christina <tamar.christina@arm.com> 2456 2457 Backported from master: 2458 2022-08-12 Tamar Christina <tamar.christina@arm.com> 2459 2460 PR target/106524 2461 * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine, 2462 *fcmuo<mode>_bic_combine): Don't accept comparisons against zero. 2463 24642022-08-29 Peter Bergner <bergner@linux.ibm.com> 2465 2466 Backported from master: 2467 2022-08-28 Peter Bergner <bergner@linux.ibm.com> 2468 2469 PR target/106017 2470 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling 2471 of MMA pointer conversions. 2472 24732022-08-29 H.J. Lu <hjl.tools@gmail.com> 2474 2475 Backported from master: 2476 2022-08-23 H.J. Lu <hjl.tools@gmail.com> 2477 2478 PR target/106714 2479 * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to 2480 __PTRDIFF_TYPE__. 2481 (_tile_stream_loadd_internal): Likewise. 2482 (_tile_stored_internal): Likewise. 2483 24842022-08-29 Jakub Jelinek <jakub@redhat.com> 2485 2486 Backported from master: 2487 2022-08-24 Jakub Jelinek <jakub@redhat.com> 2488 2489 PR target/106721 2490 * config/i386/sse.md (i128vldq): Add V16HF entry. 2491 (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo, 2492 mask_opernad3 -> mask_operand3. 2493 24942022-08-29 Jakub Jelinek <jakub@redhat.com> 2495 2496 Backported from master: 2497 2022-08-15 Jakub Jelinek <jakub@redhat.com> 2498 2499 PR rtl-optimization/106590 2500 * ifcvt.cc (check_for_cc_cmp_clobbers): New function. 2501 (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs 2502 mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any 2503 further conditional moves. 2504 25052022-08-26 liuhongt <hongtao.liu@intel.com> 2506 2507 PR target/106704 2508 * config/i386/i386-builtin.def (BDESC): Add 2509 CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to 2510 corresponding builtins. 2511 * config/i386/i386.cc (ix86_gimple_fold_builtin): 2512 Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256, 2513 IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2. 2514 25152022-08-25 Chenghua Xu <xuchenghua@loongson.cn> 2516 2517 Backported from master: 2518 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn> 2519 2520 PR target/106459 2521 * config/loongarch/loongarch.cc (loongarch_build_integer): 2522 Use HOST_WIDE_INT. 2523 * config/loongarch/loongarch.h (IMM_REACH): Likewise. 2524 (HWIT_1U): New Defined. 2525 (LU12I_OPERAND): Use HOST_WIDE_INT. 2526 (LU32I_OPERAND): Likewise. 2527 (LU52I_OPERAND): Likewise. 2528 (HWIT_UC_0xFFF): Likwise. 2529 25302022-08-24 Kewen Lin <linkw@linux.ibm.com> 2531 2532 Backported from master: 2533 2022-08-16 Kewen Lin <linkw@linux.ibm.com> 2534 2535 PR tree-optimization/106322 2536 * tree-vect-stmts.cc (vectorizable_call): Don't allow 2537 vect_emulated_vector_p type for both vectype_in and vectype_out. 2538 25392022-08-24 Kewen.Lin <linkw@gcc.gnu.org> 2540 2541 Backported from master: 2542 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org> 2543 2544 PR target/103353 2545 * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition 2546 check to preparation statements and add handlings for !TARGET_MMA. 2547 (define_expand movxo): Likewise. 2548 25492022-08-23 Tobias Burnus <tobias@codesourcery.com> 2550 2551 Backported from master: 2552 2022-08-19 Tobias Burnus <tobias@codesourcery.com> 2553 2554 * config/gcn/mkoffload.cc (main): Add dbgobj to files_to_cleanup. 2555 25562022-08-23 Tobias Burnus <tobias@codesourcery.com> 2557 2558 Backported from master: 2559 2022-08-17 Tobias Burnus <tobias@codesourcery.com> 2560 2561 PR middle-end/106548 2562 * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref 2563 for 'simd' linear-step values that are variable. 2564 25652022-08-19 Release Manager 2566 2567 * GCC 12.2.0 released. 2568 25692022-08-17 Ilya Leoshkevich <iii@linux.ibm.com> 2570 2571 Backported from master: 2572 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com> 2573 2574 * config/s390/vector.md (V_HW_FT): New iterator. 2575 * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead 2576 of V_HW. 2577 25782022-08-12 Peter Bergner <bergner@linux.ibm.com> 2579 2580 Backported from master: 2581 2022-07-26 Peter Bergner <bergner@linux.ibm.com> 2582 2583 PR c/106016 2584 * expr.cc (count_type_elements): Handle OPAQUE_TYPE. 2585 25862022-08-11 Andre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com> 2587 2588 Backported from master: 2589 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com> 2590 2591 * config/aarch64/aarch64.md (rbit<mode>2): Rename this ... 2592 (@aarch64_rbit<mode>): ... to this and change it in... 2593 (ffs<mode>2,ctz<mode>2): ... here. 2594 (@aarch64_rev16<mode>): New. 2595 * config/aarch64/aarch64-builtins.cc: (aarch64_builtins): 2596 Define the following enum AARCH64_REV16, AARCH64_REV16L, 2597 AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL. 2598 (aarch64_init_data_intrinsics): New. 2599 (aarch64_general_init_builtins): Add call to 2600 aarch64_init_data_intrinsics. 2601 (aarch64_expand_builtin_data_intrinsic): New. 2602 (aarch64_general_expand_builtin): Add call to 2603 aarch64_expand_builtin_data_intrinsic. 2604 * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl, 2605 __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16, 2606 __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New. 2607 26082022-08-10 Tobias Burnus <tobias@codesourcery.com> 2609 2610 Backported from master: 2611 2022-08-09 Tobias Burnus <tobias@codesourcery.com> 2612 2613 PR middle-end/106492 2614 * omp-low.cc (lower_rec_input_clauses): Add missing folding 2615 to data type of linear-clause list item. 2616 26172022-08-10 Richard Biener <rguenther@suse.de> 2618 2619 Backported from master: 2620 2022-08-10 Richard Biener <rguenther@suse.de> 2621 2622 PR tree-optimization/106513 2623 * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t 2624 for head_marker. 2625 26262022-08-10 Richard Biener <rguenther@suse.de> 2627 2628 Backported from master: 2629 2022-08-08 Richard Biener <rguenther@suse.de> 2630 2631 PR lto/106540 2632 PR lto/106334 2633 * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1 2634 to input DECL_INITIAL, avoiding to commit drefs. 2635 26362022-08-05 Michael Meissner <meissner@linux.ibm.com> 2637 2638 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code 2639 setting -mblock-ops-vector-pair. Back port patch from trunk on 8/3. 2640 26412022-08-02 Peter Bergner <bergner@linux.ibm.com> 2642 2643 Backported from master: 2644 2022-07-25 Peter Bergner <bergner@linux.ibm.com> 2645 Kewen Lin <linkw@linux.ibm.com> 2646 2647 PR testsuite/106345 2648 * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu 2649 to filter out all -mtune options. 2650 26512022-08-02 Kewen Lin <linkw@linux.ibm.com> 2652 2653 Backported from master: 2654 2022-07-26 Kewen Lin <linkw@linux.ibm.com> 2655 2656 PR target/106091 2657 * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy 2658 REG_EH_REGION when replacing one store insn having it. 2659 (replace_swapped_aligned_load): Likewise. 2660 26612022-07-30 Jakub Jelinek <jakub@redhat.com> 2662 2663 Backported from master: 2664 2022-07-29 Jakub Jelinek <jakub@redhat.com> 2665 2666 PR middle-end/106449 2667 * omp-expand.cc (expand_omp_simd): Fix up handling of pointer 2668 iterators in non-rectangular simd loops. Unshare fd->loops[i].n2 2669 or n2 before regimplifying it inside of a condition. 2670 26712022-07-30 Jakub Jelinek <jakub@redhat.com> 2672 2673 Backported from master: 2674 2022-07-27 Jakub Jelinek <jakub@redhat.com> 2675 2676 PR debug/106261 2677 * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't 2678 output asm thunks for -dx. 2679 26802022-07-30 Jakub Jelinek <jakub@redhat.com> 2681 2682 Backported from master: 2683 2022-07-01 Jakub Jelinek <jakub@redhat.com> 2684 2685 PR middle-end/106144 2686 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after 2687 emitting element for shift or if shift is 0 first element after start. 2688 (wide_int_cc_tests): Add tests for equivalency of wi::mask and 2689 wi::shifted_mask with 0 start. 2690 26912022-07-27 David Malcolm <dmalcolm@redhat.com> 2692 2693 * json.cc (string::print): Fix escaping of '\'. 2694 26952022-07-27 David Malcolm <dmalcolm@redhat.com> 2696 2697 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the 2698 fpath.txt output. 2699 27002022-07-27 Maciej W. Rozycki <macro@embecosm.com> 2701 2702 Backported from master: 2703 2022-07-27 Maciej W. Rozycki <macro@embecosm.com> 2704 2705 * config/riscv/riscv.md (stack_protect_set_<mode>): Remove 2706 duplicate backslashes. 2707 27082022-07-27 Richard Biener <rguenther@suse.de> 2709 2710 Backported from master: 2711 2022-07-26 Richard Biener <rguenther@suse.de> 2712 2713 PR tree-optimization/106189 2714 * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): 2715 Divide using offset_ints. 2716 27172022-07-27 Joseph Myers <joseph@codesourcery.com> 2718 2719 Backported from master: 2720 2022-06-30 Joseph Myers <joseph@codesourcery.com> 2721 2722 PR lto/106129 2723 * lto-wrapper.cc (find_option): Add argument start. 2724 (merge_and_complain): Loop over existing_opt_index and 2725 existing_opt2_index for Xassembler check. Update calls to 2726 find_option. 2727 (find_and_merge_options): Add argument first to determine whether 2728 to merge options with those passed in *opts. 2729 (run_gcc): Update calls to find_and_merge_options. 2730 27312022-07-27 Andrew Pinski <apinski@marvell.com> 2732 2733 Backported from master: 2734 2022-07-09 Andrew Pinski <apinski@marvell.com> 2735 2736 PR tree-optimization/106087 2737 * tree-ssa-dce.cc (simple_dce_from_worklist): Check 2738 to make sure the statement is only defining one operand. 2739 27402022-07-27 Tamar Christina <tamar.christina@arm.com> 2741 2742 Backported from master: 2743 2022-07-08 Tamar Christina <tamar.christina@arm.com> 2744 2745 PR tree-optimization/106063 2746 * match.pd: Do not apply pattern after veclower is not supported. 2747 27482022-07-27 Alexandre Oliva <oliva@adacore.com> 2749 2750 Backported from master: 2751 2022-06-03 Alexandre Oliva <oliva@adacore.com> 2752 2753 PR tree-optimization/105665 2754 PR tree-optimization/100810 2755 * tree-ssa-loop-ivopts.cc 2756 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New. 2757 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New. 2758 (find_ssa_undef): Check precomputed flag and intervening uses. 2759 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs. 2760 27612022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de> 2762 2763 Backported from master: 2764 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de> 2765 2766 * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef. 2767 27682022-07-19 Richard Biener <rguenther@suse.de> 2769 2770 Backported from master: 2771 2022-07-19 Richard Biener <rguenther@suse.de> 2772 2773 PR middle-end/106331 2774 * builtins.cc (get_memory_rtx): Compute alignment from 2775 the original address and set MEM_OFFSET to unknown when 2776 we create a MEM_EXPR from the base object of the address. 2777 27782022-07-19 Richard Biener <rguenther@suse.de> 2779 2780 Backported from master: 2781 2022-07-01 Richard Biener <rguenther@suse.de> 2782 2783 PR tree-optimization/106131 2784 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set 2785 zero when offsetting the read looking through an aggregate 2786 copy. 2787 27882022-07-19 Richard Biener <rguenther@suse.de> 2789 2790 Backported from master: 2791 2022-06-29 Richard Biener <rguenther@suse.de> 2792 2793 PR tree-optimization/106112 2794 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend 2795 a constant operand according to its type. 2796 27972022-07-19 Richard Biener <rguenther@suse.de> 2798 2799 Backported from master: 2800 2022-06-20 Richard Biener <rguenther@suse.de> 2801 2802 PR middle-end/106027 2803 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the 2804 type of the prevailing comparison for the new comparison type. 2805 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y 2806 to A < X && A >= Y folding. 2807 28082022-07-19 Richard Biener <rguenther@suse.de> 2809 2810 Backported from master: 2811 2022-06-15 Richard Biener <rguenther@suse.de> 2812 2813 PR tree-optimization/105971 2814 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for 2815 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation 2816 to leak less surprising alias results. 2817 28182022-07-19 Richard Biener <rguenther@suse.de> 2819 2820 Backported from master: 2821 2022-06-15 Richard Biener <rguenther@suse.de> 2822 2823 PR tree-optimization/105969 2824 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division 2825 by zero in overflow check. 2826 28272022-07-19 Richard Biener <rguenther@suse.de> 2828 2829 Backported from master: 2830 2022-06-14 Richard Biener <rguenther@suse.de> 2831 2832 PR middle-end/105965 2833 * match.pd (view_convert CONSTRUCTOR): Handle single-element 2834 CTOR case. 2835 28362022-07-19 Richard Biener <rguenther@suse.de> 2837 2838 Backported from master: 2839 2022-06-14 Richard Biener <rguenther@suse.de> 2840 2841 PR tree-optimization/105946 2842 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference): 2843 Do not look at arguments not specified in the function call. 2844 28452022-07-19 Richard Biener <rguenther@suse.de> 2846 2847 Backported from master: 2848 2022-07-11 Richard Biener <rguenthert@suse.de> 2849 2850 PR target/105459 2851 * config/i386/i386-options.cc (ix86_set_current_function): 2852 Rebuild the target optimization node whenever necessary, 2853 not only when the optimization node didn't change. 2854 28552022-07-14 Michael Meissner <meissner@linux.ibm.com> 2856 2857 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do 2858 not generate block copies with vector pair instructions if we are 2859 tuning for power10. Back port from master branch. 2860 28612022-07-14 Surya Kumari Jangala <jskumari@linux.vnet.ibm.com> 2862 2863 Backported from master: 2864 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com> 2865 2866 PR rtl-optimization/105041 2867 * regrename.cc (check_new_reg_p): Use nregs value from du chain. 2868 28692022-07-11 Martin Jambor <mjambor@suse.cz> 2870 2871 Backported from master: 2872 2022-07-04 Martin Jambor <mjambor@suse.cz> 2873 2874 PR tree-optimization/105860 2875 * tree-sra.cc (build_reconstructed_reference): Start expr 2876 traversal only just below the outermost union. 2877 28782022-07-10 Xi Ruoyao <xry111@xry111.site> 2879 2880 Backported from master: 2881 2022-07-10 Xi Ruoyao <xry111@xry111.site> 2882 2883 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w 2884 instead of mul.d. 2885 28862022-07-09 Roger Sayle <roger@nextmovesoftware.com> 2887 Uroš Bizjak <ubizjak@gmail.com> 2888 2889 PR target/105930 2890 * config/i386/i386.md (*<any_or>di3_doubleword): Split after 2891 reload. Use rtx_equal_p to avoid creating memory-to-memory moves, 2892 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0). 2893 28942022-07-08 Lulu Cheng <chenglulu@loongson.cn> 2895 2896 Backported from master: 2897 2022-07-08 Lulu Cheng <chenglulu@loongson.cn> 2898 2899 * config/loongarch/loongarch.cc (loongarch_compute_frame_info): 2900 Modify fp_sp_offset and gp_sp_offset's calculation method, 2901 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD 2902 or UNITS_PER_FP_REG. 2903 29042022-07-04 Andrew MacLeod <amacleod@redhat.com> 2905 2906 PR tree-optimization/106114 2907 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check 2908 statement operands instead of GORI cache. 2909 29102022-07-04 Roger Sayle <roger@nextmovesoftware.com> 2911 Marek Polacek <polacek@redhat.com> 2912 Segher Boessenkool <segher@kernel.crashing.org> 2913 Kewen Lin <linkw@linux.ibm.com> 2914 2915 PR target/105991 2916 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that 2917 exact_log2 doesn't return -1 (or zero). 2918 (plus_xor): New code iterator. 2919 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split. 2920 29212022-07-04 Xi Ruoyao <xry111@xry111.site> 2922 2923 Backported from master: 2924 2022-07-03 Xi Ruoyao <xry111@xry111.site> 2925 Lulu Cheng <chenglulu@loongson.cn> 2926 2927 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p): 2928 New static function. 2929 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead 2930 of TARGET_CHECK_ZERO_DIV. 2931 (loongarch_output_division): Likewise. 2932 * common/config/loongarch/loongarch-common.cc 2933 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook. 2934 * doc/invoke.texi: Update to match the new behavior. 2935 29362022-07-03 Roger Sayle <roger@nextmovesoftware.com> 2937 2938 PR target/106122 2939 * config/i386/i386.md (peephole2): Avoid generating pop %esp 2940 when optimizing for size. 2941 29422022-07-02 Sergei Trofimovich <siarheit@google.com> 2943 2944 Backported from master: 2945 2022-06-29 Sergei Trofimovich <siarheit@google.com> 2946 2947 PR c++/106102 2948 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>. 2949 29502022-07-01 Vladimir Makarov <vmakarov@gcc.gnu.org> 2951 2952 Backported from master: 2953 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org> 2954 2955 PR target/103722 2956 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which 2957 is special) for various scenarios. 2958 29592022-06-29 Richard Biener <rguenther@suse.de> 2960 2961 Backported from master: 2962 2022-05-11 Richard Biener <rguenther@suse.de> 2963 2964 PR bootstrap/105551 2965 * opts.cc (finish_options): Also disable var-tracking if 2966 !DWARF2_DEBUGGING_INFO. 2967 29682022-06-29 Lulu Cheng <chenglulu@loongson.cn> 2969 2970 Backported from master: 2971 2022-06-29 Lulu Cheng <chenglulu@loongson.cn> 2972 2973 PR target/106097 2974 * config/loongarch/loongarch.cc (loongarch_build_integer): 2975 Remove undefined behavior from code. 2976 29772022-06-28 Jakub Jelinek <jakub@redhat.com> 2978 2979 Backported from master: 2980 2022-06-21 Jakub Jelinek <jakub@redhat.com> 2981 2982 PR rtl-optimization/106032 2983 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and 2984 t may_trap_or_fault_p, even if it is cheap. 2985 29862022-06-28 Jakub Jelinek <jakub@redhat.com> 2987 2988 Backported from master: 2989 2022-06-21 Jakub Jelinek <jakub@redhat.com> 2990 2991 PR middle-end/106030 2992 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of 2993 temp to expand_operands if mode has been promoted. 2994 29952022-06-28 Xi Ruoyao <xry111@xry111.site> 2996 2997 Backported from master: 2998 2022-06-28 Xi Ruoyao <xry111@xry111.site> 2999 3000 PR target/106096 3001 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude 3002 $r13 from SIBCALL_REGS. 3003 * config/loongarch/loongarch.cc (loongarch_regno_to_class): 3004 Change $r13 to JIRL_REGS. 3005 30062022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> 3007 3008 Backported from master: 3009 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org> 3010 3011 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop 3012 condition to avoid overflow. 3013 30142022-06-23 Martin Liska <mliska@suse.cz> 3015 3016 Backported from master: 3017 2022-06-23 Martin Liska <mliska@suse.cz> 3018 3019 PR ipa/105600 3020 * ipa-icf.cc (sem_item_optimizer::filter_removed_items): 3021 Skip variables with body_removed. 3022 30232022-06-23 Siddhesh Poyarekar <siddhesh@gotplt.org> 3024 3025 Backported from master: 3026 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org> 3027 3028 PR tree-optimization/105736 3029 * tree-object-size.cc (addr_object_size): Return size_unknown 3030 when object offset computation returns an error. 3031 30322022-06-23 Richard Sandiford <richard.sandiford@arm.com> 3033 3034 Backported from master: 3035 2022-06-15 Richard Sandiford <richard.sandiford@arm.com> 3036 3037 PR tree-optimization/105254 3038 PR tree-optimization/105940 3039 Revert: 3040 * config/aarch64/aarch64.cc 3041 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a 3042 loop_vec_info as argument. Restrict the unroll factor to values 3043 that divide the VF. 3044 (aarch64_vector_costs::finish_cost): Update call accordingly. 3045 30462022-06-23 Kewen Lin <linkw@linux.ibm.com> 3047 3048 Backported from master: 3049 2022-06-14 Kewen Lin <linkw@linux.ibm.com> 3050 3051 PR tree-optimization/105940 3052 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of 3053 applying suggested_unroll_factor after start_over. 3054 30552022-06-21 H.J. Lu <hjl.tools@gmail.com> 3056 3057 Backported from master: 3058 2022-06-20 H.J. Lu <hjl.tools@gmail.com> 3059 3060 PR target/105960 3061 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return 3062 false if PIC register is used when calling ifunc functions. 3063 30642022-06-20 Uros Bizjak <ubizjak@gmail.com> 3065 3066 Backported from master: 3067 2022-06-17 Uroš Bizjak <ubizjak@gmail.com> 3068 3069 PR target/105209 3070 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New. 3071 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function. 3072 (alpha_store_data_bypass_p_1): Ditto. 3073 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead 3074 of generic store_data_bypass_p. 3075 (ev4_ist_c): Remove insn reservation. 3076 30772022-06-20 Uros Bizjak <ubizjak@gmail.com> 3078 3079 Backported from master: 3080 2022-06-17 Uroš Bizjak <ubizjak@gmail.com> 3081 3082 PR target/105970 3083 * config/i386/i386.cc (ix86_function_arg): Assert that 3084 the mode of pointer argumet is equal to ptr_mode, not Pmode. 3085 30862022-06-19 Jakub Jelinek <jakub@redhat.com> 3087 3088 Backported from master: 3089 2022-06-18 Jakub Jelinek <jakub@redhat.com> 3090 3091 PR middle-end/105998 3092 * varasm.cc (narrowing_initializer_constant_valid_p): Check 3093 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on 3094 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type. 3095 30962022-06-19 Jakub Jelinek <jakub@redhat.com> 3097 3098 Backported from master: 3099 2022-06-16 Jakub Jelinek <jakub@redhat.com> 3100 3101 PR middle-end/105951 3102 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and, 3103 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call) 3104 as last argument to the internal functions. 3105 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the 3106 extra call argument to ifns. If expand_atomic_fetch_op fails for the 3107 lhs == NULL_TREE case, fall through into the optab code with 3108 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op 3109 fails, construct a CALL_EXPR and expand that. 3110 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument 3111 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and 3112 expand that. 3113 31142022-06-19 Jan Hubicka <jh@suse.cz> 3115 3116 Backported from master: 3117 2022-06-14 Jan Hubicka <hubicka@ucw.cz> 3118 3119 PR ipa/105739 3120 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads. 3121 31222022-06-16 Richard Earnshaw <rearnsha@arm.com> 3123 3124 Backported from master: 3125 2022-06-15 Richard Earnshaw <rearnsha@arm.com> 3126 3127 PR target/105981 3128 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg 3129 to first_reg and second_reg respectively. Initialize them correctly 3130 when generating big-endian code. 3131 31322022-06-15 Simon Wright <simon@pushface.org> 3133 3134 Backported from master: 3135 2022-06-12 Simon Wright <simon@pushface.org> 3136 3137 PR target/104871 3138 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS 3139 version is darwin20 (macOS 11) or greater, truncate the version to the 3140 major number. 3141 31422022-06-15 Mark Mentovai <mark@mentovai.com> 3143 3144 Backported from master: 3145 2022-06-12 Mark Mentovai <mark@mentovai.com> 3146 3147 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof. 3148 31492022-06-15 Iain Sandoe <iain@sandoe.co.uk> 3150 3151 Backported from master: 3152 2022-05-29 Iain Sandoe <iain@sandoe.co.uk> 3153 3154 PR target/105599 3155 * config/darwin.h: Move versions-specific handling of multiply_defined 3156 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC. 3157 31582022-06-15 liuhongt <hongtao.liu@intel.com> 3159 3160 PR target/105953 3161 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg 3162 operands[3]. 3163 31642022-06-14 H.J. Lu <hjl.tools@gmail.com> 3165 3166 Backported from master: 3167 2022-06-13 H.J. Lu <hjl.tools@gmail.com> 3168 3169 * common/config/i386/cpuinfo.h (get_available_features): Require 3170 AVX for F16C and VAES. 3171 31722022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu> 3173 3174 Backported from master: 3175 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu> 3176 3177 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as 3178 (-1 << 31) for the single-bit case, when operating on (1 << 31) 3179 in SImode. 3180 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for 3181 any single-bit value, moving the special case for (1 << 31) to 3182 riscv_build_integer_1 (in riscv.c). 3183 31842022-06-08 Max Filippov <jcmvbkbc@gmail.com> 3185 3186 Backported from master: 3187 2022-06-08 Max Filippov <jcmvbkbc@gmail.com> 3188 3189 PR target/105879 3190 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second' 3191 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and 3192 'gen_highpart' bitwise semantics and fix order of highpart and 3193 lowpart depending on target endianness. 3194 31952022-06-08 liuhongt <hongtao.liu@intel.com> 3196 3197 PR target/105854 3198 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2 3199 from Yv to Yw. 3200 32012022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu> 3202 3203 Backported from master: 3204 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu> 3205 Manolis Tsamis <manolis.tsamis@vrull.eu> 3206 3207 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement. 3208 (CTZ_DEFINED_VALUE_AT_ZERO): Same. 3209 * doc/sourcebuild.texi: add documentation for RISC-V specific 3210 test target keywords 3211 32122022-06-02 Richard Biener <rguenther@suse.de> 3213 3214 Backported from master: 3215 2022-06-01 Richard Biener <rguenther@suse.de> 3216 3217 PR tree-optimization/105786 3218 * tree-loop-distribution.cc 3219 (loop_distribution::transform_reduction_loop): Only do strlen 3220 replacement for integer type reductions. 3221 32222022-06-02 Richard Biener <rguenther@suse.de> 3223 3224 Backported from master: 3225 2022-05-27 Richard Biener <rguenther@suse.de> 3226 3227 PR tree-optimization/105726 3228 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset): 3229 Constrain array-of-flexarray case more. 3230 32312022-06-02 Richard Biener <rguenther@suse.de> 3232 3233 Backported from master: 3234 2022-05-24 Richard Biener <rguenther@suse.de> 3235 3236 PR middle-end/105711 3237 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter 3238 and use it. 3239 (extract_bit_field_1): Pass down the mode of op0 to 3240 extract_bit_field_as_subreg. 3241 32422022-06-02 Martin Sebor <msebor@redhat.com> 3243 3244 Backported from master: 3245 2022-05-24 Martin Sebor <msebor@redhat.com> 3246 Richard Biener <rguenther@suse.de> 3247 3248 PR middle-end/105604 3249 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments. 3250 (get_origin_and_offset_r): Remove null handling. Handle variable array 3251 sizes. 3252 (get_origin_and_offset): Handle null argument here. Simplify. 3253 (alias_offset): Update comment. 3254 * pointer-query.cc (field_at_offset): Update comment. Handle members 3255 of variable-length types. 3256 32572022-06-02 Vineet Gupta <vineetg@rivosinc.com> 3258 3259 Backported from master: 3260 2022-05-24 Vineet Gupta <vineetg@rivosinc.com> 3261 3262 * config/riscv/riscv.cc: (struct riscv_tune_param): Add 3263 fmv_cost. 3264 (rocket_tune_info): Add default fmv_cost 8. 3265 (sifive_7_tune_info): Ditto. 3266 (thead_c906_tune_info): Ditto. 3267 (optimize_size_tune_info): Ditto. 3268 (riscv_register_move_cost): Use fmv_cost for int<->fp moves. 3269 32702022-05-30 Martin Jambor <mjambor@suse.cz> 3271 3272 Backported from master: 3273 2022-05-27 Martin Jambor <mjambor@suse.cz> 3274 3275 PR ipa/105639 3276 * ipa-prop.cc (propagate_controlled_uses): Check type of the 3277 constant before adding a LOAD reference. 3278 32792022-05-30 Jakub Jelinek <jakub@redhat.com> 3280 3281 Backported from master: 3282 2022-05-27 Jakub Jelinek <jakub@redhat.com> 3283 3284 PR sanitizer/105729 3285 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w) 3286 to (X &) z + w if -fsanitize=null during GENERIC folding. 3287 32882022-05-30 Jakub Jelinek <jakub@redhat.com> 3289 3290 Backported from master: 3291 2022-05-25 Jakub Jelinek <jakub@redhat.com> 3292 3293 PR sanitizer/105714 3294 * asan.cc (has_stmt_been_instrumented_p): For assignments which 3295 are both stores and loads, return true only if both destination 3296 and source have been instrumented. 3297 32982022-05-30 Jakub Jelinek <jakub@redhat.com> 3299 3300 Backported from master: 3301 2022-05-19 Jakub Jelinek <jakub@redhat.com> 3302 3303 PR c/105635 3304 * pointer-query.cc (gimple_parm_array_size): Return NULL if var 3305 doesn't have pointer or reference type. 3306 33072022-05-26 Simon Cook <simon.cook@embecosm.com> 3308 3309 Backported from master: 3310 2022-05-25 Simon Cook <simon.cook@embecosm.com> 3311 3312 * config/riscv/arch-canonicalize: Only add mafd extension if 3313 base was rv32/rv64g. 3314 33152022-05-26 Kito Cheng <kito.cheng@sifive.com> 3316 3317 Backported from master: 3318 2022-05-09 Kito Cheng <kito.cheng@sifive.com> 3319 3320 * config/riscv/arch-canonicalize: Handle g correctly. 3321 33222022-05-24 Qing Zhao <qing.zhao@oracle.com> 3323 3324 Backported from master: 3325 2022-05-09 Qing Zhao <qing.zhao@oracle.com> 3326 3327 PR target/101891 3328 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode 3329 as a generic MMX mode instead of V4HImode. 3330 (zero_all_mm_registers): Use SET to zero instead of MOV for 3331 zeroing scratch registers. 3332 (ix86_zero_call_used_regs): Likewise. 3333 33342022-05-24 Bruno Haible <bruno@clisp.org> 3335 3336 Backported from master: 3337 2022-05-24 Bruno Haible <bruno@clisp.org> 3338 3339 PR other/105527 3340 * doc/install.texi (Configuration): Add more details about --with-zstd. 3341 Document --with-zstd-include and --with-zstd-lib 3342 33432022-05-24 Martin Liska <mliska@suse.cz> 3344 3345 Backported from master: 3346 2022-05-11 Martin Liska <mliska@suse.cz> 3347 3348 PR other/105527 3349 * doc/install.texi: Document the configure option --with-zstd. 3350 33512022-05-20 Peter Bergner <bergner@linux.ibm.com> 3352 3353 Backported from master: 3354 2022-05-18 Peter Bergner <bergner@linux.ibm.com> 3355 Segher Boessenkool <segher@kernel.crashing.org> 3356 3357 PR target/105556 3358 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>, 3359 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>, 3360 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>, 3361 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa". 3362 Update other operands accordingly. 3363 33642022-05-20 Richard Biener <rguenther@suse.de> 3365 3366 Backported from master: 3367 2022-05-04 Richard Biener <rguenther@suse.de> 3368 3369 PR tree-optimization/103116 3370 * tree-vect-stmts.cc (get_group_load_store_type): Handle the 3371 case we need peeling for gaps even though GROUP_GAP is zero. 3372 33732022-05-19 Richard Biener <rguenther@suse.de> 3374 3375 Backported from master: 3376 2022-05-17 Richard Biener <rguenther@suse.de> 3377 3378 PR tree-optimization/105618 3379 * tree-ssa-sink.cc (statement_sink_location): For virtual 3380 PHI uses ignore those defining the used virtual operand. 3381 33822022-05-19 Richard Biener <rguenther@suse.de> 3383 3384 Backported from master: 3385 2022-05-12 Richard Biener <rguenther@suse.de> 3386 3387 PR rtl-optimization/105577 3388 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH 3389 edges before running fast DCE via df_analyze. 3390 33912022-05-19 Richard Biener <rguenther@suse.de> 3392 3393 Backported from master: 3394 2022-05-12 Richard Biener <rguenther@suse.de> 3395 3396 PR tree-optimization/105562 3397 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate 3398 against all CLOBBER defs if there's not an obvious must-alias 3399 and we are not doing redundant store elimination. 3400 (vn_walk_cb_data::redundant_store_removal_p): New field. 3401 (vn_reference_lookup_pieces): Initialize it. 3402 (vn_reference_lookup): Add argument to specify if we are 3403 doing redundant store removal. 3404 (eliminate_dom_walker::eliminate_stmt): Specify we do. 3405 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust. 3406 34072022-05-19 Richard Biener <rguenther@suse.de> 3408 3409 Backported from master: 3410 2022-05-11 Richard Biener <rguenther@suse.de> 3411 3412 PR rtl-optimization/105559 3413 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END 3414 for non-debug insns. 3415 34162022-05-19 Richard Biener <rguenther@suse.de> 3417 3418 Backported from master: 3419 2022-05-10 Richard Biener <rguenther@suse.de> 3420 3421 PR middle-end/105537 3422 * toplev.cc (process_options): Move flag_var_tracking 3423 handling ... 3424 * opts.cc (finish_options): ... here. 3425 34262022-05-19 Richard Biener <rguenther@suse.de> 3427 3428 Backported from master: 3429 2022-05-10 Richard Biener <rguenther@suse.de> 3430 3431 * flags.h (dwarf_debuginfo_p): Add opts argument, guard 3432 API with !GENERATOR_FILE. 3433 * opts.cc (global_options): Poison. 3434 (global_options_set): Likewise. 3435 (finish_options): Refer to options via opts. 3436 34372022-05-19 Richard Biener <rguenther@suse.de> 3438 3439 Backported from master: 3440 2022-04-29 Richard Biener <rguenther@suse.de> 3441 3442 PR tree-optimization/105431 3443 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned. 3444 (powi_as_mults): Use absu_hwi. 3445 (gimple_expand_builtin_powi): Remove now pointless n != -n 3446 check. 3447 34482022-05-18 Andrew MacLeod <amacleod@redhat.com> 3449 3450 PR tree-optimization/105458 3451 * value-relation.cc (path_oracle::register_relation): Merge, then check 3452 for equivalence. 3453 34542022-05-16 Sebastian Pop <spop@amazon.com> 3455 3456 PR target/105162 3457 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension 3458 of str array. 3459 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call 3460 memmodel_from_int and handle MEMMODEL_SYNC_*. 3461 (DEF0): Add __aarch64_*_sync functions. 3462 34632022-05-16 Eric Botcazou <ebotcazou@adacore.com> 3464 3465 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical 3466 instead of a bitwise negation. 3467 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR. 3468 34692022-05-13 Eric Botcazou <ebotcazou@adacore.com> 3470 3471 * tree-sra.cc (sra_modify_assign): Check that scalar storage order 3472 is the same on the LHS and RHS before rewriting one with the model 3473 of the other. 3474 34752022-05-13 Alexandre Oliva <oliva@adacore.com> 3476 3477 Backported from master: 3478 2022-05-13 Alexandre Oliva <oliva@adacore.com> 3479 3480 PR rtl-optimization/105455 3481 * gimple-harden-conditionals.cc (insert_check_and_trap): Set 3482 probabilities for newly-conditional edges. 3483 34842022-05-11 Martin Jambor <mjambor@suse.cz> 3485 3486 Backported from master: 3487 2022-04-29 Martin Jambor <mjambor@suse.cz> 3488 3489 PR ipa/100413 3490 * cgraph.cc (cgraph_node::remove): Release body of the node this 3491 is clone_of if appropriate. 3492 34932022-05-10 Jakub Jelinek <jakub@redhat.com> 3494 3495 Backported from master: 3496 2022-05-10 Jakub Jelinek <jakub@redhat.com> 3497 3498 PR tree-optimization/105528 3499 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove 3500 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment. 3501 35022022-05-10 Eric Botcazou <ebotcazou@adacore.com> 3503 3504 PR target/105292 3505 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return 3506 true only for 8-byte vector modes. 3507 35082022-05-06 Michael Meissner <meissner@linux.ibm.com> 3509 3510 Backported from master: 3511 2022-05-06 Michael Meissner <meissner@linux.ibm.com> 3512 3513 PR target/102059 3514 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion 3515 and -mpower10-fusion options for inlining purposes. 3516 35172022-05-06 Richard Biener <rguenther@suse.de> 3518 3519 Backported from master: 3520 2022-04-29 Richard Biener <rguenther@suse.de> 3521 3522 PR middle-end/105376 3523 * tree.cc (build_real): Special case dconst* arguments 3524 for decimal floating point types. 3525 35262022-05-06 Richard Biener <rguenther@suse.de> 3527 3528 Backported from master: 3529 2022-05-05 Richard Biener <rguenther@suse.de> 3530 3531 PR tree-optimization/105484 3532 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return 3533 whether the CFG changed. 3534 (gimple_expand_vec_exprs): When the CFG changed, clean it up. 3535 35362022-05-06 Richard Biener <rguenther@suse.de> 3537 3538 Backported from master: 3539 2022-05-03 Richard Biener <rguenther@suse.de> 3540 3541 PR middle-end/105461 3542 * opts.cc (finish_options): Match the condition to 3543 disable flag_var_tracking to that of process_options. 3544 35452022-05-06 Richard Biener <rguenther@suse.de> 3546 3547 Backported from master: 3548 2022-05-03 Richard Biener <rguenther@suse.de> 3549 3550 * opts.cc: #undef OPTIONS_SET_P. 3551 (finish_options): Use opts_set instead of OPTIONS_SET_P. 3552 35532022-05-06 Richard Biener <rguenther@suse.de> 3554 3555 Backported from master: 3556 2022-05-02 Richard Biener <rguenther@suse.de> 3557 3558 PR tree-optimization/105437 3559 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the 3560 case where last_stmt alters control flow. 3561 35622022-05-06 Richard Biener <rguenther@suse.de> 3563 3564 Backported from master: 3565 2022-05-03 Richard Biener <rguenther@suse.de> 3566 3567 PR tree-optimization/105394 3568 * tree-vect-generic.cc (expand_vector_condition): Adjust 3569 comp_width for non-integer mode masks as well. 3570 35712022-05-06 Release Manager 3572 3573 * GCC 12.1.0 released. 3574 35752022-05-02 Jakub Jelinek <jakub@redhat.com> 3576 3577 Backported from master: 3578 2022-05-02 Jakub Jelinek <jakub@redhat.com> 3579 3580 * system.h: Include initializer_list. 3581 35822022-04-28 Jakub Jelinek <jakub@redhat.com> 3583 3584 PR lto/105399 3585 * cgraph.cc (cgraph_node::verify_node): Don't verify 3586 semantic_interposition flag against 3587 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1. 3588 35892022-04-28 Jakub Jelinek <jakub@redhat.com> 3590 3591 PR target/105331 3592 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp 3593 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR 3594 of it. 3595 35962022-04-28 Jonathan Wakely <jwakely@redhat.com> 3597 3598 * doc/install.texi (Configuration): Remove misleading text 3599 around LE PowerPC Linux multilibs. 3600 36012022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3602 3603 PR d/103528 3604 * doc/install.texi (Tools/packages necessary for building GCC) 3605 (GDC): Document libphobos requirement. 3606 (Host/target specific installation notes for GCC, *-*-solaris2*): 3607 Document libphobos and GDC specifics. 3608 36092022-04-28 Richard Biener <rguenther@suse.de> 3610 3611 PR tree-optimization/105219 3612 * tree-vect-loop.cc (vect_transform_loop): Disable 3613 special code narrowing the vectorized epilogue max 3614 iterations when peeling for alignment or gaps was in effect. 3615 36162022-04-28 Xi Ruoyao <xry111@mengyan1223.wang> 3617 3618 * config/loongarch/loongarch.cc 3619 (loongarch_flatten_aggregate_field): Ignore empty fields for 3620 RECORD_TYPE. 3621 36222022-04-27 Lulu Cheng <chenglulu@loongson.cn> 3623 3624 * config/loongarch/loongarch.md: Add fdiv define_expand template, 3625 then generate floating-point division and floating-point reciprocal 3626 instructions. 3627 36282022-04-27 Lulu Cheng <chenglulu@loongson.cn> 3629 3630 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))' 3631 to PLV instruction templates. 3632 36332022-04-27 Richard Biener <rguenther@suse.de> 3634 3635 PR middle-end/104492 3636 * gimple-ssa-warn-access.cc 3637 (pass_waccess::warn_invalid_pointer): Exclude equality compare 3638 diagnostics for all kind of invalidations. 3639 (pass_waccess::check_dangling_uses): Fix post-dominator query. 3640 (pass_waccess::check_pointer_uses): Likewise. 3641 36422022-04-27 Andreas Krebbel <krebbel@linux.ibm.com> 3643 3644 PR target/102024 3645 * config/s390/s390-protos.h (s390_function_arg_vector): Remove 3646 prototype. 3647 * config/s390/s390.cc (s390_single_field_struct_p): New function. 3648 (s390_function_arg_vector): Invoke s390_single_field_struct_p. 3649 (s390_function_arg_float): Likewise. 3650 36512022-04-27 Jakub Jelinek <jakub@redhat.com> 3652 3653 PR sanitizer/105396 3654 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case 3655 where offset is bigger than off but smaller than m_prev_offset + 32 3656 bits by pushing one or more 0 bytes. Sink the 3657 m_shadow_bytes.safe_push (value); flush_if_full (); statements from 3658 all cases to the end of the function. 3659 36602022-04-27 Kewen Lin <linkw@linux.ibm.com> 3661 3662 PR target/105271 3663 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector] 3664 stanza. 3665 36662022-04-26 Thomas Schwinge <thomas@codesourcery.com> 3667 3668 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private 3669 data-share memory exhausted" error more verbose. 3670 36712022-04-26 Martin Liska <mliska@suse.cz> 3672 3673 PR lto/105364 3674 * lto-wrapper.cc (print_lto_docs_link): Use global_dc. 3675 (run_gcc): Parse OPT_fdiagnostics_urls_. 3676 (main): Initialize global_dc. 3677 36782022-04-26 Jakub Jelinek <jakub@redhat.com> 3679 3680 PR rtl-optimization/105314 3681 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero 3682 operand is equal to if_info->x, instead use the non-zero operand 3683 as one of the operands of AND with if_info->x as target. 3684 36852022-04-26 Jakub Jelinek <jakub@redhat.com> 3686 3687 PR tree-optimization/105374 3688 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if 3689 !fold_convertible_p rather than assuming fold_convert must succeed. 3690 36912022-04-26 Jakub Jelinek <jakub@redhat.com> 3692 3693 PR target/105367 3694 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass 3695 el_mode == DFmode ? double_type_node : float_type_node instead of 3696 TREE_TYPE (type_in) as first arguments to mathfn_built_in. 3697 36982022-04-25 David Malcolm <dmalcolm@redhat.com> 3699 3700 PR analyzer/104308 3701 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set 3702 the location of new_stmt in all places that don't already set it, 3703 whether explicitly, or via a call to gsi_replace. 3704 37052022-04-25 Paul A. Clarke <pc@us.ibm.com> 3706 3707 * doc/extend.texi (Other Builtins): Correct reference to 'modff'. 3708 37092022-04-25 Andrew MacLeod <amacleod@redhat.com> 3710 3711 PR tree-optimization/105276 3712 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include 3713 existing global range with calculated value. 3714 37152022-04-25 Richard Biener <rguenther@suse.de> 3716 3717 PR tree-optimization/105368 3718 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi. 3719 37202022-04-25 Richard Biener <rguenther@suse.de> 3721 3722 PR tree-optimization/100810 3723 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag. 3724 (find_ssa_undef): New function. 3725 (add_candidate_1): Avoid adding derived candidates with 3726 undefined SSA names and mark the original ones. 3727 (determine_group_iv_cost_generic): Reject rewriting 3728 uses with a different IV when that involves undefined SSA names. 3729 37302022-04-25 Steven G. Kargl <kargl@gcc.gnu.org> 3731 3732 PR target/89125 3733 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be 3734 bsd_libc_has_function. 3735 * targhooks.cc (bsd_libc_has_function): New function. 3736 Expand the supported math functions to inclue C99 libm. 3737 * targhooks.h (bsd_libc_has_function): New Prototype. 3738 37392022-04-25 Richard Biener <rguenther@suse.de> 3740 3741 PR rtl-optimization/105231 3742 * combine.cc (distribute_notes): Assert that a REG_EH_REGION 3743 with landing pad > 0 is from i3. Put any REG_EH_REGION note 3744 on i3 or drop it if the insn can not trap. 3745 (try_combine): Ensure that we can merge REG_EH_REGION notes 3746 with non-call exceptions. Ensure we are not splitting a 3747 trapping part of an insn with non-call exceptions when there 3748 is any REG_EH_REGION note to preserve. 3749 37502022-04-25 Hongyu Wang <hongyu.wang@intel.com> 3751 3752 PR target/105339 3753 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd): 3754 Add parentheses for parameters and djust format. 3755 (_mm512_mask_scalef_round_pd): Ditto. 3756 (_mm512_maskz_scalef_round_pd): Ditto. 3757 (_mm512_scalef_round_ps): Ditto. 3758 (_mm512_mask_scalef_round_ps): Ditto. 3759 (_mm512_maskz_scalef_round_ps): Ditto. 3760 (_mm_scalef_round_sd): Use _mm_undefined_pd. 3761 (_mm_scalef_round_ss): Use _mm_undefined_ps. 3762 (_mm_mask_scalef_round_sd): New macro. 3763 (_mm_mask_scalef_round_ss): Ditto. 3764 (_mm_maskz_scalef_round_sd): Ditto. 3765 (_mm_maskz_scalef_round_ss): Ditto. 3766 37672022-04-23 Jakub Jelinek <jakub@redhat.com> 3768 3769 PR target/105338 3770 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle 3771 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov 3772 cases. 3773 37742022-04-22 Segher Boessenkool <segher@kernel.crashing.org> 3775 3776 PR target/105334 3777 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander. 3778 (pack<mode> for FMOVE128): Rename and split the insn_and_split to... 3779 (pack<mode>_hard for FMOVE128): ... this... 3780 (pack<mode>_soft for FMOVE128): ... and this. 3781 37822022-04-22 Paul A. Clarke <pc@us.ibm.com> 3783 3784 * doc/extend.texi: Correct "This" to "These". 3785 37862022-04-22 Jakub Jelinek <jakub@redhat.com> 3787 3788 PR rtl-optimization/105333 3789 * rtlanal.cc (replace_rtx): Use simplify_subreg or 3790 simplify_unary_operation if CONST_SCALAR_INT_P rather than just 3791 CONST_INT_P. 3792 37932022-04-21 Segher Boessenkool <segher@kernel.crashing.org> 3794 3795 PR target/103197 3796 PR target/102146 3797 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage 3798 the "Z" alternatives in {l,st}{f,xs}iwzx. 3799 (zero_extendhi<mode>2 for EXTHI): Ditto. 3800 (zero_extendsi<mode>2 for EXTSI): Ditto. 3801 (*movsi_internal1): Ditto. 3802 (*mov<mode>_internal1 for QHI): Ditto. 3803 (movsd_hardfloat): Ditto. 3804 38052022-04-21 Martin Liska <mliska@suse.cz> 3806 3807 * configure.ac: Enable compressed debug sections for mold 3808 linker. 3809 * configure: Regenerate. 3810 38112022-04-21 Jakub Jelinek <jakub@redhat.com> 3812 3813 PR debug/105203 3814 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label 3815 on DEBUG_INSNs. 3816 38172022-04-20 Richard Biener <rguenther@suse.de> 3818 3819 PR tree-optimization/104912 3820 * tree-vect-loop-manip.cc (vect_loop_versioning): Split 3821 the cost model check to a separate BB to make sure it is 3822 checked first and not combined with other version checks. 3823 38242022-04-20 Richard Biener <rguenther@suse.de> 3825 3826 PR tree-optimization/105312 3827 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both 3828 VCOND and VCONDU for EQ and NE. 3829 38302022-04-20 Jan Hubicka <hubicka@ucw.cz> 3831 3832 PR ipa/103818 3833 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use 3834 poly_offset_int to avoid overflow. 3835 (modref_access_node::update2): likewise. 3836 38372022-04-20 Jakub Jelinek <jakub@redhat.com> 3838 3839 PR ipa/105306 3840 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition 3841 to opt_for_fn (decl, flag_semantic_interposition). 3842 * cgraphclones.cc (cgraph_node::create_clone): Copy over 3843 semantic_interposition flag. 3844 38452022-04-19 Sergei Trofimovich <siarheit@google.com> 3846 3847 PR gcov-profile/105282 3848 * value-prof.cc (stream_out_histogram_value): Allow negative counts 3849 on HIST_TYPE_INDIR_CALL. 3850 38512022-04-19 Jakub Jelinek <jakub@redhat.com> 3852 3853 PR target/105257 3854 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO, 3855 use gen_raw_REG instead of gen_rtx_REG and copy over also 3856 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */. 3857 38582022-04-19 Richard Biener <rguenther@suse.de> 3859 3860 PR tree-optimization/104010 3861 PR tree-optimization/103941 3862 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When 3863 we run into stmts in patterns continue walking those 3864 for uses outside of the vectorized region instead of 3865 marking the lane live. 3866 38672022-04-18 Hans-Peter Nilsson <hp@axis.com> 3868 3869 * doc/install.texi <CRIS>: Remove references to removed websites and 3870 adjust for cris-*-elf being the only remaining toolchain. 3871 38722022-04-18 Hans-Peter Nilsson <hp@axis.com> 3873 3874 * doc/invoke.texi <CRIS>: Remove references to options for removed 3875 subtarget cris-axis-linux-gnu and tweak wording accordingly. 3876 38772022-04-16 Gerald Pfeifer <gerald@pfeifer.com> 3878 3879 * doc/install.texi (Specific): Adjust mingw-w64 download link. 3880 38812022-04-15 Hongyu Wang <hongyu.wang@intel.com> 3882 3883 * config/i386/smmintrin.h: Correct target pragma from sse4.1 3884 and sse4.2 to crc32 for crc32 intrinsics. 3885 38862022-04-14 Indu Bhagat <indu.bhagat@oracle.com> 3887 3888 PR debug/105089 3889 * ctfc.cc (ctf_dvd_ignore_insert): New function. 3890 (ctf_dvd_ignore_lookup): Likewise. 3891 (ctf_add_variable): Keep track of non-defining decl DIEs. 3892 (new_ctf_container): Initialize the new hash-table. 3893 (ctfc_delete_container): Empty hash-table. 3894 * ctfc.h (struct ctf_container): Add new hash-table. 3895 (ctf_dvd_ignore_lookup): New declaration. 3896 (ctf_add_variable): Add additional argument. 3897 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable 3898 record for non-defining decl for which a defining decl exists 3899 in the same TU. 3900 (ctf_preprocess): Defer updating the number of global objts 3901 until here. 3902 (output_ctf_header): Use ctfc_vars_list_count as some CTF 3903 variables may not make it to the final output. 3904 (output_ctf_vars): Likewise. 3905 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable 3906 if this is known to be a non-defining decl DIE. 3907 39082022-04-14 Indu Bhagat <indu.bhagat@oracle.com> 3909 3910 * ctfc.h (struct ctf_container): Introduce a new member. 3911 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static 3912 variable. 3913 39142022-04-14 Jakub Jelinek <jakub@redhat.com> 3915 3916 PR target/105247 3917 * simplify-rtx.cc (simplify_const_binary_operation): For shifts 3918 or rotates by VOIDmode constant integer shift count use word_mode 3919 for the operand if int_mode is narrower than word. 3920 39212022-04-14 Robin Dapp <rdapp@linux.ibm.com> 3922 3923 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16. 3924 (s390_get_unit_mask): Likewise. 3925 (s390_is_fpd): Likewise. 3926 (s390_is_fxd): Likewise. 3927 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16. 3928 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15): 3929 Add z16. 3930 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16): 3931 Likewise. 3932 * config/s390/3931.md: New file. 3933 39342022-04-13 Richard Sandiford <richard.sandiford@arm.com> 3935 3936 PR tree-optimization/105254 3937 * config/aarch64/aarch64.cc 3938 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a 3939 loop_vec_info as argument. Restrict the unroll factor to values 3940 that divide the VF. 3941 (aarch64_vector_costs::finish_cost): Update call accordingly. 3942 39432022-04-13 Richard Biener <rguenther@suse.de> 3944 3945 PR tree-optimization/105263 3946 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume 3947 negates in multiplication chains with DFP. 3948 39492022-04-13 Jakub Jelinek <jakub@redhat.com> 3950 3951 PR middle-end/105253 3952 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple, 3953 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT 3954 comparisons or tree_nop_conversion_p checks. 3955 39562022-04-13 Hongyu Wang <hongyu.wang@intel.com> 3957 3958 PR target/103069 3959 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): 3960 Add missing set to target_val at pause label. 3961 39622022-04-13 Jakub Jelinek <jakub@redhat.com> 3963 3964 PR target/105234 3965 * attribs.cc (decl_attributes): Don't set 3966 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is 3967 NULL. 3968 39692022-04-13 Richard Biener <rguenther@suse.de> 3970 3971 PR tree-optimization/105250 3972 * fold-const.cc (fold_convertible_p): Revert 3973 r12-7979-geaaf77dd85c333, instead check for size equality 3974 of the vector types involved. 3975 39762022-04-13 Richard Biener <rguenther@suse.de> 3977 3978 Revert: 3979 2022-04-13 Richard Biener <rguenther@suse.de> 3980 3981 PR tree-optimization/104912 3982 * tree-vect-loop-manip.cc (vect_loop_versioning): Split 3983 the cost model check to a separate BB to make sure it is 3984 checked first and not combined with other version checks. 3985 39862022-04-13 Richard Biener <rguenther@suse.de> 3987 3988 PR tree-optimization/104912 3989 * tree-vect-loop-manip.cc (vect_loop_versioning): Split 3990 the cost model check to a separate BB to make sure it is 3991 checked first and not combined with other version checks. 3992 39932022-04-13 Jakub Jelinek <jakub@redhat.com> 3994 3995 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo. 3996 39972022-04-12 Antoni Boucher <bouanto@zoho.com> 3998 3999 PR jit/104072 4000 * reginfo.cc: New functions (clear_global_regs_cache, 4001 reginfo_cc_finalize) to avoid an issue where compiling the same 4002 code multiple times gives an error about assigning the same 4003 register to 2 global variables. 4004 * rtl.h: New function (reginfo_cc_finalize). 4005 * toplev.cc: Call it. 4006 40072022-04-12 Antoni Boucher <bouanto@zoho.com> 4008 4009 PR jit/104071 4010 * toplev.cc: Call the new function tree_cc_finalize in 4011 toplev::finalize. 4012 * tree.cc: New functions (clear_nonstandard_integer_type_cache 4013 and tree_cc_finalize) to clear the cache of non-standard integer 4014 types to avoid having issues with some optimizations of 4015 bitcast where the SSA_NAME will have a size of a cached 4016 integer type that should have been invalidated, causing a 4017 comparison of integer constant to fail. 4018 * tree.h: New function (tree_cc_finalize). 4019 40202022-04-12 Thomas Schwinge <thomas@codesourcery.com> 4021 4022 PR target/97348 4023 * config/nvptx/nvptx.h (ASM_SPEC): Don't set. 4024 * config/nvptx/nvptx.opt (misa): Adjust comment. 4025 40262022-04-12 Thomas Schwinge <thomas@codesourcery.com> 4027 4028 Revert: 4029 2022-03-03 Tom de Vries <tdevries@suse.de> 4030 4031 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}. 4032 40332022-04-12 Thomas Schwinge <thomas@codesourcery.com> 4034 4035 Revert: 4036 2022-03-31 Tom de Vries <tdevries@suse.de> 4037 4038 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30. 4039 40402022-04-12 Richard Biener <rguenther@suse.de> 4041 4042 PR ipa/104303 4043 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not 4044 include local escaped memory as obviously necessary stores. 4045 40462022-04-12 Richard Biener <rguenther@suse.de> 4047 4048 PR tree-optimization/105235 4049 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and 4050 return whether the CFG changed. 4051 (execute_cse_sincos_1): Adjust. 4052 40532022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com> 4054 4055 PR target/104144 4056 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options. 4057 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories. 4058 (MULTILIB_REQUIRED): Don't require Armv9-a libraries. 4059 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a. 4060 (MULTILIB_REUSE): Remove remap rules for Armv9-a. 4061 * config/arm/t-multilib (v9_a_nosimd_variants): Delete. 4062 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants. 4063 40642022-04-12 Richard Biener <rguenther@suse.de> 4065 4066 PR tree-optimization/105232 4067 * tree.cc (component_ref_size): Bail out for too large 4068 or non-constant sizes. 4069 40702022-04-12 Richard Biener <rguenther@suse.de> 4071 4072 PR tree-optimization/105226 4073 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify 4074 we can split the exit of an outer loop we choose to version. 4075 40762022-04-12 Jakub Jelinek <jakub@redhat.com> 4077 4078 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh, 4079 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh, 4080 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round, 4081 ix86_emit_swdivsf, ix86_emit_swsqrtsf, 4082 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop): 4083 Formatting fix. 4084 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise. 4085 40862022-04-12 Jakub Jelinek <jakub@redhat.com> 4087 4088 PR target/105214 4089 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call 4090 do_pending_stack_adjust. 4091 40922022-04-12 Jakub Jelinek <jakub@redhat.com> 4093 4094 PR rtl-optimization/105211 4095 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1 4096 fails for TREE_TYPE (arg), retry it with 4097 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that 4098 fails, emit call normally. 4099 41002022-04-12 Andreas Krebbel <krebbel@linux.ibm.com> 4101 4102 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16. 4103 * config.gcc: Add z16 as march/mtune switch. 4104 * config/s390/driver-native.cc (s390_host_detect_local_cpu): 4105 Recognize z16 with -march=native. 4106 * config/s390/s390-opts.h (enum processor_type): Rename 4107 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16. 4108 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ... 4109 (PROCESSOR_3931_Z16): ... throughout the file. 4110 (s390_processor processor_table): Add z16 as cpu string. 4111 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to 4112 PF_Z16. 4113 (TARGET_CPU_ARCH14): Rename to ... 4114 (TARGET_CPU_Z16): ... this. 4115 (TARGET_CPU_ARCH14_P): Rename to ... 4116 (TARGET_CPU_Z16_P): ... this. 4117 (TARGET_ARCH14): Rename to ... 4118 (TARGET_Z16): ... this. 4119 (TARGET_ARCH14_P): Rename to ... 4120 (TARGET_Z16_P): ... this. 4121 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and 4122 check TARGET_Z16 instead of TARGET_ARCH14. 4123 * config/s390/s390.opt: Add z16 to processor_type. 4124 * doc/invoke.texi: Document z16 and arch14. 4125 41262022-04-12 chenglulu <chenglulu@loongson.cn> 4127 4128 * config/loongarch/loongarch.cc: Fix bug for 4129 tmpdir-g++.dg-struct-layout-1/t033. 4130 41312022-04-11 Peter Bergner <bergner@linux.ibm.com> 4132 4133 PR target/104894 4134 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls 4135 to longcall functions. 4136 41372022-04-11 Jason Merrill <jason@redhat.com> 4138 4139 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos. 4140 41412022-04-11 Segher Boessenkool <segher@kernel.crashing.org> 4142 4143 PR target/105213 4144 PR target/103623 4145 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative. 4146 41472022-04-11 Jakub Jelinek <jakub@redhat.com> 4148 4149 PR tree-optimization/105218 4150 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has 4151 more than one predecessor or phi's bb more than 2 predecessors, 4152 reset phi result uses instead of adding a debug temp. 4153 41542022-04-11 Kito Cheng <kito.cheng@sifive.com> 4155 4156 PR target/104853 4157 * config.gcc: Pass -misa-spec to arch-canonicalize and 4158 multilib-generator. 4159 * config/riscv/arch-canonicalize: Adding -misa-spec option. 4160 (SUPPORTED_ISA_SPEC): New. 4161 (arch_canonicalize): New argument `isa_spec`. 4162 Handle multiple ISA spec versions. 4163 * config/riscv/multilib-generator: Adding -misa-spec option. 4164 41652022-04-11 Kito Cheng <kito.cheng@sifive.com> 4166 4167 * config/riscv/arch-canonicalize: Add TODO item. 4168 (IMPLIED_EXT): Sync. 4169 (arch_canonicalize): Checking until no change. 4170 41712022-04-11 Tamar Christina <tamar.christina@arm.com> 4172 4173 PR target/105197 4174 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when 4175 not masked. 4176 41772022-04-11 Jason Merrill <jason@redhat.com> 4178 4179 PR c++/100370 4180 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require 4181 deref == -1. 4182 41832022-04-11 Jakub Jelinek <jakub@redhat.com> 4184 4185 PR tree-optimization/104639 4186 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h. 4187 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3 4188 into x != cst3. 4189 41902022-04-11 Jeff Law <jeffreyalaw@gmail.com> 4191 4192 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the 4193 sign bit of the source ends up in CC. 4194 41952022-04-09 Jan Hubicka <hubicka@ucw.cz> 4196 4197 PR ipa/103376 4198 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition 4199 flag. 4200 42012022-04-09 Jan Hubicka <hubicka@ucw.cz> 4202 4203 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate 4204 nondeterministic and side_effects flags. 4205 42062022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com> 4207 4208 PR target/105157 4209 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS. 4210 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro. 4211 (TARGET_CPU_MASK): Likewise. 4212 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS. 4213 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK. 4214 (aarch64_get_arch): Likewise. 4215 (aarch64_override_options): Use TARGET_CPU_NBITS. 4216 42172022-04-08 Richard Biener <rguenther@suse.de> 4218 4219 PR tree-optimization/105198 4220 * tree-predcom.cc (find_looparound_phi): Check whether 4221 the found memory location of the entry value is clobbered 4222 inbetween the value we want to use and loop entry. 4223 42242022-04-08 Jakub Jelinek <jakub@redhat.com> 4225 4226 PR tree-optimization/105189 4227 * fold-const.cc (make_range_step): Fix up handling of 4228 (unsigned) x +[low, -] ranges for signed x if low fits into 4229 typeof (x). 4230 42312022-04-08 Richard Biener <rguenther@suse.de> 4232 4233 PR tree-optimization/105175 4234 * tree-vect-stmts.cc (vectorizable_operation): Suppress 4235 -Wvector-operation-performance if using emulated vectors. 4236 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose 4237 -Wvector-operation-performance when suppressed. 4238 (expand_vector_parallel): Likewise. 4239 (expand_vector_comparison): Likewise. 4240 (expand_vector_condition): Likewise. 4241 (lower_vec_perm): Likewise. 4242 (expand_vector_conversion): Likewise. 4243 42442022-04-07 Tamar Christina <tamar.christina@arm.com> 4245 4246 PR target/104409 4247 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New. 4248 (aarch64_general_init_builtins): Move LS64 code. 4249 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support 4250 arm_acle.h 4251 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New. 4252 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h". 4253 42542022-04-07 Richard Biener <rguenther@suse.de> 4255 Jan Hubicka <hubicka@ucw.cz> 4256 4257 PR ipa/104303 4258 * tree-ssa-alias.h (ptr_deref_may_alias_global_p, 4259 ref_may_alias_global_p, ref_may_alias_global_p, 4260 stmt_may_clobber_global_p, pt_solution_includes_global): Add 4261 bool parameters indicating whether escaped locals should be 4262 considered global. 4263 * tree-ssa-structalias.cc (pt_solution_includes_global): 4264 When the new escaped_nonlocal_p flag is true also consider 4265 pt->vars_contains_escaped. 4266 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p): 4267 Pass down new escaped_nonlocal_p flag. 4268 (ref_may_alias_global_p): Likewise. 4269 (stmt_may_clobber_global_p): Likewise. 4270 (ref_may_alias_global_p_1): Likewise. For decls also 4271 query the escaped solution if true. 4272 (ref_may_access_global_memory_p): Remove. 4273 (modref_may_conflict): Use ref_may_alias_global_p with 4274 escaped locals considered global. 4275 (ref_maybe_used_by_stmt_p): Adjust. 4276 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p): 4277 Likewise. 4278 * tree-ssa-dse.cc (dse_classify_store): Likewise. 4279 * trans-mem.cc (thread_private_new_memory): Likewise, but 4280 consider escaped locals global. 4281 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise. 4282 42832022-04-07 Richard Biener <rguenther@suse.de> 4284 4285 PR tree-optimization/105185 4286 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify 4287 modref query again. 4288 42892022-04-07 Tamar Christina <tamar.christina@arm.com> 4290 4291 PR target/104049 4292 * config/aarch64/aarch64-simd.md 4293 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to... 4294 (reduc_plus_scal_<mode>): ... This. 4295 (reduc_plus_scal_v4sf): Moved. 4296 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to... 4297 (reduc_plus_scal_v2si): ... This. 4298 42992022-04-07 Jakub Jelinek <jakub@redhat.com> 4300 4301 PR tree-optimization/102586 4302 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base 4303 langhook. 4304 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define. 4305 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it. 4306 * gimple-fold.cc (clear_padding_type): Use ftype instead of 4307 TREE_TYPE (field) some more. For artificial FIELD_DECLs without 4308 name try the lang_hooks.types.classtype_as_base langhook and 4309 if it returns non-NULL, use that instead of ftype for recursive call. 4310 43112022-04-07 Jakub Jelinek <jakub@redhat.com> 4312 4313 PR tree-optimization/105150 4314 * tree.cc (tree_builtin_call_types_compatible_p): New function. 4315 (get_call_combined_fn): Use it. 4316 43172022-04-07 Richard Biener <rguenther@suse.de> 4318 4319 PR middle-end/105165 4320 * tree-complex.cc (expand_complex_asm): Sorry for asm goto 4321 _Complex outputs. 4322 43232022-04-07 liuhongt <hongtao.liu@intel.com> 4324 4325 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask): 4326 Removed. 4327 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns 4328 for mask_applied. 4329 (<code><mode>3<mask_name>): Ditto. 4330 (*<code><mode>3<mask_name>): Ditto. 4331 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to 4332 real instruction. 4333 (VFB_512): Ditto. 4334 (VFB): Ditto. 4335 43362022-04-06 Jakub Jelinek <jakub@redhat.com> 4337 4338 PR rtl-optimization/104985 4339 * combine.cc (struct undo): Add where.regno member. 4340 (do_SUBST_MODE): Rename to ... 4341 (subst_mode): ... this. Change first argument from rtx * into int, 4342 operate on regno_reg_rtx[regno] and save regno into where.regno. 4343 (SUBST_MODE): Remove. 4344 (try_combine): Use subst_mode instead of SUBST_MODE, change first 4345 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use 4346 regno_reg_rtx[undo->where.regno] instead of *undo->where.r. 4347 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno] 4348 instead of *undo->where.r. 4349 (simplify_set): Use subst_mode instead of SUBST_MODE, change first 4350 argument from regno_reg_rtx[whatever] to whatever. 4351 43522022-04-06 Jakub Jelinek <jakub@redhat.com> 4353 4354 PR target/105069 4355 * config/sh/sh.opt (mdiv=): Add Save. 4356 43572022-04-06 Martin Liska <mliska@suse.cz> 4358 4359 PR driver/105096 4360 * common.opt: Document properly based on what it does. 4361 * gcc.cc (display_help): Unify with what we have in common.opt. 4362 * opts.cc (common_handle_option): Do not print undocumented 4363 options. 4364 43652022-04-06 Xi Ruoyao <xry111@mengyan1223.wang> 4366 4367 * config/mips/mips.cc (mips_fpr_return_fields): Ignore 4368 cxx17_empty_base_field_p fields and set an indicator. 4369 (mips_return_in_msb): Adjust for mips_fpr_return_fields change. 4370 (mips_function_value_1): Inform psABI change about C++17 empty 4371 bases. 4372 43732022-04-06 Jakub Jelinek <jakub@redhat.com> 4374 4375 PR tree-optimization/105150 4376 * gimple.cc (gimple_builtin_call_types_compatible_p): Use 4377 builtin_decl_explicit here... 4378 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than 4379 here. 4380 43812022-04-06 Richard Biener <rguenther@suse.de> 4382 4383 PR tree-optimization/105173 4384 * tree-ssa-reassoc.cc (find_insert_point): Get extra 4385 insert_before output argument and compute it. 4386 (insert_stmt_before_use): Adjust. 4387 (rewrite_expr_tree): Likewise. 4388 43892022-04-06 Richard Biener <rguenther@suse.de> 4390 4391 PR ipa/105166 4392 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail 4393 out for non-pointer arguments. 4394 43952022-04-06 Richard Biener <rguenther@suse.de> 4396 4397 PR tree-optimization/105163 4398 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating 4399 negated abnormals. 4400 44012022-04-06 Jakub Jelinek <jakub@redhat.com> 4402 4403 PR tree-optimization/105150 4404 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn): 4405 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p 4406 preferrably on builtin_decl_explicit decl rather than fndecl. 4407 * tree-ssa-strlen.cc (valid_builtin_call): Don't call 4408 gimple_builtin_call_types_compatible_p here. 4409 44102022-04-06 Richard Sandiford <richard.sandiford@arm.com> 4411 4412 PR tree-optimization/103761 4413 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace 4414 the ncopies parameter with an slp_node parameter. Calculate the 4415 number of vectors based on it and vectype. Rename lambda to 4416 group_memory_nvectors. 4417 (vectorizable_store, vectorizable_load): Update calls accordingly. 4418 44192022-04-06 Martin Liska <mliska@suse.cz> 4420 4421 * doc/invoke.texi: Document it. 4422 44232022-04-06 Richard Biener <rguenther@suse.de> 4424 4425 PR tree-optimization/105148 4426 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands 4427 2 and 3 of ARRAY_REFs. 4428 44292022-04-06 Roger Sayle <roger@nextmovesoftware.com> 4430 4431 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI. 4432 (*andnottf3): Replace with... 4433 (*andnot<mode>3): New define_insn using ANDNOT_MODE. 4434 44352022-04-06 Richard Biener <rguenther@suse.de> 4436 4437 PR tree-optimization/105142 4438 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted 4439 basic-block parameter. 4440 (maybe_fold_or_comparisons): Likewise. 4441 * gimple-fold.cc (follow_outer_ssa_edges): New. 4442 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges 4443 when an outer condition basic-block is specified. 4444 (and_comparisons_1, and_var_with_comparison, 4445 and_var_with_comparison_1, or_comparisons_1, 4446 or_var_with_comparison, or_var_with_comparison_1): Receive and pass 4447 down the outer condition basic-block. 4448 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the 4449 basic-block of the outer condition. 4450 44512022-04-06 Kewen Lin <linkw@linux.ibm.com> 4452 4453 PR target/105002 4454 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more 4455 comparison codes UNLT/UNLE/UNGT/UNGE. 4456 44572022-04-05 David Malcolm <dmalcolm@redhat.com> 4458 4459 * doc/extend.texi (Common Function Attributes): Document that 4460 'access' does not imply 'nonnull'. 4461 44622022-04-05 Uroš Bizjak <ubizjak@gmail.com> 4463 4464 PR target/105139 4465 * config/i386/mmx.md (*movv2qi_internal): 4466 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16. 4467 44682022-04-05 Richard Sandiford <richard.sandiford@arm.com> 4469 4470 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a 4471 define_expand and turn operands 0 and 1 from REGs to MEMs. 4472 (*aarch64_cpymemdi): New pattern. 4473 (aarch64_setmemdi): Turn into a define_expand and turn operand 0 4474 from a REG to a MEM. 4475 (*aarch64_setmemdi): New pattern. 4476 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use 4477 copy_to_mode_reg on all three registers. Replace the original 4478 MEM addresses rather than creating wild reads and writes. 4479 (aarch64_expand_setmem_mops): Likewise for the size and for the 4480 destination memory and address. 4481 44822022-04-05 Richard Sandiford <richard.sandiford@arm.com> 4483 4484 PR target/103147 4485 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class. 4486 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit 4487 from aarch64_simd_switcher. 4488 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes): 4489 New variable. 4490 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE. 4491 (register_tuple_type): Add more asserts. Expect the alignment 4492 of the structure to be subject to flag_pack_struct and 4493 maximum_field_alignment. Set aarch64_simd_tuple_modes. 4494 (aarch64_simd_switcher::aarch64_simd_switcher): New function. 4495 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise. 4496 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout. 4497 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher 4498 while calling aarch64_init_simd_builtins. 4499 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher) 4500 (sve_switcher::~sve_switcher): Remove code now performed by 4501 aarch64_simd_switcher. 4502 45032022-04-05 Richard Sandiford <richard.sandiford@arm.com> 4504 4505 PR target/104897 4506 * config/aarch64/aarch64-sve-builtins.cc 4507 (function_resolver::infer_vector_or_tuple_type): Use error_n 4508 for "%d vectors" messages. 4509 45102022-04-05 Chung-Lin Tang <cltang@codesourcery.com> 4511 4512 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as 4513 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from 4514 current clause. 4515 45162022-04-05 Richard Biener <rguenther@suse.de> 4517 4518 PR c/105151 4519 * passes.def (pass_walloca): Move early instance into 4520 pass_build_ssa_passes to make SSA form available. 4521 45222022-04-05 liuhongt <hongtao.liu@intel.com> 4523 4524 PR target/101908 4525 * config/i386/i386.cc (ix86_split_stlf_stall_load): New 4526 function 4527 (ix86_reorg): Call ix86_split_stlf_stall_load. 4528 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New 4529 param. 4530 45312022-04-05 Alexandre Oliva <oliva@adacore.com> 4532 4533 * targhooks.cc (default_zero_call_used_regs): Attempt to group 4534 regs that the target refuses to use in their natural modes. 4535 (zcur_select_mode_rtx): New. 4536 * regs.h (struct target_regs): Add x_hard_regno_max_nregs. 4537 (hard_regno_max_nregs): Define. 4538 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs. 4539 45402022-04-04 Alex Coplan <alex.coplan@arm.com> 4541 4542 * doc/match-and-simplify.texi: Fix typos. 4543 45442022-04-04 Jakub Jelinek <jakub@redhat.com> 4545 4546 PR target/105144 4547 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change 4548 only if configured with --enable-maintainer-mode, otherwise compare 4549 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and 4550 if they differ, emit a message and fail. 4551 45522022-04-04 Jakub Jelinek <jakub@redhat.com> 4553 4554 PR target/105144 4555 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md. 4556 * config/aarch64/aarch64-tune.md: Regenerated. 4557 45582022-04-04 Richard Biener <rguenther@suse.de> 4559 4560 PR tree-optimization/105132 4561 * tree-vect-stmts.cc (vectorizable_operation): Check that 4562 the input vectors have the same number of elements. 4563 45642022-04-04 Richard Biener <rguenther@suse.de> 4565 4566 PR middle-end/105140 4567 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg. 4568 45692022-04-03 Jeff Law <jeffreyalaw@gmail.com> 4570 4571 PR target/104987 4572 * config/iq2000/iq2000.md (bbi): New attribute, default to no. 4573 (delay slot descripts): Use different delay slot description when 4574 the insn as the "bbi" attribute. 4575 (bbi, bbin patterns): Set the bbi attribute to yes. 4576 45772022-04-03 Jakub Jelinek <jakub@redhat.com> 4578 4579 PR target/105123 4580 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid 4581 using word as target for expand_simple_binop when doing ASHIFT and 4582 IOR. 4583 45842022-04-02 Xi Ruoyao <xry111@mengyan1223.wang> 4585 4586 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is 4587 NULL before dereferencing it. 4588 45892022-04-01 Qing Zhao <qing.zhao@oracle.com> 4590 4591 * config/i386/i386.cc (zero_all_st_registers): Return the value of 4592 num_of_st. 4593 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to 4594 the return value of zero_all_st_registers. 4595 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS. 4596 * function.cc (gen_call_used_regs_seq): Add an assertion. 4597 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS. 4598 45992022-04-01 Xi Ruoyao <xry111@mengyan1223.wang> 4600 4601 PR target/102024 4602 * config/mips/mips.cc (mips_function_arg): Ignore zero-width 4603 fields, and inform if it causes a psABI change. 4604 46052022-04-01 Xi Ruoyao <xry111@mengyan1223.wang> 4606 4607 PR target/102024 4608 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++ 4609 zero-width bit-fields and set up an indicator. 4610 (mips_return_in_msb): Adapt for mips_fpr_return_fields change. 4611 (mips_function_value_1): Diagnose when the presense of a C++ 4612 zero-width bit-field changes function returning in GCC 12. 4613 46142022-04-01 Jakub Jelinek <jakub@redhat.com> 4615 4616 PR tree-optimization/104645 4617 * tree-ssa-phiopt.cc (value_replacement): If assign has 4618 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation 4619 statement with constant evaluation. 4620 46212022-04-01 YunQiang Su <yunqiang.su@cipunited.com> 4622 4623 * config/mips/mips.cc (mips_expand_prologue): 4624 IPL is 8bit for MCU ASE. 4625 46262022-03-31 Bill Schmidt <wschmidt@linux.ibm.com> 4627 4628 PR target/104004 4629 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft. 4630 (MTFSB0): Likewise. 4631 (MTFSB1): Likewise. 4632 (SET_FPSCR_RN): Likewise. 4633 (SET_FPSCR_DRN): Mark nosoft and no32bit. 4634 46352022-03-31 Thomas Schwinge <thomas@codesourcery.com> 4636 4637 * doc/options.texi (Option file format): Clarifications around 4638 option definition records' help texts. 4639 46402022-03-31 Thomas Schwinge <thomas@codesourcery.com> 4641 4642 * optc-gen.awk <END>: Fix "Multiple different help strings" error 4643 diagnostic. 4644 46452022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com> 4646 4647 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define 4648 determine_suggested_unroll_factor and m_has_avg. 4649 (determine_suggested_unroll_factor): New function. 4650 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern 4651 to set m_nosve_pattern. 4652 (aarch64_vector_costs::finish_costs): Use 4653 determine_suggested_unroll_factor. 4654 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New. 4655 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option. 4656 46572022-03-31 Martin Jambor <mjambor@suse.cz> 4658 4659 PR ipa/103083 4660 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null; 4661 (ipa_get_jf_ancestor_keep_null): New function. 4662 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the 4663 ancestor function. 4664 (compute_complex_assign_jump_func): Pass false to keep_null 4665 parameter of ipa_set_ancestor_jf. 4666 (compute_complex_ancestor_jump_func): Pass true to keep_null 4667 parameter of ipa_set_ancestor_jf. 4668 (update_jump_functions_after_inlining): Carry over keep_null from the 4669 original ancestor jump-function or merge them. 4670 (ipa_write_jump_function): Stream keep_null flag. 4671 (ipa_read_jump_function): Likewise. 4672 (ipa_print_node_jump_functions_for_edge): Print the new flag. 4673 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New 4674 member function known_nonzero_p. 4675 (ipcp_bits_lattice::known_nonzero_p): New. 4676 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones, 4677 observe it. 4678 (ipcp_bits_lattice::meet_with): Likewise. 4679 (propagate_bits_across_jump_function): Simplify. Pass true in 4680 drop_all_ones when it is necessary. 4681 (propagate_aggs_across_jump_function): Take care of keep_null 4682 flag. 4683 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null 4684 jump functions. 4685 46862022-03-31 Martin Jambor <mjambor@suse.cz> 4687 4688 PR ipa/102513 4689 * ipa-cp.cc (decide_whether_version_node): Skip scalar values 4690 which do not fit the known value_range. 4691 46922022-03-31 Martin Jambor <mjambor@suse.cz> 4693 4694 PR ipa/103171 4695 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference 4696 always when an ADDR_EXPR constant is known to reach a load because 4697 of inlining, not just when removing an ADDR reference. 4698 46992022-03-31 Richard Biener <rguenther@suse.de> 4700 4701 PR tree-optimization/105109 4702 * tree-ssa.cc (execute_update_addresses_taken): Suppress 4703 diagnostics on the load of the other complex component. 4704 47052022-03-31 Tom de Vries <tdevries@suse.de> 4706 4707 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30. 4708 47092022-03-31 Richard Biener <rguenther@suse.de> 4710 4711 PR rtl-optimization/105091 4712 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF 4713 bases. 4714 47152022-03-31 Richard Biener <rguenther@suse.de> 4716 4717 Revert: 4718 2021-09-13 Richard Earnshaw <rearnsha@arm.com> 4719 4720 PR target/102125 4721 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding 4722 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO. 4723 47242022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de> 4725 4726 * gcov-io.cc (gcov_read_string): Reword documentation comment. 4727 47282022-03-30 Bill Schmidt <wschmidt@linux.ibm.com> 4729 4730 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec] 4731 stanza. 4732 (NEG_V4SF): Likewise. 4733 (NEG_V4SI): Likewise. 4734 (NEG_V8HI): Likewise. 4735 (NEG_V2DF): Move to [vsx] stanza. 4736 (NEG_V2DI): Likewise. 4737 47382022-03-30 Vladimir N. Makarov <vmakarov@redhat.com> 4739 4740 PR middle-end/105032 4741 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition. 4742 47432022-03-30 Tom de Vries <tdevries@suse.de> 4744 Tobias Burnus <tobias@codesourcery.com> 4745 4746 * doc/invoke.texi (march): Document __PTX_SM__. 4747 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and 4748 __PTX_ISA_VERSION_MINOR__. 4749 47502022-03-30 Jakub Jelinek <jakub@redhat.com> 4751 4752 PR sanitizer/105093 4753 * ubsan.cc (instrument_object_size): If t is equal to inner and 4754 is a decl other than global var, punt. When emitting call to 4755 UBSAN_OBJECT_SIZE ifn, make sure base is addressable. 4756 47572022-03-30 Jakub Jelinek <jakub@redhat.com> 4758 4759 PR tree-optimization/105094 4760 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if 4761 bitsize <= 0 rather than just == 0. 4762 47632022-03-30 Tom de Vries <tdevries@suse.de> 4764 4765 * doc/invoke.texi (misa, mptx): Update. 4766 (march, march-map): Add. 4767 47682022-03-30 Thomas Schwinge <thomas@codesourcery.com> 4769 4770 * opt-functions.awk (n_args): New function. 4771 (lang_enabled_by): Merge function into... 4772 * optc-gen.awk <END>: ... sole user here. 4773 Improve diagnostics. 4774 47752022-03-29 Marek Polacek <polacek@redhat.com> 4776 Jakub Jelinek <jakub@redhat.com> 4777 4778 PR middle-end/103597 4779 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps 4780 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P. 4781 (gimplify_cond_expr): Set UNUSED_LABEL_P. 4782 * tree.h (UNUSED_LABEL_P): New. 4783 47842022-03-29 Michael Meissner <meissner@linux.ibm.com> 4785 4786 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to 4787 be any VSX register. 4788 47892022-03-29 Richard Earnshaw <rearnsha@arm.com> 4790 4791 PR target/102024 4792 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle 4793 zero-sized bit-fields. Detect cases where a warning may be needed. 4794 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a 4795 zero-sized bit-field has caused parameter passing to change. 4796 47972022-03-29 Richard Earnshaw <rearnsha@arm.com> 4798 4799 PR target/102024 4800 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized 4801 bit-fields. Detect cases where a warning may be needed. 4802 (aapcs_vfp_is_call_or_return_candidate): Emit a note if 4803 a zero-sized bit-field has caused parameter passing to change. 4804 48052022-03-29 Richard Earnshaw <rearnsha@arm.com> 4806 4807 PR target/96882 4808 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of 4809 ARM_PCS_AAPCS_LOCAL. 4810 48112022-03-29 Tom de Vries <tdevries@suse.de> 4812 4813 PR target/104857 4814 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit 4815 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__. 4816 * config/nvptx/nvptx.cc (ptx_version_to_number): New function. 4817 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare. 4818 48192022-03-29 Tom de Vries <tdevries@suse.de> 4820 4821 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it 4822 is ignored. 4823 48242022-03-29 Tom de Vries <tdevries@suse.de> 4825 4826 PR target/104714 4827 * config/nvptx/nvptx.opt (march-map=*): Add aliases. 4828 48292022-03-29 Jan Hubicka <hubicka@ucw.cz> 4830 4831 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test 4832 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS. 4833 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro. 4834 (TARGET_USE_GATHER_4PARTS): New macro. 4835 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune 4836 (X86_TUNE_USE_GATHER_4PARTS): New tune 4837 48382022-03-29 Tom de Vries <tdevries@suse.de> 4839 4840 * config/nvptx/nvptx.opt (march): Add alias of misa. 4841 48422022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 4843 Lulu Cheng <chenglulu@loongson.cn> 4844 4845 * doc/install.texi: Add LoongArch options section. 4846 * doc/invoke.texi: Add LoongArch options section. 4847 * doc/md.texi: Add LoongArch options section. 4848 48492022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 4850 Lulu Cheng <chenglulu@loongson.cn> 4851 4852 * config/loongarch/loongarch-c.cc 4853 48542022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 4855 Lulu Cheng <chenglulu@loongson.cn> 4856 4857 * config/loongarch/larchintrin.h: New file. 4858 * config/loongarch/loongarch-builtins.cc: New file. 4859 48602022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 4861 Lulu Cheng <chenglulu@loongson.cn> 4862 4863 * config/host-linux.cc: Add LoongArch support. 4864 * config/loongarch/loongarch-protos.h: New file. 4865 * config/loongarch/loongarch-tune.h: Likewise. 4866 * config/loongarch/loongarch.cc: Likewise. 4867 * config/loongarch/loongarch.h: Likewise. 4868 48692022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 4870 Lulu Cheng <chenglulu@loongson.cn> 4871 4872 * config/loongarch/constraints.md: New file. 4873 * config/loongarch/generic.md: New file. 4874 * config/loongarch/la464.md: New file. 4875 * config/loongarch/loongarch-ftypes.def: New file. 4876 * config/loongarch/loongarch-modes.def: New file. 4877 * config/loongarch/loongarch.md: New file. 4878 * config/loongarch/predicates.md: New file. 4879 * config/loongarch/sync.md: New file. 4880 48812022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 4882 Lulu Cheng <chenglulu@loongson.cn> 4883 4884 * configure: Regenerate file. 4885 48862022-03-29 Chenghua Xu <xuchenghua@loongson.cn> 4887 Lulu Cheng <chenglulu@loongson.cn> 4888 4889 * common/config/loongarch/loongarch-common.cc: New file. 4890 * config/loongarch/genopts/genstr.sh: New file. 4891 * config/loongarch/genopts/loongarch-strings: New file. 4892 * config/loongarch/genopts/loongarch.opt.in: New file. 4893 * config/loongarch/loongarch-str.h: New file. 4894 * config/loongarch/gnu-user.h: New file. 4895 * config/loongarch/linux.h: New file. 4896 * config/loongarch/loongarch-cpu.cc: New file. 4897 * config/loongarch/loongarch-cpu.h: New file. 4898 * config/loongarch/loongarch-def.c: New file. 4899 * config/loongarch/loongarch-def.h: New file. 4900 * config/loongarch/loongarch-driver.cc: New file. 4901 * config/loongarch/loongarch-driver.h: New file. 4902 * config/loongarch/loongarch-opts.cc: New file. 4903 * config/loongarch/loongarch-opts.h: New file. 4904 * config/loongarch/loongarch.opt: New file. 4905 * config/loongarch/t-linux: New file. 4906 * config/loongarch/t-loongarch: New file. 4907 * config.gcc: Add LoongArch support. 4908 * configure.ac: Add LoongArch support. 4909 49102022-03-29 Thomas Schwinge <thomas@codesourcery.com> 4911 4912 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs' 4913 typo. 4914 49152022-03-29 Richard Biener <rguenther@suse.de> 4916 4917 PR tree-optimization/105080 4918 * tree-ssa-strlen.cc (printf_strlen_execute): Always init 4919 loops and SCEV. 4920 49212022-03-28 Indu Bhagat <indu.bhagat@oracle.com> 4922 4923 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead. 4924 (output_ctf_vars): Likewise. 4925 49262022-03-28 Jason Merrill <jason@redhat.com> 4927 4928 PR c++/59426 4929 * doc/extend.texi: Refer to __is_trivial instead of __is_pod. 4930 49312022-03-28 H.J. Lu <hjl.tools@gmail.com> 4932 4933 PR target/105068 4934 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with 4935 "Yw" in clobber. 4936 49372022-03-28 Tom de Vries <tdevries@suse.de> 4938 4939 PR target/104818 4940 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text. 4941 * config/nvptx/nvptx-gen.opt: Regenerate. 4942 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text. 4943 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on 4944 gen-opt.sh. 4945 49462022-03-28 David Malcolm <dmalcolm@redhat.com> 4947 4948 PR analyzer/104308 4949 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing 4950 to loads then stores, set the location of the new load stmt. 4951 49522022-03-28 Richard Biener <rguenther@suse.de> 4953 4954 PR tree-optimization/105070 4955 * tree-switch-conversion.h 4956 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location 4957 argument. 4958 * tree-switch-conversion.cc 4959 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate 4960 cond with location. 4961 (bit_test_cluster::emit): Annotate all generated expressions 4962 with location. 4963 49642022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com> 4965 4966 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry. 4967 49682022-03-28 liuhongt <hongtao.liu@intel.com> 4969 4970 PR target/105066 4971 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of 4972 alternative 4 from sse4_noavx to noavx. 4973 49742022-03-28 Jakub Jelinek <jakub@redhat.com> 4975 4976 PR tree-optimization/105056 4977 * tree-predcom.cc (component::component): Initialize also comp_step. 4978 49792022-03-27 H.J. Lu <hjl.tools@gmail.com> 4980 4981 PR target/105068 4982 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with 4983 "Yw". 4984 49852022-03-26 Roger Sayle <roger@nextmovesoftware.com> 4986 4987 PR middle-end/104885 4988 * calls.cc (mark_stack_region_used): Check that the region 4989 is within the allocated size of stack_usage_map. 4990 49912022-03-26 Jakub Jelinek <jakub@redhat.com> 4992 4993 PR rtl-optimization/103775 4994 * recog.cc (check_invalid_inc_dec): New function. 4995 (insn_invalid_p): Return 1 if REG_INC operand overlaps 4996 any stored REGs. 4997 49982022-03-26 H.J. Lu <hjl.tools@gmail.com> 4999 5000 PR target/105058 5001 * config/i386/sse.md (loadiwkey): Replace "v" with "x". 5002 (aes<aesklvariant>u8): Likewise. 5003 50042022-03-26 H.J. Lu <hjl.tools@gmail.com> 5005 5006 PR target/105052 5007 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3): 5008 Replace "Yv" with "x". 5009 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise. 5010 (ssse3_psign<mode>3): Likewise. 5011 50122022-03-26 Hans-Peter Nilsson <hp@axis.com> 5013 5014 * reload.cc (find_reloads): Align comment with code where 5015 considering the intersection of register classes then tweaking the 5016 regclass for the current alternative or rejecting it. 5017 50182022-03-25 Christophe Lyon <christohe.lyon@arm.com> 5019 5020 PR target/104882 5021 Revert 5022 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org> 5023 5024 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete. 5025 (mve_vec_unpack<US>_hi_<mode>): Delete. 5026 (@mve_vec_pack_trunc_lo_<mode>): Delete. 5027 (mve_vmovntq_<supf><mode>): Remove '@' prefix. 5028 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back 5029 from vec-common.md. 5030 (vec_unpack<US>_lo_<mode>): Likewise. 5031 (vec_pack_trunc_<mode>): Rename from 5032 neon_quad_vec_pack_trunc_<mode>. 5033 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete. 5034 (vec_unpack<US>_lo_<mode>): Delete. 5035 (vec_pack_trunc_<mode>): Delete. 5036 50372022-03-25 Vladimir N. Makarov <vmakarov@redhat.com> 5038 5039 PR middle-end/104971 5040 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard 5041 regs to clear remove_p flag. 5042 50432022-03-25 Richard Biener <rguenther@suse.de> 5044 5045 PR tree-optimization/105053 5046 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick 5047 the correct live-out stmt for a reduction chain. 5048 50492022-03-25 Richard Biener <rguenther@suse.de> 5050 5051 PR middle-end/105049 5052 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or 5053 CONSTRUCTOR first elements. 5054 50552022-03-25 Tobias Burnus <tobias@codesourcery.com> 5056 5057 PR analyzer/103533 5058 * doc/invoke.texi (Static Analyzer Options): Move 5059 @ignore block after @gccoptlist's '}' for 'make pdf'. 5060 50612022-03-25 David Malcolm <dmalcolm@redhat.com> 5062 5063 PR analyzer/104954 5064 * doc/invoke.texi (Static Analyzer Options): Add 5065 -fdump-analyzer-untracked. 5066 50672022-03-25 Avinash Sonawane <rootkea@gmail.com> 5068 5069 PR analyzer/103533 5070 * doc/invoke.texi: Document that enabling taint analyzer 5071 checker disables some warnings from `-fanalyzer`. 5072 50732022-03-24 Alexandre Oliva <oliva@adacore.com> 5074 5075 PR debug/104564 5076 * gimple-harden-conditionals.cc (detach_value): Keep temps 5077 anonymous. 5078 50792022-03-24 Alexandre Oliva <oliva@adacore.com> 5080 5081 PR middle-end/104975 5082 * gimple-harden-conditionals.cc 5083 (pass_harden_compares::execute): Force split in case of 5084 multiple edges. 5085 50862022-03-24 Jakub Jelinek <jakub@redhat.com> 5087 5088 PR c++/105035 5089 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either 5090 field0 or field1 is not a FIELD_DECL, return false. 5091 50922022-03-24 Richard Biener <rguenther@suse.de> 5093 5094 * tree-predcom.cc (chain::chain): Add CTOR. 5095 (component::component): Likewise. 5096 (pcom_worker::release_chain): Use delete. 5097 (release_components): Likewise. 5098 (pcom_worker::filter_suitable_components): Likewise. 5099 (pcom_worker::split_data_refs_to_components): Use new. 5100 (make_invariant_chain): Likewise. 5101 (make_rooted_chain): Likewise. 5102 (pcom_worker::combine_chains): Likewise. 5103 * tree-vect-loop.cc (vect_create_epilog_for_reduction): 5104 Make sure to release previously constructed scalar_results. 5105 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec 5106 for vec_offsets. 5107 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges): 5108 Release m_flag_set_edges. 5109 51102022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org> 5111 5112 PR tree-optimization/104970 5113 * tree-object-size.cc (parm_object_size): Restrict size 5114 computation scenarios to explicit access attributes. 5115 51162022-03-24 Kewen Lin <linkw@linux.ibm.com> 5117 5118 PR target/104967 5119 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null 5120 function types. 5121 51222022-03-23 Richard Biener <rguenther@suse.de> 5123 5124 PR target/102125 5125 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the 5126 use of movmisalign when either the source or destination 5127 decl is properly aligned. 5128 51292022-03-23 Richard Biener <rguenther@suse.de> 5130 5131 PR rtl-optimization/105028 5132 * ira-color.cc (form_threads_from_copies): Remove unnecessary 5133 copying of the sorted_copies tail. 5134 51352022-03-23 Martin Liska <mliska@suse.cz> 5136 5137 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): 5138 Use %qs in format. 5139 * config/rs6000/rs6000.cc (rs6000_option_override_internal): 5140 Reword the error message. 5141 51422022-03-23 liuhongt <hongtao.liu@intel.com> 5143 5144 PR target/104976 5145 * config/i386/sse.md (ssePSmodelower): New. 5146 (*avx_cmp<mode>3_ltint_not): Force_reg operand before 5147 lowpart_subreg to avoid NULL_RTX. 5148 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>, 5149 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>, 5150 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst, 5151 <avx512>_<complexopname>_<mode>_mask<round_name>, 5152 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>, 5153 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>, 5154 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>, 5155 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>, 5156 float<floatunssuffix><mode>v4hf2, 5157 float<floatunssuffix>v2div2hf2, 5158 fix<fixunssuffix>_truncv4hf<mode>2, 5159 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2, 5160 extendv2hfv2df2, 5161 trunc<mode>v4hf2,truncv2dfv2hf2, 5162 *avx512bw_permvar_truncv16siv16hi_1, 5163 *avx512bw_permvar_truncv16siv16hi_1_hf, 5164 *avx512f_permvar_truncv8siv8hi_1, 5165 *avx512f_permvar_truncv8siv8hi_1_hf, 5166 *avx512f_vpermvar_truncv8div8si_1, 5167 *avx512f_permvar_truncv32hiv32qi_1, 5168 *avx512f_permvar_truncv16hiv16qi_1, 5169 *avx512f_permvar_truncv4div4si_1, 5170 *avx512f_pshufb_truncv8hiv8qi_1, 5171 *avx512f_pshufb_truncv4siv4hi_1, 5172 *avx512f_pshufd_truncv2div2si_1, 5173 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1, 5174 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto. 5175 51762022-03-22 Tom de Vries <tdevries@suse.de> 5177 5178 PR target/104925 5179 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"): 5180 Use % as register prefix. 5181 51822022-03-22 Tom de Vries <tdevries@suse.de> 5183 5184 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p) 5185 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for 5186 mexperimental. 5187 51882022-03-22 Tom de Vries <tdevries@suse.de> 5189 5190 * config/nvptx/nvptx.opt (mexperimental): New option. 5191 51922022-03-22 Tom de Vries <tdevries@suse.de> 5193 5194 PR target/104957 5195 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare. 5196 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker 5197 for alias. 5198 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def. 5199 (nvptx_asm_output_def_from_decls): New function. 5200 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to 5201 gcc_unreachable (). 5202 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to 5203 nvptx_asm_output_def_from_decls. 5204 * config/nvptx/nvptx.opt (malias): New opt. 5205 52062022-03-22 Tom de Vries <tdevries@suse.de> 5207 5208 PR target/104916 5209 PR target/104783 5210 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp 5211 sync (or uniform warp check for mptx < 6.0). 5212 52132022-03-22 Richard Biener <rguenther@suse.de> 5214 5215 PR tree-optimization/105012 5216 * tree-if-conv.cc (ifcvt_local_dce): Only call 5217 dse_classify_store when we have a VDEF. 5218 52192022-03-22 Martin Liska <mliska@suse.cz> 5220 5221 PR target/104902 5222 * config/nvptx/nvptx.cc (handle_ptx_version_option): 5223 Fix option wrapping in an error message. 5224 52252022-03-22 Martin Liska <mliska@suse.cz> 5226 5227 PR target/104903 5228 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): 5229 Wrap const keyword. 5230 52312022-03-22 Martin Liska <mliska@suse.cz> 5232 5233 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma 5234 name. 5235 52362022-03-22 Martin Liska <mliska@suse.cz> 5237 5238 PR target/104898 5239 * config/rs6000/rs6000.cc (rs6000_option_override_internal): 5240 Use %qs instead of (%qs). 5241 52422022-03-22 Martin Liska <mliska@suse.cz> 5243 5244 PR target/104898 5245 * config/i386/i386-options.cc (ix86_option_override_internal): 5246 Use '%qs' instead of '(%qs)'. 5247 52482022-03-22 Martin Liska <mliska@suse.cz> 5249 5250 PR target/104898 5251 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch): 5252 Use 'qs' and remove usage '(%qs)'. 5253 (aarch64_handle_attr_cpu): Likewise. 5254 (aarch64_handle_attr_tune): Likewise. 5255 (aarch64_handle_attr_isa_flags): Likewise. 5256 52572022-03-22 Tamar Christina <tamar.christina@arm.com> 5258 Andre Vieira <andre.simoesdiasvieira@arm.com> 5259 5260 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning 5261 struct. 5262 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int 5263 cost. 5264 (neoverse512tvb_tunings): Likewise. 5265 52662022-03-22 Tamar Christina <tamar.christina@arm.com> 5267 Andre Vieira <andre.simoesdiasvieira@arm.com> 5268 5269 * config/aarch64/aarch64.cc (demeter_addrcost_table, 5270 demeter_regmove_cost, demeter_advsimd_vector_cost, 5271 demeter_sve_vector_cost, demeter_scalar_issue_info, 5272 demeter_advsimd_issue_info, demeter_sve_issue_info, 5273 demeter_vec_issue_info, demeter_vector_cost, 5274 demeter_tunings): New tuning structs. 5275 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter 5276 tuning. 5277 * config/aarch64/aarch64-cores.def: Add entry for demeter. 5278 * config/aarch64/aarch64-tune.md (tune): Add demeter to list. 5279 52802022-03-22 Tamar Christina <tamar.christina@arm.com> 5281 Andre Vieira <andre.simoesdiasvieira@arm.com> 5282 5283 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct. 5284 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost. 5285 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all 5286 tunings to use cpu_memmov_cost struct. 5287 52882022-03-22 Tamar Christina <tamar.christina@arm.com> 5289 Andre Vieira <andre.simoesdiasvieira@arm.com> 5290 5291 * config/aarch64/aarch64.cc (neoversen2_addrcost_table, 5292 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost, 5293 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info, 5294 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info, 5295 neoversen2_vec_issue_info, neoversen2_tunings): New structs. 5296 (neoversen2_tunings): Use new structs and update tuning flags. 5297 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2 5298 tuning. 5299 53002022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com> 5301 5302 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature 5303 bit. 5304 53052022-03-22 liuhongt <hongtao.liu@intel.com> 5306 5307 PR target/104982 5308 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the 5309 following splitter to reversed condition. 5310 53112022-03-22 Jakub Jelinek <jakub@redhat.com> 5312 5313 PR rtl-optimization/104989 5314 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after 5315 sorry for passing too large argument, instead set sibcall_failure 5316 for pass == 0, or a new normal_failure flag otherwise. If 5317 normal_failure is set, don't assert all stack has been deallocated 5318 at the end and throw away the whole insn sequence. 5319 53202022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com> 5321 5322 * print-tree.cc: Change array length 5323 53242022-03-22 Hongyu Wang <hongyu.wang@intel.com> 5325 5326 PR target/104978 5327 * config/i386/sse.md 5328 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name): 5329 Use avx512f_movsf_mask instead of vmovaps or vblend, and 5330 force_reg before lowpart_subreg. 5331 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise. 5332 53332022-03-21 H.J. Lu <hjl.tools@gmail.com> 5334 5335 PR target/105000 5336 * common/config/i386/i386-common.cc 5337 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace 5338 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET. 5339 53402022-03-21 H.J. Lu <hjl.tools@gmail.com> 5341 5342 PR target/104998 5343 * common/config/i386/cpuinfo.h (get_available_features): Pass 5344 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if 5345 bit_AESKLE is set. 5346 53472022-03-21 Richard Sandiford <richard.sandiford@arm.com> 5348 5349 PR middle-end/104869 5350 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare. 5351 (clobber_group::next_clobber): Likewise. 5352 (def_lookup::prev_def): Rename to... 5353 (def_lookup::last_def_of_prev_group): ...this. 5354 (def_lookup::next_def): Rename to... 5355 (def_lookup::first_def_of_next_group): ...this. 5356 (def_lookup::matching_or_prev_def): Rename to... 5357 (def_lookup::matching_set_or_last_def_of_prev_group): ...this. 5358 (def_lookup::matching_or_next_def): Rename to... 5359 (def_lookup::matching_set_or_first_def_of_next_group): ...this. 5360 (def_lookup::prev_def): New function, taking the lookup insn as 5361 argument. 5362 (def_lookup::next_def): Likewise. 5363 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to... 5364 (def_lookup::last_def_of_prev_group): ...this. 5365 (def_lookup::next_def): Rename to... 5366 (def_lookup::first_def_of_next_group): ...this. 5367 (def_lookup::matching_or_prev_def): Rename to... 5368 (def_lookup::matching_set_or_last_def_of_prev_group): ...this. 5369 (def_lookup::matching_or_next_def): Rename to... 5370 (def_lookup::matching_set_or_first_def_of_next_group): ...this. 5371 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after 5372 above renaming. 5373 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function. 5374 (clobber_group::next_clobber): Likewise. 5375 (def_lookup::prev_def): Likewise. 5376 (def_lookup::next_def): Likewise. 5377 (function_info::make_use_available): Pass the lookup insn to 5378 def_lookup::prev_def and def_lookup::next_def. 5379 53802022-03-21 Martin Liska <mliska@suse.cz> 5381 5382 * doc/invoke.texi: Document min-pagesize parameter. 5383 53842022-03-21 Richard Biener <rguenther@suse.de> 5385 5386 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump 5387 we are estimating niter of loop. 5388 53892022-03-21 Kito Cheng <kito.cheng@sifive.com> 5390 5391 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table): 5392 Update flag name and mask name. 5393 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define 5394 misc macro for vector extensions. 5395 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ... 5396 (MASK_VECTOR_ELEN_32): ... this. 5397 (MASK_VECTOR_EEW_64): Rename to ... 5398 (MASK_VECTOR_ELEN_64): ... this. 5399 (MASK_VECTOR_EEW_FP_32): Rename to ... 5400 (MASK_VECTOR_ELEN_FP_32): ... this. 5401 (MASK_VECTOR_EEW_FP_64): Rename to ... 5402 (MASK_VECTOR_ELEN_FP_64): ... this. 5403 (TARGET_VECTOR_ELEN_32): New. 5404 (TARGET_VECTOR_ELEN_64): Ditto. 5405 (TARGET_VECTOR_ELEN_FP_32): Ditto. 5406 (TARGET_VECTOR_ELEN_FP_64): Ditto. 5407 (TARGET_MIN_VLEN): Ditto. 5408 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ... 5409 (riscv_vector_elen_flags): ... this. 5410 54112022-03-21 Hongyu Wang <hongyu.wang@intel.com> 5412 5413 PR target/104977 5414 * config/i386/sse.md 5415 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>): 5416 Correct round operand for intel dialect. 5417 54182022-03-19 Arthur Cohen <arthur.cohen@embecosm.com> 5419 5420 * diagnostic.cc (diagnostic_cc_tests): Rename to... 5421 (c_diagnostic_cc_tests): ...this. 5422 * opt-problem.cc (opt_problem_cc_tests): Rename to... 5423 (c_opt_problem_cc_tests): ...this. 5424 * selftest-run-tests.cc (selftest::run_tests): No longer run 5425 opt_problem_cc_tests or diagnostic_cc_tests. 5426 * selftest.h (diagnostic_cc_tests): Remove declaration. 5427 (opt_problem_cc_tests): Likewise. 5428 54292022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> 5430 5431 PR jit/63854 5432 * hash-traits.h (struct typed_const_free_remove): New. 5433 (struct free_string_hash): New. 5434 * pass_manager.h: Use free_string_hash. 5435 * passes.cc (pass_manager::register_pass_name): Use free_string_hash. 5436 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map. 5437 54382022-03-19 Jakub Jelinek <jakub@redhat.com> 5439 5440 PR middle-end/104971 5441 * config/i386/i386-expand.cc 5442 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore, 5443 don't push/pop anything and just return const0_rtx. 5444 54452022-03-18 Vladimir N. Makarov <vmakarov@redhat.com> 5446 5447 PR rtl-optimization/104961 5448 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber. 5449 54502022-03-18 Jason Merrill <jason@redhat.com> 5451 5452 * tree.h (IDENTIFIER_LENGTH): Add comment. 5453 54542022-03-18 Jakub Jelinek <jakub@redhat.com> 5455 5456 PR middle-end/99578 5457 PR middle-end/100680 5458 PR tree-optimization/100834 5459 * params.opt (--param=min-pagesize=): New parameter. 5460 * pointer-query.cc 5461 (compute_objsize_r) <case ARRAY_REF>: Formatting fix. 5462 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead 5463 of zero for pointer constants equal or larger than min-pagesize. 5464 54652022-03-18 Tom de Vries <tdevries@suse.de> 5466 5467 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'. 5468 Set gfor location only when dealing with a OMP_TASKLOOP. 5469 54702022-03-18 Tom de Vries <tdevries@suse.de> 5471 5472 * gimplify.cc (gimplify_omp_for): Set taskloop location. 5473 54742022-03-18 Tom de Vries <tdevries@suse.de> 5475 5476 PR target/104952 5477 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY 5478 is executed unconditionally. 5479 54802022-03-18 liuhongt <hongtao.liu@intel.com> 5481 5482 PR target/104974 5483 * config/i386/i386.md (*movhi_internal): Set attr type from HI 5484 to HF for alternative 12 under TARGET_AVX512FP16. 5485 54862022-03-18 Cui,Lili <lili.cui@intel.com> 5487 5488 PR target/104963 5489 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX. 5490 * doc/invoke.texi: Update documents for Intel sapphirerapids. 5491 54922022-03-17 Roger Sayle <roger@nextmovesoftware.com> 5493 5494 PR target/86722 5495 PR tree-optimization/90356 5496 * config/i386/i386.md (*movtf_internal): Don't guard 5497 standard_sse_constant_p clause by optimize_function_for_size_p. 5498 (*movdf_internal): Likewise. 5499 (*movsf_internal): Likewise. 5500 55012022-03-17 Andrew MacLeod <amacleod@redhat.com> 5502 5503 PR tree-optimization/102943 5504 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via 5505 dominators and apply intermediary outgoing edge ranges. 5506 55072022-03-17 Richard Biener <rguenther@suse.de> 5508 5509 PR tree-optimization/104960 5510 * passes.def: Add pass parameter to pass_sink_code, mark 5511 last one to unsplit edges. 5512 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New. 5513 (pass_sink_code::execute): Always execute TODO_cleanup_cfg 5514 when we need to unsplit edges. 5515 55162022-03-17 Jakub Jelinek <jakub@redhat.com> 5517 5518 PR middle-end/103984 5519 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and 5520 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers 5521 and asan unpoisioning, then append the temporary sequence and 5522 finally the TARGET_EXPR_CLEANUP clobbers. 5523 55242022-03-16 Roger Sayle <roger@nextmovesoftware.com> 5525 5526 * config/i386/sse.md: Delete corrupt character/typo. 5527 55282022-03-16 Roger Sayle <roger@nextmovesoftware.com> 5529 5530 PR target/94680 5531 * config/i386/sse.md (sse2_movq128): New define_expand to 5532 preserve previous named instruction. 5533 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and 5534 generalized to VI8F_128 (both V2DI and V2DF). 5535 55362022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org> 5537 5538 PR tree-optimization/104941 5539 * tree-object-size.cc (size_for_offset): Make useless conversion 5540 check lighter and assign result of fold_convert to OFFSET. 5541 55422022-03-16 H.J. Lu <hjl.tools@gmail.com> 5543 5544 PR target/104890 5545 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before 5546 pushing target("general-regs-only"). 5547 55482022-03-16 Kito Cheng <kito.cheng@sifive.com> 5549 5550 * common/config/riscv/riscv-common.cc (riscv_ext_version_table): 5551 Add version info for zk, zks and zkn. 5552 55532022-03-16 LiaoShihua <shihua@iscas.ac.cn> 5554 5555 * common/config/riscv/riscv-common.cc 5556 (riscv_combine_info): New. 5557 (riscv_subset_list::handle_combine_ext): Combine back into zk to 5558 maintain the canonical order in isa strings. 5559 (riscv_subset_list::parse): Ditto. 5560 * config/riscv/riscv-subset.h (handle_combine_ext): New. 5561 55622022-03-16 Richard Biener <rguenther@suse.de> 5563 5564 PR tree-optimization/102008 5565 * passes.def: Move the added code sinking pass before the 5566 preceeding phiopt pass. 5567 55682022-03-16 Patrick Palka <ppalka@redhat.com> 5569 5570 PR c++/96780 5571 * doc/invoke.texi (C++ Dialect Options): Document 5572 -ffold-simple-inlines. 5573 55742022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org> 5575 5576 PR tree-optimization/104942 5577 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS. 5578 55792022-03-16 Jakub Jelinek <jakub@redhat.com> 5580 5581 PR target/104910 5582 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy 5583 imm rtx. 5584 55852022-03-16 Roger Sayle <roger@nextmovesoftware.com> 5586 Richard Biener <rguenther@suse.de> 5587 5588 * gimple-match-head.cc (single_use): Implement inline using a 5589 single loop. 5590 55912022-03-16 Roger Sayle <roger@nextmovesoftware.com> 5592 5593 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p 5594 instead of HONOR_NANS. 5595 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as 5596 this can't trap/signal. 5597 55982022-03-16 liuhongt <hongtao.liu@intel.com> 5599 5600 PR target/104946 5601 * config/i386/i386-builtin.def (BDESC): Add 5602 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD. 5603 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold 5604 __builtin_ia32_blendvpd w/o sse4.2 5605 56062022-03-15 Peter Bergner <bergner@linux.ibm.com> 5607 5608 PR target/104923 5609 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict 5610 acceptable MEM addresses. 5611 56122022-03-15 Jakub Jelinek <jakub@redhat.com> 5613 5614 PR target/91229 5615 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p, 5616 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0 5617 to warning calls. 5618 56192022-03-15 Jakub Jelinek <jakub@redhat.com> 5620 5621 PR target/104890 5622 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse 5623 instead of general-regs-only. 5624 56252022-03-15 Roger Sayle <roger@nextmovesoftware.com> 5626 Marc Glisse <marc.glisse@inria.fr> 5627 Richard Biener <rguenther@suse.de> 5628 5629 PR tree-optimization/101895 5630 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def. 5631 (plus (vec_perm (mult ...) ...) ...): New reordering simplification. 5632 56332022-03-15 Jakub Jelinek <jakub@redhat.com> 5634 5635 PR rtl-optimization/104814 5636 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't 5637 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL. 5638 56392022-03-15 Martin Sebor <msebor@redhat.com> 5640 5641 PR middle-end/104436 5642 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores): 5643 Check for warning suppression. Avoid by-value arguments transformed 5644 into by-transparent-reference. 5645 56462022-03-14 Roger Sayle <roger@nextmovesoftware.com> 5647 Uroš Bizjak <ubizjak@gmail.com> 5648 5649 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable 5650 transformation when *zero_extend<mode>si2 is not available. 5651 56522022-03-14 Xi Ruoyao <xry111@mengyan1223.wang> 5653 5654 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define. 5655 * config/mips/mips.cc (mips_option_override): Make 5656 -fsanitize=address imply -fasynchronous-unwind-tables. This is 5657 needed by libasan for stack backtrace on MIPS. 5658 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET. 5659 56602022-03-14 Jakub Jelinek <jakub@redhat.com> 5661 5662 PR debug/104778 5663 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify 5664 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive 5665 call simplified the first operand into VOIDmode constant. 5666 56672022-03-14 Jakub Jelinek <jakub@redhat.com> 5668 5669 PR tree-optimization/102586 5670 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++ 5671 argument type should be pointer to trivially-copyable type unless it 5672 is address of a variable or parameter. 5673 56742022-03-14 Jakub Jelinek <jakub@redhat.com> 5675 5676 PR target/99754 5677 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into 5678 first rather than last element of the vector, use __m32_u to do 5679 a really unaligned load, use just 0 instead of (int)0. 5680 (_mm_loadu_si16): Put loaded value into first rather than last 5681 element of the vector, use __m16_u to do a really unaligned load, 5682 use just 0 instead of (short)0. 5683 56842022-03-14 Jakub Jelinek <jakub@redhat.com> 5685 5686 PR other/104899 5687 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo 5688 in diagnostic message - cannott -> cannot. Use %< and %> around 5689 names of attribute. Avoid too long line. 5690 * range-op.cc (operator_logical_and::op1_range): Fix up a typo 5691 in comment - cannott -> cannot. Use 2 spaces after . instead of one. 5692 56932022-03-14 liuhongt <hongtao.liu@intel.com> 5694 5695 PR target/104666 5696 * config/i386/i386-expand.cc 5697 (ix86_check_builtin_isa_match): New func. 5698 (ix86_expand_builtin): Move code to 5699 ix86_check_builtin_isa_match and call it. 5700 * config/i386/i386-protos.h 5701 (ix86_check_builtin_isa_match): Declare. 5702 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold 5703 builtin into gimple when isa mismatches. 5704 57052022-03-13 Tobias Burnus <tobias@codesourcery.com> 5706 5707 * doc/invoke.texi: Fix typos. 5708 * doc/tm.texi.in: Remove duplicated word. 5709 * doc/tm.texi: Regenerate. 5710 57112022-03-12 Segher Boessenkool <segher@kernel.crashing.org> 5712 5713 PR target/104829 5714 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output 5715 "ppc" and "ppc64" based on rs6000_cpu. 5716 57172022-03-12 Thomas Schwinge <thomas@codesourcery.com> 5718 5719 PR middle-end/100280 5720 PR middle-end/104892 5721 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1): 5722 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'. 5723 57242022-03-12 Thomas Schwinge <thomas@codesourcery.com> 5725 5726 PR middle-end/100280 5727 PR middle-end/104086 5728 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1): 5729 Mark variables used in 'present' clauses as addressable. 5730 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully 5731 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'. 5732 57332022-03-12 Thomas Schwinge <thomas@codesourcery.com> 5734 5735 PR other/65095 5736 * tree-core.h (user_omp_claus_code_name): Declare function. 5737 * tree.cc (user_omp_clause_code_name): New function. 5738 57392022-03-12 Roger Sayle <roger@nextmovesoftware.com> 5740 5741 PR middle-end/98420 5742 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math 5743 (the defaut) or -fno-signed-zeros. 5744 57452022-03-12 Michael Meissner <meissner@linux.ibm.com> 5746 5747 PR target/104868 5748 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when 5749 moving from a GPR register to an Altivec register. 5750 57512022-03-11 Roger Sayle <roger@nextmovesoftware.com> 5752 5753 PR tree-optimization/98335 5754 * config/i386/i386.md (peephole2): Eliminate redundant insv. 5755 Combine movl followed by movb. Transform xorl followed by 5756 a suitable movb or movw into the equivalent movz[bw]l. 5757 57582022-03-11 Roger Sayle <roger@nextmovesoftware.com> 5759 Richard Biener <rguenther@suse.de> 5760 5761 PR tree-optimization/98335 5762 * builtins.cc (get_object_alignment_2): Export. 5763 * builtins.h (get_object_alignment_2): Likewise. 5764 * tree-ssa-alias.cc (ao_ref_alignment): New. 5765 * tree-ssa-alias.h (ao_ref_alignment): Declare. 5766 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether 5767 to align head/tail, writing more bytes but using fewer store insns. 5768 57692022-03-11 Richard Biener <rguenther@suse.de> 5770 5771 PR tree-optimization/104880 5772 * tree-ssa.cc (execute_update_address_taken): Remember if we 5773 optimistically made something not addressable and 5774 prepare to undo it. 5775 57762022-03-11 Richard Biener <rguenther@suse.de> 5777 5778 PR target/104762 5779 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not 5780 cost the first lane of SSE pieces as inserts for vec_construct. 5781 57822022-03-10 Roger Sayle <roger@nextmovesoftware.com> 5783 5784 PR c++/84964 5785 * calls.cc (expand_call): Ignore stack adjustments after sorry. 5786 57872022-03-10 Vladimir N. Makarov <vmakarov@redhat.com> 5788 5789 PR target/103074 5790 * lra-constraints.cc (split_reg): Set up 5791 check_and_force_assignment_correctness_p when splitting hard 5792 register live range. 5793 57942022-03-10 Martin Jambor <mjambor@suse.cz> 5795 5796 PR ipa/104813 5797 * ipa-cp.cc (create_specialized_node): Move removal of 5798 self-recursive calls from callers vector before refrence 5799 adjustments. 5800 58012022-03-10 Richard Biener <rguenther@suse.de> 5802 5803 PR tree-optimization/102943 5804 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec): 5805 Make a bitmap_head. 5806 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch 5807 to tree view. 5808 (sbr_sparse_bitmap::set_bb_range): Adjust. 5809 (sbr_sparse_bitmap::get_bb_range): Likewise. 5810 58112022-03-10 Richard Biener <rguenther@suse.de> 5812 5813 PR tree-optimization/102943 5814 * tree-ssa-dom.cc (back_propagate_equivalences): Only 5815 populate the dominance bitmap if fast queries are not 5816 available. Use a tree view bitmap. 5817 (record_temporary_equivalences): Cache the dominance bitmap 5818 across all equivalences on the edge. 5819 58202022-03-10 Tom de Vries <tdevries@suse.de> 5821 5822 PR target/104840 5823 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead 5824 of false,true. 5825 58262022-03-10 Tom de Vries <tdevries@suse.de> 5827 5828 PR target/104783 5829 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate) 5830 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate. 5831 (nvptx_get_unisimt_outside_simt_predicate): New function. 5832 (predicate_insn): New function, factored out of ... 5833 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns. 5834 * config/nvptx/nvptx.h (struct machine_function): Add 5835 unisimt_outside_simt_predicate field. 5836 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync") 5837 (define_insn "nvptx_uniform_warp_check"): Make predicable. 5838 58392022-03-10 Tom de Vries <tdevries@suse.de> 5840 5841 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused 5842 result. 5843 58442022-03-10 Tom de Vries <tdevries@suse.de> 5845 5846 PR target/104815 5847 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand 5848 modifier. 5849 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns. 5850 58512022-03-10 Tom de Vries <tdevries@suse.de> 5852 5853 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"): 5854 Emit atom.and.b64 instead of atom.b64.and. 5855 58562022-03-10 Tom de Vries <tdevries@suse.de> 5857 5858 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ... 5859 (MULTILIB_OPTIONS): ... here. 5860 58612022-03-10 Tom de Vries <tdevries@suse.de> 5862 5863 PR target/104758 5864 * config/nvptx/nvptx.opt (misa): Set default to sm_30. 5865 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30. 5866 58672022-03-10 Thomas Schwinge <thomas@codesourcery.com> 5868 5869 PR middle-end/90115 5870 PR middle-end/102330 5871 PR middle-end/104774 5872 * omp-low.cc (oacc_privatization_candidate_p) 5873 (oacc_privatization_scan_clause_chain) 5874 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker): 5875 Analyze 'lookup_decl'-translated DECL. 5876 58772022-03-10 Jakub Jelinek <jakub@redhat.com> 5878 5879 PR target/99708 5880 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove 5881 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float. 5882 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove. 5883 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return 5884 "**NULL**" if type_node is NULL first. Handle 5885 ieee128_float_type_node. 5886 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node 5887 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and 5888 ieee128_float_type_node to NULL rather than long_double_type_node if 5889 they aren't supported. Do support __ibm128 even if 5890 !TARGET_FLOAT128_TYPE when long double is double double. 5891 (rs6000_expand_builtin): Error if bif_is_ibm128 and 5892 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to 5893 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check 5894 for it. 5895 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define 5896 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined. 5897 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here. 5898 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL. 5899 Formatting fix. 5900 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute. 5901 (struct attrinfo): Add isibm128 member. 5902 (TYPE_MAP_SIZE): Remove. 5903 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use 5904 ibm128_float_type_node only if it is non-NULL, otherwise fall back 5905 to long_double_type_node. Remove "pif" entry. 5906 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging. 5907 (write_decls): Output bif_ibm128_bit and bif_is_ibm128. 5908 (write_type_node): Use sizeof type_map / sizeof type_map[0] 5909 instead of TYPE_MAP_SIZE. 5910 (write_bif_static_init): Handle isibm128. 5911 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute. 5912 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128 5913 attribute. 5914 59152022-03-09 Richard Biener <rguenther@suse.de> 5916 5917 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF 5918 with non-decl operand, avoiding a copy. 5919 59202022-03-09 Jakub Jelinek <jakub@redhat.com> 5921 5922 PR target/104781 5923 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32. 5924 59252022-03-09 Richard Biener <rguenther@suse.de> 5926 5927 PR middle-end/104786 5928 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy 5929 for VLAs without an upper size bound. 5930 59312022-03-09 Xi Ruoyao <xry111@mengyan1223.wang> 5932 5933 PR tree-optimization/104851 5934 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one 5935 error. 5936 59372022-03-09 Jakub Jelinek <jakub@redhat.com> 5938 5939 PR c/104711 5940 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value 5941 is enabled by it only for C++11 to C++17 rather than for C++03 or 5942 later. 5943 (-Wshift-negative-value): Similarly (except here we stated 5944 that it is enabled for C++11 or later). 5945 59462022-03-09 Jakub Jelinek <jakub@redhat.com> 5947 5948 PR rtl-optimization/104839 5949 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>: 5950 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET. 5951 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED 5952 instead of incorrect 0 in SUBREG_PROMOTED_SET. 5953 59542022-03-09 Xi Ruoyao <xry111@mengyan1223.wang> 5955 5956 PR target/104842 5957 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned 5958 value before adding an offset. 5959 59602022-03-08 Christophe Lyon <christophe.lyon@arm.com> 5961 5962 * config/arm/arm-builtins.cc 5963 (arm_binop_none_none_unone_qualifiers): Delete. 5964 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete. 5965 59662022-03-08 Iain Sandoe <iain@sandoe.co.uk> 5967 5968 PR translation/104552 5969 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend 5970 the PCH out of memory error message punctuation and wording. 5971 59722022-03-08 Marek Polacek <polacek@redhat.com> 5973 5974 PR rtl-optimization/104777 5975 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if 5976 ASM_OPERANDS_LABEL_VEC has at least one element. 5977 59782022-03-08 H.J. Lu <hjl.tools@gmail.com> 5979 5980 PR target/104781 5981 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is 5982 stack realignment or regparm nested function with EH return. 5983 59842022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com> 5985 5986 PR target/104790 5987 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO. 5988 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base 5989 register for non widening loads or narrowing stores. 5990 59912022-03-08 Eric Gallager <egallager@gcc.gnu.org> 5992 5993 PR translation/104552 5994 * params.opt: Fix typo. 5995 59962022-03-08 Richard Biener <rguenther@suse.de> 5997 5998 PR tree-optimization/84201 5999 * params.opt (-param=vect-induction-float): Add. 6000 * doc/invoke.texi (vect-induction-float): Document. 6001 * tree-vect-loop.cc (vectorizable_induction): Honor 6002 param_vect_induction_float. 6003 60042022-03-08 Martin Jambor <mjambor@suse.cz> 6005 6006 PR translation/104552 6007 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word 6008 "that" in the description. 6009 60102022-03-08 Richard Biener <rguenther@suse.de> 6011 6012 PR tree-optimization/104825 6013 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly 6014 guard modref get_ao_ref on a pointer typed argument. 6015 60162022-03-08 liuhongt <hongtao.liu@intel.com> 6017 6018 * config/i386/sse.md (*vec_dupv4si): Disable memory operand 6019 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed. 6020 60212022-03-07 Jonathan Wakely <jwakely@redhat.com> 6022 6023 * doc/invoke.texi (C++ Modules): Remove anachronism. 6024 60252022-03-07 Martin Liska <mliska@suse.cz> 6026 6027 PR middle-end/104381 6028 * opts.cc (finish_options): If debug info is disabled 6029 (debug_info_level) and -fvar-tracking is unset, disable it. 6030 60312022-03-07 Jakub Jelinek <jakub@redhat.com> 6032 6033 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment. 6034 * config/riscv/riscv.cc: Likewise. 6035 * config/darwin.h: Likewise. 6036 * config/i386/i386.cc: Likewise. 6037 * config/aarch64/thunderx3t110.md: Likewise. 6038 * config/aarch64/fractional-cost.h: Likewise. 6039 * config/vax/vax.cc: Likewise. 6040 * config/rs6000/pcrel-opt.md: Likewise. 6041 * config/rs6000/predicates.md: Likewise. 6042 * ctfc.h: Likewise. 6043 * tree-ssa-uninit.cc: Likewise. 6044 * value-relation.h: Likewise. 6045 * gimple-range-gori.cc: Likewise. 6046 * ipa-polymorphic-call.cc: Likewise. 6047 * pointer-query.cc: Likewise. 6048 * ipa-sra.cc: Likewise. 6049 * internal-fn.cc: Likewise. 6050 * varasm.cc: Likewise. 6051 * gimple-ssa-warn-access.cc: Likewise. 6052 60532022-03-07 Martin Liska <mliska@suse.cz> 6054 6055 PR target/104794 6056 * config/arm/arm.cc (arm_option_override_internal): Add missing 6057 space. 6058 60592022-03-07 Richard Biener <rguenther@suse.de> 6060 6061 PR tree-optimization/104782 6062 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt): 6063 Re-instantiate r10-5979 fix, add comment. 6064 60652022-03-07 Martin Liska <mliska@suse.cz> 6066 6067 PR target/104797 6068 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove 6069 parenthesis from built-in name. 6070 60712022-03-07 Martin Liska <mliska@suse.cz> 6072 6073 PR target/104794 6074 * config/arm/arm.cc (arm_option_override_internal): Fix quoting 6075 of options in error messages. 6076 (arm_option_reconfigure_globals): Likewise. 6077 60782022-03-07 Martin Liska <mliska@suse.cz> 6079 6080 PR target/104794 6081 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error 6082 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can 6083 have only range [0,32]. 6084 60852022-03-07 Jakub Jelinek <jakub@redhat.com> 6086 6087 PR target/104775 6088 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use 6089 S constraint instead of T in the last alternative. 6090 60912022-03-07 Martin Liska <mliska@suse.cz> 6092 6093 * plugin.cc (default_plugin_dir_name): Remove <dir> from error 6094 message. 6095 60962022-03-07 Martin Liska <mliska@suse.cz> 6097 6098 PR translation/90148 6099 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put 6100 quote to a proper place. 6101 * plugin.cc (default_plugin_dir_name): Likewise. 6102 61032022-03-07 Martin Liska <mliska@suse.cz> 6104 6105 PR target/99297 6106 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation 6107 string. 6108 61092022-03-07 Jakub Jelinek <jakub@redhat.com> 6110 6111 PR target/104779 6112 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New 6113 define_expand pattern. Rename define_insn to ... 6114 (*avx512dq_mul<mode>3<mask_name>): ... this. 6115 (<code><mode>3_mask): New any_logic define_expand pattern. 6116 (<mask_codefor><code><mode>3<mask_name>): Rename to ... 6117 (*<code><mode>3<mask_name>): ... this. 6118 61192022-03-05 Jakub Jelinek <jakub@redhat.com> 6120 6121 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove 6122 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges. 6123 61242022-03-05 Roger Sayle <roger@nextmovesoftware.com> 6125 Uroš Bizjak <ubizjak@gmail.com> 6126 6127 PR testsuite/104732 6128 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s. 6129 Include DI mode unconditionally. 6130 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition, 6131 i.e. always split on !TARGET_64BIT. 6132 (*<any_or>di3_doubleword): Likewise. 6133 (*one_cmpldi2_doubleword): Likewise. 6134 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s. 6135 (<any_or><mode>3 expander): Likewise. 6136 (one_cmpl<mode>2 expander): Likewise. 6137 61382022-03-05 Michael Meissner <meissner@linux.ibm.com> 6139 6140 PR target/104698 6141 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete. 6142 (mtvsrdd_diti_w1): Delete. 6143 (extendditi2): Convert from define_expand to 6144 define_insn_and_split. Replace with code to deal with both GPR 6145 registers and with altivec registers. 6146 61472022-03-04 Segher Boessenkool <segher@kernel.crashing.org> 6148 6149 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a 6150 bit. Handle most older CPUs. 6151 61522022-03-04 Iain Sandoe <iain@sandoe.co.uk> 6153 6154 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to 6155 avoid a mismatch with DECL_MD_FUNCTION_CODE(). 6156 61572022-03-04 Iain Sandoe <iain@sandoe.co.uk> 6158 6159 PR target/104117 6160 * config/rs6000/darwin.md (@machopic_high_<mode>): New. 6161 (@machopic_low_<mode>): New. 6162 * config/rs6000/predicates.md (macho_pic_address): New. 6163 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not 6164 apply the TLS processing to Darwin. 6165 * lra-constraints.cc (process_address_1): Revert the changes 6166 in r12-7209. 6167 61682022-03-04 Peter Bergner <bergner@linux.ibm.com> 6169 6170 PR target/87496 6171 PR target/104208 6172 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the 6173 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on 6174 -mlong-double-128. 6175 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking 6176 from here... 6177 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option): 6178 ... to here. 6179 61802022-03-04 Jakub Jelinek <jakub@redhat.com> 6181 6182 PR middle-end/104529 6183 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY 6184 on automatic objects which will be runtime initialized. 6185 61862022-03-04 Thomas Schwinge <thomas@codesourcery.com> 6187 6188 PR middle-end/100280 6189 PR middle-end/104132 6190 PR middle-end/104133 6191 * omp-low.cc (task_shared_vars): Rename to 6192 'make_addressable_vars'. Adjust all users. 6193 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for 6194 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too. 6195 61962022-03-04 Thomas Schwinge <thomas@codesourcery.com> 6197 6198 PR middle-end/100280 6199 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New. 6200 * tree-core.h: Document it. 6201 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle 6202 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'. 6203 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region): 6204 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of 6205 'TREE_ADDRESSABLE'. 6206 62072022-03-04 Thomas Schwinge <thomas@codesourcery.com> 6208 6209 PR middle-end/100280 6210 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region): 6211 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable 6212 '[...]' declared in block made addressable". 6213 62142022-03-04 Thomas Schwinge <thomas@codesourcery.com> 6215 6216 PR middle-end/100400 6217 PR middle-end/103836 6218 PR middle-end/104061 6219 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body): 6220 Catch 'GIMPLE_DEBUG'. 6221 62222022-03-04 Jakub Jelinek <jakub@redhat.com> 6223 6224 PR c/104627 6225 * tree.cc (warn_deprecated_use): For types prefer to use node 6226 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is 6227 NULL. 6228 62292022-03-04 H.J. Lu <hjl.tools@gmail.com> 6230 6231 PR target/104704 6232 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return 6233 a pseudo register. 6234 62352022-03-03 Martin Sebor <msebor@redhat.com> 6236 6237 PR middle-end/104761 6238 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call 6239 mark_dfs_back_edges. 6240 62412022-03-03 Martin Liska <mliska@suse.cz> 6242 6243 * configure.ac: Use linker plug-in by default. 6244 * configure: Regenerate. 6245 62462022-03-03 Martin Liska <mliska@suse.cz> 6247 6248 * configure.ac: Now ld.mold support LTO plugin API, use it. 6249 * configure: Regenerate. 6250 62512022-03-03 Tom de Vries <tdevries@suse.de> 6252 6253 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1. 6254 62552022-03-03 Tom de Vries <tdevries@suse.de> 6256 6257 PR target/104758 6258 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30. 6259 62602022-03-03 Tom de Vries <tdevries@suse.de> 6261 6262 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}. 6263 62642022-03-03 Jakub Jelinek <jakub@redhat.com> 6265 6266 PR middle-end/104757 6267 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than 6268 gimplify_omp_for. 6269 (gimplify_expr) <case OMP_SIMD>: Temporarily disable 6270 gimplify_ctxp->into_ssa around call to gimplify_omp_for. 6271 62722022-03-03 Jakub Jelinek <jakub@redhat.com> 6273 6274 PR middle-end/104558 6275 * calls.cc (store_one_arg): When not calling emit_push_insn 6276 because size_rtx is const0_rtx, call at least anti_adjust_stack 6277 on arg->locate.alignment_pad if !argblock and the alignment might 6278 be non-zero. 6279 62802022-03-02 Alexandre Oliva <oliva@adacore.com> 6281 6282 * lra-constraints.cc (undo_optional_reloads): Recognize and 6283 drop insns of multi-word move sequences, tolerate removal 6284 iteration on an already-removed clobber, and refuse to 6285 substitute original pseudos into clobbers. 6286 62872022-03-02 Qing Zhao <qing.zhao@oracle.com> 6288 6289 PR middle-end/102276 6290 * common.opt (-Wtrivial-auto-var-init): New option. 6291 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option. 6292 (-ftrivial-auto-var-init): Update option; 6293 * gimplify.cc (emit_warn_switch_unreachable): New function. 6294 (warn_switch_unreachable_r): Rename to ... 6295 (warn_switch_unreachable_and_auto_init_r): This. 6296 (maybe_warn_switch_unreachable): Rename to ... 6297 (maybe_warn_switch_unreachable_and_auto_init): This. 6298 (gimplify_switch_expr): Update calls to renamed function. 6299 63002022-03-02 Richard Biener <rguenther@suse.de> 6301 6302 PR rtl-optimization/104686 6303 * ira-color.cc (object_conflicts_with_allocno_p): New function 6304 using a bitvector test instead of iterating when possible. 6305 (allocnos_conflict_p): Choose the best allocno to iterate over 6306 object conflicts. 6307 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test 6308 last. 6309 63102022-03-02 Jakub Jelinek <jakub@redhat.com> 6311 6312 * cfg.cc (dump_edge_info): Dump goto_locus if present. 6313 63142022-03-02 Jakub Jelinek <jakub@redhat.com> 6315 6316 PR rtl-optimization/104589 6317 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct 6318 INSN_LOCATION comparison with goto_locus. 6319 63202022-03-02 Jakub Jelinek <jakub@redhat.com> 6321 6322 * tree-ssa-strlen.cc (strlen_pass::handle_assign, 6323 strlen_pass::before_dom_children): Comment spelling fixes. 6324 63252022-03-02 Jakub Jelinek <jakub@redhat.com> 6326 6327 * ipa-modref-tree.cc (modref_access_node::contains, 6328 modref_access_node::closer_pair_p, modref_access_node::insert, 6329 modref_access_node::insert_kill): Comment spelling fixes. 6330 * ipa-modref.cc: Likewise. 6331 (modref_summary::finalize, ignore_nondeterminism_p, 6332 class modref_access_analysis, 6333 modref_access_analysis::set_side_effects, 6334 modref_access_analysis::set_nondeterministic, 6335 modref_access_analysis::record_global_memory_load, 6336 modref_access_analysis::propagate, modref_access_analysis::analyze, 6337 struct escape_point, class modref_lattice, modref_lattice::merge, 6338 modref_lattice::merge_deref, class modref_eaf_analysis, 6339 modref_eaf_analysis::merge_call_lhs_flags, 6340 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate, 6341 modref_eaf_analysis::record_escape_points, remap_kills, 6342 update_escape_summary, remove_useless_summaries, 6343 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute): 6344 Likewise. 6345 * ipa-modref.h (struct modref_summary, interposable_eaf_flags): 6346 Likewise. 6347 * ipa-modref-tree.h (enum modref_special_parms, 6348 struct modref_access_node): Likewise. 6349 63502022-03-01 Jakub Jelinek <jakub@redhat.com> 6351 6352 PR tree-optimization/104715 6353 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't 6354 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs 6355 of a call if gimple_call_return_arg is equal to ptr, not just when it 6356 is non-NULL. 6357 63582022-03-01 Jakub Jelinek <jakub@redhat.com> 6359 6360 * gimple-ssa-warn-access.cc (warn_string_no_nul, 6361 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p, 6362 matching_alloc_calls_p, maybe_warn_alloc_args_overflow, 6363 pass_waccess::check_alloca, pass_waccess::check_strcat, 6364 memmodel_to_uhwi, fntype_argno_type, 6365 pass_waccess::maybe_check_access_sizes, 6366 pass_waccess::check_call_access, 6367 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt): 6368 Comment spelling fixes. 6369 63702022-03-01 Richard Biener <rguenther@suse.de> 6371 6372 PR tree-optimization/104716 6373 * tree-loop-distribution.cc (find_seed_stmts_for_distribution): 6374 Check if we can copy the loop. 6375 63762022-03-01 H.J. Lu <hjl.tools@gmail.com> 6377 6378 PR middle-end/104721 6379 * cfgexpand.cc (expand_gimple_basic_block): Clear 6380 currently_expanding_gimple_stmt when returning inside the loop. 6381 63822022-03-01 Martin Liska <mliska@suse.cz> 6383 6384 PR ipa/104533 6385 * multiple_target.cc (get_attr_len): Move to tree.c. 6386 (expand_target_clones): Remove single value checking. 6387 * tree.cc (get_target_clone_attr_len): New fn. 6388 * tree.h (get_target_clone_attr_len): Likewise. 6389 63902022-03-01 Martin Liska <mliska@suse.cz> 6391 6392 PR gcov-profile/104677 6393 * doc/invoke.texi: Document more .gcda file name generation. 6394 63952022-03-01 Tom de Vries <tdevries@suse.de> 6396 6397 PR target/102429 6398 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode. 6399 * config/nvptx/nvptx.md 6400 (define_predicate "nvptx_register_or_complex_di_df_register_operand"): 6401 New predicate. 6402 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"): 6403 Use nvptx_register_or_complex_di_df_register_operand. 6404 64052022-03-01 Tom de Vries <tdevries@suse.de> 6406 6407 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options. 6408 * config/nvptx/gen-copyright.sh: New file. 6409 * config/nvptx/gen-h.sh: New file. 6410 * config/nvptx/gen-opt.sh: New file. 6411 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70) 6412 (TARGET_SM75, TARGET_SM80): Move ... 6413 * config/nvptx/nvptx-gen.h: ... here. New file, generate. 6414 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ... 6415 * config/nvptx/nvptx-gen.opt: ... here. New file, generate. 6416 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h) 6417 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target. 6418 64192022-03-01 Tom de Vries <tdevries@suse.de> 6420 6421 * config/nvptx/gen-omp-device-properties.sh: New file. 6422 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh. 6423 64242022-03-01 Tom de Vries <tdevries@suse.de> 6425 6426 * config/nvptx/nvptx-sm.def: New file. 6427 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def. 6428 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same. 6429 * config/nvptx/nvptx.cc (sm_version_to_string) 6430 (nvptx_omp_device_kind_arch_isa): Same. 6431 64322022-03-01 Robin Dapp <rdapp@linux.ibm.com> 6433 6434 PR rtl-optimization/104154 6435 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode 6436 comparison ifcvt passed us. 6437 64382022-03-01 Hongyu Wang <hongyu.wang@intel.com> 6439 6440 PR target/104664 6441 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): 6442 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg. 6443 64442022-02-28 Roger Sayle <roger@nextmovesoftware.com> 6445 6446 PR tree-optimization/91384 6447 * config/i386/i386.md (peephole2): Eliminate final testl insn 6448 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by 6449 transforming using *negsi_2 for the negation. 6450 64512022-02-28 Roger Sayle <roger@nextmovesoftware.com> 6452 Eric Botcazou <ebotcazou@adacore.com> 6453 6454 PR middle-end/80270 6455 * expmed.cc (extract_integral_bit_field): If OP0 is a hard 6456 register, copy it to a pseudo before calling simplify_gen_subreg. 6457 64582022-02-28 Vladimir N. Makarov <vmakarov@redhat.com> 6459 6460 PR rtl-optimization/104637 6461 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many 6462 as possible on one subpass. 6463 64642022-02-28 Qing Zhao <qing.zhao@oracle.com> 6465 6466 PR middle-end/104550 6467 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new 6468 created uses. 6469 64702022-02-28 Martin Liska <mliska@suse.cz> 6471 6472 PR ipa/104648 6473 * main.cc (main): Use flag_checking instead of CHECKING_P 6474 and run toplev::finalize only if there is not error seen. 6475 64762022-02-28 Richard Biener <rguenther@suse.de> 6477 6478 * tree-ssa-pre.cc (compute_avail): Revert part of last change. 6479 64802022-02-28 Richard Biener <rguenther@suse.de> 6481 6482 PR tree-optimization/104700 6483 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline 6484 into ... 6485 (find_or_generate_expression): ... here, simplifying code. 6486 64872022-02-28 Tom de Vries <tdevries@suse.de> 6488 6489 * config/nvptx/nvptx-opts.h (enum ptx_version): Add 6490 PTX_VERSION_default. 6491 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle 6492 PTX_VERSION_default. 6493 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default. 6494 64952022-02-28 Richard Biener <rguenther@suse.de> 6496 6497 PR rtl-optimization/104686 6498 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop 6499 skipping bits that are zero. 6500 (ira_object_conflict_iter_cond): Likewise. 6501 65022022-02-28 Hongyu Wang <hongyu.wang@intel.com> 6503 6504 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum. 6505 (_mm512_ternarylogic_epi64): Truncate imm to unsigned 6506 char to avoid error when using ~enum as parameter. 6507 (_mm512_mask_ternarylogic_epi64): Likewise. 6508 (_mm512_maskz_ternarylogic_epi64): Likewise. 6509 (_mm512_ternarylogic_epi32): Likewise. 6510 (_mm512_mask_ternarylogic_epi32): Likewise. 6511 (_mm512_maskz_ternarylogic_epi32): Likewise. 6512 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64): 6513 Adjust imm param type to unsigned char. 6514 (_mm256_mask_ternarylogic_epi64): Likewise. 6515 (_mm256_maskz_ternarylogic_epi64): Likewise. 6516 (_mm256_ternarylogic_epi32): Likewise. 6517 (_mm256_mask_ternarylogic_epi32): Likewise. 6518 (_mm256_maskz_ternarylogic_epi32): Likewise. 6519 (_mm_ternarylogic_epi64): Likewise. 6520 (_mm_mask_ternarylogic_epi64): Likewise. 6521 (_mm_maskz_ternarylogic_epi64): Likewise. 6522 (_mm_ternarylogic_epi32): Likewise. 6523 (_mm_mask_ternarylogic_epi32): Likewise. 6524 (_mm_maskz_ternarylogic_epi32): Likewise. 6525 65262022-02-25 Jakub Jelinek <jakub@redhat.com> 6527 Marc Glisse <marc.glisse@inria.fr> 6528 6529 PR tree-optimization/104675 6530 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1): 6531 Restrict simplifications to INTEGRAL_TYPE_P. 6532 65332022-02-25 Jakub Jelinek <jakub@redhat.com> 6534 6535 PR target/104681 6536 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move. 6537 65382022-02-25 Claudiu Zissulescu <claziss@synopsys.com> 6539 6540 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the 6541 comparison is not valid. 6542 * config/arc/arc.md (movsicc): Fail if comparison is not valid. 6543 (movdicc): Likewise. 6544 (movsfcc): Likewise. 6545 (movdfcc): Likewise. 6546 65472022-02-25 Richard Biener <rguenther@suse.de> 6548 6549 PR tree-optimization/103037 6550 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare. 6551 (vn_nary_length_from_stmt): Likewise. 6552 (init_vn_nary_op_from_stmt): Likewise. 6553 (vn_nary_op_compute_hash): Likewise. 6554 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export. 6555 (vn_nary_length_from_stmt): Likewise. 6556 (init_vn_nary_op_from_stmt): Likewise. 6557 (vn_nary_op_compute_hash): Likewise. 6558 * tree-ssa-pre.cc (pre_expr_obstack): New obstack. 6559 (get_or_alloc_expr_for_nary): Pass in the value-id to use, 6560 (re-)compute the hash value and if the expression is not 6561 found allocate it from pre_expr_obstack. 6562 (phi_translate_1): Do not insert the NARY found in the 6563 VN tables but build a PRE expression from the valueized 6564 NARY with the value-id we eventually found. 6565 (find_or_generate_expression): Assert we have an entry 6566 for constant values. 6567 (compute_avail): Insert not valueized expressions into 6568 EXP_GEN using the value-id from the VN tables. 6569 (init_pre): Allocate pre_expr_obstack. 6570 (fini_pre): Free pre_expr_obstack. 6571 65722022-02-25 Jakub Jelinek <jakub@redhat.com> 6573 6574 PR target/104674 6575 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387. 6576 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use 6577 SLOT_FLOATxFDI_387 rather than SLOT_TEMP. 6578 65792022-02-25 Jakub Jelinek <jakub@redhat.com> 6580 6581 * warning-control.cc (get_nowarn_spec): Comment spelling fix. 6582 65832022-02-25 Jakub Jelinek <jakub@redhat.com> 6584 6585 PR middle-end/104679 6586 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust. 6587 65882022-02-25 Jakub Jelinek <jakub@redhat.com> 6589 6590 PR tree-optimization/104675 6591 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for 6592 COMPLEX_TYPE. 6593 65942022-02-25 Alexandre Oliva <oliva@adacore.com> 6595 6596 PR target/104121 6597 PR target/103302 6598 * expr.cc (emit_move_multi_word): Restore clobbers during LRA. 6599 66002022-02-25 Alexandre Oliva <oliva@adacore.com> 6601 6602 PR middle-end/104540 6603 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL 6604 dw_cfi_cfa_loc. 6605 66062022-02-25 Alexandre Oliva <oliva@adacore.com> 6607 6608 PR tree-optimization/103856 6609 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the 6610 eh edge to be requested through an extra parameter. 6611 (pass_harden_compares::execute): Copy PHI args in the EH dest 6612 block for the new EH edge added for the inverted compare. 6613 66142022-02-24 Palmer Dabbelt <palmer@rivosinc.com> 6615 6616 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree 6617 of position independence that -mcmodel=medany affords. 6618 66192022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com> 6620 6621 PR target/104656 6622 * configure.ac: --disable-gcov if targetting bpf-*. 6623 * configure: Regenerate. 6624 66252022-02-24 Richard Biener <rguenther@suse.de> 6626 6627 PR tree-optimization/104676 6628 * tree-loop-distribution.cc (loop_distribution::execute): 6629 Do a full scev_reset. 6630 66312022-02-24 Jakub Jelinek <jakub@redhat.com> 6632 6633 PR tree-optimization/104601 6634 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with 6635 non-SSA_NAME lhs value number vdef to itself instead of e.g. the 6636 vuse value number. 6637 66382022-02-24 Tom de Vries <tdevries@suse.de> 6639 Tobias Burnus <tobias@codesourcery.com> 6640 6641 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle 6642 sm_70, sm_75 and sm_80. 6643 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80. 6644 66452022-02-24 Tom de Vries <tdevries@suse.de> 6646 6647 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn 6648 "rotrsi3"): New define_insn. 6649 66502022-02-24 Tom de Vries <tdevries@suse.de> 6651 6652 * config/nvptx/nvptx.cc (gen_comment): Use 6653 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus. 6654 66552022-02-24 liuhongt <hongtao.liu@intel.com> 6656 6657 * config/i386/sse.md (<code>v1ti3): Add suffix and replace 6658 isa attr of alternative 2 from avx to avx512vl. 6659 66602022-02-23 Richard Biener <rguenther@suse.de> 6661 Jakub Jelinek <jakub@redhat.com> 6662 6663 PR tree-optimization/104644 6664 * doc/match-and-simplify.texi: Amend ! documentation. 6665 * genmatch.cc (expr::gen_transform): Code-generate ! support 6666 for GENERIC. 6667 (parser::parse_expr): Allow ! for GENERIC. 6668 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on 6669 bswap. 6670 66712022-02-23 Richard Biener <rguenther@suse.de> 6672 6673 PR tree-optimization/101636 6674 * tree-vect-slp.cc (vect_print_slp_tree): Dump the 6675 vector type of the node. 6676 (vect_slp_analyze_operations): Make sure the CTOR 6677 is vectorized with an expected type. 6678 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix. 6679 66802022-02-23 Jakub Jelinek <jakub@redhat.com> 6681 6682 PR c/104633 6683 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit): 6684 Don't warn about calls to corresponding builtin from extern inline 6685 gnu_inline wrappers. 6686 66872022-02-23 Roger Sayle <roger@nextmovesoftware.com> 6688 6689 PR target/104489 6690 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute. 6691 66922022-02-23 Christophe Lyon <christophe.lyon@arm.com> 6693 6694 PR target/100757 6695 PR target/101325 6696 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix 6697 typo. 6698 66992022-02-23 Cui,Lili <lili.cui@intel.com> 6700 6701 * doc/invoke.texi: Update documents for Intel architectures. 6702 67032022-02-22 Roger Sayle <roger@nextmovesoftware.com> 6704 6705 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore 6706 bootstrap. 6707 67082022-02-22 Thomas Schwinge <thomas@codesourcery.com> 6709 6710 * omp-low.cc (omp_build_component_ref): Move function... 6711 * omp-general.cc (omp_build_component_ref): ... here. Remove 6712 'static'. 6713 * omp-general.h (omp_build_component_ref): Declare function. 6714 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove 6715 function. 6716 (build_receiver_ref, build_sender_ref): Call 6717 'omp_build_component_ref' instead. 6718 67192022-02-22 Thomas Schwinge <thomas@codesourcery.com> 6720 6721 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further 6722 simplify. Adjust all users. 6723 67242022-02-22 Segher Boessenkool <segher@kernel.crashing.org> 6725 6726 PR target/88134 6727 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl, 6728 atomic_update_decl): Add GTY markup. 6729 67302022-02-22 Christophe Lyon <christophe.lyon@arm.com> 6731 6732 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS. 6733 67342022-02-22 Christophe Lyon <christophe.lyon@arm.com> 6735 6736 PR target/100757 6737 PR target/101325 6738 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use 6739 predicate. 6740 (CX_BINARY_UNONE_QUALIFIERS): Likewise. 6741 (CX_TERNARY_UNONE_QUALIFIERS): Likewise. 6742 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete. 6743 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete. 6744 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete. 6745 * config/arm/arm_mve_builtins.def: Use predicated qualifiers. 6746 * config/arm/mve.md: Use VxBI instead of HI. 6747 67482022-02-22 Christophe Lyon <christophe.lyon@arm.com> 6749 6750 PR target/100757 6751 PR target/101325 6752 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate 6753 qualifier. 6754 (STRSBU_P_QUALIFIERS): Likewise. 6755 (LDRGBS_Z_QUALIFIERS): Likewise. 6756 (LDRGBU_Z_QUALIFIERS): Likewise. 6757 (LDRGBWBXU_Z_QUALIFIERS): Likewise. 6758 (LDRGBWBS_Z_QUALIFIERS): Likewise. 6759 (LDRGBWBU_Z_QUALIFIERS): Likewise. 6760 (STRSBWBS_P_QUALIFIERS): Likewise. 6761 (STRSBWBU_P_QUALIFIERS): Likewise. 6762 * config/arm/mve.md: Use VxBI instead of HI. 6763 67642022-02-22 Christophe Lyon <christophe.lyon@arm.com> 6765 6766 PR target/100757 6767 PR target/101325 6768 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ... 6769 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this. 6770 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... 6771 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this. 6772 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ... 6773 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this. 6774 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ... 6775 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this. 6776 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ... 6777 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this. 6778 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New. 6779 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ... 6780 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this. 6781 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New. 6782 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ... 6783 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this. 6784 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... 6785 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this. 6786 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... 6787 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this. 6788 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ... 6789 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this. 6790 (STRS_P_QUALIFIERS): Use predicate qualifier. 6791 (STRU_P_QUALIFIERS): Likewise. 6792 (STRSU_P_QUALIFIERS): Likewise. 6793 (STRSS_P_QUALIFIERS): Likewise. 6794 (LDRGS_Z_QUALIFIERS): Likewise. 6795 (LDRGU_Z_QUALIFIERS): Likewise. 6796 (LDRS_Z_QUALIFIERS): Likewise. 6797 (LDRU_Z_QUALIFIERS): Likewise. 6798 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ... 6799 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this. 6800 (BINOP_NONE_NONE_PRED_QUALIFIERS): New. 6801 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New. 6802 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers. 6803 * config/arm/mve.md: Use MVE_VPRED instead of HI. 6804 68052022-02-22 Christophe Lyon <christophe.lyon@arm.com> 6806 6807 PR target/100757 6808 PR target/101325 6809 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS): 6810 Delete. 6811 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ... 6812 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this. 6813 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New. 6814 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new 6815 predicated qualifiers. 6816 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>) 6817 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI. 6818 68192022-02-22 Christophe Lyon <christophe.lyon@arm.com> 6820 6821 PR target/100757 6822 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype. 6823 (arm_expand_vector_compare): Update prototype. 6824 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New. 6825 (arm_vector_mode_supported_p): Add support for VxBI modes. 6826 (arm_expand_vector_compare): Remove useless generation of vpsel. 6827 (arm_expand_vcond): Fix select operands. 6828 (arm_get_mask_mode): New. 6829 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New. 6830 (vec_cmpu<mode><MVE_vpred>): New. 6831 (vcond_mask_<mode><MVE_vpred>): New. 6832 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>) 6833 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ... 6834 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>) 6835 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here 6836 and disable for MVE. 6837 * doc/sourcebuild.texi (arm_mve): Document new effective-target. 6838 68392022-02-22 Christophe Lyon <christophe.lyon@arm.com> 6840 6841 PR target/100757 6842 PR target/101325 6843 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS) 6844 (BINOP_PRED_NONE_NONE_QUALIFIERS) 6845 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS) 6846 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New. 6847 * config/arm/arm-protos.h (mve_bool_vec_to_const): New. 6848 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI 6849 modes. 6850 (arm_mode_to_pred_mode): New. 6851 (arm_expand_vector_compare): Use the right VxBI mode instead of 6852 HI. 6853 (arm_expand_vcond): Likewise. 6854 (simd_valid_immediate): Handle MODE_VECTOR_BOOL. 6855 (mve_bool_vec_to_const): New. 6856 (neon_make_constant): Call mve_bool_vec_to_const when needed. 6857 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_) 6858 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f) 6859 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u) 6860 (vpselq_s, vpselq_f): Use new predicated qualifiers. 6861 * config/arm/constraints.md (DB): New. 6862 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators. 6863 (MVE_VPRED, MVE_vpred): New attribute iterators. 6864 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>) 6865 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>) 6866 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI. 6867 (@mve_vpselq_<supf>v2di): Define separately. 6868 (mov<mode>): New expander for VxBI modes. 6869 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use 6870 MVE_7_HI iterator and add support for DB constraint. 6871 68722022-02-22 Christophe Lyon <christophe.lyon@arm.com> 6873 Richard Sandiford <richard.sandiford@arm.com> 6874 6875 PR target/100757 6876 PR target/101325 6877 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI, 6878 VNx2BI): Update definition. 6879 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new 6880 simd types. 6881 (arm_init_builtin): Map predicate vectors arguments to HImode. 6882 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI 6883 rtx. Move return value to HImode rtx. 6884 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate. 6885 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes. 6886 * config/arm/arm-simd-builtin-types.def (Pred1x16_t, 6887 Pred2x8_t,Pred4x4_t): New. 6888 * emit-rtl.cc (init_emit_once): Handle all boolean modes. 6889 * genmodes.cc (mode_data): Add boolean field. 6890 (blank_mode): Initialize it. 6891 (make_complex_modes): Fix handling of boolean modes. 6892 (make_vector_modes): Likewise. 6893 (VECTOR_BOOL_MODE): Use new COMPONENT parameter. 6894 (make_vector_bool_mode): Likewise. 6895 (BOOL_MODE): New. 6896 (make_bool_mode): New. 6897 (emit_insn_modes_h): Fix generation of boolean modes. 6898 (emit_class_narrowest_mode): Likewise. 6899 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT 6900 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to 6901 define BImode. 6902 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value): 6903 Fix handling of constm1_rtx for VECTOR_BOOL. 6904 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL. 6905 (native_decode_vector_rtx): Likewise. 6906 (test_vector_ops_duplicate): Skip vec_merge test 6907 with vectors of booleans. 6908 * varasm.cc (output_constant_pool_2): Likewise. 6909 69102022-02-22 Christophe Lyon <christophe.lyon@arm.com> 6911 6912 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode 6913 for operand 1. 6914 69152022-02-22 Christophe Lyon <christophe.lyon@arm.com> 6916 6917 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG. 6918 69192022-02-22 Christophe Lyon <christophe.lyon@arm.com> 6920 6921 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS. 6922 (REG_CLASS_NAMES): Likewise. 6923 (REG_CLASS_CONTENTS): Likewise. 6924 (CLASS_MAX_NREGS): Handle VPR. 6925 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR. 6926 69272022-02-22 Tobias Burnus <tobias@codesourcery.com> 6928 Tom de Vries <tdevries@suse.de> 6929 6930 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70. 6931 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm): 6932 Likewise. 6933 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70. 6934 69352022-02-22 Tobias Burnus <tobias@codesourcery.com> 6936 Tom de Vries <tdevries@suse.de> 6937 6938 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0. 6939 * doc/invoke.texi (-mptx): Update for new values and defaults. 6940 69412022-02-22 Tom de Vries <tdevries@suse.de> 6942 6943 * config/nvptx/nvptx.cc (gen_comment): New function. 6944 (workaround_uninit_method_1, workaround_uninit_method_2) 6945 (workaround_uninit_method_3): : Use gen_comment. 6946 * config/nvptx/nvptx.opt (mptx-comment): New option. 6947 69482022-02-22 Richard Biener <rguenther@suse.de> 6949 6950 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used 6951 for a splat. 6952 69532022-02-22 Roger Sayle <roger@nextmovesoftware.com> 6954 Richard Biener <rguenther@suse.de> 6955 6956 * fold-const.cc (ctor_single_nonzero_element): New function to 6957 return the single non-zero element of a (vector) constructor. 6958 * fold-const.h (ctor_single_nonzero_element): Prototype here. 6959 * match.pd (reduc (constructor@0)): Simplify reductions of a 6960 constructor containing a single non-zero element. 6961 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify 6962 reductions of vector operations of the same operator with 6963 constant vector operands. 6964 69652022-02-22 Jakub Jelinek <jakub@redhat.com> 6966 6967 PR tree-optimization/104604 6968 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr): 6969 Only check if gimple_assign_rhs1 is COMPLEX_CST if 6970 gimple_assign_rhs_code is COMPLEX_CST. 6971 69722022-02-22 Jakub Jelinek <jakub@redhat.com> 6973 6974 PR target/104612 6975 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg 6976 on input operands before calling lowpart_subreg on it. For output 6977 operand, use a vmode pseudo as destination and then move its lowpart 6978 subreg into operands[0] if lowpart_subreg fails on dest. 6979 (ix86_expand_xorsign): Likewise. 6980 69812022-02-22 Richard Biener <rguenther@suse.de> 6982 6983 PR tree-optimization/104582 6984 PR target/99881 6985 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): 6986 Cost GPR to vector register moves for integer vector construction. 6987 69882022-02-22 Richard Biener <rguenther@suse.de> 6989 6990 PR tree-optimization/104582 6991 * tree-vectorizer.h (stmt_info_for_cost::node): New field. 6992 (vector_costs::add_stmt_cost): Add SLP node parameter. 6993 (dump_stmt_cost): Likewise. 6994 (add_stmt_cost): Likewise, new overload and adjust. 6995 (add_stmt_costs): Adjust. 6996 (record_stmt_cost): New overload. 6997 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node. 6998 (vector_costs::add_stmt_cost): Adjust. 6999 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): 7000 Adjust. 7001 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record 7002 the SLP node for costing. 7003 (vectorizable_slp_permutation): Likewise. 7004 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add 7005 new overloads. 7006 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): 7007 Adjust. 7008 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost): 7009 Adjust. 7010 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost): 7011 Adjust. 7012 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise. 7013 70142022-02-22 Richard Biener <rguenther@suse.de> 7015 7016 PR tree-optimization/104582 7017 * tree-vectorizer.h (add_stmt_cost): New overload. 7018 (record_stmt_cost): Likewise. 7019 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost): 7020 Use add_stmt_costs. 7021 (vect_get_known_peeling_cost): Use new overloads. 7022 (vect_estimate_min_profitable_iters): Likewise. Consistently 7023 use scalar_stmt for costing versioning checks. 7024 * tree-vect-stmts.cc (record_stmt_cost): New overload. 7025 70262022-02-22 Hongyu Wang <hongyu.wang@intel.com> 7027 7028 PR target/103069 7029 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop): 7030 Split atomic fetch and loop part. 7031 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop. 7032 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New 7033 prototype. 7034 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new 7035 expander under TARGET_RELAX_CMPXCHG_LOOP. 7036 (atomic_compare_and_swap<mode>): Likewise for doubleword modes. 7037 70382022-02-21 Dan Li <ashimida@linux.alibaba.com> 7039 7040 * config/aarch64/aarch64.cc (SLOT_REQUIRED): 7041 Change wb_candidate[12] to wb_push_candidate[12]. 7042 (aarch64_layout_frame): Likewise, and 7043 change callee_adjust when scs is enabled. 7044 (aarch64_save_callee_saves): 7045 Change wb_candidate[12] to wb_push_candidate[12]. 7046 (aarch64_restore_callee_saves): 7047 Change wb_candidate[12] to wb_pop_candidate[12]. 7048 (aarch64_get_separate_components): 7049 Change wb_candidate[12] to wb_push_candidate[12]. 7050 (aarch64_expand_prologue): Push x30 onto SCS before it's 7051 pushed onto stack. 7052 (aarch64_expand_epilogue): Pop x30 frome SCS, while 7053 preventing it from being popped from the regular stack again. 7054 (aarch64_override_options_internal): Add SCS compile option check. 7055 (TARGET_HAVE_SHADOW_CALL_STACK): New hook. 7056 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled, 7057 wb_pop_candidate[12], and rename wb_candidate[12] to 7058 wb_push_candidate[12]. 7059 * config/aarch64/aarch64.md (scs_push): New template. 7060 (scs_pop): Likewise. 7061 * doc/invoke.texi: Document -fsanitize=shadow-call-stack. 7062 * doc/tm.texi: Regenerate. 7063 * doc/tm.texi.in: Add hook have_shadow_call_stack. 7064 * flag-types.h (enum sanitize_code): 7065 Add SANITIZE_SHADOW_CALL_STACK. 7066 * opts.cc (parse_sanitizer_options): Add shadow-call-stack 7067 and exclude SANITIZE_SHADOW_CALL_STACK. 7068 * target.def: New hook. 7069 * toplev.cc (process_options): Add SCS compile option check. 7070 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion. 7071 70722022-02-21 Tom de Vries <tdevries@suse.de> 7073 7074 PR target/104440 7075 * config/nvptx/nvptx.cc (workaround_uninit_method_1) 7076 (workaround_uninit_method_2, workaround_uninit_method_3) 7077 (workaround_uninit): New function. 7078 (nvptx_reorg): Use workaround_uninit. 7079 * config/nvptx/nvptx.opt (minit-regs): New option. 7080 70812022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com> 7082 7083 PR rtl-optimization/104498 7084 * alias.cc (compare_base_symbol_refs): Correct distance computation 7085 when swapping x and y. 7086 70872022-02-21 Andrew Pinski <apinski@marvell.com> 7088 7089 PR c/104506 7090 * tree-ssa.cc (tree_ssa_useless_type_conversion): 7091 Check the inner type before calling useless_type_conversion_p. 7092 70932022-02-19 Tom de Vries <tdevries@suse.de> 7094 7095 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn. 7096 * config/nvptx/nvptx.md 7097 (define_insn "nvptx_atomic_store<mode>"): Rename to ... 7098 (define_insn "nvptx_atomic_store_sm70<mode>"): This. 7099 (define_insn "nvptx_atomic_store<mode>"): New define_insn. 7100 (define_expand "atomic_store<mode>"): Handle rename. Use 7101 nvptx_atomic_store instead of atomic_exchange. 7102 71032022-02-19 Tom de Vries <tdevries@suse.de> 7104 7105 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all 7106 insns with atomic attribute. Assert that all handled insns are 7107 PARALLELs. 7108 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): 7109 Set atomic attribute to false. 7110 71112022-02-19 Tom de Vries <tdevries@suse.de> 7112 7113 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return 7114 type to bool. 7115 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or 7116 nvptx_warpsync, if necessary. 7117 71182022-02-19 Jakub Jelinek <jakub@redhat.com> 7119 7120 PR sanitizer/102656 7121 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is 7122 known to be within bounds, treat it like automatic variables. 7123 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from 7124 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark 7125 it addressable. 7126 71272022-02-18 Pat Haugen <pthaugen@linux.ibm.com> 7128 7129 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented. 7130 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical, 7131 mpower10-fusion-logical-add, mpower10-fusion-add-logical, 7132 mpower10-fusion-2add, mpower10-fusion-2store): Remove. 7133 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER, 7134 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options. 7135 * config/rs6000/rs6000.cc (rs6000_option_override_internal, 7136 power10_sched_reorder): Likewise. 7137 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf, 7138 gen_addadd): Likewise 7139 * config/rs6000/fusion.md: Regenerate. 7140 71412022-02-18 Jakub Jelinek <jakub@redhat.com> 7142 7143 PR target/104257 7144 PR target/104598 7145 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign 7146 rather than __posix_memalign. 7147 71482022-02-18 Richard Biener <rguenther@suse.de> 7149 7150 PR target/104581 7151 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove. 7152 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead 7153 of calling ix86_avx_u128_mode_source which would eventually 7154 have returned AVX_U128_ANY in some very special case. 7155 71562022-02-18 Richard Biener <rguenther@suse.de> 7157 7158 PR tree-optimization/96881 7159 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment 7160 CLOBBER handling. 7161 (control_parents_preserved_p): New function. 7162 (eliminate_unnecessary_stmts): Check that we preserved control 7163 parents before retaining a CLOBBER. 7164 (perform_tree_ssa_dce): Pass down aggressive flag 7165 to eliminate_unnecessary_stmts. 7166 71672022-02-17 Jason Merrill <jason@redhat.com> 7168 7169 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL 7170 on TYPE_MAIN_VARIANT. 7171 71722022-02-17 Paul A. Clarke <pc@us.ibm.com> 7173 7174 PR target/104257 7175 * config/rs6000/bmi2intrin.h: Uglify local variables. 7176 * config/rs6000/emmintrin.h: Likewise. 7177 * config/rs6000/mm_malloc.h: Likewise. 7178 * config/rs6000/mmintrin.h: Likewise. 7179 * config/rs6000/pmmintrin.h: Likewise. 7180 * config/rs6000/smmintrin.h: Likewise. 7181 * config/rs6000/tmmintrin.h: Likewise. 7182 * config/rs6000/xmmintrin.h: Likewise. 7183 71842022-02-17 Robin Dapp <rdapp@linux.ibm.com> 7185 7186 PR target/104335 7187 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false 7188 if the expected comparison's first operand is of mode MODE_CC. 7189 71902022-02-17 Vladimir N. Makarov <vmakarov@redhat.com> 7191 7192 PR rtl-optimization/104447 7193 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore 7194 hard reg set by lra_no_alloc_regs. 7195 71962022-02-17 liuhongt <hongtao.liu@intel.com> 7197 7198 PR tree-optimization/104551 7199 PR tree-optimization/103771 7200 * match.pd (cond_expr_convert_p): Add types_match check when 7201 convert is extension. 7202 * tree-vect-patterns.cc 7203 (gimple_cond_expr_convert_p): Adjust comments. 7204 (vect_recog_cond_expr_convert_pattern): Ditto. 7205 72062022-02-17 Jakub Jelinek <jakub@redhat.com> 7207 7208 PR debug/104557 7209 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG 7210 if expr has VOIDmode. 7211 72122022-02-17 liuhongt <hongtao.liu@intel.com> 7213 7214 * config/i386/cpuid.h (bit_MPX): Removed. 7215 (bit_BNDREGS): Ditto. 7216 (bit_BNDCSR): Ditto. 7217 72182022-02-17 Michael Meissner <meissner@the-meissners.org> 7219 7220 PR target/99708 7221 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define 7222 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created. 7223 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type 7224 is created. 7225 72262022-02-16 Andrew MacLeod <amacleod@redhat.com> 7227 7228 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use 7229 range_compatible_p instead of direct type comparison. 7230 72312022-02-16 Jakub Jelinek <jakub@redhat.com> 7232 7233 PR rtl-optimization/104544 7234 * combine.cc (try_combine): When looking for insn whose links 7235 should be updated from i3 to i2, don't stop on debug insns, instead 7236 skip over them. 7237 72382022-02-16 Richard Sandiford <richard.sandiford@arm.com> 7239 7240 PR target/100056 7241 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator. 7242 * config/aarch64/aarch64.md: Extend the PR100056 patterns 7243 to handle plus in the same way as ior, if the operands have 7244 no set bits in common. 7245 72462022-02-15 Andrew MacLeod <amacleod@redhat.com> 7247 7248 PR tree-optimization/104526 7249 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call 7250 new routine. 7251 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build 7252 of dependency chain if there isn't one. 7253 (gori_compute::condexpr_adjust): New. 7254 * gimple-range-gori.h (class gori_compute): New prototype. 7255 72562022-02-15 Richard Sandiford <richard.sandiford@arm.com> 7257 7258 PR target/100874 7259 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const): 7260 Declare. 7261 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function. 7262 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern. 7263 72642022-02-15 Richard Sandiford <richard.sandiford@arm.com> 7265 7266 * tree-vectorizer.h (vect_scalar_ops_slice): New struct. 7267 (vect_scalar_ops_slice_hash): Likewise. 7268 (vect_scalar_ops_slice::op): New function. 7269 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function. 7270 (vect_scalar_ops_slice_hash::hash): Likewise. 7271 (vect_scalar_ops_slice_hash::equal): Likewise. 7272 (vect_prologue_cost_for_slp): Check for duplicate vectors. 7273 * config/aarch64/aarch64.cc 7274 (aarch64_vector_costs::m_stp_sequence_cost): New member variable. 7275 (aarch64_aligned_constant_offset_p): New function. 7276 (aarch64_stp_sequence_cost): Likewise. 7277 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic. 7278 (aarch64_vector_costs::finish_cost): Likewise. 7279 72802022-02-15 Richard Sandiford <richard.sandiford@arm.com> 7281 7282 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix 7283 use after free. 7284 72852022-02-15 Richard Biener <rguenther@suse.de> 7286 7287 PR tree-optimization/104543 7288 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits 7289 come after the inner loop. 7290 72912022-02-15 Jakub Jelinek <jakub@redhat.com> 7292 7293 PR target/104536 7294 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use 7295 cannot instead of can%'t in diagnostics. Formatting fixes. 7296 72972022-02-15 Jakub Jelinek <jakub@redhat.com> 7298 7299 PR middle-end/104522 7300 * fold-const.h (native_interpret_real): Declare. 7301 * fold-const.cc (native_interpret_real): No longer static. Don't 7302 perform MODE_COMPOSITE_P verification here. 7303 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead 7304 for all modes. 7305 * gimple-fold.cc (clear_padding_type): Call native_interpret_real 7306 instead of native_interpret_expr. 7307 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx 7308 and comparison verification for all FLOAT_MODE_P modes, not just 7309 MODE_COMPOSITE_P. 7310 73112022-02-15 Richard Biener <rguenther@suse.de> 7312 7313 PR tree-optimization/104519 7314 * fold-const.cc (multiple_of_p): Remove never true condition. 7315 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use 7316 the appropriate types for determining whether the difference 7317 of final and base is a multiple of the step. 7318 73192022-02-15 Jakub Jelinek <jakub@redhat.com> 7320 7321 PR debug/104517 7322 * omp-low.cc (task_cpyfns): New variable. 7323 (delete_omp_context): Don't call finalize_task_copyfn from here. 7324 (create_task_copyfn): Push task_stmt into task_cpyfns. 7325 (execute_lower_omp): Call finalize_task_copyfn here on entries from 7326 task_cpyfns vector and release the vector. 7327 73282022-02-14 Martin Sebor <msebor@redhat.com> 7329 7330 PR middle-end/104355 7331 * doc/invoke.texi (-Warray-bounds): Update documentation. 7332 73332022-02-14 Michael Meissner <meissner@the-meissners.org> 7334 7335 PR target/104253 7336 * config/rs6000/rs6000.cc (init_float128_ibm): Update the 7337 conversion functions used to convert IFmode types. 7338 73392022-02-14 Andrew Stubbs <ams@codesourcery.com> 7340 7341 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg. 7342 73432022-02-14 Richard Biener <rguenther@suse.de> 7344 7345 PR tree-optimization/104528 7346 * tree-ssa.h (find_released_ssa_name): Declare. 7347 * tree-ssa.cc (find_released_ssa_name): Export. 7348 * cfgloop.cc (verify_loop_structure): Look for released 7349 SSA names in loops nb_iterations. 7350 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration 7351 estimates. 7352 73532022-02-14 Richard Biener <rguenther@suse.de> 7354 7355 PR tree-optimization/104511 7356 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid 7357 touching DFP <-> FP conversions. 7358 73592022-02-14 Richard Biener <rguenther@suse.de> 7360 7361 PR middle-end/104497 7362 * gimplify.cc (gimplify_compound_lval): Make sure the 7363 base is a non-register if needed and possible. 7364 73652022-02-13 liuhongt <hongtao.liu@intel.com> 7366 7367 PR target/103771 7368 * match.pd (cond_expr_convert_p): New match. 7369 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare. 7370 (vect_recog_cond_expr_convert_pattern): New. 7371 73722022-02-12 Jakub Jelinek <jakub@redhat.com> 7373 7374 PR sanitizer/104449 7375 * asan.cc: Include tree-eh.h. 7376 (handle_builtin_alloca): Handle the case when __builtin_alloca or 7377 __builtin_alloca_with_align can throw. 7378 73792022-02-12 Jakub Jelinek <jakub@redhat.com> 7380 7381 PR target/104502 7382 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+ 7383 and AVX512VL isn't available, move operands[1] to operands[0] first. 7384 73852022-02-12 Uroš Bizjak <ubizjak@gmail.com> 7386 7387 PR target/79754 7388 * config/i386/i386.cc (type_natural_mode): 7389 Skip decimal float vector modes. 7390 73912022-02-11 Iain Sandoe <iain@sandoe.co.uk> 7392 Vladimir Makarov <vmakarov@redhat.com> 7393 7394 PR target/104117 7395 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p): 7396 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when 7397 emitting PIC code. 7398 (legitimate_lo_sum_address_p): Likewise. 7399 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg 7400 load from an invalid lo_sum address. 7401 74022022-02-11 Jakub Jelinek <jakub@redhat.com> 7403 7404 PR tree-optimization/104499 7405 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead 7406 of convert. 7407 74082022-02-11 Jakub Jelinek <jakub@redhat.com> 7409 7410 * tree.cc (build_common_builtin_nodes): Fix up formatting in 7411 __builtin_clear_padding decl creation. 7412 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode 7413 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING 7414 argument rather than in 3rd argument. 7415 (gimplify_call_expr): Likewise. Fix up comment formatting. 7416 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect 7417 2 arguments instead of 3, take for_auto_init from the value 7418 of 2nd argument. 7419 74202022-02-11 Vladimir N. Makarov <vmakarov@redhat.com> 7421 7422 PR rtl-optimization/104400 7423 * lra-constraints.cc (process_alt_operands): Don't make union of 7424 this_alternative_exclude_start_hard_regs when reg class in insn 7425 alternative covers other reg classes in the same alternative. 7426 74272022-02-11 Jakub Jelinek <jakub@redhat.com> 7428 7429 PR middle-end/104446 7430 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC 7431 operands. 7432 74332022-02-11 Richard Biener <rguenther@suse.de> 7434 7435 PR middle-end/104496 7436 * internal-fn.cc (vectorized_internal_fn_supported_p): 7437 Bail out for integer mode vector types. 7438 74392022-02-11 Jakub Jelinek <jakub@redhat.com> 7440 7441 PR rtl-optimization/104459 7442 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when 7443 moving DEBUG_INSNs between bbs. 7444 74452022-02-11 liuhongt <hongtao.liu@intel.com> 7446 7447 PR tree-optimization/104479 7448 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use 7449 for the dest of uncond_op. 7450 74512022-02-11 Tom de Vries <tdevries@suse.de> 7452 7453 PR target/104456 7454 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm 7455 insn. 7456 74572022-02-10 Qing Zhao <qing.zhao@oracle.com> 7458 7459 PR middle-end/100775 7460 * function.cc (gen_call_used_regs_seq): Call 7461 df_update_exit_block_uses when updating df. 7462 74632022-02-10 Uroš Bizjak <ubizjak@gmail.com> 7464 7465 PR target/104469 7466 * config/i386/sse.md (vec_unpacks_float_lo_v4si): 7467 Change operand 1 constraint to register_operand. 7468 74692022-02-10 Richard Biener <rguenther@suse.de> 7470 7471 PR tree-optimization/104373 7472 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the 7473 walk kind. 7474 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default 7475 walk kind as argument. 7476 (run_rpo_vn): Adjust. 7477 (pass_fre::execute): Likewise. 7478 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip 7479 blocks not reachable. 7480 (execute_late_warn_uninitialized): Mark all edges as 7481 executable. 7482 (execute_early_warn_uninitialized): Use VN to compute 7483 executable edges. 7484 (pass_data_early_warn_uninitialized): Enable a dump file, 7485 change dump name to warn_uninit. 7486 74872022-02-10 Richard Biener <rguenther@suse.de> 7488 7489 PR middle-end/104467 7490 * match.pd (vector extract simplification): Multiply the 7491 number of CTOR elements with the number of element elements. 7492 74932022-02-10 Richard Biener <rguenther@suse.de> 7494 7495 PR tree-optimization/104466 7496 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2 7497 for the MR_DEPENDENCE checks as intended. 7498 74992022-02-10 Tom de Vries <tdevries@suse.de> 7500 7501 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New 7502 define_insn. 7503 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for 7504 TARGET_SM70. 7505 (define_c_enum "unspecv"): Add UNSPECV_ST. 7506 75072022-02-10 Tom de Vries <tdevries@suse.de> 7508 7509 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare. 7510 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function. 7511 (nvptx_mem_maybe_shared_p): New function. 7512 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New 7513 define_expand. 7514 75152022-02-10 Tom de Vries <tdevries@suse.de> 7516 7517 PR target/97005 7518 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround 7519 driver JIT bug by using sub.s16 instead of sub.u16. 7520 75212022-02-10 Roger Sayle <roger@nextmovesoftware.com> 7522 7523 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate 7524 floating point constants as operands 1 and/or 2. 7525 75262022-02-10 Roger Sayle <roger@nextmovesoftware.com> 7527 7528 PR target/104345 7529 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation. 7530 (sel_false<mode>): Likewise. 7531 (define_code_iterator eqne): New code iterator for EQ and NE. 7532 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize 7533 the negation of a selp instruction. 7534 (*selp<mode>_not_<code>): New define_insn_and_split to optimize 7535 the bitwise not of a selp instruction. 7536 (*setcc_int<mode>): Use set instruction for neg:SI of a selp. 7537 75382022-02-10 Roger Sayle <roger@nextmovesoftware.com> 7539 7540 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier 7541 in machine description. 7542 (logic): Move code attribute earlier in machine description. 7543 (ilogic): New code attribute, like logic but "ior" for IOR. 7544 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with... 7545 (<ilogic><mode>3): New define_insn for HSDIM logic operations. 7546 (<ilogic>bi3): New define_insn for BI mode logic operations. 7547 (define_split): Lower logic operations from integer modes to 7548 BI mode predicate operations. 7549 75502022-02-10 Roger Sayle <roger@nextmovesoftware.com> 7551 7552 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC. 7553 (one_cmplbi2): New define_insn for not.pred. 7554 (mulditi3): New define_expand for signed widening multiply. 7555 (umulditi3): New define_expand for unsigned widening multiply. 7556 (smul<mode>3_highpart): New define_insn for signed highpart mult. 7557 (umul<mode>3_highpart): New define_insn for unsigned highpart mult. 7558 (*smulhi3_highpart_2): Renamed from smulhi3_highpart. 7559 (*smulsi3_highpart_2): Renamed from smulsi3_highpart. 7560 (*umulhi3_highpart_2): Renamed from umulhi3_highpart. 7561 (*umulsi3_highpart_2): Renamed from umulsi3_highpart. 7562 (*setcc<mode>_from_not_bi): New define_insn. 7563 (*setcc_isinf<mode>): New define_insn for testp.infinite. 7564 (isinf<mode>2): New define_expand. 7565 75662022-02-10 Roger Sayle <roger@nextmovesoftware.com> 7567 7568 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>. 7569 (setcc<mode>_from_bi): Additionally support QImode. 7570 (extendbi<mode>2): Additionally support QImode. 7571 (zero_extendbi<mode>2): Additionally support QImode. 7572 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code 7573 iterators for signed and unsigned, binary and unary operations. 7574 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New 7575 expanders to perform QImode operations using SImode instructions. 7576 (cstoreqi4): New define_expand. 7577 (*ext_truncsi2_qi): New define_insn. 7578 (*zext_truncsi2_qi): New define_insn. 7579 75802022-02-10 Roger Sayle <roger@nextmovesoftware.com> 7581 7582 * config/nvptx/nvptx.md (*cmpf): New define_insn. 7583 (cstorehf4): New define_expand. 7584 (fmahf4): New define_insn. 7585 (neghf2): New define_insn. 7586 (abshf2): New define_insn. 7587 75882022-02-10 Gerald Pfeifer <gerald@pfeifer.com> 7589 7590 * doc/install.texi (Specific): Change the www.bitwizard.nl 7591 reference to use https. 7592 75932022-02-10 Marcel Vollweiler <marcel@codesourcery.com> 7594 7595 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for 7596 OMP_CLAUSE_HAS_DEVICE_ADDR 7597 and handle array sections. 7598 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case. 7599 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR. 7600 (lower_omp_target): Same. 7601 * tree-core.h (enum omp_clause_code): Same. 7602 * tree-nested.cc (convert_nonlocal_omp_clauses): Same. 7603 (convert_local_omp_clauses): Same. 7604 * tree-pretty-print.cc (dump_omp_clause): Same. 7605 * tree.cc: Same. 7606 76072022-02-10 Eugene Rozenfeld <erozen@microsoft.com> 7608 7609 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls 7610 that will result in direct recursive calls. 7611 76122022-02-10 Andrew Pinski <apinski@marvell.com> 7613 7614 PR target/104474 7615 * config/aarch64/aarch64.cc 7616 (aarch64_sve_expand_vector_init_handle_trailing_constants): 7617 Use CONST0_RTX instead of const0_rtx for the non-constant elements. 7618 76192022-02-09 Uroš Bizjak <ubizjak@gmail.com> 7620 7621 PR target/104462 7622 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET): 7623 Also include OPTION_MASK_ISA2_AVX2_UNSET. 7624 76252022-02-09 Uroš Bizjak <ubizjak@gmail.com> 7626 7627 PR target/104458 7628 * config/i386/i386-expand.cc (ix86_split_idivmod): 7629 Force operands[2] and operands[3] into a register.. 7630 76312022-02-09 Jeff Law <jeffreyalaw@gmail.com> 7632 7633 PR target/97040 7634 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4. 7635 (*v850_fnmssf4): Renamed from fnmssf4 7636 76372022-02-09 Ian Lance Taylor <iant@golang.org> 7638 7639 * godump.cc (go_force_record_alignment): Really name the alignment 7640 field "_" (complete 2021-12-29 change). 7641 76422022-02-09 Bill Schmidt <wschmidt@linux.ibm.com> 7643 7644 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change 7645 function prototype. 7646 (VREPLACE_UN_UV4SI): Likewise. 7647 (VREPLACE_UN_V2DF): Likewise. 7648 (VREPLACE_UN_V2DI): Likewise. 7649 (VREPLACE_UN_V4SF): Likewise. 7650 (VREPLACE_UN_V4SI): Likewise. 7651 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all 7652 function prototypes. 7653 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand. 7654 (vreplace_un_<mode>): New define_insn. 7655 76562022-02-09 Richard Sandiford <richard.sandiford@arm.com> 7657 7658 * config/aarch64/iterators.md (VDCSIF): New mode iterator. 7659 (VDBL): Handle SF. 7660 (single_wx, single_type, single_dtype, dblq): New mode attributes. 7661 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend 7662 from VDC to VDCSIF. 7663 (store_pair_lanes<mode>): Likewise. 7664 (*aarch64_combine_internal<mode>): Likewise. 7665 (*aarch64_combine_internal_be<mode>): Likewise. 7666 (*aarch64_combinez<mode>): Likewise. 7667 (*aarch64_combinez_be<mode>): Likewise. 7668 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle 7669 8-byte modes for ADDR_QUERY_LDP_STP_N. 7670 (aarch64_print_operand): Likewise for %y. 7671 76722022-02-09 Richard Sandiford <richard.sandiford@arm.com> 7673 7674 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>): 7675 Use aarch64_combine instead of move_lo/hi_quad. Tabify. 7676 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete. 7677 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete. 7678 (vec_pack_trunc_<mode>): Take general_operand elements and use 7679 aarch64_combine rather than move_lo/hi_quad to combine them. 7680 (vec_pack_trunc_df): Likewise. 7681 76822022-02-09 Richard Sandiford <richard.sandiford@arm.com> 7683 7684 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine): 7685 Delete. 7686 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename 7687 to... 7688 (*aarch64_combinez<mode>): ...this. 7689 (@aarch64_combinez_be<mode>): Rename to... 7690 (*aarch64_combinez_be<mode>): ...this. 7691 (@aarch64_vec_concat<mode>): New expander. 7692 (aarch64_combine<mode>): Use it. 7693 (@aarch64_simd_combine<mode>): Delete. 7694 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete. 7695 (aarch64_expand_vector_init): Use aarch64_vec_concat. 7696 76972022-02-09 Richard Sandiford <richard.sandiford@arm.com> 7698 7699 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand): 7700 New predicate. 7701 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>) 7702 (*aarch64_combine_internal_be<mode>): New patterns. 7703 77042022-02-09 Richard Sandiford <richard.sandiford@arm.com> 7705 7706 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>) 7707 (move_lo_quad_internal_be_<mode>): Delete. 7708 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above. 7709 77102022-02-09 Richard Sandiford <richard.sandiford@arm.com> 7711 7712 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p): 7713 Declare. 7714 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use 7715 aarch64_mergeable_load_pair_p instead of inline check. 7716 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise. 7717 (aarch64_check_consecutive_mems): Allow the reversed parameter 7718 to be null. 7719 (aarch64_mergeable_load_pair_p): New function. 7720 77212022-02-09 Richard Sandiford <richard.sandiford@arm.com> 7722 7723 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the 7724 element to be an aarch64_simd_nonimmediate_operand. 7725 77262022-02-09 Richard Sandiford <richard.sandiford@arm.com> 7727 7728 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use 7729 aarch64_simd_nonimmediate_operand instead of 7730 aarch64_simd_general_operand. 7731 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of 7732 general_operand. 7733 (@aarch64_combinez_be<mode>): Likewise. 7734 77352022-02-09 Richard Biener <rguenther@suse.de> 7736 7737 PR middle-end/104464 7738 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone 7739 throwing check to after unproblematic replacement. 7740 77412022-02-09 Roger Sayle <roger@nextmovesoftware.com> 7742 7743 PR tree-optimization/104420 7744 * match.pd (mult @0 real_zerop): Tweak conditions for constant 7745 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate. 7746 77472022-02-09 Jakub Jelinek <jakub@redhat.com> 7748 7749 PR debug/104407 7750 * dwarf2out.cc (mangle_referenced_decls): New function. 7751 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if 7752 early_dwarf. Instead walk the initializer and try to mangle vars or 7753 functions referenced from it. 7754 77552022-02-09 Andrew MacLeod <amacleod@redhat.com> 7756 7757 PR tree-optimization/104288 7758 * gimple-range-cache.cc (non_null_ref::set_nonnull): New. 7759 (non_null_ref::adjust_range): Move to header. 7760 (ranger_cache::range_of_def): Don't check non-null. 7761 (ranger_cache::entry_range): Don't check non-null. 7762 (ranger_cache::range_on_edge): Check for nonnull on normal edges. 7763 (ranger_cache::update_to_nonnull): New. 7764 (non_null_loadstore): New. 7765 (ranger_cache::block_apply_nonnull): New. 7766 * gimple-range-cache.h (class non_null_ref): Update prototypes. 7767 (non_null_ref::adjust_range): Move to here and inline. 7768 (class ranger_cache): Update prototypes. 7769 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do 7770 not search dominators. 7771 (path_range_query::adjust_for_non_null_uses): Ditto. 7772 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for 7773 def overrides. Do not check nonnull. 7774 (gimple_ranger::range_on_entry): Check dominators for nonnull. 7775 (gimple_ranger::range_on_edge): Check for nonnull on normal edges.. 7776 (gimple_ranger::register_side_effects): New. 7777 * gimple-range.h (gimple_ranger::register_side_effects): New. 7778 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects. 7779 77802022-02-09 Richard Biener <rguenther@suse.de> 7781 7782 PR tree-optimization/104445 7783 PR tree-optimization/102832 7784 * optabs-query.h (can_vec_extract): New. 7785 * optabs-query.cc (can_vec_extract): Likewise. 7786 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check 7787 we can extract a hi/lo part from the larger vector, rework 7788 check iteration from larger to smaller sizes. 7789 77902022-02-09 H.J. Lu <hjl.tools@gmail.com> 7791 7792 PR target/35513 7793 PR target/100593 7794 * config/i386/gnu-property.cc: Include "i386-protos.h". 7795 (file_end_indicate_exec_stack_and_gnu_property): Generate 7796 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or 7797 nodirect_extern_access attribute. 7798 * config/i386/i386-options.cc 7799 (handle_nodirect_extern_access_attribute): New function. 7800 (ix86_attribute_table): Add nodirect_extern_access attribute. 7801 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a 7802 bool argument. 7803 (ix86_has_no_direct_extern_access): New. 7804 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New. 7805 (ix86_force_load_from_GOT_p): Add a bool argument to indicate 7806 call operand. Force non-call load from GOT for 7807 -mno-direct-extern-access or nodirect_extern_access attribute. 7808 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE 7809 for -mno-direct-extern-access or nodirect_extern_access attribute. 7810 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p 7811 for call operand. 7812 (asm_preferred_eh_data_format): Use PC-relative format for 7813 -mno-direct-extern-access to avoid copy relocation. Check 7814 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4. 7815 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to 7816 true for -mno-direct-extern-access or nodirect_extern_access 7817 attribute. Don't treat protected data as extern and avoid copy 7818 relocation on common symbol with -mno-direct-extern-access or 7819 nodirect_extern_access attribute. 7820 (ix86_reloc_rw_mask): New to avoid copy relocation for 7821 -mno-direct-extern-access. 7822 (TARGET_ASM_RELOC_RW_MASK): New. 7823 * config/i386/i386.opt: Add -mdirect-extern-access. 7824 * doc/extend.texi: Document nodirect_extern_access attribute. 7825 * doc/invoke.texi: Document -m[no-]direct-extern-access. 7826 78272022-02-09 H.J. Lu <hjl.tools@gmail.com> 7828 7829 PR target/104441 7830 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function. 7831 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN. 7832 Call ix86_avx_u128_mode_source to check mode for each component 7833 of source operand. 7834 78352022-02-09 liuhongt <hongtao.liu@intel.com> 7836 7837 PR target/104451 7838 * config/i386/sse.md (<insn><mode>3): lowpart_subreg 7839 operands[2] from SImode to QImode. 7840 78412022-02-09 Richard Biener <rguenther@suse.de> 7842 7843 PR middle-end/104450 7844 * gimple-isel.cc: Pass cfun around. 7845 (+gimple_expand_vec_cond_expr): Do not combine a throwing 7846 comparison with the select. 7847 78482022-02-09 Richard Biener <rguenther@suse.de> 7849 7850 PR target/104453 7851 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift 7852 folding for NULL LHS. 7853 78542022-02-08 Robin Dapp <rdapp@linux.ibm.com> 7855 7856 PR rtl-optimization/104198 7857 PR rtl-optimization/104153 7858 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of 7859 using it directly. Rework comparison handling and always 7860 perform a second pass. 7861 78622022-02-08 Jakub Jelinek <jakub@redhat.com> 7863 7864 PR target/102140 7865 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if 7866 split1 pass has finished already. 7867 78682022-02-08 Bill Schmidt <wschmidt@linux.ibm.com> 7869 7870 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New. 7871 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New. 7872 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant. 7873 (vmsumcud): New define_insn. 7874 78752022-02-08 Tom de Vries <tdevries@suse.de> 7876 7877 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70. 7878 * config/nvptx/nvptx.h (TARGET_SM70): Define. 7879 78802022-02-08 Robin Dapp <rdapp@linux.ibm.com> 7881 7882 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load 7883 on condition. 7884 * config/s390/s390.md: Use paradoxical subreg. 7885 78862022-02-08 Robin Dapp <rdapp@linux.ibm.com> 7887 7888 * combine.cc (reg_subword_p): Check for paradoxical subreg. 7889 78902022-02-08 Tom de Vries <tdevries@suse.de> 7891 7892 PR target/104283 7893 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0 7894 and PTX_VERSION_4_2. 7895 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm) 7896 (default_ptx_version_option, ptx_version_to_string) 7897 (sm_version_to_string, handle_ptx_version_option): New function. 7898 (nvptx_option_override): Call handle_ptx_version_option. 7899 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string. 7900 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>") 7901 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0. 7902 * config/nvptx/nvptx.opt (mptx): Remove 'Init'. 7903 79042022-02-08 Maciej W. Rozycki <macro@embecosm.com> 7905 7906 * doc/install.texi (Configuration): Document `--with-isa-spec=' 7907 RISC-V option. 7908 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V 7909 option. 7910 (RISC-V Options): Document it. 7911 79122022-02-08 Maciej W. Rozycki <macro@embecosm.com> 7913 7914 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency. 7915 79162022-02-08 Tom de Vries <tdevries@suse.de> 7917 7918 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'. 7919 79202022-02-08 Tom de Vries <tdevries@suse.de> 7921 7922 PR target/104364 7923 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare. 7924 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that 7925 change is validated. 7926 (nvptx_mem_local_p): New function. 7927 * config/nvptx/nvptx.md: Use nvptx_mem_local_p. 7928 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL. 7929 (define_insn "atomic_compare_and_swap<mode>_1_local"): New 7930 non-atomic, non-predicable define_insn, factored out of ... 7931 (define_insn "atomic_compare_and_swap<mode>_1"): ... here. 7932 Make predicable again. 7933 (define_expand "atomic_compare_and_swap<mode>"): Use 7934 atomic_compare_and_swap<mode>_1_local. 7935 79362022-02-08 liuhongt <hongtao.liu@intel.com> 7937 7938 PR rtl-optimization/104059 7939 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate 7940 for a more expensive reg-reg move. 7941 79422022-02-07 Tamar Christina <tamar.christina@arm.com> 7943 7944 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32, 7945 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New 7946 * config/arm/arm_neon_builtins.def (usdot): Add V16QI. 7947 (usdot_laneq, sudot_laneq): New. 7948 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New. 7949 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code. 7950 79512022-02-07 Tamar Christina <tamar.christina@arm.com> 7952 7953 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32, 7954 vdot_laneq_s32, vdotq_laneq_s32): New. 7955 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New. 7956 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New. 7957 (<sup>dot_prod<vsi2qi>): Re-order rtl. 7958 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes. 7959 (neon_<sup>dot_laneq<vsi2qi>): New. 7960 79612022-02-07 Andreas Krebbel <krebbel@linux.ibm.com> 7962 7963 PR target/104327 7964 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags 7965 if always_inline is set. Don't inline when tune differs without 7966 always_inline. 7967 79682022-02-07 Richard Biener <rguenther@suse.de> 7969 7970 PR middle-end/104402 7971 * gimple-expr.cc (is_gimple_condexpr): _Complex typed 7972 compares are not valid. 7973 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR 7974 check is_gimple_condexpr. 7975 79762022-02-07 Kewen Lin <linkw@linux.ibm.com> 7977 7978 PR target/103627 7979 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the 7980 hunk affecting VSX and ALTIVEC to appropriate place. 7981 79822022-02-07 Kewen Lin <linkw@linux.ibm.com> 7983 7984 PR target/103627 7985 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable 7986 MMA if !TARGET_VSX. 7987 79882022-02-06 Jakub Jelinek <jakub@redhat.com> 7989 7990 PR c++/89074 7991 PR c++/104033 7992 * fold-const.h (folding_initializer): Adjust comment. 7993 (folding_cxx_constexpr): Declare. 7994 * fold-const.cc (folding_initializer): Adjust comment. 7995 (folding_cxx_constexpr): New variable. 7996 (address_compare): Restrict the decl vs. STRING_CST 7997 or vice versa or STRING_CST vs. STRING_CST or 7998 is_global_var != is_global_var optimizations to !folding_cxx_constexpr. 7999 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer, 8000 assume non-aliased functions have non-zero size and have different 8001 addresses. For folding_cxx_constexpr, punt on comparisons of start 8002 of some object and end of another one, regardless whether it is a decl 8003 or string literal. Also punt for folding_cxx_constexpr on 8004 STRING_CST vs. STRING_CST comparisons if the two literals could be 8005 overlapping. 8006 80072022-02-05 Jakub Jelinek <jakub@redhat.com> 8008 8009 PR tree-optimization/104389 8010 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are 8011 honored. 8012 80132022-02-05 Kito Cheng <kito.cheng@sifive.com> 8014 8015 * configure.ac: Fix detection for zifencei support. 8016 * configure: Regenerate. 8017 80182022-02-05 Kito Cheng <kito.cheng@sifive.com> 8019 8020 PR target/104219 8021 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value. 8022 (all_defaults): Add isa_spec. 8023 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec. 8024 80252022-02-04 Bill Schmidt <wschmidt@linux.ibm.com> 8026 8027 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types 8028 parameters instead of arglist and nargs. Simplify accordingly. Remove 8029 unnecessary test for argument count mismatch. 8030 (resolve_vec_cmpne): Likewise. 8031 (resolve_vec_adde_sube): Likewise. 8032 (resolve_vec_addec_subec): Likewise. 8033 (altivec_resolve_overloaded_builtin): Move overload special handling 8034 after the gathering of arguments into args[] and types[] and the test 8035 for correct number of arguments. Don't perform the test for correct 8036 number of arguments for certain special cases. Call the other special 8037 cases with args and types instead of arglist and nargs. 8038 80392022-02-04 Bill Schmidt <wschmidt@linux.ibm.com> 8040 8041 PR target/100808 8042 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA 8043 3.1): Provide consistent type names. Remove unnecessary semicolons. 8044 Fix bad line breaks. 8045 80462022-02-04 Jakub Jelinek <jakub@redhat.com> 8047 8048 PR target/104380 8049 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also 8050 adjust mangling of __builtin*printf_chk. 8051 80522022-02-04 Jonathan Wakely <jwakely@redhat.com> 8053 8054 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20. 8055 80562022-02-04 Richard Biener <rguenther@suse.de> 8057 Bin Cheng <bin.cheng@linux.alibaba.com> 8058 8059 PR tree-optimization/100499 8060 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted 8061 to true. 8062 * fold-const.cc (multiple_of_p): Likewise. Honor it for 8063 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along, 8064 switching to false for conversions. 8065 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not 8066 claim the outermost expression does not wrap when calling 8067 multiple_of_p. Refactor the check done to check the 8068 original IV, avoiding a bias that might wrap. 8069 80702022-02-04 Richard Biener <rguenther@suse.de> 8071 8072 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR 8073 handling. 8074 80752022-02-04 Eric Botcazou <ebotcazou@adacore.com> 8076 8077 PR debug/104366 8078 * dwarf2out.cc (dwarf2out_finish): Empty base_types. 8079 (dwarf2out_early_finish): Likewise. 8080 80812022-02-04 Eric Botcazou <ebotcazou@adacore.com> 8082 8083 PR tree-optimization/104356 8084 * match.pd (X / bool_range_Y is X): Add guard. 8085 (X / X is one): Likewise. 8086 (X / abs (X) is X < 0 ? -1 : 1): Likewise. 8087 (X / -X is -1): Likewise. 8088 (1 / X -> X == 1): Likewise. 8089 80902022-02-04 Richard Biener <rguenther@suse.de> 8091 8092 PR tree-optimization/103641 8093 * tree-vect-patterns.cc (vect_synth_mult_by_constant): 8094 Pass the vector mode to choose_mult_variant. 8095 80962022-02-04 Roger Sayle <roger@nextmovesoftware.com> 8097 8098 PR rtl-optimization/101885 8099 * combine.cc (try_combine): When splitting a parallel into two 8100 sequential sets, check not only that the first doesn't clobber 8101 the second but also that the second doesn't clobber the first. 8102 81032022-02-04 Richard Biener <rguenther@suse.de> 8104 8105 PR middle-end/90348 8106 PR middle-end/104092 8107 * tree-core.h (clobber_kind): New enum. 8108 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs. 8109 * tree.h (CLOBBER_KIND): Add. 8110 (build_clobber): Add clobber kind argument, defaulted to 8111 CLOBBER_UNDEF. 8112 * tree.cc (build_clobber): Likewise. 8113 * gimple.h (gimple_clobber_p): New overload with specified kind. 8114 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream 8115 CLOBBER_KIND. 8116 * tree-streamer-out.cc (streamer_write_tree_bitfields): 8117 Likewise. 8118 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs. 8119 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers 8120 with CLOBBER_EOL. 8121 (gimplify_target_expr): Likewise. 8122 * tree-inline.cc (expand_call_inline): Likewise. 8123 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise. 8124 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat 8125 CLOBBER_EOL clobbers as ending lifetime of storage. 8126 81272022-02-04 Martin Sebor <msebor@redhat.com> 8128 8129 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto 8130 cleanup. 8131 81322022-02-03 Martin Sebor <msebor@redhat.com> 8133 8134 PR middle-end/104260 8135 * passes.def (pass_warn_access): Adjust pass placement. 8136 81372022-02-03 Uroš Bizjak <ubizjak@gmail.com> 8138 8139 PR target/104362 8140 * config/i386/i386.cc (find_drap_reg): For 32bit targets 8141 return DI_REG if function uses __builtin_eh_return. 8142 81432022-02-03 Martin Sebor <msebor@redhat.com> 8144 8145 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor. 8146 (pass_wrestrict::m_ptr_qry): New member. 8147 (wrestrict_walk): Rename... 8148 (pass_wrestrict::check_block): ...to this. 8149 (pass_wrestrict::execute): Set up and tear down pointer_query and 8150 ranger. 8151 (builtin_memref::builtin_memref): Change ctor argument. Simplify. 8152 (builtin_access::builtin_access): Same. 8153 (builtin_access::m_ptr_qry): New member. 8154 (check_call): Rename... 8155 (pass_wrestrict::check_call): ...to this. 8156 (check_bounds_or_overlap): Change argument. 8157 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same. 8158 81592022-02-03 Martin Sebor <msebor@redhat.com> 8160 8161 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker): 8162 Define ctor. 8163 (array_bounds_checker::get_value_range): Use new member. 8164 (array_bounds_checker::check_mem_ref): Same. 8165 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker): 8166 Outline ctor. 8167 (array_bounds_checker::m_ptr_query): New member. 8168 81692022-02-03 Martin Sebor <msebor@redhat.com> 8170 8171 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove 8172 pointer_query cache. 8173 * pointer-query.cc (pointer_query::pointer_query): Remove cache 8174 argument. Zero-initialize new cache member. 8175 (pointer_query::get_ref): Replace cache pointer with direct access. 8176 (pointer_query::put_ref): Same. 8177 (pointer_query::flush_cache): Same. 8178 (pointer_query::dump): Same. 8179 * pointer-query.h (class pointer_query): Remove cache argument from 8180 ctor. Change cache pointer to cache subobject member. 8181 * tree-ssa-strlen.cc: Remove pointer_query cache. 8182 81832022-02-03 Martin Sebor <msebor@redhat.com> 8184 8185 PR tree-optimization/104119 8186 * gimple-ssa-sprintf.cc (struct directive): Change argument type. 8187 (format_none): Same. 8188 (format_percent): Same. 8189 (format_integer): Same. 8190 (format_floating): Same. 8191 (get_string_length): Same. 8192 (format_character): Same. 8193 (format_string): Same. 8194 (format_plain): Same. 8195 (format_directive): Same. 8196 (compute_format_length): Same. 8197 (handle_printf_call): Same. 8198 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call 8199 get_maxbound. 8200 (get_range_strlen_phi): Same. 8201 (get_maxbound): New function. 8202 (strlen_pass::get_len_or_size): Adjust to parameter change. 8203 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type. 8204 82052022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> 8206 8207 PR target/103686 8208 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove 8209 test for !rs6000_fold_gimple. 8210 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise. 8211 * config/rs6000/rs6000.opt (mfold-gimple): Remove. 8212 82132022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> 8214 8215 PR target/95082 8216 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle 8217 endianness for vclzlsbb and vctzlsbb. 8218 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change 8219 default pattern and indicate a different pattern will be used for 8220 big endian. 8221 (VCLZLSBB_V4SI): Likewise. 8222 (VCLZLSBB_V8HI): Likewise. 8223 (VCTZLSBB_V16QI): Likewise. 8224 (VCTZLSBB_V4SI): Likewise. 8225 (VCTZLSBB_V8HI): Likewise. 8226 82272022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> 8228 8229 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs. 8230 * config/rs6000/rs6000-builtin.cc: New file, containing code moved 8231 from other files. 8232 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to 8233 rs6000-builtin.cc. 8234 (cpu_supports_info): Likewise. 8235 (rs6000_type_string): Likewise. 8236 (altivec_expand_predicate_builtin): Likewise. 8237 (rs6000_htm_spr_icode): Likewise. 8238 (altivec_expand_vec_init_builtin): Likewise. 8239 (get_element_number): Likewise. 8240 (altivec_expand_vec_set_builtin): Likewise. 8241 (altivec_expand_vec_ext_builtin): Likewise. 8242 (rs6000_invalid_builtin): Likewise. 8243 (rs6000_fold_builtin): Likewise. 8244 (fold_build_vec_cmp): Likewise. 8245 (fold_compare_helper): Likewise. 8246 (map_to_integral_tree_type): Likewise. 8247 (fold_mergehl_helper): Likewise. 8248 (fold_mergeeo_helper): Likewise. 8249 (rs6000_builtin_valid_without_lhs): Likewise. 8250 (rs6000_builtin_is_supported): Likewise. 8251 (rs6000_gimple_fold_mma_builtin): Likewise. 8252 (rs6000_gimple_fold_builtin): Likewise. 8253 (rs6000_expand_ldst_mask): Likewise. 8254 (cpu_expand_builtin): Likewise. 8255 (elemrev_icode): Likewise. 8256 (ldv_expand_builtin): Likewise. 8257 (lxvrse_expand_builtin): Likewise. 8258 (lxvrze_expand_builtin): Likewise. 8259 (stv_expand_builtin): Likewise. 8260 (mma_expand_builtin): Likewise. 8261 (htm_spr_num): Likewise. 8262 (htm_expand_builtin): Likewise. 8263 (rs6000_expand_builtin): Likewise. 8264 (rs6000_vector_type): Likewise. 8265 (rs6000_init_builtins): Likewise. Remove initialization of 8266 builtin_mode_to_type entries. 8267 (rs6000_builtin_decl): Move to rs6000-builtin.cc. 8268 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New 8269 external declaration. 8270 (rs6000_builtin_md_vectorized_function): Likewise. 8271 (rs6000_builtin_reciprocal): Likewise. 8272 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc. 8273 (rs6000_builtin_types): Likewise. 8274 (builtin_mode_to_type): Remove. 8275 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove 8276 static qualifier. 8277 (rs6000_builtin_md_vectorized_function): Likewise. 8278 (rs6000_builtin_reciprocal): Likewise. 8279 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove. 8280 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target. 8281 82822022-02-03 Richard Biener <rguenther@suse.de> 8283 8284 PR debug/104337 8285 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found 8286 together via DECL_ABSTRACT_ORIGIN. 8287 82882022-02-03 Bill Schmidt <wschmidt@linux.ibm.com> 8289 8290 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error 8291 message for RES_BITS case. 8292 82932022-02-03 Aldy Hernandez <aldyh@redhat.com> 8294 8295 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly. 8296 82972022-02-03 Jakub Jelinek <jakub@redhat.com> 8298 8299 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098, 8300 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop. 8301 83022022-02-03 Aldy Hernandez <aldyh@redhat.com> 8303 8304 * cfganal.cc (verify_marked_backedges): New. 8305 * cfganal.h (verify_marked_backedges): New. 8306 * gimple-range-path.cc (path_range_query::path_range_query): 8307 Verify freshness of back edges. 8308 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call 8309 mark_dfs_back_edges. 8310 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move 8311 path_range_query construction after backedges have been 8312 updated. 8313 83142022-02-03 Richard Sandiford <richard.sandiford@arm.com> 8315 8316 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from 8317 VALL to VALL_F16. 8318 83192022-02-03 Richard Sandiford <richard.sandiford@arm.com> 8320 8321 * config/aarch64/iterators.md (VALL_F16MOV): Delete. 8322 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead 8323 of VALL_F16MOV. 8324 83252022-02-03 Martin Liska <mliska@suse.cz> 8326 8327 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): 8328 Change subject and object in the error message. 8329 * config/s390/s390.cc (s390_valid_target_attribute_inner_p): 8330 Likewise. 8331 83322022-02-03 Martin Liska <mliska@suse.cz> 8333 8334 * config/s390/s390.cc (s390_valid_target_attribute_inner_p): 8335 Use the error message for i386 target. 8336 83372022-02-03 Jakub Jelinek <jakub@redhat.com> 8338 8339 PR tree-optimization/104334 8340 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range 8341 and rh_range type to widest_int and subtract in widest_int. Remove 8342 ov_rh, ov_lh and sign vars, always perform comparisons as signed 8343 and use >, < and == operators for it. 8344 83452022-02-03 Martin Sebor <msebor@redhat.com> 8346 8347 * common.opt (-Wuse-after-free): Correct typos. 8348 83492022-02-02 David Malcolm <dmalcolm@redhat.com> 8350 8351 PR analyzer/104270 8352 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to 8353 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that 8354 -ftrivial-auto-var-init= doesn't suppress warnings. 8355 83562022-02-02 Martin Liska <mliska@suse.cz> 8357 8358 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro. 8359 83602022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de> 8361 8362 PR target/94372 8363 * config/or1k/linux.h (CPP_SPEC): Define. 8364 83652022-02-02 Tamar Christina <tamar.christina@arm.com> 8366 8367 PR tree-optimization/102819 8368 PR tree-optimization/103169 8369 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use 8370 canonical order. 8371 83722022-02-02 Tamar Christina <tamar.christina@arm.com> 8373 8374 PR tree-optimization/102819 8375 PR tree-optimization/103169 8376 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use 8377 canonical order. 8378 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise. 8379 83802022-02-02 Tamar Christina <tamar.christina@arm.com> 8381 8382 PR tree-optimization/102819 8383 PR tree-optimization/103169 8384 * doc/md.texi: Update docs for cfms, cfma. 8385 * tree-data-ref.h (same_data_refs): Accept optional offset. 8386 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating 8387 patterns. 8388 (vect_normalize_conj_loc): Remove. 8389 (is_eq_or_top): Change to take two nodes. 8390 (enum _conj_status, compatible_complex_nodes_p, 8391 vect_validate_multiplication): New. 8392 (class complex_add_pattern, complex_add_pattern::matches, 8393 complex_add_pattern::recognize, class complex_mul_pattern, 8394 complex_mul_pattern::recognize, class complex_fms_pattern, 8395 complex_fms_pattern::recognize, class complex_operations_pattern, 8396 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass 8397 new cache. 8398 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new 8399 cache and use new validation code. 8400 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns, 8401 vect_analyze_slp): Pass along cache. 8402 (compatible_calls_p): Expose. 8403 * tree-vectorizer.h (compatible_calls_p, slp_node_hash, 8404 slp_compat_nodes_map_t): New. 8405 (class vect_pattern): Update signatures include new cache. 8406 84072022-02-02 Hans-Peter Nilsson <hp@axis.com> 8408 8409 * config/cris/cris.cc (cris_preferred_reload_class): Reject 8410 "eliminated" registers and small-enough constants unless 8411 reloaded into a class that is a subset of GENERAL_REGS. 8412 * config/cris/cris.md (attribute "cpu_variant"): New. 8413 (attribute "enabled"): Conditionalize on a matching attribute 8414 cpu_variant, if specified. 8415 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from 8416 memory, add cpu-variant-enabled variants for "r" alternatives on 8417 the far side of the "x" alternatives, preferring the "x" ones 8418 only for variants where MOF is present (in addition to SRP). 8419 84202022-02-02 Hans-Peter Nilsson <hp@axis.com> 8421 8422 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira 8423 extra cost for ALL_REGS. 8424 84252022-02-02 Hans-Peter Nilsson <hp@axis.com> 8426 8427 * config/cris/constraints.md (define_register_constraint "b"): Now 8428 GENERAL_REGS. 8429 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove. 8430 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES) 8431 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS, 8432 and SPEC_GENNONACR_REGS. 8433 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention 8434 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS. 8435 84362022-02-02 Hans-Peter Nilsson <hp@axis.com> 8437 8438 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"): 8439 Conditionalize on (sub-)register operands or operand 1 being 0. 8440 84412022-02-02 Hans-Peter Nilsson <hp@axis.com> 8442 8443 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG. 8444 (MUL_BUG_ASM_DEFAULT): New macro. 8445 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT. 8446 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust 8447 accordingly. 8448 84492022-02-01 Eugene Rozenfeld <erozen@microsoft.com> 8450 8451 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations 8452 to 10 for AutoFDO. 8453 84542022-02-01 Eugene Rozenfeld <erozen@microsoft.com> 8455 8456 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10). 8457 84582022-02-01 Andrew Pinski <apinski@marvell.com> 8459 8460 * doc/install.texi: 8461 84622022-02-01 Ilya Leoshkevich <iii@linux.ibm.com> 8463 8464 * config/s390/s390.cc (s390_code_end): Do not switch back to 8465 code section. 8466 84672022-02-01 Jakub Jelinek <jakub@redhat.com> 8468 8469 PR target/104323 8470 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h 8471 rather than $(srcdir)/config/rs6000/rs6000-builtins.def. 8472 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use 8473 GTY((user)) for struct bifdata and struct ovlddata. Instead add 8474 GTY((skip(""))) to members with pointer and enum types that don't need 8475 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info 8476 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations. 8477 (write_extern_fntype, write_fntype): Remove. 8478 (write_fntype_init): Emit the fntype vars as automatic vars instead 8479 of file scope ones. 8480 (write_header_file): Don't iterate with write_extern_fntype. 8481 (write_init_file): Don't iterate with write_fntype. Don't emit 8482 gt_ggc_mx and gt_pch_nx definitions. 8483 84842022-02-01 Jason Merrill <jason@redhat.com> 8485 8486 * tree.h (struct tree_vec_map_cache_hasher): Move from... 8487 * tree.cc (struct tree_vec_map_cache_hasher): ...here. 8488 84892022-02-01 Tom de Vries <tdevries@suse.de> 8490 8491 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check. 8492 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add 8493 UNSPECV_UNIFORM_WARP_CHECK. 8494 (define_insn "nvptx_uniform_warp_check"): New define_insn. 8495 84962022-02-01 Tom de Vries <tdevries@suse.de> 8497 8498 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync. 8499 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add 8500 UNSPECV_WARPSYNC. 8501 (define_insn "nvptx_warpsync"): New define_insn. 8502 85032022-02-01 Tom de Vries <tdevries@suse.de> 8504 8505 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default. 8506 85072022-02-01 Tom de Vries <tdevries@suse.de> 8508 8509 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0. 8510 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro. 8511 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier 8512 insn for TARGET_PTX_6_0. 8513 85142022-02-01 Tom de Vries <tdevries@suse.de> 8515 8516 PR target/100428 8517 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop 8518 insn. 8519 85202022-02-01 Tom de Vries <tdevries@suse.de> 8521 8522 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1") 8523 (define_insn "atomic_exchange<mode>") 8524 (define_insn "atomic_fetch_add<mode>") 8525 (define_insn "atomic_fetch_addsf") 8526 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version 8527 if memory operands is frame-relative. 8528 85292022-02-01 Tom de Vries <tdevries@suse.de> 8530 8531 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add 8532 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA. 8533 (VOID): New macro. 8534 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA. 8535 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and 8536 NVPTX_BUILTIN_MEMBAR_CTA. 8537 (nvptx_lockfull_update): Add level parameter. Emit barriers. 8538 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to 8539 nvptx_lockfull_update. 8540 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add 8541 UNSPECV_MEMBAR_GL. 8542 (define_expand "nvptx_membar_gl"): New expand. 8543 (define_insn "*nvptx_membar_gl"): New insn. 8544 85452022-02-01 Martin Liska <mliska@suse.cz> 8546 8547 * doc/install.texi: Remove option for GCC < 4.8. 8548 85492022-02-01 Jakub Jelinek <jakub@redhat.com> 8550 8551 PR middle-end/104307 8552 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug 8553 stmts to uses vector, just set vec_cond_expr_only to false for 8554 non-VEC_COND_EXPRs instead of pushing them into uses. Treat 8555 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too 8556 like non-VEC_COND_EXPRs. 8557 85582022-02-01 Bill Schmidt <wschmidt@linux.ibm.com> 8559 8560 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token. 8561 (VEC_BLENDV): Likewise. 8562 (VEC_BPERM): Likewise. 8563 (VEC_CFUGE): Likewise. 8564 (VEC_CIPHER_BE): Likewise. 8565 (VEC_CIPHERLAST_BE): Likewise. 8566 (VEC_CLRL): Likewise. 8567 (VEC_CLRR): Likewise. 8568 (VEC_CMPNEZ): Likewise. 8569 (VEC_CNTLZ): Likewise. 8570 (VEC_CNTLZM): Likewise. 8571 (VEC_CNTTZM): Likewise. 8572 (VEC_CNTLZ_LSBB): Likewise. 8573 (VEC_CNTM): Likewise. 8574 (VEC_CNTTZ): Likewise. 8575 (VEC_CNTTZ_LSBB): Likewise. 8576 (VEC_CONVERT_4F32_8F16): Likewise. 8577 (VEC_DIV): Likewise. 8578 (VEC_DIVE): Likewise. 8579 (VEC_EQV): Likewise. 8580 (VEC_EXPANDM): Likewise. 8581 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise. 8582 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise. 8583 (VEC_EXTRACTH): Likewise. 8584 (VEC_EXTRACTL): Likewise. 8585 (VEC_EXTRACTM): Likewise. 8586 (VEC_EXTRACT4B): Likewise. 8587 (VEC_EXTULX): Likewise. 8588 (VEC_EXTURX): Likewise. 8589 (VEC_FIRSTMATCHINDEX): Likewise. 8590 (VEC_FIRSTMACHOREOSINDEX): Likewise. 8591 (VEC_FIRSTMISMATCHINDEX): Likewise. 8592 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise. 8593 (VEC_GB): Likewise. 8594 (VEC_GENBM): Likewise. 8595 (VEC_GENHM): Likewise. 8596 (VEC_GENWM): Likewise. 8597 (VEC_GENDM): Likewise. 8598 (VEC_GENQM): Likewise. 8599 (VEC_GENPCVM): Likewise. 8600 (VEC_GNB): Likewise. 8601 (VEC_INSERTH): Likewise. 8602 (VEC_INSERTL): Likewise. 8603 (VEC_INSERT4B): Likewise. 8604 (VEC_LXVL): Likewise. 8605 (VEC_MERGEE): Likewise. 8606 (VEC_MERGEO): Likewise. 8607 (VEC_MOD): Likewise. 8608 (VEC_MSUB): Likewise. 8609 (VEC_MULH): Likewise. 8610 (VEC_NAND): Likewise. 8611 (VEC_NCIPHER_BE): Likewise. 8612 (VEC_NCIPHERLAST_BE): Likewise. 8613 (VEC_NEARBYINT): Likewise. 8614 (VEC_NMADD): Likewise. 8615 (VEC_ORC): Likewise. 8616 (VEC_PDEP): Likewise. 8617 (VEC_PERMX): Likewise. 8618 (VEC_PEXT): Likewise. 8619 (VEC_POPCNT): Likewise. 8620 (VEC_PARITY_LSBB): Likewise. 8621 (VEC_REPLACE_ELT): Likewise. 8622 (VEC_REPLACE_UN): Likewise. 8623 (VEC_REVB): Likewise. 8624 (VEC_RINT): Likewise. 8625 (VEC_RLMI): Likewise. 8626 (VEC_RLNM): Likewise. 8627 (VEC_SBOX_BE): Likewise. 8628 (VEC_SIGNEXTI): Likewise. 8629 (VEC_SIGNEXTLL): Likewise. 8630 (VEC_SIGNEXTQ): Likewise. 8631 (VEC_SLDB): Likewise. 8632 (VEC_SLV): Likewise. 8633 (VEC_SPLATI): Likewise. 8634 (VEC_SPLATID): Likewise. 8635 (VEC_SPLATI_INS): Likewise. 8636 (VEC_SQRT): Likewise. 8637 (VEC_SRDB): Likewise. 8638 (VEC_SRV): Likewise. 8639 (VEC_STRIL): Likewise. 8640 (VEC_STRIL_P): Likewise. 8641 (VEC_STRIR): Likewise. 8642 (VEC_STRIR_P): Likewise. 8643 (VEC_STXVL): Likewise. 8644 (VEC_TERNARYLOGIC): Likewise. 8645 (VEC_TEST_LSBB_ALL_ONES): Likewise. 8646 (VEC_TEST_LSBB_ALL_ZEROS): Likewise. 8647 (VEC_VEE): Likewise. 8648 (VEC_VES): Likewise. 8649 (VEC_VIE): Likewise. 8650 (VEC_VPRTYB): Likewise. 8651 (VEC_VSCEEQ): Likewise. 8652 (VEC_VSCEGT): Likewise. 8653 (VEC_VSCELT): Likewise. 8654 (VEC_VSCEUO): Likewise. 8655 (VEC_VSEE): Likewise. 8656 (VEC_VSES): Likewise. 8657 (VEC_VSIE): Likewise. 8658 (VEC_VSTDC): Likewise. 8659 (VEC_VSTDCN): Likewise. 8660 (VEC_VTDC): Likewise. 8661 (VEC_XL): Likewise. 8662 (VEC_XL_BE): Likewise. 8663 (VEC_XL_LEN_R): Likewise. 8664 (VEC_XL_SEXT): Likewise. 8665 (VEC_XL_ZEXT): Likewise. 8666 (VEC_XST): Likewise. 8667 (VEC_XST_BE): Likewise. 8668 (VEC_XST_LEN_R): Likewise. 8669 (VEC_XST_TRUNC): Likewise. 8670 (VEC_XXPERMDI): Likewise. 8671 (VEC_XXSLDWI): Likewise. 8672 (VEC_TSTSFI_EQ_DD): Likewise. 8673 (VEC_TSTSFI_EQ_TD): Likewise. 8674 (VEC_TSTSFI_GT_DD): Likewise. 8675 (VEC_TSTSFI_GT_TD): Likewise. 8676 (VEC_TSTSFI_LT_DD): Likewise. 8677 (VEC_TSTSFI_LT_TD): Likewise. 8678 (VEC_TSTSFI_OV_DD): Likewise. 8679 (VEC_TSTSFI_OV_TD): Likewise. 8680 (VEC_VADDCUQ): Likewise. 8681 (VEC_VADDECUQ): Likewise. 8682 (VEC_VADDEUQM): Likewise. 8683 (VEC_VADDUDM): Likewise. 8684 (VEC_VADDUQM): Likewise. 8685 (VEC_VBPERMQ): Likewise. 8686 (VEC_VCLZB): Likewise. 8687 (VEC_VCLZD): Likewise. 8688 (VEC_VCLZH): Likewise. 8689 (VEC_VCLZW): Likewise. 8690 (VEC_VCTZB): Likewise. 8691 (VEC_VCTZD): Likewise. 8692 (VEC_VCTZH): Likewise. 8693 (VEC_VCTZW): Likewise. 8694 (VEC_VEEDP): Likewise. 8695 (VEC_VEESP): Likewise. 8696 (VEC_VESDP): Likewise. 8697 (VEC_VESSP): Likewise. 8698 (VEC_VIEDP): Likewise. 8699 (VEC_VIESP): Likewise. 8700 (VEC_VPKSDSS): Likewise. 8701 (VEC_VPKSDUS): Likewise. 8702 (VEC_VPKUDUM): Likewise. 8703 (VEC_VPKUDUS): Likewise. 8704 (VEC_VPOPCNT): Likewise. 8705 (VEC_VPOPCNTB): Likewise. 8706 (VEC_VPOPCNTD): Likewise. 8707 (VEC_VPOPCNTH): Likewise. 8708 (VEC_VPOPCNTW): Likewise. 8709 (VEC_VPRTYBD): Likewise. 8710 (VEC_VPRTYBQ): Likewise. 8711 (VEC_VPRTYBW): Likewise. 8712 (VEC_VRLD): Likewise. 8713 (VEC_VSLD): Likewise. 8714 (VEC_VSRAD): Likewise. 8715 (VEC_VSRD): Likewise. 8716 (VEC_VSTDCDP): Likewise. 8717 (VEC_VSTDCNDP): Likewise. 8718 (VEC_VSTDCNQP): Likewise. 8719 (VEC_VSTDCNSP): Likewise. 8720 (VEC_VSTDCQP): Likewise. 8721 (VEC_VSTDCSP): Likewise. 8722 (VEC_VSUBECUQ): Likewise. 8723 (VEC_VSUBEUQM): Likewise. 8724 (VEC_VSUBUDM): Likewise. 8725 (VEC_VSUBUQM): Likewise. 8726 (VEC_VTDCDP): Likewise. 8727 (VEC_VTDCSP): Likewise. 8728 (VEC_VUPKHSW): Likewise. 8729 (VEC_VUPKLSW): Likewise. 8730 87312022-02-01 Andreas Krebbel <krebbel@linux.ibm.com> 8732 8733 PR rtl-optimization/101260 8734 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for 8735 copy_regno. 8736 87372022-02-01 Xi Ruoyao <xry111@mengyan1223.wang> 8738 8739 PR middle-end/95115 8740 * fold-const.cc (const_binop): Do not fold NaN result from 8741 non-NaN operands. 8742 87432022-02-01 Tom de Vries <tdevries@suse.de> 8744 8745 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for 8746 -ftree-loop-distribute-patterns. 8747 (loop_distribution::execute): Don't call transform_reduction_loop for 8748 -fno-tree-loop-distribute-patterns. 8749 87502022-01-31 Andrew Pinski <apinski@marvell.com> 8751 8752 * fold-const.h (operand_compare::operand_equal_p): 8753 Fix comment about OEP_* flags. 8754 87552022-01-31 Jakub Jelinek <jakub@redhat.com> 8756 8757 PR target/104298 8758 * config/rs6000/aix.h (OPTION_GLIBC): Remove. 8759 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise. 8760 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0 8761 if not already defined. 8762 87632022-01-31 Martin Sebor <msebor@redhat.com> 8764 8765 PR middle-end/104232 8766 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument. 8767 Handle PHIs. Add a synonymous overload. 8768 (pass_waccess::check_pointer_uses): Call pointers_related_p. 8769 87702022-01-31 Richard Biener <rguenther@suse.de> 8771 8772 PR tree-optimization/100499 8773 * fold-const.cc (multiple_of_p): Pass the correct type of 8774 the expression to the recursive invocation of multiple_of_p 8775 for conversions and use CASE_CONVERT. 8776 87772022-01-31 Eric Botcazou <ebotcazou@adacore.com> 8778 8779 PR target/104189 8780 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS. 8781 87822022-01-31 Richard Biener <rguenther@suse.de> 8783 8784 PR tree-optimization/100499 8785 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p 8786 on poly-ints instead of multiple_of_p. 8787 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise. 8788 (non_rewritable_mem_ref_base): Likewise. 8789 (non_rewritable_lvalue_p): Likewise. 8790 (execute_update_addresses_taken): Likewise. 8791 87922022-01-29 Jakub Jelinek <jakub@redhat.com> 8793 Andrew Pinski <apinski@marvell.com> 8794 8795 PR tree-optimization/104279 8796 PR tree-optimization/104280 8797 PR tree-optimization/104281 8798 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with 8799 boolean_type_node and convert to type. Formatting fixes. 8800 88012022-01-28 Yoshinori Sato <yo-satoh@sios.com> 8802 8803 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a. 8804 88052022-01-28 Navid Rahimi <navidrahimi@microsoft.com> 8806 8807 PR tree-optimization/103514 8808 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization. 8809 (a & b) == (a ^ b) -> !(a | b): New optimization. 8810 88112022-01-28 Marek Polacek <polacek@redhat.com> 8812 8813 * doc/invoke.texi: Update -Wbidi-chars documentation. 8814 88152022-01-28 Iain Sandoe <iain@sandoe.co.uk> 8816 8817 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0. 8818 88192022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com> 8820 8821 PR tree-optimization/95424 8822 * match.pd: Simplify 1 / X where X is an integer. 8823 88242022-01-28 Jakub Jelinek <jakub@redhat.com> 8825 8826 PR tree-optimization/104263 8827 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For 8828 cfun->can_throw_non_call_exceptions && cfun->eh test whether 8829 last non-debug stmt in the bb is store_valid_for_store_merging_p 8830 rather than last stmt. 8831 88322022-01-28 Martin Liska <mliska@suse.cz> 8833 8834 * diagnostic.cc (diagnostic_action_after_output): Remove extra 8835 newline. 8836 88372022-01-28 Martin Liska <mliska@suse.cz> 8838 8839 * config/rs6000/host-darwin.cc (segv_crash_handler): 8840 Do not use leading capital letter. 8841 (segv_handler): Likewise. 8842 * ipa-sra.cc (verify_splitting_accesses): Likewise. 8843 * varasm.cc (get_section): Likewise. 8844 88452022-01-28 Richard Biener <rguenther@suse.de> 8846 8847 PR tree-optimization/104267 8848 * tree-vect-stmts.cc (vectorizable_call): Properly use the 8849 per-argument determined vector type for externals and 8850 invariants. 8851 88522022-01-28 Richard Biener <rguenther@suse.de> 8853 8854 PR tree-optimization/104263 8855 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges): 8856 Purge edges also when !cfun->has_nonlocal_label 8857 and !cfun->calls_setjmp. 8858 88592022-01-28 Maciej W. Rozycki <macro@embecosm.com> 8860 8861 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type' 8862 attributes. 8863 88642022-01-28 Jakub Jelinek <jakub@redhat.com> 8865 8866 PR lto/104237 8867 * cfgrtl.cc (loc_equal): New function. 8868 (unique_locus_on_edge_between_p): Use it. 8869 88702022-01-28 Richard Biener <rguenther@suse.de> 8871 8872 * cfganal.h (mark_dfs_back_edges): Provide API with struct 8873 function argument. 8874 * cfganal.cc (mark_dfs_back_edges): Take a struct function 8875 to work on, add a wrapper passing cfun. 8876 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun 8877 uses with fun which is already passed. 8878 (draw_cfg_edges): Likewise. 8879 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop 8880 for fun != cfun. 8881 88822022-01-27 Patrick Palka <ppalka@redhat.com> 8883 8884 PR c++/99895 8885 * tree.cc (build_call_vec): Add const to second parameter. 8886 * tree.h (build_call_vec): Likewise. 8887 88882022-01-27 Martin Liska <mliska@suse.cz> 8889 8890 PR web/104254 8891 * diagnostic.cc (diagnostic_initialize): 8892 Initialize report_bug flag. 8893 (diagnostic_action_after_output): 8894 Explain that -freport-bug option can be used for pre-processed 8895 file creation. Make the message shorter. 8896 (error_recursion): Rename Internal to internal. 8897 * diagnostic.h (struct diagnostic_context): New field. 8898 * opts.cc (common_handle_option): Init the field here. 8899 89002022-01-27 Kewen Lin <linkw@linux.ibm.com> 8901 8902 PR target/103702 8903 * config/rs6000/rs6000.cc 8904 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong 8905 assertion with early return. 8906 89072022-01-27 Chung-Lin Tang <cltang@codesourcery.com> 8908 8909 PR middle-end/103642 8910 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling 8911 for non-pointer or non-reference-to-pointer cases. 8912 89132022-01-27 Jakub Jelinek <jakub@redhat.com> 8914 8915 PR tree-optimization/104196 8916 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument. 8917 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true, 8918 return NULL and emit needed stmts before and after stmt. 8919 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt 8920 pick as operand_entry that will hold the merged test the one feeding 8921 earliest condition, ensure that by swapping range->idx with some 8922 other range's idx if needed. If seq is non-NULL, don't actually swap 8923 it but instead rewrite stmts with undefined overflow in between 8924 the two locations. 8925 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the 8926 corresponding condition even if they have non-NULL ops[]->op. 8927 Formatting fix. 8928 89292022-01-26 Jakub Jelinek <jakub@redhat.com> 8930 8931 PR target/104239 8932 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of 8933 asm. 8934 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator 8935 before for loop instead of for init clause. 8936 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise. 8937 89382022-01-26 Jakub Jelinek <jakub@redhat.com> 8939 8940 PR target/104239 8941 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of 8942 _X86INTRIN_H_INCLUDED and adjust #error wording. 8943 * config/rs6000/bmi2intrin.h: Likewise. 8944 89452022-01-26 Jakub Jelinek <jakub@redhat.com> 8946 8947 PR debug/104194 8948 * dwarf2out.cc (long_double_as_float128): New function. 8949 (modified_type_die): For powerpc64le IEEE 754 quad long double 8950 and complex long double emit those as DW_TAG_typedef to 8951 _Float128 or complex _Float128 base type. 8952 89532022-01-26 Marek Polacek <polacek@redhat.com> 8954 8955 PR target/104213 8956 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't 8957 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free. 8958 89592022-01-26 Martin Liska <mliska@suse.cz> 8960 8961 * ipa-modref-tree.cc (modref_access_node::update): 8962 Remove "--param param=foo" with "--param foo". 8963 (modref_access_node::insert): Likewise. 8964 (modref_access_node::insert_kill): Likewise. 8965 * ipa-modref-tree.h (struct modref_ref_node): Likewise. 8966 (struct modref_base_node): Likewise. 8967 (struct modref_tree): Likewise. 8968 89692022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com> 8970 8971 PR target/94193 8972 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0 8973 predicate check. 8974 89752022-01-25 Martin Sebor <msebor@redhat.com> 8976 8977 PR tree-optimization/104203 8978 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use 8979 TV_WARN_ACCESS. 8980 * pointer-query.cc (access_ref::merge_ref): Change return type. 8981 Convert failure to a conservative success. 8982 (access_ref::get_ref): Adjust to the change above. Short-circuit 8983 PHI evaluation after first failure turned into conservative success. 8984 * pointer-query.h (access_ref::merge_ref): Change return type. 8985 * timevar.def (TV_WARN_ACCESS): New timer variable. 8986 89872022-01-25 David Edelsohn <dje.gcc@gmail.com> 8988 8989 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0. 8990 89912022-01-25 Richard Biener <rguenther@suse.de> 8992 8993 PR tree-optimization/104214 8994 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use 8995 stronger guarantees for relational pointer compares when 8996 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as 8997 BASE0 + STEP0 - STEP1 cmp BASE1. 8998 89992022-01-25 Jakub Jelinek <jakub@redhat.com> 9000 9001 PR target/104172 9002 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't 9003 declare. 9004 * config/rs6000/rs6000.cc (rs6000_passes_ieee128, 9005 ieee128_mangling_gcc_8_1): Remove. 9006 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine. 9007 (rs6000_mangle_type): Return "u9__ieee128" instead of 9008 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128". 9009 (rs6000_globalize_decl_name): Remove. 9010 * config/rs6000/rs6000-call.cc (init_cumulative_args, 9011 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128. 9012 90132022-01-24 Martin Sebor <msebor@redhat.com> 9014 9015 * pointer-query.cc (pointer_query::dump): Remove duplicate 9016 block. 9017 90182022-01-24 Marek Polacek <polacek@redhat.com> 9019 9020 PR preprocessor/104030 9021 * doc/invoke.texi: Update documentation for -Wbidi-chars. 9022 90232022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com> 9024 9025 PR target/94193 9026 * builtins.cc (expand_builtin_fegetround): New function. 9027 (expand_builtin_feclear_feraise_except): New function. 9028 (expand_builtin): Add cases for BUILT_IN_FEGETROUND, 9029 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT. 9030 * config/rs6000/rs6000.md (fegetroundsi): New pattern. 9031 (feclearexceptsi): New Pattern. 9032 (feraiseexceptsi): New Pattern. 9033 * doc/extend.texi: Add a new introductory paragraph about the 9034 new builtins. 9035 * doc/md.texi: (fegetround@var{m}): Document new optab. 9036 (feclearexcept@var{m}): Document new optab. 9037 (feraiseexcept@var{m}): Document new optab. 9038 * optabs.def (fegetround_optab): New optab. 9039 (feclearexcept_optab): New optab. 9040 (feraiseexcept_optab): New optab. 9041 90422022-01-24 Richard Biener <rguenther@suse.de> 9043 Jiufu Guo <guojiufu@linux.ibm.com> 9044 9045 PR tree-optimization/100740 9046 PR tree-optimization/101508 9047 PR tree-optimization/101972 9048 PR tree-optimization/102131 9049 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly 9050 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to 9051 BASE0 + STEP0 - STEP1 cmp BASE1 transform. 9052 90532022-01-24 Jakub Jelinek <jakub@redhat.com> 9054 9055 PR sanitizer/104158 9056 * opt-functions.awk (var_set): Handle EnumBitSet property. 9057 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is 9058 specified. 9059 * opts.h (enum cl_enum_var_value): New type. 9060 * opts-common.cc (decode_cmdline_option): Use CLEV_* values. 9061 Handle CLEV_BITSET. 9062 (cmdline_handle_error): Handle CLEV_BITSET. 9063 * opts.cc (test_enum_sets): Also test EnumBitSet requirements. 9064 * doc/options.texi (EnumBitSet): Document. 9065 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of 9066 EnumSet. 9067 (trace-pc, trace-cmp): Drop Set properties. 9068 90692022-01-24 Jakub Jelinek <jakub@redhat.com> 9070 9071 PR sanitizer/104158 9072 * common.opt (flag_sanitize_coverage): Remove Variable entry. 9073 (fsanitize-coverage=): Remove RejectNegative property, add 9074 Var(flag_sanitize_coverage) and EnumSet properties. 9075 (trace-pc): Add Set(1) property. 9076 (trace-cmp): Add Set(2) property. 9077 * opts.cc (common_handle_option): Don't handle 9078 OPT_fsanitize_coverage_. 9079 90802022-01-24 Jakub Jelinek <jakub@redhat.com> 9081 9082 PR sanitizer/104158 9083 * opt-functions.awk (var_set): Handle EnumSet property. 9084 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is 9085 specified. 9086 * opt-read.awk: Handle Set property. 9087 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define. 9088 (struct cl_decoded_option): Mention enum in value description. 9089 Add mask member. 9090 (set_option): Add mask argument defaulted to 0. 9091 * opts.cc (test_enum_sets): New function. 9092 (opts_cc_tests): Call it. 9093 * opts-common.cc (enum_arg_to_value): Change return argument 9094 from bool to int, on success return index into the cl_enum_arg 9095 array, on failure -1. Add len argument, if non-0, use strncmp 9096 instead of strcmp. 9097 (opt_enum_arg_to_value): Adjust caller. 9098 (decode_cmdline_option): Handle EnumSet represented as 9099 CLVC_ENUM with non-zero var_value. Initialize decoded->mask. 9100 (decode_cmdline_options_to_array): CLear opt_array[0].mask. 9101 (handle_option): Pass decoded->mask to set_options last argument. 9102 (generate_option): Clear decoded->mask. 9103 (generate_option_input_file): Likewise. 9104 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG. 9105 (set_option): Add mask argument, use it for CLVC_ENUM. 9106 (control_warning_option): Adjust enum_arg_to_value caller. 9107 * doc/options.texi: Document Set and EnumSet properties. 9108 91092022-01-24 Jakub Jelinek <jakub@redhat.com> 9110 9111 PR bootstrap/104170 9112 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, 9113 OPTION_BIONIC_P, OPTION_MUSL_P): Define. 9114 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine 9115 using OPTION_*_P macros. 9116 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, 9117 OPTION_BIONIC_P, OPTION_MUSL_P): Define. 9118 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine 9119 using OPTION_*_P macros. 9120 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, 9121 OPTION_BIONIC_P, OPTION_MUSL_P): Define. 9122 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine 9123 using OPTION_*_P macros. 9124 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P, 9125 OPTION_BIONIC_P, OPTION_MUSL_P): Define. 9126 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine 9127 using OPTION_*_P macros. 9128 * config/fuchsia.h (OPTION_MUSL_P): Redefine. 9129 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined. 9130 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add 9131 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use 9132 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false). 9133 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If 9134 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition, 9135 otherwise assume if (true). 9136 91372022-01-24 Kito Cheng <kito.cheng@sifive.com> 9138 9139 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string): 9140 Skip zicsr and zifencei if I-ext is 2.0. 9141 91422022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn> 9143 9144 * config.gcc: Modify default isa_spec version. 9145 91462022-01-24 Jiufu Guo <guojiufu@linux.ibm.com> 9147 9148 PR tree-optimization/102087 9149 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap): 9150 Correct PLUS result type. 9151 91522022-01-24 H.J. Lu <hjl.tools@gmail.com> 9153 9154 PR target/104188 9155 * config/i386/predicates.md (bcst_mem_operand): Also check mode 9156 of memory broadcast. 9157 91582022-01-23 Andrew Pinski <apinski@marvell.com> 9159 9160 PR target/64821 9161 * config/aarch64/aarch64-builtins.cc 9162 (aarch64_general_gimple_fold_builtin): Handle 9163 __builtin_aarch64_sqrt* and simplify into SQRT internal 9164 function. 9165 91662022-01-22 Jakub Jelinek <jakub@redhat.com> 9167 9168 PR other/104176 9169 * opts-global.cc (handle_common_deferred_options): Quote 9170 --enable-plugin in diagnostics to avoid -Werror=format-diag. 9171 91722022-01-21 Michael Meissner <meissner@the-meissners.org> 9173 9174 PR target/104136 9175 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete. 9176 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete. 9177 * config/rs6000/rs6000.md (prefixed attribute): Delete section 9178 that sets the prefixed attribute for xxspltiw, xxspltidp, and 9179 xxsplti32dx instructions. 9180 (movsf_hardfloat): Explicitly set the prefixed attribute 9181 when xxspltiw and xxspltidp instructions are generated. 9182 (mov<mode>_hardfloat32): Likewise. 9183 (mov<mode>_hardfloat64): Likewise. 9184 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the 9185 prefixed attribute for xxspltiw and xxspltidp instructions. 9186 (vsx_mov<mode>_32bit): Likewise. 9187 91882022-01-21 H.J. Lu <hjl.tools@gmail.com> 9189 9190 PR bootstrap/104170 9191 * common/config/i386/i386-common.cc (ix86_supports_split_stack): 9192 Return true only on glibc. 9193 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): 9194 Revert commit c163647ffbc. 9195 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise. 9196 91972022-01-21 Sören Tempel <soeren@soeren-tempel.net> 9198 9199 * common/config/s390/s390-common.cc (s390_supports_split_stack): 9200 Only support split-stack on glibc targets. 9201 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto. 9202 * config/i386/gnu.h (defined): Ditto. 9203 92042022-01-21 Bill Schmidt <wschmidt@linux.ibm.com> 9205 9206 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for 9207 vector float and vector double. 9208 92092022-01-21 Bill Seurer <seurer@gcc.gnu.org> 9210 9211 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher): 9212 Fix mention of ifunc in string. 9213 92142022-01-21 Roger Sayle <roger@nextmovesoftware.com> 9215 9216 PR middle-end/104140 9217 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the 9218 operands of the widening multiplication are either both signed or 9219 both unsigned, and abort the conversion if mismatched. 9220 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node. 9221 (MULT_HIGHPART_EXPR): Clarify that operands must have the same 9222 signedness. 9223 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have 9224 integer types with the same precision and signedness. 9225 (WIDEN_MULT_EXPR): Document that operands must have integer types 9226 with the same precision, but possibly differing signedness. 9227 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against 9228 riscv_current_subset_list returning a NULL pointer (empty list). 9229 92302022-01-21 Vladimir N. Makarov <vmakarov@redhat.com> 9231 9232 PR target/103676 9233 * ira.h (struct target_ira): Add member 9234 x_ira_exclude_class_mode_regs. 9235 (ira_exclude_class_mode_regs): New macro. 9236 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and 9237 move from here ... 9238 * lra-int.h: ... to here. 9239 (lra_create_new_reg_with_unique_value): Add arg 9240 exclude_start_hard_regs. 9241 (class lra_reg): Add member exclude_start_hard_regs. 9242 * lra-assigns.cc (find_hard_regno_for_1): Setup 9243 impossible_start_hard_regs from exclude_start_hard_regs. 9244 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass 9245 it lra_create_new_reg[_with_unique_value]. 9246 (match_reload): Ditto. 9247 (check_and_process_move): Pass NULL 9248 exclude_start_hard_regs to lra_create_new_reg_with_unique_value. 9249 (goal_alt_exclude_start_hard_regs): New static variable. 9250 (process_addr_reg, simplify_operand_subreg): Pass NULL 9251 exclude_start_hard_regs to lra_create_new_reg_with_unique_value 9252 and get_reload_reg. 9253 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs. 9254 Use this_alternative_exclude_start_hard_regs additionally to find 9255 winning operand alternative. 9256 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL 9257 exclude_start_hard_regs to lra_create_new_reg. 9258 (process_address_1, emit_inc): Ditto. 9259 (curr_insn_transform): Pass exclude_start_hard_regs value to 9260 lra_create_new_reg, get_reload_reg, match_reload. 9261 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs 9262 to lra_create_new_reg. 9263 (process_invariant_for_inheritance): Ditto. 9264 * lra-remat.cc (update_scratch_ops): Ditto. 9265 * lra.cc (lra_create_new_reg_with_unique_value): Add arg 9266 exclude_start_hard_regs. Setup the corresponding member of 9267 lra reg info. 9268 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it 9269 to lra_create_new_reg_with_unique_value. 9270 (initialize_lra_reg_info_element): Initialize member 9271 exclude_start_hard_regs. 9272 (get_scratch_reg): Pass NULL to lra_create_new_reg. 9273 * ira.cc (setup_prohibited_class_mode_regs): Rename to 9274 setup_prohibited_and_exclude_class_mode_regs and calculate 9275 ira_exclude_class_mode_regs. 9276 92772022-01-21 Martin Liska <mliska@suse.cz> 9278 9279 * configure.ac: Detect ld_is_mold and use it for 9280 comdat_group=yes and gcc_cv_ld_hidden=yes. 9281 * configure: Regenerate. 9282 92832022-01-21 Richard Biener <rguenther@suse.de> 9284 9285 PR tree-optimization/100089 9286 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization 9287 of if-converted loops with unvectorized COND_EXPRs for 9288 all but the unlimited cost models. 9289 92902022-01-21 Ard Biesheuvel <ardb@kernel.org> 9291 9292 * config/arm/arm-opts.h (enum stack_protector_guard): New. 9293 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem): 9294 New. 9295 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define. 9296 (arm_option_override_internal): Handle and put in error checks. 9297 for stack protector guard options. 9298 (arm_option_reconfigure_globals): Likewise. 9299 (arm_stack_protect_tls_canary_mem): New. 9300 (arm_stack_protect_guard): New. 9301 * config/arm/arm.md (stack_protect_set): New. 9302 (stack_protect_set_tls): Likewise. 9303 (stack_protect_test): Likewise. 9304 (stack_protect_test_tls): Likewise. 9305 (reload_tp_hard): Likewise. 9306 * config/arm/arm.opt (-mstack-protector-guard): New 9307 (-mstack-protector-guard-offset): New. 9308 * doc/invoke.texi: Document new options. 9309 93102022-01-21 Richard Biener <rguenther@suse.de> 9311 9312 PR tree-optimization/104156 9313 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop): 9314 Collect and reset debug stmts with out-of-loop uses when 9315 hoisting guards. 9316 (find_loop_guard): Adjust. 9317 (empty_bb_without_guard_p): Likewise. Ignore debug stmts. 9318 (used_outside_loop_p): Push debug uses to a vector of 9319 debug stmts to reset. 9320 (hoist_guard): Adjust -fopt-info category. 9321 93222022-01-21 Richard Biener <rguenther@suse.de> 9323 9324 PR tree-optimization/104152 9325 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing 9326 can_duplicate_and_interleave_p check. 9327 93282022-01-21 Jakub Jelinek <jakub@redhat.com> 9329 9330 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): 9331 Avoid passing var to warning_at when the format string doesn't 9332 refer to it. 9333 93342022-01-21 Aldy Hernandez <aldyh@redhat.com> 9335 9336 PR tree-optimization/103721 9337 * gimple-range-path.cc 9338 (path_range_query::relations_may_be_invalidated): New. 9339 (path_range_query::compute_ranges_in_block): Reset relations if 9340 they may be invalidated. 9341 (path_range_query::maybe_register_phi_relation): Exit if relations 9342 may be invalidated on incoming edge. 9343 (path_range_query::compute_phi_relations): Pass incoming PHI edge 9344 to maybe_register_phi_relation. 9345 * gimple-range-path.h (relations_may_be_invalidated): New. 9346 (maybe_register_phi_relation): Pass edge instead of tree. 9347 * tree-ssa-threadbackward.cc (back_threader::back_threader): 9348 Mark DFS edges. 9349 * value-relation.cc (path_oracle::path_oracle): Call 9350 mark_dfs_back_edges. 9351 (path_oracle::register_relation): Add SSA names to m_registered 9352 bitmap. 9353 (path_oracle::reset_path): Clear m_registered bitmap. 9354 * value-relation.h (path_oracle::set_root_oracle): New. 9355 93562022-01-21 Jakub Jelinek <jakub@redhat.com> 9357 9358 PR rtl-optimization/102478 9359 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't 9360 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg 9361 would be needed. 9362 93632022-01-20 Richard Biener <rguenther@suse.de> 9364 9365 PR middle-end/100786 9366 * gimple-fold.cc (get_symbol_constant_value): Only return 9367 values of compatible type to the symbol. 9368 93692022-01-20 Andrew MacLeod <amacleod@redhat.com> 9370 9371 * value-relation.cc (relation_oracle::valid_equivs): Query and add 9372 if valid members of a set. 9373 (equiv_oracle::register_equiv): Call valid_equivs rather than 9374 bitmap direct operations. 9375 (path_oracle::register_equiv): Ditto. 9376 * value-relation.h (relation_oracle::valid_equivs): New prototype. 9377 93782022-01-20 Richard Biener <rguenther@suse.de> 9379 9380 PR target/100784 9381 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for 9382 LHS before folding __builtin_ia32_shufpd and friends. 9383 93842022-01-20 Richard Earnshaw <rearnsha@arm.com> 9385 9386 * config/arm/crypto.md (aes_op_protect): Allow moves from core 9387 registers and from memory. 9388 (aes_op_protect_misalign_load): New pattern. 9389 (aes_op_protect_neon_vld1v16qi): New pattern. 9390 93912022-01-20 Richard Earnshaw <rearnsha@arm.com> 9392 9393 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected): 9394 New pattern. 9395 (aarch32_crypto_aese_fused_protected): Likewise. 9396 (aarch32_crypto_aesd_fused_protected): Likewise. 9397 93982022-01-20 Richard Earnshaw <rearnsha@arm.com> 9399 9400 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert 9401 to define_expand. Add mitigation for the Cortex-A AES erratum 9402 when enabled. 9403 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based 9404 on original crypto_<CRYPTO_AES:crypto_pattern> insn. 9405 (aes_op_protect): New pattern. 9406 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT. 9407 94082022-01-20 Richard Earnshaw <rearnsha@arm.com> 9409 9410 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature 9411 (ALL_QUIRKS): Add it. 9412 (cortex-a57, cortex-a72): Enable it. 9413 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise. 9414 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line 9415 option. 9416 (mfix-cortex-a72-aes-1655431): New option alias. 9417 * config/arm/arm.cc (arm_option_override): Handle default settings 9418 for AES erratum switch. 9419 * doc/invoke.texi (Arm Options): Document new options. 9420 94212022-01-20 Richard Earnshaw <rearnsha@arm.com> 9422 9423 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use 9424 <crypto_mode> rather than hard-coding the mode. 9425 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space. 9426 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise. 9427 (*aarch32_crypto_aese_fused): Likewise. 9428 (*aarch32_crypto_aesd_fused): Likewise. 9429 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise. 9430 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise. 9431 (crypto_sha1h_lb): Likewise. 9432 (crypto_vmullp64): Likewise. 9433 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise. 9434 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise. 9435 94362022-01-20 Richard Earnshaw <rearnsha@arm.com> 9437 9438 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add 9439 iterator to pattern name to disambiguate. 9440 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise. 9441 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise. 9442 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise. 9443 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise. 9444 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise. 9445 94462022-01-20 Martin Liska <mliska@suse.cz> 9447 9448 PR bootstrap/104135 9449 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings. 9450 * rtl.cc: Partially disable -Wformat-diag for RTL checking 9451 error messages. 9452 94532022-01-20 Jakub Jelinek <jakub@redhat.com> 9454 9455 PR debug/103874 9456 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and 9457 block_num > 0, index entry even if !have_multiple_function_sections. 9458 94592022-01-20 liuhongt <hongtao.liu@intel.com> 9460 9461 PR target/103771 9462 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance 9463 integral mode mask pack by multi steps which takes 9464 vec_pack_sbool_trunc_optab as start when elements number is 9465 less than BITS_PER_UNITS. 9466 94672022-01-20 Richard Biener <rguenther@suse.de> 9468 9469 PR tree-optimization/104114 9470 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose 9471 single element vector decomposition. 9472 94732022-01-19 Robin Dapp <rdapp@linux.ibm.com> 9474 9475 * ifcvt.cc (noce_convert_multiple_sets_1): New function. 9476 (noce_convert_multiple_sets): Call function a second time if we can 9477 improve the first try. 9478 94792022-01-19 Robin Dapp <rdapp@linux.ibm.com> 9480 9481 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the 9482 reversed comparison. 9483 (try_emit_cmove_seq): New function to facilitate creating a cmov 9484 sequence. 9485 (noce_convert_multiple_sets): Create two sequences and use the less 9486 expensive one. 9487 94882022-01-19 Robin Dapp <rdapp@linux.ibm.com> 9489 9490 * rtl.h (struct rtx_comparison): New struct that holds an rtx 9491 comparison. 9492 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of 9493 single parameters. 9494 (rs6000_emit_swsqrt): Likewise. 9495 * expmed.cc (expand_sdiv_pow2): Likewise. 9496 (emit_store_flag): Likewise. 9497 * expr.cc (expand_cond_expr_using_cmove): Likewise. 9498 (expand_expr_real_2): Likewise. 9499 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare 9500 parameters. 9501 * optabs.cc (emit_conditional_move_1): New function. 9502 (expand_doubleword_shift_condmove): Use struct. 9503 (emit_conditional_move): Use struct and allow to call directly 9504 without going through preparation steps. 9505 * optabs.h (emit_conditional_move): Use struct. 9506 95072022-01-19 Robin Dapp <rdapp@linux.ibm.com> 9508 9509 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs. 9510 (noce_process_if_block): Use potential costs. 9511 95122022-01-19 Robin Dapp <rdapp@linux.ibm.com> 9513 9514 * ifcvt.cc (noce_convert_multiple_sets): Allow constants. 9515 (bb_ok_for_noce_convert_multiple_sets): Likewise. 9516 95172022-01-19 Robin Dapp <rdapp@linux.ibm.com> 9518 9519 * ifcvt.cc (need_cmov_or_rewire): New function. 9520 (noce_convert_multiple_sets): Call it. 9521 95222022-01-19 David Malcolm <dmalcolm@redhat.com> 9523 9524 * attribs.cc (attribute_c_tests): Rename to... 9525 (attribs_cc_tests): ...this. 9526 * bitmap.cc (bitmap_c_tests): Rename to... 9527 (bitmap_cc_tests): ...this. 9528 * cgraph.cc (cgraph_c_finalize): Rename to... 9529 (cgraph_cc_finalize): ...this. 9530 (cgraph_c_tests): Rename to... 9531 (cgraph_cc_tests): ...this. 9532 * cgraph.h (cgraph_c_finalize): Rename to... 9533 (cgraph_cc_finalize): ...this. 9534 (cgraphunit_c_finalize): Rename to... 9535 (cgraphunit_cc_finalize): ...this. 9536 * cgraphunit.cc (cgraphunit_c_finalize): Rename to... 9537 (cgraphunit_cc_finalize): ...this. 9538 * convert.cc (convert_c_tests): Rename to... 9539 (convert_cc_tests): ...this. 9540 * dbgcnt.cc (dbgcnt_c_tests): Rename to... 9541 (dbgcnt_cc_tests): ...this. 9542 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to... 9543 (diagnostic_show_locus_cc_tests): ...this. 9544 * diagnostic.cc (diagnostic_c_tests): Rename to... 9545 (diagnostic_cc_tests): ...this. 9546 * dumpfile.cc (dumpfile_c_tests): Rename to... 9547 (dumpfile_cc_tests): ...this. 9548 * dwarf2out.cc (dwarf2out_c_finalize): Rename to... 9549 (dwarf2out_cc_finalize): ...this. 9550 * dwarf2out.h (dwarf2out_c_finalize): Rename to... 9551 (dwarf2out_cc_finalize): ...this. 9552 * edit-context.cc (edit_context_c_tests): Rename to... 9553 (edit_context_cc_tests): ...this. 9554 * et-forest.cc (et_forest_c_tests): Rename to... 9555 (et_forest_cc_tests): ...this. 9556 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to... 9557 (fibonacci_heap_cc_tests): ...this. 9558 * fold-const.cc (fold_const_c_tests): Rename to... 9559 (fold_const_cc_tests): ...this. 9560 * function-tests.cc (function_tests_c_tests): Rename to... 9561 (function_tests_cc_tests): ...this. 9562 * gcse.cc (gcse_c_finalize): Rename to... 9563 (gcse_cc_finalize): ...this. 9564 * gcse.h (gcse_c_finalize): Rename to... 9565 (gcse_cc_finalize): ...this. 9566 * ggc-tests.cc (ggc_tests_c_tests): Rename to... 9567 (ggc_tests_cc_tests): ...this. 9568 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to... 9569 (store_merging_cc_tests): ...this. 9570 * gimple.cc (gimple_c_tests): Rename to... 9571 (gimple_cc_tests): ...this. 9572 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to... 9573 (hash_map_tests_cc_tests): ...this. 9574 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to... 9575 (hash_set_tests_cc_tests): ...this. 9576 * input.cc (input_c_tests): Rename to... 9577 (input_cc_tests): ...this. 9578 * ipa-cp.cc (ipa_cp_c_finalize): Rename to... 9579 (ipa_cp_cc_finalize): ...this. 9580 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to... 9581 (ipa_fnsummary_cc_finalize): ...this. 9582 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to... 9583 (ipa_fnsummary_cc_finalize): ...this. 9584 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to... 9585 (ipa_modref_tree_cc_tests): ...this. 9586 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl. 9587 * ipa-modref.cc (ipa_modref_c_finalize): Rename to... 9588 (ipa_modref_cc_finalize): ...this. 9589 * ipa-modref.h (ipa_modref_c_finalize): Rename to... 9590 (ipa_modref_cc_finalize): ...this. 9591 * ipa-prop.h (ipa_cp_c_finalize): Rename to... 9592 (ipa_cp_cc_finalize): ...this. 9593 * ipa-reference.cc (ipa_reference_c_finalize): Rename to... 9594 (ipa_reference_cc_finalize): ...this. 9595 * ipa-reference.h (ipa_reference_c_finalize): Rename to... 9596 (ipa_reference_cc_finalize): ...this. 9597 * ira-costs.cc (ira_costs_c_finalize): Rename to... 9598 (ira_costs_cc_finalize): ...this. 9599 * ira.h (ira_costs_c_finalize): Rename to... 9600 (ira_costs_cc_finalize): ...this. 9601 * opt-suggestions.cc (opt_proposer_c_tests): Rename to... 9602 (opt_suggestions_cc_tests): ...this. 9603 * opts.cc (opts_c_tests): Rename to... 9604 (opts_cc_tests): ...this. 9605 * predict.cc (predict_c_tests): Rename to... 9606 (predict_cc_tests): ...this. 9607 * pretty-print.cc (pretty_print_c_tests): Rename to... 9608 (pretty_print_cc_tests): ...this. 9609 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to... 9610 (read_rtl_function_cc_tests): ...this. 9611 * rtl-tests.cc (rtl_tests_c_tests): Rename to... 9612 (rtl_tests_cc_tests): ...this. 9613 * sbitmap.cc (sbitmap_c_tests): Rename to... 9614 (sbitmap_cc_tests): ...this. 9615 * selftest-run-tests.cc (selftest::run_tests): Update calls for 9616 _c_ to _cc_ function renamings; fix names of attribs and 9617 opt-suggestions tests. 9618 * selftest.cc (selftest_c_tests): Rename to... 9619 (selftest_cc_tests): ...this. 9620 * selftest.h (attribute_c_tests): Rename to... 9621 (attribs_cc_tests): ...this. 9622 (bitmap_c_tests): Rename to... 9623 (bitmap_cc_tests): ...this. 9624 (cgraph_c_tests): Rename to... 9625 (cgraph_cc_tests): ...this. 9626 (convert_c_tests): Rename to... 9627 (convert_cc_tests): ...this. 9628 (diagnostic_c_tests): Rename to... 9629 (diagnostic_cc_tests): ...this. 9630 (diagnostic_show_locus_c_tests): Rename to... 9631 (diagnostic_show_locus_cc_tests): ...this. 9632 (dumpfile_c_tests): Rename to... 9633 (dumpfile_cc_tests): ...this. 9634 (edit_context_c_tests): Rename to... 9635 (edit_context_cc_tests): ...this. 9636 (et_forest_c_tests): Rename to... 9637 (et_forest_cc_tests): ...this. 9638 (fibonacci_heap_c_tests): Rename to... 9639 (fibonacci_heap_cc_tests): ...this. 9640 (fold_const_c_tests): Rename to... 9641 (fold_const_cc_tests): ...this. 9642 (function_tests_c_tests): Rename to... 9643 (function_tests_cc_tests): ...this. 9644 (ggc_tests_c_tests): Rename to... 9645 (ggc_tests_cc_tests): ...this. 9646 (gimple_c_tests): Rename to... 9647 (gimple_cc_tests): ...this. 9648 (hash_map_tests_c_tests): Rename to... 9649 (hash_map_tests_cc_tests): ...this. 9650 (hash_set_tests_c_tests): Rename to... 9651 (hash_set_tests_cc_tests): ...this. 9652 (input_c_tests): Rename to... 9653 (input_cc_tests): ...this. 9654 (opts_c_tests): Rename to... 9655 (opts_cc_tests): ...this. 9656 (predict_c_tests): Rename to... 9657 (predict_cc_tests): ...this. 9658 (pretty_print_c_tests): Rename to... 9659 (pretty_print_cc_tests): ...this. 9660 (read_rtl_function_c_tests): Rename to... 9661 (read_rtl_function_cc_tests): ...this. 9662 (rtl_tests_c_tests): Rename to... 9663 (rtl_tests_cc_tests): ...this. 9664 (sbitmap_c_tests): Rename to... 9665 (sbitmap_cc_tests): ...this. 9666 (selftest_c_tests): Rename to... 9667 (selftest_cc_tests): ...this. 9668 (simplify_rtx_c_tests): Rename to... 9669 (simplify_rtx_cc_tests): ...this. 9670 (spellcheck_c_tests): Rename to... 9671 (spellcheck_cc_tests): ...this. 9672 (spellcheck_tree_c_tests): Rename to... 9673 (spellcheck_tree_cc_tests): ...this. 9674 (sreal_c_tests): Rename to... 9675 (sreal_cc_tests): ...this. 9676 (store_merging_c_tests): Rename to... 9677 (store_merging_cc_tests): ...this. 9678 (tree_c_tests): Rename to... 9679 (tree_cc_tests): ...this. 9680 (tree_cfg_c_tests): Rename to... 9681 (tree_cfg_cc_tests): ...this. 9682 (typed_splay_tree_c_tests): Rename to... 9683 (typed_splay_tree_cc_tests): ...this. 9684 (vec_c_tests): Rename to... 9685 (vec_cc_tests): ...this. 9686 (vec_perm_indices_c_tests): Rename to... 9687 (vec_perm_indices_cc_tests): ..this. 9688 (opt_proposer_c_tests): Rename to... 9689 (opt_suggestions_cc_tests): ...this. 9690 (dbgcnt_c_tests): Rename to... 9691 (dbgcnt_cc_tests): ...this. 9692 (ipa_modref_tree_c_tests): Rename to... 9693 (ipa_modref_tree_cc_tests): ...this. 9694 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to... 9695 (simplify_rtx_cc_tests): ...this. 9696 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to... 9697 (spellcheck_tree_cc_tests): ...this. 9698 * spellcheck.cc (spellcheck_c_tests): Rename to... 9699 (spellcheck_cc_tests): ...this. 9700 * sreal.cc (sreal_c_tests): Rename to... 9701 (sreal_cc_tests): ...this. 9702 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_ 9703 function renamings. 9704 * tree-cfg.cc (tree_cfg_c_tests): Rename to... 9705 (tree_cfg_cc_tests): ...this. 9706 * tree.cc (tree_c_tests): Rename to... 9707 (tree_cc_tests): ...this. 9708 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to... 9709 (typed_splay_tree_cc_tests): ...this. 9710 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to... 9711 (vec_perm_indices_cc_tests): ...this. 9712 * vec.cc (vec_c_tests): Rename to... 9713 (vec_cc_tests): ...this. 9714 97152022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com> 9716 9717 PR tree-optimization/103997 9718 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue 9719 vectorization. 9720 97212022-01-19 Jakub Jelinek <jakub@redhat.com> 9722 9723 PR middle-end/102860 9724 * match.pd (x %[fl] y -> x % y): New simplification for 9725 unsigned integral types. 9726 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab 9727 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE. 9728 97292022-01-19 Richard Biener <rguenther@suse.de> 9730 9731 PR tree-optimization/104112 9732 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check 9733 for required intermediate vector types. 9734 97352022-01-19 Jakub Jelinek <jakub@redhat.com> 9736 9737 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:. 9738 97392022-01-19 Martin Liska <mliska@suse.cz> 9740 9741 * configure.ac: Remove -Wno-error=format-diag. 9742 * configure: Regenerate. 9743 97442022-01-19 Martin Liska <mliska@suse.cz> 9745 9746 * config/riscv/riscv.cc (riscv_handle_type_attribute): 9747 Update one -Wformat-diag string in warning message. 9748 97492022-01-19 Jakub Jelinek <jakub@redhat.com> 9750 9751 PR middle-end/104103 9752 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check 9753 .ASAN_MARK calls. 9754 97552022-01-19 Jakub Jelinek <jakub@redhat.com> 9756 9757 PR c++/89074 9758 * fold-const.cc (address_compare): Consider different STRING_CSTs 9759 with the same lengths that memcmp the same as equal, not different. 9760 97612022-01-19 Jakub Jelinek <jakub@redhat.com> 9762 9763 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of 9764 {%0}. 9765 97662022-01-19 Martin Liska <mliska@suse.cz> 9767 Thomas Schwinge <thomas@codesourcery.com> 9768 9769 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update 9770 warning messages. 9771 97722022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de> 9773 9774 PR target/104090 9775 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also 9776 rs6000_cpu. 9777 97782022-01-19 Jakub Jelinek <jakub@redhat.com> 9779 9780 PR target/104104 9781 * config/i386/sse.md 9782 (<avx512>_<complexopname>_<mode><maskc_name><round_name>, 9783 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>, 9784 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>, 9785 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>, 9786 avx512dq_rangep<mode><mask_name><round_saeonly_name>, 9787 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>, 9788 <avx512>_getmant<mode><mask_name><round_saeonly_name>, 9789 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>): 9790 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}. 9791 97922022-01-19 Martin Sebor <msebor@redhat.com> 9793 9794 PR middle-end/104069 9795 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for 9796 an unknown result as documented. 9797 97982022-01-18 Andrew Pinski <apinski@marvell.com> 9799 9800 * ipa-split.cc (visit_bb): Fix comment before the 9801 warning/error attribute checking code. 9802 98032022-01-18 David Faust <david.faust@oracle.com> 9804 9805 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account 9806 for base strtab offset yet as it may change. 9807 (output_asm_btfext_core_reloc): Do so here instead. 9808 (output_btfext_core_sections): Likewise. 9809 98102022-01-18 David Faust <david.faust@oracle.com> 9811 9812 * config/bpf/coreout.cc (output_btfext_header): Account for 9813 4-byte record size in core_relo_len. 9814 (output_btfext_core_sections): Only write record size once. 9815 * config/bpf/coreout.h (btf_ext_section_header): Delete unused 9816 member. 9817 98182022-01-18 Maciej W. Rozycki <macro@embecosm.com> 9819 9820 * common/config/riscv/riscv-common.cc 9821 (riscv_subset_list::parse_multiletter_ext): Move pointer 9822 arithmetic ahead of `free'. 9823 98242022-01-18 Jason Merrill <jason@redhat.com> 9825 9826 PR c++/104007 9827 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional 9828 context. 9829 98302022-01-18 Sandra Loosemore <sandra@codesourcery.com> 9831 9832 PR middle-end/103163 9833 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here... 9834 (init_emit_once): ...not here. 9835 98362022-01-18 Martin Liska <mliska@suse.cz> 9837 9838 * collect2.cc (scan_libraries): Fix -Wformat-diag issues. 9839 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise. 9840 * config/arc/arc.md: Likewise. 9841 * config/avr/avr.cc (avr_section_type_flags): Likewise. 9842 * config/bfin/bfin.cc (bfin_option_override): Likewise. 9843 (bfin_handle_longcall_attribute): Likewise. 9844 * config/cris/cris.h (FUNCTION_PROFILER): Likewise. 9845 * config/frv/frv.cc (frv_expand_builtin): Likewise. 9846 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise. 9847 * config/iq2000/iq2000.cc (save_restore_insns): Likewise. 9848 (iq2000_print_operand_address): Likewise. 9849 (iq2000_print_operand): Likewise. 9850 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise. 9851 (m32c_pragma_address): Likewise. 9852 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise. 9853 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise. 9854 (mips_set_compression_mode): Likewise. 9855 * config/mmix/mmix.cc (mmix_function_profiler): Likewise. 9856 (mmix_print_operand): Likewise. 9857 (mmix_output_shiftvalue_op_from_str): Likewise. 9858 (mmix_output_shifted_value): Likewise. 9859 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise. 9860 * config/msp430/msp430.cc (msp430_option_override): Likewise. 9861 (msp430_attr): Likewise. 9862 (msp430_expand_delay_cycles): Likewise. 9863 (msp430_expand_builtin): Likewise. 9864 * config/rs6000/aix73.h: Likewise. 9865 * config/rs6000/rtems.h (INVALID_64BIT): Likewise. 9866 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise. 9867 (valid_psw_flag): Likewise. 9868 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise. 9869 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise. 9870 (xstormy16_expand_builtin_va_start): Likewise. 9871 (xstormy16_handle_below100_attribute): Likewise. 9872 98732022-01-18 Martin Liska <mliska@suse.cz> 9874 9875 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag 9876 warning. 9877 (vms_pragma_standard): Likewise. 9878 (vms_pragma_extern_prefix): Likewise. 9879 98802022-01-18 Martin Liska <mliska@suse.cz> 9881 9882 * config/xtensa/xtensa.cc (print_operand): Fix warnings. 9883 (print_operand_address): Likewise. 9884 (xtensa_multibss_section_type_flags): Likewise. 9885 98862022-01-18 Martin Liska <mliska@suse.cz> 9887 9888 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change 9889 wording of an error message. 9890 98912022-01-18 Martin Liska <mliska@suse.cz> 9892 9893 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag 9894 warning. 9895 (ghs_pragma_section): Likewise. 9896 (ghs_pragma_interrupt): Likewise. 9897 (ghs_pragma_starttda): Likewise. 9898 (ghs_pragma_startsda): Likewise. 9899 (ghs_pragma_startzda): Likewise. 9900 (ghs_pragma_endtda): Likewise. 9901 (ghs_pragma_endsda): Likewise. 9902 (ghs_pragma_endzda): Likewise. 9903 99042022-01-18 Martin Liska <mliska@suse.cz> 9905 9906 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl): 9907 Fix warnings. 9908 * config/nds32/nds32-intrinsic.md: Likewise. 9909 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise. 9910 * config/nds32/nds32.cc (nds32_print_operand): Likewise. 9911 (nds32_insert_attributes): Likewise. 9912 99132022-01-18 Martin Liska <mliska@suse.cz> 9914 9915 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap 9916 keyword. 9917 * config/nvptx/nvptx.md: Remove trailing dot. 9918 99192022-01-18 Martin Liska <mliska@suse.cz> 9920 9921 * common/config/riscv/riscv-common.cc (riscv_subset_list::add): 9922 Wrap keywords with quotes and remove trailing dots. 9923 (riscv_subset_list::parsing_subset_version): Likewise. 9924 (riscv_subset_list::parse_std_ext): Likewise. 9925 (riscv_subset_list::parse_multiletter_ext): Likewise. 9926 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise. 9927 99282022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com> 9929 9930 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new 9931 argument suggested_unroll_factor. 9932 (vect_analyze_loop_costing): Likewise. 9933 (_loop_vec_info::_loop_vec_info): Initialize new member 9934 suggested_unroll_factor. 9935 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled 9936 main loop use partial vectors. 9937 (vect_analyze_loop_2): Pass and use new argument 9938 suggested_unroll_factor. 9939 (vect_analyze_loop_1): Change to intialize local 9940 suggested_unroll_factor and use it. 9941 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling. 9942 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member 9943 suggested_unroll_factor. 9944 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor. 9945 (vector_costs::suggested_unroll_factor): New getter function. 9946 (finish_cost): Set return argument suggested_unroll_factor. 9947 99482022-01-18 Andrew MacLeod <amacleod@redhat.com> 9949 9950 PR tree-optimization/104038 9951 * doc/invoke.texi (relation-block-limit): New. 9952 * params.opt (relation-block-limit): New. 9953 * value-relation.cc (dom_oracle::register_relation): Check for NULL 9954 record before invoking transitive registery. 9955 (dom_oracle::set_one_relation): Check limit before creating record. 9956 (dom_oracle::register_transitives): Stop when no record created. 9957 * value-relation.h (relation_chain_head::m_num_relations): New. 9958 99592022-01-18 Richard Biener <rguenther@suse.de> 9960 9961 PR ipa/103989 9962 * ipa-inline.cc (inline_small_functions): Do not enqueue call 9963 edges originating in functions compiled with -Og. 9964 99652022-01-18 Richard Biener <rguenther@suse.de> 9966 9967 PR ipa/103989 9968 * passes.def (pass_all_optimizations_g): Remove pass_modref 9969 and pass_local_pure_const. 9970 99712022-01-18 Martin Liska <mliska@suse.cz> 9972 9973 * config/s390/s390.cc: Fix -Wformat-diag warnings. 9974 99752022-01-18 Martin Liska <mliska@suse.cz> 9976 9977 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap 9978 keyword in quotes. 9979 (s390_resolve_overloaded_builtin): Remove trailing dot. 9980 * config/s390/s390.cc (s390_const_operand_ok): Use - for range. 9981 (s390_expand_builtin): Remove trailing dot. 9982 (s390_emit_prologue): Likewise, use semicolon. 9983 (s390_option_override_internal): Update keyword. 9984 * varasm.cc (do_assemble_alias): Wrap keyword in quotes. 9985 99862022-01-18 Martin Liska <mliska@suse.cz> 9987 9988 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap 9989 keywords and use %qs instead of %<%s%>. 9990 99912022-01-18 Richard Biener <rguenther@suse.de> 9992 9993 PR tree-optimization/103987 9994 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref 9995 query with a pointer check. 9996 99972022-01-18 Richard Sandiford <richard.sandiford@arm.com> 9998 9999 PR target/104005 10000 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems): 10001 When using MEM_EXPR, require the base to be a decl. 10002 100032022-01-18 Richard Biener <rguenther@suse.de> 10004 10005 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to 10006 avoid padding. 10007 * function.h (struct function): Likewise. 10008 100092022-01-18 Arnaud Charlet <charlet@adacore.com> 10010 10011 * doc/install.texi: Update prerequisites for GNAT 10012 100132022-01-18 Andrew Pinski <apinski@marvell.com> 10014 10015 PR tree-optimization/101941 10016 * ipa-split.cc (visit_bb): Disallow function calls where 10017 the function has either error or warning attribute. 10018 100192022-01-18 Richard Biener <rguenther@suse.de> 10020 10021 PR tree-optimization/104064 10022 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check 10023 DR_INIT fits in a signed HWI, represent the difference from the 10024 first DR in unsigned. 10025 100262022-01-17 Martin Liska <mliska@suse.cz> 10027 10028 * Makefile.in: Rename .c names to .cc. 10029 * config.gcc: Likewise. 10030 * configure: Regenerate. Likewise. 10031 * configure.ac: Likewise. 10032 * gengtype.cc (set_gc_used): Likewise. 10033 (source_dot_c_frul): Likewise. 10034 (source_dot_cc_frul): Likewise. 10035 (struct file_rule_st): Likewise. 10036 (close_output_files): Likewise. 10037 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD. 10038 100392022-01-17 Martin Liska <mliska@suse.cz> 10040 10041 * Makefile.in: Rename .c names to .cc. 10042 * alias.h: Likewise. 10043 * asan.cc: Likewise. 10044 * auto-profile.h: Likewise. 10045 * basic-block.h (struct basic_block_d): Likewise. 10046 * btfout.cc: Likewise. 10047 * builtins.cc (expand_builtin_longjmp): Likewise. 10048 (validate_arg): Likewise. 10049 (access_ref::offset_bounded): Likewise. 10050 * caller-save.cc (reg_restore_code): Likewise. 10051 (setup_save_areas): Likewise. 10052 * calls.cc (initialize_argument_information): Likewise. 10053 (expand_call): Likewise. 10054 (emit_library_call_value_1): Likewise. 10055 * cfg-flags.def (RTL): Likewise. 10056 (SIBCALL): Likewise. 10057 (CAN_FALLTHRU): Likewise. 10058 * cfganal.cc (post_order_compute): Likewise. 10059 * cfgcleanup.cc (try_simplify_condjump): Likewise. 10060 (merge_blocks_move_predecessor_nojumps): Likewise. 10061 (merge_blocks_move_successor_nojumps): Likewise. 10062 (merge_blocks_move): Likewise. 10063 (old_insns_match_p): Likewise. 10064 (try_crossjump_bb): Likewise. 10065 * cfgexpand.cc (expand_gimple_stmt): Likewise. 10066 * cfghooks.cc (split_block_before_cond_jump): Likewise. 10067 (profile_record_check_consistency): Likewise. 10068 * cfghooks.h: Likewise. 10069 * cfgrtl.cc (pass_free_cfg::execute): Likewise. 10070 (rtl_can_merge_blocks): Likewise. 10071 (try_redirect_by_replacing_jump): Likewise. 10072 (make_pass_outof_cfg_layout_mode): Likewise. 10073 (cfg_layout_can_merge_blocks_p): Likewise. 10074 * cgraph.cc (release_function_body): Likewise. 10075 (cgraph_node::get_fun): Likewise. 10076 * cgraph.h (struct cgraph_node): Likewise. 10077 (asmname_hasher::equal): Likewise. 10078 (cgraph_inline_failed_type): Likewise. 10079 (thunk_adjust): Likewise. 10080 (dump_callgraph_transformation): Likewise. 10081 (record_references_in_initializer): Likewise. 10082 (ipa_discover_variable_flags): Likewise. 10083 * cgraphclones.cc (GTY): Likewise. 10084 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise. 10085 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise. 10086 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise. 10087 * collect2.cc (maybe_run_lto_and_relink): Likewise. 10088 * combine-stack-adj.cc: Likewise. 10089 * combine.cc (setup_incoming_promotions): Likewise. 10090 (combine_simplify_rtx): Likewise. 10091 (count_rtxs): Likewise. 10092 * common.opt: Likewise. 10093 * common/config/aarch64/aarch64-common.cc: Likewise. 10094 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise. 10095 * common/config/avr/avr-common.cc: Likewise. 10096 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise. 10097 * conditions.h: Likewise. 10098 * config.gcc: Likewise. 10099 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise. 10100 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise. 10101 (aarch64_get_extension_string_for_isa_flags): Likewise. 10102 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise. 10103 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise. 10104 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise. 10105 (aarch64_option_valid_attribute_p): Likewise. 10106 (aarch64_short_vector_p): Likewise. 10107 (aarch64_float_const_representable_p): Likewise. 10108 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise. 10109 (ASM_OUTPUT_POOL_EPILOGUE): Likewise. 10110 (GTY): Likewise. 10111 * config/aarch64/cortex-a57-fma-steering.cc: Likewise. 10112 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise. 10113 * config/aarch64/t-aarch64: Likewise. 10114 * config/aarch64/x-aarch64: Likewise. 10115 * config/aarch64/x-darwin: Likewise. 10116 * config/alpha/alpha-protos.h: Likewise. 10117 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise. 10118 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise. 10119 (enum reg_class): Likewise. 10120 * config/alpha/alpha.md: Likewise. 10121 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise. 10122 * config/alpha/x-alpha: Likewise. 10123 * config/arc/arc-protos.h (arc_eh_uses): Likewise. 10124 * config/arc/arc.cc (ARC_OPT): Likewise. 10125 (arc_ccfsm_advance): Likewise. 10126 (arc_arg_partial_bytes): Likewise. 10127 (conditionalize_nonjump): Likewise. 10128 * config/arc/arc.md: Likewise. 10129 * config/arc/builtins.def: Likewise. 10130 * config/arc/t-arc: Likewise. 10131 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise. 10132 (arm_pragma_target_parse): Likewise. 10133 * config/arm/arm-protos.h (save_restore_target_globals): Likewise. 10134 (arm_cpu_cpp_builtins): Likewise. 10135 * config/arm/arm.cc (vfp3_const_double_index): Likewise. 10136 (shift_op): Likewise. 10137 (thumb2_final_prescan_insn): Likewise. 10138 (arm_final_prescan_insn): Likewise. 10139 (arm_asm_output_labelref): Likewise. 10140 (arm_small_register_classes_for_mode_p): Likewise. 10141 * config/arm/arm.h: Likewise. 10142 * config/arm/arm.md: Likewise. 10143 * config/arm/driver-arm.cc: Likewise. 10144 * config/arm/symbian.h: Likewise. 10145 * config/arm/t-arm: Likewise. 10146 * config/arm/thumb1.md: Likewise. 10147 * config/arm/x-arm: Likewise. 10148 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise. 10149 * config/avr/avr-fixed.md: Likewise. 10150 * config/avr/avr-log.cc (avr_log_vadump): Likewise. 10151 * config/avr/avr-mcus.def: Likewise. 10152 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise. 10153 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise. 10154 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise. 10155 * config/avr/avr.cc (avr_option_override): Likewise. 10156 (avr_build_builtin_va_list): Likewise. 10157 (avr_mode_dependent_address_p): Likewise. 10158 (avr_function_arg_advance): Likewise. 10159 (avr_asm_output_aligned_decl_common): Likewise. 10160 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise. 10161 (SUPPORTS_INIT_PRIORITY): Likewise. 10162 * config/avr/avr.md: Likewise. 10163 * config/avr/builtins.def: Likewise. 10164 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise. 10165 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise. 10166 (main): Likewise. 10167 * config/avr/t-avr: Likewise. 10168 * config/bfin/bfin.cc (frame_related_constant_load): Likewise. 10169 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise. 10170 * config/bpf/bpf.h (enum reg_class): Likewise. 10171 * config/bpf/t-bpf: Likewise. 10172 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise. 10173 * config/cr16/cr16-protos.h: Likewise. 10174 * config/cris/cris.cc (cris_address_cost): Likewise. 10175 (cris_side_effect_mode_ok): Likewise. 10176 (cris_init_machine_status): Likewise. 10177 (cris_emit_movem_store): Likewise. 10178 * config/cris/cris.h (INDEX_REG_CLASS): Likewise. 10179 (enum reg_class): Likewise. 10180 (struct cum_args): Likewise. 10181 * config/cris/cris.opt: Likewise. 10182 * config/cris/sync.md: Likewise. 10183 * config/csky/csky.cc (csky_expand_prologue): Likewise. 10184 * config/darwin-c.cc: Likewise. 10185 * config/darwin-f.cc: Likewise. 10186 * config/darwin-sections.def (zobj_const_section): Likewise. 10187 * config/darwin.cc (output_objc_section_asm_op): Likewise. 10188 (fprintf): Likewise. 10189 * config/darwin.h (GTY): Likewise. 10190 * config/elfos.h: Likewise. 10191 * config/epiphany/epiphany-sched.md: Likewise. 10192 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise. 10193 * config/epiphany/epiphany.h (GTY): Likewise. 10194 (NO_FUNCTION_CSE): Likewise. 10195 * config/epiphany/mode-switch-use.cc: Likewise. 10196 * config/epiphany/predicates.md: Likewise. 10197 * config/epiphany/t-epiphany: Likewise. 10198 * config/fr30/fr30-protos.h: Likewise. 10199 * config/frv/frv-protos.h: Likewise. 10200 * config/frv/frv.cc (TLS_BIAS): Likewise. 10201 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise. 10202 * config/ft32/ft32-protos.h: Likewise. 10203 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise. 10204 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise. 10205 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise. 10206 * config/gcn/t-gcn-hsa: Likewise. 10207 * config/gcn/t-omp-device: Likewise. 10208 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise. 10209 (same_cmp_following_p): Likewise. 10210 * config/h8300/h8300.cc (F): Likewise. 10211 * config/h8300/h8300.h (struct cum_arg): Likewise. 10212 (BRANCH_COST): Likewise. 10213 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise. 10214 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise. 10215 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise. 10216 * config/i386/driver-i386.cc (detect_caches_intel): Likewise. 10217 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise. 10218 * config/i386/i386-c.cc (ix86_target_macros): Likewise. 10219 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise. 10220 * config/i386/i386-options.cc (ix86_set_func_type): Likewise. 10221 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise. 10222 (ix86_register_pragmas): Likewise. 10223 (ix86_d_has_stdcall_convention): Likewise. 10224 (i386_pe_seh_init_sections): Likewise. 10225 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise. 10226 (ix86_function_value_regno_p): Likewise. 10227 (ix86_compute_frame_layout): Likewise. 10228 (legitimize_pe_coff_symbol): Likewise. 10229 (output_pic_addr_const): Likewise. 10230 * config/i386/i386.h (defined): Likewise. 10231 (host_detect_local_cpu): Likewise. 10232 (CONSTANT_ADDRESS_P): Likewise. 10233 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise. 10234 (struct machine_frame_state): Likewise. 10235 * config/i386/i386.md: Likewise. 10236 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise. 10237 * config/i386/mmx.md: Likewise. 10238 * config/i386/sse.md: Likewise. 10239 * config/i386/t-cygming: Likewise. 10240 * config/i386/t-djgpp: Likewise. 10241 * config/i386/t-gnu-property: Likewise. 10242 * config/i386/t-i386: Likewise. 10243 * config/i386/t-intelmic: Likewise. 10244 * config/i386/t-omp-device: Likewise. 10245 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise. 10246 (i386_pe_adjust_class_at_definition): Likewise. 10247 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise. 10248 (i386_pe_mangle_decl_assembler_name): Likewise. 10249 (i386_pe_encode_section_info): Likewise. 10250 * config/i386/x-cygwin: Likewise. 10251 * config/i386/x-darwin: Likewise. 10252 * config/i386/x-i386: Likewise. 10253 * config/i386/x-mingw32: Likewise. 10254 * config/i386/x86-tune-sched-core.cc: Likewise. 10255 * config/i386/x86-tune.def: Likewise. 10256 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise. 10257 * config/ia64/freebsd.h: Likewise. 10258 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise. 10259 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise. 10260 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise. 10261 (ia64_secondary_reload_class): Likewise. 10262 (bundling): Likewise. 10263 * config/ia64/ia64.h: Likewise. 10264 * config/ia64/ia64.md: Likewise. 10265 * config/ia64/predicates.md: Likewise. 10266 * config/ia64/sysv4.h: Likewise. 10267 * config/ia64/t-ia64: Likewise. 10268 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise. 10269 * config/iq2000/iq2000.md: Likewise. 10270 * config/linux.h (TARGET_HAS_BIONIC): Likewise. 10271 (if): Likewise. 10272 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise. 10273 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise. 10274 * config/m32c/t-m32c: Likewise. 10275 * config/m32r/m32r-protos.h: Likewise. 10276 * config/m32r/m32r.cc (m32r_print_operand): Likewise. 10277 * config/m32r/m32r.h: Likewise. 10278 * config/m32r/m32r.md: Likewise. 10279 * config/m68k/m68k-isas.def: Likewise. 10280 * config/m68k/m68k-microarchs.def: Likewise. 10281 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise. 10282 (m68k_epilogue_uses): Likewise. 10283 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise. 10284 (m68k_sched_adjust_cost): Likewise. 10285 (m68k_sched_md_init): Likewise. 10286 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise. 10287 (enum m68k_function_kind): Likewise. 10288 * config/m68k/m68k.md: Likewise. 10289 * config/m68k/m68kemb.h: Likewise. 10290 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise. 10291 * config/mcore/mcore-protos.h: Likewise. 10292 * config/mcore/mcore.cc (mcore_expand_insv): Likewise. 10293 (mcore_expand_prolog): Likewise. 10294 * config/mcore/mcore.h (TARGET_MCORE): Likewise. 10295 * config/mcore/mcore.md: Likewise. 10296 * config/microblaze/microblaze-protos.h: Likewise. 10297 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise. 10298 (microblaze_function_prologue): Likewise. 10299 (microblaze_function_epilogue): Likewise. 10300 (microblaze_select_section): Likewise. 10301 (microblaze_asm_output_mi_thunk): Likewise. 10302 (microblaze_eh_return): Likewise. 10303 * config/microblaze/microblaze.h: Likewise. 10304 * config/microblaze/microblaze.md: Likewise. 10305 * config/microblaze/t-microblaze: Likewise. 10306 * config/mips/driver-native.cc: Likewise. 10307 * config/mips/loongson2ef.md: Likewise. 10308 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise. 10309 * config/mips/mips.cc (mips_rtx_costs): Likewise. 10310 (mips_output_filename): Likewise. 10311 (mips_output_function_prologue): Likewise. 10312 (mips_output_function_epilogue): Likewise. 10313 (mips_output_mi_thunk): Likewise. 10314 * config/mips/mips.h: Likewise. 10315 * config/mips/mips.md: Likewise. 10316 * config/mips/t-mips: Likewise. 10317 * config/mips/x-native: Likewise. 10318 * config/mmix/mmix-protos.h: Likewise. 10319 * config/mmix/mmix.cc (mmix_option_override): Likewise. 10320 (mmix_dbx_register_number): Likewise. 10321 (mmix_expand_prologue): Likewise. 10322 * config/mmix/mmix.h: Likewise. 10323 * config/mmix/mmix.md: Likewise. 10324 * config/mmix/predicates.md: Likewise. 10325 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise. 10326 (mn10300_legitimate_pic_operand_p): Likewise. 10327 * config/mn10300/mn10300.h (enum reg_class): Likewise. 10328 (NO_FUNCTION_CSE): Likewise. 10329 * config/moxie/moxie-protos.h: Likewise. 10330 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise. 10331 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise. 10332 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise. 10333 (msp430_incoming_return_addr_rtx): Likewise. 10334 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise. 10335 * config/msp430/t-msp430: Likewise. 10336 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise. 10337 (nds32_rtx_costs_size_prefer): Likewise. 10338 (nds32_init_rtx_costs): Likewise. 10339 * config/nds32/nds32-doubleword.md: Likewise. 10340 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise. 10341 (nds32_builtin_decl): Likewise. 10342 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise. 10343 (enum nds32_isr_nested_type): Likewise. 10344 (enum reg_class): Likewise. 10345 * config/nds32/predicates.md: Likewise. 10346 * config/nds32/t-nds32: Likewise. 10347 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise. 10348 * config/nvptx/nvptx-protos.h: Likewise. 10349 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise. 10350 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise. 10351 * config/nvptx/t-nvptx: Likewise. 10352 * config/nvptx/t-omp-device: Likewise. 10353 * config/pa/elf.h: Likewise. 10354 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise. 10355 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise. 10356 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise. 10357 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise. 10358 (pa_legitimize_reload_address): Likewise. 10359 (pa_can_use_return_insn): Likewise. 10360 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise. 10361 (som_output_text_section_asm_op): Likewise. 10362 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise. 10363 * config/pa/pa.md: Likewise. 10364 * config/pa/som.h: Likewise. 10365 * config/pa/t-pa: Likewise. 10366 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise. 10367 * config/pdp11/pdp11.h: Likewise. 10368 * config/pdp11/pdp11.md: Likewise. 10369 * config/pdp11/t-pdp11: Likewise. 10370 * config/pru/pru.md: Likewise. 10371 * config/pru/t-pru: Likewise. 10372 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise. 10373 (riscv_gpr_save_operation_p): Likewise. 10374 (riscv_d_register_target_info): Likewise. 10375 (riscv_init_builtins): Likewise. 10376 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise. 10377 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise. 10378 * config/riscv/t-riscv: Likewise. 10379 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise. 10380 * config/rl78/t-rl78: Likewise. 10381 * config/rs6000/aix.h: Likewise. 10382 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise. 10383 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise. 10384 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise. 10385 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise. 10386 * config/rs6000/driver-rs6000.cc: Likewise. 10387 * config/rs6000/freebsd.h: Likewise. 10388 * config/rs6000/freebsd64.h: Likewise. 10389 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise. 10390 * config/rs6000/rbtree.cc: Likewise. 10391 * config/rs6000/rbtree.h: Likewise. 10392 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise. 10393 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise. 10394 (rs6000_expand_builtin): Likewise. 10395 (rs6000_init_builtins): Likewise. 10396 * config/rs6000/rs6000-cpus.def: Likewise. 10397 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise. 10398 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise. 10399 (quad_address_offset_p): Likewise. 10400 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise. 10401 (rs6000_emit_epilogue): Likewise. 10402 * config/rs6000/rs6000-overload.def: Likewise. 10403 * config/rs6000/rs6000-p8swap.cc: Likewise. 10404 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise. 10405 (rs6000_const_f32_to_i32): Likewise. 10406 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise. 10407 (rs6000_debug_legitimize_address): Likewise. 10408 (rs6000_mode_dependent_address): Likewise. 10409 (rs6000_adjust_priority): Likewise. 10410 (rs6000_c_mode_for_suffix): Likewise. 10411 * config/rs6000/rs6000.h (defined): Likewise. 10412 (LONG_DOUBLE_TYPE_SIZE): Likewise. 10413 * config/rs6000/rs6000.md: Likewise. 10414 * config/rs6000/sysv4.h: Likewise. 10415 * config/rs6000/t-linux: Likewise. 10416 * config/rs6000/t-linux64: Likewise. 10417 * config/rs6000/t-rs6000: Likewise. 10418 * config/rs6000/x-darwin: Likewise. 10419 * config/rs6000/x-darwin64: Likewise. 10420 * config/rs6000/x-rs6000: Likewise. 10421 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise. 10422 * config/rx/rx.cc (rx_expand_builtin): Likewise. 10423 * config/s390/constraints.md: Likewise. 10424 * config/s390/driver-native.cc: Likewise. 10425 * config/s390/htmxlintrin.h: Likewise. 10426 * config/s390/s390-builtins.def (B_DEF): Likewise. 10427 (OB_DEF_VAR): Likewise. 10428 * config/s390/s390-builtins.h: Likewise. 10429 * config/s390/s390-c.cc: Likewise. 10430 * config/s390/s390-opts.h: Likewise. 10431 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise. 10432 (s390_register_target_pragmas): Likewise. 10433 * config/s390/s390.cc (s390_init_builtins): Likewise. 10434 (s390_expand_plus_operand): Likewise. 10435 (s390_expand_atomic): Likewise. 10436 (s390_valid_target_attribute_inner_p): Likewise. 10437 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise. 10438 * config/s390/s390.md: Likewise. 10439 * config/s390/t-s390: Likewise. 10440 * config/s390/vx-builtins.md: Likewise. 10441 * config/s390/x-native: Likewise. 10442 * config/sh/divtab-sh4-300.cc (main): Likewise. 10443 * config/sh/divtab-sh4.cc (main): Likewise. 10444 * config/sh/divtab.cc (main): Likewise. 10445 * config/sh/elf.h: Likewise. 10446 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise. 10447 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise. 10448 (sh_struct_value_rtx): Likewise. 10449 (sh_remove_reg_dead_or_unused_notes): Likewise. 10450 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise. 10451 * config/sh/t-sh: Likewise. 10452 * config/sol2-protos.h (solaris_override_options): Likewise. 10453 * config/sol2.h: Likewise. 10454 * config/sparc/driver-sparc.cc: Likewise. 10455 * config/sparc/freebsd.h: Likewise. 10456 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise. 10457 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise. 10458 (sparc_asan_shadow_offset): Likewise. 10459 * config/sparc/sparc.h: Likewise. 10460 * config/sparc/sparc.md: Likewise. 10461 * config/sparc/t-sparc: Likewise. 10462 * config/sparc/x-sparc: Likewise. 10463 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise. 10464 * config/t-darwin: Likewise. 10465 * config/t-dragonfly: Likewise. 10466 * config/t-freebsd: Likewise. 10467 * config/t-glibc: Likewise. 10468 * config/t-linux: Likewise. 10469 * config/t-netbsd: Likewise. 10470 * config/t-openbsd: Likewise. 10471 * config/t-pnt16-warn: Likewise. 10472 * config/t-sol2: Likewise. 10473 * config/t-vxworks: Likewise. 10474 * config/t-winnt: Likewise. 10475 * config/tilegx/t-tilegx: Likewise. 10476 * config/tilegx/tilegx-c.cc: Likewise. 10477 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise. 10478 * config/tilegx/tilegx.md: Likewise. 10479 * config/tilepro/t-tilepro: Likewise. 10480 * config/tilepro/tilepro-c.cc: Likewise. 10481 * config/v850/t-v850: Likewise. 10482 * config/v850/v850-protos.h: Likewise. 10483 * config/v850/v850.cc (F): Likewise. 10484 * config/v850/v850.h (enum reg_class): Likewise. 10485 (SLOW_BYTE_ACCESS): Likewise. 10486 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise. 10487 * config/vax/vax.h (enum reg_class): Likewise. 10488 * config/vax/vax.md: Likewise. 10489 * config/visium/visium.cc (visium_legitimate_address_p): Likewise. 10490 * config/visium/visium.h: Likewise. 10491 * config/vms/t-vms: Likewise. 10492 * config/vms/vms-crtlmap.map: Likewise. 10493 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise. 10494 * config/vx-common.h: Likewise. 10495 * config/x-darwin: Likewise. 10496 * config/x-hpux: Likewise. 10497 * config/x-linux: Likewise. 10498 * config/x-netbsd: Likewise. 10499 * config/x-openbsd: Likewise. 10500 * config/x-solaris: Likewise. 10501 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise. 10502 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise. 10503 * config/xtensa/xtensa.h: Likewise. 10504 * configure.ac: Likewise. 10505 * context.cc: Likewise. 10506 * convert.h: Likewise. 10507 * coretypes.h: Likewise. 10508 * coverage.cc: Likewise. 10509 * coverage.h: Likewise. 10510 * cppdefault.h (struct default_include): Likewise. 10511 * cprop.cc (local_cprop_pass): Likewise. 10512 (one_cprop_pass): Likewise. 10513 * cse.cc (hash_rtx_cb): Likewise. 10514 (fold_rtx): Likewise. 10515 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise. 10516 * data-streamer.h (bp_unpack_var_len_int): Likewise. 10517 (streamer_write_widest_int): Likewise. 10518 * dbgcnt.def: Likewise. 10519 * dbxout.cc (dbxout_early_global_decl): Likewise. 10520 (dbxout_common_check): Likewise. 10521 * dbxout.h: Likewise. 10522 * debug.h (struct gcc_debug_hooks): Likewise. 10523 (dump_go_spec_init): Likewise. 10524 * df-core.cc: Likewise. 10525 * df-scan.cc (df_insn_info_delete): Likewise. 10526 (df_insn_delete): Likewise. 10527 * df.h (debug_df_chain): Likewise. 10528 (can_move_insns_across): Likewise. 10529 * dfp.cc (decimal_from_binary): Likewise. 10530 * diagnostic-color.cc: Likewise. 10531 * diagnostic-event-id.h: Likewise. 10532 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise. 10533 * diagnostic.cc (bt_callback): Likewise. 10534 (num_digits): Likewise. 10535 * doc/avr-mmcu.texi: Likewise. 10536 * doc/cfg.texi: Likewise. 10537 * doc/contrib.texi: Likewise. 10538 * doc/cppinternals.texi: Likewise. 10539 * doc/extend.texi: Likewise. 10540 * doc/generic.texi: Likewise. 10541 * doc/gimple.texi: Likewise. 10542 * doc/gty.texi: Likewise. 10543 * doc/invoke.texi: Likewise. 10544 * doc/loop.texi: Likewise. 10545 * doc/lto.texi: Likewise. 10546 * doc/match-and-simplify.texi: Likewise. 10547 * doc/md.texi: Likewise. 10548 * doc/optinfo.texi: Likewise. 10549 * doc/options.texi: Likewise. 10550 * doc/passes.texi: Likewise. 10551 * doc/plugins.texi: Likewise. 10552 * doc/rtl.texi: Likewise. 10553 * doc/sourcebuild.texi: Likewise. 10554 * doc/tm.texi: Likewise. 10555 * doc/tm.texi.in: Likewise. 10556 * doc/tree-ssa.texi: Likewise. 10557 * dojump.cc (do_jump): Likewise. 10558 * dojump.h: Likewise. 10559 * dumpfile.cc (test_impl_location): Likewise. 10560 (test_capture_of_dump_calls): Likewise. 10561 * dumpfile.h (enum dump_kind): Likewise. 10562 (class dump_location_t): Likewise. 10563 (dump_enabled_p): Likewise. 10564 (enable_rtl_dump_file): Likewise. 10565 (dump_combine_total_stats): Likewise. 10566 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise. 10567 * dwarf2ctf.h (ctf_debug_finish): Likewise. 10568 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise. 10569 (struct loc_descr_context): Likewise. 10570 (rtl_for_decl_location): Likewise. 10571 (gen_subprogram_die): Likewise. 10572 (gen_label_die): Likewise. 10573 (is_trivial_indirect_ref): Likewise. 10574 (dwarf2out_late_global_decl): Likewise. 10575 (dwarf_file_hasher::hash): Likewise. 10576 (dwarf2out_end_source_file): Likewise. 10577 (dwarf2out_define): Likewise. 10578 (dwarf2out_early_finish): Likewise. 10579 * dwarf2out.h (struct dw_fde_node): Likewise. 10580 (struct dw_discr_list_node): Likewise. 10581 (output_loc_sequence_raw): Likewise. 10582 * emit-rtl.cc (gen_raw_REG): Likewise. 10583 (maybe_set_max_label_num): Likewise. 10584 * emit-rtl.h (struct rtl_data): Likewise. 10585 * errors.cc (internal_error): Likewise. 10586 (trim_filename): Likewise. 10587 * et-forest.cc: Likewise. 10588 * except.cc (init_eh_for_function): Likewise. 10589 * explow.cc (promote_ssa_mode): Likewise. 10590 (get_dynamic_stack_size): Likewise. 10591 * explow.h: Likewise. 10592 * expmed.h: Likewise. 10593 * expr.cc (safe_from_p): Likewise. 10594 (expand_expr_real_2): Likewise. 10595 (expand_expr_real_1): Likewise. 10596 * file-prefix-map.cc (remap_filename): Likewise. 10597 * final.cc (app_enable): Likewise. 10598 (make_pass_compute_alignments): Likewise. 10599 (final_scan_insn_1): Likewise. 10600 (final_scan_insn): Likewise. 10601 * fixed-value.h (fixed_from_string): Likewise. 10602 * flag-types.h (NO_DEBUG): Likewise. 10603 (DWARF2_DEBUG): Likewise. 10604 (VMS_DEBUG): Likewise. 10605 (BTF_DEBUG): Likewise. 10606 (enum ctf_debug_info_levels): Likewise. 10607 * fold-const.cc (const_binop): Likewise. 10608 (fold_binary_loc): Likewise. 10609 (fold_checksum_tree): Likewise. 10610 * fp-test.cc: Likewise. 10611 * function.cc (expand_function_end): Likewise. 10612 * function.h (struct function): Likewise. 10613 * fwprop.cc (should_replace_address): Likewise. 10614 * gcc-main.cc: Likewise. 10615 * gcc-rich-location.h (class gcc_rich_location): Likewise. 10616 * gcc-symtab.h: Likewise. 10617 * gcc.cc (MIN_FATAL_STATUS): Likewise. 10618 (driver_handle_option): Likewise. 10619 (quote_spec_arg): Likewise. 10620 (driver::finalize): Likewise. 10621 * gcc.h (set_input): Likewise. 10622 * gcov-dump.cc: Likewise. 10623 * gcov.cc (solve_flow_graph): Likewise. 10624 * gcse-common.cc: Likewise. 10625 * gcse.cc (make_pass_rtl_hoist): Likewise. 10626 * genattr-common.cc: Likewise. 10627 * genattrtab.cc (min_fn): Likewise. 10628 (write_const_num_delay_slots): Likewise. 10629 * genautomata.cc: Likewise. 10630 * genconditions.cc (write_one_condition): Likewise. 10631 * genconstants.cc: Likewise. 10632 * genemit.cc (gen_exp): Likewise. 10633 * generic-match-head.cc: Likewise. 10634 * genextract.cc: Likewise. 10635 * gengenrtl.cc (always_void_p): Likewise. 10636 * gengtype-parse.cc (gtymarker_opt): Likewise. 10637 * gengtype-state.cc (state_writer::state_writer): Likewise. 10638 (write_state_trailer): Likewise. 10639 (equals_type_number): Likewise. 10640 (read_state): Likewise. 10641 * gengtype.cc (open_base_files): Likewise. 10642 (struct file_rule_st): Likewise. 10643 (header_dot_h_frul): Likewise. 10644 * gengtype.h: Likewise. 10645 * genmatch.cc (main): Likewise. 10646 * genmddeps.cc: Likewise. 10647 * genmodes.cc (emit_mode_inner): Likewise. 10648 (emit_mode_unit_size): Likewise. 10649 * genpeep.cc (gen_peephole): Likewise. 10650 * genpreds.cc (write_tm_preds_h): Likewise. 10651 * genrecog.cc (validate_pattern): Likewise. 10652 (write_header): Likewise. 10653 (main): Likewise. 10654 * gensupport.cc (change_subst_attribute): Likewise. 10655 (traverse_c_tests): Likewise. 10656 (add_predicate): Likewise. 10657 (init_predicate_table): Likewise. 10658 * gensupport.h (struct optab_pattern): Likewise. 10659 (get_num_insn_codes): Likewise. 10660 (maybe_eval_c_test): Likewise. 10661 (struct pred_data): Likewise. 10662 * ggc-internal.h: Likewise. 10663 * gimple-fold.cc (maybe_fold_reference): Likewise. 10664 (get_range_strlen_tree): Likewise. 10665 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise. 10666 * gimple-low.cc: Likewise. 10667 * gimple-match-head.cc (directly_supported_p): Likewise. 10668 * gimple-pretty-print.h: Likewise. 10669 * gimple-ssa-sprintf.cc (format_percent): Likewise. 10670 (adjust_range_for_overflow): Likewise. 10671 * gimple-streamer.h: Likewise. 10672 * gimple.h (struct GTY): Likewise. 10673 (is_gimple_resx): Likewise. 10674 * gimplify.cc (gimplify_expr): Likewise. 10675 (gimplify_init_constructor): Likewise. 10676 (omp_construct_selector_matches): Likewise. 10677 (gimplify_omp_target_update): Likewise. 10678 (gimplify_omp_ordered): Likewise. 10679 (gimplify_va_arg_expr): Likewise. 10680 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise. 10681 * haifa-sched.cc (increase_insn_priority): Likewise. 10682 (try_ready): Likewise. 10683 (sched_create_recovery_edges): Likewise. 10684 * ifcvt.cc (find_if_case_1): Likewise. 10685 (find_if_case_2): Likewise. 10686 * inchash.h: Likewise. 10687 * incpath.cc (add_env_var_paths): Likewise. 10688 * input.cc (dump_location_info): Likewise. 10689 (assert_loceq): Likewise. 10690 (test_lexer_string_locations_concatenation_1): Likewise. 10691 (test_lexer_string_locations_concatenation_2): Likewise. 10692 (test_lexer_string_locations_concatenation_3): Likewise. 10693 * input.h (BUILTINS_LOCATION): Likewise. 10694 (class string_concat_db): Likewise. 10695 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise. 10696 (expand_LOOP_VECTORIZED): Likewise. 10697 * ipa-cp.cc (make_pass_ipa_cp): Likewise. 10698 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise. 10699 (ipa_fn_summary_t::duplicate): Likewise. 10700 (make_pass_ipa_fn_summary): Likewise. 10701 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise. 10702 * ipa-free-lang-data.cc (fld_simplified_type): Likewise. 10703 (free_lang_data_in_decl): Likewise. 10704 * ipa-inline.cc (compute_inlined_call_time): Likewise. 10705 (inline_always_inline_functions): Likewise. 10706 * ipa-inline.h (free_growth_caches): Likewise. 10707 (inline_account_function_p): Likewise. 10708 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise. 10709 (modref_eaf_analysis::analyze_ssa_name): Likewise. 10710 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise. 10711 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise. 10712 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise. 10713 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise. 10714 (unadjusted_ptr_and_unit_offset): Likewise. 10715 * ipa-reference.cc (make_pass_ipa_reference): Likewise. 10716 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise. 10717 * ipa-split.cc (consider_split): Likewise. 10718 * ipa-sra.cc (isra_read_node_info): Likewise. 10719 * ipa-utils.h (struct ipa_dfs_info): Likewise. 10720 (recursive_call_p): Likewise. 10721 (ipa_make_function_pure): Likewise. 10722 * ira-build.cc (ira_create_allocno): Likewise. 10723 (ira_flattening): Likewise. 10724 * ira-color.cc (do_coloring): Likewise. 10725 (update_curr_costs): Likewise. 10726 * ira-conflicts.cc (process_regs_for_copy): Likewise. 10727 * ira-int.h (struct ira_emit_data): Likewise. 10728 (ira_prohibited_mode_move_regs): Likewise. 10729 (ira_get_dup_out_num): Likewise. 10730 (ira_destroy): Likewise. 10731 (ira_tune_allocno_costs): Likewise. 10732 (ira_implicitly_set_insn_hard_regs): Likewise. 10733 (ira_build_conflicts): Likewise. 10734 (ira_color): Likewise. 10735 * ira-lives.cc (process_bb_node_lives): Likewise. 10736 * ira.cc (class ira_spilled_reg_stack_slot): Likewise. 10737 (setup_uniform_class_p): Likewise. 10738 (def_dominates_uses): Likewise. 10739 * ira.h (ira_nullify_asm_goto): Likewise. 10740 * langhooks.cc (lhd_post_options): Likewise. 10741 * langhooks.h (class substring_loc): Likewise. 10742 (struct lang_hooks_for_tree_inlining): Likewise. 10743 (struct lang_hooks_for_types): Likewise. 10744 (struct lang_hooks): Likewise. 10745 * libfuncs.h (synchronize_libfunc): Likewise. 10746 * loop-doloop.cc (doloop_condition_get): Likewise. 10747 * loop-init.cc (fix_loop_structure): Likewise. 10748 * loop-invariant.cc: Likewise. 10749 * lower-subreg.h: Likewise. 10750 * lra-constraints.cc (curr_insn_transform): Likewise. 10751 * lra-int.h (struct lra_insn_reg): Likewise. 10752 (lra_undo_inheritance): Likewise. 10753 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise. 10754 (lra_split_hard_reg_for): Likewise. 10755 (lra_coalesce): Likewise. 10756 (lra_final_code_change): Likewise. 10757 * lra-spills.cc (lra_final_code_change): Likewise. 10758 * lra.cc (lra_process_new_insns): Likewise. 10759 * lto-compress.h (struct lto_compression_stream): Likewise. 10760 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise. 10761 (write_symbol): Likewise. 10762 * lto-streamer.h (enum LTO_tags): Likewise. 10763 (lto_value_range_error): Likewise. 10764 (lto_append_block): Likewise. 10765 (lto_streamer_hooks_init): Likewise. 10766 (stream_read_tree_ref): Likewise. 10767 (lto_prepare_function_for_streaming): Likewise. 10768 (select_what_to_stream): Likewise. 10769 (omp_lto_input_declare_variant_alt): Likewise. 10770 (cl_optimization_stream_in): Likewise. 10771 * lto-wrapper.cc (append_compiler_options): Likewise. 10772 * machmode.def: Likewise. 10773 * machmode.h (struct int_n_data_t): Likewise. 10774 * main.cc (main): Likewise. 10775 * match.pd: Likewise. 10776 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise. 10777 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise. 10778 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise. 10779 (make_pass_expand_omp_ssa): Likewise. 10780 * omp-low.cc (struct omp_context): Likewise. 10781 (struct omp_taskcopy_context): Likewise. 10782 (lower_omp): Likewise. 10783 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise. 10784 (mask_name): Likewise. 10785 (omp_sese_dump_pars): Likewise. 10786 (worker_single_simple): Likewise. 10787 * omp-offload.cc (omp_finish_file): Likewise. 10788 (execute_oacc_loop_designation): Likewise. 10789 * optabs-query.cc (lshift_cheap_p): Likewise. 10790 * optc-gen.awk: Likewise. 10791 * optc-save-gen.awk: Likewise. 10792 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise. 10793 * opts-common.cc: Likewise. 10794 * output.h (app_enable): Likewise. 10795 (output_operand_lossage): Likewise. 10796 (insn_current_reference_address): Likewise. 10797 (get_insn_template): Likewise. 10798 (output_quoted_string): Likewise. 10799 * pass_manager.h (struct register_pass_info): Likewise. 10800 * plugin.cc: Likewise. 10801 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise. 10802 * plugin.h (invoke_plugin_callbacks): Likewise. 10803 * pointer-query.cc (handle_mem_ref): Likewise. 10804 * postreload-gcse.cc (alloc_mem): Likewise. 10805 * predict.h (enum prediction): Likewise. 10806 (add_reg_br_prob_note): Likewise. 10807 * prefix.h: Likewise. 10808 * profile.h (get_working_sets): Likewise. 10809 * read-md.cc: Likewise. 10810 * read-md.h (struct mapping): Likewise. 10811 (class md_reader): Likewise. 10812 (class noop_reader): Likewise. 10813 * read-rtl-function.cc (function_reader::create_function): Likewise. 10814 (function_reader::extra_parsing_for_operand_code_0): Likewise. 10815 * read-rtl.cc (initialize_iterators): Likewise. 10816 * real.cc: Likewise. 10817 * real.h (struct real_value): Likewise. 10818 (format_helper::format_helper): Likewise. 10819 (real_hash): Likewise. 10820 (real_can_shorten_arithmetic): Likewise. 10821 * recog.cc (struct target_recog): Likewise. 10822 (offsettable_nonstrict_memref_p): Likewise. 10823 (constrain_operands): Likewise. 10824 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise. 10825 (which_op_alt): Likewise. 10826 (struct insn_gen_fn): Likewise. 10827 * reg-notes.def (REG_NOTE): Likewise. 10828 * reg-stack.cc: Likewise. 10829 * regs.h (reg_is_parm_p): Likewise. 10830 * regset.h: Likewise. 10831 * reload.cc (push_reload): Likewise. 10832 (find_reloads): Likewise. 10833 (find_reloads_address_1): Likewise. 10834 (find_replacement): Likewise. 10835 (refers_to_regno_for_reload_p): Likewise. 10836 (refers_to_mem_for_reload_p): Likewise. 10837 * reload.h (push_reload): Likewise. 10838 (deallocate_reload_reg): Likewise. 10839 * reload1.cc (emit_input_reload_insns): Likewise. 10840 * reorg.cc (relax_delay_slots): Likewise. 10841 * rtl.def (UNKNOWN): Likewise. 10842 (SEQUENCE): Likewise. 10843 (BARRIER): Likewise. 10844 (ASM_OPERANDS): Likewise. 10845 (EQ_ATTR_ALT): Likewise. 10846 * rtl.h (struct GTY): Likewise. 10847 (LABEL_NAME): Likewise. 10848 (LABEL_ALT_ENTRY_P): Likewise. 10849 (SUBREG_BYTE): Likewise. 10850 (get_stack_check_protect): Likewise. 10851 (dump_rtx_statistics): Likewise. 10852 (unwrap_const_vec_duplicate): Likewise. 10853 (subreg_promoted_mode): Likewise. 10854 (gen_lowpart_common): Likewise. 10855 (operand_subword): Likewise. 10856 (immed_wide_int_const): Likewise. 10857 (decide_function_section): Likewise. 10858 (active_insn_p): Likewise. 10859 (delete_related_insns): Likewise. 10860 (try_split): Likewise. 10861 (val_signbit_known_clear_p): Likewise. 10862 (simplifiable_subregs): Likewise. 10863 (set_insn_deleted): Likewise. 10864 (subreg_get_info): Likewise. 10865 (remove_free_EXPR_LIST_node): Likewise. 10866 (finish_subregs_of_mode): Likewise. 10867 (get_mem_attrs): Likewise. 10868 (lookup_constant_def): Likewise. 10869 (rtx_to_tree_code): Likewise. 10870 (hash_rtx): Likewise. 10871 (condjump_in_parallel_p): Likewise. 10872 (validate_subreg): Likewise. 10873 (make_compound_operation): Likewise. 10874 (schedule_ebbs): Likewise. 10875 (print_inline_rtx): Likewise. 10876 (fixup_args_size_notes): Likewise. 10877 (expand_dec): Likewise. 10878 (prepare_copy_insn): Likewise. 10879 (mark_elimination): Likewise. 10880 (valid_mode_changes_for_regno): Likewise. 10881 (make_debug_expr_from_rtl): Likewise. 10882 (delete_vta_debug_insns): Likewise. 10883 (simplify_using_condition): Likewise. 10884 (set_insn_locations): Likewise. 10885 (fatal_insn_not_found): Likewise. 10886 (word_register_operation_p): Likewise. 10887 * rtlanal.cc (get_call_fndecl): Likewise. 10888 (side_effects_p): Likewise. 10889 (subreg_nregs): Likewise. 10890 (rtx_cost): Likewise. 10891 (canonicalize_condition): Likewise. 10892 * rtlanal.h (rtx_properties::try_to_add_note): Likewise. 10893 * run-rtl-passes.cc (run_rtl_passes): Likewise. 10894 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise. 10895 * sched-deps.cc (add_dependence_1): Likewise. 10896 * sched-ebb.cc (begin_move_insn): Likewise. 10897 (add_deps_for_risky_insns): Likewise. 10898 (advance_target_bb): Likewise. 10899 * sched-int.h (reemit_notes): Likewise. 10900 (struct _haifa_insn_data): Likewise. 10901 (HID): Likewise. 10902 (DEP_CANCELLED): Likewise. 10903 (debug_ds): Likewise. 10904 (number_in_ready): Likewise. 10905 (schedule_ebbs_finish): Likewise. 10906 (find_modifiable_mems): Likewise. 10907 * sched-rgn.cc (debug_rgn_dependencies): Likewise. 10908 * sel-sched-dump.cc (dump_lv_set): Likewise. 10909 * sel-sched-dump.h: Likewise. 10910 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise. 10911 (setup_id_reg_sets): Likewise. 10912 (has_dependence_p): Likewise. 10913 (sel_num_cfg_preds_gt_1): Likewise. 10914 (bb_ends_ebb_p): Likewise. 10915 * sel-sched-ir.h (struct _list_node): Likewise. 10916 (struct idata_def): Likewise. 10917 (bb_next_bb): Likewise. 10918 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise. 10919 (choose_best_pseudo_reg): Likewise. 10920 (verify_target_availability): Likewise. 10921 (can_speculate_dep_p): Likewise. 10922 (sel_rank_for_schedule): Likewise. 10923 * selftest-run-tests.cc (selftest::run_tests): Likewise. 10924 * selftest.h (class auto_fix_quotes): Likewise. 10925 * shrink-wrap.cc (handle_simple_exit): Likewise. 10926 * shrink-wrap.h: Likewise. 10927 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise. 10928 (simplify_context::simplify_gen_vec_select): Likewise. 10929 * spellcheck-tree.h: Likewise. 10930 * spellcheck.h: Likewise. 10931 * statistics.h (struct function): Likewise. 10932 * stmt.cc (conditional_probability): Likewise. 10933 * stmt.h: Likewise. 10934 * stor-layout.h: Likewise. 10935 * streamer-hooks.h: Likewise. 10936 * stringpool.h: Likewise. 10937 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise. 10938 * target.def (HOOK_VECTOR_END): Likewise. 10939 (type.): Likewise. 10940 * target.h (union cumulative_args_t): Likewise. 10941 (by_pieces_ninsns): Likewise. 10942 (class predefined_function_abi): Likewise. 10943 * targhooks.cc (default_translate_mode_attribute): Likewise. 10944 * timevar.def: Likewise. 10945 * timevar.h (class timer): Likewise. 10946 * toplev.h (enable_rtl_dump_file): Likewise. 10947 * trans-mem.cc (collect_bb2reg): Likewise. 10948 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise. 10949 * tree-cfg.cc (remove_bb): Likewise. 10950 (verify_gimple_debug): Likewise. 10951 (remove_edge_and_dominated_blocks): Likewise. 10952 (push_fndecl): Likewise. 10953 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise. 10954 * tree-complex.cc (expand_complex_multiplication): Likewise. 10955 (expand_complex_div_straight): Likewise. 10956 * tree-core.h (enum tree_index): Likewise. 10957 (enum operand_equal_flag): Likewise. 10958 * tree-eh.cc (honor_protect_cleanup_actions): Likewise. 10959 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise. 10960 * tree-inline.cc (initialize_inlined_parameters): Likewise. 10961 * tree-inline.h (force_value_to_type): Likewise. 10962 * tree-nested.cc (get_chain_decl): Likewise. 10963 (walk_all_functions): Likewise. 10964 * tree-object-size.h: Likewise. 10965 * tree-outof-ssa.cc: Likewise. 10966 * tree-parloops.cc (create_parallel_loop): Likewise. 10967 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise. 10968 (dump_generic_node): Likewise. 10969 * tree-profile.cc (tree_profiling): Likewise. 10970 * tree-sra.cc (maybe_add_sra_candidate): Likewise. 10971 * tree-ssa-address.cc: Likewise. 10972 * tree-ssa-alias.cc: Likewise. 10973 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise. 10974 (dump_alias_stats): Likewise. 10975 * tree-ssa-ccp.cc: Likewise. 10976 * tree-ssa-coalesce.h: Likewise. 10977 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise. 10978 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise. 10979 * tree-ssa-loop-unswitch.cc: Likewise. 10980 * tree-ssa-math-opts.cc: Likewise. 10981 * tree-ssa-operands.cc (class operands_scanner): Likewise. 10982 * tree-ssa-pre.cc: Likewise. 10983 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise. 10984 (debug_range_entry): Likewise. 10985 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise. 10986 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise. 10987 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise. 10988 (equal_mem_array_ref_p): Likewise. 10989 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise. 10990 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise. 10991 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise. 10992 * tree-ssa-ter.h: Likewise. 10993 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise. 10994 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise. 10995 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise. 10996 (write_ts_block_tree_pointers): Likewise. 10997 * tree-streamer.h (struct streamer_tree_cache_d): Likewise. 10998 (streamer_read_tree_bitfields): Likewise. 10999 (streamer_write_integer_cst): Likewise. 11000 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise. 11001 (vect_synth_mult_by_constant): Likewise. 11002 * tree-vect-stmts.cc (vectorizable_operation): Likewise. 11003 * tree-vectorizer.cc: Likewise. 11004 * tree-vectorizer.h (class auto_purge_vect_location): Likewise. 11005 (vect_update_inits_of_drs): Likewise. 11006 (vect_get_mask_type_for_stmt): Likewise. 11007 (vect_rgroup_iv_might_wrap_p): Likewise. 11008 (cse_and_gimplify_to_preheader): Likewise. 11009 (vect_free_slp_tree): Likewise. 11010 (vect_pattern_recog): Likewise. 11011 (vect_stmt_dominates_stmt_p): Likewise. 11012 * tree.cc (initialize_tree_contains_struct): Likewise. 11013 (need_assembler_name_p): Likewise. 11014 (type_with_interoperable_signedness): Likewise. 11015 * tree.def (SWITCH_EXPR): Likewise. 11016 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise. 11017 (poly_int_tree_p): Likewise. 11018 (inlined_function_outer_scope_p): Likewise. 11019 (tree_code_for_canonical_type_merging): Likewise. 11020 * value-prof.cc: Likewise. 11021 * value-prof.h (get_nth_most_common_value): Likewise. 11022 (find_func_by_profile_id): Likewise. 11023 * value-range.cc (vrp_operand_equal_p): Likewise. 11024 * value-range.h: Likewise. 11025 * var-tracking.cc: Likewise. 11026 * varasm.cc (default_function_section): Likewise. 11027 (function_section_1): Likewise. 11028 (assemble_variable): Likewise. 11029 (handle_vtv_comdat_section): Likewise. 11030 * vec.h (struct vec_prefix): Likewise. 11031 * vmsdbgout.cc (full_name): Likewise. 11032 * vtable-verify.cc: Likewise. 11033 * vtable-verify.h (struct vtv_graph_node): Likewise. 11034 * xcoffout.cc: Likewise. 11035 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise. 11036 110372022-01-17 Martin Liska <mliska@suse.cz> 11038 11039 * adjust-alignment.c: Moved to... 11040 * adjust-alignment.cc: ...here. 11041 * alias.c: Moved to... 11042 * alias.cc: ...here. 11043 * alloc-pool.c: Moved to... 11044 * alloc-pool.cc: ...here. 11045 * asan.c: Moved to... 11046 * asan.cc: ...here. 11047 * attribs.c: Moved to... 11048 * attribs.cc: ...here. 11049 * auto-inc-dec.c: Moved to... 11050 * auto-inc-dec.cc: ...here. 11051 * auto-profile.c: Moved to... 11052 * auto-profile.cc: ...here. 11053 * bb-reorder.c: Moved to... 11054 * bb-reorder.cc: ...here. 11055 * bitmap.c: Moved to... 11056 * bitmap.cc: ...here. 11057 * btfout.c: Moved to... 11058 * btfout.cc: ...here. 11059 * builtins.c: Moved to... 11060 * builtins.cc: ...here. 11061 * caller-save.c: Moved to... 11062 * caller-save.cc: ...here. 11063 * calls.c: Moved to... 11064 * calls.cc: ...here. 11065 * ccmp.c: Moved to... 11066 * ccmp.cc: ...here. 11067 * cfg.c: Moved to... 11068 * cfg.cc: ...here. 11069 * cfganal.c: Moved to... 11070 * cfganal.cc: ...here. 11071 * cfgbuild.c: Moved to... 11072 * cfgbuild.cc: ...here. 11073 * cfgcleanup.c: Moved to... 11074 * cfgcleanup.cc: ...here. 11075 * cfgexpand.c: Moved to... 11076 * cfgexpand.cc: ...here. 11077 * cfghooks.c: Moved to... 11078 * cfghooks.cc: ...here. 11079 * cfgloop.c: Moved to... 11080 * cfgloop.cc: ...here. 11081 * cfgloopanal.c: Moved to... 11082 * cfgloopanal.cc: ...here. 11083 * cfgloopmanip.c: Moved to... 11084 * cfgloopmanip.cc: ...here. 11085 * cfgrtl.c: Moved to... 11086 * cfgrtl.cc: ...here. 11087 * cgraph.c: Moved to... 11088 * cgraph.cc: ...here. 11089 * cgraphbuild.c: Moved to... 11090 * cgraphbuild.cc: ...here. 11091 * cgraphclones.c: Moved to... 11092 * cgraphclones.cc: ...here. 11093 * cgraphunit.c: Moved to... 11094 * cgraphunit.cc: ...here. 11095 * collect-utils.c: Moved to... 11096 * collect-utils.cc: ...here. 11097 * collect2-aix.c: Moved to... 11098 * collect2-aix.cc: ...here. 11099 * collect2.c: Moved to... 11100 * collect2.cc: ...here. 11101 * combine-stack-adj.c: Moved to... 11102 * combine-stack-adj.cc: ...here. 11103 * combine.c: Moved to... 11104 * combine.cc: ...here. 11105 * common/common-targhooks.c: Moved to... 11106 * common/common-targhooks.cc: ...here. 11107 * common/config/aarch64/aarch64-common.c: Moved to... 11108 * common/config/aarch64/aarch64-common.cc: ...here. 11109 * common/config/alpha/alpha-common.c: Moved to... 11110 * common/config/alpha/alpha-common.cc: ...here. 11111 * common/config/arc/arc-common.c: Moved to... 11112 * common/config/arc/arc-common.cc: ...here. 11113 * common/config/arm/arm-common.c: Moved to... 11114 * common/config/arm/arm-common.cc: ...here. 11115 * common/config/avr/avr-common.c: Moved to... 11116 * common/config/avr/avr-common.cc: ...here. 11117 * common/config/bfin/bfin-common.c: Moved to... 11118 * common/config/bfin/bfin-common.cc: ...here. 11119 * common/config/bpf/bpf-common.c: Moved to... 11120 * common/config/bpf/bpf-common.cc: ...here. 11121 * common/config/c6x/c6x-common.c: Moved to... 11122 * common/config/c6x/c6x-common.cc: ...here. 11123 * common/config/cr16/cr16-common.c: Moved to... 11124 * common/config/cr16/cr16-common.cc: ...here. 11125 * common/config/cris/cris-common.c: Moved to... 11126 * common/config/cris/cris-common.cc: ...here. 11127 * common/config/csky/csky-common.c: Moved to... 11128 * common/config/csky/csky-common.cc: ...here. 11129 * common/config/default-common.c: Moved to... 11130 * common/config/default-common.cc: ...here. 11131 * common/config/epiphany/epiphany-common.c: Moved to... 11132 * common/config/epiphany/epiphany-common.cc: ...here. 11133 * common/config/fr30/fr30-common.c: Moved to... 11134 * common/config/fr30/fr30-common.cc: ...here. 11135 * common/config/frv/frv-common.c: Moved to... 11136 * common/config/frv/frv-common.cc: ...here. 11137 * common/config/gcn/gcn-common.c: Moved to... 11138 * common/config/gcn/gcn-common.cc: ...here. 11139 * common/config/h8300/h8300-common.c: Moved to... 11140 * common/config/h8300/h8300-common.cc: ...here. 11141 * common/config/i386/i386-common.c: Moved to... 11142 * common/config/i386/i386-common.cc: ...here. 11143 * common/config/ia64/ia64-common.c: Moved to... 11144 * common/config/ia64/ia64-common.cc: ...here. 11145 * common/config/iq2000/iq2000-common.c: Moved to... 11146 * common/config/iq2000/iq2000-common.cc: ...here. 11147 * common/config/lm32/lm32-common.c: Moved to... 11148 * common/config/lm32/lm32-common.cc: ...here. 11149 * common/config/m32r/m32r-common.c: Moved to... 11150 * common/config/m32r/m32r-common.cc: ...here. 11151 * common/config/m68k/m68k-common.c: Moved to... 11152 * common/config/m68k/m68k-common.cc: ...here. 11153 * common/config/mcore/mcore-common.c: Moved to... 11154 * common/config/mcore/mcore-common.cc: ...here. 11155 * common/config/microblaze/microblaze-common.c: Moved to... 11156 * common/config/microblaze/microblaze-common.cc: ...here. 11157 * common/config/mips/mips-common.c: Moved to... 11158 * common/config/mips/mips-common.cc: ...here. 11159 * common/config/mmix/mmix-common.c: Moved to... 11160 * common/config/mmix/mmix-common.cc: ...here. 11161 * common/config/mn10300/mn10300-common.c: Moved to... 11162 * common/config/mn10300/mn10300-common.cc: ...here. 11163 * common/config/msp430/msp430-common.c: Moved to... 11164 * common/config/msp430/msp430-common.cc: ...here. 11165 * common/config/nds32/nds32-common.c: Moved to... 11166 * common/config/nds32/nds32-common.cc: ...here. 11167 * common/config/nios2/nios2-common.c: Moved to... 11168 * common/config/nios2/nios2-common.cc: ...here. 11169 * common/config/nvptx/nvptx-common.c: Moved to... 11170 * common/config/nvptx/nvptx-common.cc: ...here. 11171 * common/config/or1k/or1k-common.c: Moved to... 11172 * common/config/or1k/or1k-common.cc: ...here. 11173 * common/config/pa/pa-common.c: Moved to... 11174 * common/config/pa/pa-common.cc: ...here. 11175 * common/config/pdp11/pdp11-common.c: Moved to... 11176 * common/config/pdp11/pdp11-common.cc: ...here. 11177 * common/config/pru/pru-common.c: Moved to... 11178 * common/config/pru/pru-common.cc: ...here. 11179 * common/config/riscv/riscv-common.c: Moved to... 11180 * common/config/riscv/riscv-common.cc: ...here. 11181 * common/config/rs6000/rs6000-common.c: Moved to... 11182 * common/config/rs6000/rs6000-common.cc: ...here. 11183 * common/config/rx/rx-common.c: Moved to... 11184 * common/config/rx/rx-common.cc: ...here. 11185 * common/config/s390/s390-common.c: Moved to... 11186 * common/config/s390/s390-common.cc: ...here. 11187 * common/config/sh/sh-common.c: Moved to... 11188 * common/config/sh/sh-common.cc: ...here. 11189 * common/config/sparc/sparc-common.c: Moved to... 11190 * common/config/sparc/sparc-common.cc: ...here. 11191 * common/config/tilegx/tilegx-common.c: Moved to... 11192 * common/config/tilegx/tilegx-common.cc: ...here. 11193 * common/config/tilepro/tilepro-common.c: Moved to... 11194 * common/config/tilepro/tilepro-common.cc: ...here. 11195 * common/config/v850/v850-common.c: Moved to... 11196 * common/config/v850/v850-common.cc: ...here. 11197 * common/config/vax/vax-common.c: Moved to... 11198 * common/config/vax/vax-common.cc: ...here. 11199 * common/config/visium/visium-common.c: Moved to... 11200 * common/config/visium/visium-common.cc: ...here. 11201 * common/config/xstormy16/xstormy16-common.c: Moved to... 11202 * common/config/xstormy16/xstormy16-common.cc: ...here. 11203 * common/config/xtensa/xtensa-common.c: Moved to... 11204 * common/config/xtensa/xtensa-common.cc: ...here. 11205 * compare-elim.c: Moved to... 11206 * compare-elim.cc: ...here. 11207 * config/aarch64/aarch64-bti-insert.c: Moved to... 11208 * config/aarch64/aarch64-bti-insert.cc: ...here. 11209 * config/aarch64/aarch64-builtins.c: Moved to... 11210 * config/aarch64/aarch64-builtins.cc: ...here. 11211 * config/aarch64/aarch64-c.c: Moved to... 11212 * config/aarch64/aarch64-c.cc: ...here. 11213 * config/aarch64/aarch64-d.c: Moved to... 11214 * config/aarch64/aarch64-d.cc: ...here. 11215 * config/aarch64/aarch64.c: Moved to... 11216 * config/aarch64/aarch64.cc: ...here. 11217 * config/aarch64/cortex-a57-fma-steering.c: Moved to... 11218 * config/aarch64/cortex-a57-fma-steering.cc: ...here. 11219 * config/aarch64/driver-aarch64.c: Moved to... 11220 * config/aarch64/driver-aarch64.cc: ...here. 11221 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to... 11222 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here. 11223 * config/aarch64/host-aarch64-darwin.c: Moved to... 11224 * config/aarch64/host-aarch64-darwin.cc: ...here. 11225 * config/alpha/alpha.c: Moved to... 11226 * config/alpha/alpha.cc: ...here. 11227 * config/alpha/driver-alpha.c: Moved to... 11228 * config/alpha/driver-alpha.cc: ...here. 11229 * config/arc/arc-c.c: Moved to... 11230 * config/arc/arc-c.cc: ...here. 11231 * config/arc/arc.c: Moved to... 11232 * config/arc/arc.cc: ...here. 11233 * config/arc/driver-arc.c: Moved to... 11234 * config/arc/driver-arc.cc: ...here. 11235 * config/arm/aarch-common.c: Moved to... 11236 * config/arm/aarch-common.cc: ...here. 11237 * config/arm/arm-builtins.c: Moved to... 11238 * config/arm/arm-builtins.cc: ...here. 11239 * config/arm/arm-c.c: Moved to... 11240 * config/arm/arm-c.cc: ...here. 11241 * config/arm/arm-d.c: Moved to... 11242 * config/arm/arm-d.cc: ...here. 11243 * config/arm/arm.c: Moved to... 11244 * config/arm/arm.cc: ...here. 11245 * config/arm/driver-arm.c: Moved to... 11246 * config/arm/driver-arm.cc: ...here. 11247 * config/avr/avr-c.c: Moved to... 11248 * config/avr/avr-c.cc: ...here. 11249 * config/avr/avr-devices.c: Moved to... 11250 * config/avr/avr-devices.cc: ...here. 11251 * config/avr/avr-log.c: Moved to... 11252 * config/avr/avr-log.cc: ...here. 11253 * config/avr/avr.c: Moved to... 11254 * config/avr/avr.cc: ...here. 11255 * config/avr/driver-avr.c: Moved to... 11256 * config/avr/driver-avr.cc: ...here. 11257 * config/avr/gen-avr-mmcu-specs.c: Moved to... 11258 * config/avr/gen-avr-mmcu-specs.cc: ...here. 11259 * config/avr/gen-avr-mmcu-texi.c: Moved to... 11260 * config/avr/gen-avr-mmcu-texi.cc: ...here. 11261 * config/bfin/bfin.c: Moved to... 11262 * config/bfin/bfin.cc: ...here. 11263 * config/bpf/bpf.c: Moved to... 11264 * config/bpf/bpf.cc: ...here. 11265 * config/bpf/coreout.c: Moved to... 11266 * config/bpf/coreout.cc: ...here. 11267 * config/c6x/c6x.c: Moved to... 11268 * config/c6x/c6x.cc: ...here. 11269 * config/cr16/cr16.c: Moved to... 11270 * config/cr16/cr16.cc: ...here. 11271 * config/cris/cris.c: Moved to... 11272 * config/cris/cris.cc: ...here. 11273 * config/csky/csky.c: Moved to... 11274 * config/csky/csky.cc: ...here. 11275 * config/darwin-c.c: Moved to... 11276 * config/darwin-c.cc: ...here. 11277 * config/darwin-d.c: Moved to... 11278 * config/darwin-d.cc: ...here. 11279 * config/darwin-driver.c: Moved to... 11280 * config/darwin-driver.cc: ...here. 11281 * config/darwin-f.c: Moved to... 11282 * config/darwin-f.cc: ...here. 11283 * config/darwin.c: Moved to... 11284 * config/darwin.cc: ...here. 11285 * config/default-c.c: Moved to... 11286 * config/default-c.cc: ...here. 11287 * config/default-d.c: Moved to... 11288 * config/default-d.cc: ...here. 11289 * config/dragonfly-d.c: Moved to... 11290 * config/dragonfly-d.cc: ...here. 11291 * config/epiphany/epiphany.c: Moved to... 11292 * config/epiphany/epiphany.cc: ...here. 11293 * config/epiphany/mode-switch-use.c: Moved to... 11294 * config/epiphany/mode-switch-use.cc: ...here. 11295 * config/epiphany/resolve-sw-modes.c: Moved to... 11296 * config/epiphany/resolve-sw-modes.cc: ...here. 11297 * config/fr30/fr30.c: Moved to... 11298 * config/fr30/fr30.cc: ...here. 11299 * config/freebsd-d.c: Moved to... 11300 * config/freebsd-d.cc: ...here. 11301 * config/frv/frv.c: Moved to... 11302 * config/frv/frv.cc: ...here. 11303 * config/ft32/ft32.c: Moved to... 11304 * config/ft32/ft32.cc: ...here. 11305 * config/gcn/driver-gcn.c: Moved to... 11306 * config/gcn/driver-gcn.cc: ...here. 11307 * config/gcn/gcn-run.c: Moved to... 11308 * config/gcn/gcn-run.cc: ...here. 11309 * config/gcn/gcn-tree.c: Moved to... 11310 * config/gcn/gcn-tree.cc: ...here. 11311 * config/gcn/gcn.c: Moved to... 11312 * config/gcn/gcn.cc: ...here. 11313 * config/gcn/mkoffload.c: Moved to... 11314 * config/gcn/mkoffload.cc: ...here. 11315 * config/glibc-c.c: Moved to... 11316 * config/glibc-c.cc: ...here. 11317 * config/glibc-d.c: Moved to... 11318 * config/glibc-d.cc: ...here. 11319 * config/h8300/h8300.c: Moved to... 11320 * config/h8300/h8300.cc: ...here. 11321 * config/host-darwin.c: Moved to... 11322 * config/host-darwin.cc: ...here. 11323 * config/host-hpux.c: Moved to... 11324 * config/host-hpux.cc: ...here. 11325 * config/host-linux.c: Moved to... 11326 * config/host-linux.cc: ...here. 11327 * config/host-netbsd.c: Moved to... 11328 * config/host-netbsd.cc: ...here. 11329 * config/host-openbsd.c: Moved to... 11330 * config/host-openbsd.cc: ...here. 11331 * config/host-solaris.c: Moved to... 11332 * config/host-solaris.cc: ...here. 11333 * config/i386/djgpp.c: Moved to... 11334 * config/i386/djgpp.cc: ...here. 11335 * config/i386/driver-i386.c: Moved to... 11336 * config/i386/driver-i386.cc: ...here. 11337 * config/i386/driver-mingw32.c: Moved to... 11338 * config/i386/driver-mingw32.cc: ...here. 11339 * config/i386/gnu-property.c: Moved to... 11340 * config/i386/gnu-property.cc: ...here. 11341 * config/i386/host-cygwin.c: Moved to... 11342 * config/i386/host-cygwin.cc: ...here. 11343 * config/i386/host-i386-darwin.c: Moved to... 11344 * config/i386/host-i386-darwin.cc: ...here. 11345 * config/i386/host-mingw32.c: Moved to... 11346 * config/i386/host-mingw32.cc: ...here. 11347 * config/i386/i386-builtins.c: Moved to... 11348 * config/i386/i386-builtins.cc: ...here. 11349 * config/i386/i386-c.c: Moved to... 11350 * config/i386/i386-c.cc: ...here. 11351 * config/i386/i386-d.c: Moved to... 11352 * config/i386/i386-d.cc: ...here. 11353 * config/i386/i386-expand.c: Moved to... 11354 * config/i386/i386-expand.cc: ...here. 11355 * config/i386/i386-features.c: Moved to... 11356 * config/i386/i386-features.cc: ...here. 11357 * config/i386/i386-options.c: Moved to... 11358 * config/i386/i386-options.cc: ...here. 11359 * config/i386/i386.c: Moved to... 11360 * config/i386/i386.cc: ...here. 11361 * config/i386/intelmic-mkoffload.c: Moved to... 11362 * config/i386/intelmic-mkoffload.cc: ...here. 11363 * config/i386/msformat-c.c: Moved to... 11364 * config/i386/msformat-c.cc: ...here. 11365 * config/i386/winnt-cxx.c: Moved to... 11366 * config/i386/winnt-cxx.cc: ...here. 11367 * config/i386/winnt-d.c: Moved to... 11368 * config/i386/winnt-d.cc: ...here. 11369 * config/i386/winnt-stubs.c: Moved to... 11370 * config/i386/winnt-stubs.cc: ...here. 11371 * config/i386/winnt.c: Moved to... 11372 * config/i386/winnt.cc: ...here. 11373 * config/i386/x86-tune-sched-atom.c: Moved to... 11374 * config/i386/x86-tune-sched-atom.cc: ...here. 11375 * config/i386/x86-tune-sched-bd.c: Moved to... 11376 * config/i386/x86-tune-sched-bd.cc: ...here. 11377 * config/i386/x86-tune-sched-core.c: Moved to... 11378 * config/i386/x86-tune-sched-core.cc: ...here. 11379 * config/i386/x86-tune-sched.c: Moved to... 11380 * config/i386/x86-tune-sched.cc: ...here. 11381 * config/ia64/ia64-c.c: Moved to... 11382 * config/ia64/ia64-c.cc: ...here. 11383 * config/ia64/ia64.c: Moved to... 11384 * config/ia64/ia64.cc: ...here. 11385 * config/iq2000/iq2000.c: Moved to... 11386 * config/iq2000/iq2000.cc: ...here. 11387 * config/linux.c: Moved to... 11388 * config/linux.cc: ...here. 11389 * config/lm32/lm32.c: Moved to... 11390 * config/lm32/lm32.cc: ...here. 11391 * config/m32c/m32c-pragma.c: Moved to... 11392 * config/m32c/m32c-pragma.cc: ...here. 11393 * config/m32c/m32c.c: Moved to... 11394 * config/m32c/m32c.cc: ...here. 11395 * config/m32r/m32r.c: Moved to... 11396 * config/m32r/m32r.cc: ...here. 11397 * config/m68k/m68k.c: Moved to... 11398 * config/m68k/m68k.cc: ...here. 11399 * config/mcore/mcore.c: Moved to... 11400 * config/mcore/mcore.cc: ...here. 11401 * config/microblaze/microblaze-c.c: Moved to... 11402 * config/microblaze/microblaze-c.cc: ...here. 11403 * config/microblaze/microblaze.c: Moved to... 11404 * config/microblaze/microblaze.cc: ...here. 11405 * config/mips/driver-native.c: Moved to... 11406 * config/mips/driver-native.cc: ...here. 11407 * config/mips/frame-header-opt.c: Moved to... 11408 * config/mips/frame-header-opt.cc: ...here. 11409 * config/mips/mips-d.c: Moved to... 11410 * config/mips/mips-d.cc: ...here. 11411 * config/mips/mips.c: Moved to... 11412 * config/mips/mips.cc: ...here. 11413 * config/mmix/mmix.c: Moved to... 11414 * config/mmix/mmix.cc: ...here. 11415 * config/mn10300/mn10300.c: Moved to... 11416 * config/mn10300/mn10300.cc: ...here. 11417 * config/moxie/moxie.c: Moved to... 11418 * config/moxie/moxie.cc: ...here. 11419 * config/msp430/driver-msp430.c: Moved to... 11420 * config/msp430/driver-msp430.cc: ...here. 11421 * config/msp430/msp430-c.c: Moved to... 11422 * config/msp430/msp430-c.cc: ...here. 11423 * config/msp430/msp430-devices.c: Moved to... 11424 * config/msp430/msp430-devices.cc: ...here. 11425 * config/msp430/msp430.c: Moved to... 11426 * config/msp430/msp430.cc: ...here. 11427 * config/nds32/nds32-cost.c: Moved to... 11428 * config/nds32/nds32-cost.cc: ...here. 11429 * config/nds32/nds32-fp-as-gp.c: Moved to... 11430 * config/nds32/nds32-fp-as-gp.cc: ...here. 11431 * config/nds32/nds32-intrinsic.c: Moved to... 11432 * config/nds32/nds32-intrinsic.cc: ...here. 11433 * config/nds32/nds32-isr.c: Moved to... 11434 * config/nds32/nds32-isr.cc: ...here. 11435 * config/nds32/nds32-md-auxiliary.c: Moved to... 11436 * config/nds32/nds32-md-auxiliary.cc: ...here. 11437 * config/nds32/nds32-memory-manipulation.c: Moved to... 11438 * config/nds32/nds32-memory-manipulation.cc: ...here. 11439 * config/nds32/nds32-pipelines-auxiliary.c: Moved to... 11440 * config/nds32/nds32-pipelines-auxiliary.cc: ...here. 11441 * config/nds32/nds32-predicates.c: Moved to... 11442 * config/nds32/nds32-predicates.cc: ...here. 11443 * config/nds32/nds32-relax-opt.c: Moved to... 11444 * config/nds32/nds32-relax-opt.cc: ...here. 11445 * config/nds32/nds32-utils.c: Moved to... 11446 * config/nds32/nds32-utils.cc: ...here. 11447 * config/nds32/nds32.c: Moved to... 11448 * config/nds32/nds32.cc: ...here. 11449 * config/netbsd-d.c: Moved to... 11450 * config/netbsd-d.cc: ...here. 11451 * config/netbsd.c: Moved to... 11452 * config/netbsd.cc: ...here. 11453 * config/nios2/nios2.c: Moved to... 11454 * config/nios2/nios2.cc: ...here. 11455 * config/nvptx/mkoffload.c: Moved to... 11456 * config/nvptx/mkoffload.cc: ...here. 11457 * config/nvptx/nvptx-c.c: Moved to... 11458 * config/nvptx/nvptx-c.cc: ...here. 11459 * config/nvptx/nvptx.c: Moved to... 11460 * config/nvptx/nvptx.cc: ...here. 11461 * config/openbsd-d.c: Moved to... 11462 * config/openbsd-d.cc: ...here. 11463 * config/or1k/or1k.c: Moved to... 11464 * config/or1k/or1k.cc: ...here. 11465 * config/pa/pa-d.c: Moved to... 11466 * config/pa/pa-d.cc: ...here. 11467 * config/pa/pa.c: Moved to... 11468 * config/pa/pa.cc: ...here. 11469 * config/pdp11/pdp11.c: Moved to... 11470 * config/pdp11/pdp11.cc: ...here. 11471 * config/pru/pru-passes.c: Moved to... 11472 * config/pru/pru-passes.cc: ...here. 11473 * config/pru/pru-pragma.c: Moved to... 11474 * config/pru/pru-pragma.cc: ...here. 11475 * config/pru/pru.c: Moved to... 11476 * config/pru/pru.cc: ...here. 11477 * config/riscv/riscv-builtins.c: Moved to... 11478 * config/riscv/riscv-builtins.cc: ...here. 11479 * config/riscv/riscv-c.c: Moved to... 11480 * config/riscv/riscv-c.cc: ...here. 11481 * config/riscv/riscv-d.c: Moved to... 11482 * config/riscv/riscv-d.cc: ...here. 11483 * config/riscv/riscv-shorten-memrefs.c: Moved to... 11484 * config/riscv/riscv-shorten-memrefs.cc: ...here. 11485 * config/riscv/riscv-sr.c: Moved to... 11486 * config/riscv/riscv-sr.cc: ...here. 11487 * config/riscv/riscv.c: Moved to... 11488 * config/riscv/riscv.cc: ...here. 11489 * config/rl78/rl78-c.c: Moved to... 11490 * config/rl78/rl78-c.cc: ...here. 11491 * config/rl78/rl78.c: Moved to... 11492 * config/rl78/rl78.cc: ...here. 11493 * config/rs6000/driver-rs6000.c: Moved to... 11494 * config/rs6000/driver-rs6000.cc: ...here. 11495 * config/rs6000/host-darwin.c: Moved to... 11496 * config/rs6000/host-darwin.cc: ...here. 11497 * config/rs6000/host-ppc64-darwin.c: Moved to... 11498 * config/rs6000/host-ppc64-darwin.cc: ...here. 11499 * config/rs6000/rbtree.c: Moved to... 11500 * config/rs6000/rbtree.cc: ...here. 11501 * config/rs6000/rs6000-c.c: Moved to... 11502 * config/rs6000/rs6000-c.cc: ...here. 11503 * config/rs6000/rs6000-call.c: Moved to... 11504 * config/rs6000/rs6000-call.cc: ...here. 11505 * config/rs6000/rs6000-d.c: Moved to... 11506 * config/rs6000/rs6000-d.cc: ...here. 11507 * config/rs6000/rs6000-gen-builtins.c: Moved to... 11508 * config/rs6000/rs6000-gen-builtins.cc: ...here. 11509 * config/rs6000/rs6000-linux.c: Moved to... 11510 * config/rs6000/rs6000-linux.cc: ...here. 11511 * config/rs6000/rs6000-logue.c: Moved to... 11512 * config/rs6000/rs6000-logue.cc: ...here. 11513 * config/rs6000/rs6000-p8swap.c: Moved to... 11514 * config/rs6000/rs6000-p8swap.cc: ...here. 11515 * config/rs6000/rs6000-pcrel-opt.c: Moved to... 11516 * config/rs6000/rs6000-pcrel-opt.cc: ...here. 11517 * config/rs6000/rs6000-string.c: Moved to... 11518 * config/rs6000/rs6000-string.cc: ...here. 11519 * config/rs6000/rs6000.c: Moved to... 11520 * config/rs6000/rs6000.cc: ...here. 11521 * config/rx/rx.c: Moved to... 11522 * config/rx/rx.cc: ...here. 11523 * config/s390/driver-native.c: Moved to... 11524 * config/s390/driver-native.cc: ...here. 11525 * config/s390/s390-c.c: Moved to... 11526 * config/s390/s390-c.cc: ...here. 11527 * config/s390/s390-d.c: Moved to... 11528 * config/s390/s390-d.cc: ...here. 11529 * config/s390/s390.c: Moved to... 11530 * config/s390/s390.cc: ...here. 11531 * config/sh/divtab-sh4-300.c: Moved to... 11532 * config/sh/divtab-sh4-300.cc: ...here. 11533 * config/sh/divtab-sh4.c: Moved to... 11534 * config/sh/divtab-sh4.cc: ...here. 11535 * config/sh/divtab.c: Moved to... 11536 * config/sh/divtab.cc: ...here. 11537 * config/sh/sh-c.c: Moved to... 11538 * config/sh/sh-c.cc: ...here. 11539 * config/sh/sh.c: Moved to... 11540 * config/sh/sh.cc: ...here. 11541 * config/sol2-c.c: Moved to... 11542 * config/sol2-c.cc: ...here. 11543 * config/sol2-cxx.c: Moved to... 11544 * config/sol2-cxx.cc: ...here. 11545 * config/sol2-d.c: Moved to... 11546 * config/sol2-d.cc: ...here. 11547 * config/sol2-stubs.c: Moved to... 11548 * config/sol2-stubs.cc: ...here. 11549 * config/sol2.c: Moved to... 11550 * config/sol2.cc: ...here. 11551 * config/sparc/driver-sparc.c: Moved to... 11552 * config/sparc/driver-sparc.cc: ...here. 11553 * config/sparc/sparc-c.c: Moved to... 11554 * config/sparc/sparc-c.cc: ...here. 11555 * config/sparc/sparc-d.c: Moved to... 11556 * config/sparc/sparc-d.cc: ...here. 11557 * config/sparc/sparc.c: Moved to... 11558 * config/sparc/sparc.cc: ...here. 11559 * config/stormy16/stormy16.c: Moved to... 11560 * config/stormy16/stormy16.cc: ...here. 11561 * config/tilegx/mul-tables.c: Moved to... 11562 * config/tilegx/mul-tables.cc: ...here. 11563 * config/tilegx/tilegx-c.c: Moved to... 11564 * config/tilegx/tilegx-c.cc: ...here. 11565 * config/tilegx/tilegx.c: Moved to... 11566 * config/tilegx/tilegx.cc: ...here. 11567 * config/tilepro/mul-tables.c: Moved to... 11568 * config/tilepro/mul-tables.cc: ...here. 11569 * config/tilepro/tilepro-c.c: Moved to... 11570 * config/tilepro/tilepro-c.cc: ...here. 11571 * config/tilepro/tilepro.c: Moved to... 11572 * config/tilepro/tilepro.cc: ...here. 11573 * config/v850/v850-c.c: Moved to... 11574 * config/v850/v850-c.cc: ...here. 11575 * config/v850/v850.c: Moved to... 11576 * config/v850/v850.cc: ...here. 11577 * config/vax/vax.c: Moved to... 11578 * config/vax/vax.cc: ...here. 11579 * config/visium/visium.c: Moved to... 11580 * config/visium/visium.cc: ...here. 11581 * config/vms/vms-c.c: Moved to... 11582 * config/vms/vms-c.cc: ...here. 11583 * config/vms/vms-f.c: Moved to... 11584 * config/vms/vms-f.cc: ...here. 11585 * config/vms/vms.c: Moved to... 11586 * config/vms/vms.cc: ...here. 11587 * config/vxworks-c.c: Moved to... 11588 * config/vxworks-c.cc: ...here. 11589 * config/vxworks.c: Moved to... 11590 * config/vxworks.cc: ...here. 11591 * config/winnt-c.c: Moved to... 11592 * config/winnt-c.cc: ...here. 11593 * config/xtensa/xtensa.c: Moved to... 11594 * config/xtensa/xtensa.cc: ...here. 11595 * context.c: Moved to... 11596 * context.cc: ...here. 11597 * convert.c: Moved to... 11598 * convert.cc: ...here. 11599 * coverage.c: Moved to... 11600 * coverage.cc: ...here. 11601 * cppbuiltin.c: Moved to... 11602 * cppbuiltin.cc: ...here. 11603 * cppdefault.c: Moved to... 11604 * cppdefault.cc: ...here. 11605 * cprop.c: Moved to... 11606 * cprop.cc: ...here. 11607 * cse.c: Moved to... 11608 * cse.cc: ...here. 11609 * cselib.c: Moved to... 11610 * cselib.cc: ...here. 11611 * ctfc.c: Moved to... 11612 * ctfc.cc: ...here. 11613 * ctfout.c: Moved to... 11614 * ctfout.cc: ...here. 11615 * data-streamer-in.c: Moved to... 11616 * data-streamer-in.cc: ...here. 11617 * data-streamer-out.c: Moved to... 11618 * data-streamer-out.cc: ...here. 11619 * data-streamer.c: Moved to... 11620 * data-streamer.cc: ...here. 11621 * dbgcnt.c: Moved to... 11622 * dbgcnt.cc: ...here. 11623 * dbxout.c: Moved to... 11624 * dbxout.cc: ...here. 11625 * dce.c: Moved to... 11626 * dce.cc: ...here. 11627 * ddg.c: Moved to... 11628 * ddg.cc: ...here. 11629 * debug.c: Moved to... 11630 * debug.cc: ...here. 11631 * df-core.c: Moved to... 11632 * df-core.cc: ...here. 11633 * df-problems.c: Moved to... 11634 * df-problems.cc: ...here. 11635 * df-scan.c: Moved to... 11636 * df-scan.cc: ...here. 11637 * dfp.c: Moved to... 11638 * dfp.cc: ...here. 11639 * diagnostic-color.c: Moved to... 11640 * diagnostic-color.cc: ...here. 11641 * diagnostic-show-locus.c: Moved to... 11642 * diagnostic-show-locus.cc: ...here. 11643 * diagnostic-spec.c: Moved to... 11644 * diagnostic-spec.cc: ...here. 11645 * diagnostic.c: Moved to... 11646 * diagnostic.cc: ...here. 11647 * dojump.c: Moved to... 11648 * dojump.cc: ...here. 11649 * dominance.c: Moved to... 11650 * dominance.cc: ...here. 11651 * domwalk.c: Moved to... 11652 * domwalk.cc: ...here. 11653 * double-int.c: Moved to... 11654 * double-int.cc: ...here. 11655 * dse.c: Moved to... 11656 * dse.cc: ...here. 11657 * dumpfile.c: Moved to... 11658 * dumpfile.cc: ...here. 11659 * dwarf2asm.c: Moved to... 11660 * dwarf2asm.cc: ...here. 11661 * dwarf2cfi.c: Moved to... 11662 * dwarf2cfi.cc: ...here. 11663 * dwarf2ctf.c: Moved to... 11664 * dwarf2ctf.cc: ...here. 11665 * dwarf2out.c: Moved to... 11666 * dwarf2out.cc: ...here. 11667 * early-remat.c: Moved to... 11668 * early-remat.cc: ...here. 11669 * edit-context.c: Moved to... 11670 * edit-context.cc: ...here. 11671 * emit-rtl.c: Moved to... 11672 * emit-rtl.cc: ...here. 11673 * errors.c: Moved to... 11674 * errors.cc: ...here. 11675 * et-forest.c: Moved to... 11676 * et-forest.cc: ...here. 11677 * except.c: Moved to... 11678 * except.cc: ...here. 11679 * explow.c: Moved to... 11680 * explow.cc: ...here. 11681 * expmed.c: Moved to... 11682 * expmed.cc: ...here. 11683 * expr.c: Moved to... 11684 * expr.cc: ...here. 11685 * fibonacci_heap.c: Moved to... 11686 * fibonacci_heap.cc: ...here. 11687 * file-find.c: Moved to... 11688 * file-find.cc: ...here. 11689 * file-prefix-map.c: Moved to... 11690 * file-prefix-map.cc: ...here. 11691 * final.c: Moved to... 11692 * final.cc: ...here. 11693 * fixed-value.c: Moved to... 11694 * fixed-value.cc: ...here. 11695 * fold-const-call.c: Moved to... 11696 * fold-const-call.cc: ...here. 11697 * fold-const.c: Moved to... 11698 * fold-const.cc: ...here. 11699 * fp-test.c: Moved to... 11700 * fp-test.cc: ...here. 11701 * function-tests.c: Moved to... 11702 * function-tests.cc: ...here. 11703 * function.c: Moved to... 11704 * function.cc: ...here. 11705 * fwprop.c: Moved to... 11706 * fwprop.cc: ...here. 11707 * gcc-ar.c: Moved to... 11708 * gcc-ar.cc: ...here. 11709 * gcc-main.c: Moved to... 11710 * gcc-main.cc: ...here. 11711 * gcc-rich-location.c: Moved to... 11712 * gcc-rich-location.cc: ...here. 11713 * gcc.c: Moved to... 11714 * gcc.cc: ...here. 11715 * gcov-dump.c: Moved to... 11716 * gcov-dump.cc: ...here. 11717 * gcov-io.c: Moved to... 11718 * gcov-io.cc: ...here. 11719 * gcov-tool.c: Moved to... 11720 * gcov-tool.cc: ...here. 11721 * gcov.c: Moved to... 11722 * gcov.cc: ...here. 11723 * gcse-common.c: Moved to... 11724 * gcse-common.cc: ...here. 11725 * gcse.c: Moved to... 11726 * gcse.cc: ...here. 11727 * genattr-common.c: Moved to... 11728 * genattr-common.cc: ...here. 11729 * genattr.c: Moved to... 11730 * genattr.cc: ...here. 11731 * genattrtab.c: Moved to... 11732 * genattrtab.cc: ...here. 11733 * genautomata.c: Moved to... 11734 * genautomata.cc: ...here. 11735 * gencfn-macros.c: Moved to... 11736 * gencfn-macros.cc: ...here. 11737 * gencheck.c: Moved to... 11738 * gencheck.cc: ...here. 11739 * genchecksum.c: Moved to... 11740 * genchecksum.cc: ...here. 11741 * gencodes.c: Moved to... 11742 * gencodes.cc: ...here. 11743 * genconditions.c: Moved to... 11744 * genconditions.cc: ...here. 11745 * genconfig.c: Moved to... 11746 * genconfig.cc: ...here. 11747 * genconstants.c: Moved to... 11748 * genconstants.cc: ...here. 11749 * genemit.c: Moved to... 11750 * genemit.cc: ...here. 11751 * genenums.c: Moved to... 11752 * genenums.cc: ...here. 11753 * generic-match-head.c: Moved to... 11754 * generic-match-head.cc: ...here. 11755 * genextract.c: Moved to... 11756 * genextract.cc: ...here. 11757 * genflags.c: Moved to... 11758 * genflags.cc: ...here. 11759 * gengenrtl.c: Moved to... 11760 * gengenrtl.cc: ...here. 11761 * gengtype-parse.c: Moved to... 11762 * gengtype-parse.cc: ...here. 11763 * gengtype-state.c: Moved to... 11764 * gengtype-state.cc: ...here. 11765 * gengtype.c: Moved to... 11766 * gengtype.cc: ...here. 11767 * genhooks.c: Moved to... 11768 * genhooks.cc: ...here. 11769 * genmatch.c: Moved to... 11770 * genmatch.cc: ...here. 11771 * genmddeps.c: Moved to... 11772 * genmddeps.cc: ...here. 11773 * genmddump.c: Moved to... 11774 * genmddump.cc: ...here. 11775 * genmodes.c: Moved to... 11776 * genmodes.cc: ...here. 11777 * genopinit.c: Moved to... 11778 * genopinit.cc: ...here. 11779 * genoutput.c: Moved to... 11780 * genoutput.cc: ...here. 11781 * genpeep.c: Moved to... 11782 * genpeep.cc: ...here. 11783 * genpreds.c: Moved to... 11784 * genpreds.cc: ...here. 11785 * genrecog.c: Moved to... 11786 * genrecog.cc: ...here. 11787 * gensupport.c: Moved to... 11788 * gensupport.cc: ...here. 11789 * gentarget-def.c: Moved to... 11790 * gentarget-def.cc: ...here. 11791 * genversion.c: Moved to... 11792 * genversion.cc: ...here. 11793 * ggc-common.c: Moved to... 11794 * ggc-common.cc: ...here. 11795 * ggc-none.c: Moved to... 11796 * ggc-none.cc: ...here. 11797 * ggc-page.c: Moved to... 11798 * ggc-page.cc: ...here. 11799 * ggc-tests.c: Moved to... 11800 * ggc-tests.cc: ...here. 11801 * gimple-builder.c: Moved to... 11802 * gimple-builder.cc: ...here. 11803 * gimple-expr.c: Moved to... 11804 * gimple-expr.cc: ...here. 11805 * gimple-fold.c: Moved to... 11806 * gimple-fold.cc: ...here. 11807 * gimple-iterator.c: Moved to... 11808 * gimple-iterator.cc: ...here. 11809 * gimple-laddress.c: Moved to... 11810 * gimple-laddress.cc: ...here. 11811 * gimple-loop-jam.c: Moved to... 11812 * gimple-loop-jam.cc: ...here. 11813 * gimple-low.c: Moved to... 11814 * gimple-low.cc: ...here. 11815 * gimple-match-head.c: Moved to... 11816 * gimple-match-head.cc: ...here. 11817 * gimple-pretty-print.c: Moved to... 11818 * gimple-pretty-print.cc: ...here. 11819 * gimple-ssa-backprop.c: Moved to... 11820 * gimple-ssa-backprop.cc: ...here. 11821 * gimple-ssa-evrp-analyze.c: Moved to... 11822 * gimple-ssa-evrp-analyze.cc: ...here. 11823 * gimple-ssa-evrp.c: Moved to... 11824 * gimple-ssa-evrp.cc: ...here. 11825 * gimple-ssa-isolate-paths.c: Moved to... 11826 * gimple-ssa-isolate-paths.cc: ...here. 11827 * gimple-ssa-nonnull-compare.c: Moved to... 11828 * gimple-ssa-nonnull-compare.cc: ...here. 11829 * gimple-ssa-split-paths.c: Moved to... 11830 * gimple-ssa-split-paths.cc: ...here. 11831 * gimple-ssa-sprintf.c: Moved to... 11832 * gimple-ssa-sprintf.cc: ...here. 11833 * gimple-ssa-store-merging.c: Moved to... 11834 * gimple-ssa-store-merging.cc: ...here. 11835 * gimple-ssa-strength-reduction.c: Moved to... 11836 * gimple-ssa-strength-reduction.cc: ...here. 11837 * gimple-ssa-warn-alloca.c: Moved to... 11838 * gimple-ssa-warn-alloca.cc: ...here. 11839 * gimple-ssa-warn-restrict.c: Moved to... 11840 * gimple-ssa-warn-restrict.cc: ...here. 11841 * gimple-streamer-in.c: Moved to... 11842 * gimple-streamer-in.cc: ...here. 11843 * gimple-streamer-out.c: Moved to... 11844 * gimple-streamer-out.cc: ...here. 11845 * gimple-walk.c: Moved to... 11846 * gimple-walk.cc: ...here. 11847 * gimple-warn-recursion.c: Moved to... 11848 * gimple-warn-recursion.cc: ...here. 11849 * gimple.c: Moved to... 11850 * gimple.cc: ...here. 11851 * gimplify-me.c: Moved to... 11852 * gimplify-me.cc: ...here. 11853 * gimplify.c: Moved to... 11854 * gimplify.cc: ...here. 11855 * godump.c: Moved to... 11856 * godump.cc: ...here. 11857 * graph.c: Moved to... 11858 * graph.cc: ...here. 11859 * graphds.c: Moved to... 11860 * graphds.cc: ...here. 11861 * graphite-dependences.c: Moved to... 11862 * graphite-dependences.cc: ...here. 11863 * graphite-isl-ast-to-gimple.c: Moved to... 11864 * graphite-isl-ast-to-gimple.cc: ...here. 11865 * graphite-optimize-isl.c: Moved to... 11866 * graphite-optimize-isl.cc: ...here. 11867 * graphite-poly.c: Moved to... 11868 * graphite-poly.cc: ...here. 11869 * graphite-scop-detection.c: Moved to... 11870 * graphite-scop-detection.cc: ...here. 11871 * graphite-sese-to-poly.c: Moved to... 11872 * graphite-sese-to-poly.cc: ...here. 11873 * graphite.c: Moved to... 11874 * graphite.cc: ...here. 11875 * haifa-sched.c: Moved to... 11876 * haifa-sched.cc: ...here. 11877 * hash-map-tests.c: Moved to... 11878 * hash-map-tests.cc: ...here. 11879 * hash-set-tests.c: Moved to... 11880 * hash-set-tests.cc: ...here. 11881 * hash-table.c: Moved to... 11882 * hash-table.cc: ...here. 11883 * hooks.c: Moved to... 11884 * hooks.cc: ...here. 11885 * host-default.c: Moved to... 11886 * host-default.cc: ...here. 11887 * hw-doloop.c: Moved to... 11888 * hw-doloop.cc: ...here. 11889 * hwint.c: Moved to... 11890 * hwint.cc: ...here. 11891 * ifcvt.c: Moved to... 11892 * ifcvt.cc: ...here. 11893 * inchash.c: Moved to... 11894 * inchash.cc: ...here. 11895 * incpath.c: Moved to... 11896 * incpath.cc: ...here. 11897 * init-regs.c: Moved to... 11898 * init-regs.cc: ...here. 11899 * input.c: Moved to... 11900 * input.cc: ...here. 11901 * internal-fn.c: Moved to... 11902 * internal-fn.cc: ...here. 11903 * intl.c: Moved to... 11904 * intl.cc: ...here. 11905 * ipa-comdats.c: Moved to... 11906 * ipa-comdats.cc: ...here. 11907 * ipa-cp.c: Moved to... 11908 * ipa-cp.cc: ...here. 11909 * ipa-devirt.c: Moved to... 11910 * ipa-devirt.cc: ...here. 11911 * ipa-fnsummary.c: Moved to... 11912 * ipa-fnsummary.cc: ...here. 11913 * ipa-icf-gimple.c: Moved to... 11914 * ipa-icf-gimple.cc: ...here. 11915 * ipa-icf.c: Moved to... 11916 * ipa-icf.cc: ...here. 11917 * ipa-inline-analysis.c: Moved to... 11918 * ipa-inline-analysis.cc: ...here. 11919 * ipa-inline-transform.c: Moved to... 11920 * ipa-inline-transform.cc: ...here. 11921 * ipa-inline.c: Moved to... 11922 * ipa-inline.cc: ...here. 11923 * ipa-modref-tree.c: Moved to... 11924 * ipa-modref-tree.cc: ...here. 11925 * ipa-modref.c: Moved to... 11926 * ipa-modref.cc: ...here. 11927 * ipa-param-manipulation.c: Moved to... 11928 * ipa-param-manipulation.cc: ...here. 11929 * ipa-polymorphic-call.c: Moved to... 11930 * ipa-polymorphic-call.cc: ...here. 11931 * ipa-predicate.c: Moved to... 11932 * ipa-predicate.cc: ...here. 11933 * ipa-profile.c: Moved to... 11934 * ipa-profile.cc: ...here. 11935 * ipa-prop.c: Moved to... 11936 * ipa-prop.cc: ...here. 11937 * ipa-pure-const.c: Moved to... 11938 * ipa-pure-const.cc: ...here. 11939 * ipa-ref.c: Moved to... 11940 * ipa-ref.cc: ...here. 11941 * ipa-reference.c: Moved to... 11942 * ipa-reference.cc: ...here. 11943 * ipa-split.c: Moved to... 11944 * ipa-split.cc: ...here. 11945 * ipa-sra.c: Moved to... 11946 * ipa-sra.cc: ...here. 11947 * ipa-utils.c: Moved to... 11948 * ipa-utils.cc: ...here. 11949 * ipa-visibility.c: Moved to... 11950 * ipa-visibility.cc: ...here. 11951 * ipa.c: Moved to... 11952 * ipa.cc: ...here. 11953 * ira-build.c: Moved to... 11954 * ira-build.cc: ...here. 11955 * ira-color.c: Moved to... 11956 * ira-color.cc: ...here. 11957 * ira-conflicts.c: Moved to... 11958 * ira-conflicts.cc: ...here. 11959 * ira-costs.c: Moved to... 11960 * ira-costs.cc: ...here. 11961 * ira-emit.c: Moved to... 11962 * ira-emit.cc: ...here. 11963 * ira-lives.c: Moved to... 11964 * ira-lives.cc: ...here. 11965 * ira.c: Moved to... 11966 * ira.cc: ...here. 11967 * jump.c: Moved to... 11968 * jump.cc: ...here. 11969 * langhooks.c: Moved to... 11970 * langhooks.cc: ...here. 11971 * lcm.c: Moved to... 11972 * lcm.cc: ...here. 11973 * lists.c: Moved to... 11974 * lists.cc: ...here. 11975 * loop-doloop.c: Moved to... 11976 * loop-doloop.cc: ...here. 11977 * loop-init.c: Moved to... 11978 * loop-init.cc: ...here. 11979 * loop-invariant.c: Moved to... 11980 * loop-invariant.cc: ...here. 11981 * loop-iv.c: Moved to... 11982 * loop-iv.cc: ...here. 11983 * loop-unroll.c: Moved to... 11984 * loop-unroll.cc: ...here. 11985 * lower-subreg.c: Moved to... 11986 * lower-subreg.cc: ...here. 11987 * lra-assigns.c: Moved to... 11988 * lra-assigns.cc: ...here. 11989 * lra-coalesce.c: Moved to... 11990 * lra-coalesce.cc: ...here. 11991 * lra-constraints.c: Moved to... 11992 * lra-constraints.cc: ...here. 11993 * lra-eliminations.c: Moved to... 11994 * lra-eliminations.cc: ...here. 11995 * lra-lives.c: Moved to... 11996 * lra-lives.cc: ...here. 11997 * lra-remat.c: Moved to... 11998 * lra-remat.cc: ...here. 11999 * lra-spills.c: Moved to... 12000 * lra-spills.cc: ...here. 12001 * lra.c: Moved to... 12002 * lra.cc: ...here. 12003 * lto-cgraph.c: Moved to... 12004 * lto-cgraph.cc: ...here. 12005 * lto-compress.c: Moved to... 12006 * lto-compress.cc: ...here. 12007 * lto-opts.c: Moved to... 12008 * lto-opts.cc: ...here. 12009 * lto-section-in.c: Moved to... 12010 * lto-section-in.cc: ...here. 12011 * lto-section-out.c: Moved to... 12012 * lto-section-out.cc: ...here. 12013 * lto-streamer-in.c: Moved to... 12014 * lto-streamer-in.cc: ...here. 12015 * lto-streamer-out.c: Moved to... 12016 * lto-streamer-out.cc: ...here. 12017 * lto-streamer.c: Moved to... 12018 * lto-streamer.cc: ...here. 12019 * lto-wrapper.c: Moved to... 12020 * lto-wrapper.cc: ...here. 12021 * main.c: Moved to... 12022 * main.cc: ...here. 12023 * mcf.c: Moved to... 12024 * mcf.cc: ...here. 12025 * mode-switching.c: Moved to... 12026 * mode-switching.cc: ...here. 12027 * modulo-sched.c: Moved to... 12028 * modulo-sched.cc: ...here. 12029 * multiple_target.c: Moved to... 12030 * multiple_target.cc: ...here. 12031 * omp-expand.c: Moved to... 12032 * omp-expand.cc: ...here. 12033 * omp-general.c: Moved to... 12034 * omp-general.cc: ...here. 12035 * omp-low.c: Moved to... 12036 * omp-low.cc: ...here. 12037 * omp-offload.c: Moved to... 12038 * omp-offload.cc: ...here. 12039 * omp-simd-clone.c: Moved to... 12040 * omp-simd-clone.cc: ...here. 12041 * opt-suggestions.c: Moved to... 12042 * opt-suggestions.cc: ...here. 12043 * optabs-libfuncs.c: Moved to... 12044 * optabs-libfuncs.cc: ...here. 12045 * optabs-query.c: Moved to... 12046 * optabs-query.cc: ...here. 12047 * optabs-tree.c: Moved to... 12048 * optabs-tree.cc: ...here. 12049 * optabs.c: Moved to... 12050 * optabs.cc: ...here. 12051 * opts-common.c: Moved to... 12052 * opts-common.cc: ...here. 12053 * opts-global.c: Moved to... 12054 * opts-global.cc: ...here. 12055 * opts.c: Moved to... 12056 * opts.cc: ...here. 12057 * passes.c: Moved to... 12058 * passes.cc: ...here. 12059 * plugin.c: Moved to... 12060 * plugin.cc: ...here. 12061 * postreload-gcse.c: Moved to... 12062 * postreload-gcse.cc: ...here. 12063 * postreload.c: Moved to... 12064 * postreload.cc: ...here. 12065 * predict.c: Moved to... 12066 * predict.cc: ...here. 12067 * prefix.c: Moved to... 12068 * prefix.cc: ...here. 12069 * pretty-print.c: Moved to... 12070 * pretty-print.cc: ...here. 12071 * print-rtl-function.c: Moved to... 12072 * print-rtl-function.cc: ...here. 12073 * print-rtl.c: Moved to... 12074 * print-rtl.cc: ...here. 12075 * print-tree.c: Moved to... 12076 * print-tree.cc: ...here. 12077 * profile-count.c: Moved to... 12078 * profile-count.cc: ...here. 12079 * profile.c: Moved to... 12080 * profile.cc: ...here. 12081 * read-md.c: Moved to... 12082 * read-md.cc: ...here. 12083 * read-rtl-function.c: Moved to... 12084 * read-rtl-function.cc: ...here. 12085 * read-rtl.c: Moved to... 12086 * read-rtl.cc: ...here. 12087 * real.c: Moved to... 12088 * real.cc: ...here. 12089 * realmpfr.c: Moved to... 12090 * realmpfr.cc: ...here. 12091 * recog.c: Moved to... 12092 * recog.cc: ...here. 12093 * ree.c: Moved to... 12094 * ree.cc: ...here. 12095 * reg-stack.c: Moved to... 12096 * reg-stack.cc: ...here. 12097 * regcprop.c: Moved to... 12098 * regcprop.cc: ...here. 12099 * reginfo.c: Moved to... 12100 * reginfo.cc: ...here. 12101 * regrename.c: Moved to... 12102 * regrename.cc: ...here. 12103 * regstat.c: Moved to... 12104 * regstat.cc: ...here. 12105 * reload.c: Moved to... 12106 * reload.cc: ...here. 12107 * reload1.c: Moved to... 12108 * reload1.cc: ...here. 12109 * reorg.c: Moved to... 12110 * reorg.cc: ...here. 12111 * resource.c: Moved to... 12112 * resource.cc: ...here. 12113 * rtl-error.c: Moved to... 12114 * rtl-error.cc: ...here. 12115 * rtl-tests.c: Moved to... 12116 * rtl-tests.cc: ...here. 12117 * rtl.c: Moved to... 12118 * rtl.cc: ...here. 12119 * rtlanal.c: Moved to... 12120 * rtlanal.cc: ...here. 12121 * rtlhash.c: Moved to... 12122 * rtlhash.cc: ...here. 12123 * rtlhooks.c: Moved to... 12124 * rtlhooks.cc: ...here. 12125 * rtx-vector-builder.c: Moved to... 12126 * rtx-vector-builder.cc: ...here. 12127 * run-rtl-passes.c: Moved to... 12128 * run-rtl-passes.cc: ...here. 12129 * sancov.c: Moved to... 12130 * sancov.cc: ...here. 12131 * sanopt.c: Moved to... 12132 * sanopt.cc: ...here. 12133 * sbitmap.c: Moved to... 12134 * sbitmap.cc: ...here. 12135 * sched-deps.c: Moved to... 12136 * sched-deps.cc: ...here. 12137 * sched-ebb.c: Moved to... 12138 * sched-ebb.cc: ...here. 12139 * sched-rgn.c: Moved to... 12140 * sched-rgn.cc: ...here. 12141 * sel-sched-dump.c: Moved to... 12142 * sel-sched-dump.cc: ...here. 12143 * sel-sched-ir.c: Moved to... 12144 * sel-sched-ir.cc: ...here. 12145 * sel-sched.c: Moved to... 12146 * sel-sched.cc: ...here. 12147 * selftest-diagnostic.c: Moved to... 12148 * selftest-diagnostic.cc: ...here. 12149 * selftest-rtl.c: Moved to... 12150 * selftest-rtl.cc: ...here. 12151 * selftest-run-tests.c: Moved to... 12152 * selftest-run-tests.cc: ...here. 12153 * selftest.c: Moved to... 12154 * selftest.cc: ...here. 12155 * sese.c: Moved to... 12156 * sese.cc: ...here. 12157 * shrink-wrap.c: Moved to... 12158 * shrink-wrap.cc: ...here. 12159 * simplify-rtx.c: Moved to... 12160 * simplify-rtx.cc: ...here. 12161 * sparseset.c: Moved to... 12162 * sparseset.cc: ...here. 12163 * spellcheck-tree.c: Moved to... 12164 * spellcheck-tree.cc: ...here. 12165 * spellcheck.c: Moved to... 12166 * spellcheck.cc: ...here. 12167 * sreal.c: Moved to... 12168 * sreal.cc: ...here. 12169 * stack-ptr-mod.c: Moved to... 12170 * stack-ptr-mod.cc: ...here. 12171 * statistics.c: Moved to... 12172 * statistics.cc: ...here. 12173 * stmt.c: Moved to... 12174 * stmt.cc: ...here. 12175 * stor-layout.c: Moved to... 12176 * stor-layout.cc: ...here. 12177 * store-motion.c: Moved to... 12178 * store-motion.cc: ...here. 12179 * streamer-hooks.c: Moved to... 12180 * streamer-hooks.cc: ...here. 12181 * stringpool.c: Moved to... 12182 * stringpool.cc: ...here. 12183 * substring-locations.c: Moved to... 12184 * substring-locations.cc: ...here. 12185 * symtab.c: Moved to... 12186 * symtab.cc: ...here. 12187 * target-globals.c: Moved to... 12188 * target-globals.cc: ...here. 12189 * targhooks.c: Moved to... 12190 * targhooks.cc: ...here. 12191 * timevar.c: Moved to... 12192 * timevar.cc: ...here. 12193 * toplev.c: Moved to... 12194 * toplev.cc: ...here. 12195 * tracer.c: Moved to... 12196 * tracer.cc: ...here. 12197 * trans-mem.c: Moved to... 12198 * trans-mem.cc: ...here. 12199 * tree-affine.c: Moved to... 12200 * tree-affine.cc: ...here. 12201 * tree-call-cdce.c: Moved to... 12202 * tree-call-cdce.cc: ...here. 12203 * tree-cfg.c: Moved to... 12204 * tree-cfg.cc: ...here. 12205 * tree-cfgcleanup.c: Moved to... 12206 * tree-cfgcleanup.cc: ...here. 12207 * tree-chrec.c: Moved to... 12208 * tree-chrec.cc: ...here. 12209 * tree-complex.c: Moved to... 12210 * tree-complex.cc: ...here. 12211 * tree-data-ref.c: Moved to... 12212 * tree-data-ref.cc: ...here. 12213 * tree-dfa.c: Moved to... 12214 * tree-dfa.cc: ...here. 12215 * tree-diagnostic.c: Moved to... 12216 * tree-diagnostic.cc: ...here. 12217 * tree-dump.c: Moved to... 12218 * tree-dump.cc: ...here. 12219 * tree-eh.c: Moved to... 12220 * tree-eh.cc: ...here. 12221 * tree-emutls.c: Moved to... 12222 * tree-emutls.cc: ...here. 12223 * tree-if-conv.c: Moved to... 12224 * tree-if-conv.cc: ...here. 12225 * tree-inline.c: Moved to... 12226 * tree-inline.cc: ...here. 12227 * tree-into-ssa.c: Moved to... 12228 * tree-into-ssa.cc: ...here. 12229 * tree-iterator.c: Moved to... 12230 * tree-iterator.cc: ...here. 12231 * tree-loop-distribution.c: Moved to... 12232 * tree-loop-distribution.cc: ...here. 12233 * tree-nested.c: Moved to... 12234 * tree-nested.cc: ...here. 12235 * tree-nrv.c: Moved to... 12236 * tree-nrv.cc: ...here. 12237 * tree-object-size.c: Moved to... 12238 * tree-object-size.cc: ...here. 12239 * tree-outof-ssa.c: Moved to... 12240 * tree-outof-ssa.cc: ...here. 12241 * tree-parloops.c: Moved to... 12242 * tree-parloops.cc: ...here. 12243 * tree-phinodes.c: Moved to... 12244 * tree-phinodes.cc: ...here. 12245 * tree-predcom.c: Moved to... 12246 * tree-predcom.cc: ...here. 12247 * tree-pretty-print.c: Moved to... 12248 * tree-pretty-print.cc: ...here. 12249 * tree-profile.c: Moved to... 12250 * tree-profile.cc: ...here. 12251 * tree-scalar-evolution.c: Moved to... 12252 * tree-scalar-evolution.cc: ...here. 12253 * tree-sra.c: Moved to... 12254 * tree-sra.cc: ...here. 12255 * tree-ssa-address.c: Moved to... 12256 * tree-ssa-address.cc: ...here. 12257 * tree-ssa-alias.c: Moved to... 12258 * tree-ssa-alias.cc: ...here. 12259 * tree-ssa-ccp.c: Moved to... 12260 * tree-ssa-ccp.cc: ...here. 12261 * tree-ssa-coalesce.c: Moved to... 12262 * tree-ssa-coalesce.cc: ...here. 12263 * tree-ssa-copy.c: Moved to... 12264 * tree-ssa-copy.cc: ...here. 12265 * tree-ssa-dce.c: Moved to... 12266 * tree-ssa-dce.cc: ...here. 12267 * tree-ssa-dom.c: Moved to... 12268 * tree-ssa-dom.cc: ...here. 12269 * tree-ssa-dse.c: Moved to... 12270 * tree-ssa-dse.cc: ...here. 12271 * tree-ssa-forwprop.c: Moved to... 12272 * tree-ssa-forwprop.cc: ...here. 12273 * tree-ssa-ifcombine.c: Moved to... 12274 * tree-ssa-ifcombine.cc: ...here. 12275 * tree-ssa-live.c: Moved to... 12276 * tree-ssa-live.cc: ...here. 12277 * tree-ssa-loop-ch.c: Moved to... 12278 * tree-ssa-loop-ch.cc: ...here. 12279 * tree-ssa-loop-im.c: Moved to... 12280 * tree-ssa-loop-im.cc: ...here. 12281 * tree-ssa-loop-ivcanon.c: Moved to... 12282 * tree-ssa-loop-ivcanon.cc: ...here. 12283 * tree-ssa-loop-ivopts.c: Moved to... 12284 * tree-ssa-loop-ivopts.cc: ...here. 12285 * tree-ssa-loop-manip.c: Moved to... 12286 * tree-ssa-loop-manip.cc: ...here. 12287 * tree-ssa-loop-niter.c: Moved to... 12288 * tree-ssa-loop-niter.cc: ...here. 12289 * tree-ssa-loop-prefetch.c: Moved to... 12290 * tree-ssa-loop-prefetch.cc: ...here. 12291 * tree-ssa-loop-split.c: Moved to... 12292 * tree-ssa-loop-split.cc: ...here. 12293 * tree-ssa-loop-unswitch.c: Moved to... 12294 * tree-ssa-loop-unswitch.cc: ...here. 12295 * tree-ssa-loop.c: Moved to... 12296 * tree-ssa-loop.cc: ...here. 12297 * tree-ssa-math-opts.c: Moved to... 12298 * tree-ssa-math-opts.cc: ...here. 12299 * tree-ssa-operands.c: Moved to... 12300 * tree-ssa-operands.cc: ...here. 12301 * tree-ssa-phiopt.c: Moved to... 12302 * tree-ssa-phiopt.cc: ...here. 12303 * tree-ssa-phiprop.c: Moved to... 12304 * tree-ssa-phiprop.cc: ...here. 12305 * tree-ssa-pre.c: Moved to... 12306 * tree-ssa-pre.cc: ...here. 12307 * tree-ssa-propagate.c: Moved to... 12308 * tree-ssa-propagate.cc: ...here. 12309 * tree-ssa-reassoc.c: Moved to... 12310 * tree-ssa-reassoc.cc: ...here. 12311 * tree-ssa-sccvn.c: Moved to... 12312 * tree-ssa-sccvn.cc: ...here. 12313 * tree-ssa-scopedtables.c: Moved to... 12314 * tree-ssa-scopedtables.cc: ...here. 12315 * tree-ssa-sink.c: Moved to... 12316 * tree-ssa-sink.cc: ...here. 12317 * tree-ssa-strlen.c: Moved to... 12318 * tree-ssa-strlen.cc: ...here. 12319 * tree-ssa-structalias.c: Moved to... 12320 * tree-ssa-structalias.cc: ...here. 12321 * tree-ssa-tail-merge.c: Moved to... 12322 * tree-ssa-tail-merge.cc: ...here. 12323 * tree-ssa-ter.c: Moved to... 12324 * tree-ssa-ter.cc: ...here. 12325 * tree-ssa-threadbackward.c: Moved to... 12326 * tree-ssa-threadbackward.cc: ...here. 12327 * tree-ssa-threadedge.c: Moved to... 12328 * tree-ssa-threadedge.cc: ...here. 12329 * tree-ssa-threadupdate.c: Moved to... 12330 * tree-ssa-threadupdate.cc: ...here. 12331 * tree-ssa-uncprop.c: Moved to... 12332 * tree-ssa-uncprop.cc: ...here. 12333 * tree-ssa-uninit.c: Moved to... 12334 * tree-ssa-uninit.cc: ...here. 12335 * tree-ssa.c: Moved to... 12336 * tree-ssa.cc: ...here. 12337 * tree-ssanames.c: Moved to... 12338 * tree-ssanames.cc: ...here. 12339 * tree-stdarg.c: Moved to... 12340 * tree-stdarg.cc: ...here. 12341 * tree-streamer-in.c: Moved to... 12342 * tree-streamer-in.cc: ...here. 12343 * tree-streamer-out.c: Moved to... 12344 * tree-streamer-out.cc: ...here. 12345 * tree-streamer.c: Moved to... 12346 * tree-streamer.cc: ...here. 12347 * tree-switch-conversion.c: Moved to... 12348 * tree-switch-conversion.cc: ...here. 12349 * tree-tailcall.c: Moved to... 12350 * tree-tailcall.cc: ...here. 12351 * tree-vect-data-refs.c: Moved to... 12352 * tree-vect-data-refs.cc: ...here. 12353 * tree-vect-generic.c: Moved to... 12354 * tree-vect-generic.cc: ...here. 12355 * tree-vect-loop-manip.c: Moved to... 12356 * tree-vect-loop-manip.cc: ...here. 12357 * tree-vect-loop.c: Moved to... 12358 * tree-vect-loop.cc: ...here. 12359 * tree-vect-patterns.c: Moved to... 12360 * tree-vect-patterns.cc: ...here. 12361 * tree-vect-slp-patterns.c: Moved to... 12362 * tree-vect-slp-patterns.cc: ...here. 12363 * tree-vect-slp.c: Moved to... 12364 * tree-vect-slp.cc: ...here. 12365 * tree-vect-stmts.c: Moved to... 12366 * tree-vect-stmts.cc: ...here. 12367 * tree-vector-builder.c: Moved to... 12368 * tree-vector-builder.cc: ...here. 12369 * tree-vectorizer.c: Moved to... 12370 * tree-vectorizer.cc: ...here. 12371 * tree-vrp.c: Moved to... 12372 * tree-vrp.cc: ...here. 12373 * tree.c: Moved to... 12374 * tree.cc: ...here. 12375 * tsan.c: Moved to... 12376 * tsan.cc: ...here. 12377 * typed-splay-tree.c: Moved to... 12378 * typed-splay-tree.cc: ...here. 12379 * ubsan.c: Moved to... 12380 * ubsan.cc: ...here. 12381 * valtrack.c: Moved to... 12382 * valtrack.cc: ...here. 12383 * value-prof.c: Moved to... 12384 * value-prof.cc: ...here. 12385 * var-tracking.c: Moved to... 12386 * var-tracking.cc: ...here. 12387 * varasm.c: Moved to... 12388 * varasm.cc: ...here. 12389 * varpool.c: Moved to... 12390 * varpool.cc: ...here. 12391 * vec-perm-indices.c: Moved to... 12392 * vec-perm-indices.cc: ...here. 12393 * vec.c: Moved to... 12394 * vec.cc: ...here. 12395 * vmsdbgout.c: Moved to... 12396 * vmsdbgout.cc: ...here. 12397 * vr-values.c: Moved to... 12398 * vr-values.cc: ...here. 12399 * vtable-verify.c: Moved to... 12400 * vtable-verify.cc: ...here. 12401 * web.c: Moved to... 12402 * web.cc: ...here. 12403 * xcoffout.c: Moved to... 12404 * xcoffout.cc: ...here. 12405 124062022-01-17 qing zhao <qing.zhao@oracle.com> 12407 12408 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle 12409 .DEFERRED_INIT call with an anonymous SSA_NAME specially. 12410 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME 12411 specially. 12412 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit. 12413 (warn_uninitialized_vars): Likewise. 12414 (warn_uninitialized_phi): Likewise. 12415 124162022-01-17 Jason Merrill <jason@redhat.com> 12417 12418 * diagnostic.h (struct diagnostic_context): Add includes_seen. 12419 * diagnostic.c (diagnostic_initialize): Initialize it. 12420 (diagnostic_finish): Clean it up. 12421 (includes_seen): New function. 12422 (diagnostic_report_current_module): Use it. 12423 124242022-01-17 Richard Biener <rguenther@suse.de> 12425 12426 PR middle-end/101292 12427 * diagnostic-spec.c (copy_warning): Make sure to not 12428 reference old hashtable content on possible resize. 12429 * warning-control.cc (copy_warning): Likewise. 12430 124312022-01-17 Jakub Jelinek <jakub@redhat.com> 12432 12433 PR target/103973 12434 * tree-cfg.h (cond_only_block_p): Declare. 12435 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ... 12436 * tree-cfg.c (cond_only_block_p): ... here. No longer static. 12437 * optabs.def (spaceship_optab): New optab. 12438 * internal-fn.def (SPACESHIP): New internal function. 12439 * internal-fn.h (expand_SPACESHIP): Declare. 12440 * internal-fn.c (expand_PHI): Formatting fix. 12441 (expand_SPACESHIP): New function. 12442 * tree-ssa-math-opts.c (optimize_spaceship): New function. 12443 (math_opts_dom_walker::after_dom_children): Use it. 12444 * config/i386/i386.md (spaceship<mode>3): New define_expand. 12445 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare. 12446 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function. 12447 * doc/md.texi (spaceship@var{m}3): Document. 12448 124492022-01-17 Kewen Lin <linkw@linux.ibm.com> 12450 12451 * config/rs6000/altivec.md (altivec_vreveti2): Remove. 12452 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df, 12453 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use 12454 known constant values to simplify code. 12455 124562022-01-17 Haochen Gui <guihaoc@gcc.gnu.org> 12457 12458 PR target/103124 12459 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined. 12460 124612022-01-16 wwwhhhyyy <hongyu.wang@intel.com> 12462 12463 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro. 12464 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>): 12465 Insert zero-idiom in output template when attr enabled, set new attribute to 12466 true for non-mask/maskz insn. 12467 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>): 12468 Likewise. 12469 (avx512dq_mul<mode>3<mask_name>): Likewise. 12470 (<avx2_avx512>_permvar<mode><mask_name>): Likewise. 12471 (avx2_perm<mode>_1<mask_name>): Likewise. 12472 (avx512f_perm<mode>_1<mask_name>): Likewise. 12473 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise. 12474 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>): 12475 Likewise. 12476 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise. 12477 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>): 12478 Likewise. 12479 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New 12480 subst_attr. 12481 (mask4_dest_false_dep_for_glc_cond): Likewise. 12482 (mask6_dest_false_dep_for_glc_cond): Likewise. 12483 (mask10_dest_false_dep_for_glc_cond): Likewise. 12484 (maskc_dest_false_dep_for_glc_cond): Likewise. 12485 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise. 12486 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise. 12487 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New 12488 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE 12489 124902022-01-15 Martin Sebor <msebor@redhat.com> 12491 12492 PR c/63272 12493 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle 12494 -Wdangling-pointer. 12495 * doc/invoke.texi (-Wdangling-pointer): Document new option. 12496 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member. 12497 (pass_waccess::check_pointer_uses): New function. 12498 (pass_waccess::gimple_call_return_arg): New function. 12499 (pass_waccess::gimple_call_return_arg_ref): New function. 12500 (pass_waccess::check_call_dangling): New function. 12501 (pass_waccess::check_dangling_uses): New function overloads. 12502 (pass_waccess::check_dangling_stores): New function. 12503 (pass_waccess::check_dangling_stores): New function. 12504 (pass_waccess::m_clobbers): New data member. 12505 (pass_waccess::m_func): New data member. 12506 (pass_waccess::m_run_number): New data member. 12507 (pass_waccess::m_check_dangling_p): New data member. 12508 (pass_waccess::check_alloca): Check m_early_checks_p. 12509 (pass_waccess::check_alloc_size_call): Same. 12510 (pass_waccess::check_strcat): Same. 12511 (pass_waccess::check_strncat): Same. 12512 (pass_waccess::check_stxcpy): Same. 12513 (pass_waccess::check_stxncpy): Same. 12514 (pass_waccess::check_strncmp): Same. 12515 (pass_waccess::check_memop_access): Same. 12516 (pass_waccess::check_read_access): Same. 12517 (pass_waccess::check_builtin): Call check_pointer_uses. 12518 (pass_waccess::warn_invalid_pointer): Add arguments. 12519 (is_auto_decl): New function. 12520 (pass_waccess::check_stmt): New function. 12521 (pass_waccess::check_block): Call check_stmt. 12522 (pass_waccess::execute): Call check_dangling_uses, 12523 check_dangling_stores. Empty m_clobbers. 12524 * passes.def (pass_warn_access): Invoke pass two more times. 12525 125262022-01-15 Martin Sebor <msebor@redhat.com> 12527 12528 PR tree-optimization/80532 12529 * common.opt (-Wuse-after-free): New options. 12530 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle 12531 OPT_Wreturn_local_addr and OPT_Wuse_after_free_. 12532 * diagnostic-spec.h (NW_DANGLING): New enumerator. 12533 * doc/invoke.texi (-Wuse-after-free): Document new option. 12534 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename... 12535 (pass_waccess::check_call_access): ...to this. 12536 (pass_waccess::check): Rename... 12537 (pass_waccess::check_block): ...to this. 12538 (pass_waccess::check_pointer_uses): New function. 12539 (pass_waccess::gimple_call_return_arg): New function. 12540 (pass_waccess::warn_invalid_pointer): New function. 12541 (pass_waccess::check_builtin): Handle free and realloc. 12542 (gimple_use_after_inval_p): New function. 12543 (get_realloc_lhs): New function. 12544 (maybe_warn_mismatched_realloc): New function. 12545 (pointers_related_p): New function. 12546 (pass_waccess::check_call): Call check_pointer_uses. 12547 (pass_waccess::execute): Compute and free dominance info. 12548 125492022-01-15 Uroš Bizjak <ubizjak@gmail.com> 12550 12551 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use 12552 expand_simple_unop and expand_simple_binop instead of manually 12553 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand 12554 consistently. Eliminate common subexpressions and simplify code. 12555 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander. 12556 (<any_logic:code><MODEF:mode>3): Make public. 12557 125582022-01-14 Eric Botcazou <ebotcazou@adacore.com> 12559 12560 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump 12561 reverse flag as "reverse" for the sake of consistency. 12562 * ipa-sra.c: Fix copyright year. 12563 (ipa_sra_function_summaries::duplicate): Copy the reverse flag. 12564 (dump_isra_access): Tweak dump line. 12565 (isra_write_node_summary): Write the reverse flag. 12566 (isra_read_node_info): Read it. 12567 (pull_accesses_from_callee): Test its consistency and copy it. 12568 125692022-01-14 Richard Sandiford <richard.sandiford@arm.com> 12570 12571 PR middle-end/104026 12572 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize 12573 partial_load_store_bias. 12574 125752022-01-14 Martin Sebor <msebor@redhat.com> 12576 12577 PR middle-end/101475 12578 * pointer-query.cc (handle_component_ref): Use the size of 12579 the enclosing object if it's smaller than the member. 12580 125812022-01-14 Martin Liska <mliska@suse.cz> 12582 12583 * configure: Regenerate. 12584 125852022-01-14 Uroš Bizjak <ubizjak@gmail.com> 12586 12587 * config/i386/i386.md (*add<mode>_1_slp"): 12588 Mark alternative 1 output operand earlyclobbered. 12589 (*sub<mode>_1_slp): Ditto. 12590 (*and<mode>_1_slp): Ditto. 12591 (*<code><mode>_1_slp): Ditto. 12592 (*neg<mode>_1_slp): Ditto. 12593 (*one_cmpl<mode>_1_slp): Ditto. 12594 (*ashl<mode>3_1_slp): Ditto. 12595 (*<insn><mode>3_1_slp): Ditto. 12596 (*<insn><mode>3_1_slp): Ditto. 12597 125982022-01-14 Kewen Lin <linkw@linux.ibm.com> 12599 12600 PR tree-optimization/104015 12601 * tree-vect-loop.c (vect_analyze_loop): Check 12602 param_vect_partial_vector_usage for supports_partial_vectors. 12603 126042022-01-14 Jakub Jelinek <jakub@redhat.com> 12605 12606 PR c++/89074 12607 * fold-const.c (address_compare): Punt on comparison of address of 12608 one object with address of end of another object if 12609 folding_initializer. 12610 126112022-01-14 Jakub Jelinek <jakub@redhat.com> 12612 12613 PR target/98737 12614 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize 12615 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y) 12616 and __atomic_op_fetch (p, x, y) iop x into 12617 __atomic_fetch_op (p, x, y). 12618 126192022-01-14 Claudiu Zissulescu <claziss@synopsys.com> 12620 12621 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition. 12622 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro. 12623 (INCOMING_RETURN_ADDR_RTX): Likewise. 12624 (DWARF_ALT_FRAME_RETURN_COLUMN): Define. 12625 126262022-01-14 Claudiu Zissulescu <claziss@synopsys.com> 12627 12628 * config/arc/arc.c (arc_compute_frame_size): Remove condition when 12629 computin checking accumulator regs. 12630 (arc_expand_prologue): Update comments. 12631 (arc_expand_epilogue): Likewise. 12632 126332022-01-14 Roger Sayle <roger@nextmovesoftware.com> 12634 Uroš Bizjak <ubizjak@gmail.com> 12635 12636 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg. 12637 (ix86_expand_ti_to_v1ti): Use force_reg. 12638 (ix86_expand_v1ti_shift): Use force_reg. 12639 (ix86_expand_v1ti_rotate): Use force_reg. 12640 (ix86_expand_v1ti_ashiftrt): Provide new three operation 12641 implementations for shifts by 111..126 bits. Use force_reg. 12642 126432022-01-14 Martin Liska <mliska@suse.cz> 12644 12645 * common/config/arm/arm-common.c (arm_target_mode): Fix 12646 warning: unterminated quoting directive [-Wformat=]. 12647 126482022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org> 12649 12650 PR tree-optimization/104009 12651 * tree-object-size.c (compute_builtin_object_size): Bail out on 12652 negative offset. 12653 (plus_stmt_object_size): Return maximum of wholesize and minimum 12654 of 0 for negative offset. 12655 126562022-01-14 liuhongt <hongtao.liu@intel.com> 12657 12658 PR target/104001 12659 PR target/94790 12660 PR target/104014 12661 * config/i386/i386.md (*xor2andn): Refine predicate of 12662 operands[0] from nonimmediate_operand to 12663 register_operand, remove TARGET_AVX512BW from condition. 12664 126652022-01-14 David Malcolm <dmalcolm@redhat.com> 12666 12667 * doc/extend.texi (Function Attributes): Note that "tainted_args" can 12668 be used on field decls. 12669 (Common Function Attributes): Add entry on "tainted_args" attribute. 12670 126712022-01-13 Anthony Sharp <anthonysharp15@gmail.com> 12672 Jason Merrill <jason@redhat.com> 12673 12674 PR c++/70417 12675 * doc/invoke.texi: Documentation for Wmissing-template-keyword. 12676 126772022-01-13 Uroš Bizjak <ubizjak@gmail.com> 12678 12679 PR target/103861 12680 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern. 12681 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto. 12682 * config/i386/mmx.md (<any_shift:insn>v2qi): 12683 New insn_and_split pattern. 12684 126852022-01-13 Robin Dapp <rdapp@linux.ibm.com> 12686 12687 * internal-fn.c (expand_partial_load_optab_fn): Add bias. 12688 (expand_partial_store_optab_fn): Likewise. 12689 (internal_len_load_store_bias): New function. 12690 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define. 12691 (internal_len_load_store_bias): New function. 12692 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias. 12693 (vect_set_loop_condition_partial_vectors): Add header_seq parameter. 12694 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias. 12695 (vect_estimate_min_profitable_iters): Account for bias. 12696 (vect_get_loop_len): Add bias-adjusted length. 12697 * tree-vect-stmts.c (vectorizable_store): Use. 12698 (vectorizable_load): Use. 12699 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length. 12700 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro. 12701 * config/rs6000/vsx.md: Use const0 bias predicate. 12702 * doc/md.texi: Document bias value. 12703 127042022-01-13 Andrew MacLeod <amacleod@redhat.com> 12705 12706 PR tree-optimization/83072 12707 PR tree-optimization/83073 12708 PR tree-optimization/97909 12709 * fold-const.c (expr_not_equal_to): Use a multi-range class. 12710 127112022-01-13 Andrew MacLeod <amacleod@redhat.com> 12712 12713 PR tree-optimization/96707 12714 * range-op.cc (operator_rshift::lhs_op1_relation): New. 12715 127162022-01-13 Uroš Bizjak <ubizjak@gmail.com> 12717 12718 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit. 12719 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size. 12720 (negv2qi splitters): Use lowpart_subreg instead of 12721 gen_lowpart to create subreg. 12722 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit. 12723 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size. 12724 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of 12725 gen_lowpart to create subreg. 12726 * config/i386/i386.md (*subqi_ext<mode>_2): Move. 12727 127282022-01-13 Uroš Bizjak <ubizjak@gmail.com> 12729 12730 PR target/104003 12731 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator. 12732 127332022-01-13 Martin Liska <mliska@suse.cz> 12734 12735 * common/config/arm/arm-common.c (arm_target_mode): Wrap 12736 keywords with %<, %> and remove trailing punctuation char. 12737 (arm_canon_arch_option_1): Likewise. 12738 (arm_asm_auto_mfpu): Likewise. 12739 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise. 12740 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise. 12741 (use_vfp_abi): Likewise. 12742 (aapcs_vfp_is_call_or_return_candidate): Likewise. 12743 (arm_handle_cmse_nonsecure_entry): Likewise. 12744 (arm_handle_cmse_nonsecure_call): Likewise. 12745 (thumb1_md_asm_adjust): Likewise. 12746 127472022-01-13 Paul A. Clarke <pc@us.ibm.com> 12748 12749 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps, 12750 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT, 12751 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF, 12752 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC, 12753 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC, 12754 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New. 12755 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd, 12756 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to 12757 macro. 12758 127592022-01-13 Jakub Jelinek <jakub@redhat.com> 12760 12761 PR tree-optimization/103989 12762 * tree-inline.c (setup_one_parameter): Don't copy parms with 12763 empty type. 12764 127652022-01-13 Thomas Schwinge <thomas@codesourcery.com> 12766 12767 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack 12768 'TYPE_ADDR_SPACE' for offloading. 12769 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack 12770 'TYPE_ADDR_SPACE' for offloading. 12771 127722022-01-13 Julian Brown <julian@codesourcery.com> 12773 Thomas Schwinge <thomas@codesourcery.com> 12774 12775 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out 12776 of... 12777 (add_async_clauses_and_wait): ...here. Call new outlined function. 12778 (decompose_kernels_region_body): Add wait at the end of 12779 explicitly-asynchronous kernels regions. 12780 127812022-01-13 Thomas Schwinge <thomas@codesourcery.com> 12782 12783 PR middle-end/100280 12784 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region): 12785 Mark variables used in synthesized data clauses as addressable. 12786 127872022-01-13 Martin Liska <mliska@suse.cz> 12788 12789 * config/epiphany/epiphany.c (epiphany_mode_priority): 12790 Use gcc_unreachable for not handled cases. 12791 127922022-01-13 Martin Liska <mliska@suse.cz> 12793 12794 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute): 12795 Use %qs format specifier. 12796 (epiphany_override_options): Wrap keyword in %<, %>. 12797 127982022-01-13 Haochen Jiang <haochen.jiang@intel.com> 12799 12800 PR target/94790 12801 * config/i386/i386.md (*xor2andn): New define_insn_and_split. 12802 128032022-01-13 Xionghu Luo <luoxhu@linux.ibm.com> 12804 12805 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New. 12806 128072022-01-12 Uroš Bizjak <ubizjak@gmail.com> 12808 12809 PR target/100637 12810 PR target/103861 12811 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function. 12812 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X 12813 when constructing vector logic RTXes. 12814 (expand_vec_perm_pshufb2): Ditto. 12815 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit. 12816 (<plusminus:insn>v2qi3): Ditto. 12817 (vcond<mode><mode>): Re-enable for TARGET_SSE2. 12818 (vcondu<mode><mode>): Ditto. 12819 (vcond_mask_<mode><mode>): Ditto. 12820 (one_cmpl<VI_32:mode>2): Remove expander. 12821 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi. 12822 Use VI_16_32 mode iterator. 12823 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator. 12824 Use lowpart_subreg instead of gen_lowpart to create subreg. 12825 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and 12826 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator. 12827 Disparage GPR alternative a bit. Add CC clobber. 12828 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator. 12829 Use lowpart_subreg instead of gen_lowpart to create subreg. 12830 (*<any_logic:code><VI_16_32:mode>3): Merge from 12831 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns 12832 using VI_16_32 mode iterator. Disparage GPR alternative a bit. 12833 Add CC clobber. 12834 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode 12835 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg. 12836 128372022-01-12 Clément Chigot <clement.chigot@atos.net> 12838 12839 * configure.ac: Check sizeof ino_t and dev_t. 12840 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat 12841 syscall being able to handle 64bit inodes. 12842 * config.in: Regenerate. 12843 * configure: Regenerate. 12844 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define. 12845 (remove_duplicates): Use it. 12846 128472022-01-12 Andrew MacLeod <amacleod@redhat.com> 12848 12849 PR tree-optimization/103551 12850 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE. 12851 128522022-01-12 Richard Biener <rguenther@suse.de> 12853 12854 PR tree-optimization/103990 12855 * tree-pass.h (tail_merge_optimize): Drop unused argument. 12856 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise. 12857 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg 12858 and adjust call to tail_merge_optimize. 12859 128602022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com> 12861 12862 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target 12863 does not add autovectorize_vector_modes. 12864 128652022-01-12 Martin Liska <mliska@suse.cz> 12866 12867 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use 12868 %qs where possible. 12869 (aarch64_parse_sve_width_string): Likewise. 12870 (aarch64_override_options_internal): Likewise. 12871 (aarch64_print_hint_for_extensions): Likewise. 12872 (aarch64_validate_sls_mitigation): Likewise. 12873 (aarch64_handle_attr_arch): Likewise. 12874 (aarch64_handle_attr_cpu): Likewise. 12875 (aarch64_handle_attr_tune): Likewise. 12876 (aarch64_handle_attr_isa_flags): Likewise. 12877 128782022-01-12 Martin Liska <mliska@suse.cz> 12879 12880 * config.gcc: Include elfos.h before ${tm_file}. 12881 128822022-01-12 Hans-Peter Nilsson <hp@axis.com> 12883 12884 * config/cris/cris.c: Quote identifiers in parameters to error 12885 and internal_error, and remove extraneous spaces with punctuation. 12886 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified 12887 expression to internal_error, pass it as a parameter instead of 12888 appending it to the format part. 12889 128902022-01-12 Hans-Peter Nilsson <hp@axis.com> 12891 12892 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize 12893 parameter to as_a. 12894 128952022-01-11 qing zhao <qing.zhao@oracle.com> 12896 12897 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument. 12898 Change the 3rd argument of function .DEFERRED_INIT to the name of the 12899 decl. 12900 (gimplify_decl_expr): Delete the 3rd argument when call 12901 gimple_add_init_for_auto_var. 12902 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect 12903 the 3rd argument change of function .DEFERRED_INIT. 12904 * tree-cfg.c (verify_gimple_call): Update comments and verification 12905 to reflect the 3rd argument change of function .DEFERRED_INIT. 12906 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument. 12907 (sra_modify_deferred_init): Change the 3rd argument of function 12908 .DEFERRED_INIT to the name of the decl. 12909 129102022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> 12911 12912 * flag-types.h (enum gfc_convert): Add flags for 12913 conversion. 12914 129152022-01-11 Michael Meissner <meissner@the-meissners.org> 12916 12917 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove 12918 checks for only C/C++ front ends before allowing the long double 12919 format to change without a warning. 12920 129212022-01-11 Richard Sandiford <richard.sandiford@arm.com> 12922 12923 PR rtl-optimization/103974 12924 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an 12925 extra argument, default true, that says whether old-reload 12926 targets should be excluded. 12927 * ira-color.c (color_pass): Pass false. 12928 129292022-01-11 Uroš Bizjak <ubizjak@gmail.com> 12930 12931 PR target/103861 12932 * config/i386/mmx.md (vcond<mode><mode>): 12933 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1. 12934 (vcondu<mode><mode>): Ditto. 12935 (vcond_mask_<mode><mode>): Ditto. 12936 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64. 12937 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32. 12938 Use VI_16_32 mode iterator. 12939 * config/i386/i386-expand.c (ix86_expand_sse_movcc): 12940 Update for rename. Handle V2QImode. 12941 (expand_vec_perm_blend): Update for rename. 12942 129432022-01-11 Jakub Jelinek <jakub@redhat.com> 12944 12945 PR c++/101597 12946 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN. 12947 129482022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> 12949 12950 PR middle-end/70090 12951 * tree-object-size.c (size_valid_p): New function. 12952 (size_for_offset): Remove OFFSET constness assertion. 12953 (addr_object_size): Build dynamic expressions for object 12954 sizes and use size_valid_p to decide if it is valid for the 12955 given OBJECT_SIZE_TYPE. 12956 (compute_builtin_object_size): Allow dynamic offsets when 12957 computing size at O0. 12958 (call_object_size): Call size_valid_p. 12959 (plus_stmt_object_size): Allow non-constant offset and use 12960 size_valid_p to decide if it is valid for the given 12961 OBJECT_SIZE_TYPE. 12962 129632022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> 12964 12965 PR middle-end/70090 12966 * tree-object-size.c (alloc_object_size): Make and return 12967 non-constant size expression. 12968 (call_object_size): Return expression or unknown based on 12969 whether dynamic object size is requested. 12970 129712022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> 12972 12973 PR middle-end/70090 12974 * tree-object-size.c: Include tree-dfa.h. 12975 (parm_object_size): New function. 12976 (collect_object_sizes_for): Call it. 12977 129782022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> 12979 12980 PR middle-end/70090 12981 * builtins.c (fold_builtin_object_size): Adjust for dynamic size 12982 expressions. 12983 * tree-object-size.c: Include gimplify-me.h. 12984 (struct object_size_info): New member UNKNOWNS. 12985 (size_initval_p, size_usable_p, object_sizes_get_raw): New 12986 functions. 12987 (object_sizes_get): Return suitable gimple variable for 12988 object size. 12989 (bundle_sizes): New function. 12990 (object_sizes_set): Use it and handle dynamic object size 12991 expressions. 12992 (object_sizes_set_temp): New function. 12993 (size_for_offset): Adjust for dynamic size expressions. 12994 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions): 12995 New functions. 12996 (compute_builtin_object_size): Call gimplify_size_expressions 12997 for OST_DYNAMIC. 12998 (dynamic_object_size): New function. 12999 (cond_expr_object_size): Use it. 13000 (phi_dynamic_object_size): New function. 13001 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to 13002 accommodate dynamic object sizes. 13003 130042022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org> 13005 Jakub Jelinek <jakub@redhat.com> 13006 13007 PR tree-optimization/103961 13008 * tree-object-size.c (plus_stmt_object_size): Always avoid 13009 computing offset for -1 size. 13010 130112022-01-11 Andrew MacLeod <amacleod@redhat.com> 13012 13013 PR tree-optimization/103821 13014 * range-op.cc (range_operator::fold_range): Only do precise ranges 13015 when there are not too many subranges. 13016 130172022-01-11 Richard Sandiford <richard.sandiford@arm.com> 13018 13019 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass 13020 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code. 13021 130222022-01-11 Roger Sayle <roger@nextmovesoftware.com> 13023 Richard Biener <rguenther@suse.de> 13024 13025 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a 13026 highpart_mults_inserted field. 13027 (convert_mult_to_highpart): New function to convert right shift 13028 of a widening multiply into a MULT_HIGHPART_EXPR. 13029 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]: 13030 Call new convert_mult_to_highpart function. 13031 (pass_optimize_widening_mul::execute): Add a statistics counter 13032 for tracking "highpart multiplications inserted" events. 13033 130342022-01-11 Xionghu Luo <luoxhu@linux.ibm.com> 13035 13036 PR target/102239 13037 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New 13038 declare. 13039 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New 13040 function. 13041 * config/rs6000/rs6000.md (*branch_anddi3_dot): New. 13042 130432022-01-11 Olivier Hainque <hainque@adacore.com> 13044 13045 * gcc.c (driver_handle_option): State --sysroot as 13046 validated. 13047 130482022-01-11 Kewen Lin <linkw@linux.ibm.com> 13049 13050 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove 13051 useless related to option -mno-power10. 13052 130532022-01-11 Haochen Jiang <haochen.jiang@intel.com> 13054 13055 PR target/53652 13056 * config/i386/sse.md (*andnot<mode>3): Extend predicate of 13057 operands[1] from register_operand to vector_operand. 13058 130592022-01-10 Uroš Bizjak <ubizjak@gmail.com> 13060 13061 PR target/103861 13062 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp): 13063 Handle V2QImode. 13064 * config/i386/mmx.md (<sat_plusminus:insn><mode>3): 13065 Use VI1_16_32 mode iterator. 13066 (*eq<mode>3): Ditto. 13067 (*gt<mode>3): Ditto. 13068 (*xop_maskcmp<mode>3): Ditto. 13069 (*xop_maskcmp_uns<mode>3): Ditto. 13070 (vec_cmp<mode><mode>): Ditto. 13071 (vec_cmpu<mode><mode>): Ditto. 13072 130732022-01-10 Richard Biener <rguenther@suse.de> 13074 13075 PR tree-optimization/103948 13076 * tree-vect-generic.c (expand_vector_condition): Return true if 13077 all ones vector is returned for true, all zeros vector for false 13078 and the target defines corresponding vec_cmp{,u}MN named RTX pattern. 13079 130802022-01-10 Paul A. Clarke <pc@us.ibm.com> 13081 13082 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv 13083 when _ARCH_PWR10. Use signed types. 13084 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10. 13085 (_mm_blendv_pd): Likewise. 13086 130872022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com> 13088 13089 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for 13090 epilogue costing. 13091 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for 13092 epilogues, unless we are guaranteed that we can't have partial vectors. 13093 * genopinit.c: (partial_vectors_supported): Generate new function. 13094 130952022-01-10 Jakub Jelinek <jakub@redhat.com> 13096 13097 PR target/102024 13098 * config/i386/i386.c (classify_argument): Add zero_width_bitfields 13099 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields, 13100 always ignore them, when seeing other zero sized bitfields, either 13101 set zero_width_bitfields to 1 and ignore it or if equal to 2 process 13102 it. Pass it to recursive calls. Add wrapper 13103 with old arguments and diagnose ABI differences for C structures 13104 with zero width bitfields. Formatting fixes. 13105 131062022-01-10 Richard Sandiford <richard.sandiford@arm.com> 13107 13108 PR rtl-optimization/98782 13109 * ira-int.h (ira_soft_conflict): Declare. 13110 * ira-color.c (max_soft_conflict_loop_depth): New constant. 13111 (ira_soft_conflict): New function. 13112 (spill_soft_conflicts): Likewise. 13113 (assign_hard_reg): Use them to handle the case described by 13114 the comment above ira_soft_conflict. 13115 (improve_allocation): Likewise. 13116 * ira.c (check_allocation): Allow allocnos with "soft" conflicts 13117 to share the same register. 13118 131192022-01-10 Richard Sandiford <richard.sandiford@arm.com> 13120 13121 PR rtl-optimization/98782 13122 * ira-int.h (ira_caller_save_cost): New function. 13123 (ira_caller_save_loop_spill_p): Likewise. 13124 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is 13125 cheaper to spill a call-clobbered register throughout a loop rather 13126 than spill it around each individual call. If so, treat all 13127 call-clobbered registers as conflicts and... 13128 (propagate_allocno_info): ...do not propagate call information 13129 from the child to the parent. 13130 * ira-color.c (move_spill_restore): Update accordingly. 13131 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost. 13132 131332022-01-10 Richard Sandiford <richard.sandiford@arm.com> 13134 13135 PR rtl-optimization/98782 13136 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field. 13137 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro. 13138 (ira_single_region_allocno_p): New function. 13139 (ira_total_conflict_hard_regs): Likewise. 13140 * ira-build.c (ira_create_allocno): Initialize 13141 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P. 13142 (ira_propagate_hard_reg_costs): New function. 13143 (propagate_allocno_info): Use it. Try to avoid propagating 13144 hard register conflicts to parent allocnos if we can handle 13145 the conflicts by spilling instead. Limit the propagated 13146 register costs to the cost of spilling throughout the child loop. 13147 * ira-color.c (color_pass): Use ira_single_region_allocno_p to 13148 test whether a child and parent allocno can share the same 13149 register. 13150 (move_spill_restore): Adjust for the new behavior of 13151 propagate_allocno_info. 13152 131532022-01-10 Richard Sandiford <richard.sandiford@arm.com> 13154 13155 PR rtl-optimization/98782 13156 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function, 13157 extracted from... 13158 * ira-color.c (color_pass): ...here. 13159 131602022-01-10 Richard Sandiford <richard.sandiford@arm.com> 13161 13162 PR rtl-optimization/98782 13163 * ira-color.c (color_pass): Add comments to describe the spill costs. 13164 (move_spill_restore): Likewise. Fix reversed calculation. 13165 131662022-01-10 Richard Sandiford <richard.sandiford@arm.com> 13167 13168 PR rtl-optimization/98782 13169 * ira-int.h (ira_loop_border_costs): New class. 13170 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs): 13171 New constructor. 13172 (calculate_allocno_spill_cost): Use ira_loop_border_costs. 13173 (color_pass): Likewise. 13174 (move_spill_restore): Likewise. 13175 131762022-01-10 Eric Botcazou <ebotcazou@adacore.com> 13177 13178 PR target/103465 13179 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET. 13180 131812022-01-10 Richard Biener <rguenther@suse.de> 13182 13183 PR tree-optimization/100359 13184 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): 13185 Allow non-growing peeling with !allow_peel and UL_ALL. 13186 131872022-01-08 Roger Sayle <roger@nextmovesoftware.com> 13188 13189 * config/i386/i386-expand.c (ix86_expand_vector_move): Add 13190 special case for TImode to V1TImode moves, going via V2DImode. 13191 131922022-01-08 Jakub Jelinek <jakub@redhat.com> 13193 13194 PR c++/89074 13195 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC 13196 simplification. 13197 131982022-01-08 David Malcolm <dmalcolm@redhat.com> 13199 13200 * doc/analyzer.texi 13201 (Special Functions for Debugging the Analyzer): Document 13202 __analyzer_dump_escaped. 13203 132042022-01-08 David Malcolm <dmalcolm@redhat.com> 13205 13206 * doc/analyzer.texi (Other Debugging Techniques): Document 13207 region::is_named_decl_p. 13208 132092022-01-07 Andrew Pinski <apinski@marvell.com> 13210 13211 PR target/102941 13212 * config/arm/aarch-common.c (arm_md_asm_adjust): 13213 Use a temp if !REG_P. 13214 132152022-01-07 Uroš Bizjak <ubizjak@gmail.com> 13216 13217 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute. 13218 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5. 13219 132202022-01-07 liuhongt <hongtao.liu@intel.com> 13221 13222 PR rtl-optimization/103750 13223 * fwprop.c (forward_propagate_into): Allow propagations from 13224 inner loop to outer loop. 13225 132262022-01-07 Roger Sayle <roger@nextmovesoftware.com> 13227 13228 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn. 13229 132302022-01-07 Haochen Gui <guihaoc@gcc.gnu.org> 13231 13232 * config/rs6000/rs6000.md (rs6000_mffscrni): Define. 13233 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI. 13234 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand. 13235 132362022-01-07 liuhongt <hongtao.liu@intel.com> 13237 13238 * config/i386/sse.md 13239 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to 13240 UNSPEC_PCMP_UNSIGNED. 13241 132422022-01-07 liuhongt <hongtao.liu@intel.com> 13243 13244 PR target/103753 13245 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use 13246 gen_avx2_pblendph_1 when elt == 0. 13247 * config/i386/sse.md (avx2_pblendph): Rename to .. 13248 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI. 13249 (*avx2_pblendw): Rename to .. 13250 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF. 13251 (avx2_pblendw): Rename to .. 13252 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF. 13253 (blendsuf): Removed. 13254 (sse4_1_pblend<blendsuf>): Renamed to .. 13255 (sse4_1_pblend<ssemodesuffix>): .. this. 13256 132572022-01-06 H.J. Lu <hjl.tools@gmail.com> 13258 13259 PR target/103925 13260 * config/i386/i386.c (ix86_output_indirect_function_return): 13261 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp. 13262 132632022-01-06 H.J. Lu <hjl.tools@gmail.com> 13264 13265 PR target/102952 13266 * config/i386/i386-opts.h (harden_sls): Replace 13267 harden_sls_indirect_branch with harden_sls_indirect_jmp. 13268 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): 13269 Likewise. 13270 (ix86_output_indirect_jmp): Likewise. 13271 (ix86_output_call_insn): Likewise. 13272 * config/i386/i386.opt: Replace indirect-branch with 13273 indirect-jmp. Replace harden_sls_indirect_branch with 13274 harden_sls_indirect_jmp. 13275 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with 13276 indirect-jmp. 13277 132782022-01-06 Uroš Bizjak <ubizjak@gmail.com> 13279 13280 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>: 13281 Add %q modifier for operands in general registers. 13282 <MODE_SI>: Add %q modifier for operands in general registers. 13283 * config/i386/i386.md (*movhi_internal): Change type attribute of 13284 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute 13285 to SImode for non-avx512fp16 targets. 13286 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8. 13287 * config/i386/mmx.md (*movv2qi_internal): 13288 Ditto for xmm-gpr interunit alternatives 8,9. 13289 132902022-01-06 Kito Cheng <kito.cheng@sifive.com> 13291 13292 * common/config/riscv/riscv-common.c (riscv_implied_info): Add 13293 vector extensions. 13294 (riscv_ext_version_table): Add version info for vector extensions. 13295 (riscv_ext_flag_table): Add option mask for vector extensions. 13296 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New. 13297 (MASK_VECTOR_EEW_64): New. 13298 (MASK_VECTOR_EEW_FP_32): New. 13299 (MASK_VECTOR_EEW_FP_64): New. 13300 (MASK_ZVL32B): New. 13301 (MASK_ZVL64B): New. 13302 (MASK_ZVL128B): New. 13303 (MASK_ZVL256B): New. 13304 (MASK_ZVL512B): New. 13305 (MASK_ZVL1024B): New. 13306 (MASK_ZVL2048B): New. 13307 (MASK_ZVL4096B): New. 13308 (MASK_ZVL8192B): New. 13309 (MASK_ZVL16384B): New. 13310 (MASK_ZVL32768B): New. 13311 (MASK_ZVL65536B): New. 13312 (TARGET_ZVL32B): New. 13313 (TARGET_ZVL64B): New. 13314 (TARGET_ZVL128B): New. 13315 (TARGET_ZVL256B): New. 13316 (TARGET_ZVL512B): New. 13317 (TARGET_ZVL1024B): New. 13318 (TARGET_ZVL2048B): New. 13319 (TARGET_ZVL4096B): New. 13320 (TARGET_ZVL8192B): New. 13321 (TARGET_ZVL16384B): New. 13322 (TARGET_ZVL32768B): New. 13323 (TARGET_ZVL65536B): New. 13324 * config/riscv/riscv.opt (Mask(VECTOR)): New. 13325 (riscv_vector_eew_flags): New. 13326 (riscv_zvl_flags): New. 13327 133282022-01-06 Kito Cheng <kito.cheng@sifive.com> 13329 13330 * common/config/riscv/riscv-common.c 13331 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has 13332 digit. 13333 133342022-01-06 Jakub Jelinek <jakub@redhat.com> 13335 13336 PR tree-optimization/103899 13337 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit 13338 warning by moving context variable to the only spot where it is used 13339 and moving gcc_assert into if body. 13340 133412022-01-06 Jakub Jelinek <jakub@redhat.com> 13342 13343 PR rtl-optimization/103908 13344 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with 13345 asm goto. 13346 133472022-01-05 Bill Schmidt <wschmidt@linux.ibm.com> 13348 13349 PR target/103622 13350 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): 13351 Skip over instances with undefined function types. 13352 133532022-01-05 Andrew Pinski <apinski@marvell.com> 13354 13355 PR target/103910 13356 * config/i386/i386.h (x86_mfence): Mark with GTY. 13357 133582022-01-05 Uroš Bizjak <ubizjak@gmail.com> 13359 13360 PR target/103861 13361 * config/i386/mmx.md (VI_16_32): New mode iterator. 13362 (VI1_16_32): Ditto. 13363 (mmxvecsize): Handle V2QI mode. 13364 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3. 13365 Use VI1_16_32 mode iterator. 13366 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3. 13367 Use VI1_16_32 mode iterator. 13368 (abs<mode>2): Use VI_16_32 mode iterator. 13369 (uavgv2qi3_ceil): New insn pattern. 13370 133712022-01-05 Martin Sebor <msebor@redhat.com> 13372 13373 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use 13374 %qs to avoid -Wformat-diag. 13375 133762022-01-05 Uroš Bizjak <ubizjak@gmail.com> 13377 13378 PR target/103915 13379 * config/i386/mmx.md (one_cmplv2qi2): Change 13380 alternatives 1,2 type from sselog to sselog1. 13381 133822022-01-05 Uroš Bizjak <ubizjak@gmail.com> 13383 13384 PR target/103905 13385 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of 13386 narrow mode remapped elements for !one_operand_p case. 13387 133882022-01-05 Richard Biener <rguenther@suse.de> 13389 13390 PR tree-optimization/103816 13391 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also 13392 check DR_GROUP_GAP compute for overflow and representability. 13393 133942022-01-05 Jakub Jelinek <jakub@redhat.com> 13395 13396 PR fortran/103691 13397 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference 13398 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value, 13399 it can do unwanted rhs folding like &a[0] into &2.0 etc. 13400 134012022-01-05 Kewen Lin <linkw@linux.ibm.com> 13402 13403 PR ipa/102059 13404 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro. 13405 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise. 13406 (rs6000_need_ipa_fn_target_info): New function. 13407 (rs6000_update_ipa_fn_target_info): Likewise. 13408 (rs6000_can_inline_p): Adjust for ipa function summary target info. 13409 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro. 13410 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function 13411 summary target info. 13412 (analyze_function_body): Adjust for ipa function summary target info 13413 and call hook rs6000_need_ipa_fn_target_info and 13414 rs6000_update_ipa_fn_target_info. 13415 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary 13416 target info. 13417 (inline_read_section): Likewise. 13418 (ipa_fn_summary_write): Likewise. 13419 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member. 13420 * doc/tm.texi: Regenerate. 13421 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook. 13422 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise. 13423 * target.def (update_ipa_fn_target_info): New hook. 13424 (need_ipa_fn_target_info): Likewise. 13425 * targhooks.c (default_need_ipa_fn_target_info): New function. 13426 (default_update_ipa_fn_target_info): Likewise. 13427 * targhooks.h (default_update_ipa_fn_target_info): New declare. 13428 (default_need_ipa_fn_target_info): Likewise. 13429 134302022-01-04 Martin Sebor <msebor@redhat.com> 13431 13432 PR middle-end/99612 13433 * builtins.c (get_memmodel): Move warning code to 13434 gimple-ssa-warn-access.cc. 13435 (expand_builtin_atomic_compare_exchange): Same. 13436 (expand_ifn_atomic_compare_exchange): Same. 13437 (expand_builtin_atomic_load): Same. 13438 (expand_builtin_atomic_store): Same. 13439 (expand_builtin_atomic_clear): Same. 13440 * doc/extend.texi (__atomic_exchange_n): Update valid memory 13441 models. 13442 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function. 13443 (struct memmodel_pair): New struct. 13444 (memmodel_name): New function. 13445 (pass_waccess::maybe_warn_memmodel): New function. 13446 (pass_waccess::check_atomic_memmodel): New function. 13447 (pass_waccess::check_atomic_builtin): Handle memory model. 13448 * input.c (expansion_point_location_if_in_system_header): Return 13449 original location if expansion location is in a system header. 13450 134512022-01-04 Uroš Bizjak <ubizjak@gmail.com> 13452 13453 PR target/103861 13454 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern. 13455 (one_cmplv2qi3 splitters): New post-reload splitters. 13456 (*andnotv2qi3): New insn pattern. 13457 (andnotv2qi3 splitters): New post-reload splitters. 13458 (<any_logic:code>v2qi3): New insn pattern. 13459 (<any_logic:insn>v2qi3 splitters): New post-reload splitters. 13460 134612022-01-04 Richard Biener <rguenther@suse.de> 13462 13463 PR tree-optimization/103800 13464 * tree-vect-loop.c (vectorizable_phi): Remove assert and 13465 expand comment. 13466 134672022-01-04 Richard Biener <rguenther@suse.de> 13468 13469 PR tree-optimization/103690 13470 * tree-pass.h (tail_merge_optimize): Adjust. 13471 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether 13472 to re-split critical edges, move CFG cleanup ... 13473 * tree-ssa-pre.c (pass_pre::execute): ... here, before 13474 simple_dce_from_worklist and delay freeing inserted_exprs from 13475 ... 13476 (fini_pre): .. here. 13477 134782022-01-04 Roger Sayle <roger@nextmovesoftware.com> 13479 13480 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1. 13481 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true. 13482 (setcc_from_bi): Remove SImode specific pattern. 13483 (setcc<mode>_from_bi): Provide more general HSDIM pattern. 13484 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions 13485 for sign- and zero-extending BImode predicates to integers. 13486 (setcc_int<mode>): Remove previous (-1-based) instructions. 13487 (cstorebi4): Remove BImode to SImode specific expander. 13488 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi. 13489 (cstore<mode>4): For both integer and floating point modes. 13490 134912022-01-04 Olivier Hainque <hainque@adacore.com> 13492 13493 * gcc.c (driver_handle_option): do_save --sysroot. 13494 134952022-01-04 Richard Biener <rguenther@suse.de> 13496 13497 PR tree-optimization/103864 13498 PR tree-optimization/103544 13499 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude 13500 reductions wrapped in conversions from SLP handling. 13501 (vect_analyze_slp): Revert PR103544 change. 13502 135032022-01-04 Jakub Jelinek <jakub@redhat.com> 13504 13505 PR rtl-optimization/103860 13506 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue 13507 uselessly for blocks for which it has been called already. 13508 135092022-01-04 Cui,Lili <lili.cui@intel.com> 13510 13511 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values 13512 to Alderlake and Rocketlake. 13513 135142022-01-04 Chung-Lin Tang <cltang@codesourcery.com> 13515 13516 PR middle-end/103643 13517 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire 13518 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue' 13519 135202022-01-04 liuhongt <hongtao.liu@intel.com> 13521 13522 PR target/103895 13523 * config/i386/sse.md (*bit_and_float_vector_all_ones): 13524 Force_reg operand 1 to avoid ICE. 13525 135262022-01-04 Jason Merrill <jason@redhat.com> 13527 13528 * tree-pretty-print.c (do_niy): Add spc parameter. 13529 (NIY): Pass it. 13530 (print_call_name): Add spc local variable. 13531 135322022-01-03 Uroš Bizjak <ubizjak@gmail.com> 13533 13534 PR target/103894 13535 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint. 13536 (mov<V_32:mode>_internal): Ditto. 13537 (*push<V_32:mode>_rex64): Ditto. 13538 (movmisalign<V_32:mode>): Ditto. 13539 (*push<V_32:mode>_rex64 splitter): Enable for 13540 TARGET_64BIT && TARGET_SSE. 13541 (*push<V_32:mode>2): Remove insn pattern. 13542 135432022-01-03 Andrew Pinski <apinski@marvell.com> 13544 13545 PR c/33193 13546 * doc/extend.texi: Extend the documentation about Complex 13547 types for casting and also rewrite the __real__/__imag__ 13548 expression portion to use tables. 13549 Move __builtin_complex to the Complex type section. 13550 135512022-01-03 Jakub Jelinek <jakub@redhat.com> 13552 13553 PR target/98737 13554 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0, 13555 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0): 13556 New internal fns. 13557 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE, 13558 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE, 13559 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators. 13560 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0, 13561 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0, 13562 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New 13563 functions. 13564 * optabs.def (atomic_add_fetch_cmp_0_optab, 13565 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab, 13566 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New 13567 direct optabs. 13568 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare. 13569 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function. 13570 * tree-ssa-ccp.c: Include internal-fn.h. 13571 (optimize_atomic_bit_test_and): Add . before internal fn call 13572 in function comment. Change return type from void to bool and 13573 return true only if successfully replaced. 13574 (optimize_atomic_op_fetch_cmp_0): New function. 13575 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0 13576 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and 13577 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16}, 13578 for *XOR* ones only if optimize_atomic_bit_test_and failed. 13579 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>, 13580 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns. 13581 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1, 13582 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns. 13583 * doc/md.texi (atomic_add_fetch_cmp_0<mode>, 13584 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>, 13585 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document 13586 new named patterns. 13587 135882022-01-03 Richard Biener <rguenther@suse.de> 13589 13590 PR middle-end/103851 13591 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names. 13592 135932022-01-03 Jakub Jelinek <jakub@redhat.com> 13594 13595 PR c++/94716 13596 * symtab.c: Include fold-const.h. 13597 (symtab_node::equal_address_to): If folding_initializer is true, 13598 handle it like memory_accessed. Simplify. 13599 136002022-01-03 Martin Liska <mliska@suse.cz> 13601 13602 * doc/extend.texi: Use ; for function declarations. 13603 136042022-01-03 Jakub Jelinek <jakub@redhat.com> 13605 13606 PR c++/103600 13607 * symtab.c (symtab_node::equal_address_to): Return 0 if one of 13608 VAR_DECLs has "non overlapping" attribute and rs1 != rs2. 13609 136102022-01-03 Jakub Jelinek <jakub@redhat.com> 13611 13612 * gcc.c (process_command): Update copyright notice dates. 13613 * gcov-dump.c (print_version): Ditto. 13614 * gcov.c (print_version): Ditto. 13615 * gcov-tool.c (print_version): Ditto. 13616 * gengtype.c (create_file): Ditto. 13617 * doc/cpp.texi: Bump @copying's copyright year. 13618 * doc/cppinternals.texi: Ditto. 13619 * doc/gcc.texi: Ditto. 13620 * doc/gccint.texi: Ditto. 13621 * doc/gcov.texi: Ditto. 13622 * doc/install.texi: Ditto. 13623 * doc/invoke.texi: Ditto. 13624 136252022-01-02 Uroš Bizjak <ubizjak@gmail.com> 13626 13627 PR target/103861 13628 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode. 13629 (VALID_INT_MODE_P): Ditto. 13630 * config/i386/i386.c (ix86_secondary_reload): Handle 13631 V2QImode reloads from SSE register to memory. 13632 (vector_mode_supported_p): Always return true for V2QImode. 13633 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern. 13634 (*negqi_ext<mode>_2): Ditto. 13635 * config/i386/mmx.md (movv2qi): New expander. 13636 (movmisalignv2qi): Ditto. 13637 (*movv2qi_internal): New insn pattern. 13638 (*pushv2qi2): Ditto. 13639 (negv2qi2 and splitters): Ditto. 13640 (<plusminus:insn>v2qi3 and splitters): Ditto. 13641 136422022-01-02 John David Anglin <danglin@gcc.gnu.org> 13643 13644 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access 13645 sync_lock_test_and_set libfunc. Call convert_memory_address to 13646 convert memory address to Pmode. 13647 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise. 13648 13649 13650Copyright (C) 2022 Free Software Foundation, Inc. 13651 13652Copying and distribution of this file, with or without modification, 13653are permitted in any medium without royalty provided the copyright 13654notice and this notice are preserved. 13655