12021-09-22 Kewen Lin <linkw@linux.ibm.com> 2 3 Backported from master: 4 2021-09-22 Kewen Lin <linkw@linux.ibm.com> 5 6 * ipa-fnsummary.c (inline_read_section): Unpack a dummy bit 7 to keep consistent with the side of streaming out. 8 92021-09-17 Eric Botcazou <ebotcazou@adacore.com> 10 11 PR rtl-optimization/102306 12 * combine.c (try_combine): Abort the combination if we are about to 13 duplicate volatile references. 14 152021-09-08 Jonathan Wakely <jwakely@redhat.com> 16 17 Backported from master: 18 2021-09-08 Jonathan Wakely <jwakely@redhat.com> 19 20 PR c++/60318 21 * doc/trouble.texi (Copy Assignment): Fix description of 22 behaviour and fix code in example. 23 242021-08-31 Thomas Schwinge <thomas@codesourcery.com> 25 26 Backported from master: 27 2021-08-31 Thomas Schwinge <thomas@codesourcery.com> 28 29 * tree.c (walk_tree_1) <OMP_CLAUSE_TILE>: Handle three operands. 30 312021-08-25 konglin1 <lingling.kong@intel.com> 32 33 PR target/101471 34 * config/i386/avx512dqintrin.h (_mm512_fpclass_ps_mask): Fix 35 macro define in O0. 36 (_mm512_mask_fpclass_ps_mask): Ditto. 37 382021-08-23 Richard Earnshaw <rearnsha@arm.com> 39 40 Backported from master: 41 2021-08-05 Richard Earnshaw <rearnsha@arm.com> 42 43 PR target/101723 44 * config/arm/arm-cpus.in (quirk_no_asmcpu): New feature bit. 45 (ALL_QUIRKS): Add it. 46 (generic-armv7-a): Add quirk to suppress writing .cpu directive in 47 asm output. 48 * config/arm/arm.c (arm_identify_fpu_from_isa): New variable. 49 (arm_last_printed_arch_string): Delete. 50 (arm_last-printed_fpu_string): Delete. 51 (arm_configure_build_target): If use of floating-point/SIMD is 52 disabled, remove all fp/simd related features from the target ISA. 53 (last_arm_targ_options): New variable. 54 (arm_print_asm_arch_directives): Add new parameters. Change order 55 of emitted directives and handle all cases here. 56 (arm_file_start): Always call arm_print_asm_arch_directives, move 57 all generation of .arch/.arch_extension here. 58 (arm_file_end): Call arm_print_asm_arch. 59 (arm_declare_function_name): Call arm_print_asm_arch_directives 60 instead of printing .arch/.fpu directives directly. 61 622021-08-23 Richard Earnshaw <rearnsha@arm.com> 63 64 Backported from master: 65 2021-08-05 Richard Earnshaw <rearnsha@arm.com> 66 67 * config/arm/arm.c (arm_configure_build_target): Don't call 68 arm_option_reconfigure_globals. 69 (arm_option_restore): Call arm_option_reconfigure_globals after 70 reconfiguring the target. 71 * config/arm/arm-c.c (arm_pragma_target_parse): Likewise. 72 732021-08-23 Richard Earnshaw <rearnsha@arm.com> 74 75 Backported from master: 76 2021-08-05 Richard Earnshaw <rearnsha@arm.com> 77 78 * config/arm/arm.c (arm_configure_build_target): Ensure the target's 79 arch_name is always set. 80 812021-08-23 Richard Earnshaw <rearnsha@arm.com> 82 83 Backported from master: 84 2019-12-11 Richard Earnshaw <rearnsha@arm.com> 85 86 * config/arm/arm-cpus.in (ALL_SIMD_EXTERNAL): New fgroup. 87 (ALL_SIMD): Use it. 88 (ALL_FPU_EXTERNAL): New fgroup. 89 (ALL_FP): Use it. 90 (cortex-a55, cortex-a75, cortex-a76): Remove redundant 91 +simd from architecture specification. 92 (neoverse-n1, cortex-a75.cortex-a55): Likewise. 93 * config/arm/arm.c (isa_all_fpubits, fpu_bitlist): Rename to ... 94 (isa_all_fpubits_internal, fpu_bitlist_internal): ... these. 95 (isa_all_fpbits): New bitmap. 96 (arm_option_override): Initialize it. 97 (arm_configure_build_target): If the target isa does not have any 98 FP enabled, do not warn about mismatches in FP-related feature bits. 99 1002021-08-19 Richard Earnshaw <rearnsha@arm.com> 101 102 Backported from master: 103 2021-05-27 Richard Earnshaw <rearnsha@arm.com> 104 105 PR target/100767 106 * config/arm/arm.c (arm_configure_build_target): Remove parameter 107 opts_set, directly check opts parameters for being non-null. 108 (arm_option_restore): Update call to arm_configure_build_target. 109 (arm_option_override): Likewise. 110 (arm_can_inline_p): Likewise. 111 (arm_valid_target_attribute_tree): Likewise. 112 * config/arm/arm-c.c (arm_pragma_target_parse): Likewise. 113 * config/arm/arm-protos.h (arm_configure_build_target): Adjust 114 prototype. 115 1162021-08-17 Richard Sandiford <richard.sandiford@arm.com> 117 118 Backported from master: 119 2021-08-03 Richard Sandiford <richard.sandiford@arm.com> 120 121 * doc/invoke.texi: Document -mtune=neoverse-512tvb and 122 -mcpu=neoverse-512tvb. 123 * config/aarch64/aarch64-cores.def (neoverse-512tvb): New entry. 124 * config/aarch64/aarch64-tune.md: Regenerate. 125 1262021-07-31 Xi Ruoyao <xry111@mengyan1223.wang> 127 128 Backported from master: 129 2021-07-30 Xi Ruoyao <xry111@mengyan1223.wang> 130 131 PR target/94780 132 * config/mips/mips.c (mips_atomic_assign_expand_fenv): Use 133 TARGET_EXPR instead of MODIFY_EXPR. 134 1352021-07-20 Uroš Bizjak <ubizjak@gmail.com> 136 137 PR target/100182 138 * config/i386/sync.md (define_peephole2 atomic_storedi_fpu): 139 Remove. 140 (define_peephole2 atomic_loaddi_fpu): Ditto. 141 1422021-07-19 Bill Schmidt <wschmidt@linux.ibm.com> 143 144 PR target/101129 145 * config/rs6000/rs6000-p8swap.c (has_part_mult): New. 146 (rs6000_analyze_swaps): Insns containing a subreg of a mult are 147 not swappable. 148 1492021-07-19 Segher Boessenkool <segher@kernel.crashing.org> 150 151 Backported from master: 152 2021-04-18 Segher Boessenkool <segher@kernel.crashing.org> 153 154 PR rtl-optimization/99927 155 * combine.c (distribute_notes) [REG_UNUSED]: If the register already 156 is dead, just drop it. 157 1582021-06-24 Uros Bizjak <ubizjak@gmail.com> 159 160 Backported from master: 161 2021-06-23 Uroš Bizjak <ubizjak@gmail.com> 162 163 PR target/101175 164 * config/i386/i386.md (bsr_rex64): Add zero-flag setting RTX. 165 (bsr): Ditto. 166 (*bsrhi): Remove. 167 (clz<mode>2): Update RTX pattern for additions. 168 1692021-06-17 Marius Hillenbrand <mhillen@linux.ibm.com> 170 171 Backported from master: 172 2021-06-17 Marius Hillenbrand <mhillen@linux.ibm.com> 173 174 PR target/100871 175 * config/s390/vecintrin.h (vec_doublee): Fix to use 176 __builtin_s390_vflls. 177 (vec_floate): Fix to use __builtin_s390_vflrd. 178 1792021-06-01 Release Manager 180 181 * GCC 9.4.0 released. 182 1832021-05-18 Richard Biener <rguenther@suse.de> 184 185 Backported from master: 186 2021-01-28 Richard Biener <rguenther@suse.de> 187 188 PR rtl-optimization/80960 189 * dse.c (check_mem_read_rtx): Call get_addr on the 190 offsetted address. 191 1922021-05-18 Richard Biener <rguenther@suse.de> 193 194 PR tree-optimization/96513 195 * tree-vect-slp.c (struct vdhs_data): New. 196 (vect_detect_hybrid_slp): New walker. 197 (vect_detect_hybrid_slp): Rewrite. 198 1992021-05-18 Martin Liska <mliska@suse.cz> 200 201 PR tree-optimization/96597 202 * tree-ssa-sccvn.c (vn_reference_lookup_call): Add missing 203 initialization of ::punned. 204 (vn_reference_insert): Use consistently false instead of 0. 205 (vn_reference_insert_pieces): Likewise. 206 2072021-05-18 Richard Biener <rguenther@suse.de> 208 209 PR tree-optimization/88240 210 * tree-ssa-sccvn.h (vn_reference_s::punned): New flag. 211 * tree-ssa-sccvn.c (vn_reference_insert): Initialize punned. 212 (vn_reference_insert_pieces): Likewise. 213 (visit_reference_op_call): Likewise. 214 (visit_reference_op_load): Track whether a ref was punned. 215 * tree-ssa-pre.c (do_hoist_insertion): Refuse to perform hoist 216 insertion on punned floating point loads. 217 2182021-05-17 Richard Biener <rguenther@suse.de> 219 220 Backported from master: 221 2021-05-12 Richard Biener <rguenther@suse.de> 222 223 PR tree-optimization/100566 224 * tree-ssa-sccvn.c (dominated_by_p_w_unex): Properly handle 225 allow_back for all edge queries. 226 2272021-05-12 Alex Coplan <alex.coplan@arm.com> 228 229 Backported from master: 230 2021-05-11 Alex Coplan <alex.coplan@arm.com> 231 232 PR target/99988 233 * config/aarch64/aarch64-bti-insert.c (aarch64_bti_j_insn_p): New. 234 (rest_of_insert_bti): Avoid inserting duplicate bti j insns for 235 jump table targets. 236 2372021-05-11 Geng Qi <gengqi@linux.alibaba.com> 238 239 Backported from master: 240 2021-04-30 Geng Qi <gengqi@linux.alibaba.com> 241 242 * config/riscv/riscv.opt (march=,mabi=): Negative itself. 243 2442021-05-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 245 246 PR target/99037 247 PR target/100441 248 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Use 249 aarch64_simd_or_scalar_imm_zero to match zeroes. Remove pattern 250 matching const_int 0. 251 (move_lo_quad_internal_be_<mode>): Likewise. 252 (move_lo_quad_<mode>): Update for the above. 253 * config/aarch64/iterators.md (VQ_2E): Delete. 254 2552021-05-06 Roman Zhuykov <zhroma@ispras.ru> 256 257 Backported from master: 258 2021-04-30 Roman Zhuykov <zhroma@ispras.ru> 259 260 PR rtl-optimization/100225 261 PR rtl-optimization/84878 262 * modulo-sched.c (sms_schedule): Use note_stores to skip loops 263 where we have an instruction which touches (writes) any hard 264 register from df->regular_block_artificial_uses set. 265 Allow not-single-set instruction only right before basic block 266 tail. 267 2682021-05-05 Eric Botcazou <ebotcazou@adacore.com> 269 270 PR target/100402 271 * config/i386/i386.c (ix86_compute_frame_layout): For a SEH target, 272 always return the establisher frame for __builtin_frame_address (0). 273 2742021-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> 275 276 Backported from master: 277 2021-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> 278 279 PR rtl-optimization/100263 280 * postreload.c (move2add_valid_value_p): Ensure register can 281 change mode. 282 2832021-05-05 Richard Biener <rguenther@suse.de> 284 285 Backported from master: 286 2021-05-05 Richard Biener <rguenther@suse.de> 287 288 PR tree-optimization/98786 289 * tree-ssa-phiopt.c (factor_out_conditional_conversion): Avoid 290 adding new uses of abnormals. 291 2922021-05-04 Alex Coplan <alex.coplan@arm.com> 293 294 Backported from master: 295 2021-04-23 Alex Coplan <alex.coplan@arm.com> 296 297 PR rtl-optimization/100230 298 * early-remat.c (early_remat::sort_candidates): Use delete[] 299 instead of delete for array allocated with new[]. 300 3012021-05-04 Richard Biener <rguenther@suse.de> 302 303 Backported from master: 304 2021-04-13 Richard Biener <rguenther@suse.de> 305 306 PR tree-optimization/100053 307 * tree-ssa-sccvn.c (vn_nary_op_get_predicated_value): Do 308 not use optimistic dominance queries for backedges to validate 309 predicated values. 310 (dominated_by_p_w_unex): Add parameter to ignore executable 311 state on backedges. 312 (rpo_elim::eliminate_avail): Adjust. 313 3142021-05-04 Richard Biener <rguenther@suse.de> 315 316 Backported from master: 317 2021-01-29 Richard Biener <rguenther@suse.de> 318 319 PR rtl-optimization/98144 320 * df.h (df_mir_bb_info): Add con_visited member. 321 * df-problems.c (df_mir_alloc): Initialize con_visited, 322 do not fully populate IN and OUT. 323 (df_mir_reset): Likewise. 324 (df_mir_confluence_0): Set con_visited. 325 (df_mir_confluence_n): Properly handle implicitely 326 fully populated IN and OUT as designated by con_visited 327 and update con_visited accordingly. 328 3292021-05-04 Jakub Jelinek <jakub@redhat.com> 330 331 Backported from master: 332 2021-05-02 Jakub Jelinek <jakub@redhat.com> 333 334 PR target/100375 335 * config/nvptx/nvptx.c (nvptx_sese_pseudo): Use NULL instead of 0 336 as first argument of pseudo_node_t constructors. 337 3382021-05-04 Jakub Jelinek <jakub@redhat.com> 339 340 Backported from master: 341 2021-04-29 Jakub Jelinek <jakub@redhat.com> 342 343 PR target/100302 344 * config/aarch64/aarch64.c (aarch64_add_offset_1_temporaries): Use 345 absu_hwi instead of abs_hwi. 346 3472021-05-04 Jakub Jelinek <jakub@redhat.com> 348 349 Backported from master: 350 2021-04-27 Jakub Jelinek <jakub@redhat.com> 351 352 PR rtl-optimization/100254 353 * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION on 354 last1 and last2 insns rather than BB_END (bb1) and BB_END (bb2) insns. 355 3562021-05-04 Jakub Jelinek <jakub@redhat.com> 357 358 Backported from master: 359 2021-04-26 Jakub Jelinek <jakub@redhat.com> 360 361 PR debug/100255 362 * vmsdbgout.c (ASM_OUTPUT_DEBUG_STRING, vmsdbgout_begin_block, 363 vmsdbgout_end_block, lookup_filename, vmsdbgout_source_line): Remove 364 register keywords. 365 3662021-05-04 Jakub Jelinek <jakub@redhat.com> 367 368 Backported from master: 369 2021-04-21 Jakub Jelinek <jakub@redhat.com> 370 371 PR rtl-optimization/100148 372 * cprop.c (constprop_register): Use next_nondebug_insn instead of 373 NEXT_INSN. 374 3752021-05-04 Martin Sebor <msebor@redhat.com> 376 377 PR tree-optimization/91914 378 * expr.c (string_constant): Pass argument type to 379 fold_ctor_reference to guide it. 380 3812021-05-01 Iain Sandoe <iain@sandoe.co.uk> 382 Jakub Jelinek <jakub@redhat.com> 383 384 PR target/97865 385 * configure: Regenerate. 386 3872021-05-01 Iain Sandoe <iain@sandoe.co.uk> 388 389 Backported from master: 390 2020-12-23 Iain Sandoe <iain@sandoe.co.uk> 391 392 * config/darwin-driver.c (validate_macosx_version_min): Allow 393 MACOSX_DEPLOYMENT_TARGET=11. 394 (darwin_default_min_version): Adjust warning spelling to avoid 395 an apostrophe. 396 3972021-05-01 Iain Sandoe <iain@sandoe.co.uk> 398 399 Backported from master: 400 2020-12-21 Iain Sandoe <iain@sandoe.co.uk> 401 402 * config/darwin-driver.c (darwin_find_version_from_kernel): 403 Compute the minor OS version from the minor kernel version. 404 4052021-05-01 Iain Sandoe <iain@sandoe.co.uk> 406 407 Backported from master: 408 2020-11-06 Iain Sandoe <iain@sandoe.co.uk> 409 410 * config/darwin-c.c: Allow for Darwin20 to correspond to macOS 11. 411 * config/darwin-driver.c: Likewise. 412 4132021-05-01 Iain Sandoe <iain@sandoe.co.uk> 414 415 Backported from master: 416 2020-11-01 Iain Sandoe <iain@sandoe.co.uk> 417 418 * config/host-darwin.c: Align pch_address_space to 16384. 419 4202021-05-01 Iain Sandoe <iain@sandoe.co.uk> 421 422 Backported from master: 423 2021-03-01 Iain Sandoe <iain@sandoe.co.uk> 424 425 PR target/44107 426 PR target/48097 427 * config/darwin-protos.h (darwin_should_restore_cfa_state): New. 428 * config/darwin.c (darwin_should_restore_cfa_state): New. 429 * config/darwin.h (TARGET_ASM_SHOULD_RESTORE_CFA_STATE): New. 430 * doc/tm.texi: Regenerated. 431 * doc/tm.texi.in: Document TARGET_ASM_SHOULD_RESTORE_CFA_STATE. 432 * dwarf2cfi.c (connect_traces): If the target requests, restore 433 the CFA expression after a DW_CFA_restore. 434 * target.def (TARGET_ASM_SHOULD_RESTORE_CFA_STATE): New hook. 435 4362021-05-01 Iain Sandoe <iain@sandoe.co.uk> 437 438 Backported from master: 439 2021-04-03 Iain Sandoe <iain@sandoe.co.uk> 440 441 * config/darwin.c (machopic_legitimize_pic_address): Check 442 that the current pic register is one of the hard reg set 443 before setting liveness. 444 4452021-05-01 Iain Sandoe <iain@sandoe.co.uk> 446 447 Backported from master: 448 2020-11-22 Iain Sandoe <iain@sandoe.co.uk> 449 450 * config/darwin-c.c (struct f_align_stack): Rename 451 to type from align_stack to f_align_stack. 452 (push_field_alignment): Likewise. 453 (pop_field_alignment): Likewise. 454 4552021-05-01 Iain Sandoe <iain@sandoe.co.uk> 456 457 Backported from master: 458 2020-09-07 Iain Sandoe <iain@sandoe.co.uk> 459 460 * config/darwin.c (darwin_libc_has_function): Report sincos 461 available from 10.9. 462 4632021-05-01 Iain Sandoe <iain@sandoe.co.uk> 464 465 * config/darwin.c: Lookup Objective C metadata and force indirection 466 for IVAR refs. 467 4682021-05-01 Iain Sandoe <iain@sandoe.co.uk> 469 470 * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): 471 Make ubsan_{data,type},ASAN symbols linker-visible. 472 4732021-04-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 474 475 Backported from master: 476 2019-11-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 477 478 PR tree-optimization/92608 479 * tree-ssa-loop-unswitch.c (find_loop_guard): Use safe_dyn_cast instead 480 of dyn_cast. 481 4822021-04-30 James Clarke <jrtc27@jrtc27.com> 483 484 PR bootstrap/87338 485 * dwarf2out.c (dwarf2out_inline_entry): Use ASM_OUTPUT_DEBUG_LABEL 486 instead of ASM_GENERATE_INTERNAL_LABEL and ASM_OUTPUT_LABEL. 487 4882021-04-28 Uros Bizjak <ubizjak@gmail.com> 489 490 Backported from master: 491 2021-04-23 Uroš Bizjak <ubizjak@gmail.com> 492 493 PR target/100182 494 * config/i386/sync.md (FILD_ATOMIC/FIST_ATOMIC FP load peephole2): 495 Copy operand 3 to operand 4. Use sse_reg_operand 496 as operand 3 predicate. 497 (FILD_ATOMIC/FIST_ATOMIC FP load peephole2 with mem blockage): Ditto. 498 (LDX_ATOMIC/STX_ATOMIC FP load peephole2): Ditto. 499 (LDX_ATOMIC/LDX_ATOMIC FP load peephole2 with mem blockage): Ditto. 500 (FILD_ATOMIC/FIST_ATOMIC FP store peephole2): 501 Copy operand 1 to operand 0. 502 (FILD_ATOMIC/FIST_ATOMIC FP store peephole2 with mem blockage): Ditto. 503 (LDX_ATOMIC/STX_ATOMIC FP store peephole2): Ditto. 504 (LDX_ATOMIC/LDX_ATOMIC FP store peephole2 with mem blockage): Ditto. 505 5062021-04-28 Richard Biener <rguenther@suse.de> 507 508 PR tree-optimization/99954 509 * tree-loop-distribution.c: Include tree-affine.h. 510 (generate_memcpy_builtin): Try using tree-affine to prove 511 non-overlap. 512 (loop_distribution::classify_builtin_ldst): Always classify 513 as PKIND_MEMMOVE. 514 5152021-04-25 Richard Sandiford <richard.sandiford@arm.com> 516 517 Backported from master: 518 2021-04-14 Richard Sandiford <richard.sandiford@arm.com> 519 520 PR rtl-optimization/99929 521 * rtl.h (same_vector_encodings_p): New function. 522 * cse.c (exp_equiv_p): Check that CONST_VECTORs have the same encoding. 523 * cselib.c (rtx_equal_for_cselib_1): Likewise. 524 * jump.c (rtx_renumbered_equal_p): Likewise. 525 * lra-constraints.c (operands_match_p): Likewise. 526 * reload.c (operands_match_p): Likewise. 527 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Likewise. 528 5292021-04-25 Richard Sandiford <richard.sandiford@arm.com> 530 531 Backported from master: 532 2021-03-30 Richard Sandiford <richard.sandiford@arm.com> 533 534 PR target/98136 535 * config/aarch64/aarch64.md (mov<mode>): Pass multi-instruction 536 CONST_INTs to aarch64_expand_mov_immediate when called after RA. 537 5382021-04-25 Richard Sandiford <richard.sandiford@arm.com> 539 540 PR rtl-optimization/96796 541 * lra-constraints.c (in_class_p): Add a default-false 542 allow_all_reload_class_changes_p parameter. Do not treat 543 reload moves specially when the parameter is true. 544 (get_reload_reg): Try to narrow the class of an existing OP_OUT 545 reload if we're reloading a reload pseudo in a reload instruction. 546 5472021-04-25 Richard Sandiford <richard.sandiford@arm.com> 548 549 Backported from master: 550 2020-12-31 Richard Sandiford <richard.sandiford@arm.com> 551 552 PR tree-optimization/98302 553 * tree-vect-patterns.c (vect_determine_precisions_from_users): Make 554 sure that the precision remains greater than the shift count. 555 5562021-04-25 Richard Sandiford <richard.sandiford@arm.com> 557 558 Backported from master: 559 2020-07-08 Richard Sandiford <richard.sandiford@arm.com> 560 561 PR middle-end/95694 562 * expr.c (expand_expr_real_2): Get the mode from the type rather 563 than the rtx, and assert that it is consistent with the mode of 564 the rtx (where known). Optimize all constant integers, not just 565 those that can be represented in poly_int64. 566 5672021-04-20 Jakub Jelinek <jakub@redhat.com> 568 569 Backported from master: 570 2021-04-20 Jakub Jelinek <jakub@redhat.com> 571 572 PR target/99767 573 * tree-vect-loop.c (vect_transform_loop): Don't remove just 574 dead scalar .MASK_LOAD calls, but also dead .COND_* calls - replace 575 them by their last argument. 576 5772021-04-20 Jakub Jelinek <jakub@redhat.com> 578 579 Backported from master: 580 2021-04-20 Jakub Jelinek <jakub@redhat.com> 581 582 PR rtl-optimization/99905 583 * combine.c (expand_compound_operation): If pos + len > modewidth, 584 perform the right shift by pos in inner_mode and then convert to mode, 585 instead of trying to simplify a shift of rtx with inner_mode by pos 586 as if it was a shift in mode. 587 5882021-04-20 Jakub Jelinek <jakub@redhat.com> 589 590 Backported from master: 591 2021-04-20 Jakub Jelinek <jakub@redhat.com> 592 593 PR debug/99830 594 * combine.c (simplify_and_const_int_1): Don't optimize varop 595 away if it has side-effects. 596 5972021-04-20 Jakub Jelinek <jakub@redhat.com> 598 599 Backported from master: 600 2021-04-20 Jakub Jelinek <jakub@redhat.com> 601 602 PR lto/99849 603 * expr.c (expand_expr_addr_expr_1): Test is_global_var rather than 604 just TREE_STATIC on COMPOUND_LITERAL_EXPR_DECLs. 605 6062021-04-20 Jakub Jelinek <jakub@redhat.com> 607 608 Backported from master: 609 2021-04-20 Jakub Jelinek <jakub@redhat.com> 610 611 PR rtl-optimization/98601 612 * rtlanal.c (rtx_addr_can_trap_p_1): Allow in assert unknown size 613 not just for BLKmode, but also for VOIDmode. For STRICT_ALIGNMENT 614 unaligned_mems handle VOIDmode like BLKmode. 615 6162021-04-20 Jakub Jelinek <jakub@redhat.com> 617 618 Backported from master: 619 2021-04-20 Jakub Jelinek <jakub@redhat.com> 620 621 PR rtl-optimization/99863 622 * dse.c (replace_read): Drop regs_live argument. Instead of 623 regs_live, use store_insn->fixed_regs_live if non-NULL, 624 otherwise punt if insns sequence clobbers or sets any hard 625 registers. 626 6272021-04-20 Jakub Jelinek <jakub@redhat.com> 628 629 Backported from master: 630 2021-03-30 Jakub Jelinek <jakub@redhat.com> 631 632 PR tree-optimization/99777 633 * fold-const.c (extract_muldiv_1): For conversions, punt on casts from 634 types other than scalar integral types. 635 6362021-04-20 Jakub Jelinek <jakub@redhat.com> 637 638 Backported from master: 639 2021-03-30 Jakub Jelinek <jakub@redhat.com> 640 641 PR debug/99334 642 * dwarf2out.h (struct dw_fde_node): Add rule18 member. 643 * dwarf2cfi.c (dwarf2out_frame_debug_expr): When handling (set hfp sp) 644 assignment with drap_reg active, queue reg save for hfp with offset 0 645 and flush queued reg saves. When handling a push with rule18, 646 defer queueing reg save for hfp and just assert the offset is 0. 647 (scan_trace): Assert that fde->rule18 is false. 648 6492021-04-20 Jakub Jelinek <jakub@redhat.com> 650 651 Backported from master: 652 2021-03-30 Jakub Jelinek <jakub@redhat.com> 653 654 PR debug/99388 655 * dwarf2out.c (insert_float): Change return type from void to 656 unsigned, handle GET_MODE_SIZE (mode) == 2 and return element size. 657 (mem_loc_descriptor, loc_descriptor, add_const_value_attribute): 658 Adjust callers. 659 6602021-04-20 Jakub Jelinek <jakub@redhat.com> 661 662 Backported from master: 663 2021-03-19 Jakub Jelinek <jakub@redhat.com> 664 665 PR target/99542 666 * config/aarch64/aarch64.c 667 (aarch64_simd_clone_compute_vecsize_and_simdlen): If not a function 668 definition, walk TYPE_ARG_TYPES list if non-NULL for argument types 669 instead of DECL_ARGUMENTS. Ignore types for uniform arguments. 670 6712021-04-20 Jakub Jelinek <jakub@redhat.com> 672 673 Backported from master: 674 2021-03-19 Jakub Jelinek <jakub@redhat.com> 675 676 PR middle-end/93235 677 * expmed.c (store_bit_field_using_insv): Return false of xop0 is a 678 SUBREG and a SUBREG to op_mode can't be created. 679 6802021-04-20 Jakub Jelinek <jakub@redhat.com> 681 682 Backported from master: 683 2021-03-19 Jakub Jelinek <jakub@redhat.com> 684 685 PR tree-optimization/99225 686 * fold-const.c (fold_binary_loc) <case NE_EXPR>: In (x & (1 << y)) != 0 687 to ((x >> y) & 1) != 0 simplifications use build_one_cst instead of 688 build_int_cst (..., 1). Formatting fixes. 689 6902021-04-20 Jakub Jelinek <jakub@redhat.com> 691 692 Backported from master: 693 2021-03-19 Jakub Jelinek <jakub@redhat.com> 694 695 PR tree-optimization/99204 696 * fold-const.c (fold_read_from_constant_string): Check that 697 tree_fits_uhwi_p (index) rather than just that index is INTEGER_CST. 698 6992021-04-20 Jakub Jelinek <jakub@redhat.com> 700 701 Backported from master: 702 2021-03-19 Jakub Jelinek <jakub@redhat.com> 703 704 PR ipa/99034 705 * tree-cfg.c (gimple_merge_blocks): If bb a starts with eh landing 706 pad or non-local label, put FORCED_LABELs from bb b after that label 707 rather than before it. 708 7092021-04-20 Jakub Jelinek <jakub@redhat.com> 710 711 Backported from master: 712 2021-03-19 Jakub Jelinek <jakub@redhat.com> 713 714 PR tree-optimization/99079 715 * match.pd (A % (pow2pcst << N) -> A & ((pow2pcst << N) - 1)): Remove 716 useless tree_nop_conversion_p (type, TREE_TYPE (@3)) check. Instead 717 require both type and TREE_TYPE (@1) to be integral types and either 718 type having smaller or equal precision, or TREE_TYPE (@1) being 719 unsigned type, or type being signed type. If TREE_TYPE (@1) 720 doesn't have wrapping overflow, perform the subtraction of one in 721 unsigned type. 722 7232021-04-20 Jakub Jelinek <jakub@redhat.com> 724 725 Backported from master: 726 2021-03-19 Jakub Jelinek <jakub@redhat.com> 727 728 PR c++/99035 729 * varasm.c (declare_weak): For -fsyntax-only, allow even 730 TREE_ASM_WRITTEN function decls. 731 7322021-04-20 Jakub Jelinek <jakub@redhat.com> 733 734 Backported from master: 735 2021-03-19 Jakub Jelinek <jakub@redhat.com> 736 737 PR middle-end/99007 738 * gimplify.c (gimplify_scan_omp_clauses): For MEM_REF on reductions, 739 temporarily disable gimplify_ctxp->into_ssa around gimplify_expr 740 calls. 741 7422021-04-20 Jakub Jelinek <jakub@redhat.com> 743 744 Backported from master: 745 2021-03-19 Jakub Jelinek <jakub@redhat.com> 746 747 PR middle-end/97487 748 * ifcvt.c (noce_can_force_operand): New function. 749 (noce_emit_move_insn): Use it. 750 (noce_try_sign_mask): Likewise. Formatting fix. 751 7522021-04-20 Jakub Jelinek <jakub@redhat.com> 753 754 Backported from master: 755 2021-03-19 Jakub Jelinek <jakub@redhat.com> 756 757 PR middle-end/97971 758 * lra-constraints.c (process_alt_operands): For inline asm, don't call 759 fatal_insn, but instead return false. 760 7612021-04-20 Jakub Jelinek <jakub@redhat.com> 762 763 Backported from master: 764 2021-01-29 Jakub Jelinek <jakub@redhat.com> 765 766 PR debug/98331 767 * cfgbuild.c (find_bb_boundaries): Reset debug_insn when seeing 768 a BARRIER. 769 7702021-04-20 Jakub Jelinek <jakub@redhat.com> 771 772 Backported from master: 773 2021-01-29 Jakub Jelinek <jakub@redhat.com> 774 775 PR target/98853 776 * config/aarch64/aarch64.md (*aarch64_bfxilsi_uxtw): Use 777 %w0, %w1 and %2 instead of %0, %1 and %2. 778 7792021-04-20 Jakub Jelinek <jakub@redhat.com> 780 781 Backported from master: 782 2021-01-29 Jakub Jelinek <jakub@redhat.com> 783 784 PR target/98681 785 * config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p): 786 Use UINTVAL (shft_amnt) and UINTVAL (mask) instead of INTVAL (shft_amnt) 787 and INTVAL (mask). Add && INTVAL (mask) > 0 condition. 788 7892021-04-20 Jakub Jelinek <jakub@redhat.com> 790 791 Backported from master: 792 2021-01-29 Jakub Jelinek <jakub@redhat.com> 793 794 PR testsuite/97301 795 * config/rs6000/mmintrin.h (__m64): Add __may_alias__ attribute. 796 7972021-04-20 Jakub Jelinek <jakub@redhat.com> 798 799 Backported from master: 800 2021-01-29 Jakub Jelinek <jakub@redhat.com> 801 802 PR tree-optimization/90248 803 * match.pd (X cmp 0.0 ? 1.0 : -1.0 -> copysign(1, +-X), 804 X cmp 0.0 ? -1.0 : +1.0 -> copysign(1, -+X)): Remove 805 simplifications. 806 (X * (X cmp 0.0 ? 1.0 : -1.0) -> +-abs(X), 807 X * (X cmp 0.0 ? -1.0 : 1.0) -> +-abs(X)): New simplifications. 808 8092021-04-20 Jakub Jelinek <jakub@redhat.com> 810 811 Backported from master: 812 2021-01-09 Jakub Jelinek <jakub@redhat.com> 813 814 PR c++/98556 815 * tree-cfg.c (verify_gimple_assign_binary): Allow lhs of 816 POINTER_DIFF_EXPR to be any integral type. 817 8182021-04-20 Jakub Jelinek <jakub@redhat.com> 819 820 Backported from master: 821 2021-01-06 Jakub Jelinek <jakub@redhat.com> 822 823 PR tree-optimization/98474 824 * wide-int.cc (wi::to_mpz): If wide_int has MSB set, but type 825 is unsigned and excess negative, append set bits after len until 826 precision. 827 8282021-04-20 Jakub Jelinek <jakub@redhat.com> 829 830 Backported from master: 831 2021-01-06 Jakub Jelinek <jakub@redhat.com> 832 833 PR c++/98353 834 * gimplify.c (gimplify_init_ctor_eval_range): Gimplify value before 835 storing it into cref. 836 8372021-04-20 Jakub Jelinek <jakub@redhat.com> 838 839 Backported from master: 840 2021-01-06 Jakub Jelinek <jakub@redhat.com> 841 842 * gimplify.c (struct gimplify_omp_ctx): Add has_depend member. 843 (gimplify_scan_omp_clauses): Set it to true if OMP_CLAUSE_DEPEND 844 appears on OMP_TASK. 845 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Force 846 GOVD_WRITTEN on shared variables if task construct has depend clause. 847 8482021-04-20 Jakub Jelinek <jakub@redhat.com> 849 850 Backported from master: 851 2021-01-06 Jakub Jelinek <jakub@redhat.com> 852 853 PR middle-end/98183 854 * omp-low.c (lower_omp_target): Don't add OMP_RETURN for 855 data regions. 856 * omp-expand.c (expand_omp_target): Don't try to remove 857 OMP_RETURN for data regions. 858 (build_omp_regions_1, omp_make_gimple_edges): Don't expect 859 OMP_RETURN for data regions. 860 8612021-04-20 Jakub Jelinek <jakub@redhat.com> 862 863 Backported from master: 864 2021-01-06 Jakub Jelinek <jakub@redhat.com> 865 866 PR middle-end/98205 867 * omp-expand.c (expand_omp_for_generic): Fix up broken_loop handling. 868 8692021-04-20 Jakub Jelinek <jakub@redhat.com> 870 871 Backported from master: 872 2021-01-06 Jakub Jelinek <jakub@redhat.com> 873 874 PR target/98100 875 * cfgexpand.c (expand_gimple_basic_block): For vars with 876 vector type, use TYPE_MODE rather than DECL_MODE. 877 8782021-04-20 Jakub Jelinek <jakub@redhat.com> 879 880 Backported from master: 881 2021-01-06 Jakub Jelinek <jakub@redhat.com> 882 883 * dwarf2out.c (add_scalar_info): Only use add_AT_wide for 128-bit 884 constants and only in dwarf-5 or later, where DW_FORM_data16 is 885 available. Otherwise use DW_FORM_block*/DW_FORM_exprloc with 886 DW_OP_implicit_value to describe the constant. 887 8882021-04-20 Jakub Jelinek <jakub@redhat.com> 889 890 Backported from master: 891 2021-01-06 Jakub Jelinek <jakub@redhat.com> 892 893 PR target/98063 894 * config/i386/i386.c (ix86_expand_call): Handle non-plt 895 CM_LARGE_PIC calls. 896 8972021-04-20 Jakub Jelinek <jakub@redhat.com> 898 899 Backported from master: 900 2020-11-25 Jakub Jelinek <jakub@redhat.com> 901 902 PR debug/97599 903 * dwarf2out.c (gen_subprogram_die): Call 904 gen_unspecified_parameters_die even if not early dwarf, but only 905 if subr_die is a newly created DIE. 906 9072021-04-20 Jakub Jelinek <jakub@redhat.com> 908 909 Backported from master: 910 2020-11-02 Jakub Jelinek <jakub@redhat.com> 911 912 * wide-int.cc (wi::set_bit_large): Call canonize unless setting 913 msb bit and clearing bits above it. 914 9152021-04-20 Jakub Jelinek <jakub@redhat.com> 916 917 Backported from master: 918 2020-10-16 Jakub Jelinek <jakub@redhat.com> 919 920 PR rtl-optimization/97386 921 * combine.c (simplify_shift_const_1): Don't optimize nested ROTATEs if 922 they have different modes. 923 9242021-04-20 Jakub Jelinek <jakub@redhat.com> 925 926 Backported from master: 927 2020-10-16 Jakub Jelinek <jakub@redhat.com> 928 929 PR sanitizer/97294 930 * tree-cfg.c (move_block_to_fn): Call notice_special_calls on 931 call stmts being moved into dest_cfun. 932 * omp-low.c (lower_rec_input_clauses): Set cfun->calls_alloca when 933 adding __builtin_alloca_with_align call without gimplification. 934 9352021-04-19 Eric Botcazou <ebotcazou@adacore.com> 936 937 * config/i386/winnt.c (i386_pe_seh_cold_init): Properly deal with 938 frames larger than the SEH maximum frame size. 939 9402021-04-15 Lili Cui <lili.cui@intel.com> 941 942 * common/config/i386/i386-common.c 943 (processor_names): Add tigerlake. 944 (processor_alias_table): Ditto. 945 * config.gcc (x86_64_archs): Ditto. 946 * config/i386/driver-i386.c 947 (host_detect_local_cpu): Detect tigerlake, add "has_avx" to 948 classify processor. 949 * config/i386/i386-c.c (ix86_target_macros_internal): Handle 950 PROCESSOR_TIGERLAKE. 951 * config/i386/i386.c (m_TIGERLAKE): Define. 952 (m_CORE_AVX512): Add m_TIGERLAKE. 953 (processor_cost_table): Add skylake_cost for tigerlake. 954 (processor_model): Add M_INTEL_COREI7_TIGERLAKE. 955 (arch_names_table): Add tigerlake. 956 (get_builtin_code_for_version): Handle PROCESSOR_TIGERLAKE. 957 * config/i386/i386.h (TARGET_TIGERLAKE): Define. 958 (enum processor_type): Add PROCESSOR_TIGERLAKE. 959 (PTA_TIGERLAKE): Define. 960 * doc/extend.texi (__builtin_cpu_is): Add tigerlake. 961 * doc/invoke.texi (-march=cpu-type): Ditto. 962 9632021-04-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 964 965 Backported from master: 966 2020-02-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 967 Kugan Vivekandarajah <kugan.vivekanandarajah@linaro.org> 968 969 PR driver/47785 970 * gcc.c (putenv_COLLECT_AS_OPTIONS): New function. 971 (driver::main): Call putenv_COLLECT_AS_OPTIONS. 972 * opts-common.c (parse_options_from_collect_gcc_options): New function. 973 (prepend_xassembler_to_collect_as_options): Likewise. 974 * opts.h (parse_options_from_collect_gcc_options): Declare prototype. 975 (prepend_xassembler_to_collect_as_options): Likewise. 976 * lto-opts.c (lto_write_options): Stream assembler options 977 in COLLECT_AS_OPTIONS. 978 * lto-wrapper.c (xassembler_options_error): New static variable. 979 (get_options_from_collect_gcc_options): Move parsing options code to 980 parse_options_from_collect_gcc_options and call it. 981 (merge_and_complain): Validate -Xassembler options. 982 (append_compiler_options): Handle OPT_Xassembler. 983 (run_gcc): Append command line -Xassembler options to 984 collect_gcc_options. 985 * doc/invoke.texi: Add documentation about using Xassembler 986 options with LTO. 987 9882021-04-12 Richard Biener <rguenther@suse.de> 989 990 Backported from master: 991 2021-03-22 Richard Biener <rguenther@suse.de> 992 993 PR tree-optimization/99694 994 * tree-ssa-sccvn.c (visit_phi): Ignore edges with the 995 PHI result. 996 9972021-04-12 Richard Biener <rguenther@suse.de> 998 999 Backported from master: 1000 2021-02-24 Richard Biener <rguenther@suse.de> 1001 1002 PR c/99224 1003 * builtins.c (fold_builtin_next_arg): Avoid NULL arg. 1004 10052021-04-12 Richard Biener <rguenther@suse.de> 1006 1007 Backported from master: 1008 2021-02-08 Richard Biener <rguenther@suse.de> 1009 1010 PR lto/96591 1011 * tree.c (walk_tree_1): Walk VECTOR_CST elements. 1012 10132021-04-08 Martin Jambor <mjambor@suse.cz> 1014 1015 Backported from master: 1016 2021-04-01 Martin Jambor <mjambor@suse.cz> 1017 1018 PR tree-optimization/97009 1019 * tree-sra.c (access_or_its_child_written): New function. 1020 (propagate_subaccesses_from_rhs): Use it instead of a simple grp_write 1021 test. 1022 10232021-04-01 Richard Biener <rguenther@suse.de> 1024 1025 Backported from master: 1026 2021-04-01 Richard Biener <rguenther@suse.de> 1027 1028 PR tree-optimization/99856 1029 * tree-vect-patterns.c (vect_recog_over_widening_pattern): Promote 1030 precision to vector element precision. 1031 10322021-03-26 Iain Buclaw <ibuclaw@gdcproject.org> 1033 1034 Backported from master: 1035 2021-03-26 Iain Buclaw <ibuclaw@gdcproject.org> 1036 1037 PR ipa/99466 1038 * tree-emutls.c (get_emutls_init_templ_addr): Mark initializer of weak 1039 TLS declarations as public. 1040 10412021-03-25 Xionghu Luo <luoxhu@linux.ibm.com> 1042 1043 Backported from master: 1044 2021-03-25 Xionghu Luo <luoxhu@linux.ibm.com> 1045 1046 PR target/97329 1047 * config/rs6000/rs6000.c (power8_costs): Change l2 cache 1048 from 256 to 512. 1049 10502021-03-23 H.J. Lu <hjl.tools@gmail.com> 1051 1052 Backported from master: 1053 2021-03-23 H.J. Lu <hjl.tools@gmail.com> 1054 1055 PR target/99704 1056 * config/i386/cpuid.h (__cpuid): Add __volatile__. 1057 (__cpuid_count): Likewise. 1058 10592021-03-22 Kito Cheng <kito.cheng@sifive.com> 1060 1061 Backported from master: 1062 2021-03-22 Kito Cheng <kito.cheng@sifive.com> 1063 1064 PR target/99702 1065 * config/riscv/riscv.c (riscv_expand_block_move): Get RTL value 1066 after type checking. 1067 10682021-03-18 Sinan Lin <sinan@isrc.iscas.ac.cn> 1069 1070 Backported from master: 1071 2021-03-18 Sinan Lin <sinan@isrc.iscas.ac.cn> 1072 Kito Cheng <kito.cheng@sifive.com> 1073 1074 * config/riscv/riscv.c (riscv_block_move_straight): Change type 1075 to unsigned HOST_WIDE_INT for parameter and local variable with 1076 HOST_WIDE_INT type. 1077 (riscv_adjust_block_mem): Ditto. 1078 (riscv_block_move_loop): Ditto. 1079 (riscv_expand_block_move): Ditto. 1080 10812021-03-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1082 1083 Backported from master: 1084 2021-03-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1085 1086 * config/aarch64/aarch64-builtins.c (aarch64_expand_rng_builtin): Use EQ 1087 to compare against CC_REG rather than NE. 1088 10892021-03-17 Martin Jambor <mjambor@suse.cz> 1090 1091 Backported from master: 1092 2021-03-05 Martin Jambor <mjambor@suse.cz> 1093 1094 PR ipa/98078 1095 * cgraph.c (cgraph_edge::set_call_stmt): Do not update all 1096 corresponding speculative edges if we are about to resolve 1097 speculation. Make edge direct (and so resolve speculations) before 1098 removing it from call_site_hash. 1099 (cgraph_edge::make_direct): Relax the initial assert to allow calling 1100 the function on speculative direct edges. 1101 11022021-03-17 Richard Biener <rguenther@suse.de> 1103 1104 Backported from master: 1105 2021-03-03 Richard Biener <rguenther@suse.de> 1106 1107 PR tree-optimization/98758 1108 * tree-data-ref.c (int_divides_p): Use lambda_int arguments. 1109 (lambda_matrix_right_hermite): Avoid undefinedness with 1110 signed integer abs and multiplication. 1111 (analyze_subscript_affine_affine): Use lambda_int. 1112 11132021-03-17 Richard Biener <rguenther@suse.de> 1114 1115 Backported from master: 1116 2021-01-12 Richard Biener <rguenther@suse.de> 1117 1118 PR tree-optimization/98282 1119 * tree-ssa-sccvn.c (vn_get_stmt_kind): Classify tcc_reference on 1120 invariants as VN_NARY. 1121 11222021-03-17 Richard Biener <rguenther@suse.de> 1123 1124 Backported from master: 1125 2021-01-11 Richard Biener <rguenther@suse.de> 1126 1127 PR tree-optimization/98117 1128 * tree-vect-loop-manip.c (vect_gen_vector_loop_niters): 1129 Properly handle degenerate niter when setting the vector 1130 loop IV range. 1131 11322021-03-17 Richard Biener <rguenther@suse.de> 1133 1134 Backported from master: 1135 2020-03-04 Richard Biener <rguenther@suse.de> 1136 1137 PR tree-optimization/93964 1138 * graphite-isl-ast-to-gimple.c 1139 (gcc_expression_from_isl_ast_expr_id): Add intermediate 1140 conversion for pointer to integer converts. 1141 * graphite-scop-detection.c (assign_parameter_index_in_region): 1142 Relax assert. 1143 11442021-03-07 John David Anglin <danglin@gcc.gnu.org> 1145 1146 PR target/85074 1147 * config/pa/pa.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define as 1148 hook_bool_const_tree_hwi_hwi_const_tree_true. 1149 (pa_asm_output_mi_thunk): Add support for nonzero vcall_offset. 1150 11512021-03-03 Eric Botcazou <ebotcazou@adacore.com> 1152 1153 PR target/99234 1154 * config/i386/i386.c (ix86_compute_frame_layout): For a SEH target, 1155 point back the hard frame pointer to its default location when the 1156 frame is larger than SEH_MAX_FRAME_SIZE. 1157 11582021-03-01 Eric Botcazou <ebotcazou@adacore.com> 1159 1160 PR target/99234 1161 * config/i386/i386.c (ix86_compute_frame_layout): For a SEH target, 1162 point the hard frame pointer to the SSE register save area instead 1163 of the general register save area. Perform only minimal adjustment 1164 for small frames if it is initially not correctly aligned. 1165 (ix86_expand_prologue): Remove early saves for a SEH target. 1166 * config/i386/winnt.c (struct seh_frame_state): Document constraint. 1167 11682021-02-23 Qian Jianhua <qianjh@cn.fujitsu.com> 1169 1170 Backported from master: 1171 2021-02-23 Qian Jianhua <qianjh@cn.fujitsu.com> 1172 1173 * config/aarch64/aarch64-cost-tables.h (a64fx_extra_costs): New. 1174 * config/aarch64/aarch64.c (a64fx_addrcost_table): New. 1175 (a64fx_regmove_cost, a64fx_vector_cost): New. 1176 (a64fx_tunings): Use the new added cost tables. 1177 11782021-02-15 Eric Botcazou <ebotcazou@adacore.com> 1179 1180 * df-core.c (df_worklist_dataflow_doublequeue): Use proper cast. 1181 11822021-02-11 Eric Botcazou <ebotcazou@adacore.com> 1183 1184 * config/i386/winnt.c (i386_pe_seh_unwind_emit): When switching to 1185 the cold section, emit a nop before the directive if the previous 1186 active instruction can throw. 1187 11882021-02-05 Matthias Klose <doko@ubuntu.com> 1189 1190 Backported from master: 1191 2020-10-06 Richard Biener <rguenther@suse.de> 1192 1193 PR tree-optimization/97236 1194 * tree-vect-stmts.c (get_group_load_store_type): Keep 1195 VMAT_ELEMENTWISE for single-element vectors. 1196 11972021-02-03 Jakub Jelinek <jakub@redhat.com> 1198 1199 Backported from master: 1200 2020-11-20 Jakub Jelinek <jakub@redhat.com> 1201 1202 PR target/97528 1203 * config/arm/arm.c (neon_vector_mem_operand): For POST_MODIFY, require 1204 first POST_MODIFY operand is a REG and is equal to the first operand 1205 of PLUS. 1206 12072021-01-29 Richard Biener <rguenther@suse.de> 1208 1209 Backported from master: 1210 2021-01-29 Bin Cheng <bin.cheng@linux.alibaba.com> 1211 Richard Biener <rguenther@suse.de> 1212 1213 PR tree-optimization/97627 1214 * tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): 1215 Do not analyze fake edges. 1216 12172021-01-21 Wilco Dijkstra <wdijkstr@arm.com> 1218 1219 Backported from master: 1220 2019-10-16 Wilco Dijkstra <wdijkstr@arm.com> 1221 1222 PR target/98618 1223 * config/aarch64/aarch64.c (aarch64_classify_symbol): 1224 Apply reasonable limit to symbol offsets. 1225 12262021-01-13 Samuel Thibault <samuel.thibault@ens-lyon.org> 1227 1228 Backported from master: 1229 2021-01-13 Samuel Thibault <samuel.thibault@ens-lyon.org> 1230 1231 * config.gcc [$target == *-*-gnu*]: Enable 1232 'default_gnu_indirect_function'. 1233 12342021-01-06 2019-07-10 Marc Glisse <marc.glisse@inria.fr> 1235 1236 PR testsuite/90806 1237 Backport from mainline 1238 * wide-int.h (wi::lshift): Reject negative values for the fast path. 1239 12402020-12-28 Uroš Bizjak <ubizjak@gmail.com> 1241 1242 PR target/96793 1243 * config/i386/i386.c (ix86_expand_rint): 1244 Remove the sign of the intermediate value for flag_rounding_math. 1245 12462020-12-28 Piotr Kubaj <pkubaj@FreeBSD.org> 1247 1248 Backported from master: 1249 2020-12-16 Piotr Kubaj <pkubaj@FreeBSD.org> 1250 1251 * config.gcc (powerpc*le-*-freebsd*): Add. 1252 * configure.ac (powerpc*le-*-freebsd*): Ditto. 1253 * configure: Regenerate. 1254 * config/rs6000/freebsd64.h (ASM_SPEC_COMMON): Use ENDIAN_SELECT. 1255 (DEFAULT_ASM_ENDIAN): Add little endian support. 1256 (LINK_OS_FREEBSD_SPEC64): Ditto. 1257 12582020-12-27 Uroš Bizjak <ubizjak@gmail.com> 1259 1260 PR target/96793 1261 * config/i386/i386.c (ix86_expand_truncdf_32): 1262 Remove the sign of the intermediate value for flag_rounding_math. 1263 12642020-12-24 Roman Zhuykov <zhroma@ispras.ru> 1265 1266 Backported from master: 1267 2020-12-05 Roman Zhuykov <zhroma@ispras.ru> 1268 1269 PR rtl-optimization/97421 1270 * modulo-sched.c (generate_prolog_epilog): Remove forward 1271 declaration, adjust last argument name and type. 1272 (const_iteration_count): Add bool pointer parameter to return 1273 whether count register is read in pre-header after its 1274 initialization. 1275 (sms_schedule): Fix count register initialization adjustment 1276 procedure according to what const_iteration_count said. 1277 12782020-12-23 Uroš Bizjak <ubizjak@gmail.com> 1279 1280 PR target/96793 1281 * config/i386/i386.c (ix86_expand_floorceil): 1282 Remove the sign of the intermediate value for flag_rounding_math. 1283 (ix86_expand_floorceildf_32): Ditto. 1284 12852020-12-14 Wilco Dijkstra <wdijkstr@arm.com> 1286 1287 * config.gcc (aarch64*-*-*): Add --with-tune. Support --with-cpu=native. 1288 * config/aarch64/aarch64.h (OPTION_DEFAULT_SPECS): Add --with-tune. 1289 12902020-12-14 Sebastian Pop <spop@amazon.com> 1291 1292 * config.gcc (aarch64*-*-*): Remove --with-{cpu,arch,tune}-32 flags. 1293 12942020-12-03 Uroš Bizjak <ubizjak@gmail.com> 1295 Jakub Jelinek <jakub@redhat.com> 1296 1297 PR target/98086 1298 * config/i386/i386.c (ix86_md_asm_adjustmd): Rewrite 1299 zero-extension part to use convert_to_mode. 1300 13012020-12-02 Richard Biener <rguenther@suse.de> 1302 1303 Backported from master: 1304 2020-07-06 Richard Biener <rguenther@suse.de> 1305 1306 PR tree-optimization/96075 1307 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use 1308 TYPE_SIZE_UNIT of the vector component type instead of DR_STEP 1309 for the misalignment calculation for negative step. 1310 13112020-12-02 Richard Biener <rguenther@suse.de> 1312 1313 Backported from master: 1314 2020-07-31 Richard Biener <rguenther@suse.de> 1315 1316 PR middle-end/96369 1317 * fold-const.c (fold_range_test): Special-case constant 1318 LHS for short-circuiting operations. 1319 13202020-12-02 Richard Biener <rguenther@suse.de> 1321 1322 Backported from master: 1323 2020-11-13 Richard Biener <rguenther@suse.de> 1324 1325 PR tree-optimization/97812 1326 * tree-vrp.c (register_edge_assert_for_2): Extend the range 1327 according to its sign before seeing whether it fits. 1328 13292020-12-02 Richard Biener <rguenther@suse.de> 1330 1331 Backported from master: 1332 2020-10-01 Richard Biener <rguenther@suse.de> 1333 1334 PR tree-optimization/97255 1335 * tree-vect-patterns.c (vect_recog_bool_pattern): Also handle 1336 VIEW_CONVERT_EXPR. 1337 13382020-12-02 Richard Biener <rguenther@suse.de> 1339 1340 Backported from master: 1341 2020-09-18 Richard Biener <rguenther@suse.de> 1342 1343 PR tree-optimization/97081 1344 * tree-vect-patterns.c (vect_recog_rotate_pattern): Use the 1345 precision of the shifted operand to determine the mask. 1346 13472020-12-02 Richard Biener <rguenther@suse.de> 1348 1349 Backported from master: 1350 2020-08-27 Richard Biener <rguenther@suse.de> 1351 1352 PR tree-optimization/96579 1353 * tree-ssa-reassoc.c (linearize_expr_tree): If we expand 1354 rhs via special ops make sure to swap operands. 1355 13562020-12-02 Richard Biener <rguenther@suse.de> 1357 1358 Backported from master: 1359 2020-07-30 Richard Biener <rguenther@suse.de> 1360 1361 PR tree-optimization/96370 1362 * tree-ssa-reassoc.c (rewrite_expr_tree): Add operation 1363 code parameter and use it instead of picking it up from 1364 the stmt that is being rewritten. 1365 (reassociate_bb): Pass down the operation code. 1366 13672020-12-02 Richard Biener <rguenther@suse.de> 1368 1369 Backported from master: 1370 2020-08-07 Richard Biener <rguenther@suse.de> 1371 1372 PR tree-optimization/96514 1373 * tree-if-conv.c (if_convertible_bb_p): If the last stmt 1374 is a call that is control-altering, fail. 1375 13762020-12-01 Richard Biener <rguenther@suse.de> 1377 1378 Backported from master: 1379 2020-10-26 Richard Biener <rguenther@suse.de> 1380 1381 PR middle-end/97554 1382 * sbitmap.c (sbitmap_vector_alloc): Use size_t for byte 1383 quantities to avoid overflow. 1384 13852020-11-30 Stam Markianos-Wright <stam.markianos-wright@arm.com> 1386 1387 * config/arm/arm-protos.h: New function arm_gen_far_branch prototype. 1388 * config/arm/arm.c (arm_gen_far_branch): New function 1389 arm_gen_far_branch. 1390 * config/arm/arm.md: Update b<cond> for Thumb2 range checks. 1391 13922020-11-28 Eric Botcazou <ebotcazou@adacore.com> 1393 1394 PR target/97939 1395 * config/sparc/predicates.md (arith_double_add_operand): Comment. 1396 * config/sparc/sparc.md (uaddvdi4): Use arith_double_operand. 1397 (addvdi4): Use arith_double_add_operand. 1398 (addsi3): Remove useless attributes. 1399 (addvsi4): Use arith_add_operand. 1400 (*cmp_ccv_plus): Likewise and add second alternative accordingly. 1401 (*cmp_ccxv_plus): Likewise. 1402 (*cmp_ccv_plus_set): Likewise. 1403 (*cmp_ccxv_plus_set): Likewise. 1404 (*cmp_ccv_plus_sltu_set): Likewise. 1405 (usubvdi4): Use arith_double_operand. 1406 (subvdi4): Use arith_double_add_operand. 1407 (subsi3): Remove useless attributes. 1408 (subvsi4): Use arith_add_operand. 1409 (*cmp_ccv_minus): Likewise and add second alternative accordingly. 1410 (*cmp_ccxv_minus): Likewise. 1411 (*cmp_ccv_minus_set): Likewise. 1412 (*cmp_ccxv_minus_set): Likewise. 1413 (*cmp_ccv_minus_sltu_set): Likewise. 1414 (negsi2): Use register_operand. 1415 (unegvsi3): Likewise. 1416 (negvsi3) Likewise. 1417 (*cmp_ccnz_neg): Likewise. 1418 (*cmp_ccxnz_neg): Likewise. 1419 (*cmp_ccnz_neg_set): Likewise. 1420 (*cmp_ccxnz_neg_set): Likewise. 1421 (*cmp_ccc_neg_set): Likewise. 1422 (*cmp_ccxc_neg_set): Likewise. 1423 (*cmp_ccc_neg_sltu_set): Likewise. 1424 (*cmp_ccv_neg): Likewise. 1425 (*cmp_ccxv_neg): Likewise. 1426 (*cmp_ccv_neg_set): Likewise. 1427 (*cmp_ccxv_neg_set): Likewise. 1428 (*cmp_ccv_neg_sltu_set): Likewise. 1429 14302020-11-28 Eric Botcazou <ebotcazou@adacore.com> 1431 1432 PR target/96607 1433 * config/sparc/sparc-protos.h (eligible_for_call_delay): Delete. 1434 * config/sparc/sparc.c (eligible_for_call_delay): Likewise. 1435 * config/sparc/sparc.md (in_call_delay): Likewise. 1436 (tls_delay_slot): New attribute. 1437 (define_delay [call]): Use in_branch_delay. 1438 (tgd_call<P:mode>): Set type to call_no_delay_slot when 1439 tls_delay_slot is false. 1440 (tldm_call<P:mode>): Likewise. 1441 14422020-11-24 Jason Merrill <jason@redhat.com> 1443 1444 PR c++/97918 1445 * dwarf2out.c (dwarf2out_early_finish): flush_limbo_die_list 1446 after gen_scheduled_generic_parms_dies. 1447 14482020-11-17 Sebastian Pop <spop@amazon.com> 1449 1450 Backported from master: 1451 2020-11-17 Sebastian Pop <spop@amazon.com> 1452 1453 * config.gcc: add configure flags --with-{cpu,arch,tune}-{32,64} 1454 as alias flags for --with-{cpu,arch,tune} on AArch64. 1455 * doc/install.texi: Document new flags for aarch64. 1456 14572020-11-17 Sebastian Pop <spop@amazon.com> 1458 1459 Backported from master: 1460 2020-11-17 Sebastian Pop <spop@amazon.com> 1461 1462 * config.gcc: Add --with-tune to AArch64 configure flags. 1463 14642020-11-17 Tamar Christina <tamar.christina@arm.com> 1465 1466 Backported from master: 1467 2020-10-27 Tamar Christina <tamar.christina@arm.com> 1468 1469 PR target/97535 1470 * config/aarch64/aarch64.c (aarch64_expand_cpymem): Use unsigned 1471 arithmetic in check. 1472 14732020-11-17 Monk Chiang <monk.chiang@sifive.com> 1474 1475 Backported from master: 1476 2020-11-14 Monk Chiang <monk.chiang@sifive.com> 1477 1478 PR target/97682 1479 * config/riscv/riscv.h (RISCV_PROLOGUE_TEMP_REGNUM): Change register 1480 to t0. 1481 (RISCV_CALL_ADDRESS_TEMP_REGNUM): New Marco, define t1 register. 1482 (RISCV_CALL_ADDRESS_TEMP): Use it for call instructions. 1483 * config/riscv/riscv.c (riscv_legitimize_call_address): Use 1484 RISCV_CALL_ADDRESS_TEMP. 1485 (riscv_compute_frame_info): Change temporary register to t0 form t1. 1486 (riscv_trampoline_init): Adjust comment. 1487 14882020-11-16 Cui,Lili <lili.cui@intel.com> 1489 1490 * config/i386/i386.h: Add PREFETCHW to march=broadwell. 1491 * doc/invoke.texi: Put PREFETCHW back to relation arch. 1492 14932020-11-11 liuhongt <hongtao.liu@intel.com> 1494 1495 * config/i386/i386.c (ix86_option_override_internal): 1496 Handle PTA_CLDEMOTE, PTA_MOVDIRI, PTA_MOVDIR64B. 1497 * config/i386/i386.h (PTA_CLDEMOTE, PTA_MOVDIRI, 1498 PTA_MOVDIR64B.): Define. 1499 15002020-11-09 Lili Cui <lili.cui@intel.com> 1501 1502 PR target/97685 1503 * config/i386/i386.h: 1504 (PTA_BROADWELL): Delete PTA_PRFCHW. 1505 (PTA_SILVERMONT): Add PTA_PRFCHW. 1506 (PTA_KNL): Add PTA_PREFETCHWT1. 1507 (PTA_TREMONT): Add PTA_MOVDIRI, PTA_MOVDIR64B, PTA_CLDEMOTE and PTA_WAITPKG. 1508 * doc/invoke.texi: Delete PREFETCHW for broadwell, skylake, knl, knm, 1509 skylake-avx512, cannonlake, icelake-client, icelake-server, cascadelake, 1510 cooperlake, tigerlake and sapphirerapids. 1511 Add PREFETCHW for silvermont, goldmont, goldmont-plus and tremont. 1512 Add XSAVEC and XSAVES for goldmont, goldmont-plus and tremont. 1513 Add MOVDIRI, MOVDIR64B, CLDEMOTE and WAITPKG for tremont. 1514 Add KEYLOCKER and HREST for alderlake. 1515 Add AMX-BF16, AMX-TILE, AMX-INT8 and UINTR for sapphirerapids. 1516 Add KEYLOCKER for tigerlake. 1517 15182020-10-22 Andreas Krebbel <krebbel@linux.ibm.com> 1519 1520 Backported from master: 1521 2020-10-22 Andreas Krebbel <krebbel@linux.ibm.com> 1522 1523 PR rtl-optimization/97439 1524 * dfp.c (decimal_real_maxval): Set the sign flag in the 1525 generated number. 1526 15272020-10-16 Martin Liska <mliska@suse.cz> 1528 1529 Backported from master: 1530 2020-10-16 Martin Liska <mliska@suse.cz> 1531 1532 PR ipa/97404 1533 * ipa-prop.c (struct ipa_vr_ggc_hash_traits): 1534 Compare types of VRP as we can merge ranges of different types. 1535 15362020-10-15 Martin Liska <mliska@suse.cz> 1537 1538 Backported from master: 1539 2020-10-15 Martin Liska <mliska@suse.cz> 1540 1541 PR ipa/97295 1542 * profile-count.c (profile_count::to_frequency): Move part of 1543 gcc_assert to STATIC_ASSERT. 1544 * regs.h (REG_FREQ_FROM_BB): Do not use count.to_frequency for 1545 a function that does not have count_max initialized. 1546 15472020-10-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1548 1549 * config/aarch64/aarch64.c (neoversen2_tunings): Define. 1550 * config/aarch64/aarch64-cores.def (neoverse-n2): Use it. 1551 15522020-10-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1553 1554 Backported from master: 1555 2020-10-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1556 1557 PR target/97349 1558 * config/aarch64/arm_neon.h (vdupq_n_p8, vdupq_n_p16, 1559 vdupq_n_p64, vdupq_n_s8, vdupq_n_s16, vdupq_n_u8, vdupq_n_u16): 1560 Fix argument type. 1561 15622020-10-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1563 1564 * config/aarch64/aarch64.md ("unspec"): Add UNSPEC_FRINT32Z, 1565 UNSPEC_FRINT32X, UNSPEC_FRINT64Z, UNSPEC_FRINT64X. 1566 (aarch64_<frintnzs_op><mode>): New define_insn. 1567 * config/aarch64/aarch64.h (TARGET_FRINT): Define. 1568 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define 1569 __ARM_FEATURE_FRINT when appropriate. 1570 * config/aarch64/aarch64-simd-builtins.def: Add builtins for frint32z, 1571 frint32x, frint64z, frint64x. 1572 * config/aarch64/arm_acle.h (__rint32zf, __rint32z, __rint64zf, 1573 __rint64z, __rint32xf, __rint32x, __rint64xf, __rint64x): Define. 1574 * config/aarch64/arm_neon.h (vrnd32z_f32, vrnd32zq_f32, vrnd32z_f64, 1575 vrnd32zq_f64, vrnd32x_f32, vrnd32xq_f32, vrnd32x_f64, vrnd32xq_f64, 1576 vrnd64z_f32, vrnd64zq_f32, vrnd64z_f64, vrnd64zq_f64, vrnd64x_f32, 1577 vrnd64xq_f32, vrnd64x_f64, vrnd64xq_f64): Define. 1578 * config/aarch64/iterators.md (VSFDF): Define. 1579 (FRINTNZX): Likewise. 1580 (frintnzs_op): Likewise. 1581 15822020-10-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1583 1584 Backported from master: 1585 2020-10-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1586 1587 PR target/97150 1588 * config/aarch64/arm_neon.h (vqrshlb_u8): Make second argument 1589 signed. 1590 (vqrshlh_u16): Likewise. 1591 (vqrshls_u32): Likewise. 1592 (vqrshld_u64): Likewise. 1593 (vqshlb_u8): Likewise. 1594 (vqshlh_u16): Likewise. 1595 (vqshls_u32): Likewise. 1596 (vqshld_u64): Likewise. 1597 (vshld_u64): Likewise. 1598 15992020-10-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1600 1601 Backported from master: 1602 2020-10-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1603 1604 PR target/96313 1605 * config/aarch64/aarch64-simd-builtins.def (sqmovun): Use UNOPUS 1606 qualifiers. 1607 * config/aarch64/arm_neon.h (vqmovun_s16): Adjust builtin call. 1608 Remove unnecessary result cast. 1609 (vqmovun_s32): Likewise. 1610 (vqmovun_s64): Likewise. 1611 (vqmovunh_s16): Likewise. Fix return type. 1612 (vqmovuns_s32): Likewise. 1613 (vqmovund_s64): Likewise. 1614 16152020-10-08 Alan Modra <amodra@gmail.com> 1616 1617 Backported from master: 1618 2020-10-01 Alan Modra <amodra@gmail.com> 1619 1620 * config/rs6000/rs6000.c (rs6000_legitimize_address): Use 1621 gen_int_mode for high part of address constant. 1622 16232020-10-05 Alex Coplan <alex.coplan@arm.com> 1624 1625 * config/arm/arm-cpus.in (neoverse-v1): Add missing vendor and 1626 part numbers. 1627 16282020-10-02 Alex Coplan <alex.coplan@arm.com> 1629 1630 * config/arm/arm-cpus.in (neoverse-n2): New. 1631 * config/arm/arm-tables.opt: Regenerate. 1632 * config/arm/arm-tune.md: Regenerate. 1633 * doc/invoke.texi: Document support for Neoverse N2. 1634 16352020-10-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1636 1637 * config/aarch64/aarch64.c (neoversev1_tunings): Define. 1638 * config/aarch64/aarch64-cores.def (zeus): Use it. 1639 (neoverse-v1): Likewise. 1640 16412020-10-02 Martin Liska <mliska@suse.cz> 1642 1643 Backported from master: 1644 2020-10-02 Martin Liska <mliska@suse.cz> 1645 1646 PR gcov-profile/97193 1647 * coverage.c (coverage_init): GCDA note files should not be 1648 mangled and should end in output directory. 1649 16502020-10-02 Martin Liska <mliska@suse.cz> 1651 1652 Backported from master: 1653 2020-09-25 Martin Liska <mliska@suse.cz> 1654 1655 PR gcov-profile/64636 1656 * value-prof.c (stream_out_histogram_value): Allow negative 1657 values for HIST_TYPE_IOR. 1658 16592020-10-02 Martin Liska <mliska@suse.cz> 1660 1661 Backported from master: 1662 2020-09-23 Martin Liska <mliska@suse.cz> 1663 1664 PR gcov-profile/97069 1665 * profile.c (branch_prob): Line number must be at least 1. 1666 16672020-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1668 1669 * config/aarch64/aarch64-tuning-flags.def 1670 (PREFER_ADVSIMD_AUTOVEC): Define. 1671 * config/aarch64/aarch64.c (aarch64_preferred_simd_mode): Use 1672 it. 1673 (aarch64_autovectorize_vector_sizes): Likewise. 1674 16752020-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1676 1677 * config/aarch64/aarch64-cores.def (zeus): Add AARCH64_FL_RNG to 1678 features. 1679 (neoverse-v1): Likewise. 1680 16812020-10-01 Jakub Jelinek <jakub@redhat.com> 1682 1683 Backported from master: 1684 2020-10-01 Jakub Jelinek <jakub@redhat.com> 1685 1686 * config/s390/s390.c (s390_atomic_assign_expand_fenv): Use 1687 TARGET_EXPR instead of MODIFY_EXPR for the first assignments to 1688 fenv_var and old_fpc. Formatting fixes. 1689 16902020-10-01 Alex Coplan <alex.coplan@arm.com> 1691 1692 * config/aarch64/aarch64-cores.def: Add Neoverse N2. 1693 * config/aarch64/aarch64-tune.md: Regenerate. 1694 * doc/invoke.texi: Document AArch64 support for Neoverse N2. 1695 16962020-09-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1697 1698 Backported from master: 1699 2020-09-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1700 1701 * config/aarch64/aarch64-option-extensions.def (rng): Add 1702 cpuinfo string. 1703 17042020-09-30 H.J. Lu <hjl.tools@gmail.com> 1705 1706 Backported from master: 1707 2020-09-30 H.J. Lu <hjl.tools@gmail.com> 1708 1709 PR target/97184 1710 * config/i386/i386.md (UNSPECV_MOVDIRI): Renamed to ... 1711 (UNSPEC_MOVDIRI): This. 1712 (UNSPECV_MOVDIR64B): Renamed to ... 1713 (UNSPEC_MOVDIR64B): This. 1714 (movdiri<mode>): Use SET operation. 1715 (@movdir64b_<mode>): Likewise. 1716 17172020-09-29 Hongyu Wang <hongyu.wang@intel.com> 1718 1719 Backported from master: 1720 2020-09-29 Hongyu Wang <hongyu.wang@intel.com> 1721 1722 PR target/97231 1723 * config/i386/pconfigintrin.h: Add FSF copyright notes. 1724 * config/i386/wbnoinvdintrin.h: Ditto. 1725 17262020-09-29 Alex Coplan <alex.coplan@arm.com> 1727 1728 * config/arm/arm-cpus.in (neoverse-v1): New. 1729 * config/arm/arm-tables.opt: Regenerate. 1730 * config/arm/arm-tune.md: Regenerate. 1731 * doc/invoke.texi: Document AArch32 support for Neoverse V1. 1732 17332020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1734 1735 Backported from master: 1736 2020-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1737 1738 PR target/71233 1739 * config/aarch64/arm_neon.h (vreinterpretq_f64_p128, 1740 vreinterpretq_p128_f64): Define. 1741 17422020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1743 1744 Backported from master: 1745 2020-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1746 1747 PR target/71233 1748 * config/aarch64/aarch64-simd-builtins.def (frintn): Use BUILTIN_VHSDF_HSDF 1749 for modes. Remove explicit hf instantiation. 1750 * config/aarch64/arm_neon.h (vrndns_f32): Define. 1751 17522020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1753 1754 Backported from master: 1755 2020-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1756 1757 PR target/71233 1758 * config/aarch64/arm_neon.h (vtrn1q_p64, vtrn2q_p64, vuzp1q_p64, 1759 vuzp2q_p64, vzip1q_p64, vzip2q_p64): Define. 1760 17612020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1762 1763 Backported from master: 1764 2020-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1765 1766 PR target/71233 1767 * config/aarch64/arm_neon.h (vldrq_p128): Define. 1768 17692020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1770 1771 Backported from master: 1772 2020-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1773 1774 PR target/71233 1775 * config/aarch64/arm_neon.h (vstrq_p128): Define. 1776 17772020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1778 1779 Backported from master: 1780 2020-09-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1781 1782 PR target/71233 1783 * config/aarch64/arm_neon.h (vcls_u8, vcls_u16, vcls_u32, 1784 vclsq_u8, vclsq_u16, vclsq_u32): Define. 1785 17862020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1787 1788 Backported from master: 1789 2020-09-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1790 1791 PR target/71233 1792 * config/aarch64/arm_neon.h (vceqq_p64, vceqz_p64, vceqzq_p64): Define. 1793 17942020-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1795 1796 Backported from master: 1797 2020-09-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1798 1799 PR target/71233 1800 * config/aarch64/arm_neon.h (vadd_p8, vadd_p16, vadd_p64, vaddq_p8, 1801 vaddq_p16, vaddq_p64, vaddq_p128): Define. 1802 18032020-09-27 Jakub Jelinek <jakub@redhat.com> 1804 1805 Backported from master: 1806 2020-09-27 Jakub Jelinek <jakub@redhat.com> 1807 1808 PR middle-end/97073 1809 * optabs.c (expand_binop, expand_absneg_bit, expand_unop, 1810 expand_copysign_bit): Check reg_overlap_mentioned_p between target 1811 and operand(s) and if it returns true, force a pseudo as target. 1812 18132020-09-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1814 1815 PR target/71233 1816 * config/aarch64/aarch64.md (UNSPEC_RNDR, UNSPEC_RNDRRS): 1817 Define. 1818 (aarch64_rndr): New define_insn. 1819 (aarch64_rndrrs): Likewise. 1820 * config/aarch64/aarch64.h (AARCH64_ISA_RNG): Define. 1821 (TARGET_RNG): Likewise. 1822 * config/aarch64/aarch64-builtins.c (enum aarch64_builtins): 1823 Add AARCH64_BUILTIN_RNG_RNDR, AARCH64_BUILTIN_RNG_RNDRRS. 1824 (aarch64_init_rng_builtins): Define. 1825 (aarch64_init_builtins): Call aarch64_init_rng_builtins. 1826 (aarch64_expand_rng_builtin): Define. 1827 (aarch64_expand_builtin): Use IGNORE argument, handle 1828 RNG builtins. 1829 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): 1830 Define __ARM_FEATURE_RNG when TARGET_RNG. 1831 * config/aarch64/arm_acle.h (__rndr, __rndrrs): Define. 1832 18332020-09-24 H.J. Lu <hjl.tools@gmail.com> 1834 1835 Backported from master: 1836 2020-09-16 H.J. Lu <hjl.tools@gmail.com> 1837 1838 PR target/97032 1839 * cfgexpand.c (asm_clobber_reg_kind): Set sp_is_clobbered_by_asm 1840 to true if the stack pointer is clobbered by asm statement. 1841 * emit-rtl.h (rtl_data): Add sp_is_clobbered_by_asm. 1842 * config/i386/i386.c (ix86_get_drap_rtx): Set need_drap to true 1843 if the stack pointer is clobbered by asm statement. 1844 18452020-09-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1846 1847 Backported from master: 1848 2020-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 1849 Andrea Corallo <andrea.corallo@arm.com> 1850 1851 PR target/71233 1852 * config/aarch64/aarch64.md (UNSPEC_FJCVTZS): Define. 1853 (aarch64_fjcvtzs): New define_insn. 1854 * config/aarch64/aarch64.h (TARGET_JSCVT): Define. 1855 * config/aarch64/aarch64-builtins.c (aarch64_builtins): 1856 Add AARCH64_JSCVT. 1857 (aarch64_init_builtins): Initialize __builtin_aarch64_jcvtzs. 1858 (aarch64_expand_builtin): Handle AARCH64_JSCVT. 1859 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define 1860 __ARM_FEATURE_JCVT where appropriate. 1861 * config/aarch64/arm_acle.h (__jcvt): Define. 1862 * doc/sourcebuild.texi (aarch64_fjcvtzs_hw) Document new 1863 target supports option. 1864 18652020-09-24 Alex Coplan <alex.coplan@arm.com> 1866 1867 * config/aarch64/aarch64-cores.def: Add Neoverse V1. 1868 * config/aarch64/aarch64-tune.md: Regenerate. 1869 * doc/invoke.texi: Document support for Neoverse V1. 1870 18712020-09-18 Jakub Jelinek <jakub@redhat.com> 1872 1873 Backported from master: 1874 2020-09-16 Jakub Jelinek <jakub@redhat.com> 1875 1876 PR tree-optimization/97053 1877 * gimple-ssa-store-merging.c (check_no_overlap): Add FIRST_ORDER, 1878 START, FIRST_EARLIER and LAST_EARLIER arguments. Return false if 1879 any stores between FIRST_EARLIER inclusive and LAST_EARLIER exclusive 1880 has order in between FIRST_ORDER and LAST_ORDER and overlaps the to 1881 be merged store. 1882 (imm_store_chain_info::try_coalesce_bswap): Add FIRST_EARLIER argument. 1883 Adjust check_no_overlap caller. 1884 (imm_store_chain_info::coalesce_immediate_stores): Add first_earlier 1885 and last_earlier variables, adjust them during iterations. Adjust 1886 check_no_overlap callers, call check_no_overlap even when extending 1887 overlapping stores by extra INTEGER_CST stores. 1888 18892020-09-18 Richard Sandiford <richard.sandiford@arm.com> 1890 1891 Backported from master: 1892 2020-04-29 Richard Sandiford <richard.sandiford@arm.com> 1893 1894 * config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv): Use 1895 TARGET_EXPR instead of MODIFY_EXPR for the first assignments to 1896 fenv_var and new_fenv_var. 1897 18982020-09-17 Segher Boessenkool <segher@kernel.crashing.org> 1899 1900 Backported from master: 1901 2020-04-24 Segher Boessenkool <segher@kernel.crashing.org> 1902 1903 PR target/94710 1904 * config/rs6000/vector.md (vec_shr_<mode> for VEC_L): Correct little 1905 endian byteshift_val calculation. 1906 19072020-09-17 liuhongt <hongtao.liu@intel.com> 1908 1909 * common/config/i386/i386-common.c 1910 (OPTION_MASK_ISA_AVX_UNSET): Remove OPTION_MASK_ISA_XSAVE_UNSET. 1911 (OPTION_MASK_ISA_XSAVE_UNSET): Add OPTION_MASK_ISA_AVX_UNSET. 1912 19132020-09-16 Jakub Jelinek <jakub@redhat.com> 1914 1915 Backported from master: 1916 2020-08-26 Jakub Jelinek <jakub@redhat.com> 1917 1918 PR debug/96729 1919 * dwarf2out.c (dwarf2out_next_real_insn): Adjust function comment. 1920 (dwarf2out_var_location): Look for next_note only if next_real is 1921 non-NULL, in that case look for the first non-deleted 1922 NOTE_INSN_VAR_LOCATION between loc_note and next_real, if any. 1923 19242020-09-16 Jakub Jelinek <jakub@redhat.com> 1925 1926 Backported from master: 1927 2020-08-25 Jakub Jelinek <jakub@redhat.com> 1928 1929 PR tree-optimization/96722 1930 * gimple.c (infer_nonnull_range): Formatting fix. 1931 (infer_nonnull_range_by_dereference): Return false for clobber stmts. 1932 19332020-09-16 Jakub Jelinek <jakub@redhat.com> 1934 1935 Backported from master: 1936 2020-08-08 Jakub Jelinek <jakub@redhat.com> 1937 1938 PR fortran/93553 1939 * tree-nested.c (convert_nonlocal_omp_clauses): For 1940 OMP_CLAUSE_REDUCTION, OMP_CLAUSE_LASTPRIVATE and OMP_CLAUSE_LINEAR 1941 save info->new_local_var_chain around walks of the clause gimple 1942 sequences and declare_vars if needed into the sequence. 1943 19442020-09-16 Jakub Jelinek <jakub@redhat.com> 1945 1946 Backported from master: 1947 2020-08-05 Jakub Jelinek <jakub@redhat.com> 1948 1949 PR middle-end/96459 1950 * omp-low.c (lower_omp_taskreg): Call lower_reduction_clauses even in 1951 for host teams. 1952 19532020-09-16 Jakub Jelinek <jakub@redhat.com> 1954 1955 Backported from master: 1956 2020-08-04 Jakub Jelinek <jakub@redhat.com> 1957 1958 PR middle-end/96426 1959 * tree-vect-generic.c (expand_vector_conversion): Replace .VEC_CONVERT 1960 call with GIMPLE_NOP if there is no lhs. 1961 19622020-09-16 Jakub Jelinek <jakub@redhat.com> 1963 1964 Backported from master: 1965 2020-07-15 Jakub Jelinek <jakub@redhat.com> 1966 1967 PR target/96174 1968 * config/i386/avx512fintrin.h (_mm512_cmpeq_pd_mask, 1969 _mm512_mask_cmpeq_pd_mask, _mm512_cmplt_pd_mask, 1970 _mm512_mask_cmplt_pd_mask, _mm512_cmple_pd_mask, 1971 _mm512_mask_cmple_pd_mask, _mm512_cmpunord_pd_mask, 1972 _mm512_mask_cmpunord_pd_mask, _mm512_cmpneq_pd_mask, 1973 _mm512_mask_cmpneq_pd_mask, _mm512_cmpnlt_pd_mask, 1974 _mm512_mask_cmpnlt_pd_mask, _mm512_cmpnle_pd_mask, 1975 _mm512_mask_cmpnle_pd_mask, _mm512_cmpord_pd_mask, 1976 _mm512_mask_cmpord_pd_mask, _mm512_cmpeq_ps_mask, 1977 _mm512_mask_cmpeq_ps_mask, _mm512_cmplt_ps_mask, 1978 _mm512_mask_cmplt_ps_mask, _mm512_cmple_ps_mask, 1979 _mm512_mask_cmple_ps_mask, _mm512_cmpunord_ps_mask, 1980 _mm512_mask_cmpunord_ps_mask, _mm512_cmpneq_ps_mask, 1981 _mm512_mask_cmpneq_ps_mask, _mm512_cmpnlt_ps_mask, 1982 _mm512_mask_cmpnlt_ps_mask, _mm512_cmpnle_ps_mask, 1983 _mm512_mask_cmpnle_ps_mask, _mm512_cmpord_ps_mask, 1984 _mm512_mask_cmpord_ps_mask): Move outside of __OPTIMIZE__ guarded 1985 section. 1986 19872020-09-16 Jakub Jelinek <jakub@redhat.com> 1988 1989 Backported from master: 1990 2020-07-02 Jakub Jelinek <jakub@redhat.com> 1991 1992 PR tree-optimization/95857 1993 * tree-cfg.c (group_case_labels_stmt): When removing an unreachable 1994 base_bb, remember all forced and non-local labels on it and later 1995 treat those as if they have NULL label_to_block. Formatting fix. 1996 Fix a comment typo. 1997 19982020-09-16 Jakub Jelinek <jakub@redhat.com> 1999 2000 Backported from master: 2001 2020-06-24 Jakub Jelinek <jakub@redhat.com> 2002 2003 PR middle-end/95810 2004 * fold-const.c (fold_cond_expr_with_comparison): Optimize 2005 A <= 0 ? A : -A into (type)-absu(A) rather than -abs(A). 2006 20072020-09-16 Jakub Jelinek <jakub@redhat.com> 2008 2009 Backported from master: 2010 2020-05-14 Jakub Jelinek <jakub@redhat.com> 2011 2012 PR middle-end/95108 2013 * omp-simd-clone.c (struct modify_stmt_info): Add after_stmt member. 2014 (ipa_simd_modify_stmt_ops): For PHIs, only add before first stmt in 2015 entry block if info->after_stmt is NULL, otherwise add after that stmt 2016 and update it after adding each stmt. 2017 (ipa_simd_modify_function_body): Initialize info.after_stmt. 2018 20192020-09-16 Jakub Jelinek <jakub@redhat.com> 2020 2021 Backported from master: 2022 2020-05-13 Jakub Jelinek <jakub@redhat.com> 2023 2024 PR debug/95080 2025 * cfgrtl.c (purge_dead_edges): Skip over debug and note insns even 2026 if the last insn is a note. 2027 20282020-09-16 Jakub Jelinek <jakub@redhat.com> 2029 2030 Backported from master: 2031 2020-05-07 Jakub Jelinek <jakub@redhat.com> 2032 2033 PR target/94950 2034 * config/riscv/riscv-builtins.c (riscv_atomic_assign_expand_fenv): Use 2035 TARGET_EXPR instead of MODIFY_EXPR for first assignment to old_flags. 2036 20372020-09-16 Jakub Jelinek <jakub@redhat.com> 2038 2039 Backported from master: 2040 2020-05-07 Jakub Jelinek <jakub@redhat.com> 2041 2042 PR rtl-optimization/94873 2043 * combine.c (combine_instructions): Don't optimize using REG_EQUAL 2044 note if SET_SRC (set) has side-effects. 2045 20462020-09-16 Jakub Jelinek <jakub@redhat.com> 2047 2048 Backported from master: 2049 2020-05-02 Jakub Jelinek <jakub@redhat.com> 2050 2051 * config/tilegx/tilegx.md 2052 (insn_stnt<I124MODE:n>_add<I48MODE:bitsuffix>): Use <I124MODE:n> 2053 rather than just <n>. 2054 20552020-09-16 Jakub Jelinek <jakub@redhat.com> 2056 2057 Backported from master: 2058 2020-04-29 Jakub Jelinek <jakub@redhat.com> 2059 2060 PR target/94832 2061 * config/i386/avx512bwintrin.h (_mm512_alignr_epi8, 2062 _mm512_mask_alignr_epi8, _mm512_maskz_alignr_epi8): Wrap macro operands 2063 used in casts into parens. 2064 * config/i386/avx512fintrin.h (_mm512_cvt_roundps_ph, _mm512_cvtps_ph, 2065 _mm512_mask_cvt_roundps_ph, _mm512_mask_cvtps_ph, 2066 _mm512_maskz_cvt_roundps_ph, _mm512_maskz_cvtps_ph, 2067 _mm512_mask_cmp_epi64_mask, _mm512_mask_cmp_epi32_mask, 2068 _mm512_mask_cmp_epu64_mask, _mm512_mask_cmp_epu32_mask, 2069 _mm512_mask_cmp_round_pd_mask, _mm512_mask_cmp_round_ps_mask, 2070 _mm512_mask_cmp_pd_mask, _mm512_mask_cmp_ps_mask): Likewise. 2071 * config/i386/avx512vlbwintrin.h (_mm256_mask_alignr_epi8, 2072 _mm256_maskz_alignr_epi8, _mm_mask_alignr_epi8, _mm_maskz_alignr_epi8, 2073 _mm256_mask_cmp_epu8_mask): Likewise. 2074 * config/i386/avx512vlintrin.h (_mm_mask_cvtps_ph, _mm_maskz_cvtps_ph, 2075 _mm256_mask_cvtps_ph, _mm256_maskz_cvtps_ph): Likewise. 2076 * config/i386/f16cintrin.h (_mm_cvtps_ph, _mm256_cvtps_ph): Likewise. 2077 * config/i386/shaintrin.h (_mm_sha1rnds4_epu32): Likewise. 2078 20792020-09-16 Jakub Jelinek <jakub@redhat.com> 2080 2081 Backported from master: 2082 2020-04-29 Jakub Jelinek <jakub@redhat.com> 2083 2084 PR target/94832 2085 * config/i386/avx2intrin.h (_mm_mask_i32gather_pd, 2086 _mm256_mask_i32gather_pd, _mm_mask_i64gather_pd, 2087 _mm256_mask_i64gather_pd, _mm_mask_i32gather_ps, 2088 _mm256_mask_i32gather_ps, _mm_mask_i64gather_ps, 2089 _mm256_mask_i64gather_ps, _mm_i32gather_epi64, 2090 _mm_mask_i32gather_epi64, _mm256_i32gather_epi64, 2091 _mm256_mask_i32gather_epi64, _mm_i64gather_epi64, 2092 _mm_mask_i64gather_epi64, _mm256_i64gather_epi64, 2093 _mm256_mask_i64gather_epi64, _mm_i32gather_epi32, 2094 _mm_mask_i32gather_epi32, _mm256_i32gather_epi32, 2095 _mm256_mask_i32gather_epi32, _mm_i64gather_epi32, 2096 _mm_mask_i64gather_epi32, _mm256_i64gather_epi32, 2097 _mm256_mask_i64gather_epi32): Surround macro parameter uses with 2098 parens. 2099 (_mm_i32gather_pd, _mm256_i32gather_pd, _mm_i64gather_pd, 2100 _mm256_i64gather_pd, _mm_i32gather_ps, _mm256_i32gather_ps, 2101 _mm_i64gather_ps, _mm256_i64gather_ps): Likewise. Don't use 2102 as mask vector containing -1.0 or -1.0f elts, but instead vector 2103 with all bits set using _mm*_cmpeq_p? with zero operands. 2104 * config/i386/avx512fintrin.h (_mm512_i32gather_ps, 2105 _mm512_mask_i32gather_ps, _mm512_i32gather_pd, 2106 _mm512_mask_i32gather_pd, _mm512_i64gather_ps, 2107 _mm512_mask_i64gather_ps, _mm512_i64gather_pd, 2108 _mm512_mask_i64gather_pd, _mm512_i32gather_epi32, 2109 _mm512_mask_i32gather_epi32, _mm512_i32gather_epi64, 2110 _mm512_mask_i32gather_epi64, _mm512_i64gather_epi32, 2111 _mm512_mask_i64gather_epi32, _mm512_i64gather_epi64, 2112 _mm512_mask_i64gather_epi64, _mm512_i32scatter_ps, 2113 _mm512_mask_i32scatter_ps, _mm512_i32scatter_pd, 2114 _mm512_mask_i32scatter_pd, _mm512_i64scatter_ps, 2115 _mm512_mask_i64scatter_ps, _mm512_i64scatter_pd, 2116 _mm512_mask_i64scatter_pd, _mm512_i32scatter_epi32, 2117 _mm512_mask_i32scatter_epi32, _mm512_i32scatter_epi64, 2118 _mm512_mask_i32scatter_epi64, _mm512_i64scatter_epi32, 2119 _mm512_mask_i64scatter_epi32, _mm512_i64scatter_epi64, 2120 _mm512_mask_i64scatter_epi64): Surround macro parameter uses with 2121 parens. 2122 * config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd, 2123 _mm512_prefetch_i32gather_ps, _mm512_mask_prefetch_i32gather_pd, 2124 _mm512_mask_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd, 2125 _mm512_prefetch_i64gather_ps, _mm512_mask_prefetch_i64gather_pd, 2126 _mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd, 2127 _mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd, 2128 _mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd, 2129 _mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd, 2130 _mm512_mask_prefetch_i64scatter_ps): Likewise. 2131 * config/i386/avx512vlintrin.h (_mm256_mmask_i32gather_ps, 2132 _mm_mmask_i32gather_ps, _mm256_mmask_i32gather_pd, 2133 _mm_mmask_i32gather_pd, _mm256_mmask_i64gather_ps, 2134 _mm_mmask_i64gather_ps, _mm256_mmask_i64gather_pd, 2135 _mm_mmask_i64gather_pd, _mm256_mmask_i32gather_epi32, 2136 _mm_mmask_i32gather_epi32, _mm256_mmask_i32gather_epi64, 2137 _mm_mmask_i32gather_epi64, _mm256_mmask_i64gather_epi32, 2138 _mm_mmask_i64gather_epi32, _mm256_mmask_i64gather_epi64, 2139 _mm_mmask_i64gather_epi64, _mm256_i32scatter_ps, 2140 _mm256_mask_i32scatter_ps, _mm_i32scatter_ps, _mm_mask_i32scatter_ps, 2141 _mm256_i32scatter_pd, _mm256_mask_i32scatter_pd, _mm_i32scatter_pd, 2142 _mm_mask_i32scatter_pd, _mm256_i64scatter_ps, 2143 _mm256_mask_i64scatter_ps, _mm_i64scatter_ps, _mm_mask_i64scatter_ps, 2144 _mm256_i64scatter_pd, _mm256_mask_i64scatter_pd, _mm_i64scatter_pd, 2145 _mm_mask_i64scatter_pd, _mm256_i32scatter_epi32, 2146 _mm256_mask_i32scatter_epi32, _mm_i32scatter_epi32, 2147 _mm_mask_i32scatter_epi32, _mm256_i32scatter_epi64, 2148 _mm256_mask_i32scatter_epi64, _mm_i32scatter_epi64, 2149 _mm_mask_i32scatter_epi64, _mm256_i64scatter_epi32, 2150 _mm256_mask_i64scatter_epi32, _mm_i64scatter_epi32, 2151 _mm_mask_i64scatter_epi32, _mm256_i64scatter_epi64, 2152 _mm256_mask_i64scatter_epi64, _mm_i64scatter_epi64, 2153 _mm_mask_i64scatter_epi64): Likewise. 2154 21552020-09-16 Jakub Jelinek <jakub@redhat.com> 2156 2157 Backported from master: 2158 2020-04-29 Jakub Jelinek <jakub@redhat.com> 2159 2160 PR target/94826 2161 * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): Use 2162 TARGET_EXPR instead of MODIFY_EXPR for first assignment to 2163 fenv_var, fenv_clear and old_fenv variables. For fenv_addr 2164 take address of TARGET_EXPR of fenv_var with void_node initializer. 2165 Formatting fixes. 2166 21672020-09-16 Haijian Zhang <z.zhanghaijian@huawei.com> 2168 2169 Backported from master: 2170 2020-04-29 Haijian Zhang <z.zhanghaijian@huawei.com> 2171 2172 PR target/94820 2173 * config/aarch64/aarch64-builtins.c 2174 (aarch64_atomic_assign_expand_fenv): Use TARGET_EXPR instead of 2175 MODIFY_EXPR for first assignment to fenv_cr, fenv_sr and 2176 new_fenv_var. 2177 21782020-09-16 Jakub Jelinek <jakub@redhat.com> 2179 2180 Backported from master: 2181 2020-04-28 Jakub Jelinek <jakub@redhat.com> 2182 2183 PR tree-optimization/94809 2184 * tree.c (build_call_expr_internal_loc_array): Call 2185 process_call_operands. 2186 21872020-09-16 Jakub Jelinek <jakub@redhat.com> 2188 2189 Backported from master: 2190 2020-04-27 Jakub Jelinek <jakub@redhat.com> 2191 2192 PR target/94780 2193 * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Use 2194 TARGET_EXPR instead of MODIFY_EXPR for first assignment to 2195 sw_var, exceptions_var, mxcsr_orig_var and mxcsr_mod_var. 2196 21972020-09-16 Jakub Jelinek <jakub@redhat.com> 2198 2199 Backported from master: 2200 2020-04-23 Jakub Jelinek <jakub@redhat.com> 2201 2202 PR target/94710 2203 * optabs.c (expand_vec_perm_const): For shift_amt const0_rtx 2204 just return v2. 2205 22062020-09-16 Jakub Jelinek <jakub@redhat.com> 2207 2208 Backported from master: 2209 2020-04-23 Jakub Jelinek <jakub@redhat.com> 2210 2211 PR c/94705 2212 * attribs.c (decl_attribute): Don't diagnose attribute exclusions 2213 if last_decl is error_mark_node or has such a TREE_TYPE. 2214 22152020-09-16 Jakub Jelinek <jakub@redhat.com> 2216 2217 Backported from master: 2218 2020-04-21 Jakub Jelinek <jakub@redhat.com> 2219 2220 PR c/94641 2221 * stor-layout.c (place_field, finalize_record_size): Don't emit 2222 -Wpadded warning on TYPE_ARTIFICIAL rli->t. 2223 * ubsan.c (ubsan_get_type_descriptor_type, 2224 ubsan_get_source_location_type, ubsan_create_data): Set 2225 TYPE_ARTIFICIAL. 2226 * asan.c (asan_global_struct): Likewise. 2227 22282020-09-16 Jakub Jelinek <jakub@redhat.com> 2229 2230 Backported from master: 2231 2020-04-17 Jakub Jelinek <jakub@redhat.com> 2232 2233 PR rtl-optimization/94618 2234 * cfgrtl.c (delete_insn_and_edges): Set purge not just when 2235 insn is the BB_END of its block, but also when it is only followed 2236 by DEBUG_INSNs in its block. 2237 22382020-09-16 Jakub Jelinek <jakub@redhat.com> 2239 2240 Backported from master: 2241 2020-04-17 Jakub Jelinek <jakub@redhat.com> 2242 2243 PR tree-optimization/94621 2244 * tree-inline.c (remap_type_1): Don't dereference NULL TYPE_DOMAIN. 2245 Move id->adjust_array_error_bounds check first in the condition. 2246 22472020-09-16 Gustavo Romero <gromero@linux.ibm.com> 2248 2249 Backported from master: 2250 2020-04-15 Gustavo Romero <gromero@linux.ibm.com> 2251 2252 PR bootstrap/89494 2253 * dumpfile.c (selftest::temp_dump_context::temp_dump_context): 2254 Don't construct a dump_context temporary to call static method. 2255 22562020-09-16 Jakub Jelinek <jakub@redhat.com> 2257 2258 Backported from master: 2259 2020-04-08 Jakub Jelinek <jakub@redhat.com> 2260 2261 PR tree-optimization/94524 2262 * tree-vect-generic.c (expand_vector_divmod): If any elt of op1 is 2263 negative for signed TRUNC_MOD_EXPR, multiply with absolute value of 2264 op1 rather than op1 itself at the end. Punt for signed modulo by 2265 most negative constant. 2266 * tree-vect-patterns.c (vect_recog_divmod_pattern): Punt for signed 2267 modulo by most negative constant. 2268 22692020-09-16 Jakub Jelinek <jakub@redhat.com> 2270 2271 Backported from master: 2272 2020-04-08 Jakub Jelinek <jakub@redhat.com> 2273 2274 PR target/94438 2275 * config/i386/i386.c (ix86_get_mask_mode): Only use int mask for elem_size 2276 1, 2, 4 and 8. 2277 22782020-09-16 Sylvia Taylor <sylvia.taylor@arm.com> 2279 2280 Backported from master: 2281 2019-08-22 Sylvia Taylor <sylvia.taylor@arm.com> 2282 2283 * config/aarch64/aarch64-simd-builtins.def: 2284 (ld1x4): New. 2285 (st1x4): Likewise. 2286 * config/aarch64/aarch64-simd.md: 2287 (aarch64_ld1x4<VALLDIF:mode>): New pattern. 2288 (aarch64_st1x4<VALLDIF:mode>): Likewise. 2289 (aarch64_ld1_x4_<mode>): Likewise. 2290 (aarch64_st1_x4_<mode>): Likewise. 2291 * config/aarch64/arm_neon.h: 2292 (vld1_s8_x4): New function. 2293 (vld1q_s8_x4): Likewise. 2294 (vld1_s16_x4): Likewise. 2295 (vld1q_s16_x4): Likewise. 2296 (vld1_s32_x4): Likewise. 2297 (vld1q_s32_x4): Likewise. 2298 (vld1_u8_x4): Likewise. 2299 (vld1q_u8_x4): Likewise. 2300 (vld1_u16_x4): Likewise. 2301 (vld1q_u16_x4): Likewise. 2302 (vld1_u32_x4): Likewise. 2303 (vld1q_u32_x4): Likewise. 2304 (vld1_f16_x4): Likewise. 2305 (vld1q_f16_x4): Likewise. 2306 (vld1_f32_x4): Likewise. 2307 (vld1q_f32_x4): Likewise. 2308 (vld1_p8_x4): Likewise. 2309 (vld1q_p8_x4): Likewise. 2310 (vld1_p16_x4): Likewise. 2311 (vld1q_p16_x4): Likewise. 2312 (vld1_s64_x4): Likewise. 2313 (vld1_u64_x4): Likewise. 2314 (vld1_p64_x4): Likewise. 2315 (vld1q_s64_x4): Likewise. 2316 (vld1q_u64_x4): Likewise. 2317 (vld1q_p64_x4): Likewise. 2318 (vld1_f64_x4): Likewise. 2319 (vld1q_f64_x4): Likewise. 2320 (vst1_s8_x4): Likewise. 2321 (vst1q_s8_x4): Likewise. 2322 (vst1_s16_x4): Likewise. 2323 (vst1q_s16_x4): Likewise. 2324 (vst1_s32_x4): Likewise. 2325 (vst1q_s32_x4): Likewise. 2326 (vst1_u8_x4): Likewise. 2327 (vst1q_u8_x4): Likewise. 2328 (vst1_u16_x4): Likewise. 2329 (vst1q_u16_x4): Likewise. 2330 (vst1_u32_x4): Likewise. 2331 (vst1q_u32_x4): Likewise. 2332 (vst1_f16_x4): Likewise. 2333 (vst1q_f16_x4): Likewise. 2334 (vst1_f32_x4): Likewise. 2335 (vst1q_f32_x4): Likewise. 2336 (vst1_p8_x4): Likewise. 2337 (vst1q_p8_x4): Likewise. 2338 (vst1_p16_x4): Likewise. 2339 (vst1q_p16_x4): Likewise. 2340 (vst1_s64_x4): Likewise. 2341 (vst1_u64_x4): Likewise. 2342 (vst1_p64_x4): Likewise. 2343 (vst1q_s64_x4): Likewise. 2344 (vst1q_u64_x4): Likewise. 2345 (vst1q_p64_x4): Likewise. 2346 (vst1_f64_x4): Likewise. 2347 (vst1q_f64_x4): Likewise. 2348 23492020-09-15 Will Schmidt <will_schmidt@vnet.ibm.com> 2350 2351 * config/rs6000/rs6000.c (rs6000_init_builtin): Update V2DI_type_node 2352 and unsigned_V2DI_type_node definitions. 2353 23542020-09-15 Jakub Jelinek <jakub@redhat.com> 2355 2356 Backported from master: 2357 2020-09-15 Jakub Jelinek <jakub@redhat.com> 2358 2359 PR target/97028 2360 * config/i386/sse.md (mul<mode>3<mask_name>_bcs, 2361 <avx512>_div<mode>3<mask_name>_bcst): Use <avx512bcst> instead of 2362 <<avx512bcst>>. 2363 23642020-09-11 Richard Biener <rguenther@suse.de> 2365 2366 Backported from master: 2367 2020-05-07 Richard Biener <rguenther@suse.de> 2368 2369 PR ipa/94947 2370 * tree-ssa-structalias.c (refered_from_nonlocal_fn): Use 2371 DECL_EXTERNAL || TREE_PUBLIC instead of externally_visible. 2372 (refered_from_nonlocal_var): Likewise. 2373 (ipa_pta_execute): Likewise. 2374 23752020-09-11 Richard Biener <rguenther@suse.de> 2376 2377 Backported from master: 2378 2020-05-05 Richard Biener <rguenther@suse.de> 2379 2380 PR ipa/94947 2381 * tree-ssa-structalias.c (ipa_pta_execute): Use 2382 varpool_node::externally_visible_p (). 2383 (refered_from_nonlocal_var): Likewise. 2384 23852020-09-11 Richard Biener <rguenther@suse.de> 2386 2387 Backported from master: 2388 2020-05-06 Richard Biener <rguenther@suse.de> 2389 2390 PR middle-end/94964 2391 * cfgloopmanip.c (create_preheader): Require non-complex 2392 preheader edge for CP_SIMPLE_PREHEADERS. 2393 23942020-09-11 Richard Biener <rguenther@suse.de> 2395 2396 Backported from master: 2397 2020-05-11 Richard Biener <rguenther@suse.de> 2398 2399 PR tree-optimization/95049 2400 * tree-ssa-sccvn.c (set_ssa_val_to): Reject lattice transition 2401 between different constants. 2402 24032020-09-11 Richard Biener <rguenther@suse.de> 2404 2405 Backported from master: 2406 2020-05-15 Richard Biener <rguenther@suse.de> 2407 2408 PR tree-optimization/95133 2409 * gimple-ssa-split-paths.c 2410 (find_block_to_duplicate_for_splitting_paths): Check for 2411 normal edges. 2412 24132020-09-11 Richard Biener <rguenther@suse.de> 2414 2415 Backported from master: 2416 2020-06-17 Richard Biener <rguenther@suse.de> 2417 2418 PR tree-optimization/95717 2419 * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): 2420 Move BB SSA updating before exit/latch PHI current def copying. 2421 24222020-09-02 Kewen Lin <linkw@linux.ibm.com> 2423 2424 Backported from master: 2425 2019-12-30 Peter Bergner <bergner@linux.ibm.com> 2426 2427 PR target/92923 2428 * config/rs6000/rs6000-builtin.def (VAND, VANDC, VNOR, VOR, VXOR): 2429 Delete. 2430 (EQV_V16QI_UNS, EQV_V8HI_UNS, EQV_V4SI_UNS, EQV_V2DI_UNS, EQV_V1TI_UNS, 2431 NAND_V16QI_UNS, NAND_V8HI_UNS, NAND_V4SI_UNS, NAND_V2DI_UNS, 2432 NAND_V1TI_UNS, ORC_V16QI_UNS, ORC_V8HI_UNS, ORC_V4SI_UNS, ORC_V2DI_UNS, 2433 ORC_V1TI_UNS, VAND_V16QI_UNS, VAND_V16QI, VAND_V8HI_UNS, VAND_V8HI, 2434 VAND_V4SI_UNS, VAND_V4SI, VAND_V2DI_UNS, VAND_V2DI, VAND_V4SF, 2435 VAND_V2DF, VANDC_V16QI_UNS, VANDC_V16QI, VANDC_V8HI_UNS, VANDC_V8HI, 2436 VANDC_V4SI_UNS, VANDC_V4SI, VANDC_V2DI_UNS, VANDC_V2DI, VANDC_V4SF, 2437 VANDC_V2DF, VNOR_V16QI_UNS, VNOR_V16QI, VNOR_V8HI_UNS, VNOR_V8HI, 2438 VNOR_V4SI_UNS, VNOR_V4SI, VNOR_V2DI_UNS, VNOR_V2DI, VNOR_V4SF, 2439 VNOR_V2DF, VOR_V16QI_UNS, VOR_V16QI, VOR_V8HI_UNS, VOR_V8HI, 2440 VOR_V4SI_UNS, VOR_V4SI, VOR_V2DI_UNS, VOR_V2DI, VOR_V4SF, VOR_V2DF, 2441 VXOR_V16QI_UNS, VXOR_V16QI, VXOR_V8HI_UNS, VXOR_V8HI, 2442 VXOR_V4SI_UNS, VXOR_V4SI, VXOR_V2DI_UNS, VXOR_V2DI, VXOR_V4SF, 2443 VXOR_V2DF): Add definitions. 2444 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins) 2445 <ALTIVEC_BUILTIN_VAND, ALTIVEC_BUILTIN_VANDC, ALTIVEC_BUILTIN_VNOR, 2446 ALTIVEC_BUILTIN_VOR, ALTIVEC_BUILTIN_VXOR>: Remove. 2447 <ALTIVEC_BUILTIN_VAND_V4SF, ALTIVEC_BUILTIN_VAND_V2DF, 2448 ALTIVEC_BUILTIN_VAND_V2DI, ALTIVEC_BUILTIN_VAND_V2DI_UNS, 2449 ALTIVEC_BUILTIN_VAND_V4SI_UNS, ALTIVEC_BUILTIN_VAND_V4SI, 2450 ALTIVEC_BUILTIN_VAND_V8HI_UNS, ALTIVEC_BUILTIN_VAND_V8HI, 2451 ALTIVEC_BUILTIN_VAND_V16QI, ALTIVEC_BUILTIN_VAND_V16QI_UNS, 2452 ALTIVEC_BUILTIN_VANDC_V4SF, ALTIVEC_BUILTIN_VANDC_V2DF, 2453 ALTIVEC_BUILTIN_VANDC_V2DI, ALTIVEC_BUILTIN_VANDC_V2DI_UNS, 2454 ALTIVEC_BUILTIN_VANDC_V4SI_UNS, ALTIVEC_BUILTIN_VANDC_V4SI, 2455 ALTIVEC_BUILTIN_VANDC_V8HI_UNS, ALTIVEC_BUILTIN_VANDC_V8HI, 2456 ALTIVEC_BUILTIN_VANDC_V16QI, ALTIVEC_BUILTIN_VANDC_V16QI_UNS, 2457 ALTIVEC_BUILTIN_VNOR_V4SF, ALTIVEC_BUILTIN_VNOR_V2DF, 2458 ALTIVEC_BUILTIN_VNOR_V2DI, ALTIVEC_BUILTIN_VNOR_V2DI_UNS, 2459 ALTIVEC_BUILTIN_VNOR_V4SI, ALTIVEC_BUILTIN_VNOR_V4SI_UNS, 2460 ALTIVEC_BUILTIN_VNOR_V8HI, ALTIVEC_BUILTIN_VNOR_V8HI_UNS, 2461 ALTIVEC_BUILTIN_VNOR_V16QI, ALTIVEC_BUILTIN_VNOR_V16QI_UNS, 2462 ALTIVEC_BUILTIN_VOR_V4SF, ALTIVEC_BUILTIN_VOR_V2DF, 2463 ALTIVEC_BUILTIN_VOR_V2DI, ALTIVEC_BUILTIN_VOR_V2DI_UNS, 2464 ALTIVEC_BUILTIN_VOR_V4SI_UNS, ALTIVEC_BUILTIN_VOR_V4SI, 2465 ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V8HI, 2466 ALTIVEC_BUILTIN_VOR_V16QI, ALTIVEC_BUILTIN_VOR_V16QI_UNS, 2467 ALTIVEC_BUILTIN_VXOR_V4SF, ALTIVEC_BUILTIN_VXOR_V2DF, 2468 ALTIVEC_BUILTIN_VXOR_V2DI, ALTIVEC_BUILTIN_VXOR_V2DI_UNS, 2469 ALTIVEC_BUILTIN_VXOR_V4SI_UNS, ALTIVEC_BUILTIN_VXOR_V4SI, 2470 ALTIVEC_BUILTIN_VXOR_V8HI, ALTIVEC_BUILTIN_VXOR_V8HI_UNS, 2471 ALTIVEC_BUILTIN_VXOR_V16QI, ALTIVEC_BUILTIN_VXOR_V16QI_UNS>: Add 2472 definitions. 2473 <P8V_BUILTIN_EQV_V16QI, P8V_BUILTIN_EQV_V8HI, P8V_BUILTIN_EQV_V4SI, 2474 P8V_BUILTIN_EQV_V2DI, P8V_BUILTIN_NAND_V16QI, P8V_BUILTIN_NAND_V8HI, 2475 P8V_BUILTIN_NAND_V4SI, P8V_BUILTIN_NAND_V2DI, P8V_BUILTIN_ORC_V16QI, 2476 P8V_BUILTIN_ORC_V8HI, P8V_BUILTIN_ORC_V4SI, 2477 P8V_BUILTIN_ORC_V2DI>: Change unsigned usages to use the new *_UNS 2478 definition names. 2479 * config/rs6000/rs6000.c 2480 (rs6000_gimple_fold_builtin) <ALTIVEC_BUILTIN_VAND_V16QI_UNS, 2481 ALTIVEC_BUILTIN_VAND_V16QI, ALTIVEC_BUILTIN_VAND_V8HI_UNS, 2482 ALTIVEC_BUILTIN_VAND_V8HI, ALTIVEC_BUILTIN_VAND_V4SI_UNS, 2483 ALTIVEC_BUILTIN_VAND_V4SI, ALTIVEC_BUILTIN_VAND_V2DI_UNS, 2484 ALTIVEC_BUILTIN_VAND_V2DI, ALTIVEC_BUILTIN_VAND_V4SF, 2485 ALTIVEC_BUILTIN_VAND_V2DF, ALTIVEC_BUILTIN_VANDC_V16QI_UNS, 2486 ALTIVEC_BUILTIN_VANDC_V16QI, ALTIVEC_BUILTIN_VANDC_V8HI_UNS, 2487 ALTIVEC_BUILTIN_VANDC_V8HI, ALTIVEC_BUILTIN_VANDC_V4SI_UNS, 2488 ALTIVEC_BUILTIN_VANDC_V4SI, ALTIVEC_BUILTIN_VANDC_V2DI_UNS, 2489 ALTIVEC_BUILTIN_VANDC_V2DI, ALTIVEC_BUILTIN_VANDC_V4SF, 2490 ALTIVEC_BUILTIN_VANDC_V2DF, P8V_BUILTIN_NAND_V16QI_UNS, 2491 P8V_BUILTIN_NAND_V8HI_UNS, P8V_BUILTIN_NAND_V4SI_UNS, 2492 P8V_BUILTIN_NAND_V2DI_UNS, P8V_BUILTIN_NAND_V2DI, 2493 ALTIVEC_BUILTIN_VOR_V16QI_UNS, ALTIVEC_BUILTIN_VOR_V16QI, 2494 ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V8HI, 2495 ALTIVEC_BUILTIN_VOR_V4SI_UNS, ALTIVEC_BUILTIN_VOR_V4SI, 2496 ALTIVEC_BUILTIN_VOR_V2DI_UNS, ALTIVEC_BUILTIN_VOR_V2DI, 2497 ALTIVEC_BUILTIN_VOR_V4SF, ALTIVEC_BUILTIN_VOR_V2DF, 2498 P8V_BUILTIN_ORC_V16QI_UNS, P8V_BUILTIN_ORC_V8HI_UNS, 2499 P8V_BUILTIN_ORC_V4SI_UNS, P8V_BUILTIN_ORC_V2DI_UNS, 2500 P8V_BUILTIN_ORC_V2DI, ALTIVEC_BUILTIN_VXOR_V16QI_UNS, 2501 ALTIVEC_BUILTIN_VXOR_V16QI, ALTIVEC_BUILTIN_VXOR_V8HI_UNS, 2502 ALTIVEC_BUILTIN_VXOR_V8HI, ALTIVEC_BUILTIN_VXOR_V4SI_UNS, 2503 ALTIVEC_BUILTIN_VXOR_V4SI, ALTIVEC_BUILTIN_VXOR_V2DI_UNS, 2504 ALTIVEC_BUILTIN_VXOR_V2DI, ALTIVEC_BUILTIN_VXOR_V4SF, 2505 ALTIVEC_BUILTIN_VXOR_V2DF, ALTIVEC_BUILTIN_VNOR_V16QI_UNS, 2506 ALTIVEC_BUILTIN_VNOR_V16QI, ALTIVEC_BUILTIN_VNOR_V8HI_UNS, 2507 ALTIVEC_BUILTIN_VNOR_V8HI, ALTIVEC_BUILTIN_VNOR_V4SI_UNS, 2508 ALTIVEC_BUILTIN_VNOR_V4SI, ALTIVEC_BUILTIN_VNOR_V2DI_UNS, 2509 ALTIVEC_BUILTIN_VNOR_V2DI, ALTIVEC_BUILTIN_VNOR_V4SF, 2510 ALTIVEC_BUILTIN_VNOR_V2DF>: Use new definition names. 2511 (builtin_function_type) <ALTIVEC_BUILTIN_VAND_V16QI_UNS, 2512 ALTIVEC_BUILTIN_VAND_V8HI_UNS, ALTIVEC_BUILTIN_VAND_V4SI_UNS, 2513 ALTIVEC_BUILTIN_VAND_V2DI_UNS, ALTIVEC_BUILTIN_VANDC_V16QI_UNS, 2514 ALTIVEC_BUILTIN_VANDC_V8HI_UNS, ALTIVEC_BUILTIN_VANDC_V4SI_UNS, 2515 ALTIVEC_BUILTIN_VANDC_V2DI_UNS, ALTIVEC_BUILTIN_VNOR_V16QI_UNS, 2516 ALTIVEC_BUILTIN_VNOR_V8HI_UNS, ALTIVEC_BUILTIN_VNOR_V4SI_UNS, 2517 ALTIVEC_BUILTIN_VNOR_V2DI_UNS, ALTIVEC_BUILTIN_VOR_V16QI_UNS, 2518 ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V4SI_UNS, 2519 ALTIVEC_BUILTIN_VOR_V2DI_UNS, ALTIVEC_BUILTIN_VXOR_V16QI_UNS, 2520 ALTIVEC_BUILTIN_VXOR_V8HI_UNS, ALTIVEC_BUILTIN_VXOR_V4SI_UNS, 2521 ALTIVEC_BUILTIN_VXOR_V2DI_UNS, P8V_BUILTIN_EQV_V16QI_UNS, 2522 P8V_BUILTIN_EQV_V8HI_UNS, P8V_BUILTIN_EQV_V4SI_UNS, 2523 P8V_BUILTIN_EQV_V2DI_UNS, P8V_BUILTIN_EQV_V1TI_UNS, 2524 P8V_BUILTIN_NAND_V16QI_UNS, P8V_BUILTIN_NAND_V8HI_UNS, 2525 P8V_BUILTIN_NAND_V4SI_UNS, P8V_BUILTIN_NAND_V2DI_UNS, 2526 P8V_BUILTIN_NAND_V1TI_UNS, P8V_BUILTIN_ORC_V16QI_UNS, 2527 P8V_BUILTIN_ORC_V8HI_UNS, P8V_BUILTIN_ORC_V4SI_UNS, 2528 P8V_BUILTIN_ORC_V2DI_UNS, P8V_BUILTIN_ORC_V1TI_UNS>: Handle unsigned 2529 builtins. 2530 25312020-08-27 Christophe Lyon <christophe.lyon@linaro.org> 2532 2533 Backported from master: 2534 2020-08-24 Christophe Lyon <christophe.lyon@linaro.org> 2535 2536 PR target/94538 2537 PR target/94538 2538 * config/arm/thumb1.md: Disable set-constant splitter when 2539 TARGET_HAVE_MOVT. 2540 (thumb1_movsi_insn): Fix -mpure-code 2541 alternative. 2542 25432020-08-21 Richard Sandiford <richard.sandiford@arm.com> 2544 2545 Backported from master: 2546 2020-08-21 Richard Sandiford <richard.sandiford@arm.com> 2547 2548 * doc/extend.texi: Update links to Arm docs. 2549 * doc/invoke.texi: Likewise. 2550 25512020-08-21 Tamar Christina <tamar.christina@arm.com> 2552 2553 Backported from master: 2554 2020-08-03 Tamar Christina <tamar.christina@arm.com> 2555 2556 * config/aarch64/driver-aarch64.c (readline): Check return value fgets. 2557 25582020-08-21 Tamar Christina <tamar.christina@arm.com> 2559 2560 Backported from master: 2561 2020-07-17 Tamar Christina <tamar.christina@arm.com> 2562 2563 * doc/sourcebuild.texi (dg-set-compiler-env-var, 2564 dg-set-target-env-var): Document. 2565 25662020-08-21 Tamar Christina <tamar.christina@arm.com> 2567 2568 Backported from master: 2569 2020-07-17 Tamar Christina <tamar.christina@arm.com> 2570 2571 * config/arm/driver-arm.c (host_detect_local_cpu): Add GCC_CPUINFO. 2572 25732020-08-21 Tamar Christina <tamar.christina@arm.com> 2574 2575 Backported from master: 2576 2020-07-17 Tamar Christina <tamar.christina@arm.com> 2577 2578 * config/aarch64/driver-aarch64.c (host_detect_local_cpu): 2579 Add GCC_CPUINFO. 2580 25812020-08-21 Tamar Christina <tamar.christina@arm.com> 2582 2583 Backported from master: 2584 2020-07-17 Tamar Christina <tamar.christina@arm.com> 2585 2586 * config/aarch64/driver-aarch64.c (INCLUDE_SET): New. 2587 (parse_field): Use std::string. 2588 (split_words, readline, find_field): New. 2589 (host_detect_local_cpu): Fix truncation issues. 2590 25912020-08-18 Uroš Bizjak <ubizjak@gmail.com> 2592 2593 PR target/96536 2594 * config/i386/i386.md (restore_stack_nonlocal): 2595 Add missing compare RTX. 2596 25972020-08-07 Richard Sandiford <richard.sandiford@arm.com> 2598 2599 Backported from master: 2600 2020-08-06 Richard Sandiford <richard.sandiford@arm.com> 2601 2602 PR target/96191 2603 * config/arm/arm.md (arm_stack_protect_test_insn): Zero out 2604 operand 2 after use. 2605 * config/arm/thumb1.md (thumb1_stack_protect_test_insn): Likewise. 2606 26072020-08-07 Richard Sandiford <richard.sandiford@arm.com> 2608 2609 Backported from master: 2610 2020-08-05 Richard Sandiford <richard.sandiford@arm.com> 2611 2612 PR target/96191 2613 * config/aarch64/aarch64.md (stack_protect_test_<mode>): Set the 2614 CC register directly, instead of a GPR. Replace the original GPR 2615 destination with an extra scratch register. Zero out operand 3 2616 after use. 2617 (stack_protect_test): Update accordingly. 2618 26192020-08-07 Qian Jianhua <qianjh@cn.fujitsu.com> 2620 2621 Backported from master: 2622 2020-08-03 Qian jianhua <qianjh@cn.fujitsu.com> 2623 2624 * config/aarch64/aarch64-cores.def (a64fx): New core. 2625 * config/aarch64/aarch64-tune.md: Regenerated. 2626 * config/aarch64/aarch64.c (a64fx_prefetch_tune, a64fx_tunings): New. 2627 * doc/invoke.texi: Add a64fx to the list. 2628 26292020-08-07 Richard Sandiford <richard.sandiford@arm.com> 2630 2631 Backported from master: 2632 2020-04-16 Richard Sandiford <richard.sandiford@arm.com> 2633 2634 PR rtl-optimization/94605 2635 * early-remat.c (early_remat::process_block): Handle insns that 2636 set multiple candidate registers. 2637 26382020-08-07 Richard Sandiford <richard.sandiford@arm.com> 2639 2640 Backported from master: 2641 2020-07-13 Richard Sandiford <richard.sandiford@arm.com> 2642 2643 PR middle-end/95114 2644 * tree.h (virtual_method_call_p): Add a default-false parameter 2645 that indicates whether the function is being called from dump 2646 routines. 2647 (obj_type_ref_class): Likewise. 2648 * tree.c (virtual_method_call_p): Likewise. 2649 * ipa-devirt.c (obj_type_ref_class): Likewise. Lazily add ODR 2650 type information for the type when the parameter is false. 2651 * tree-pretty-print.c (dump_generic_node): Update calls to 2652 virtual_method_call_p and obj_type_ref_class accordingly. 2653 26542020-08-04 Matthew Malcomson <matthew.malcomson@arm.com> 2655 2656 * config/aarch64/aarch64-protos.h (aarch64_indirect_call_asm): 2657 New declaration. 2658 * config/aarch64/aarch64.c (aarch64_regno_regclass): Handle new 2659 stub registers class. 2660 (aarch64_class_max_nregs): Likewise. 2661 (aarch64_register_move_cost): Likewise. 2662 (aarch64_sls_shared_thunks): Global array to store stub labels. 2663 (aarch64_sls_emit_function_stub): New. 2664 (aarch64_create_blr_label): New. 2665 (aarch64_sls_emit_blr_function_thunks): New. 2666 (aarch64_sls_emit_shared_blr_thunks): New. 2667 (aarch64_asm_file_end): New. 2668 (aarch64_indirect_call_asm): New. 2669 (TARGET_ASM_FILE_END): Use aarch64_asm_file_end. 2670 (TARGET_ASM_FUNCTION_EPILOGUE): Use 2671 aarch64_sls_emit_blr_function_thunks. 2672 * config/aarch64/aarch64.h (STB_REGNUM_P): New. 2673 (enum reg_class): Add STUB_REGS class. 2674 (machine_function): Introduce `call_via` array for 2675 function-local stub labels. 2676 * config/aarch64/aarch64.md (*call_insn, *call_value_insn): Use 2677 aarch64_indirect_call_asm to emit code when hardening BLR 2678 instructions. 2679 * config/aarch64/constraints.md (Ucr): New constraint 2680 representing registers for indirect calls. Is GENERAL_REGS 2681 usually, and STUB_REGS when hardening BLR instruction against 2682 SLS. 2683 * config/aarch64/predicates.md (aarch64_general_reg): STUB_REGS class 2684 is also a general register. 2685 26862020-08-04 Matthew Malcomson <matthew.malcomson@arm.com> 2687 2688 * config/aarch64/aarch64-protos.h (aarch64_sls_barrier): New. 2689 * config/aarch64/aarch64.c (aarch64_output_casesi): Emit 2690 speculation barrier after BR instruction if needs be. 2691 (aarch64_trampoline_init): Handle ptr_mode value & adjust size 2692 of code copied. 2693 (aarch64_sls_barrier): New. 2694 (aarch64_asm_trampoline_template): Add needed barriers. 2695 * config/aarch64/aarch64.h (AARCH64_ISA_SB): New. 2696 (TARGET_SB): New. 2697 (TRAMPOLINE_SIZE): Account for barrier. 2698 * config/aarch64/aarch64.md (indirect_jump, *casesi_dispatch, 2699 simple_return, *do_return, *sibcall_insn, *sibcall_value_insn): 2700 Emit barrier if needs be, also account for possible barrier using 2701 "sls_length" attribute. 2702 (sls_length): New attribute. 2703 (length): Determine default using any non-default sls_length 2704 value. 2705 27062020-08-04 Matthew Malcomson <matthew.malcomson@arm.com> 2707 2708 * config/aarch64/aarch64-protos.h (aarch64_harden_sls_retbr_p): 2709 New. 2710 (aarch64_harden_sls_blr_p): New. 2711 * config/aarch64/aarch64.c (enum aarch64_sls_hardening_type): 2712 New. 2713 (aarch64_harden_sls_retbr_p): New. 2714 (aarch64_harden_sls_blr_p): New. 2715 (aarch64_validate_sls_mitigation): New. 2716 (aarch64_override_options): Parse options for SLS mitigation. 2717 * config/aarch64/aarch64.opt (-mharden-sls): New option. 2718 * doc/invoke.texi: Document new option. 2719 27202020-08-03 Jonathan Wakely <jwakely@redhat.com> 2721 2722 Backported from master: 2723 2020-08-03 Jonathan Wakely <jwakely@redhat.com> 2724 2725 * doc/cpp.texi (Variadic Macros): Use the exact ... token in 2726 code examples. 2727 27282020-07-23 David Edelsohn <dje.gcc@gmail.com> 2729 2730 Backported from master: 2731 2020-03-06 David Edelsohn <dje.gcc@gmail.com> 2732 2733 PR target/94065 2734 * config/rs6000/aix61.h (TARGET_NO_SUM_IN_TOC): Set to 1 for 2735 cmodel=large. 2736 (TARGET_NO_FP_IN_TOC): Same. 2737 * config/rs6000/aix71.h: Same. 2738 * config/rs6000/aix72.h: Same. 2739 27402020-07-17 Romain Naour <romain.naour@gmail.com> 2741 2742 Backported from master: 2743 2020-07-17 Romain Naour <romain.naour@gmail.com> 2744 2745 * Makefile.in (SELFTEST_DEPS): Move before including language makefile 2746 fragments. 2747 27482020-07-16 Szabolcs Nagy <szabolcs.nagy@arm.com> 2749 2750 Backported from master: 2751 2020-07-13 Szabolcs Nagy <szabolcs.nagy@arm.com> 2752 2753 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add 2754 __ARM_FEATURE_PAC_DEFAULT support. 2755 27562020-07-16 Szabolcs Nagy <szabolcs.nagy@arm.com> 2757 2758 Backported from master: 2759 2020-07-13 Szabolcs Nagy <szabolcs.nagy@arm.com> 2760 2761 PR target/94891 2762 * doc/extend.texi: Update the text for __builtin_return_address. 2763 27642020-07-16 Szabolcs Nagy <szabolcs.nagy@arm.com> 2765 2766 Backported from master: 2767 2020-07-13 Szabolcs Nagy <szabolcs.nagy@arm.com> 2768 2769 PR target/94891 2770 * config/aarch64/aarch64.c (aarch64_return_address_signing_enabled): 2771 Disable return address signing if __builtin_eh_return is used. 2772 27732020-07-16 Szabolcs Nagy <szabolcs.nagy@arm.com> 2774 2775 Backported from master: 2776 2020-07-13 Szabolcs Nagy <szabolcs.nagy@arm.com> 2777 2778 PR target/94891 2779 PR target/94791 2780 * config/aarch64/aarch64-protos.h (aarch64_return_addr_rtx): Declare. 2781 * config/aarch64/aarch64.c (aarch64_return_addr_rtx): New. 2782 (aarch64_return_addr): Use aarch64_return_addr_rtx. 2783 * config/aarch64/aarch64.h (PROFILE_HOOK): Likewise. 2784 27852020-07-16 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> 2786 2787 Backported from master: 2788 2020-06-16 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> 2789 2790 * config.in: Regenerate. 2791 * config/s390/s390.c (print_operand): Emit vector alignment hints 2792 for target z13, if AS accepts them. For other targets the logic 2793 stays the same. 2794 * config/s390/s390.h (TARGET_VECTOR_LOADSTORE_ALIGNMENT_HINTS): Define 2795 macro. 2796 * configure: Regenerate. 2797 * configure.ac: Check HAVE_AS_VECTOR_LOADSTORE_ALIGNMENT_HINTS_ON_Z13. 2798 27992020-07-10 Will Schmidt <will_schmidt@vnet.ibm.com> 2800 2801 * config/rs6000/altivec.h (vec_vmsumudm): New define. 2802 * config/rs6000/altivec.md (UNSPEC_VMSUMUDM): New unspec. 2803 (altivec_vmsumudm): New define_insn. 2804 * config/rs6000/rs6000-builtin.def (altivec_vmsumudm): New BU_ALTIVEC_3 2805 entry. (vmsumudm): New BU_ALTIVEC_OVERLOAD_3 entry. 2806 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add 2807 entries for ALTIVEC_BUILTIN_VMSUMUDM variants of vec_msum. 2808 * doc/extend.texi: Add document for vmsumudm behind vmsum. 2809 28102020-07-10 Bin Cheng <bin.cheng@linux.alibaba.com> 2811 2812 Backported from master: 2813 2020-07-09 Bin Cheng <bin.cheng@linux.alibaba.com> 2814 2815 PR tree-optimization/95804 2816 * tree-loop-distribution.c (break_alias_scc_partitions): Force 2817 negative post order to reduction partition. 2818 28192020-07-10 Bin Cheng <bin.cheng@linux.alibaba.com> 2820 2821 Backported from master: 2822 2020-06-20 Bin Cheng <bin.cheng@linux.alibaba.com> 2823 2824 PR tree-optimization/95638 2825 * tree-loop-distribution.c (pg_edge_callback_data): New field. 2826 (loop_distribution::break_alias_scc_partitions): Record and restore 2827 postorder information. Fix memory leak. 2828 28292020-07-06 Will Schmidt <will_schmidt@vnet.ibm.com> 2830 2831 PR target/94954 2832 * config/rs6000/altivec.h (vec_pack_to_short_fp32): Update. 2833 * config/rs6000/altivec.md (UNSPEC_CONVERT_4F32_8F16): New unspec. 2834 (convert_4f32_8f16): New define_expand 2835 * config/rs6000/rs6000-builtin.def (convert_4f32_8f16): New builtin define 2836 and overload. 2837 * config/rs6000/rs6000-c.c (P9V_BUILTIN_VEC_CONVERT_4F32_8F16): New 2838 overloaded builtin entry. 2839 * config/rs6000/vsx.md (UNSPEC_VSX_XVCVSPHP): New unspec. 2840 (vsx_xvcvsphp): New define_insn. 2841 28422020-06-30 Alex Coplan <alex.coplan@arm.com> 2843 2844 Backported from master: 2845 2020-05-18 Alex Coplan <alex.coplan@arm.com> 2846 2847 * config/arm/arm.c (output_move_double): Fix codegen when loading into 2848 a register pair with an odd base register. 2849 28502020-06-25 H.J. Lu <hjl.tools@gmail.com> 2851 2852 Backported from master: 2853 2020-06-25 H.J. Lu <hjl.tools@gmail.com> 2854 2855 PR target/95874 2856 * config/i386/i386.h (PTA_ICELAKE_CLIENT): Remove PTA_CLWB. 2857 (PTA_ICELAKE_SERVER): Add PTA_CLWB. 2858 28592020-06-17 Thomas Schwinge <thomas@codesourcery.com> 2860 2861 Backported from master: 2862 2020-06-17 Thomas Schwinge <thomas@codesourcery.com> 2863 2864 * hsa-gen.c (gen_hsa_insns_for_call): Move 'function_decl == 2865 NULL_TREE' check earlier. 2866 28672020-06-12 Martin Liska <mliska@suse.cz> 2868 Jakub Jelinek <jakub@redhat.com> 2869 2870 PR sanitizer/95634 2871 * asan.c (asan_emit_stack_protection): Fix emission for ilp32 2872 by using Pmode instead of ptr_mode. 2873 28742020-06-12 Martin Liska <mliska@suse.cz> 2875 2876 PR sanitizer/94910 2877 * asan.c (asan_emit_stack_protection): Emit 2878 also **SavedFlagPtr(FakeStack, class_id) = 0 in order to release 2879 a stack frame. 2880 28812020-06-06 Carl Love <cel@us.ibm.com> 2882 2883 PR target/94833 2884 * config/rs6000/vsx.md (define_expand): Fix instruction generation for 2885 first_match_index_<mode>. 2886 28872020-06-05 H.J. Lu <hjl.tools@gmail.com> 2888 2889 * config/i386/driver-i386.c (host_detect_local_cpu): Support 2890 Intel Airmont, Tremont, Comet Lake, Ice Lake and Tiger Lake 2891 processor families. 2892 28932020-06-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2894 2895 * config/aarch64/aarch64-cores.def (zeus): Define. 2896 * config/aarch64/aarch64-tune.md: Regenerate. 2897 * doc/invoke.texi (AArch64 Options): Document zeus -mcpu option. 2898 28992020-05-31 Gerald Pfeifer <gerald@pfeifer.com> 2900 2901 * config/i386/i386-c.c (ix86_target_macros): Define _ILP32 and 2902 __ILP32__ for 32-bit targets. 2903 29042020-05-29 Alex Coplan <alex.coplan@arm.com> 2905 2906 PR target/94591 2907 * config/aarch64/aarch64.c (aarch64_evpc_rev_local): Don't match 2908 identity permutation. 2909 29102020-05-29 Dong JianQiang <dongjianqiang2@huawei.com> 2911 2912 PR gcov-profile/95332 2913 * gcov-io.c (gcov_var::endian): Move field. 2914 (from_file): Add IN_GCOV_TOOL check. 2915 * gcov-io.h (gcov_magic): Ditto. 2916 29172020-05-26 Alexandre Oliva <oliva@adacore.com> 2918 2919 PR target/94812 2920 * config/rs6000/rs6000.md (rs6000_mffsl): Copy result to 2921 output operand in emulation. Don't overwrite pseudos. 2922 29232020-05-24 H.J. Lu <hongjiu.lu@intel.com> 2924 2925 PR target/95258 2926 * config/i386/driver-i386.c (host_detect_local_cpu): Detect 2927 AVX512VPOPCNTDQ. 2928 29292020-05-22 Bin Cheng <bin.cheng@linux.alibaba.com> 2930 2931 Backport from master 2932 PR tree-optimization/94969 2933 2020-05-13 Bin Cheng <bin.cheng@linux.alibaba.com> 2934 2935 * tree-data-ref.c (constant_access_functions): Rename to... 2936 (invariant_access_functions): ...this. Add parameter. Check for 2937 invariant access function, rather than constant. 2938 (build_classic_dist_vector): Call above function. 2939 * tree-loop-distribution.c (pg_add_dependence_edges): Add comment. 2940 29412020-05-21 Martin Liska <mliska@suse.cz> 2942 2943 * common/config/aarch64/aarch64-common.c (aarch64_handle_option): 2944 Use MASK_OUTLINE_ATOMICS for x_target_flags. 2945 29462020-05-21 Martin Liska <mliska@suse.cz> 2947 2948 * common/config/aarch64/aarch64-common.c (aarch64_handle_option): 2949 Handle OPT_moutline_atomics. 2950 * config/aarch64/aarch64.c: Add outline-atomics to 2951 aarch64_attributes. 2952 * doc/extend.texi: Document the newly added target attribute. 2953 29542020-05-14 Szabolcs Nagy <szabolcs.nagy@arm.com> 2955 2956 Backport from mainline. 2957 2020-04-30 Szabolcs Nagy <szabolcs.nagy@arm.com> 2958 2959 PR target/94748 2960 * config/aarch64/aarch64-bti-insert.c (rest_of_insert_bti): Remove 2961 the check for NOTE_INSN_DELETED_LABEL. 2962 29632020-05-14 Szabolcs Nagy <szabolcs.nagy@arm.com> 2964 2965 Backport from mainline. 2966 2020-04-23 Szabolcs Nagy <szabolcs.nagy@arm.com> 2967 2968 PR target/94697 2969 * config/aarch64/aarch64-bti-insert.c (rest_of_insert_bti): Swap 2970 bti c and bti j handling. 2971 29722020-05-14 Szabolcs Nagy <szabolcs.nagy@arm.com> 2973 2974 Backport from mainline. 2975 2020-04-27 Szabolcs Nagy <szabolcs.nagy@arm.com> 2976 2977 PR target/94515 2978 * dwarf2cfi.c (struct GTY): Add ra_mangled. 2979 (cfi_row_equal_p): Check ra_mangled. 2980 (dwarf2out_frame_debug_cfa_window_save): Remove the argument, 2981 this only handles the sparc logic now. 2982 (dwarf2out_frame_debug_cfa_toggle_ra_mangle): New function for 2983 the aarch64 specific logic. 2984 (dwarf2out_frame_debug): Update to use the new subroutines. 2985 (change_cfi_row): Check ra_mangled. 2986 29872020-05-12 David Edelsohn <dje.gcc@gmail.com> 2988 2989 Backport from mainline 2990 2020-04-08 Clement Chigot <clement.chigot@atos.net> 2991 2992 * config/rs6000/aix61.h (LIB_SPEC): Add -lc128 with -mlong-double-128. 2993 * config/rs6000/aix71.h (LIB_SPEC): Likewise. 2994 * config/rs6000/aix72.h (LIB_SPEC): Likewise. 2995 29962020-05-12 David Edelsohn <dje.gcc@gmail.com> 2997 2998 Backport from mainline 2999 2020-05-04 Clement Chigot <clement.chigot@atos.net> 3000 David Edelsohn <dje.gcc@gmail.com> 3001 3002 * config/rs6000/rs6000.c (rs6000_init_builtins): Override explicit 3003 for fmodl, frexpl, ldexpl and modfl builtins. 3004 30052020-05-11 Xiong Hu Luo <luoxhu@linux.ibm.com> 3006 3007 Backport from master. 3008 2020-04-27 Xiong Hu Luo <luoxhu@linux.ibm.com> 3009 3010 PR target/91518 3011 * config/rs6000/rs6000.c (frame_pointer_needed_indeed): 3012 New variable. 3013 (rs6000_emit_prologue_components): 3014 Check with frame_pointer_needed_indeed. 3015 (rs6000_emit_epilogue_components): Likewise. 3016 (rs6000_emit_prologue): Likewise. 3017 (rs6000_emit_epilogue): Set frame_pointer_needed_indeed. 3018 30192020-05-07 Uroš Bizjak <ubizjak@gmail.com> 3020 3021 * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use 3022 TARGET_EXPR instead of MODIFY_EXPR for the first assignments to 3023 fenv_var and new_fenv_var. 3024 30252020-05-05 Andreas Krebbel <krebbel@linux.ibm.com> 3026 3027 Backport from mainline 3028 2020-04-30 Andreas Krebbel <krebbel@linux.ibm.com> 3029 3030 * config/s390/constraints.md ("j>f", "jb4"): New constraints. 3031 * config/s390/vecintrin.h (vec_load_len_r, vec_store_len_r): Fix 3032 macro definitions. 3033 * config/s390/vx-builtins.md ("vlrlrv16qi", "vstrlrv16qi"): Add a 3034 separate expander. 3035 ("*vlrlrv16qi", "*vstrlrv16qi"): Add alternative for vl/vst. 3036 Change constraint for vlrl/vstrl to jb4. 3037 30382020-05-04 Andreas Krebbel <krebbel@linux.ibm.com> 3039 3040 Backport from mainline 3041 2020-04-20 Andreas Krebbel <krebbel@linux.ibm.com> 3042 3043 * config/s390/vector.md ("popcountv8hi2_vx", "popcountv4si2_vx") 3044 ("popcountv2di2_vx"): Use simplify_gen_subreg. 3045 30462020-05-04 Andreas Krebbel <krebbel@linux.ibm.com> 3047 3048 Backport from mainline 3049 2020-04-20 Andreas Krebbel <krebbel@linux.ibm.com> 3050 3051 PR target/94613 3052 * config/s390/s390-builtin-types.def: Add 3 new function modes. 3053 * config/s390/s390-builtins.def: Add mode dependent low-level 3054 builtin and map the overloaded builtins to these. 3055 * config/s390/vx-builtins.md ("vec_selV_HW"): Rename to ... 3056 ("vsel<V_HW"): ... this and rewrite the pattern with bitops. 3057 30582020-05-04 Bin Cheng <bin.cheng@linux.alibaba.com> 3059 3060 PR tree-optimization/93674 3061 Backport from master 3062 2020-04-09 Bin Cheng <bin.cheng@linux.alibaba.com> 3063 3064 * tree-ssa-loop-ivopts.c (langhooks.h): New include. 3065 (add_iv_candidate_for_use): For iv_use of non integer or pointer type, 3066 or non-mode precision type, add candidate in unsigned type with the 3067 same precision. 3068 30692020-05-01 Alan Modra <amodra@gmail.com> 3070 3071 PR target/94145 3072 Backport from master 3073 2020-03-27 Alan Modra <amodra@gmail.com> 3074 3075 * config/rs6000/rs6000.c (rs6000_longcall_ref): Use unspec_volatile 3076 for PLT16_LO. 3077 * config/rs6000/rs6000.md (UNSPEC_PLT16_LO): Remove. 3078 (UNSPECV_PLT16_LO): Define. 3079 (pltseq_plt16_lo_): Use unspec_volatile. 3080 30812020-04-30 Carl Love <cel@us.ibm.com> 3082 3083 * config/rs6000/emmintrin.h (_mm_movemask_epi8): Fix comment. 3084 30852020-04-29 H.J. Lu <hongjiu.lu@intel.com> 3086 3087 Backport from master 3088 2020-04-29 H.J. Lu <hongjiu.lu@intel.com> 3089 3090 PR target/93654 3091 * config/i386/i386.c (ix86_set_indirect_branch_type): Allow 3092 -fcf-protection with -mindirect-branch=thunk-extern and 3093 -mfunction-return=thunk-extern. 3094 * doc/invoke.texi: Update notes for -fcf-protection=branch with 3095 -mindirect-branch=thunk-extern and -mindirect-return=thunk-extern. 3096 30972020-04-21 Martin Jambor <mjambor@suse.cz> 3098 3099 Backport from master 3100 2020-04-09 Martin Jambor <mjambor@suse.cz> 3101 Richard Biener <rguenther@suse.de> 3102 3103 PR tree-optimization/94482 3104 * tree-sra.c (create_access_replacement): Dump new replacement with 3105 TDF_UID. 3106 (sra_modify_expr): Fix handling of cases when the original EXPR writes 3107 to only part of the replacement. 3108 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly verify 3109 the first operand of combinations into REAL/IMAGPART_EXPR and 3110 BIT_FIELD_REF. 3111 31122020-04-20 H.J. Lu <hongjiu.lu@intel.com> 3113 3114 Backport from master 3115 2020-04-13 H.J. Lu <hongjiu.lu@intel.com> 3116 3117 PR target/94556 3118 * config/i386/i386.c (ix86_expand_epilogue): Restore the frame 3119 pointer in word_mode for eh_return epilogues. 3120 31212020-04-20 Andrea Corallo <andrea.corallo@arm.com> 3122 3123 Backport from mainline. 3124 2020-04-15 Andrea Corallo <andrea.corallo@arm.com> 3125 3126 PR target/94530 3127 * config/aarch64/falkor-tag-collision-avoidance.c 3128 (valid_src_p): Check for aarch64_address_info type before 3129 accessing base field. 3130 31312020-04-20 Tamar Christina <tamar.christina@arm.com> 3132 3133 Backport from mainline. 3134 2020-04-03 Tamar Christina <tamar.christina@arm.com> 3135 3136 PR target/94396 3137 * common/config/aarch64/aarch64-common.c 3138 (aarch64_get_extension_string_for_isa_flags): Handle default flags. 3139 31402020-04-20 Martin Liska <mliska@suse.cz> 3141 3142 Backport from mainline 3143 2020-04-17 Martin Liska <mliska@suse.cz> 3144 Jonathan Yong <10walls@gmail.com> 3145 3146 PR gcov-profile/94570 3147 * coverage.c (coverage_init): Use separator properly. 3148 31492020-04-17 H.J. Lu <hongjiu.lu@intel.com> 3150 3151 Backport from master 3152 2020-04-08 H.J. Lu <hongjiu.lu@intel.com> 3153 3154 PR target/94417 3155 * config/i386/i386.c (rest_of_insert_endbranch): Insert ENDBR at 3156 function entry if function will be called indirectly. 3157 31582020-04-17 Kewen Lin <linkw@gcc.gnu.org> 3159 3160 Backport from mainline 3161 2020-04-03 Kewen Lin <linkw@gcc.gnu.org> 3162 3163 PR tree-optimization/94443 3164 * tree-vect-loop.c (vectorizable_live_operation): Use 3165 gsi_insert_seq_before to replace gsi_insert_before. 3166 31672020-04-17 Kewen Lin <linkw@gcc.gnu.org> 3168 3169 Backport from mainline 3170 2020-04-01 Kewen Lin <linkw@gcc.gnu.org> 3171 3172 PR tree-optimization/94043 3173 * tree-vect-loop.c (vectorizable_live_operation): Generate loop-closed 3174 phi for vec_lhs and use it for lane extraction. 3175 31762020-04-16 Michael Meissner <meissner@linux.ibm.com> 3177 3178 PR target/94557 3179 * config/rs6000/rs6000.c (rs6000_adjust_vec_address): Fix 3180 regression caused by PR target/93932 backport. Mask variable 3181 vector extract index so it does not go beyond the vector when 3182 extracting a vector element from memory. 3183 31842020-04-16 Richard Biener <rguenther@suse.de> 3185 3186 Backport from mainline 3187 2020-04-07 Richard Biener <rguenther@suse.de> 3188 3189 PR middle-end/94479 3190 * gimplify.c (gimplify_addr_expr): Also consider generated 3191 MEM_REFs. 3192 31932020-04-15 Max Filippov <jcmvbkbc@gmail.com> 3194 3195 Backport from mainline. 3196 2020-04-14 Max Filippov <jcmvbkbc@gmail.com> 3197 3198 PR target/94584 3199 * config/xtensa/xtensa.md (zero_extendhisi2, zero_extendqisi2) 3200 (extendhisi2_internal): Add %v1 before the load instructions. 3201 32022020-04-15 Max Filippov <jcmvbkbc@gmail.com> 3203 3204 Backport from mainline. 3205 2019-09-26 Max Filippov <jcmvbkbc@gmail.com> 3206 3207 * config/xtensa/xtensa.c (hwloop_optimize): Insert zero overhead 3208 loop instruction into new basic block before the loop when basic 3209 block that precedes the loop is empty. 3210 32112020-04-15 Uroš Bizjak <ubizjak@gmail.com> 3212 3213 PR target/94603 3214 * config/i386/i386-builtin.def (__builtin_ia32_movq128): 3215 Require OPTION_MASK_ISA_SSE2. 3216 32172020-04-11 Uroš Bizjak <ubizjak@gmail.com> 3218 3219 PR target/94494 3220 * config/i386/sse.md (REDUC_SSE_SMINMAX_MODE): Use TARGET_SSE2 3221 condition for V4SI, V8HI and V16QI modes. 3222 32232020-04-10 Claudiu Zissulescu <claziss@synopsys.com> 3224 3225 Backport from trunk 3226 2020-0-31 Vineet Gupta <vgupta@synopsys.com> 3227 * config/arc/linux.h: GLIBC_DYNAMIC_LINKER support BE/arc700. 3228 32292020-04-09 Michael Meissner <meissner@linux.ibm.com> 3230 3231 Back port from trunk 3232 2020-02-26 Michael Meissner <meissner@linux.ibm.com> 3233 3234 PR target/93932 3235 * config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator): 3236 Split the insn into two parts. This insn only does variable 3237 extract from a register. 3238 (vsx_extract_<mode>_var_load, VSX_D iterator): New insn, do 3239 variable extract from memory. 3240 (vsx_extract_v4sf_var): Split the insn into two parts. This insn 3241 only does variable extract from a register. 3242 (vsx_extract_v4sf_var_load): New insn, do variable extract from 3243 memory. 3244 (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Split the insn 3245 into two parts. This insn only does variable extract from a 3246 register. 3247 (vsx_extract_<mode>_var_load, VSX_EXTRACT_I iterator): New insn, 3248 do variable extract from memory. 3249 32502020-04-07 Will Schmidt <will_schmidt@vnet.ibm.com> 3251 3252 Backport from mainline. 3253 2020-03-23 Will Schmidt <will_schmidt@vnet.ibm.com> 3254 3255 * config/rs6000/rs6000-call.c altivec_init_builtins(): Remove 3256 code to skip defining builtins based on builtin_mask. 3257 32582020-04-07 Jakub Jelinek <jakub@redhat.com> 3259 3260 PR target/94509 3261 * config/i386/i386.c (expand_vec_perm_pshufb): Fix the check 3262 for inter-lane permutation for 64-byte modes. 3263 3264 PR target/94488 3265 * config/aarch64/aarch64-simd.md (ashl<mode>3, lshr<mode>3, 3266 ashr<mode>3): Force operands[2] into reg whenever it is not CONST_INT. 3267 Assume it is a REG after that instead of testing it and doing FAIL 3268 otherwise. Formatting fix. 3269 3270 Backported from mainline 3271 2020-04-04 Hannes Domani <ssbssa@yahoo.de> 3272 Jakub Jelinek <jakub@redhat.com> 3273 3274 PR debug/94459 3275 * dwarf2out.c (gen_subprogram_die): Look through references, pointers, 3276 arrays, pointer-to-members, function types and qualifiers when 3277 checking if in-class DIE had an 'auto' or 'decltype(auto)' return type 3278 to emit type again on definition. 3279 3280 2020-04-03 Jakub Jelinek <jakub@redhat.com> 3281 3282 PR target/94460 3283 * config/i386/sse.md (avx2_ph<plusminus_mnemonic>wv16hi3, 3284 avx2_ph<plusminus_mnemonic>dv8si3): Fix up RTL pattern to do 3285 second half of first lane from first lane of second operand and 3286 first half of second lane from second lane of first operand. 3287 3288 2020-04-01 Jakub Jelinek <jakub@redhat.com> 3289 3290 PR middle-end/94423 3291 * tree-object-size.c (pass_object_sizes::execute): Don't call 3292 replace_uses_by for SSA_NAME_OCCURS_IN_ABNORMAL_PHI lhs, instead 3293 call replace_call_with_value. 3294 3295 2020-03-31 Marc Glisse <marc.glisse@inria.fr> 3296 Jakub Jelinek <jakub@redhat.com> 3297 3298 PR middle-end/94412 3299 * fold-const.c (fold_binary_loc) <case TRUNC_DIV_EXPR>: Use 3300 ANY_INTEGRAL_TYPE_P instead of INTEGRAL_TYPE_P. 3301 3302 2020-03-30 Jakub Jelinek <jakub@redhat.com> 3303 3304 PR target/93069 3305 * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Use 3306 <store_mask_constraint> instead of m in output operand constraint. 3307 (vec_extract_hi_<mode><mask_name>): Use <mask_operand2> instead of 3308 %{%3%}. 3309 3310 2020-03-28 Jakub Jelinek <jakub@redhat.com> 3311 3312 PR tree-optimization/94329 3313 * tree-ssa-reassoc.c (reassociate_bb): When calling reassoc_remove_stmt 3314 on the last stmt in a bb, make sure gsi_prev isn't done immediately 3315 after gsi_last_bb. 3316 3317 2020-03-25 Jakub Jelinek <jakub@redhat.com> 3318 3319 PR middle-end/94303 3320 * varasm.c (output_constructor_array_range): If local->index 3321 RANGE_EXPR doesn't start at the current location in the constructor, 3322 skip needed number of bytes using assemble_zeros or assert we don't 3323 go backwards. 3324 3325 2020-03-25 Richard Biener <rguenther@suse.de> 3326 Jakub Jelinek <jakub@redhat.com> 3327 3328 PR debug/94283 3329 * tree-if-conv.c (ifcvt_local_dce): Delete dead statements backwards. 3330 3331 2020-03-24 Jakub Jelinek <jakub@redhat.com> 3332 3333 PR debug/94283 3334 * tree-if-conv.c (ifcvt_local_dce): For gimple debug stmts, just set 3335 GF_PLF_2, but don't add them to worklist. Don't add an assigment to 3336 worklist or set GF_PLF_2 just because it is used in a debug stmt in 3337 another bb. Formatting improvements. 3338 3339 PR debug/94277 3340 * cgraphunit.c (check_global_declaration): For DECL_EXTERNAL and 3341 non-TREE_PUBLIC non-DECL_ARTIFICIAL FUNCTION_DECLs, set TREE_PUBLIC 3342 regardless of whether TREE_NO_WARNING is set on it or whether 3343 warn_unused_function is true or not. 3344 3345 2020-03-19 Jakub Jelinek <jakub@redhat.com> 3346 3347 PR tree-optimization/94211 3348 * tree-ssa-phiopt.c (value_replacement): Use estimate_num_insns_seq 3349 instead of estimate_num_insns for bb_seq (middle_bb). Rename 3350 emtpy_or_with_defined_p variable to empty_or_with_defined_p, adjust 3351 all uses. 3352 33532020-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 3354 3355 PR target/94518 3356 2019-09-23 Richard Sandiford <richard.sandiford@arm.com> 3357 3358 * config/aarch64/atomics.md (aarch64_store_exclusive_pair): Fix 3359 memmodel index. 3360 33612020-04-07 Jakub Jelinek <jakub@redhat.com> 3362 3363 PR target/94500 3364 * config/i386/i386.c (emit_reduc_half): For V{64QI,32HI}mode 3365 handle i < 64 using avx512bw_lshrv4ti3. Formatting fixes. 3366 33672020-04-02 Martin Jambor <mjambor@suse.cz> 3368 3369 PR tree-optimization/93435 3370 * params.def (PARAM_SRA_MAX_PROPAGATIONS): New parameter. 3371 * tree-sra.c (propagation_budget): New variable. 3372 (budget_for_propagation_access): New function. 3373 (propagate_subaccesses_across_link): Use it. 3374 (propagate_all_subaccesses): Set up and destroy propagation_budget. 3375 * doc/invoke.texi (sra-max-propagations): New. 3376 33772020-04-03 Martin Liska <mliska@suse.cz> 3378 3379 Backport from mainline 3380 2020-04-03 Martin Liska <mliska@suse.cz> 3381 3382 PR ipa/94445 3383 * ipa-icf-gimple.c (func_checker::compare_gimple_call): 3384 Compare type attributes for gimple_call_fntypes. 3385 33862020-04-02 Fritz Reese <foreese@gcc.gnu.org> 3387 3388 Backport from master. 3389 2020-04-02 Fritz Reese <foreese@gcc.gnu.org> 3390 3391 PR fortran/85982 3392 * fortran/decl.c (match_attr_spec): Lump COMP_STRUCTURE/COMP_MAP into 3393 attribute checking used by TYPE. 3394 33952020-04-02 Richard Biener <rguenther@suse.de> 3396 3397 Backport from mainline 3398 2020-03-12 Richard Biener <rguenther@suse.de> 3399 3400 PR tree-optimization/94103 3401 * tree-ssa-sccvn.c (visit_reference_op_load): Avoid type 3402 punning when the mode precision is not sufficient. 3403 3404 2020-03-18 Richard Biener <rguenther@suse.de> 3405 3406 PR middle-end/94206 3407 * gimple-fold.c (gimple_fold_builtin_memset): Avoid using 3408 partial int modes or not mode-precision integer types for 3409 the store. 3410 34112020-04-02 Jakub Jelinek <jakub@redhat.com> 3412 3413 PR target/94435 3414 * config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): For 3415 y_mode E_[QH]Imode and y being a CONST_INT, change y_mode to SImode. 3416 34172020-04-01 Zackery Spytz <zspytz@gmail.com> 3418 3419 * doc/extend.texi: Fix a typo in the documentation of the 3420 copy function attribute. 3421 34222020-04-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 3423 3424 Backport from mainline 3425 2020-03-31 Jakub Jelinek <jakub@redhat.com> 3426 3427 PR target/94368 3428 * config/aarch64/constraints.md (Uph): New constraint. 3429 * config/aarch64/atomics.md (cas_short_expected_imm): New mode attr. 3430 (@aarch64_compare_and_swap<mode>): Use it instead of n in operand 2's 3431 constraint. 3432 34332020-04-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 3434 3435 Backport from mainline 3436 2020-01-17 Wilco Dijkstra <wdijkstr@arm.com> 3437 3438 PR target/92692 3439 * config/aarch64/atomics.md (aarch64_compare_and_swap<mode>) 3440 Use epilogue_completed rather than reload_completed. 3441 34422020-04-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 3443 3444 Backport from mainline 3445 2019-09-19 Richard Henderson <richard.henderson@linaro.org> 3446 3447 * config/aarch64/aarch64.opt (-moutline-atomics): New. 3448 * config/aarch64/aarch64.c (aarch64_atomic_ool_func): New. 3449 (aarch64_ool_cas_names, aarch64_ool_swp_names): New. 3450 (aarch64_ool_ldadd_names, aarch64_ool_ldset_names): New. 3451 (aarch64_ool_ldclr_names, aarch64_ool_ldeor_names): New. 3452 (aarch64_expand_compare_and_swap): Honor TARGET_OUTLINE_ATOMICS. 3453 * config/aarch64/atomics.md (atomic_exchange<ALLI>): Likewise. 3454 (atomic_<atomic_op><ALLI>): Likewise. 3455 (atomic_fetch_<atomic_op><ALLI>): Likewise. 3456 (atomic_<atomic_op>_fetch<ALLI>): Likewise. 3457 * doc/invoke.texi: Document -moutline-atomics. 3458 34592020-04-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 3460 3461 Backport from mainline 3462 2019-09-19 Richard Henderson <richard.henderson@linaro.org> 3463 3464 * config/aarch64/aarch64 (aarch64_split_compare_and_swap): Disable 3465 strong_zero_p for aarch64_track_speculation; unify some code paths; 3466 use aarch64_gen_compare_reg instead of open-coding. 3467 34682020-04-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 3469 3470 Backport from mainline 3471 2019-09-19 Richard Henderson <richard.henderson@linaro.org> 3472 3473 * config/aarch64/aarch64.c (aarch64_gen_compare_reg): Add support 3474 for NE comparison of TImode values. 3475 (aarch64_emit_load_exclusive): Add support for TImode. 3476 (aarch64_emit_store_exclusive): Likewise. 3477 (aarch64_split_compare_and_swap): Disable strong_zero_p for TImode. 3478 * config/aarch64/atomics.md (@atomic_compare_and_swap<ALLI_TI>): 3479 Change iterator from ALLI to ALLI_TI. 3480 (@atomic_compare_and_swap<JUST_TI>): New. 3481 (@atomic_compare_and_swap<JUST_TI>_lse): New. 3482 (aarch64_load_exclusive_pair): New. 3483 (aarch64_store_exclusive_pair): New. 3484 * config/aarch64/iterators.md (JUST_TI): New. 3485 34862020-04-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 3487 3488 Backport from mainline 3489 2019-09-19 Richard Henderson <richard.henderson@linaro.org> 3490 3491 * config/aarch64/aarch64.c (aarch64_print_operand): Allow integer 3492 registers with %R. 3493 34942020-03-31 Carl Love <cel@us.ibm.com> 3495 3496 Backport of: 3497 commit e97929e20b2f52e6cfc046c1302324d1b24d95e3 3498 Author: Carl Love <carll@us.ibm.com> 3499 Date: Wed Mar 25 18:33:37 2020 -0500 3500 3501 PR target/93819 3502 * gcc/config/rs6000/altivec.h: 3503 Fixed swapped arguments for vec_rlnm define. 3504 35052020-03-31 Carl Love <cel@us.ibm.com> 3506 3507 Backport from mainline 3508 commit 68dd57808f7c0147acdb5ca72c88ff655afcb0ce 3509 Author: Carl Love <carll@us.ibm.com> 3510 Date: Fri Mar 20 18:15:05 2020 -0500 3511 with ChangeLog typo fixed. 3512 3513 PR target/87583 3514 * gcc/config/rs6000/rs6000.c (rs6000_option_override_internal): 3515 Add check for TARGET_FPRND for Power 7 or newer. 3516 35172020-03-24 John David Anglin <danglin@gcc.gnu.org> 3518 3519 PR lto/94249 3520 * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Define __BIG_ENDIAN__. 3521 35222020-03-24 Tamar Christina <tamar.christina@arm.com> 3523 3524 PR target/94052 3525 * config/aarch64/aarch64-simd.md (mov<mode>): Remove paradoxical 3526 subregs of VSTRUCT modes. 3527 35282020-03-24 Bin Cheng <bin.cheng@linux.alibaba.com> 3529 3530 Backport from mainline 3531 2020-03-16 Bin Cheng <bin.cheng@linux.alibaba.com> 3532 3533 PR tree-optimization/94125 3534 * tree-loop-distribution.c 3535 (loop_distribution::break_alias_scc_partitions): Update post order 3536 number for merged scc. 3537 35382020-03-23 Will Schmidt <will_schmidt@vnet.ibm.com> 3539 3540 Backport from mainline 3541 2020-03-10 Will Schmidt <will_schmidt@vnet.ibm.com> 3542 3543 PR target/90763 3544 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): 3545 Add clause to handle P9V_BUILTIN_VEC_LXVL with const arguments. 3546 35472020-03-23 Iain Sandoe <iain@sandoe.co.uk> 3548 3549 Backport from master. 3550 2020-03-22 Iain Sandoe <iain@sandoe.co.uk> 3551 3552 * config/i386/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Remove 3553 references to Darwin. 3554 * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION): Define this 3555 unconditionally and comment on why. 3556 35572020-03-19 Jonathan Wakely <jwakely@redhat.com> 3558 3559 Backport from mainline 3560 2020-01-13 Jonathan Wakely <jwakely@redhat.com> 3561 3562 PR driver/92757 3563 * doc/invoke.texi (Warning Options): Add caveat about some warnings 3564 depending on optimization settings. 3565 35662020-03-19 Jiufu Guo <guojiufu@linux.ibm.com> 3567 3568 PR target/93709 3569 * gcc/config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): Check 3570 NAN and SIGNED_ZEROR for smax/smin. 3571 35722020-03-17 Jakub Jelinek <jakub@redhat.com> 3573 3574 PR middle-end/94189 3575 * builtins.c (expand_builtin_strnlen): Do return NULL_RTX if we would 3576 emit a warning if it was enabled and don't depend on TREE_NO_WARNING 3577 for code-generation. 3578 3579 Backported from mainline 3580 2020-03-16 Jakub Jelinek <jakub@redhat.com> 3581 3582 PR debug/94167 3583 * tree-inline.c (insert_init_stmt): Don't gimple_regimplify_operands 3584 DEBUG_STMTs. 3585 3586 2020-03-14 Jakub Jelinek <jakub@redhat.com> 3587 3588 PR middle-end/93566 3589 * tree-nested.c (convert_nonlocal_omp_clauses, 3590 convert_local_omp_clauses): Handle {,in_,task_}reduction clauses 3591 with C/C++ array sections. 3592 3593 2020-03-13 Jakub Jelinek <jakub@redhat.com> 3594 3595 PR target/94121 3596 * config/aarch64/aarch64.c (aarch64_add_offset_1): Use gen_int_mode 3597 instead of GEN_INT. 3598 3599 2020-03-12 Jakub Jelinek <jakub@redhat.com> 3600 3601 * doc/tm.texi.in (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change 3602 ASM_OUTPUT_ALIGNED_DECL in description to ASM_OUTPUT_ALIGNED_LOCAL 3603 and ASM_OUTPUT_DECL to ASM_OUTPUT_LOCAL. 3604 * doc/tm.texi: Regenerated. 3605 3606 PR tree-optimization/94130 3607 * tree-ssa-dse.c: Include gimplify.h. 3608 (increment_start_addr): If stmt has lhs, drop the lhs from call and 3609 set it after the call to the original value of the first argument. 3610 Formatting fixes. 3611 (decrement_count): Formatting fix. 3612 3613 2020-03-11 Jakub Jelinek <jakub@redhat.com> 3614 3615 PR target/94134 3616 * config/pdp11/pdp11.c (pdp11_asm_output_var): Call switch_to_section 3617 at the start to switch to data section. Don't print extra newline if 3618 .globl directive has not been emitted. 3619 3620 PR target/94121 3621 * config/aarch64/aarch64.c (aarch64_add_offset_1): Use absu_hwi 3622 instead of abs_hwi, change moffset type to unsigned HOST_WIDE_INT. 3623 3624 PR middle-end/94111 3625 * dfp.c (decimal_to_binary): Only use decimal128ToString if from->cl 3626 is rvc_normal, otherwise use real_to_decimal to print the number to 3627 string. 3628 3629 PR tree-optimization/94114 3630 * tree-loop-distribution.c (generate_memset_builtin): Call 3631 rewrite_to_non_trapping_overflow even on mem. 3632 (generate_memcpy_builtin): Call rewrite_to_non_trapping_overflow even 3633 on dest and src. 3634 3635 2020-03-05 Jakub Jelinek <jakub@redhat.com> 3636 3637 PR middle-end/93399 3638 * tree-pretty-print.h (pretty_print_string): Declare. 3639 * tree-pretty-print.c (pretty_print_string): Remove forward 3640 declaration, no longer static. Change nbytes parameter type 3641 from unsigned to size_t. 3642 * print-rtl.c (print_value) <case CONST_STRING>: Use 3643 pretty_print_string and for shrink way too long strings. 3644 3645 2020-03-04 Jakub Jelinek <jakub@redhat.com> 3646 3647 PR debug/93888 3648 * tree-inline.c (copy_decl_to_var): Copy DECL_BY_REFERENCE flag. 3649 3650 PR tree-optimization/94001 3651 * tree-tailcall.c (process_assignment): Before comparing op1 to 3652 *ass_var, verify *ass_var is non-NULL. 3653 36542020-03-13 Richard Biener <rguenther@suse.de> 3655 3656 PR tree-optimization/94163 3657 * tree-ssa-pre.c (create_expression_by_pieces): Check 3658 whether alignment would be zero. 3659 36602020-03-13 Eric Botcazou <ebotcazou@adacore.com> 3661 3662 PR rtl-optimization/94119 3663 * resource.h (clear_hashed_info_until_next_barrier): Declare. 3664 * resource.c (clear_hashed_info_until_next_barrier): New function. 3665 * reorg.c (add_to_delay_list): Fix formatting. 3666 (relax_delay_slots): Call clear_hashed_info_until_next_barrier on 3667 the next instruction after removing a BARRIER. 3668 36692020-03-12 Bill Schmidt <wschmidt@linux.ibm.com> 3670 3671 Backport from master 3672 2020-03-02 Bill Schmidt <wschmidt@linux.ibm.com> 3673 3674 PR target/87560 3675 * rs6000-cpus.def (OTHER_ALTIVEC_MASKS): New #define. 3676 * rs6000.c (rs6000_disable_incompatible_switches): Add table entry 3677 for OPTION_MASK_ALTIVEC. 3678 36792020-03-12 Richard Earnshaw <rearnsha@arm.com> 3680 3681 Backport from master 3682 2020-02-10 Richard Earnshaw <rearnsha@arm.com> 3683 3684 PR target/91913 3685 * config/arm/arm.md (movsi_compare0): Allow SP as a source register 3686 in Thumb state and also as a destination in Arm state. Add T16 3687 variants. 3688 36892020-03-12 Martin Liska <mliska@suse.cz> 3690 3691 Backport from mainline 3692 2020-03-09 Martin Liska <mliska@suse.cz> 3693 3694 PR target/93800 3695 * config/rs6000/rs6000.c (rs6000_option_override_internal): 3696 Remove set of str_align_loops and str_align_jumps as these 3697 should be set in previous 2 conditions in the function. 3698 36992020-03-12 Jakub Jelinek <jakub@redhat.com> 3700 3701 * BASE-VER: Set to 9.3.1. 3702 37032020-03-12 Release Manager 3704 3705 * GCC 9.3.0 released. 3706 37072020-03-05 Jakub Jelinek <jakub@redhat.com> 3708 3709 PR target/94046 3710 * config/i386/avx2intrin.h (_mm_mask_i32gather_ps): Fix first cast of 3711 SRC and MASK arguments to __m128 from __m128d. 3712 (_mm256_mask_i32gather_ps): Fix first cast of MASK argument to __m256 3713 from __m256d. 3714 (_mm_mask_i64gather_ps): Fix first cast of MASK argument to __m128 3715 from __m128d. 3716 * config/i386/xopintrin.h (_mm_permute2_pd): Fix first cast of C 3717 argument to __m128i from __m128d. 3718 (_mm256_permute2_pd): Fix first cast of C argument to __m256i from 3719 __m256d. 3720 (_mm_permute2_ps): Fix first cast of C argument to __m128i from __m128. 3721 (_mm256_permute2_ps): Fix first cast of C argument to __m256i from 3722 __m256. 3723 37242020-03-05 Richard Earnshaw <rearnsha@arm.com> 3725 3726 PR target/90311 3727 Backport from master 3728 2019-07-18 Richard Earnshaw <rearnsha@arm.com> 3729 3730 * config/arm/predicates.md (arm_borrow_operation): New predicate. 3731 * config/arm/arm.c (subdi3_compare1): Use CCmode for the split. 3732 (arm_subdi3, subdi_di_zesidi, subdi_di_sesidi): Likewise. 3733 (subdi_zesidi_zesidi): Likewise. 3734 (negdi2_compare, negdi2_insn): Likewise. 3735 (negdi_extensidi): Likewise. 3736 (negdi_zero_extendsidi): Likewise. 3737 (arm_cmpdi_insn): Likewise. 3738 (subsi3_carryin): Use arm_borrow_operation. 3739 (subsi3_carryin_const): Likewise. 3740 (subsi3_carryin_const0): Likewise. 3741 (subsi3_carryin_compare): Likewise. 3742 (subsi3_carryin_compare_const): Likewise. 3743 (subsi3_carryin_compare_const0): Likewise. 3744 (subsi3_carryin_shift): Likewise. 3745 (rsbsi3_carryin_shift): Likewise. 3746 (negsi2_carryin_compare): Likewise. 3747 37482020-03-04 Marek Polacek <polacek@redhat.com> 3749 3750 Backport from mainline 3751 2020-01-26 Marek Polacek <polacek@redhat.com> 3752 3753 PR sanitizer/93436 3754 * sanopt.c (sanitize_rewrite_addressable_params): Avoid crash on 3755 null DECL_NAME. 3756 37572020-03-03 Jakub Jelinek <jakub@redhat.com> 3758 3759 PR rtl-optimization/94002 3760 * explow.c (plus_constant): Punt if cst has VOIDmode and 3761 get_pool_mode is different from mode. 3762 37632020-03-02 Jason Merrill <jason@redhat.com> 3764 3765 PR c++/92601 3766 * tree.c (verify_type_variant): Only verify TYPE_NEEDS_CONSTRUCTING 3767 of complete types. 3768 37692020-02-29 Peter Bergner <bergner@linux.ibm.com> 3770 3771 Revert 3772 2020-02-20 Peter Bergner <bergner@linux.ibm.com> 3773 3774 PR target/93658 3775 * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX 3776 vector modes. 3777 3778 2020-02-05 Michael Meissner <meissner@linux.ibm.com> 3779 3780 PR target/93568 3781 * config/rs6000/rs6000.c (get_vector_offset): Fix Q constraint assert 3782 to use "mem". 3783 3784 Backport from master 3785 2020-02-03 Michael Meissner <meissner@linux.ibm.com> 3786 3787 * config/rs6000/rs6000.c (get_vector_offset): New helper function 3788 to calculate the offset in memory from the start of a vector of a 3789 particular element. Add code to keep the element number in 3790 bounds if the element number is variable. 3791 (rs6000_adjust_vec_address): Move calculation of offset of the 3792 vector element to get_vector_offset. 3793 (rs6000_split_vec_extract_var): Do not do the initial AND of 3794 element here, move the code to get_vector_offset. 3795 3796 2020-01-06 Michael Meissner <meissner@linux.ibm.com> 3797 3798 * config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator): 3799 Use 'Q' for doing vector extract from memory. 3800 (vsx_extract_v4sf_var): Use 'Q' for doing vector extract from 3801 memory. 3802 (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Use 'Q' for 3803 doing vector extract from memory. 3804 (vsx_extract_<mode>_<VS_scalar>mode_var): Use 'Q' for doing vector 3805 extract from memory. 3806 38072020-02-28 Martin Liska <mliska@suse.cz> 3808 3809 Backport from mainline 3810 2020-02-28 Martin Liska <mliska@suse.cz> 3811 3812 PR other/93965 3813 * configure.ac: Improve detection of ld_date by requiring 3814 either two dashes or none. 3815 * configure: Regenerate. 3816 38172020-02-27 Jakub Jelinek <jakub@redhat.com> 3818 3819 PR c/93949 3820 * gimplify.c (gimplify_init_constructor): Don't promote readonly 3821 DECL_REGISTER variables to TREE_STATIC. 3822 38232020-02-27 Jakub Jelinek <jakub@redhat.com> 3824 3825 PR tree-optimization/93945 3826 * tree-ssa-sccvn.c (vn_reference_lookup_3): For memset with non-zero 3827 second operand, require ref->size to be a multiple of BITS_PER_UNIT. 3828 38292020-02-26 Carl Love <cel@us.ibm.com> 3830 3831 PR target/91276 3832 * doc/extend.texi (PowerPC AltiVec Built-in Functions Available on ISA 3833 3.0): The builtin-function name __builtin_crypto_vpmsumb is only for 3834 the vector unsigned short arguments. It is also listed as the name of 3835 the built-in for arguments vector unsigned short, 3836 vector unsigned int and vector unsigned long long built-ins. The 3837 name of the builtins for these arguments should be: 3838 __builtin_crypto_vpmsumh, __builtin_crypto_vpmsumw and 3839 __builtin_crypto_vpmsumd respectively. 3840 38412020-02-26 Jason Merrill <jason@redhat.com> 3842 3843 PR c++/92003 3844 * symtab.c (symtab_node::nonzero_address): A DECL_COMDAT decl has 3845 non-zero address even if weak and not yet defined. 3846 38472020-02-26 Jiufu Guo <guojiufu@linux.ibm.com> 3848 3849 PR target/93047 3850 * config/rs6000/rs6000.md (untyped_call): Add emit_clobber. 3851 38522020-02-26 Jakub Jelinek <jakub@redhat.com> 3853 3854 PR tree-optimization/93820 3855 * gimple-ssa-store-merging.c (check_no_overlap): Change RHS_CODE 3856 argument to ALL_INTEGER_CST_P boolean. 3857 (imm_store_chain_info::try_coalesce_bswap): Adjust caller. 3858 (imm_store_chain_info::coalesce_immediate_stores): Likewise. Handle 3859 adjacent INTEGER_CST store into merged_store->only_constants like 3860 overlapping one. 3861 38622020-02-25 Christophe Lyon <christophe.lyon@linaro.org> 3863 3864 Backport from mainline 3865 2020-02-25 Christophe Lyon <christophe.lyon@linaro.org> 3866 3867 * config/arm/arm.md (required_for_purecode): New attribute. 3868 (enabled): Handle required_for_purecode. 3869 * config/arm/thumb1.md (thumb1_movsi_insn): Add alternative to 3870 work with -mpure-code. 3871 38722020-02-25 Christophe Lyon <christophe.lyon@linaro.org> 3873 3874 Backport from mainline 3875 2019-12-17 Christophe Lyon <christophe.lyon@linaro.org> 3876 3877 * config/arm/arm-protos.h (thumb1_gen_const_int): Add new prototype. 3878 * config/arm/arm.c (arm_option_check_internal): Remove restriction 3879 on MOVT for -mpure-code. 3880 (thumb1_gen_const_int): New function. 3881 (thumb1_legitimate_address_p): Support -mpure-code. 3882 (thumb1_rtx_costs): Likewise. 3883 (thumb1_size_rtx_costs): Likewise. 3884 (arm_thumb1_mi_thunk): Likewise. 3885 * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Likewise. 3886 * config/arm/thumb1.md (thumb1_movsi_symbol_ref): New. 3887 (*thumb1_movhf): Support -mpure-code. 3888 * doc/invoke.texi (-mpure-code): Remove restriction on MOVT. 3889 38902020-02-25 Jakub Jelinek <jakub@redhat.com> 3891 3892 PR rtl-optimization/93908 3893 * combine.c (find_split_point): For store into ZERO_EXTRACT, and src 3894 with mask. 3895 38962019-02-25 Eric Botcazou <ebotcazou@adacore.com> 3897 3898 * dwarf2out.c (dwarf2out_size_function): Run in early-DWARF mode. 3899 39002020-02-25 Roman Zhuykov <zhroma@ispras.ru> 3901 3902 Backport from master 3903 2020-02-24 Roman Zhuykov <zhroma@ispras.ru> 3904 3905 * doc/install.texi (--enable-checking): Properly document current 3906 behavior. 3907 (--enable-stage1-checking): Minor clarification about bootstrap. 3908 39092020-02-24 Richard Sandiford <richard.sandiford@arm.com> 3910 3911 Backport from mainline 3912 2020-02-19 Richard Sandiford <richard.sandiford@arm.com> 3913 3914 PR tree-optimization/93767 3915 * tree-vect-data-refs.c (vect_compile_time_alias): Remove the 3916 access-size bias from the offset calculations for negative strides. 3917 39182020-02-24 Bernd Edlinger <bernd.edlinger@hotmail.de> 3919 3920 * collect2.c (tool_cleanup): Avoid calling not signal-safe 3921 functions. 3922 (maybe_run_lto_and_relink): Avoid possible signal handler 3923 access to unintialzed memory (lto_o_files). 3924 39252020-02-23 Peter Bergner <bergner@linux.ibm.com> 3926 3927 Backport from master 3928 2020-02-20 Peter Bergner <bergner@linux.ibm.com> 3929 3930 PR target/93658 3931 * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX 3932 vector modes. 3933 39342020-02-23 Peter Bergner <bergner@linux.ibm.com> 3935 3936 Backport from master 3937 2020-02-05 Michael Meissner <meissner@linux.ibm.com> 3938 3939 PR target/93568 3940 * config/rs6000/rs6000.c (get_vector_offset): Fix Q constraint assert 3941 to use "mem". 3942 3943 Backport from master 3944 2020-02-03 Michael Meissner <meissner@linux.ibm.com> 3945 3946 * config/rs6000/rs6000.c (get_vector_offset): New helper function 3947 to calculate the offset in memory from the start of a vector of a 3948 particular element. Add code to keep the element number in 3949 bounds if the element number is variable. 3950 (rs6000_adjust_vec_address): Move calculation of offset of the 3951 vector element to get_vector_offset. 3952 (rs6000_split_vec_extract_var): Do not do the initial AND of 3953 element here, move the code to get_vector_offset. 3954 39552020-02-23 Peter Bergner <bergner@linux.ibm.com> 3956 3957 Backport from master 3958 2020-01-06 Michael Meissner <meissner@linux.ibm.com> 3959 3960 * config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator): 3961 Use 'Q' for doing vector extract from memory. 3962 (vsx_extract_v4sf_var): Use 'Q' for doing vector extract from 3963 memory. 3964 (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Use 'Q' for 3965 doing vector extract from memory. 3966 (vsx_extract_<mode>_<VS_scalar>mode_var): Use 'Q' for doing vector 3967 extract from memory. 3968 39692020-02-21 John David Anglin <danglin@gcc.gnu.org> 3970 3971 * gcc/config/pa/pa.c (pa_function_value): Fix check for word and 3972 double-word size when handling aggregate return values. 3973 * gcc/config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Fix to indicate 3974 that homogeneous SFmode and DFmode aggregates are passed and returned 3975 in general registers. 3976 39772020-02-20 Uroš Bizjak <ubizjak@gmail.com> 3978 3979 PR target/93828 3980 * config/i386/mmx.md (*vec_extractv2sf_1): Match source operand 3981 to destination operand for shufps alternative. 3982 (*vec_extractv2si_1): Ditto. 3983 39842020-02-20 H.J. Lu <hongjiu.lu@intel.com> 3985 3986 Backport from master 3987 2020-02-13 H.J. Lu <hongjiu.lu@intel.com> 3988 3989 PR target/93656 3990 * config/i386/i386.c (ix86_trampoline_init): Skip ENDBR32 at 3991 the target function entry. 3992 39932020-02-18 Richard Sandiford <richard.sandiford@arm.com> 3994 3995 Backport from mainline 3996 2019-12-05 Richard Sandiford <richard.sandiford@arm.com> 3997 3998 PR middle-end/92768 3999 * tree-core.h (OEP_BITWISE): New flag. 4000 * fold-const.c (operand_compare::operand_equal_p): Handle it. 4001 * tree-vector-builder.h (tree_vector_builder::equal_p): Pass it. 4002 40032020-02-18 Richard Sandiford <richard.sandiford@arm.com> 4004 4005 Backport from mainline 4006 2019-08-09 Richard Sandiford <richard.sandiford@arm.com> 4007 4008 PR middle-end/90313 4009 * tree-tailcall.c (find_tail_calls): Reject calls that might 4010 read from an escaped RESULT_DECL. 4011 40122020-02-18 Richard Sandiford <richard.sandiford@arm.com> 4013 4014 Backport from mainline 4015 2020-01-28 Richard Sandiford <richard.sandiford@arm.com> 4016 4017 PR tree-optimization/93434 4018 * tree-predcom.c (split_data_refs_to_components): Record which 4019 components have had aliasing loads removed. Prevent store-store 4020 commoning for all such components. 4021 40222020-02-18 Richard Sandiford <richard.sandiford@arm.com> 4023 4024 Backport from mainline 4025 2019-11-29 Richard Sandiford <richard.sandiford@arm.com> 4026 4027 PR tree-optimization/92710 4028 * tree-vect-stmts.c (vectorizable_simd_clone_call): Reject 4029 vector mask arguments. 4030 40312020-02-18 Richard Sandiford <richard.sandiford@arm.com> 4032 4033 Backport from mainline 4034 2019-11-11 Richard Sandiford <richard.sandiford@arm.com> 4035 4036 PR tree-optimization/92420 4037 * tree-vect-stmts.c (get_negative_load_store_type): Move further 4038 up file. 4039 (get_group_load_store_type): Use it for reversed SLP accesses. 4040 40412020-02-18 Richard Sandiford <richard.sandiford@arm.com> 4042 4043 Backport from mainline 4044 2019-08-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 4045 4046 PR target/90724 4047 * config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): Force y 4048 in reg if it fails aarch64_plus_operand predicate. 4049 40502020-02-14 Hongtao Liu <hongtao.liu@intel.com> 4051 4052 PR target/93724 4053 * config/i386/avx512vbmi2intrin.h 4054 (_mm512_shrdi_epi16, _mm512_mask_shrdi_epi16, 4055 _mm512_maskz_shrdi_epi16, _mm512_shrdi_epi32, 4056 _mm512_mask_shrdi_epi32, _mm512_maskz_shrdi_epi32, 4057 _m512_shrdi_epi64, _m512_mask_shrdi_epi64, 4058 _m512_maskz_shrdi_epi64, _mm512_shldi_epi16, 4059 _mm512_mask_shldi_epi16, _mm512_maskz_shldi_epi16, 4060 _mm512_shldi_epi32, _mm512_mask_shldi_epi32, 4061 _mm512_maskz_shldi_epi32, _mm512_shldi_epi64, 4062 _mm512_mask_shldi_epi64, _mm512_maskz_shldi_epi64): Fix typo 4063 of lacking a closing parenthesis. 4064 * config/i386/avx512vbmi2vlintrin.h 4065 (_mm256_shrdi_epi16, _mm256_mask_shrdi_epi16, 4066 _mm256_maskz_shrdi_epi16, _mm256_shrdi_epi32, 4067 _mm256_mask_shrdi_epi32, _mm256_maskz_shrdi_epi32, 4068 _m256_shrdi_epi64, _m256_mask_shrdi_epi64, 4069 _m256_maskz_shrdi_epi64, _mm256_shldi_epi16, 4070 _mm256_mask_shldi_epi16, _mm256_maskz_shldi_epi16, 4071 _mm256_shldi_epi32, _mm256_mask_shldi_epi32, 4072 _mm256_maskz_shldi_epi32, _mm256_shldi_epi64, 4073 _mm256_mask_shldi_epi64, _mm256_maskz_shldi_epi64, 4074 _mm_shrdi_epi16, _mm_mask_shrdi_epi16, 4075 _mm_maskz_shrdi_epi16, _mm_shrdi_epi32, 4076 _mm_mask_shrdi_epi32, _mm_maskz_shrdi_epi32, 4077 _mm_shrdi_epi64, _mm_mask_shrdi_epi64, 4078 _m_maskz_shrdi_epi64, _mm_shldi_epi16, 4079 _mm_mask_shldi_epi16, _mm_maskz_shldi_epi16, 4080 _mm_shldi_epi32, _mm_mask_shldi_epi32, 4081 _mm_maskz_shldi_epi32, _mm_shldi_epi64, 4082 _mm_mask_shldi_epi64, _mm_maskz_shldi_epi64): Ditto. 4083 40842020-02-16 Uroš Bizjak <ubizjak@gmail.com> 4085 4086 PR target/93743 4087 * config/i386/i386.md (atan2xf3): Swap operands 1 and 2. 4088 (atan2<mode>3): Update operand order in the call to gen_atan2xf3. 4089 40902020-02-15 Jakub Jelinek <jakub@redhat.com> 4091 4092 PR tree-optimization/93744 4093 * match.pd (((m1 >/</>=/<= m2) * d -> (m1 >/</>=/<= m2) ? d : 0): For 4094 GENERIC, make sure @2 in the first and @1 in the other patterns has no 4095 side-effects. 4096 40972020-02-14 Eric Botcazou <ebotcazou@adacore.com> 4098 4099 PR target/93704 4100 * config/sparc/sparc.c (eligible_for_call_delay): Test HAVE_GNU_LD in 4101 conjunction with TARGET_GNU_TLS in early return. 4102 41032020-02-14 Alexander Monakov <amonakov@ispras.ru> 4104 4105 Backport from mainline 4106 PR rtl-optimization/88879 4107 * sel-sched.c (sel_target_adjust_priority): Remove assert. 4108 41092020-02-14 Richard Biener <rguenther@suse.de> 4110 4111 Backport from mainline 4112 2020-02-05 Richard Biener <rguenther@suse.de> 4113 4114 PR middle-end/90648 4115 * genmatch.c (dt_node::gen_kids_1): Emit number of argument 4116 checks before matching calls. 4117 41182020-02-14 Richard Biener <rguenther@suse.de> 4119 4120 Backport from mainline 4121 2020-01-22 Richard Biener <rguenther@suse.de> 4122 4123 PR tree-optimization/93381 4124 * tree-ssa-structalias.c (find_func_aliases): Assume offsetting 4125 throughout, handle all conversions the same. 4126 41272020-02-14 Richard Biener <rguenther@suse.de> 4128 4129 Backport from mainline 4130 2020-01-28 Richard Biener <rguenther@suse.de> 4131 4132 PR tree-optimization/93439 4133 * tree-parloops.c (create_loop_fn): Move clique bookkeeping... 4134 * tree-cfg.c (move_sese_region_to_fn): ... here. 4135 (verify_types_in_gimple_reference): Verify used cliques are 4136 tracked. 4137 41382020-02-14 Richard Biener <rguenther@suse.de> 4139 4140 Backport from mainline 4141 2020-01-09 Richard Biener <rguenther@suse.de> 4142 4143 PR middle-end/93054 4144 * gimplify.c (gimplify_expr): Deal with NOP definitions. 4145 41462020-02-14 Richard Biener <rguenther@suse.de> 4147 4148 Backport from mainline 4149 2020-01-20 Richard Biener <rguenther@suse.de> 4150 4151 PR debug/92763 4152 * dwarf2out.c (prune_unused_types): Unconditionally mark 4153 called function DIEs. 4154 41552020-02-14 Richard Biener <rguenther@suse.de> 4156 4157 Backport from mainline 4158 2019-11-29 Richard Biener <rguenther@suse.de> 4159 4160 PR tree-optimization/92704 4161 * tree-if-conv.c (combine_blocks): Deal with virtual PHIs 4162 in loops performing only loads. 4163 41642020-02-14 Richard Biener <rguenther@suse.de> 4165 4166 Backport from mainline 4167 2019-11-27 Richard Biener <rguenther@suse.de> 4168 4169 PR middle-end/92674 4170 * tree-inline.c (expand_call_inline): Delay purging EH/abnormal 4171 edges and instead record blocks in bitmap. 4172 (gimple_expand_calls_inline): Adjust. 4173 (fold_marked_statements): Delay EH cleanup until all folding is 4174 done. 4175 (optimize_inline_calls): Do EH/abnormal cleanup for calls after 4176 inlining finished. 4177 41782020-02-13 Jakub Jelinek <jakub@redhat.com> 4179 4180 PR target/93696 4181 * config/i386/avx512bitalgintrin.h (_mm512_mask_popcnt_epi8, 4182 _mm512_mask_popcnt_epi16, _mm256_mask_popcnt_epi8, 4183 _mm256_mask_popcnt_epi16, _mm_mask_popcnt_epi8, 4184 _mm_mask_popcnt_epi16): Rename __B argument to __A and __A to __W, 4185 pass __A to the builtin followed by __W instead of __A followed by 4186 __B. 4187 * config/i386/avx512vpopcntdqintrin.h (_mm512_mask_popcnt_epi32, 4188 _mm512_mask_popcnt_epi64): Likewise. 4189 * config/i386/avx512vpopcntdqvlintrin.h (_mm_mask_popcnt_epi32, 4190 _mm256_mask_popcnt_epi32, _mm_mask_popcnt_epi64, 4191 _mm256_mask_popcnt_epi64): Likewise. 4192 4193 PR target/93673 4194 * config/i386/sse.md (k<code><mode>): Drop mode from last operand and 4195 use const_0_to_255_operand predicate instead of immediate_operand. 4196 (avx512dq_fpclass<mode><mask_scalar_merge_name>, 4197 avx512dq_vmfpclass<mode><mask_scalar_merge_name>, 4198 vgf2p8affineinvqb_<mode><mask_name>, 4199 vgf2p8affineqb_<mode><mask_name>): Drop mode from 4200 const_0_to_255_operand predicated operands. 4201 4202 Backported from mainline 4203 2020-02-12 Jakub Jelinek <jakub@redhat.com> 4204 4205 PR target/93670 4206 * config/i386/sse.md (VI48F_256_DQ): New mode iterator. 4207 (avx512vl_vextractf128<mode>): Use it instead of VI48F_256. Remove 4208 TARGET_AVX512DQ from condition. 4209 (vec_extract_lo_<mode><mask_name>): Use <mask_avx512dq_condition> 4210 instead of <mask_mode512bit_condition> in condition. If 4211 TARGET_AVX512DQ is false, emit vextract*64x4 instead of 4212 vextract*32x8. 4213 (vec_extract_lo_<mode><mask_name>): Drop <mask_avx512dq_condition> 4214 from condition. 4215 4216 2020-02-10 Jakub Jelinek <jakub@redhat.com> 4217 4218 PR target/93637 4219 * config/i386/sse.md (VI_256_AVX2): New mode iterator. 4220 (vcond_mask_<mode><sseintvecmodelower>): Use it instead of VI_256. 4221 Change condition from TARGET_AVX2 to TARGET_AVX. 4222 4223 2020-02-08 Uroš Bizjak <ubizjak@gmail.com> 4224 Jakub Jelinek <jakub@redhat.com> 4225 4226 PR target/65782 4227 * config/i386/i386.h (CALL_USED_REGISTERS): Make 4228 xmm16-xmm31 call-used even in 64-bit ms-abi. 4229 4230 2020-02-06 Jakub Jelinek <jakub@redhat.com> 4231 4232 PR libgomp/93515 4233 * omp-low.c (use_pointer_for_field): For nested constructs, also 4234 look for map clauses on target construct. 4235 (scan_omp_1_stmt) <case GIMPLE_OMP_TARGET>: Bump temporarily 4236 taskreg_nesting_level. 4237 4238 PR libgomp/93515 4239 * gimplify.c (gimplify_scan_omp_clauses) <do_notice>: If adding 4240 shared clause, call omp_notice_variable on outer context if any. 4241 4242 2020-02-05 Jakub Jelinek <jakub@redhat.com> 4243 4244 PR middle-end/93555 4245 * omp-simd-clone.c (expand_simd_clones): If simd_clone_mangle or 4246 simd_clone_create failed when i == 0, adjust clone->nargs by 4247 clone->inbranch. 4248 4249 2020-01-30 Jakub Jelinek <jakub@redhat.com> 4250 4251 PR middle-end/93505 4252 * combine.c (simplify_comparison) <case ROTATE>: Punt on out of range 4253 rotate counts. 4254 4255 2020-01-28 Jakub Jelinek <jakub@redhat.com> 4256 4257 PR target/93418 4258 * config/i386/i386.c (ix86_fold_builtin) <do_shift>: If mask is not 4259 -1 or is_vshift is true, use new_vector with number of elts npatterns 4260 rather than new_unary_operation. 4261 4262 2020-01-23 Jakub Jelinek <jakub@redhat.com> 4263 4264 PR rtl-optimization/93402 4265 * postreload.c (reload_combine_recognize_pattern): Don't try to adjust 4266 USE insns. 4267 42682020-02-11 Tamar Christina <tamar.christina@arm.com> 4269 4270 Backport from mainline 4271 2020-01-31 Tamar Christina <tamar.christina@arm.com> 4272 4273 PR rtl-optimization/91838 4274 * simplify-rtx.c (simplify_binary_operation_1): Update LSHIFTRT case 4275 to truncate if allowed or reject combination. 4276 42772020-02-07 H.J. Lu <hongjiu.lu@intel.com> 4278 4279 Backport from mainline 4280 2020-02-07 H.J. Lu <hongjiu.lu@intel.com> 4281 4282 PR target/85667 4283 * config/i386/i386.c (function_arg_ms_64): Add a type argument. 4284 Don't return aggregates with only SFmode and DFmode in SSE 4285 register. 4286 (ix86_function_arg): Pass type to function_arg_ms_64. 4287 42882020-01-30 John David Anglin <danglin@gcc.gnu.org> 4289 4290 * config/pa/pa.c (pa_elf_select_rtx_section): Place function pointers 4291 without a DECL in .data.rel.ro.local. 4292 42932020-01-30 Kito Cheng <kito.cheng@sifive.com> 4294 4295 Backport from mainline 4296 2020-01-21 Kito Cheng <kito.cheng@sifive.com> 4297 4298 PR target/93304 4299 * config/riscv/riscv-protos.h (riscv_hard_regno_rename_ok): New. 4300 * config/riscv/riscv.c (riscv_hard_regno_rename_ok): New. 4301 * config/riscv/riscv.h (HARD_REGNO_RENAME_OK): Defined. 4302 43032020-01-29 Szabolcs Nagy <szabolcs.nagy@arm.com> 4304 4305 Backport from mainline 4306 2020-01-21 Szabolcs Nagy <szabolcs.nagy@arm.com> 4307 4308 PR target/92424 4309 * config/aarch64/aarch64.c (aarch64_declare_function_name): Set 4310 cfun->machine->label_is_assembled. 4311 (aarch64_print_patchable_function_entry): New. 4312 (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY): Define. 4313 * config/aarch64/aarch64.h (struct machine_function): New field, 4314 label_is_assembled. 4315 43162020-01-27 Wilco Dijkstra <wdijkstr@arm.com> 4317 4318 PR target/92692 4319 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap) 4320 Add assert to ensure prolog has been emitted. 4321 (aarch64_split_atomic_op): Likewise. 4322 * config/aarch64/atomics.md (aarch64_compare_and_swap<mode>) 4323 Use epilogue_completed rather than reload_completed. 4324 (aarch64_atomic_exchange<mode>): Likewise. 4325 (aarch64_atomic_<atomic_optab><mode>): Likewise. 4326 (atomic_nand<mode>): Likewise. 4327 (aarch64_atomic_fetch_<atomic_optab><mode>): Likewise. 4328 (atomic_fetch_nand<mode>): Likewise. 4329 (aarch64_atomic_<atomic_optab>_fetch<mode>): Likewise. 4330 (atomic_nand_fetch<mode>): Likewise. 4331 43322020-01-22 Jakub Jelinek <jakub@redhat.com> 4333 4334 PR target/93335 4335 * config/aarch64/aarch64.c (aarch64_expand_subvti): Only use 4336 gen_subdi3_compare1_imm if low_in2 satisfies aarch64_plus_immediate 4337 predicate, not whenever it is CONST_INT. Otherwise, force_reg it. 4338 Call force_reg on high_in2 unconditionally. 4339 4340 PR target/91298 4341 * output.h (assemble_name_resolve): Declare. 4342 * varasm.c (assemble_name_resolve): New function. 4343 (assemble_name): Use it. 4344 * config/i386/i386.h (ASM_OUTPUT_SYMBOL_REF): Define. 4345 4346 Backported from mainline 4347 2020-01-21 Jakub Jelinek <jakub@redhat.com> 4348 4349 PR target/93333 4350 * config/riscv/riscv.c (riscv_rtx_costs) <case ZERO_EXTRACT>: Verify 4351 the last two operands are CONST_INT_P before using them as such. 4352 4353 PR target/93073 4354 * config/rs6000/rs6000.c (rs6000_emit_cmove): If using fsel, punt for 4355 compare_mode other than SFmode or DFmode. 4356 4357 2020-01-15 Jakub Jelinek <jakub@redhat.com> 4358 4359 PR target/93009 4360 * config/i386/sse.md 4361 (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_1, 4362 *<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_1, 4363 *<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_1, 4364 *<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_1): Use 4365 just a single alternative instead of two, make operands 1 and 2 4366 commutative. 4367 4368 2020-01-09 Jakub Jelinek <jakub@redhat.com> 4369 4370 PR inline-asm/93202 4371 * config/riscv/riscv.c (riscv_print_operand_reloc): Use 4372 output_operand_lossage instead of gcc_unreachable. 4373 * doc/md.texi (riscv f constraint): Fix typo. 4374 4375 2020-01-03 Jakub Jelinek <jakub@redhat.com> 4376 4377 PR rtl-optimization/93088 4378 * loop-iv.c (find_single_def_src): Punt after looking through 4379 128 reg copies for regs with single definitions. Move definitions 4380 to first uses. 4381 4382 2020-01-02 Jakub Jelinek <jakub@redhat.com> 4383 4384 PR ipa/93087 4385 * predict.c (compute_function_frequency): Don't call 4386 warn_function_cold on functions that already have cold attribute. 4387 43882020-01-20 Richard Biener <rguenther@suse.de> 4389 4390 Backport from mainline 4391 PR middle-end/93246 4392 * alias.c (record_component_aliases): Take superset to record 4393 into, recurse for alias-set zero fields. 4394 (record_component_aliases): New oveerload wrapping around the above. 4395 43962020-01-19 Eric S. Raymond <esr@thyrsus.com> 4397 Sandra Loosemore <sandra@codesourcery.com> 4398 4399 Backport from mainline: 4400 4401 2020-01-19 Eric S. Raymond <esr@thyrsus.com> 4402 4403 * doc/contribute.texi: Update for SVN -> Git transition. 4404 * doc/install.texi: Likewise. 4405 44062020-01-15 Uroš Bizjak <ubizjak@gmail.com> 4407 4408 PR target/93254 4409 * config/i386/i386.md (*movsf_internal): Require SSE2 ISA for 4410 alternatives 9 and 10. Do not require SSE2 ISA for alternatives 4411 14 and 15. 4412 44132020-01-14 Martin Jambor <mjambor@suse.cz> 4414 4415 Backport from mainline 4416 2020-01-13 Martin Jambor <mjambor@suse.cz> 4417 4418 PR ipa/93223 4419 * ipa-cp.c (devirtualization_time_bonus): Check whether isummary is 4420 NULL. 4421 44222020-01-10 Martin Jambor <mjambor@suse.cz> 4423 4424 Backport from mainline 4425 2019-12-17 Martin Jambor <mjambor@suse.cz> 4426 4427 PR ipa/92971 4428 * Ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Fix 4429 definition of values, release memory on exit. 4430 44312020-01-10 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> 4432 4433 Backport from trunk 4434 PR target/93188 4435 * config/arm/t-multilib (MULTILIB_MATCHES): Add rules to match 4436 armv7-a{+mp,+sec,+mp+sec} to appropriate armv7 multilib variants 4437 when only building rm-profile multilibs. 4438 44392020-01-10 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> 4440 4441 Backport from trunk 4442 * config/arm/t-multilib: Use arm->thumb multilib reuse rules 4443 on a-profile. 4444 44452020-01-09 Martin Liska <mliska@suse.cz> 4446 4447 Backport from mainline 4448 2019-12-12 Jan Hubicka <hubicka@ucw.cz> 4449 4450 * ipa-prop.c (read_ipcp_transformation_info): Fix undefined ordering 4451 of execution of function call parameters. 4452 44532020-01-08 Georg-Johann Lay <avr@gjlay.de> 4454 4455 Backport from 2020-01-08 trunk r279995. 4456 4457 Add -nodevicespecs option for avr. 4458 4459 PR target/93182 4460 * config/avr/avr.opt (-nodevicespecs): New driver option. 4461 * config/avr/driver-avr.c (avr_devicespecs_file): Only issue 4462 "-specs=device-specs/..." if that option is not set. 4463 * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document. 4464 44652020-01-06 John David Anglin <danglin@gcc.gnu.org> 4466 4467 * config/pa/pa.md: Revert change to use ordered_comparison_operator 4468 instead of cmpib_comparison_operator in cmpib patterns. 4469 * config/pa/predicates.md (cmpib_comparison_operator): Revert removal 4470 of cmpib_comparison_operator. Revise comment. 4471 44722020-01-01 John David Anglin <danglin@gcc.gnu.org> 4473 4474 PR target/67834 4475 * config/pa/pa.c (pa_elf_select_rtx_section): New. Put references to 4476 COMDAT group function labels in .data.rel.ro.local section. 4477 * config/pa/pa32-linux.h (TARGET_ASM_SELECT_RTX_SECTION): Define. 4478 4479 PR target/93111 4480 * config/pa/pa.md (scc): Use ordered_comparison_operator instead of 4481 comparison_operator in B and S integer comparisons. Likewise, use 4482 ordered_comparison_operator instead of cmpib_comparison_operator in 4483 cmpib patterns. 4484 * config/pa/predicates.md (cmpib_comparison_operator): Remove. 4485 44862019-12-25 Iain Sandoe <iain@sandoe.co.uk> 4487 4488 Backport from mainline. 4489 2019-12-14 Iain Sandoe <iain@sandoe.co.uk> 4490 4491 * config/darwin.h (DARWIN_EXTRA_SPECS): Add new 4492 bundle spec. (DARWIN_BUNDLE1_SPEC): New. 4493 (STARTFILE_SPEC): Use darwin bundle spec. 4494 * config/rs6000/darwin.h (DARWIN_BUNDLE1_SPEC): New. 4495 (DARWIN_DYLIB1_SPEC): Delete duplicate. 4496 44972019-12-20 Jakub Jelinek <jakub@redhat.com> 4498 4499 PR fortran/92756 4500 * omp-low.c (check_omp_nesting_restrictions): If lang_GNU_Fortran, 4501 diagnose teams not closely nested inside of target. 4502 4503 Backported from mainline 4504 2019-12-14 Jakub Jelinek <jakub@redhat.com> 4505 4506 PR ipa/92357 4507 * ipa-fnsummary.c (ipa_fn_summary_write): Use 4508 lto_symtab_encoder_iterator with lsei_start_function_in_partition and 4509 lsei_next_function_in_partition instead of walking all cgraph nodes 4510 in encoder. 4511 4512 PR tree-optimization/92930 4513 * ipa-pure-const.c (special_builtin_state): Don't handle 4514 BUILT_IN_APPLY. 4515 4516 2019-12-12 Jakub Jelinek <jakub@redhat.com> 4517 4518 PR target/92904 4519 * config/i386/i386.c (ix86_gimplify_va_arg): If need_intregs and 4520 not need_temp, decrease alignment of the read because the GPR save 4521 area only guarantees 8-byte alignment. 4522 4523 2019-12-11 Jakub Jelinek <jakub@redhat.com> 4524 4525 PR target/92723 4526 * tree-vect-patterns.c (vect_recog_rotate_pattern): If dt is not 4527 vect_internal_def, use oprnd1 as is, without trying to cast it. 4528 Formatting fix. 4529 4530 2019-11-27 Jakub Jelinek <jakub@redhat.com> 4531 4532 PR debug/92664 4533 * dwarf2out.c (lookup_filename): Use "<stdin>" instead of "". 4534 4535 2019-11-26 Jakub Jelinek <jakub@redhat.com> 4536 4537 PR tree-optimization/92644 4538 * tree-ssa-phiopt.c (minmax_replacement): Add INTEGRAL_TYPE_P check 4539 next to INTEGER_CST checks. 4540 4541 2019-11-23 Jakub Jelinek <jakub@redhat.com> 4542 4543 PR target/92615 4544 * config/i386/i386.c (ix86_md_asm_adjust): If dest_mode is 4545 GET_MODE (dest), is not QImode, using ZERO_EXTEND and dest is not 4546 register_operand, force x into register before storing it into dest. 4547 Formatting fix. 4548 45492019-12-20 Roman Zhuykov <zhroma@ispras.ru> 4550 4551 Backport from mainline 4552 2019-12-13 Roman Zhuykov <zhroma@ispras.ru> 4553 4554 PR rtl-optimization/92591 4555 * modulo-sched.c (ps_add_node_check_conflicts): Improve checking 4556 for history > 0 case. 4557 * params.def (sms-dfa-history): Limit to 16. 4558 45592019-12-19 Georg-Johann Lay <avr@gjlay.de> 4560 4561 Backport support for some AVR devices from avrxmega3 family 4562 from SVN trunk r279309, r278387, r278389, r278478. 4563 4564 PR target/92545 4565 * config/avr/avr-arch.h (avr_mcu_t) <flash_pm_offset>: New field. 4566 * config/avr/avr-devices.c (avr_mcu_types): Adjust initializers. 4567 * config/avr/avr-mcus.def (AVR_MCU): Add respective field. 4568 * config/avr/gen-avr-mmcu-specs.c (print_mcu) 4569 <*cpp, *cpp_mcu, *cpp_avrlibc, *link_pm_base_address>: Emit code 4570 for spec definitions. 4571 * config/avr/gen-avr-mmcu-texi.c: Rewrite. 4572 * doc/avr-mmcu.texi: Regenerate. 4573 45742019-12-17 Andreas Krebbel <krebbel@linux.ibm.com> 4575 4576 Backport from mainline 4577 2019-12-16 Andreas Krebbel <krebbel@linux.ibm.com> 4578 4579 PR target/92950 4580 * config/s390/vector.md ("mov<mode>" for V_8): Replace lh, lhy, 4581 and lhrl with llc. 4582 45832019-12-12 Vineet Gupta <vgupta@synopsys.com> 4584 4585 Backport from mainline 4586 * config/arc/arc-modes.def (CC_FPUE): New Mode CC_FPUE which 4587 helps codegen generate exceptions even for quiet NaN. 4588 * config/arc/arc.c (arc_init_reg_tables): Handle New CC_FPUE mode. 4589 (get_arc_condition_code): Likewise. 4590 (arc_select_cc_mode): LT, LE, GT, GE to use the New CC_FPUE mode. 4591 * config/arc/arc.h (REVERSE_CONDITION): Handle New CC_FPUE mode. 4592 * config/arc/predicates.md (proper_comparison_operator): Likewise. 4593 * config/arc/fpu.md (cmpsf_fpu_trap): New Pattern for CC_FPUE. 4594 (cmpdf_fpu_trap): Likewise. 4595 45962019-12-12 Claudiu Zissulescu <claziss@synopsys.com> 4597 4598 Backport from mainline 4599 * config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE. 4600 (cstoredi4): Use TARGET_HARD_FLOAT. 4601 46022019-12-10 Kewen Lin <linkw@gcc.gnu.org> 4603 4604 Backport from mainline 4605 2019-11-27 Kewen Lin <linkw@gcc.gnu.org> 4606 4607 PR tree-optimization/91790 4608 * gcc/tree-vect-stmts.c (vectorizable_load): Use the adjusted DR for 4609 vect_setup_realignment when first_stmt_info is different from 4610 first_stmt_info_for_drptr. 4611 46122019-12-09 Eric Botcazou <ebotcazou@adacore.com> 4613 4614 * tree.c (build_array_type_1): Add SET_CANONICAL parameter and compute 4615 TYPE_CANONICAL from the element type only if it is true. Remove a few 4616 obsolete lines and adjust recursive call. 4617 (fld_process_array_type): Adjust call to build_array_type_1. 4618 (build_array_type): Likewise. 4619 (build_nonshared_array_type): Likewise. 4620 46212019-12-02 Sandra Loosemore <sandra@codesourcery.com> 4622 4623 Fix bugs relating to flexibly-sized objects in nios2 backend. 4624 4625 PR target/92499 4626 * config/nios2/nios2.c (nios2_in_small_data_p): Do not consider 4627 objects of flexible types to be small if they have internal linkage 4628 or are declared extern. 4629 * config/nios2/nios2.h (ASM_OUTPUT_ALIGNED_LOCAL): Replace with... 4630 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): ...this. Use targetm.in_small_data_p 4631 instead of the size of the object initializer. 4632 * tree.c (flexible_array_type_p): Move from C front end, and 4633 generalize to handle fields in non-C structures. 4634 * tree.h (flexible_array_type_p): Declare. 4635 46362019-12-02 Li Jia He <helijia@linux.ibm.com> 4637 4638 Partial backport from mainline 4639 PR target/92098 4640 2019-11-08 Kewen Lin <linkw@gcc.gnu.org> 4641 4642 PR target/92132 4643 * config/rs6000/predicates.md 4644 (signed_or_equality_comparison_operator): New predicate. 4645 (unsigned_or_equality_comparison_operator): Likewise. 4646 * config/rs6000/rs6000.md (one_cmpl<mode>2): Remove expand. 4647 (one_cmpl<mode>3_internal): Rename to one_cmpl<mode>2. 4648 * config/rs6000/vector.md 4649 (vcond_mask_<mode><mode> for VEC_I and VEC_I): New expand. 4650 (vec_cmp<mode><mode> for VEC_I and VEC_I): Likewise. 4651 (vec_cmpu<mode><mode> for VEC_I and VEC_I): Likewise. 4652 46532019-11-27 Richard Biener <rguenther@suse.de> 4654 4655 Backport from mainline 4656 2019-10-25 Richard Biener <rguenther@suse.de> 4657 4658 PR tree-optimization/92222 4659 * tree-vect-slp.c (_slp_oprnd_info::first_pattern): Remove. 4660 (_slp_oprnd_info::second_pattern): Likewise. 4661 (_slp_oprnd_info::any_pattern): New. 4662 (vect_create_oprnd_info): Adjust. 4663 (vect_get_and_check_slp_defs): Compute whether any stmt is 4664 in a pattern. 4665 (vect_build_slp_tree_2): Avoid building up a node from scalars 4666 if any of the operand defs, not just the first, is in a pattern. 4667 46682019-11-21 Jakub Jelinek <jakub@redhat.com> 4669 4670 PR tree-optimization/91355 4671 * tree-ssa-sink.c (select_best_block): Use >= rather than > 4672 for early_bb scaled count with best_bb count comparison. 4673 46742019-11-21 Richard Biener <rguenther@suse.de> 4675 4676 Revert 4677 2019-09-17 Richard Biener <rguenther@suse.de> 4678 4679 PR tree-optimization/91790 4680 * tree-vect-stmts.c (vectorizable_load): For BB vectorization 4681 use the correct DR for setting up realignment. 4682 46832019-11-20 Peter Bergner <bergner@linux.ibm.com> 4684 4685 Backport from mainline 4686 2019-11-07 Peter Bergner <bergner@linux.ibm.com> 4687 4688 PR other/92090 4689 * config/rs6000/predicates.md (input_operand): Allow MODE_PARTIAL_INT 4690 modes for integer constants. 4691 46922019-11-20 Michael Matz <matz@suse.de> 4693 4694 Backport from mainline 4695 PR middle-end/90796 4696 * gimple-loop-jam.c (any_access_function_variant_p): New function. 4697 (adjust_unroll_factor): Use it to constrain safety, new parameter. 4698 (tree_loop_unroll_and_jam): Adjust call and profitable unroll factor. 4699 47002019-11-20 Joseph Myers <joseph@codesourcery.com> 4701 4702 * doc/invoke.texi (-Wc11-c2x-compat): Document. 4703 47042019-11-20 Jakub Jelinek <jakub@redhat.com> 4705 4706 PR middle-end/90840 4707 * expmed.c (store_bit_field_1): Handle the case where op0 is not a MEM 4708 and has a mode that doesn't have corresponding integral type. 4709 4710 PR target/90867 4711 * config/i386/i386.c (ix86_valid_target_attribute_tree): Don't 4712 clear opts->x_ix86_isa_flags{,2} here... 4713 (ix86_valid_target_attribute_inner_p): ... but here when seeing 4714 arch=. Also clear opts->x_ix86_isa_flags{,2}_explicit. 4715 4716 PR c/90898 4717 * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Remove 4718 assertion. 4719 (insert_clobbers_for_var): Fix a typo in function comment. 4720 47212019-11-19 Jakub Jelinek <jakub@redhat.com> 4722 4723 PR middle-end/91450 4724 * internal-fn.c (expand_mul_overflow): For s1 * s2 -> ur, if one 4725 operand is negative and one non-negative, compare the non-negative 4726 one against 0 rather than comparing s1 & s2 against 0. Otherwise, 4727 don't compare (s1 & s2) == 0, but compare separately both s1 == 0 4728 and s2 == 0, unless one of them is known to be negative. Remove 4729 tem2 variable, use tem where tem2 has been used before. 4730 47312019-11-19 Eric Botcazou <ebotcazou@adacore.com> 4732 4733 * doc/invoke.texi (-gno-internal-reset-location-views): Fix typo. 4734 47352019-11-18 Segher Boessenkool <segher@kernel.crashing.org> 4736 4737 Backport from trunk 4738 2019-11-12 Segher Boessenkool <segher@kernel.crashing.org> 4739 4740 * config/rs6000/rs6000.md (rs6000_set_fpscr_drn): Use ULL on big 4741 hexadecimal literal. 4742 47432019-11-15 Tamar Christina <tamar.christina@arm.com> 4744 4745 Backport from mainline 4746 2019-09-24 Stamatis Markianos-Wright <stam.markianos-wright@arm.com> 4747 4748 * config/aarch64/aarch64-option-extensions.def (fp16fml): 4749 Update hwcap string for fp16fml. 4750 47512019-11-15 Ilya Leoshkevich <iii@linux.ibm.com> 4752 4753 Backport from mainline 4754 PR rtl-optimization/92430 4755 * cfgcleanup.c (pass_jump_after_combine::gate): New function. 4756 (pass_jump_after_combine::execute): Free 4757 dominance info at the beginning. 4758 47592019-11-13 Claudiu Zissulescu <claziss@gmail.com> 4760 4761 Backport from mainline 4762 * config/arc/arc.md (movsi_ne): Reorder instruction variants and 4763 use new register constraint letters. 4764 * config/arc/arc.c (arc_legitimize_pic_address): Consider UNSPECs 4765 as well, if interesting recover the symbol and re-legitimize the 4766 pic address. 4767 47682019-11-14 Martin Liska <mliska@suse.cz> 4769 4770 Backport from mainline 4771 2019-11-14 Martin Liska <mliska@suse.cz> 4772 4773 PR target/92389 4774 * config/i386/i386.h: Add PTA_AVX512VPOPCNTDQ to 4775 PTA_ICELAKE_CLIENT which is later interited by 4776 PTA_ICELAKE_SERVER and PTA_TIGERLAKE. 4777 47782019-11-13 Dragan Mladjenovic <dmladjenovic@wavecomp.com> 4779 4780 Backport from mainline 4781 * config/mips/mips.md (rotr<mode>3): Sanitize the constant argument 4782 instead of asserting its value. 4783 47842019-11-11 Richard Biener <rguenther@suse.de> 4785 4786 Backport from mainline 4787 2019-06-25 Richard Biener <rguenther@suse.de> 4788 4789 PR tree-optimization/90930 4790 * tree-ssa-reassoc.c (reassociate_bb): Only rewrite expression 4791 into parallel form in the last pass instance. 4792 47932019-11-11 H.J. Lu <hjl.tools@gmail.com> 4794 4795 Backport from trunk: 4796 PR target/87833 4797 * config/i386/intelmic-mkoffload.c (prepare_target_image): Put 4798 -fPIC and -shared the last to create offload image. 4799 48002019-11-11 Thomas Schwinge <thomas@codesourcery.com> 4801 4802 Backport from trunk: 4803 * gimplify.c (gimplify_scan_omp_clauses): Assert 'offset2' instead 4804 of 'offset'. 4805 4806 Backport from trunk: 4807 * Makefile.in (LANG_CONFIGUREFRAGS): Define. 4808 (config.status): Use/depend on it. 4809 * configure.ac (all_lang_configurefrags): Track, 'AC_SUBST'. 4810 * configure: Regenerate. 4811 48122019-11-09 John David Anglin <danglin@gcc.gnu.org> 4813 4814 Backport from mainline 4815 2019-11-07 John David Anglin <danglin@gcc.gnu.org> 4816 4817 * config/pa/pa.md (memory_barrier): Revise to use ldcw barriers. 4818 Enhance comment. 4819 (memory_barrier_coherent, memory_barrier_64, memory_barrier_32): New 4820 insn patterns using ldcw instruction. 4821 (memory_barrier): Remove insn pattern using sync instruction. 4822 * config/pa/pa.opt (coherent-ldcw): New option. 4823 (ordered): New option. 4824 48252019-11-08 Jakub Jelinek <jakub@redhat.com> 4826 4827 PR c++/92384 4828 * function.c (assign_parm_setup_block, assign_parm_setup_stack): Don't 4829 copy TYPE_EMPTY_P arguments from data->entry_parm to data->stack_parm 4830 slot. 4831 (assign_parms): For TREE_ADDRESSABLE parms with TYPE_EMPTY_P type 4832 force creation of a unique data.stack_parm slot. 4833 4834 Backported from mainline 4835 2019-10-31 Jakub Jelinek <jakub@redhat.com> 4836 4837 PR middle-end/92231 4838 * tree.h (fndecl_built_in_p): Use fndecl_built_in_p instead of 4839 DECL_BUILT_IN in comment. Remove redundant ()s around return 4840 argument. 4841 * tree.c (free_lang_data_in_decl): Check if var is FUNCTION_DECL 4842 before calling fndecl_built_in_p. 4843 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Check if 4844 TREE_OPERAND (fn, 0) is a FUNCTION_DECL before calling 4845 fndecl_built_in_p on it. 4846 4847 PR c++/90947 4848 * tree.h (type_initializer_zero_p): Remove. 4849 * tree.c (type_initializer_zero_p): Remove. 4850 4851 2019-10-29 Jakub Jelinek <jakub@redhat.com> 4852 4853 * doc/install.texi (--enable-offload-targets): Fix up a typo in the 4854 example, use actual names of supported offload targets. 4855 48562019-11-08 Eric Botcazou <ebotcazou@adacore.com> 4857 4858 PR target/92095 4859 * config/sparc/sparc-protos.h (output_load_pcrel_sym): Declare. 4860 * config/sparc/sparc.c (sparc_cannot_force_const_mem): Revert latest 4861 change. 4862 (got_helper_needed): New static variable. 4863 (output_load_pcrel_sym): New function. 4864 (get_pc_thunk_name): Remove after inlining... 4865 (load_got_register): ...here. Rework the initialization of the GOT 4866 register and of the GOT helper. 4867 (save_local_or_in_reg_p): Test the REGNO of the GOT register. 4868 (sparc_file_end): Test got_helper_needed to decide whether the GOT 4869 helper must be emitted. Use output_asm_insn instead of fprintf. 4870 (sparc_init_pic_reg): In PIC mode, always initialize the PIC register 4871 if optimization is enabled. 4872 * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Emit the assembly 4873 by calling output_load_pcrel_sym. 4874 48752019-11-06 Ilya Leoshkevich <iii@linux.ibm.com> 4876 4877 Backport from mainline 4878 * config/s390/s390.c (s390_canonicalize_comparison): Use XEXP 4879 (*op0, 1) instead of XEXP (*op1, 0). 4880 48812019-11-05 Segher Boessenkool <segher@kernel.crashing.org> 4882 4883 Backport from trunk 4884 2019-10-24 Segher Boessenkool <segher@kernel.crashing.org> 4885 4886 * config/rs6000/altivec.md (altivec_vavgu<VI_char>): Rename to... 4887 (uavg<mode>3_ceil): ... This. 4888 (altivec_vavgs<VI_char>): Rename to... 4889 (avg<mode>3_ceil): ... This. 4890 * config/rs6000/rs6000-builtin.def (VAVGUB, VAVGSB, VAVGUH, VAVGSH, 4891 VAVGUW, VAVGSW): Adjust. 4892 48932019-11-05 Segher Boessenkool <segher@kernel.crashing.org> 4894 4895 Backport from trunk 4896 2019-10-26 Segher Boessenkool <segher@kernel.crashing.org> 4897 4898 PR target/91289 4899 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't add an 4900 immediate to r0; use r11 instead. Save and restore r11 to r0 around 4901 this. 4902 49032019-11-05 Andreas Krebbel <krebbel@linux.ibm.com> 4904 4905 Backport from mainline 4906 2019-11-05 Andreas Krebbel <krebbel@linux.ibm.com> 4907 4908 * config/s390/s390.c (s390_vector_alignment): Check if the value 4909 fits into uhwi before using it. 4910 49112019-11-01 John David Anglin <danglin@gcc.gnu.org> 4912 4913 Backport from mainline 4914 2019-10-03 John David Anglin <danglin@gcc.gnu.org> 4915 4916 * config/pa/pa.c (pa_output_call): Remove 64-bit sibcall sequence. 4917 (pa_attr_length_call): Adjust length for 64-bit plabel sequence. 4918 49192019-11-01 John David Anglin <danglin@gcc.gnu.org> 4920 4921 Backport from mainline 4922 2019-10-03 John David Anglin <danglin@gcc.gnu.org> 4923 4924 * config/pa/pa.h (MAX_PCREL17F_OFFSET): Adjust. 4925 49262019-10-30 Iain Sandoe <iain@sandoe.co.uk> 4927 4928 Backport from mainline 4929 2019-10-13 Iain Sandoe <iain@sandoe.co.uk> 4930 4931 * config/darwin.c (machopic_indirection_name): Rework the 4932 function to emit linker-visible symbols only for indirections 4933 in the data section. Clean up the code and update comments. 4934 49352019-10-30 Iain Sandoe <iain@sandoe.co.uk> 4936 4937 Backport from mainline 4938 2019-10-09 Iain Sandoe <iain@sandoe.co.uk> 4939 4940 * config/darwin.c (darwin_override_options): Make the check for 4941 Objective-C ABI version more specific for 64bit code. 4942 4943 Backport from mainline 4944 2019-10-06 Iain Sandoe <iain@sandoe.co.uk> 4945 4946 * config/darwin.c (darwin_override_options): Adjust objective-c 4947 ABI version error messages to avoid punctuation and contracted 4948 negations. 4949 49502019-10-30 Iain Sandoe <iain@sandoe.co.uk> 4951 4952 Backport from mainline 4953 2019-07-03 Iain Sandoe <iain@sandoe.co.uk> 4954 4955 * config/darwin.h (REAL_LIBGCC_SPEC): Adjust for earlier Darwin. 4956 (STARTFILE_SPEC): Split crt3 into a separate spec. 4957 (DARWIN_EXTRA_SPECS): Add crt2 and crt3 spec. 4958 (DARWIN_CRT2_SPEC): New. 4959 (DARWIN_CRT3_SPEC): New. 4960 (MIN_LD64_OMIT_STUBS): Revise to 62.1. 4961 * config/rs6000/darwin.h (DARWIN_CRT2_SPEC): Revise conditions. 4962 (DARWIN_CRT3_SPEC): New. 4963 49642019-10-30 Iain Sandoe <iain@sandoe.co.uk> 4965 4966 Backport from mainline 4967 2019-06-27 Iain Sandoe <iain@sandoe.co.uk> 4968 4969 * config/rs6000/darwin.h (ENDFILE_SPEC): Correct whitespace in the 4970 spec. 4971 4972 Backport from mainline 4973 2019-06-25 Iain Sandoe <iain@sandoe.co.uk> 4974 4975 * config/rs6000/darwin.h (ENDFILE_SPEC): New. 4976 49772019-10-30 Iain Sandoe <iain@sandoe.co.uk> 4978 4979 Backport from mainline 4980 2019-06-18 Iain Sandoe <iain@sandoe.co.uk> 4981 4982 * config/darwin.c (darwin_emit_unwind_label): New. 4983 (darwin_override_options): Set darwin_emit_unwind_label as needed. 4984 49852019-10-30 Iain Sandoe <iain@sandoe.co.uk> 4986 4987 Backport from mainline 4988 2019-08-13 Iain Sandoe <iain@sandoe.co.uk> 4989 4990 * config/darwin.c (machopic_indirect_call_target): Rename symbol stub 4991 flag. 4992 (darwin_override_options): Likewise. 4993 * config/darwin.h: Likewise. 4994 * config/darwin.opt: Likewise. 4995 * config/i386/i386.c (output_pic_addr_const): Likewise. 4996 * config/rs6000/darwin.h: Likewise. 4997 * config/rs6000/rs6000.c (rs6000_call_darwin_1): Likewise. 4998 * config/i386/darwin.h (TARGET_MACHO_PICSYM_STUBS): Rename to ... 4999 ... this TARGET_MACHO_SYMBOL_STUBS. 5000 (FUNCTION_PROFILER):Likewise. 5001 * config/i386/i386.h: Likewise. 5002 5003 Backport from mainline 5004 2019-06-16 Iain Sandoe <iain@sandoe.co.uk> 5005 5006 * config/darwin.c (machopic_indirect_call_target): Use renamed 5007 darwin_picsymbol_stubs to decide on output. 5008 (darwin_override_options): Handle darwin_picsymbol_stubs. 5009 * config/darwin.h (MIN_LD64_OMIT_STUBS): New. 5010 (LD64_VERSION): Revise default. 5011 * config/darwin.opt: (mpic-symbol-stubs): New option. 5012 (darwin_picsymbol_stubs): New variable. 5013 * config/i386/darwin.h (TARGET_MACHO_BRANCH_ISLANDS): 5014 rename to TARGET_MACHO_PICSYM_STUBS. 5015 * config/i386/i386.c (output_pic_addr_const): Likewise. 5016 * config/i386/i386.h Likewise. 5017 * config/rs6000/darwin.h: Likewise. 5018 * config/rs6000/rs6000.c (rs6000_call_darwin_1): Use renamed 5019 darwin_picsymbol_stubs. 5020 50212019-10-30 Dragan Mladjenovic <dmladjenovic@wavecomp.com> 5022 5023 Backport from mainline 5024 2019-07-09 Dragan Mladjenovic <dmladjenovic@wavecomp.com> 5025 5026 * cfgcleanup.c (old_insns_match_p): Check if used hard regs set is equal 5027 for both call instructions. 5028 50292019-10-30 Thomas Schwinge <thomas@codesourcery.com> 5030 5031 Backport from trunk: 5032 5033 2019-05-06 Richard Biener <rguenther@suse.de> 5034 5035 * dwarf2out.c (mem_loc_descriptor): Initialize int_mode. 5036 50372019-10-28 Uroš Bizjak <ubizjak@gmail.com> 5038 5039 PR target/92225 5040 * config/i386/sse.md (REDUC_SSE_SMINMAX_MODE): Use TARGET_SSE4_2 5041 condition for V2DImode. 5042 50432019-10-28 Ilya Leoshkevich <iii@linux.ibm.com> 5044 5045 Backport from mainline 5046 PR rtl-optimization/92007 5047 * cfgcleanup.c (thread_jump): Add an assertion that we don't 5048 call it after reload if hot/cold partitioning has been done. 5049 (class pass_postreload_jump): Rename to 5050 pass_jump_after_combine. 5051 (make_pass_postreload_jump): Rename to 5052 make_pass_jump_after_combine. 5053 * passes.def(pass_postreload_jump): Move before reload, rename 5054 to pass_jump_after_combine. 5055 * tree-pass.h (make_pass_postreload_jump): Rename to 5056 make_pass_jump_after_combine. 5057 50582019-10-28 Peter Bergner <bergner@linux.ibm.com> 5059 Jiufu Guo <guojiufu@linux.ibm.com> 5060 5061 PR target/70010 5062 * config/rs6000/rs6000.c (rs6000_can_inline_p): Prohibit inlining if 5063 the callee explicitly disables some isa_flags the caller is using. 5064 50652019-10-27 Iain Sandoe <iain@sandoe.co.uk> 5066 5067 Backport from mainline 5068 2019-10-17 Iain Sandoe <iain@sandoe.co.uk> 5069 5070 PR target/65342 5071 * config/rs6000/darwin.md (movdi_low, movsi_low_st): Delete. 5072 (movdi_low_st): Delete. 5073 * config/rs6000/rs6000.c 5074 (darwin_rs6000_legitimate_lo_sum_const_p): New. 5075 (mem_operand_gpr): Validate Mach-O LO_SUM cases separately. 5076 * config/rs6000/rs6000.md (movsi_low): Delete. 5077 50782019-10-27 Iain Sandoe <iain@sandoe.co.uk> 5079 5080 Backport from mainline 5081 2019-10-12 Iain Sandoe <iain@sandoe.co.uk> 5082 5083 PR target/67183 5084 * config/darwin.c (machopic_indirection): New field to flag 5085 non-lazy-symbol-pointers in the data section. 5086 (machopic_indirection_name): Compute if an indirection should 5087 appear in the data section. 5088 (machopic_output_data_section_indirection): New callback split 5089 from machopic_output_indirection. 5090 (machopic_output_stub_indirection): Likewise. 5091 (machopic_output_indirection): Retain the code for non-lazy 5092 symbol pointers in their regular section. 5093 (machopic_finish): Use the new callbacks to order the indirection 5094 output. 5095 50962019-10-27 Iain Sandoe <iain@sandoe.co.uk> 5097 5098 Backport from mainline 5099 2019-10-12 Iain Sandoe <iain@sandoe.co.uk> 5100 5101 * config/darwin-protos.h (machopic_finish): Delete. 5102 * config/darwin.c (machopic_finish): Make static. 5103 5104 Backport from mainline 5105 2019-10-09 Iain Sandoe <iain@sandoe.co.uk> 5106 5107 * config/darwin.c (machopic_indirect_data_reference): Set flag to 5108 indicate that the new symbol is an indirection. 5109 (machopic_indirect_call_target): Likewise. 5110 * config/darwin.h (MACHO_SYMBOL_FLAG_INDIRECTION): New. 5111 (MACHO_SYMBOL_INDIRECTION_P): New. 5112 (MACHO_SYMBOL_FLAG_STATIC): Adjust bit number. 5113 5114 Backport from mainline 5115 2019-10-08 Iain Sandoe <iain@sandoe.co.uk> 5116 5117 * config/darwin.c (machopic_indirect_data_reference): Check for 5118 required indirections before making direct access to defined 5119 values. 5120 (machopic_output_indirection): Place the indirected pointes for 5121 required indirections into the non-lazy symbol pointers section. 5122 (darwin_encode_section_info): 5123 * config/darwin.h (MACHO_SYMBOL_FLAG_MUST_INDIRECT): New. 5124 (MACHO_SYMBOL_MUST_INDIRECT_P): New. 5125 5126 Backport from mainline 5127 2019-10-07 Iain Sandoe <iain@sandoe.co.uk> 5128 5129 * config/darwin.c (machopic_output_indirection): Don't put 5130 hidden symbol indirections into the .data section, use the 5131 non-lazy symbol pointers section as normal. 5132 (darwin_encode_section_info): Record if a symbol is hidden. 5133 * config/darwin.h (MACHO_SYMBOL_FLAG_HIDDEN_VIS): New. 5134 (MACHO_SYMBOL_HIDDEN_VIS_P): New. 5135 5136 Backport from mainline 5137 2019-10-07 Iain Sandoe <iain@sandoe.co.uk> 5138 5139 * config/darwin.c (machopic_symbol_defined_p): Use symbol flag 5140 predicates instead of accessing bits directly. 5141 (machopic_indirect_call_target): Likewise. 5142 (machopic_output_indirection): Likewise. 5143 (darwin_encode_section_info): Improve description. Use renamed 5144 symbol flags. Use predicate macros for variables and functions. 5145 * config/darwin.h: 5146 Rename MACHO_SYMBOL_VARIABLE to MACHO_SYMBOL_FLAG_VARIABLE. 5147 Rename MACHO_SYMBOL_DEFINED to MACHO_SYMBOL_FLAG_DEFINED. 5148 Rename MACHO_SYMBOL_STATIC to MACHO_SYMBOL_FLAG_STATIC. 5149 (MACHO_SYMBOL_VARIABLE_P): New. 5150 (MACHO_SYMBOL_DEFINED_P):New. 5151 (MACHO_SYMBOL_STATIC_P): New. 5152 * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Delete. 5153 (SYMBOL_FLAG_SUBT_DEP): New. 5154 * config/rs6000/darwin.h (SYMBOL_FLAG_SUBT_DEP): New. 5155 51562019-10-25 Jan Hubicka <hubicka@ucw.cz> 5157 5158 Backport from mainline 5159 2019-10-11 Jan Hubicka <hubicka@ucw.cz> 5160 * gimple-streamer-out.c (output_gimple_stmt): Add explicit function 5161 parameter. 5162 * lto-streamer-out.c: Include tree-dfa.h. 5163 (output_cfg): Do not use cfun. 5164 (lto_prepare_function_for_streaming): New. 5165 (output_function): Do not push cfun; do not initialize loop optimizer. 5166 * lto-streamer.h (lto_prepare_function_for_streaming): Declare. 5167 * passes.c (ipa_write_summaries): Use it. 5168 (ipa_write_optimization_summaries): Do not modify bodies. 5169 * tree-dfa.c (renumber_gimple_stmt_uids): Add function parameter. 5170 * tree.dfa.h (renumber_gimple_stmt_uids): Update prototype. 5171 * tree-ssa-dse.c (pass_dse::execute): Update use of 5172 renumber_gimple_stmt_uids. 5173 * tree-ssa-math-opts.c (pass_optimize_widening_mul::execute): Likewise. 5174 5175 2019-10-12 Jan Hubicka <hubicka@ucw.cz> 5176 * lto-streamer-out.c (collect_block_tree_leafs): Renumber statements 5177 so non-virutal are before virutals. 5178 (output_function): Avoid body modifications. 5179 51802019-10-25 Richard Earnshaw <rearnsha@arm.com> 5181 5182 Backport from mainline 5183 2019-05-08 Mihail Ionescu <mihail.ionescu@arm.com> 5184 Richard Earnshaw <rearnsha@arm.com> 5185 PR target/88167 5186 * config/arm/arm.c (thumb1_prologue_unused_call_clobbered_lo_regs): New 5187 function. 5188 (thumb1_epilogue_unused_call_clobbered_lo_regs): New function. 5189 (thumb1_compute_save_core_reg_mask): Don't force a spare work 5190 register if both the epilogue and prologue can use call-clobbered 5191 regs. 5192 (thumb1_unexpanded_epilogue): Use 5193 thumb1_epilogue_unused_call_clobbered_lo_regs. Reverse the logic for 5194 picking temporaries for restoring high regs to match that of the 5195 prologue where possible. 5196 (thumb1_expand_prologue): Add any usable call-clobbered low registers to 5197 the list of work registers. Detect if the return address is still live 5198 at the end of the prologue and avoid using it for a work register if so. 5199 If the return address is not live, add LR to the list of pushable regs 5200 after the first pass. 5201 52022019-10-25 Jan Hubicka <hubicka@ucw.cz> 5203 5204 Backport from mainline 5205 2019-10-24 Jan Hubicka <hubicka@ucw.cz> 5206 * symbols-summary.h (fast_function_summary<T *, V>::release, 5207 fast_call_summary<T *, V>::release): Free m_vector. 5208 52092019-10-25 Jan Hubicka <hubicka@ucw.cz> 5210 5211 Backport from mainline 5212 5213 2019-10-18 Jakub Jelinek <jakub@redhat.com> 5214 PR middle-end/92153 5215 * ggc-page.c (release_pages): Read g->alloc_size before free rather 5216 than after it. 5217 5218 2019-10-11 Jan Hubicka <hubicka@ucw.cz> 5219 * ggc-page.c (release_pages): Output statistics when !quiet_flag. 5220 (ggc_collect): Dump later to not interfere with release_page dump. 5221 (ggc_trim): New function. 5222 * ggc-none.c (ggc_trim): New. 5223 * ggc.h (ggc_trim): Declare. 5224 52252019-10-24 Mihail Ionescu <mihail.ionescu@arm.com> 5226 5227 Backport from mainline 5228 2019-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com> 5229 5230 * config/arm/t-multilib: Add new multilib variants and new 5231 mappings. 5232 52332019-10-24 Iain Sandoe <iain@sandoe.co.uk> 5234 5235 Backport from mainline 5236 2019-10-23 Iain Sandoe <iain@sandoe.co.uk> 5237 * config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Guard 5238 against out of range max skip or log values. 5239 52402019-10-23 Peter Bergner <bergner@linux.ibm.com> 5241 5242 Backport from mainline 5243 2019-10-08 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> 5244 5245 * config.gcc: Move -L usage from LINK_OS_EXTRA_SPEC32 and 5246 LINK_OS_EXTRA_SPEC64 to MD_STARTFILE_PREFIX and 5247 MD_STARTFILE_PREFIX_1 when using --with-advance-toolchain. 5248 52492019-10-23 Martin Liska <mliska@suse.cz> 5250 5251 Backport from mainline 5252 2019-09-26 Martin Liska <mliska@suse.cz> 5253 5254 PR tree-optimization/91885 5255 * tree-vectorizer.c (try_vectorize_loop_1): 5256 Add TODO_update_ssa_only_virtuals similarly to what slp 5257 pass does. 5258 52592019-10-23 Eric Botcazou <ebotcazou@adacore.com> 5260 5261 PR tree-optimization/92131 5262 * tree-vrp.c (extract_range_from_plus_minus_expr): If the resulting 5263 range would be symbolic, drop to varying for any explicit overflow 5264 in the constant part or if neither range is a singleton. 5265 52662019-10-23 Richard Biener <rguenther@suse.de> 5267 5268 Backport from mainline 5269 2019-10-17 Richard Biener <rguenther@suse.de> 5270 5271 PR debug/91887 5272 * dwarf2out.c (gen_formal_parameter_die): Also try to match 5273 context_die against a DW_TAG_GNU_formal_parameter_pack parent. 5274 52752019-10-21 Jakub Jelinek <jakub@redhat.com> 5276 5277 Backported from mainline 5278 2019-10-17 Jakub Jelinek <jakub@redhat.com> 5279 5280 PR tree-optimization/92056 5281 * tree-object-size.c (cond_expr_object_size): Return early if then_ 5282 processing resulted in unknown size. 5283 5284 2019-10-05 Jakub Jelinek <jakub@redhat.com> 5285 5286 PR tree-optimization/91734 5287 * generic-match-head.c: Include fold-const-call.h. 5288 * match.pd (sqrt(x) cmp c): Check the boundary value and 5289 in case inexact computation of c*c affects comparison of the boundary, 5290 turn LT_EXPR into LE_EXPR, GE_EXPR into GT_EXPR, LE_EXPR into LT_EXPR 5291 or GT_EXPR into GE_EXPR. Punt for sqrt comparisons against NaN and 5292 for -frounding-math. For c2, try the next smaller or larger floating 5293 point constant depending on comparison code and if it has the same 5294 sqrt as c2, use it instead of c2. 5295 5296 2019-09-29 Jakub Jelinek <jakub@redhat.com> 5297 5298 PR bootstrap/90543 5299 * optc-save-gen.awk: Fix up printing string option differences. 5300 5301 2019-09-27 Jakub Jelinek <jakub@redhat.com> 5302 5303 PR middle-end/91920 5304 * gimplify.c (omp_default_clause): Predetermine DECL_IN_CONSTANT_POOL 5305 variables as shared. 5306 5307 2019-09-11 Jakub Jelinek <jakub@redhat.com> 5308 5309 PR tree-optimization/91723 5310 * tree-vect-stmts.c (vectorizable_call): Use types_compatible_p check 5311 instead of pointer equality when checking if argument vectypes are 5312 the same. 5313 5314 2019-09-07 Jakub Jelinek <jakub@redhat.com> 5315 5316 PR tree-optimization/91665 5317 * tree-vect-loop.c (vectorizable_reduction): Punt if base has type 5318 incompatible with the type of PHI result. 5319 5320 2019-09-06 Jakub Jelinek <jakub@redhat.com> 5321 5322 * function.c (assign_parm_find_data_types): Use RECORD_OR_UNION_TYPE_P 5323 before testing TYPE_TRANSPARENT_AGGR. 5324 * calls.c (initialize_argument_information, load_register_parameters): 5325 Likewise. 5326 5327 2019-09-05 Jakub Jelinek <jakub@redhat.com> 5328 5329 PR middle-end/91001 5330 PR middle-end/91105 5331 PR middle-end/91106 5332 * calls.c (load_register_parameters): For TYPE_TRANSPARENT_AGGR 5333 types, use type of their first field instead of type of 5334 args[i].tree_value. 5335 5336 2019-09-02 Jakub Jelinek <jakub@redhat.com> 5337 5338 PR go/91617 5339 * fold-const.c (range_check_type): For enumeral and boolean 5340 type, pass 1 to type_for_size langhook instead of 5341 TYPE_UNSIGNED (etype). Return unsigned_type_for result whenever 5342 etype isn't TYPE_UNSIGNED INTEGER_TYPE. 5343 (build_range_check): Don't call unsigned_type_for for pointer types. 5344 * match.pd (X / C1 op C2): Don't call unsigned_type_for on 5345 range_check_type result. 5346 5347 2019-09-01 Jakub Jelinek <jakub@redhat.com> 5348 5349 PR middle-end/91623 5350 * optabs.c (expand_vec_cond_expr): If op0 is a VECTOR_CST and only 5351 EQ_EXPR/NE_EXPR is supported, verify that op0 only contains 5352 zeros or negative elements and use NE_EXPR instead of LT_EXPR against 5353 zero vector. 5354 5355 PR lto/91572 5356 * tree.c (find_decls_types_in_node): Also walk TREE_PURPOSE of 5357 GIMPLE_ASM TREE_LIST operands. 5358 5359 2019-08-29 Jakub Jelinek <jakub@redhat.com> 5360 5361 PR tree-optimization/91351 5362 * tree-cfg.c (generate_range_test): Use range_check_type instead of 5363 unsigned_type_for. 5364 * tree-cfgcleanup.c (convert_single_case_switch): Punt if 5365 range_check_type returns NULL. 5366 * tree-switch-conversion.c (switch_conversion::build_one_array): 5367 Use range_check_type instead of unsigned_type_for, don't perform 5368 linear opt if it returns NULL. 5369 (bit_test_cluster::find_bit_tests): Formatting fix. 5370 (bit_test_cluster::emit): Use range_check_type instead of 5371 unsigned_type_for. 5372 (switch_decision_tree::try_switch_expansion): Punt if range_check_type 5373 returns NULL. 5374 53752019-10-18 Georg-Johann Lay <avr@gjlay.de> 5376 5377 Backport from 2019-10-18 trunk r277143. 5378 5379 PR target/86040 5380 * config/avr/avr.c (avr_out_lpm): Do not shortcut-return. 5381 53822019-10-18 Iain Sandoe <iain@sandoe.co.uk> 5383 5384 Backport from mainline 5385 2019-10-05 Iain Sandoe <iain@sandoe.co.uk> 5386 5387 PR target/59888 5388 * config/darwin.c (darwin_rodata_section): Add relocation flag, 5389 choose const_data section for constants with relocations. 5390 (machopic_select_section): Pass relocation flag to 5391 darwin_rodata_section (). 5392 53932019-10-18 Iain Sandoe <iain@sandoe.co.uk> 5394 5395 Backport from mainline 5396 2019-09-21 Iain Sandoe <iain@sandoe.co.uk> 5397 5398 * config/darwin.c (machopic_legitimize_pic_address): Check 5399 for lra, rather than reload. 5400 54012019-10-17 John David Anglin <danglin@gcc.gnu.org> 5402 5403 * config/pa/pa.c (pa_output_indirect_call): Fix typos in last change. 5404 54052019-10-17 Richard Earnshaw <rearnsha@arm.com> 5406 5407 Backport from mainline 5408 2019-05-03 Richard Earnshaw <rearnsha@arm.com> 5409 5410 PR target/89400 5411 * config/arm/arm.md (unaligned_loadsi): Add variant for thumb1. 5412 Restrict 'all' variant to 32-bit configurations. 5413 (unaligned_loadhiu): Likewise. 5414 (unaligned_storehi): Likewise. 5415 (unaligned_storesi): Likewise. 5416 (unaligned_loadhis): Disable when compiling for thumb1. 5417 54182019-10-16 Iain Sandoe <iain@sandoe.co.uk> 5419 5420 Backport from mainline 5421 2019-10-03 Iain Sandoe <iain@sandoe.co.uk> 5422 5423 PR target/87243 5424 * config/darwin-driver.c (maybe_get_sysroot_from_sdkroot): New. 5425 (darwin_driver_init): Use the sysroot provided by SDKROOT when that 5426 is available and the user has not set one on the command line. 5427 54282019-10-16 Iain Sandoe <iain@sandoe.co.uk> 5429 5430 Backport from mainline 5431 2019-07-03 Iain Sandoe <iain@sandoe.co.uk> 5432 5433 * config/darwin.h (DRIVER_SELF_SPECS): Remove the linker cases. 5434 (RDYNAMIC): Rename to, DARWIN_RDYNAMIC. 5435 (DARWIN_PIE_SPEC, DARWIN_NOPIE_SPEC): Adjust to remove the Xlinker 5436 clauses. 5437 (LINK_COMMAND_SPEC_A): Add DARWIN_RDYNAMIC, DARWIN_PIE_SPEC and 5438 DARWIN_NOPIE_SPEC. 5439 5440 Backport from mainline 5441 2019-06-19 Iain Sandoe <iain@sandoe.co.uk> 5442 5443 * config/darwin.h (DRIVER_SELF_SPECS): Add RDYNAMIC, DARWIN_PIE_SPEC 5444 and DARWIN_NOPIE_SPEC. 5445 (RDYNAMIC): New, modified from DARWIN_EXPORT_DYNAMIC. 5446 (DARWIN_PIE_SPEC): Collate from darwin.h and darwin9.h. 5447 (DARWIN_NOPIE_SPEC): Collate from darwin10.h. 5448 (DARWIN_NOCOMPACT_UNWIND): New from darwin10.h 5449 (DARWIN_EXPORT_DYNAMIC): Delete. 5450 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move no_compact_unwind 5451 and pie options processing to darwin.h. 5452 * config/darwin9.h (DARWIN_PIE_SPEC): Move pie processing to darwin.h 5453 54542019-10-16 Richard Biener <rguenther@suse.de> 5455 5456 Backport from mainline 5457 2019-10-04 Richard Biener <rguenther@suse.de> 5458 5459 PR lto/91968 5460 * tree.c (find_decls_types_r): Do not remove LABEL_DECLs from 5461 BLOCK_VARS. 5462 5463 2019-09-19 Richard Biener <rguenther@suse.de> 5464 5465 PR tree-optimization/91812 5466 * tree-ssa-phiprop.c (propagate_with_phi): Do not replace 5467 volatile loads. 5468 5469 2019-09-17 Richard Biener <rguenther@suse.de> 5470 5471 PR debug/91772 5472 * dwarf2out.c (dwarf2out_late_global_decl): If early dwarf 5473 was missing generate locations only once. 5474 5475 2019-09-17 Richard Biener <rguenther@suse.de> 5476 5477 PR tree-optimization/91790 5478 * tree-vect-stmts.c (vectorizable_load): For BB vectorization 5479 use the correct DR for setting up realignment. 5480 54812019-10-14 Will Schmidt <will_schmidt@vnet.ibm.com> 5482 5483 Backport from trunk 5484 2019-09-26 Will Schmidt <will_schmidt@vnet.ibm.com> 5485 5486 * config/rs6000/rs6000-builtin.def: (LVSL, LVSR, LVEBX, LVEHX, 5487 LVEWX, LVXL, LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, 5488 LVXL_V16QI, LVX, LVX_V1TI, LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, 5489 LVX_V8HI, LVX_V16QI, LVLX, LVLXL, LVRX, LVRXL, LXSDX, LXVD2X_V1TI, 5490 LXVD2X_V2DF, LXVD2X_V2DI, LXVDSX, LXVW4X_V4SF, LXVW4X_V4SI, 5491 LXVW4X_V8HI, LXVW4X_V16QI, LD_ELEMREV_V1TI, LD_ELEMREV_V2DF, 5492 LD_ELEMREV_V2DI, LD_ELEMREV_V4SF, LD_ELEMREV_V4SI, LD_ELEMREV_V8HI, 5493 LD_ELEMREV_V16QI): Use the PURE attribute. 5494 54952019-10-10 Uroš Bizjak <ubizjak@gmail.com> 5496 5497 PR target/92022 5498 * config/alpha/alpha.c (alpha_handle_trap_shadows): Skip DEBUG_INSN. 5499 55002019-10-10 Oleg Endo <olegendo@gcc.gnu.org> 5501 5502 Backport from mainline 5503 2019-10-10 Oleg Endo <olegendo@gcc.gnu.org> 5504 5505 PR target/88630 5506 * config/sh/sh.h (TARGET_FPU_SH4_300): New macro. 5507 * config/sh/sh.c (sh_option_override): Enable fsca and fsrra insns 5508 also for TARGET_FPU_SH4_300. 5509 (sh_emit_mode_set): Check for TARGET_FPU_SH4_300 instead of 5510 TARGET_SH4_300. 5511 * config/sh/sh.md (toggle_pr): Add TARGET_FPU_SH4_300 condition. 5512 (negsf2): Expand to either negsf2_fpscr or negsf2_no_fpscr. 5513 (*negsf2_i): Split into ... 5514 (negsf2_fpscr, negsf2_no_fpscr): ... these new patterns. 5515 (abssf2): Expand to either abssf2_fpsc or abssf2_no_fpsc. 5516 (**abssf2_i): Split into ... 5517 (abssf2_fpscr, abssf2_no_fpscr): ... these new patterns. 5518 (negdf2): Expand to either negdf2_fpscr or negdf2_no_fpscr. 5519 (*negdf2_i): Split into ... 5520 (negdf2_fpscr, negdf2_no_fpscr): ... these new patterns. 5521 (absdf2): Expand to either absdf2_fpscr or absdf2_no_fpsc. 5522 (**abssf2_i): Split into ... 5523 (absdf2_fpscr, absdf2_no_fpscr): ... these new patterns. 5524 55252019-10-10 Andreas Krebbel <krebbel@linux.ibm.com> 5526 5527 Backport from mainline 5528 2019-10-10 Andreas Krebbel <krebbel@linux.ibm.com> 5529 5530 * common/config/s390/s390-common.c (PF_ARCH13): Rename to... 5531 (PF_Z15): ... this. 5532 * config.gcc: Add z15 as option for --with-arch and --with-tune 5533 configure switches. 5534 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Add 5535 error reporting for unsupported builtins. 5536 * config/s390/s390-opts.h (enum processor_type): Rename 5537 PROCESSOR_8561_ARCH13 to PROCESSOR_8561_Z15. 5538 * config/s390/8561.md: Rename arch13 to z15 throughout the file. 5539 * config/s390/driver-native.c (s390_host_detect_local_cpu): 5540 Likewise. 5541 * config/s390/s390-builtins.def: Likewise. 5542 * config/s390/s390.c (processor_table): Add z15 as option and keep arch13 as alternative. 5543 (s390_expand_builtin): Add missing check for unsupported builtins. 5544 (s390_canonicalize_comparison): Rename TARGET_ARCH13 to TARGET_Z15. 5545 (s390_rtx_costs): Likewise. 5546 (s390_get_sched_attrmask): Rename arch13 to z15. 5547 (s390_get_unit_mask): Likewise. 5548 (s390_is_fpd): Likewise. 5549 (s390_is_fxd): Likewise. 5550 * config/s390/s390.h (enum processor_flags): Likewise. 5551 * config/s390/s390.md: Likewise. 5552 * config/s390/vector.md: Likewise. 5553 * config/s390/vx-builtins.md: Likewise. 5554 * config/s390/s390.opt: Add z15 to processor_type value. 5555 55562019-10-07 Bill Schmidt <wschmidt@linux.ibm.com> 5557 5558 Backport from mainline 5559 2019-10-01 Bill Schmidt <wschmidt@linux.ibm.com> 5560 5561 PR target/91275 5562 * config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Don't swap 5563 vpmsumd. 5564 55652019-10-05 Andrea Corallo <andrea.corallo@arm.com> 5566 5567 Backport from mainline 5568 2019-10-03 Andrea Corallo <andrea.corallo@arm.com> 5569 * gcc/ipa-cp.c (ipa_cp_c_finalize): Release ipcp_transformation_sum 5570 when finished. 5571 * ipa-prop.c (ipcp_free_transformation_sum): New function. 5572 * ipa-prop.h (ipcp_free_transformation_sum): Add declaration. 5573 55742019-10-04 Dragan Mladjenovic <dmladjenovic@wavecomp.com> 5575 5576 Backport from mainline 5577 2019-10-03 Dragan Mladjenovic <dmladjenovic@wavecomp.com> 5578 5579 PR target/91769 5580 * config/mips/mips.c (mips_split_move): Use reg_overlap_mentioned_p 5581 instead of REGNO equality check on addr.reg. 5582 55832019-10-04 Dragan Mladjenovic <dmladjenovic@wavecomp.com> 5584 5585 Backport from mainline 5586 2019-07-07 Richard Sandiford <richard.sandiford@arm.com> 5587 5588 * config/mips/mips.c (mips_split_move): Zero-initialize addr 5589 and check whether addr.reg is nonnull before using it. 5590 55912019-10-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 5592 5593 Backport from mainline 5594 5595 2019-09-13 Bernd Edlinger <bernd.edlinger@hotmail.de> 5596 5597 PR fortran/91716 5598 * trans-array.c (gfc_conv_array_initializer): Always assign the 5599 array type of the field to the string constant. 5600 56012019-10-01 Oleg Endo <olegendo@gcc.gnu.org> 5602 5603 Backport from mainline 5604 5605 2019-10-01 Oleg Endo <olegendo@gcc.gnu.org> 5606 5607 PR target/88562 5608 * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use 5609 sh_check_add_incdec_notes to preserve REG_INC notes when replacing 5610 a memory access insn. 5611 5612 56132019-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5614 5615 Backport from mainline 5616 2019-09-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5617 5618 * config/aarch64/aarch64.md (mov<mode>): Don't call 5619 aarch64_split_dimode_const_store on volatile MEM. 5620 56212019-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5622 5623 Backport from mainline 5624 2019-09-26 Matt Turner <mattst88@gmail.com> 5625 5626 PR driver/69471 5627 * config/aarch64/aarch64.opt (march=): Add Negative(march=). 5628 (mtune=): Add Negative(mtune=). 5629 (mcpu=): Add Negative(mcpu=). 5630 * config/arm/arm.opt: Likewise. 5631 56322019-09-28 Oleg Endo <olegendo@gcc.gnu.org> 5633 5634 Backport from mainline 5635 2019-09-28 Oleg Endo <olegendo@gcc.gnu.org> 5636 5637 PR target/86805 5638 * config/sh/sh.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define. 5639 56402019-09-28 Oleg Endo <olegendo@gcc.gnu.org> 5641 5642 Backport from mainline 5643 2019-09-28 Oleg Endo <olegendo@gcc.gnu.org> 5644 5645 PR target/80672 5646 * config/sh/sh.c (parse_validate_atomic_model_option): Use 5647 std::string::compare instead of std::string::find. 5648 56492019-09-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5650 5651 Backport from mainline 5652 2019-08-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 5653 5654 * config/arm/arm_acle.h: Use arch=armv8-a+crc+simd pragma for CRC32 5655 intrinsics if __ARM_FP. 5656 Use __ARM_FEATURE_CRC32 ifdef guard. 5657 56582019-09-23 Max Filippov <jcmvbkbc@gmail.com> 5659 5660 Backport from mainline 5661 2019-06-18 Max Filippov <jcmvbkbc@gmail.com> 5662 5663 * config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack 5664 pointer adjustment for the case of no callee-saved registers and 5665 stack frame bigger than 128 bytes. 5666 56672019-09-22 Iain Sandoe <iain@sandoe.co.uk> 5668 5669 Backport from mainline 5670 2019-06-16 Iain Sandoe <iain@sandoe.co.uk> 5671 5672 * config/darwin.opt (prebind, noprebind, seglinkedit, 5673 noseglinkedit): Add RejectNegative. 5674 5675 Backport from mainline 5676 2019-06-14 Iain Sandoe <iain@sandoe.co.uk> 5677 5678 * config/darwin.opt: Add RejectNegative where needed, reorder 5679 and add minimal functional descriptions. 5680 56812019-09-20 John David Anglin <danglin@gcc.gnu.org> 5682 5683 * config/pa/pa.c (pa_trampoline_init): Remove spurious extended 5684 character. 5685 56862019-09-20 Andreas Krebbel <krebbel@linux.ibm.com> 5687 5688 Backport from mainline 5689 2019-06-06 Andreas Krebbel <krebbel@linux.ibm.com> 5690 5691 PR rtl-optimization/88751 5692 * ira.c (ira): Use the number of the actually referenced registers 5693 when calculating the threshold. 5694 56952019-09-20 Kito Cheng <kito.cheng@sifive.com> 5696 5697 Backport from mainline 5698 2019-09-18 Jim Wilson <jimw@sifive.com> 5699 5700 PR target/91683 5701 * config/riscv/riscv-protos.h (riscv_split_symbol): New bool parameter. 5702 (riscv_move_integer): Likewise. 5703 * config/riscv/riscv.c (riscv_split_integer): Pass FALSE for new 5704 riscv_move_integer arg. 5705 (riscv_legitimize_move): Likewise. 5706 (riscv_force_temporary): New parameter in_splitter. Don't call 5707 force_reg if true. 5708 (riscv_unspec_offset_high): Pass FALSE for new riscv_force_temporary 5709 arg. 5710 (riscv_add_offset): Likewise. 5711 (riscv_split_symbol): New parameter in_splitter. Pass to 5712 riscv_force_temporary. 5713 (riscv_legitimize_address): Pass FALSE for new riscv_split_symbol 5714 arg. 5715 (riscv_move_integer): New parameter in_splitter. New local 5716 can_create_psuedo. Don't call riscv_split_integer or force_reg when 5717 in_splitter TRUE. 5718 (riscv_legitimize_const_move): Pass FALSE for new riscv_move_integer, 5719 riscv_split_symbol, and riscv_force_temporary args. 5720 * config/riscv/riscv.md (low<mode>+1): Pass TRUE for new 5721 riscv_move_integer arg. 5722 (low<mode>+2): Pass TRUE for new riscv_split_symbol arg. 5723 57242019-09-20 Eric Botcazou <ebotcazou@adacore.com> 5725 5726 PR target/91269 5727 * config/sparc/sparc.h (HARD_REGNO_CALLER_SAVE_MODE): Define. 5728 57292019-09-19 Kito Cheng <kito.cheng@sifive.com> 5730 5731 Backport from mainline 5732 2019-09-05 Jakub Jelinek <jakub@redhat.com> 5733 Jim Wilson <jimw@sifive.com> 5734 5735 PR target/91635 5736 * config/riscv/riscv.md (zero_extendsidi2, zero_extendhi<GPR:mode>2, 5737 extend<SHORT:mode><SUPERQI:mode>2): Don't split if 5738 paradoxical_subreg_p (operands[0]). 5739 (*lshrsi3_zero_extend_3+1, *lshrsi3_zero_extend_3+2): Add clobber and 5740 use as intermediate value. 5741 57422019-09-11 Eric Botcazou <ebotcazou@adacore.com> 5743 5744 PR rtl-optimization/89795 5745 * rtlanal.c (nonzero_bits1) <SUBREG>: Do not propagate results from 5746 inner REGs to paradoxical SUBREGs if WORD_REGISTER_OPERATIONS is set. 5747 57482019-09-09 Jakub Jelinek <jakub@redhat.com> 5749 5750 PR target/87853 5751 * config/i386/emmintrin.h (_mm_cmpeq_epi8): Use casts to __v16qi 5752 instead of __v16qs. 5753 5754 PR target/91704 5755 * config/i386/avxintrin.h (__v32qs): New typedef. 5756 * config/i386/avx2intrin.h (_mm256_cmpgt_epi8): Use casts to __v32qs 5757 instead of __v32qi. 5758 57592019-09-04 Wilco Dijkstra <wdijkstr@arm.com> 5760 5761 Backport from mainline 5762 2019-08-13 Wilco Dijkstra <wdijkstr@arm.com> 5763 5764 PR target/81800 5765 * gcc/config/aarch64/aarch64.md (lrint): Disable lrint pattern if GPF 5766 operand is larger than a long int. 5767 57682019-09-03 Jakub Jelinek <jakub@redhat.com> 5769 5770 PR tree-optimization/91597 5771 * tree-vrp.c (extract_range_from_binary_expr): Remove unsafe 5772 BIT_AND_EXPR optimization for pointers, even if both operand 5773 ranges don't include NULL, the result can be NULL. 5774 57752019-09-02 Martin Liska <mliska@suse.cz> 5776 5777 Backport from mainline 5778 2019-09-02 Martin Liska <mliska@suse.cz> 5779 5780 PR gcov-profile/91601 5781 * gcov.c (path_contains_zero_cycle_arc): Rename to ... 5782 (path_contains_zero_or_negative_cycle_arc): ... this and handle 5783 also negative edges. 5784 (circuit): Handle also negative edges as they can happen 5785 in some situations. 5786 57872019-09-01 Eric Botcazou <ebotcazou@adacore.com> 5788 5789 PR target/91472 5790 * config/sparc/sparc.c (sparc_cannot_force_const_mem): Return true 5791 during LRA/reload in PIC mode if the PIC register hasn't been used yet. 5792 (sparc_pic_register_p): Test reload_in_progress for consistency's sake. 5793 57942019-08-31 Iain Sandoe <iain@sandoe.co.uk> 5795 5796 Backport from mainline 5797 2019-08-23 Iain Sandoe <iain@sandoe.co.uk> 5798 5799 PR pch/61250 5800 * ggc-page.c (ggc_pch_read): Read the ggc_pch_ondisk structure 5801 and issue any diagnostics needed before collecting the pre-PCH 5802 state. 5803 58042019-08-30 Segher Boessenkool <segher@kernel.crashing.org> 5805 5806 Backport from trunk 5807 2019-08-22 Segher Boessenkool <segher@kernel.crashing.org> 5808 5809 PR target/91481 5810 * config/rs6000/rs6000.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32, 5811 and UNSPEC_DARN_RAW. 5812 (unspecv): New enumerator values UNSPECV_DARN, UNSPECV_DARN_32, and 5813 UNSPECV_DARN_RAW. 5814 (darn_32): Use an unspec_volatile, and UNSPECV_DARN_32. 5815 (darn_raw): Use an unspec_volatile, and UNSPECV_DARN_RAW. 5816 (darn): Use an unspec_volatile, and UNSPECV_DARN. 5817 58182019-08-30 Segher Boessenkool <segher@kernel.crashing.org> 5819 5820 Backport from trunk 5821 2019-08-22 Segher Boessenkool <segher@kernel.crashing.org> 5822 5823 * config/rs6000/altivec.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32, 5824 UNSPEC_DARN_RAW, UNSPEC_CMPRB, UNSPEC_CMPRB2, UNSPEC_CMPEQB; move to... 5825 * config/rs6000/rs6000.md (unspec): ... here. 5826 * config/rs6000/altivec.md (darn_32, darn_raw, darn, cmprb, 5827 *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal, 5828 cmpeqb, *cmpeqb_internal): Delete, move to... 5829 * config/rs6000/rs6000.md (darn_32, darn_raw, darn, cmprb, 5830 *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal, 5831 cmpeqb, *cmpeqb_internal): ... here. 5832 58332019-08-30 Richard Biener <rguenther@suse.de> 5834 5835 Backport from mainline 5836 2019-04-29 Richard Biener <rguenther@suse.de> 5837 5838 PR tree-optimization/90278 5839 * tree-ssa-forwprop.c (pass_forwprop::execute): Transfer/clean 5840 EH on comparison simplification. 5841 58422019-08-29 Richard Biener <rguenther@suse.de> 5843 5844 PR tree-optimization/91568 5845 * tree-vectorizer.h (_slp_tree::max_nunits): Add. 5846 (vect_update_max_nunits): Add overload for poly_uint64. 5847 * tree-vect-slp.c (vect_create_new_slp_node): Initialize it. 5848 (vect_build_slp_tree): Record max_nunits into the subtree 5849 and merge it upwards. 5850 (vect_print_slp_tree): Print max_nunits. 5851 58522019-08-28 Richard Biener <rguenther@suse.de> 5853 5854 Backport from mainline 5855 2019-05-27 Richard Biener <rguenther@suse.de> 5856 5857 PR tree-optimization/90637 5858 * tree-ssa-sink.c (statement_sink_location): Honor the 5859 computed sink location for single-uses. 5860 58612019-08-26 Xiong Hu Luo <luoxhu@linux.ibm.com> 5862 5863 Backport r274411 from trunk to gcc-9-branch. 5864 2019-08-14 Xiong Hu Luo <luoxhu@linux.ibm.com> 5865 5866 PR lto/91287 5867 * builtins.c (builtin_with_linkage_p): New function. 5868 * builtins.h (builtin_with_linkage_p): New function. 5869 * symtab.c (write_symbol): Remove redundant assert. 5870 * lto-streamer-out.c (symtab_node::output_to_lto_symbol_table_p): 5871 Remove FIXME and use builtin_with_linkage_p. 5872 58732019-08-25 Uroš Bizjak <ubizjak@gmail.com> 5874 5875 PR target/91533 5876 Backport from mainline 5877 2019-06-30 Uroš Bizjak <ubizjak@gmail.com> 5878 5879 * config/i386/sse.md (ssse3_abs<mode>2): Rename from abs<mode>2. 5880 * config/i386/i386-builtin.def (__builtin_ia32_pabsb): 5881 Use CODE_FOR_ssse3_absv8qi2. 5882 (__builtin_ia32_pabsw): Use CODE_FOR_ssse3_absv4hi2. 5883 (__builtin_ia32_pabsd): Use CODE_FOR_ssse3_absv2si2. 5884 58852019-08-23 Mihailo Stojanovic <mistojanovic@wavecomp.com> 5886 5887 Backport from mainline 5888 2019-08-23 Mihailo Stojanovic <mistojanovic@wavecomp.com> 5889 5890 * config/mips/mips.md (mips_get_fcsr, *mips_get_fcsr): Use SI 5891 machine mode for unspec_volatile operand. 5892 58932019-08-23 Martin Liska <mliska@suse.cz> 5894 5895 PR ipa/91508 5896 Backport from mainline 5897 2019-08-15 Martin Liska <mliska@suse.cz> 5898 5899 PR ipa/91438 5900 * cgraph.c (cgraph_node::remove): When setting 5901 n->origin = NULL for all nested functions, reset 5902 also next_nested. 5903 59042019-08-23 Martin Liska <mliska@suse.cz> 5905 5906 Backport from mainline 5907 2019-08-15 Martin Liska <mliska@suse.cz> 5908 5909 * cgraph.c (cgraph_node::verify_node): Verify origin, nested 5910 and next_nested. 5911 59122019-08-23 Martin Liska <mliska@suse.cz> 5913 5914 Backport from mainline 5915 2019-08-15 Martin Liska <mliska@suse.cz> 5916 5917 PR ipa/91404 5918 * passes.c (order): Remove. 5919 (uid_hash_t): Likewise). 5920 (remove_cgraph_node_from_order): Remove from set 5921 of pointers (cgraph_node *). 5922 (insert_cgraph_node_to_order): New. 5923 (duplicate_cgraph_node_to_order): New. 5924 (do_per_function_toporder): Register all 3 cgraph hooks. 5925 Skip removed_nodes now as we know about all of them. 5926 59272019-08-21 Iain Sandoe <iain@sandoe.co.uk> 5928 5929 Backport from mainline 5930 2019-08-18 Iain Sandoe <iain@sandoe.co.uk> 5931 5932 * config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Add asserts 5933 for cpu and machine. Factor 64/32b builtins. 5934 59352019-08-20 Eric Botcazou <ebotcazou@adacore.com> 5936 5937 PR rtl-optimization/91347 5938 * dse.c (scan_insn): Call add_wild_read for non-const/memset tail calls 5939 before reload if HARD_FRAME_POINTER_IS_ARG_POINTER. 5940 59412019-08-19 Richard Earnshaw <rearnsha@arm.com> 5942 5943 Backport from mainline 5944 2019-09-09 Richard Earnshaw <rearnsha@arm.com> 5945 5946 PR target/91386 5947 * config/aarch64/aarch64.c (aarch64_gen_adjusted_ldpstp): Use copy_rtx 5948 to preserve the contents of the original insns. 5949 59502019-08-16 Bernd Edlinger <bernd.edlinger@hotmail.de> 5951 5952 Backport from mainline 5953 2019-08-16 Bernd Edlinger <bernd.edlinger@hotmail.de> 5954 5955 PR tree-optimization/91109 5956 * lra-int.h (lra_need_for_scratch_reg_p): Declare. 5957 * lra.c (lra): Use lra_need_for_scratch_reg_p. 5958 * lra-spills.c (lra_need_for_scratch_reg_p): New function. 5959 5960 2019-08-07 Bernd Edlinger <bernd.edlinger@hotmail.de> 5961 5962 PR tree-optimization/91109 5963 * lra-remat.c (update_scratch_ops): Remove assignment of the 5964 hard register. 5965 59662019-08-15 Steve Ellcey <sellcey@marvell.com> 5967 5968 Backport from mainline 5969 2019-08-02 Steve Ellcey <sellcey@marvell.com> 5970 5971 * omp-simd-clone.c (simd_clone_adjust_return_type): Remove call to 5972 build_distinct_type_copy. 5973 (simd_clone_adjust_argument_types): Ditto. 5974 (simd_clone_adjust): Call build_distinct_type_copy here. 5975 (expand_simd_clones): Ditto. 5976 59772019-08-15 Richard Biener <rguenther@suse.de> 5978 5979 PR tree-optimization/91445 5980 Backport from mainline 5981 2019-07-05 Richard Biener <rguenther@suse.de> 5982 5983 PR tree-optimization/91091 5984 * tree-ssa-alias.h (get_continuation_for_phi): Add tbaa_p parameter. 5985 (walk_non_aliased_vuses): Likewise. 5986 * tree-ssa-alias.c (maybe_skip_until): Pass down tbaa_p. 5987 (get_continuation_for_phi): New tbaa_p parameter and pass 5988 it down. 5989 (walk_non_aliased_vuses): Likewise. 5990 * tree-ssa-pre.c (translate_vuse_through_block): Likewise. 5991 * tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr): 5992 Likewise. 5993 * tree-ssa-sccvn.c (struct vn_walk_cb_data): Add tbaa_p flag. 5994 (vn_reference_lookup_3): Handle and pass down tbaa_p flag. 5995 (vn_reference_lookup_pieces): Adjust. 5996 (vn_reference_lookup): Remove alias-set altering, instead pass 5997 down false as tbaa_p. 5998 5999 2019-07-04 Richard Biener <rguenther@suse.de> 6000 6001 * tree-ssa-sccvn.h (vn_reference_lookup): Add last_vuse_ptr 6002 argument. 6003 * tree-ssa-sccvn.c (last_vuse_ptr, vn_walk_kind): Move 6004 globals into... 6005 (struct vn_walk_cb_data): New callback data struct. 6006 (vn_reference_lookup_2): Adjust. 6007 (vn_reference_lookup_3): Likewise. 6008 (vn_reference_lookup_pieces): Likewise. 6009 (vn_reference_lookup): Likewise, get last_vuse_ptr argument. 6010 (visit_reference_op_load): Adjust. 6011 60122019-08-14 Martin Sebor <msebor@redhat.com> 6013 6014 Backport from mainline 6015 6016 2019-08-01 Martin Sebor <msebor@redhat.com> 6017 6018 PR c++/90947 6019 * tree.c (type_initializer_zero_p): Define. 6020 * tree.h (type_initializer_zero_p): New function. 6021 6022 2019-08-05 Martin Sebor <msebor@redhat.com> 6023 6024 * doc/extend.texi (Common Variable Attributes): Document alias 6025 attribute. 6026 60272019-08-12 Richard Biener <rguenther@suse.de> 6028 6029 Backport from mainline 6030 2019-08-12 Richard Biener <rguenther@suse.de> 6031 6032 PR lto/91375 6033 * tree.c (free_lang_data_in_type): Do not free TYPE_BINFO dependent on 6034 flag_devirtualize. 6035 6036 2019-08-12 Richard Biener <rguenther@suse.de> 6037 6038 PR driver/91130 6039 * lto-wrapper.c (get_options_from_collect_gcc_options): Remove 6040 lang_mask option, always use CL_DRIVER. 6041 (find_and_merge_options): Adjust. 6042 (run_gcc): Likewise. 6043 6044 2019-08-07 Richard Earnshaw <rearnsha@arm.com> 6045 6046 PR driver/91130 6047 * lto-wrapper.c (find_and_merge_options): Use CL_DRIVER when 6048 processing COLLECT_GCC_OPTIONS. 6049 (run_gcc): Likewise. 6050 60512019-08-12 Jakub Jelinek <jakub@redhat.com> 6052 6053 * BASE-VER: Set to 9.2.1. 6054 60552019-08-12 Release Manager 6056 6057 * GCC 9.2.0 released. 6058 60592019-08-05 Kito Cheng <kito.cheng@sifive.com> 6060 6061 Backport from mainline 6062 2019-08-05 Kito Cheng <kito.cheng@sifive.com> 6063 6064 * config/riscv/riscv.c (riscv_promote_function_mode): New. 6065 (TARGET_PROMOTE_FUNCTION_MODE): Use riscv_promote_function_mode. 6066 60672019-08-05 Alan Modra <amodra@gmail.com> 6068 6069 PR target/91349 6070 * config/rs6000/freebsd64.h (CPLUSPLUS_CPP_SPEC), 6071 (LINK_GCC_C_SEQUENCE_SPEC): Undef. 6072 60732019-08-04 Segher Boessenkool <segher@kernel.crashing.org> 6074 6075 Backport from trunk 6076 2019-05-02 Segher Boessenkool <segher@kernel.crashing.org> 6077 6078 * config/rs6000/rs6000.c (rs6000_dbx_register_number): Return the 6079 correct numbers for TFHAR, TFIAR, TEXASR. 6080 60812019-08-03 Iain Sandoe <iain@sandoe.co.uk> 6082 6083 Backport from mainline 6084 2019-07-24 Iain Sandoe <iain@sandoe.co.uk> 6085 6086 PR bootstrap/87030 6087 * config/i386/darwin.h (REAL_LIBGCC_SPEC): Revert change from r273749. 6088 6089 PR bootstrap/87030 6090 * config/i386/darwin.h (REAL_LIBGCC_SPEC): Move from here... 6091 * config/i386/darwin32-biarch.h .. to here. 6092 * config/i386/darwin64-biarch.h: Adjust comments. 6093 * config/rs6000/darwin32-biarch.h: Likewise. 6094 * config/rs6000/darwin64-biarch.h: Likewise. 6095 * config.gcc: Missed commit from r273746 6096 (*-*-darwin*): Don't include CPU t-darwin here. 6097 (i[34567]86-*-darwin*): Adjust to use biarch files. Produce 6098 an error message if i686-darwin configuration is attempted for 6099 Darwin >= 18. 6100 6101 Backport from mainline 6102 2019-07-23 Iain Sandoe <iain@sandoe.co.uk> 6103 6104 PR bootstrap/87030 6105 * config.gcc (*-*-darwin*): Don't include CPU t-darwin here. 6106 (i[34567]86-*-darwin*): Adjust to use biarch files. Produce 6107 an error message if i686-darwin configuration is attempted for 6108 Darwin >= 18. 6109 (x86_64-*-darwin*): Switch to single multilib for Darwin >= 18. 6110 (powerpc-*-darwin*): Use biarch files where needed. 6111 (powerpc64-*-darwin*): Likewise. 6112 * config/i386/darwin.h (REAL_LIBGCC_SPEC): Move to new biarch file. 6113 (DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single 6114 arch case. 6115 * config/i386/darwin32-biarch.h: New. 6116 * config/i386/darwin64.h: Rename. 6117 * gcc/config/i386/darwin64-biarch.h: To this. 6118 * config/i386/t-darwin: Rename. 6119 * gcc/config/i386/t-darwin32-biarch: To this. 6120 * config/i386/t-darwin64: Rename. 6121 * gcc/config/i386/t-darwin64-biarch: To this. 6122 * config/rs6000/darwin32-biarch.h: New. 6123 * config/rs6000/darwin64.h: Rename. 6124 * config/rs6000/darwin64-biarch.h: To this. 6125 (DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single 6126 arch case. 6127 * config/rs6000/t-darwin8: Rename. 6128 * config/rs6000/t-darwin32-biarch: To this. 6129 * config/rs6000/t-darwin64 Rename. 6130 * config/rs6000/t-darwin64-biarch: To this. 6131 61322019-08-03 Iain Sandoe <iain@sandoe.co.uk> 6133 6134 Backport from mainline 6135 2019-07-07 Iain Sandoe <iain@sandoe.co.uk> 6136 6137 * config/darwin.c (darwin_override_options): Make a final check on PIC 6138 options. 6139 61402019-08-03 Iain Sandoe <iain@sandoe.co.uk> 6141 6142 Backport from mainline 6143 2019-07-07 Iain Sandoe <iain@sandoe.co.uk> 6144 * config/darwin.c (darwin_override_options): Don't jam symbol stubs 6145 on for kernel code. 6146 61472019-08-03 Iain Sandoe <iain@sandoe.co.uk> 6148 6149 Backport from mainline 6150 2019-06-28 Iain Sandoe <iain@sandoe.co.uk> 6151 6152 * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Remove 6153 override on extra_headers. 6154 61552019-08-03 Iain Sandoe <iain@sandoe.co.uk> 6156 6157 Backport from mainline 6158 2019-06-27 Iain Sandoe <iain@sandoe.co.uk> 6159 6160 * config/rs6000/rs6000.c (darwin_rs6000_override_options): Honour 6161 user-specified float mode choice for kernel mode code. 6162 61632019-08-03 Iain Sandoe <iain@sandoe.co.uk> 6164 6165 Backport from mainline 6166 2019-06-27 Iain Sandoe <iain@sandoe.co.uk> 6167 6168 * config/rs6000/rs6000.c (darwin_rs6000_override_options): Do not 6169 use longcall for 64b code. 6170 61712019-08-03 Iain Sandoe <iain@sandoe.co.uk> 6172 6173 Backport from mainline 6174 2019-06-23 Iain Sandoe <iain@sandoe.co.uk> 6175 6176 * config/rs6000/darwin.h: Handle GCC target pragma. 6177 61782019-08-03 Iain Sandoe <iain@sandoe.co.uk> 6179 6180 Backport from mainline 6181 2019-06-23 Iain Sandoe <iain@sandoe.co.uk> 6182 6183 * config/rs6000/darwin.h: (__PPC__, __PPC64__): New. 6184 61852019-08-02 Martin Sebor <msebor@redhat.com> 6186 6187 Backport from mainline 6188 2019-07-09 Martin Sebor <msebor@redhat.com> 6189 6190 PR tree-optimization/90989 6191 * tree-ssa-strlen.c (handle_char_store): Constrain a single character 6192 optimization to just single character stores. 6193 61942019-08-02 Iain Sandoe <iain@sandoe.co.uk> 6195 6196 Backport from mainline 6197 2019-06-19 Iain Sandoe <iain@sandoe.co.uk> 6198 6199 * config/darwin-driver.c (darwin_driver_init): Fix off-by-one errors 6200 in computing the number of options to be moved. 6201 6202 Backport from mainline 6203 2019-06-13 Iain Sandoe <iain@sandoe.co.uk> 6204 6205 * config/darwin-driver.c (validate_macosx_version_min): New. 6206 (darwin_default_min_version): Cleanup and validate supplied version. 6207 (darwin_driver_init): Likewise and push cleaned version into opts. 6208 62092019-08-02 Iain Sandoe <iain@sandoe.co.uk> 6210 6211 Backport from mainline 6212 2019-05-31 Iain Sandoe <iain@sandoe.co.uk> 6213 6214 * config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New. 6215 62162019-08-02 Iain Sandoe <iain@sandoe.co.uk> 6217 6218 Backport from mainline 6219 2019-05-18 Iain Sandoe <iain@sandoe.co.uk> 6220 6221 * config/darwin-c.c (darwin_register_objc_includes): Do not 6222 prepend the sysroot when building gnu-runtime header search 6223 paths. 6224 62252019-08-02 Iain Sandoe <iain@sandoe.co.uk> 6226 6227 Backport from mainline 6228 2019-05-18 Iain Sandoe <iain@sandoe.co.uk> 6229 6230 * config/darwin.c (darwin_file_end): Use switch_to_section () 6231 instead of direct output of the asm. 6232 62332019-08-02 Richard Biener <rguenther@suse.de> 6234 6235 Backport from mainline 6236 2019-07-31 Richard Biener <rguenther@suse.de> 6237 6238 PR tree-optimization/91280 6239 * tree-ssa-structalias.c (get_constraint_for_component_ref): 6240 Decompose MEM_REF manually for offset handling. 6241 6242 2019-07-31 Richard Biener <rguenther@suse.de> 6243 6244 PR tree-optimization/91293 6245 * tree-vect-slp.c (vect_build_slp_tree_2): Do not swap operands 6246 of reduction stmts. 6247 62482019-08-02 Richard Biener <rguenther@suse.de> 6249 6250 Backport from mainline 6251 2019-07-31 Richard Biener <rguenther@suse.de> 6252 6253 PR tree-optimization/91178 6254 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): 6255 Use tail-recursion. 6256 6257 2019-07-17 Richard Biener <rguenther@suse.de> 6258 6259 PR tree-optimization/91178 6260 * tree-ssa.c (release_defs_bitset): Iterate from higher to 6261 lower SSA names to avoid quadratic behavior in the common case. 6262 * tree-data-ref.c (split_constant_offset): Add limit argument 6263 and pass it down. Initialize it from PARAM_SSA_NAME_DEF_CHAIN_LIMIT. 6264 (split_constant_offset_1): Add limit argument and use it to 6265 limit SSA def walking. Optimize the common plus/minus case. 6266 6267 2019-07-12 Martin Sebor <msebor@redhat.com> 6268 6269 * doc/invoke.texi (ssa-name-def-chain-limit): Document new --param. 6270 * params.def (PARAM_SSA_NAME_DEF_CHAIN_LIMIT): Add new --param. 6271 * tree-vrp.c (vrp_prop::check_mem_ref): Use 6272 PARAM_SSA_NAME_DEF_CHAIN_LIMIT. 6273 62742019-08-01 Jakub Jelinek <jakub@redhat.com> 6275 6276 Backported from mainline 6277 2019-07-31 Jakub Jelinek <jakub@redhat.com> 6278 6279 PR middle-end/91301 6280 * gimplify.c (gimplify_omp_for): If for class iterator on 6281 distribute parallel for there is no data sharing clause 6282 on inner_for_stmt, look for private clause on combined 6283 parallel too and if found, move it to inner_for_stmt. 6284 6285 2019-07-30 Jakub Jelinek <jakub@redhat.com> 6286 6287 PR middle-end/91216 6288 * omp-low.c (global_nonaddressable_vars): New variable. 6289 (use_pointer_for_field): For global decls, if they are non-addressable, 6290 remember it in the global_nonaddressable_vars bitmap, if they are 6291 addressable and in the global_nonaddressable_vars bitmap, ignore their 6292 TREE_ADDRESSABLE bit. 6293 (omp_copy_decl_2): Clear TREE_ADDRESSABLE also on private copies of 6294 vars in global_nonaddressable_vars bitmap. 6295 (execute_lower_omp): Free global_nonaddressable_vars bitmap. 6296 6297 PR target/91150 6298 * config/i386/i386.c (expand_vec_perm_blend): Change mask type 6299 from unsigned to unsigned HOST_WIDE_INT. For E_V64QImode cast 6300 comparison to unsigned HOST_WIDE_INT before shifting it left. 6301 6302 2019-07-17 Jakub Jelinek <jakub@redhat.com> 6303 6304 PR tree-optimization/91157 6305 * tree-vect-generic.c (expand_vector_comparison): Handle lhs being 6306 a vector boolean with scalar mode. 6307 (expand_vector_condition): Handle first operand being a vector boolean 6308 with scalar mode. 6309 (expand_vector_operations_1): For comparisons, don't bail out early 6310 if the return type is vector boolean with scalar mode, but comparison 6311 operand type is not. 6312 63132019-08-01 Alan Modra <amodra@gmail.com> 6314 6315 PR target/91135 6316 * config/rs6000/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Don't 6317 define. 6318 * config/rs6000/linux64.h (TARGET_OS_CPP_BUILTINS): Invoke 6319 GNU_USER_TARGET_OS_CPP_BUILTINS for aixdesc abi. 6320 (GNU_USER_TARGET_D_OS_VERSIONS): Don't define. 6321 63222019-07-31 Jonathan Wakely <jwakely@redhat.com> 6323 6324 Backport from mainline 6325 2019-06-24 Jonathan Wakely <jwakely@redhat.com> 6326 6327 * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG, LDBL_DECIMAL_DIG) 6328 (FLT_HAS_SUBNORM, DBL_HAS_SUBNORM, LDBL_HAS_SUBNORM, FLT_TRUE_MIN) 6329 (DBL_TRUE_MIN, LDBL_TRUE_MIN): Also define for C++17. 6330 63312019-07-31 Richard Biener <rguenther@suse.de> 6332 6333 Backport from mainline 6334 2019-07-19 Richard Biener <rguenther@suse.de> 6335 6336 PR tree-optimization/91200 6337 * tree-ssa-phiopt.c (cond_store_replacement): Check we have 6338 no PHI nodes in middle-bb. 6339 6340 2019-07-15 Richard Biener <rguenther@suse.de> 6341 6342 PR middle-end/91162 6343 * tree-cfg.c (move_block_to_fn): When releasing a virtual PHI 6344 node make sure to replace all uses with something valid. 6345 6346 2019-07-12 Richard Biener <rguenther@suse.de> 6347 6348 PR tree-optimization/91145 6349 * tree-vect-slp.c (vect_build_slp_tree_2): Fix reduction 6350 chain check. 6351 6352 2019-07-11 Richard Biener <rguenther@suse.de> 6353 6354 PR middle-end/91131 6355 * gimplify.c (gimplify_compound_literal_expr): Force a temporary 6356 when the object is volatile and we have not cleared it even though 6357 there are no nonzero elements. 6358 6359 2019-07-10 Richard Biener <rguenther@suse.de> 6360 6361 PR tree-optimization/91126 6362 * tree-ssa-sccvn.c (n_walk_cb_data::push_partial_def): Adjust 6363 native encoding offset for BYTES_BIG_ENDIAN. 6364 (vn_reference_lookup_3): Likewise. 6365 63662019-07-30 Jan Hubicka <jh@suse.cz> 6367 6368 Backport from mainline 6369 2019-07-23 Jan Hubicka <hubicka@ucw.cz> 6370 6371 * i386-common.c: Use PROCESSOR_ZNVER2 scheduler for znver2. 6372 * config/i386/znver1.md: Enable patterns for znver2 and add store 6373 variants which use extra AGU unit. 6374 63752019-07-30 Jan Hubicka <jh@suse.cz> 6376 6377 Backport from mainline 6378 2019-07-23 Jan Hubicka <hubicka@ucw.cz> 6379 6380 * config/i386/i386.c (ix86_option_override_internal): Default 6381 PARAM_AVOID_FMA_MAX_BITS to 256 for znver2. 6382 * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Set 6383 for ZNVER2. 6384 63852019-07-30 Jan Hubicka <jh@suse.cz> 6386 6387 Backport from mainline 6388 2019-07-23 Jan Hubicka <hubicka@ucw.cz> 6389 6390 * config/i386/x86-tune-costs.h (znver2_memcpy): Update. 6391 (znver2_costs): Update 256 bit SSE costs and multiplication. 6392 63932019-07-24 Bin Cheng <bin.cheng@linux.alibaba.com> 6394 6395 Backport from mainline 6396 2019-07-18 Bin Cheng <bin.cheng@linux.alibaba.com> 6397 6398 PR tree-optimization/91137 6399 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field. 6400 (tree_ssa_iv_optimize_init, alloc_iv, tree_ssa_iv_optimize_finalize): 6401 Init, use and fini the above new field. 6402 (determine_base_object_1): New function. 6403 (determine_base_object): Reimplement using walk_tree. 6404 64052019-07-23 Matthew Beliveau <mbelivea@redhat.com> 6406 6407 Backported from mainline 6408 2019-07-16 Jeff Law <law@redhat.com> 6409 6410 PR rtl-optimization/91173 6411 * tree-ssa-address.c (addr_for_mem_ref): If the base is an 6412 SSA_NAME with a constant value, fold its value into the offset 6413 and clear the base before calling gen_addr_rtx. 6414 * g++.dg/pr91173.C: New test. 6415 64162019-07-23 Richard Biener <rguenther@suse.de> 6417 6418 PR debug/91231 6419 * lto-streamer-in.c (input_function): Drop inline-entry markers 6420 that ended up with an unknown location block. 6421 64222019-07-22 Paul A. Clarke <pc@us.ibm.com> 6423 6424 Backport from mainline 6425 * config/rs6000/smmintrin.h (_mm_blend_epi16): New. 6426 (_mm_blendv_epi8): New. 6427 64282019-07-22 Martin Liska <mliska@suse.cz> 6429 6430 Backport from mainline 6431 2019-07-22 Martin Liska <mliska@suse.cz> 6432 6433 PR driver/91172 6434 * opts-common.c (decode_cmdline_option): Decode 6435 argument of -Werror and check it for a wrong language. 6436 * opts-global.c (complain_wrong_lang): Remove such case. 6437 64382019-07-22 Claudiu Zissulescu <claziss@synopsys.com> 6439 6440 Backport from mainline. 6441 * config/arc/arc.c (prepare_move_operands): Always use an 6442 intermediate register when storing a TLS symbols. 6443 64442019-07-20 Richard Sandiford <richard.sandiford@arm.com> 6445 6446 Backport from mainline 6447 2019-07-10 Richard Sandiford <richard.sandiford@arm.com> 6448 6449 * fold-const.c (fold_relational_const): Fix folding of 6450 vector-to-scalar NE_EXPRs. 6451 (test_vector_folding): Add more tests. 6452 64532019-07-19 Jason Merrill <jason@redhat.com> 6454 6455 PR c++/82081 - tail call optimization breaks noexcept 6456 * tree-tailcall.c (find_tail_calls): Don't turn a call from a 6457 nothrow function to a might-throw function into a tail call. 6458 64592019-07-18 Kito Cheng <kito.cheng@sifive.com> 6460 6461 Backport from mainline 6462 2019-07-08 Andrew Waterman <andrew@sifive.com> 6463 Jim Wilson <jimw@sifive.com> 6464 6465 * config/riscv/riscv.md (lshrsi3_zero_extend_3+1): Use operands[1] 6466 bitsize instead of BITS_PER_WORD. 6467 gcc/testsuite/ 6468 64692019-07-17 John David Anglin <danglin@gcc.gnu.org> 6470 6471 * config/pa/pa.c (pa_som_asm_init_sections): Don't force all constant 6472 data into data section when generating PIC code. 6473 (pa_select_section): Use pa_reloc_rw_mask() to qualify relocs. 6474 (pa_reloc_rw_mask): Return 3 when generating PIC code and when 6475 generating code for SOM targets earlier than HP-UX 11. Otherwise, 6476 return 2 for SOM and 0 for other targets. 6477 64782019-07-17 Andreas Krebbel <krebbel@linux.ibm.com> 6479 6480 Backport from mainline 6481 2019-07-01 Andreas Krebbel <krebbel@linux.ibm.com> 6482 6483 * config/s390/vector.md: Fix shift count operand printing. 6484 64852019-07-16 Wilco Dijkstra <wdijkstr@arm.com> 6486 6487 Backport from mainline 6488 2019-05-30 Wilco Dijkstra <wdijkstr@arm.com> 6489 6490 PR driver/90684 6491 * gcc/opts.c (parse_and_check_align_values): Allow 4 alignment values. 6492 64932019-07-14 Jakub Jelinek <jakub@redhat.com> 6494 6495 Backported from mainline 6496 2019-07-04 Jakub Jelinek <jakub@redhat.com> 6497 6498 PR middle-end/78884 6499 * gimplify.c (struct gimplify_omp_ctx): Add add_safelen1 member. 6500 (gimplify_bind_expr): If seeing TREE_ADDRESSABLE VLA inside of simd 6501 loop body, set ctx->add_safelen1 instead of making it GOVD_PRIVATE. 6502 (gimplify_adjust_omp_clauses): Add safelen (1) clause if 6503 ctx->add_safelen1 is set. 6504 6505 PR rtl-optimization/90756 6506 * explow.c (promote_ssa_mode): Always use TYPE_MODE, don't bypass it 6507 for VECTOR_TYPE_P. 6508 65092019-07-12 Richard Biener <rguenther@suse.de> 6510 6511 Backport from mainline 6512 2019-07-04 Jakub Jelinek <jakub@redhat.com> 6513 6514 PR tree-optimization/91063 6515 * tree-vect-stmts.c (vect_init_vector): Call gsi_remove to remove 6516 stmt from stmts sequence before calling vect_init_vector_1. 6517 Formatting fix. 6518 6519 2019-07-04 Richard Biener <rguenther@suse.de> 6520 6521 PR ipa/91062 6522 * tree-pass.h (execute_all_ipa_transforms): Add a flag 6523 parameter whether to disable GC collection. 6524 * passes.c (execute_one_ipa_transform_pass): Likewise, and 6525 honor it. 6526 (execute_all_ipa_transforms): Likewise and pass it down. 6527 * cgraph.c (cgraph_node::get_body): Do not invoke garbage 6528 collection from applying IPA transforms. 6529 * cgraphunit.c (cgraph_node::expand): Allow garbage collection 6530 from applying IPA transforms. 6531 6532 2019-06-26 Richard Biener <rguenther@suse.de> 6533 6534 PR ipa/90982 6535 * tree-inline.c (remap_ssa_name): Copy SSA range info. 6536 6537 2019-06-24 Richard Biener <rguenther@suse.de> 6538 6539 PR tree-optimization/90972 6540 * tree-vect-stmts.c (vect_init_vector): Handle CONSTANT_CLASS_P 6541 in common code, dealing with STRING_CST properly. 6542 6543 2019-06-21 Richard Biener <rguenther@suse.de> 6544 6545 PR debug/90914 6546 * dwarf2out.c (prune_unused_types_walk): Always consider 6547 function-local extern declarations as used. 6548 6549 2019-06-18 Richard Biener <rguenther@suse.de> 6550 6551 PR debug/90900 6552 * cfgexpand.c (expand_debug_expr): Treat NOTE_P DECL_RTL 6553 as if optimized away. 6554 6555 2019-05-07 Richard Biener <rguenther@suse.de> 6556 6557 PR lto/90369 6558 * lto-wrapper.c (debug_objcopy): Use the original filename 6559 including archive offset for the filename used for -save-temps. 6560 65612019-07-12 Eric Botcazou <ebotcazou@adacore.com> 6562 6563 PR rtl-optimization/91136 6564 * df-core.c (ACCESSING REFS): Fix typos in comment. 6565 * resource.c (mark_target_live_reg): Add artificial defs that occur at 6566 the beginning of the block to the initial set of live registers. 6567 65682019-07-11 Uroš Bizjak <ubizjak@gmail.com> 6569 6570 Backport from mainline 6571 2019-07-06 Richard Sandiford <richard.sandiford@arm.com> 6572 6573 * config/i386/sse.md (*andnot<mode>3_bcst): Fix VI/VI48_AVX512VL typo. 6574 65752019-07-11 Segher Boessenkool <segher@kernel.crashing.org> 6576 6577 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Handle 6578 Modula-2. 6579 65802019-07-08 Richard Biener <rguenther@suse.de> 6581 6582 PR tree-optimization/91108 6583 * tree-ssa-sccvn.c: Include builtins.h. 6584 (vn_reference_lookup_3): Use only alignment constraints to 6585 verify same-valued store disambiguation. 6586 65872019-07-05 Szabolcs Nagy <szabolcs.nagy@arm.com> 6588 6589 Backport from mainline 6590 2019-06-03 Szabolcs Nagy <szabolcs.nagy@arm.com> 6591 6592 * config/aarch64/aarch64-protos.h (aarch64_asm_output_alias): Declare. 6593 (aarch64_asm_output_external): Declare. 6594 * config/aarch64/aarch64.c (aarch64_asm_output_variant_pcs): New. 6595 (aarch64_declare_function_name): Call aarch64_asm_output_variant_pcs. 6596 (aarch64_asm_output_alias): New. 6597 (aarch64_asm_output_external): New. 6598 * config/aarch64/aarch64.h (ASM_OUTPUT_DEF_FROM_DECLS): Define. 6599 (ASM_OUTPUT_EXTERNAL): Define. 6600 6601 2019-06-04 Szabolcs Nagy <szabolcs.nagy@arm.com> 6602 6603 * config/aarch64/aarch64-protos.h (aarch64_asm_output_external): Remove 6604 const. 6605 * config/aarch64/aarch64.c (aarch64_asm_output_external): Call 6606 default_elf_asm_output_external. 6607 66082019-07-04 Martin Liska <mliska@suse.cz> 6609 6610 Backport from mainline 6611 2019-07-03 Martin Liska <mliska@suse.cz> 6612 6613 PR tree-optimization/90892 6614 * builtins.c (inline_expand_builtin_string_cmp): Handle '\0' 6615 in string constants. 6616 66172019-07-04 Martin Liska <mliska@suse.cz> 6618 6619 Backport from mainline 6620 2019-07-03 Martin Liska <mliska@suse.cz> 6621 6622 PR middle-end/90899 6623 * multiple_target.c (create_dispatcher_calls): Add to comdat 6624 group only if set for ifunc. 6625 66262019-07-03 Eric Botcazou <ebotcazou@adacore.com> 6627 6628 * dwarf2out.c (add_scalar_info): Add back refererence to existing DIE 6629 if it has the DW_AT_data_member_location attribute. 6630 66312019-07-02 Andrew Stubbs <ams@codesourcery.com> 6632 6633 Backport from mainline: 6634 2019-07-02 Andrew Stubbs <ams@codesourcery.com> 6635 6636 * config/gcn/gcn.md (movdi_symbol_save_scc): Convert to define_insn 6637 with inlined save and restore. 6638 66392019-07-01 Eric Botcazou <ebotcazou@adacore.com> 6640 6641 PR middle-end/64242 6642 * config/sparc/sparc.md (nonlocal_goto): Restore frame pointer last. 6643 Add frame clobber and schedule blockage. 6644 66452019-06-29 Jakub Jelinek <jakub@redhat.com> 6646 6647 Backported from mainline 6648 2019-06-27 Jakub Jelinek <jakub@redhat.com> 6649 6650 PR c++/91024 6651 * gimplify.c (collect_fallthrough_labels): Ignore GIMPLE_PREDICT 6652 statements. 6653 6654 2019-06-26 Jakub Jelinek <jakub@redhat.com> 6655 6656 PR target/90991 6657 * config/i386/sse.md 6658 (*<extract_type>_vinsert<shuffletype><extract_suf>_0): Use vmovupd, 6659 vmovups, vmovdqu, vmovdqu32 or vmovdqu64 instead of the aligned 6660 insns if operands[2] is misaligned_operand. 6661 6662 2019-06-12 Jakub Jelinek <jakub@redhat.com> 6663 6664 PR c/90760 6665 * symtab.c (symtab_node::set_section): Allow being called on aliases 6666 as long as they aren't analyzed yet. 6667 66682019-06-28 Jeff Law <law@redhat.com> 6669 6670 Backport from mainline 6671 2019-06-21 Jeff Law <law@redhat.com> 6672 6673 PR tree-optimization/90949 6674 * tree-ssa-copy.c (fini_copy_prop): Use reset_flow_sensitive_info. 6675 * tree-ssanames.c (reset_flow_sensitive_info): Reset non-null state. 6676 66772019-06-28 Andrew Stubbs <ams@codesourcery.com> 6678 6679 Backport from mainline: 6680 2019-05-22 Andrew Stubbs <ams@codesourcery.com> 6681 6682 * config/gcn/gcn.c (gcn_trampoline_init): Call "sorry" on GCN5. 6683 66842019-06-26 Martin Jambor <mjambor@suse.cz> 6685 6686 Backport from mainline 6687 2019-06-25 Martin Jambor <mjambor@suse.cz> 6688 6689 PR ipa/90939 6690 * ipa-cp.c (ipcp_bits_lattice::meet_with): Remove assert. 6691 66922019-06-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6693 6694 Backport from mainline 6695 2019-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 6696 6697 * configure.ac (ld_vers) <*-*-solaris2*>: Remove support for 6698 alternative Solaris 11.4 format. 6699 * configure: Regenerate. 6700 67012019-06-25 Claudiu Zissulescu <claziss@synopsys.com> 6702 6703 Backport from mainline 6704 2019-06-25 Claudiu Zissulescu <claziss@synopsys.com> 6705 6706 * config/arc/arc.c (arc_symbol_binds_local_p): New function. 6707 (arc_legitimize_pic_address): Simplify and cleanup the function. 6708 (SYMBOLIC_CONST): Remove. 6709 (prepare_pic_move): Likewise. 6710 (prepare_move_operands): Handle complex mov cases here. 6711 (arc_legitimize_address_0): Remove call to 6712 arc_legitimize_pic_address. 6713 (arc_legitimize_address): Remove call to 6714 arc_legitimize_tls_address. 6715 * config/arc/arc.md (movqi_insn): Allow Cm3 match. 6716 (movhi_insn): Likewise. 6717 67182019-06-25 Andrew Stubbs <ams@codesourcery.com> 6719 6720 Backport from mainline 6721 2019-05-24 Andrew Stubbs <ams@codesourcery.com> 6722 6723 * config/gcn/gcn-run.c (main): Set a non-zero return value if the 6724 kernel does not exit cleanly. 6725 * config/gcn/gcn.md (gcn_return): Insert s_waitcnt before s_dcache_wb. 6726 67272019-06-25 Andrew Stubbs <ams@codesourcery.com> 6728 6729 Backport from mainline 6730 2019-05-24 Andrew Stubbs <ams@codesourcery.com> 6731 6732 * config/gcn/gcn.c (gcn_expand_prologue): Use gen_addsi3_scalar_carry 6733 for lo-part. 6734 67352019-06-21 Richard Biener <rguenther@suse.de> 6736 6737 PR tree-optimization/90930 6738 * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Set visited 6739 flag on new stmts to avoid re-processing them. 6740 67412019-06-24 Richard Biener <rguenther@suse.de> 6742 6743 PR tree-optimization/90930 6744 PR tree-optimization/90316 6745 * tree-ssa-alias.c (walk_non_aliased_vuses): Add missing 6746 decrement of limit. 6747 67482019-06-16 Jeff Law <law@redhat.com> 6749 6750 Backport from mainline 6751 2019-06-16 Prachi Godbole <prachi.godbole@imgtec.com> 6752 Robert Suchanek <robert.suchanek@mips.com> 6753 * config/mips/mips.c (mips_expand_builtin_insn): Swap the 1st 6754 and 3rd operands of the fmadd/fmsub/maddv builtin. 6755 67562019-06-16 John David Anglin <danglin@gcc.gnu.org> 6757 6758 PR middle-end/64242 6759 * config/pa/pa.md (nonlocal_goto): Restore frame pointer last. Add 6760 frame clobbers and schedule block. 6761 (builtin_longjmp): Likewise. 6762 67632019-06-11 Jakub Jelinek <jakub@redhat.com> 6764 6765 PR target/90811 6766 * config/nvptx/nvptx.c (nvptx_output_softstack_switch): Use and.b%d 6767 instead of and.u%d. 6768 67692019-06-07 John David Anglin <danglin@gcc.gnu.orig> 6770 6771 PR target/90751 6772 * config/pa/pa-linux.h (ASM_DECLARE_FUNCTION_NAME): Update comment. 6773 Call pa_output_function_label. 6774 (TARGET_ASM_FUNCTION_PROLOGUE): define. 6775 * config/pa/pa-protos.h (pa_output_function_label): Declare. 6776 * config/pa/pa.c (pa_output_function_prologue): Add ATTRIBUTE_UNUSED 6777 to declaration. 6778 (pa_linux_output_function_prologue): Declare. 6779 (TARGET_ASM_FUNCTION_PROLOGUE): Delete define. 6780 (pa_output_function_label): New. 6781 (pa_output_function_prologue): Revise to use pa_output_function_label. 6782 (pa_linux_output_function_prologue): New. 6783 * config/pa/pa.h (TARGET_ASM_FUNCTION_PROLOGUE): Define. 6784 67852019-06-06 Richard Biener <rguenther@suse.de> 6786 6787 Backport from mainline 6788 2019-05-22 Richard Biener <rguenther@suse.de> 6789 6790 PR tree-optimization/90450 6791 * tree-ssa-loop-im.c (struct im_mem_ref): Add ref_decomposed. 6792 (mem_ref_hasher::equal): Check it. 6793 (mem_ref_alloc): Initialize it. 6794 (gather_mem_refs_stmt): Set it. 6795 6796 2019-05-13 Richard Biener <rguenther@suse.de> 6797 6798 PR tree-optimization/90402 6799 * tree-if-conv.c (tree_if_conversion): Value number only 6800 the loop body by making the latch an exit of the region 6801 as well. 6802 * tree-ssa-sccvn.c (process_bb): Add flag whether to skip 6803 processing PHIs. 6804 (do_rpo_vn): Deal with multiple edges into the entry block 6805 that are not backedges inside the region by skipping PHIs 6806 of the entry block. 6807 6808 2019-05-06 Richard Biener <rguenther@suse.de> 6809 6810 PR tree-optimization/90328 6811 * tree-data-ref.h (dr_may_alias_p): Pass in the actual loop nest. 6812 * tree-data-ref.c (dr_may_alias_p): Check whether the clique 6813 is valid in the loop nest before using it. 6814 (initialize_data_dependence_relation): Adjust. 6815 * graphite-scop-detection.c (build_alias_set): Pass the SCOP enclosing 6816 loop as loop-nest to dr_may_alias_p. 6817 68182019-06-05 Eric Botcazou <ebotcazou@adacore.com> 6819 6820 * fold-const.c (extract_muldiv_1) <PLUS_EXPR>: Do not distribute a 6821 multiplication by a power-of-two value. 6822 (fold_plusminus_mult_expr): Use pow2p_hwi to spot a power-of-two value 6823 and turn the modulo operation into a masking operation. 6824 68252019-06-05 Jakub Jelinek <jakub@redhat.com> 6826 6827 PR debug/90733 6828 * var-tracking.c (vt_expand_loc_callback): Don't create raw subregs 6829 with VOIDmode inner operands. 6830 68312019-06-05 Iain Sandoe <iain@sandoe.co.uk> 6832 6833 Backport from mainline. 6834 2019-05-23 Iain Sandoe <iain@sandoe.co.uk> 6835 * doc/sourcebuild.texi: Document mfentry target support. 6836 68372019-05-30 Jakub Jelinek <jakub@redhat.com> 6838 6839 * tree-predcom.c (is_inv_store_elimination_chain): Fix a typo - lenght 6840 to length. 6841 68422019-05-30 Iain Sandoe <iain@sandoe.co.uk> 6843 6844 Backport from mainline. 6845 2019-05-23 Iain Sandoe <iain@sandoe.co.uk> 6846 6847 * config/i386/darwin.h: Reject -mfentry*. 6848 68492019-05-30 Iain Sandoe <iain@sandoe.co.uk> 6850 6851 Backport from mainline. 6852 2019-05-12 Iain Sandoe <iain@sandoe.co.uk> 6853 6854 PR target/82920 6855 * config/i386/darwin.h (CC1_SPEC): Report -mx32 as an error for 6856 Darwin. 6857 68582019-05-30 Iain Sandoe <iain@sandoe.co.uk> 6859 6860 Backport from mainline. 6861 2019-05-12 Iain Sandoe <iain@sandoe.co.uk> 6862 6863 PR target/82920 6864 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): New. 6865 (ix86_output_indirect_branch_via_reg): Use output mechanism 6866 accounting for __USER_LABEL_PREFIX__. 6867 (ix86_output_indirect_branch_via_push): Likewise. 6868 (ix86_output_function_return): Likewise. 6869 (ix86_output_indirect_function_return): Likewise. 6870 68712019-05-29 Jakub Jelinek <jakub@redhat.com> 6872 6873 PR fortran/90329 6874 * lto-streamer.h (LTO_minor_version): Bump to 1. 6875 6876 Backported from mainline 6877 2019-05-16 Jakub Jelinek <jakub@redhat.com> 6878 6879 PR fortran/90329 6880 * tree-core.h (struct tree_decl_common): Document 6881 decl_nonshareable_flag for PARM_DECLs. 6882 * tree.h (DECL_HIDDEN_STRING_LENGTH): Define. 6883 * calls.c (expand_call): Don't try tail call if caller 6884 has any DECL_HIDDEN_STRING_LENGTH PARM_DECLs that are or might be 6885 passed on the stack and callee needs to pass any arguments on the 6886 stack. 6887 * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use 6888 else if instead of series of mutually exclusive ifs. Handle 6889 DECL_HIDDEN_STRING_LENGTH for PARM_DECLs. 6890 * tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise. 6891 68922019-05-29 Jakub Jelinek <jakub@redhat.com> 6893 6894 PR bootstrap/90543 6895 * optc-save-gen.awk: In cl_optimization_print, use correct condition 6896 for var_opt_string printing. In cl_optimization_print_diff, print 6897 (null) instead of invoking undefined behavior if one of the 6898 var_opt_string pointers is NULL and use && instead of first || in the 6899 guarding condition. For var_target_other options, handle const char * 6900 target variables similarly to const char * optimize node variables. 6901 69022019-05-28 John David Anglin <danglin@gcc.gnu.org> 6903 6904 * config/pa/pa.c (hppa_profile_hook): Remove offset adjustment. 6905 69062019-05-27 Eric Botcazou <ebotcazou@adacore.com> 6907 6908 * dwarf2out.c (resolve_args_picking_1): Deal with DW_OP_GNU_addr_index 6909 and DW_OP_GNU_const_index opcodes. 6910 69112019-05-24 John David Anglin <danglin@gcc.gnu.org> 6912 6913 PR target/90530 6914 * config/pa/pa.c (pa_can_change_mode_class): Accept mode changes from 6915 DImode to SImode in floating-point registers on 64-bit target. 6916 * config/pa/pa.md (umulsidi3): Change nonimmediate_operand to 6917 register_operand in xmpyu patterns. 6918 69192019-05-24 Martin Liska <mliska@suse.cz> 6920 6921 Backport from mainline 6922 2019-05-23 Martin Liska <mliska@suse.cz> 6923 6924 PR sanitizer/90570 6925 * gimplify.c (gimplify_target_expr): Skip TREE_STATIC target 6926 expression similarly to gimplify_decl_expr. 6927 69282019-05-22 Uroš Bizjak <ubizjak@gmail.com> 6929 6930 Backported from mainline 6931 2019-05-21 Uroš Bizjak <ubizjak@gmail.com> 6932 6933 * config/i386/cpuid.h (__cpuid): For 32bit targets, zero 6934 %ebx and %ecx bafore calling cpuid with leaf 1 or 6935 non-constant leaf argument. 6936 6937 2019-05-21 Uroš Bizjak <ubizjak@gmail.com> 6938 6939 PR target/90547 6940 * config/i386/i386.md (anddi_1 to andsi_1_zext splitter): 6941 Avoid calling gen_lowpart with CONST operand. 6942 69432019-05-21 Sebastian Huber <sebastian.huber@embedded-brains.de> 6944 6945 Backported from mainline 6946 2019-05-16 Sebastian Huber <sebastian.huber@embedded-brains.de> 6947 6948 * config/arm/t-rtems: Replace ARMv7-M multilibs with Cortex-M 6949 multilibs. 6950 69512019-05-20 Jeff Law <law@redhat.com> 6952 6953 Backported from mainline 6954 2019-05-17 Dragan Mladjenovic <dmladjenovic@wavecomp.com> 6955 6956 * config/mips/mips.c (mips_dwarf_frame_reg_mode): Replace 6957 TARGET_FLOAT64 with !TARGET_FLOAT32, thus handling both fp64 6958 and fpxx modes. 6959 69602019-05-17 Jakub Jelinek <jakub@redhat.com> 6961 6962 Backported from mainline 6963 2019-05-16 Jakub Jelinek <jakub@redhat.com> 6964 6965 PR c++/90484 6966 * tree-ssa-scopedtables.c (equal_mem_array_ref_p): Don't assert that 6967 sz0 is equal to sz1, instead return false in that case. 6968 6969 * omp-low.c (lower_rec_input_clauses): If OMP_CLAUSE_IF 6970 has non-constant expression, force sctx.lane and use two 6971 argument IFN_GOMP_SIMD_LANE instead of single argument. 6972 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Don't DCE 6973 two argument IFN_GOMP_SIMD_LANE without lhs. 6974 * tree-vectorizer.h (struct _loop_vec_info): Add simd_if_cond 6975 member. 6976 (LOOP_VINFO_SIMD_IF_COND, LOOP_REQUIRES_VERSIONING_FOR_SIMD_IF_COND): 6977 Define. 6978 (LOOP_REQUIRES_VERSIONING): Or in 6979 LOOP_REQUIRES_VERSIONING_FOR_SIMD_IF_COND. 6980 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize 6981 simd_if_cond. 6982 (vect_analyze_loop_2): Punt if LOOP_VINFO_SIMD_IF_COND is constant 0. 6983 * tree-vect-loop-manip.c (vect_loop_versioning): Add runtime check 6984 from simd if clause if needed. 6985 6986 2019-05-15 Jakub Jelinek <jakub@redhat.com> 6987 6988 * omp-low.c (lower_rec_input_clauses): For if (0) or simdlen (1) set 6989 max_vf to 1. 6990 * omp-expand.c (expand_omp_simd): For if (0) or simdlen (1) clear 6991 safelen_int and set loop->dont_vectorize. 6992 6993 2019-05-10 Jakub Jelinek <jakub@redhat.com> 6994 6995 PR tree-optimization/90385 6996 * tree-parloops.c (try_create_reduction_list): Punt on non-SSA_NAME 6997 arguments of the exit phis. 6998 6999 PR c++/90383 7000 * tree-inline.h (struct copy_body_data): Add do_not_fold member. 7001 * tree-inline.c (remap_gimple_op_r): Avoid folding expressions if 7002 id->do_not_fold. 7003 (copy_tree_body_r): Likewise. 7004 (copy_fn): Set id.do_not_fold to true. 7005 7006 2019-05-03 Jakub Jelinek <jakub@redhat.com> 7007 7008 PR tree-optimization/90303 7009 * ipa-devirt.c (obj_type_ref_class, get_odr_type): Don't use 7010 TYPE_CANONICAL for TYPE_STRUCTURAL_EQUALITY_P types in !in_lto_p mode. 7011 70122019-05-17 Richard Biener <rguenther@suse.de> 7013 7014 Backport from mainline 7015 2019-05-07 Richard Biener <rguenther@suse.de> 7016 7017 PR tree-optimization/90316 7018 * tree-ssa-alias.h (get_continuation_for_phi): Take walking 7019 limit by reference. 7020 (walk_non_aliased_vuses): Take walking limit argument. 7021 * tree-ssa-alias.c (maybe_skip_until): Take limit and abort 7022 walking if it is reached instead of just counting. 7023 (get_continuation_for_phi): Likewise. 7024 (walk_non_aliased_vuses): Likewise, instead of leaving counter 7025 limiting to the callback. 7026 * tree-ssa-sccvn.c (vn_reference_lookup_2): Adjust. 7027 (vn_reference_lookup_3): Likewise. 7028 (vn_reference_lookup_pieces): Likewise. 7029 (vn_reference_lookup): Likewise. 7030 * tree-ssa-pre.c (translate_vuse_through_block): Limit walking. 7031 * tree-ssa-scopedtables.c (vuse_eq): Adjust. 7032 (avail_exprs_stack::lookup_avail_expr): Likewise. 7033 7034 2019-05-06 Richard Biener <rguenther@suse.de> 7035 7036 PR tree-optimization/90316 7037 * tree-ssa-alias.c (maybe_skip_until): Pass in target BB, 7038 compute target on demand. 7039 (get_continuation_for_phi): Remove code walking stmts to 7040 get to a target virtual operand which could end up being 7041 quadratic. 7042 70432019-05-15 Li Jia He <helijia@linux.ibm.com> 7044 7045 Backport from mainline. 7046 2019-05-07 Li Jia He <helijia@linux.ibm.com> 7047 7048 * tree-ssa-phiopt.c (two_value_replacement): Fix a typo in parameter 7049 detection. 7050 70512019-05-14 Martin Liska <mliska@suse.cz> 7052 7053 Backport from mainline 7054 2019-05-13 Martin Liska <mliska@suse.cz> 7055 7056 PR tree-optimization/90416 7057 * tree-vect-stmts.c (vect_check_load_store_mask): Concatenate 7058 string instead of passing the second part as va_arg argument. 7059 70602019-05-14 Martin Liska <mliska@suse.cz> 7061 7062 Backport from mainline 7063 2019-05-13 Martin Liska <mliska@suse.cz> 7064 7065 PR gcov-profile/90380 7066 * gcov.c (handle_cycle): Do not support zero cycle count, 7067 it should not be possible. 7068 (path_contains_zero_cycle_arc): New function. 7069 (circuit): Ignore zero cycle arc counts. 7070 70712019-05-14 Martin Liska <mliska@suse.cz> 7072 7073 Backport from mainline 7074 2019-05-13 Martin Liska <mliska@suse.cz> 7075 7076 PR gcov-profile/90380 7077 * gcov.c (enum loop_type): Remove the enum and 7078 the operator. 7079 (handle_cycle): Assert that we should not reach 7080 a negative count. 7081 (circuit): Use loop_found instead of a tri-state loop_type. 7082 (get_cycles_count): Do not handle NEGATIVE_LOOP as it can't 7083 happen. 7084 70852019-05-14 Chenghua Xu <paul.hua.gm@gmail.com> 7086 7087 Backport from mainline. 7088 2019-05-14 Chenghua Xu <paul.hua.gm@gmail.com> 7089 7090 PR target/90357 7091 * config/mips/mips.c (mips_split_move): Skip forward SRC into 7092 next insn when the SRC reg is dead. 7093 70942019-05-11 Andreas Tobler <andreast@gcc.gnu.org> 7095 7096 Backport from mainline. 7097 2019-04-25 Andreas Tobler <andreast@gcc.gnu.org> 7098 7099 * config/i386/freebsd64.h: Add bits for 32-bit multilib support. 7100 * config/i386/t-freebsd64: New file. 7101 * config.gcc: Add the t-freebsd64 for multilib support. 7102 71032019-05-10 Kelvin Nilsen <kelvin@gcc.gnu.org> 7104 7105 Backport from mainline. 7106 2019-05-07 Kelvin Nilsen <kelvin@gcc.gnu.org> 7107 7108 PR target/89765 7109 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): 7110 In handling of ALTIVEC_BUILTIN_VEC_INSERT, use modular arithmetic 7111 to compute vector element selector for both constant and variable 7112 operands. 7113 71142019-05-10 Richard Biener <rguenther@suse.de> 7115 7116 * tree-ssa-sccvn.c (visit_reference_op_call): Initialize value-id. 7117 (do_rpo_vn): Initialize next_value_id. 7118 71192019-05-09 Thomas Schwinge <thomas@codesourcery.com> 7120 7121 * cif-code.def (CHKP): Remove. 7122 71232019-05-07 Kelvin Nilsen <kelvin@gcc.gnu.org> 7124 7125 Backport from mainline. 7126 2019-05-06 Kelvin Nilsen <kelvin@gcc.gnu.org> 7127 7128 PR target/89424 7129 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add 7130 handling of V1TImode. 7131 71322019-05-06 Martin Liska <mliska@suse.cz> 7133 7134 Backport from mainline 7135 2019-05-06 Martin Liska <mliska@suse.cz> 7136 7137 PR sanitizer/90312 7138 * config/i386/i386-options.c (ix86_option_override_internal): Error only 7139 when -mabi is selected to a non-default version. 7140 71412019-05-04 Michael Meissner <meissner@linux.ibm.com> 7142 7143 * ChangeLog.ibm: Delete unintentional commit on the wrong branch. 7144 * REVISION: Likewise. 7145 71462019-05-03 Richard Biener <rguenther@suse.de> 7147 7148 PR tree-optimization/90316 7149 * tree-ssa-pre.c (pass_pre::execute): Re-compute DOM fast queries 7150 before running VN. 7151 71522019-05-03 Jakub Jelinek <jakub@redhat.com> 7153 7154 * BASE-VER: Set to 9.1.1. 7155 71562019-05-03 Release Manager 7157 7158 * GCC 9.1.0 released. 7159 71602019-04-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 7161 7162 Backport from mainline. 7163 2019-04-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 7164 PR target/86538 7165 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): 7166 Define __ARM_FEATURE_ATOMICS. 7167 71682019-04-30 Martin Liska <mliska@suse.cz> 7169 7170 Backport from mainline 7171 2019-04-30 Martin Liska <mliska@suse.cz> 7172 7173 PR translation/90274 7174 * opts.c (print_filtered_help): Wrap string in _(...). 7175 71762019-04-30 Martin Liska <mliska@suse.cz> 7177 7178 Backport from mainline 7179 2019-04-27 Martin Liska <mliska@suse.cz> 7180 7181 PR middle-end/90258 7182 * opt-suggestions.c (option_proposer::build_option_suggestions): 7183 When get_valid_option_values returns empty values, add the 7184 misspelling candidate. 7185 71862019-04-30 Richard Biener <rguenther@suse.de> 7187 7188 PR tree-optimization/90273 7189 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Eliminate 7190 useless debug stmts. 7191 71922019-04-27 Iain Buclaw <ibuclaw@gdcproject.org> 7193 7194 * config/netbsd-d.c: Include memmodel.h. Remove unused tree.h, 7195 varasm.h, and netbsd-protos.h. 7196 71972019-04-26 Segher Boessenkool <segher@kernel.crashing.org> 7198 7199 PR other/90257 7200 Revert the revert: 7201 2019-04-21 H.J. Lu <hongjiu.lu@intel.com> 7202 7203 PR target/90178 7204 Revert: 7205 2018-11-21 Uros Bizjak <ubizjak@gmail.com> 7206 7207 Revert the revert: 7208 2013-10-26 Vladimir Makarov <vmakarov@redhat.com> 7209 7210 Revert: 7211 2013-10-25 Vladimir Makarov <vmakarov@redhat.com> 7212 7213 * lra-spills.c (lra_final_code_change): Remove useless move insns. 7214 72152019-04-25 Jakub Jelinek <jakub@redhat.com> 7216 7217 PR tree-optimization/90240 7218 Revert: 7219 2019-04-23 Bin Cheng <bin.cheng@linux.alibaba.com> 7220 7221 PR tree-optimization/90078 7222 * tree-ssa-loop-ivopts.c (comp_cost::operator +,-,+=,-+,/=,*=): Add 7223 checks for infinite_cost overflow. 7224 72252019-04-25 Jakub Jelinek <jakub@redhat.com> 7226 7227 * DEV-PHASE: Set to prerelease. 7228 72292019-04-25 Richard Biener <rguenther@suse.de> 7230 7231 PR middle-end/89765 7232 * gimplify.c (gimplify_expr): Avoid turning a lvalue 7233 VIEW_CONVERT_EXPR into one operating on an rvalue. 7234 72352019-04-25 H.J. Lu <hongjiu.lu@intel.com> 7236 7237 PR target/89929 7238 * config/i386/i386.c (feature_priority): Moved to file scope. 7239 (processor_features): Likewise. 7240 (processor_model): Likewise. 7241 (_arch_names_table): Likewise. 7242 (arch_names_table): Likewise. 7243 (_feature_list): Removed. 7244 (feature_list): Likewise. 7245 (_isa_names_table): Moved to file scope. Add priority. 7246 (isa_names_table): Likewise. 7247 (get_builtin_code_for_version): Replace feature_list with 7248 isa_names_table. Update error message for P_ZERO priority. 7249 72502019-04-25 Richard Biener <rguenther@suse.de> 7251 7252 * tree-pass.h (make_pass_phi_only_cprop): Remove. 7253 * timevar.def (TV_TREE_PHI_CPROP): Likewise. 7254 72552019-04-24 Jeff Law <law@redhat.com> 7256 7257 PR tree-optimization/90037 7258 * Makefile.in (OBJS): Remove tree-ssa-phionlycprop.c 7259 * passes.def: Replace all instance of phi-only cprop with the 7260 lattice propagator. Move propagation pass from after erroneous 7261 path isolation to before erroneous path isolation. 7262 * tree-ssa-phionlycprop.c: Remove. 7263 72642019-04-24 Richard Biener <rguenther@suse.de> 7265 7266 PR middle-end/90213 7267 * gimple-fold.c (fold_const_aggregate_ref_1): Do multiplication 7268 by size and BITS_PER_UNIT on poly-wide-ints. 7269 72702019-04-25 Richard Biener <rguenther@suse.de> 7271 7272 PR middle-end/90194 7273 * match.pd: Add pattern to simplify view-conversion of an 7274 empty constructor. 7275 72762019-04-24 Clement Chigot <clement.chigot@atos.net> 7277 7278 * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Disable 7279 OPTION_MASK_VSX and OPTION_MASK_ALTIVEC from rs6000_isa_flags 7280 for Go on 32 bit AIX. 7281 * config/rs6000/aix72.h: Likewise. 7282 72832019-04-24 Jakub Jelinek <jakub@redhat.com> 7284 7285 PR target/90193 7286 * rtl.c (classify_insn): Return JUMP_INSN for asm goto. 7287 * emit-rtl.c (try_split): Copy over REG_LABEL_TARGET. 7288 72892019-04-24 Andreas Krebbel <krebbel@linux.ibm.com> 7290 7291 PR target/89952 7292 * config/s390/s390.c (s390_restore_gprs_from_fprs): Restore GPRs 7293 from FPRs in reverse order. Generate REG_CFA_DEF_CFA note also 7294 for restored hard frame pointer. 7295 (s390_sched_dependencies_evaluation): Implement new target hook. 7296 (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New macro definition. 7297 72982019-04-24 Claudiu Zissulescu <claziss@sysnopsys.com> 7299 7300 * config/arc/arc-options.def: Fix typos and spelling mistakes. 7301 * config/arc/arc.c (arc_init): Cleanup warning message. 7302 (arc_override_options): Likewise. 7303 73042019-04-24 Jakub Jelinek <jakub@redhat.com> 7305 7306 PR target/90187 7307 * config/i386/i386.c (ix86_expand_sse_fp_minmax): Force if_true into 7308 a register if both if_true and if_false are MEMs. 7309 7310 PR tree-optimization/90208 7311 * tree-cfg.c (remove_bb): Move forced labels from removed bbs 7312 after labels of new_bb, not before them. 7313 7314 PR tree-optimization/90211 7315 * tree-parloops.c (try_create_reduction_list): Ignore phi arguments 7316 which are not SSA_NAMEs. 7317 73182018-04-23 Sudakshina Das <sudi.das@arm.com> 7319 7320 * config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define for 7321 AArch64. 7322 (aarch64_file_end_indicate_exec_stack): Add gnu note section. 7323 73242019-04-23 Roman Zhuykov <zhroma@ispras.ru> 7325 7326 PR rtl-optimization/87979 7327 * modulo-sched.c (sms_schedule): Start ii value "mii" should 7328 not equal zero. 7329 73302019-04-23 Roman Zhuykov <zhroma@ispras.ru> 7331 7332 PR rtl-optimization/84032 7333 * modulo-sched.c (ps_insn_find_column): Change condition so that 7334 branch will always be the last insn in a row inside partial 7335 schedule. 7336 73372019-04-23 Richard Biener <rguenther@suse.de> 7338 7339 PR debug/90131 7340 * tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Add 7341 dest_single_pred_p argument. 7342 (remove_forwarder_block): Adjust. 7343 (remove_forwarder_block_with_phi): Likewise. 7344 73452019-04-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 7346 Bernd Edlinger <bernd.edlinger@hotmail.de> 7347 Jakub Jelinek <jakub@redhat.com> 7348 7349 PR target/89093 7350 * config/arm/arm.c (aapcs_vfp_is_call_or_return_candidate): Diagnose 7351 if used with general-regs-only. 7352 (arm_conditional_register_usage): Don't add non-general regs if 7353 general-regs-only. 7354 (arm_valid_target_attribute_rec): Handle general-regs-only. 7355 * config/arm/arm.h (TARGET_HARD_FLOAT): Return false if 7356 general-regs-only. 7357 (TARGET_HARD_FLOAT_SUB): Define. 7358 (TARGET_SOFT_FLOAT): Define as negation of TARGET_HARD_FLOAT_SUB. 7359 (TARGET_REALLY_IWMMXT): Add && !TARGET_GENERAL_REGS_ONLY. 7360 (TARGET_REALLY_IWMMXT2): Likewise. 7361 * config/arm/arm.opt: Add -mgeneral-regs-only. 7362 * doc/extend.texi: Document ARM general-regs-only target. 7363 * doc/invoke.texi: Document ARM -mgeneral-regs-only. 7364 73652019-04-23 Bin Cheng <bin.cheng@linux.alibaba.com> 7366 7367 PR tree-optimization/90078 7368 * tree-ssa-loop-ivopts.c (comp_cost::operator +,-,+=,-+,/=,*=): Add 7369 checks for infinite_cost overflow. 7370 73712019-04-23 Bin Cheng <bin.cheng@linux.alibaba.com> 7372 7373 PR tree-optimization/90021 7374 * tree-chrec.c (evolution_function_is_univariate_p): New parameter 7375 and check univariate against it. 7376 * tree-chrec.h (evolution_function_is_univariate_p): New parameter. 7377 * tree-data-ref.c (add_other_self_distances): Pass new argument. 7378 73792019-04-21 H.J. Lu <hongjiu.lu@intel.com> 7380 7381 PR target/90178 7382 Revert: 7383 2018-11-21 Uros Bizjak <ubizjak@gmail.com> 7384 7385 Revert the revert: 7386 2013-10-26 Vladimir Makarov <vmakarov@redhat.com> 7387 7388 Revert: 7389 2013-10-25 Vladimir Makarov <vmakarov@redhat.com> 7390 7391 * lra-spills.c (lra_final_code_change): Remove useless move insns. 7392 73932019-04-21 Iain Sandoe <iain@sandoe.co.uk> 7394 7395 * config/rs6000/rs6000.md (group_end_nop): Emit insn register 7396 names using operand format, rather than hard-wired. 7397 (speculation_barrier): Likewise. 7398 73992019-04-19 Segher Boessenkool <segher@kernel.crashing.org> 7400 7401 PR tree-optimization/88055 7402 * tree-call-cdce.c (comparison_code_if_no_nans): New function. 7403 (gen_one_condition): Use it if !HONOR_NANS. 7404 74052019-04-19 Jakub Jelinek <jakub@redhat.com> 7406 7407 PR middle-end/90139 7408 * tree-outof-ssa.c (get_temp_reg): If reg_mode is BLKmode, return 7409 assign_temp instead of gen_reg_rtx. 7410 74112019-04-19 Christophe Lyon <christophe.lyon@linaro.org> 7412 7413 PR translation/90118 7414 * config/aarch64/aarch64.c (aarch64_override_options_internal): 7415 Add missing space before %<. 7416 74172019-04-18 Peter Bergner <bergner@linux.ibm.com> 7418 7419 PR rtl-optimization/87871 7420 * ira-lives.c (make_object_dead): Don't add conflicts to 7421 TOTAL_CONFLICT_HARD_REGS for register ignore_reg_for_conflicts. 7422 74232019-04-18 Martin Sebor <msebor@redhat.com> 7424 7425 PR middle-end/89797 7426 * tree.h (TYPE_VECTOR_SUBPARTS): Use HOST_WIDE_INT_1U. 7427 * config/aarch64/aarch64.c (aarch64_simd_vector_alignment): Avoid 7428 assuming type size fits in SHWI. 7429 74302019-04-18 Jan Hubicka <hubicka@ucw.cz> 7431 7432 PR ipa/85051 7433 * ipa-inline.c (flatten_function): New parameter UPDATE. 7434 (ipa_inline, early_inliner): Use it. 7435 74362019-04-18 Richard Sandiford <richard.sandiford@arm.com> 7437 7438 * fold-const.c (int_const_binop): Return early on failure. 7439 74402019-04-18 Richard Sandiford <richard.sandiford@arm.com> 7441 7442 PR middle-end/85164 7443 * combine.c (force_int_to_mode): Cast the argument rather than 7444 the result of known_alignment. 7445 * rtlanal.c (rtx_addr_can_trap_p_1): Use known_subrange_p. 7446 74472019-04-18 Richard Biener <rguenther@suse.de> 7448 7449 PR debug/90131 7450 * tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Split 7451 out from ... 7452 (remove_forwarder_block): ... here. 7453 (remove_forwarder_block_with_phi): Also move debug stmts here. 7454 74552019-04-18 Jakub Jelinek <jakub@redhat.com> 7456 7457 PR translation/79183 7458 * gimple-ssa-sprintf.c (format_directive): Use inform_n instead of 7459 inform where appropriate. 7460 74612019-04-18 Richard Biener <rguenther@suse.de> 7462 7463 * tree.c (get_qualified_type): Put found type variants at the 7464 head of the variant list. 7465 74662018-04-17 Segher Boessenkool <segher@kernel.crashing.org> 7467 7468 * config/rs6000/rs6000.c (rs6000_register_move_cost): Fix typo. 7469 74702019-04-17 Hongtao Liu <hongtao.liu@intel.com> 7471 7472 PR target/90125 7473 * config/i386/avx512fintrin.h (_mm_maskz_fmadd_round_sd, 7474 _mm_maskz_fmadd_round_ss, _mm_maskz_fmsub_round_sd, 7475 _mm_maskz_fmsub_round_ss, _mm_maskz_fnmadd_round_sd, 7476 _mm_maskz_fnmadd_round_ss, _mm_maskz_fnmsub_round_sd, 7477 _mm_maskz_fnmsub_round_ss): Use _maskz builtin instead of _mask3. 7478 74792019-04-17 Peter Bergner <bergner@linux.ibm.com> 7480 7481 * ira-conflicts.c (print_allocno_conflicts): Always print something, 7482 even for allocno's with no conflicts. 7483 (print_conflicts): Print an extra newline. 7484 74852019-04-17 Segher Boessenkool <segher@kernel.crashing.org> 7486 7487 * auto-inc-dec.c (attempt_change): Set the alignment of the 7488 temporary memory to that of the original. 7489 74902019-04-17 Joao Moreira <jmoreira@suse.de> 7491 7492 * targhooks.c (default_print_patchable_function_entry): Emit 7493 __patchable_function_entries section with writable flags to allow 7494 relocation resolution. 7495 74962019-04-17 Jonny Grant <jg@jguk.org> 7497 7498 * collect2.c (main): Change gcc.gnu.org URL to HTTPS. 7499 75002019-04-17 Jakub Jelinek <jakub@redhat.com> 7501 7502 PR middle-end/90095 7503 * internal-fn.c (expand_mul_overflow): Don't set SUBREG_PROMOTED_VAR_P 7504 on lowpart SUBREGs. 7505 75062019-04-17 Claudiu Zissulescu <claziss@synopsys.com> 7507 7508 * config/arc/arc.c (arc_init): Format diagnostic string. 7509 (arc_override_options): Likewise. 7510 (check_if_valid_regno_const): Likewise. 7511 (arc_reorg): Likewise. 7512 75132019-04-17 Segher Boessenkool <segher@kernel.crashing.org> 7514 7515 PR target/17108 7516 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Adjust pattern 7517 name. 7518 (rs6000_emit_allocate_stack_1): Simplify condition. Adjust pattern 7519 name. 7520 * config/rs6000/rs6000.md (bits): Add entries for SF and DF. 7521 (*movdi_update1): Use Pmode. 7522 (movdi_<mode>_update): Fix argument to avoiding_indexed_address_p. 7523 (movdi_<mode>_update_stack): Rename to ... 7524 (movdi_update_stack): ... this. Fix comment. Change condition. Don't 7525 use Pmode. 7526 (*movsi_update1): Use Pmode. 7527 (*movsi_update2): Use Pmode. 7528 (movsi_update): Rename to ... 7529 (movsi_<mode>_update): ... this. Use Pmode. 7530 (movsi_update_stack): Fix condition. 7531 (*movhi_update1): Use Pmode. Fix argument to 7532 avoiding_indexed_address_p. 7533 (*movhi_update2): Ditto. 7534 (*movhi_update3): Ditto. 7535 (*movhi_update4): Ditto. 7536 (*movqi_update1): Ditto. 7537 (*movqi_update2): Ditto. 7538 (*movqi_update3): Ditto. 7539 (*movsf_update1, *movdf_update1): Merge, rename to... 7540 (*mov<mode>_update1): This. Use Pmode. Fix argument to 7541 avoiding_indexed_address_p. Add "size" attribute. 7542 (*movsf_update2, *movdf_update2): Merge, rename to... 7543 (*mov<mode>_update2): This. Ditto. 7544 (*movsf_update3): Use Pmode. Fix argument to 7545 avoiding_indexed_address_p. 7546 (*movsf_update4): Ditto. 7547 (allocate_stack): Simplify condition. Adjust pattern names. 7548 75492019-04-17 Jakub Jelinek <jakub@redhat.com> 7550 7551 PR target/89093 7552 * config/arm/arm.c (arm_valid_target_attribute_rec): Don't skip 7553 whitespace at the start of target attribute string. 7554 75552019-04-16 Pat Haugen <pthaugen@us.ibm.com> 7556 7557 PR target/84369 7558 * config/rs6000/power9.md: Add store forwarding bypass. 7559 75602019-04-16 Alexandre Oliva <aoliva@redhat.com> 7561 7562 PR debug/89528 7563 * valtrack.c (dead_debug_insert_temp): Reset debug references 7564 to the return value of a call being removed. 7565 75662019-04-16 Claudiu Zissulescu <claziss@synopsys.com> 7567 7568 * config/arc/arc-protos.h (arc_register_move_cost): Remove. 7569 * config/arc/arc.c (arc_register_move_cost): Re-purpose it to 7570 implement target hook. 7571 (arc_memory_move_cost): New function. 7572 (TARGET_REGISTER_MOVE_COST): Define. 7573 (TARGET_MEMORY_MOVE_COST): Likewise. 7574 * config/arc/arc.h (REGISTER_MOVE_COST): Remove. 7575 (MEMORY_MOVE_COST): Likewise. 7576 75772019-04-16 Claudiu Zissulescu <claziss@synopsys.com> 7578 7579 * config/arc/arc.md (sibcall_insn): Use Rcd constraint. 7580 (sibcall_value_insn): Likewise. 7581 * config/arc/constraints.md (Rs5): Remove. 7582 75832019-04-16 Claudiu Zissulescu <claziss@synopsys.com> 7584 7585 * config/arc/arc.c (arc_hard_regno_modes): Add two missing modes 7586 for last two fake registers. 7587 (arc_conditional_register_usage): Make sure fake frame and arg 7588 pointer regs are in general regs class. 7589 (FRAME_POINTER_MASK): Remove. 7590 (RETURN_ADDR_MASK): Remove. 7591 (arc_must_save_register): Use hard frame regnum. 7592 (frame_restore_reg): Use hard_frame_pointer_rtx. 7593 (arc_save_callee_saves): Likewise. 7594 (arc_restore_callee_saves): Likewise. 7595 (arc_save_callee_enter): Likewise. 7596 (arc_restore_callee_leave): Likewise. 7597 (arc_save_callee_milli): Likewise. 7598 (arc_eh_return_address_location): Likewise. 7599 (arc_check_multi): Use hard frame regnum. 7600 (arc_can_eliminate): Likewise. 7601 * config/arc/arc.h (FIXED_REGISTERS): Make FP register available 7602 for register allocator. 7603 (REG_CLASS_CONTENTS): Update GENERAL_REGS. 7604 (REGNO_OK_FOR_BASE_P): Consider FRAME_POINTER_REGNUM. 7605 (FRAME_POINTER_REGNUM): Change it to a fake register. 7606 (HARD_FRAME_POINTER_REGNUM): Defined. 7607 (ARG_POINTER_REGNUM): Change it to a new fake register. 7608 (ELIMINABLE_REGS): Update. 7609 (REGISTER_NAMES): Update names. 7610 * config/arc/arc.md (LP_START): Remove. 7611 (LP_END): Likewise. 7612 (shift_si3_loop): Update pattern. 7613 76142019-04-16 Claudiu Zissulescu <claziss@synopsys.com> 7615 7616 * config/arc/arc.c (arc_expand_prologue): Emit blockage regardless 7617 to avoid delay slot scheduling. 7618 (arc_must_save_register): Don't save SP. 7619 * config/arc/arc.md (stack_tie): Remove. 7620 (UNSPEC_ARC_STKTIE): Likewise. 7621 76222019-04-16 Kito Cheng <kito.cheng@gmail.com> 7623 Shiva Chen <shiva0217@gmail.com> 7624 7625 * config/nds32/nds32-md-auxiliary.c (nds32_split_ashiftdi3): Fix wrong 7626 code gen with large shift amount. 7627 76282019-04-16 Chung-Ju Wu <jasonwucj@gmail.com> 7629 7630 * config/nds32/nds32-pipelines-auxiliary.c (wext_odd_dep_p): Handle 7631 subreg. 7632 76332019-04-16 Jakub Jelinek <jakub@redhat.com> 7634 7635 PR target/90096 7636 * config/i386/i386.c (ix86_target_string): Add ADD_ABI_P argument, only 7637 print -m64/-mx32/-m32 if it is true. 7638 (ix86_debug_options, ix86_function_specific_print): Pass true as 7639 ADD_ABI_P to ix86_target_string. 7640 (ix86_expand_builtin): Adjust ix86_target_string caller, pass true as 7641 ADD_ABI_P only if OPTION_MASK_ISA_64BIT is set in bisa and in that case 7642 or into it OPTION_MASK_ISA_ABI_64 or OPTION_MASK_ISA_ABI_X32. 7643 7644 PR rtl-optimization/90082 7645 * dce.c (can_delete_call): New function. 7646 (deletable_insn_p, mark_insn): Use it. 7647 7648 PR tree-optimization/90090 7649 * tree-ssa-math-opts.c (is_division_by): Ignore divisions that can 7650 throw internally. 7651 (is_division_by_square): Likewise. Formatting fix. 7652 76532019-04-16 Richard Biener <rguenther@suse.de> 7654 7655 PR tree-optimization/56049 7656 * tree-ssa-loop-im.c (mem_ref_hasher::equal): Elide alias-set 7657 equality check if alias-set zero will prevail. 7658 76592019-04-15 Jeff Law <law@redhat.com> 7660 7661 * config/microblaze/microblaze.c (microblaze_expand_block_move): Treat 7662 size and alignment as unsigned. 7663 76642019-04-15 Richard Biener <rguenther@suse.de> 7665 7666 PR debug/90074 7667 * tree-loop-distribution.c (destroy_loop): Preserve correct 7668 debug info. 7669 76702019-04-15 Richard Biener <rguenther@suse.de> 7671 7672 PR tree-optimization/90071 7673 * tree-ssa-reassoc.c (init_range_entry): Do not pick up 7674 abnormal operands from def stmts. 7675 76762019-04-15 Segher Boessenkool <segher@kernel.crashing.org> 7677 7678 PR rtl-optimization/89794 7679 * combine.c (count_auto_inc): New function. 7680 (try_combine): Count how many auto_inc expressions there were in the 7681 original instructions. Ensure we have the same number in the new 7682 instructions. Remove the code that tried to ensure auto_inc side 7683 effects on i1 and i0 are not lost. 7684 76852019-04-15 Richard Biener <rguenther@suse.de> 7686 7687 PR ipa/88936 7688 * tree.h (auto_var_p): Declare. 7689 * tree.c (auto_var_p): New function, split out from ... 7690 (auto_var_in_fn_p): ... here. 7691 * tree-ssa-structalias.c (struct variable_info): Add shadow_var_uid 7692 member. 7693 (new_var_info): Initialize it. 7694 (set_uids_in_ptset): Also set the shadow variable uid if required. 7695 (ipa_pta_execute): Postprocess points-to solutions assigning 7696 shadow variable uids for locals that may reach their containing 7697 function recursively. 7698 * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Do not 7699 assert but instead check whether the points-to solution is 7700 a singleton. 7701 77022019-04-15 Martin Jambor <mjambor@suse.cz> 7703 7704 PR ipa/pr89693 7705 * cgraph.c (clone_of_p): Loop over clone chain for each step in 7706 the thunk chain. 7707 77082019-04-15 Monk Chiang <sh.chiang04@gmail.com> 7709 7710 * config.gcc (nds32*-*-linux*): Set gcc_cv_initfini_array to yes. 7711 77122019-04-15 Monk Chiang <sh.chiang04@gmail.com> 7713 Kito Cheng <kito.cheng@gmail.com> 7714 Shiva Chen <shiva0217@gmail.com> 7715 7716 * config/nds32/nds32-md-auxiliary.c 7717 (nds32_legitimize_pic_address): Use new PIC pattern. 7718 (nds32_legitimize_tls_address): Use new TLS pattern. 7719 (nds32_output_symrel): New. 7720 * config/nds32/nds32-protos.h (nds32_output_symrel): Declare. 7721 (nds32_alloc_relax_group_id): Ditto. 7722 * config/nds32/nds32-relax-opt.c (nds32_alloc_relax_group_id): New. 7723 (nds32_group_insns): Use nds32_alloc_relax_group_id instead of use 7724 relax_group_id. 7725 (nds32_group_tls_insn): Ditto. 7726 (nds32_group_float_insns): Ditto. 7727 * config/nds32/nds32.md (tls_le): New. 7728 (sym_got): Ditto. 7729 77302019-04-15 Chung-Ju Wu <jasonwucj@gmail.com> 7731 7732 * configure: Add nds32 target for dwarf2 debug_line checking. 7733 * configure.ac: Regenerated. 7734 77352019-04-14 Jan Hubicka <hubicka@ucw.cz> 7736 7737 PR lto/89358 7738 * ipa-devirt.c (skip_in_fields_list_p): New. 7739 (odr_types_equivalent_p): Use it. 7740 77412019-04-13 Jakub Jelinek <jakub@redhat.com> 7742 7743 PR target/89093 7744 * config/arm/arm.c (arm_valid_target_attribute_rec): Use strcmp 7745 instead of strncmp when checking for thumb and arm. Formatting fixes. 7746 77472019-04-12 Iain Buclaw <ibuclaw@gdcproject.org> 7748 7749 * doc/install.texi: Document --with-target-system-zlib. 7750 77512019-04-12 Martin Sebor <msebor@redhat.com> 7752 7753 PR c/88383 7754 PR c/89288 7755 PR c/89798 7756 PR c/89797 7757 * targhooks.c (default_vector_alignment): Avoid assuming 7758 argument fits in SHWI. 7759 * tree.h (TYPE_VECTOR_SUBPARTS): Avoid sign overflow in 7760 a shift expression. 7761 * doc/extend.texi (__builtin_has_attribute): Add a clarifying note. 7762 77632019-04-12 Jakub Jelinek <jakub@redhat.com> 7764 7765 PR rtl-optimization/89965 7766 * dce.c: Include rtl-iter.h. 7767 (struct check_argument_load_data): New type. 7768 (check_argument_load): New function. 7769 (find_call_stack_args): Check for loads from stack slots still tracked 7770 in sp_bytes and punt if any is found. 7771 7772 * config/mips/loongson-mmiintrin.h: Fix up #error message. 7773 77742019-04-12 Jan Hubicka <hubicka@ucw.cz> 7775 7776 * params.def (PARAM_MAX_LTO_STREAMING_PARALLELISM): New parameter. 7777 * doc/invoke.texi (max-lto-streaming-paralellism): New --param. 7778 77792019-04-12 Martin Liska <mliska@suse.cz> 7780 7781 PR middle-end/89970 7782 * multiple_target.c (create_dispatcher_calls): Wrap ifunc 7783 in error message. 7784 (separate_attrs): Handle multiple 'default's. 7785 (expand_target_clones): Rework error handling code. 7786 77872019-04-12 Kelvin Nilsen <kelvin@gcc.gnu.org> 7788 7789 PR target/87532 7790 * config/rs6000/rs6000.c (rs6000_split_vec_extract_var): Use inner 7791 mode of vector rather than mode of destination for move instruction. 7792 * config/rs6000/vsx.md (*vsx_extract_<mode>_<VS_scalar>mode_var): 7793 Use QI inner mode with V16QI vector mode. 7794 77952019-04-12 Jakub Jelinek <jakub@redhat.com> 7796 7797 PR target/52726 7798 * config/tilepro/tilepro.c (tilepro_print_operand): Use just 7799 "invalid %%t operand" in output_operand_lossage message. 7800 78012019-04-12 Andreas Krebbel <krebbel@linux.ibm.com> 7802 7803 * config/s390/predicates.md (permute_pattern_operand): New 7804 predicate. 7805 * config/s390/vector.md ("*vec_splats_bswap_vec<mode>"): Add USE 7806 operand for the permute pattern. 7807 ("*vec_perm<mode>"): New insn definition. 7808 ("bswap<mode>"): Generate the permute pattern operand in the 7809 expander and perform the operand reloads for pre arch13 level 7810 already. 7811 ("*bswap<mode>_emu"): Rename to ... 7812 ("*bswap<mode>"): ... this. And make the splitter vxe2 only. 7813 * config/s390/vx-builtins.md ("*vec_insert_and_zero_bswap<mode>"): 7814 Add the USE operand for the permute pattern. 7815 ("*vec_set_bswap_vec<mode>"): Likewise. 7816 78172019-04-12 Jakub Jelinek <jakub@redhat.com> 7818 7819 PR c/89946 7820 * varasm.c (assemble_start_function): Don't use tree_fits_uhwi_p 7821 and gcc_unreachable if it fails, just call tree_to_uhwi which 7822 verifies that too. Test TREE_CHAIN instead of list_length > 1. 7823 Start warning message with a lower-case letter. Formatting fixes. 7824 7825 PR rtl-optimization/90026 7826 * cfgcleanup.c (try_optimize_cfg): When removing empty bb with no 7827 successors, look for BARRIERs inside of the whole BB_FOOTER chain 7828 rather than just at the start of it. If e->src BB_FOOTER is not NULL 7829 in cfglayout mode, use emit_barrier_after_bb. 7830 78312018-04-11 Steve Ellcey <sellcey@marvell.com> 7832 7833 PR rtl-optimization/87763 7834 * config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode>4_noshift_alt): 7835 New Instruction. 7836 78372019-04-11 Tom de Vries <tdevries@suse.de> 7838 7839 * doc/extend.texi (@node Statement Exprs): Note variable shadowing at 7840 max macro using statement expression. 7841 78422019-04-11 David Edelsohn <dje.gcc@gmail.com> 7843 7844 * xcoffout.h (xcoff_private_rodata_section_name): Declare. 7845 * xcoffout.c (xcoff_private_rodata_section_name): Define. 7846 * config/rs6000/rs6000.c (rs6000_xcoff_asm_init_sections): Create 7847 read_only_private_data_section using xcoff_private_rodata_section_name. 7848 (rs6000_xcoff_file_start): Generate xcoff_private_rodata_section_name. 7849 78502019-04-11 Christophe Lyon <christophe.lyon@linaro.org> 7851 7852 PR target/90016 7853 * config/aarch64/aarch64.opt (msve-vector-bits): Add missing final '.'. 7854 78552019-04-11 Jakub Jelinek <jakub@redhat.com> 7856 7857 PR rtl-optimization/89965 7858 * dce.c (sp_based_mem_offset): New function. 7859 (find_call_stack_args): Use sp_based_mem_offset. 7860 78612019-04-11 Jonathan Wakely <jwakely@redhat.com> 7862 7863 * doc/invoke.texi (Optimize Options): Clarify -flive-patching docs. 7864 78652019-04-11 Richard Biener <rguenther@suse.de> 7866 7867 PR tree-optimization/90020 7868 * tree-ssa-sccvn.c (vn_reference_may_trap): New function. 7869 * tree-ssa-sccvn.h (vn_reference_may_trap): Declare. 7870 * tree-ssa-pre.c (compute_avail): Use it to not put 7871 possibly trapping references after a call that might not 7872 return into EXP_GEN. 7873 * gcse.c (compute_hash_table_work): Do not elide 7874 marking a block containing a call if the call might not 7875 return. 7876 78772019-04-11 Richard Biener <rguenther@suse.de> 7878 7879 PR tree-optimization/90018 7880 * tree-vect-data-refs.c (vect_preserves_scalar_order_p): 7881 Test both SLP and interleaving variants. 7882 78832019-04-11 Robin Dapp <rdapp@linux.ibm.com> 7884 7885 * config/s390/8561.md: New file. 7886 * config/s390/driver-native.c (s390_host_detect_local_cpu): 7887 Add arch13 cpu model. 7888 * config/s390/s390-opts.h (enum processor_type): Likewise. 7889 * config/s390/s390.c (s390_get_sched_attrmask): Add arch13. 7890 (s390_get_unit_mask): Likewise. 7891 (s390_is_fpd): Likewise. 7892 (s390_is_fxd): Likewise. 7893 * config/s390/s390.h (s390_tune_attr): Likewise. 7894 * config/s390/s390.md: Include arch13 pipeline description. 7895 * config/s390/s390.opt: Add arch13. 7896 78972018-04-10 Steve Ellcey <sellcey@marvell.com> 7898 7899 PR rtl-optimization/87763 7900 * config/aarch64/aarch64-protos.h (aarch64_masks_and_shift_for_bfi_p): 7901 New prototype. 7902 * config/aarch64/aarch64.c (aarch64_masks_and_shift_for_bfi_p): 7903 New function. 7904 * config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode>5_shift): 7905 New instruction. 7906 (*aarch64_bfi<GPI:mode>5_shift_alt): Ditto. 7907 (*aarch64_bfi<GPI:mode>4_noand): Ditto. 7908 (*aarch64_bfi<GPI:mode>4_noand_alt): Ditto. 7909 (*aarch64_bfi<GPI:mode>4_noshift): Ditto. 7910 79112019-04-10 Jonathan Wakely <jwakely@redhat.com> 7912 7913 * doc/invoke.texi (Optimize Options): Change "Nevertheless" to 7914 "Although" in -fipa-icf documentation. 7915 7916 * doc/invoke.texi (Debugging Options): Explicitly state the semantics 7917 of using multiple -g options. 7918 79192019-04-10 Martin Liska <mliska@suse.cz> 7920 7921 PR gcov-profile/89959 7922 * doc/gcov.texi: Make documentation of -x option 7923 more precise. 7924 79252019-04-10 Richard Biener <rguenther@suse.de> 7926 7927 * tree-vectorizer.h (_stmt_vec_info): Remove same_dr_stmt 7928 member. 7929 (DR_GROUP_SAME_DR_STMT): Remove. 7930 * tree-vect-stmts.c (vectorizable_load): Remove unreachable code. 7931 * tree-vect-data-refs.c (vect_analyze_group_access_1): Likewise, 7932 replace with assert. 7933 (vect_analyze_data_ref_accesses): Fix INTEGER_CST comparison. 7934 (vect_record_grouped_load_vectors): Remove unreachable code. 7935 79362019-04-10 Richard Earnshaw <rearnsha@arm.com> 7937 7938 PR target/90016 7939 * config/aarch64/aarch64.opt (msve-vector-bits): Remove redundant and 7940 obsolete reference to N. 7941 79422019-04-10 Jakub Jelinek <jakub@redhat.com> 7943 7944 PR middle-end/90025 7945 * expr.c (store_expr): Set properly size on the MEM passed to 7946 clear_storage. 7947 7948 PR c++/90010 7949 * gimple-ssa-sprintf.c (target_to_host): Fix handling of targstr 7950 with strlen in between hostsz-3 and hostsz-1 inclusive when no 7951 translation is needed, and when translation is needed, only append 7952 ... if the string length is hostsz or more bytes long. Avoid using 7953 strncpy or strcat. 7954 79552019-04-09 Matthew Malcomson <matthew.malcomson@arm.com> 7956 7957 PR target/90024 7958 * config/arm/arm.c (neon_valid_immediate): Disallow VOIDmode parameter. 7959 * config/arm/constraints.md (Dm, DN, Dn): Split previous Dn constraint 7960 into three. 7961 * config/arm/neon.md (*neon_mov<mode>): Account for TImode and DImode 7962 differences directly. 7963 (*smax<mode>3_neon, vashl<mode>3, vashr<mode>3_imm): Use Dm constraint. 7964 79652019-04-09 Jakub Jelinek <jakub@redhat.com> 7966 7967 PR translation/90011 7968 * ipa-devirt.c (compare_virtual_tables): Remove two trailing spaces 7969 from diagnostics. 7970 * config/arm/freebsd.h (LINK_SPEC): Remove trailing space from -p 7971 diagnostics. 7972 * config/riscv/freebsd.h (LINK_SPEC): Likewise. 7973 * config/aarch64/aarch64-freebsd.h (FBSD_TARGET_LINK_SPEC): Likewise. 7974 * config/darwin.h (DRIVER_SELF_SPECS, ASM_FINAL_SPEC): Remove 7975 trailing space from -gsplit-dwarf diagnostics. 7976 7977 PR tree-optimization/89998 7978 * gimple-ssa-sprintf.c (try_substitute_return_value): Use lhs type 7979 instead of integer_type_node if possible, don't add ranges if return 7980 type is not compatible with int. 7981 * gimple-fold.c (gimple_fold_builtin_sprintf, 7982 gimple_fold_builtin_snprintf): Use lhs type instead of hardcoded 7983 integer_type_node. 7984 79852019-04-09 Martin Liska <mliska@suse.cz> 7986 7987 * Makefile.in: Use GENERATOR_CFLAGS for all generators. 7988 * doc/install.texi: Document the new config. 7989 79902019-04-09 Richard Sandiford <richard.sandiford@arm.com> 7991 7992 * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Always 7993 use gimple_expr_type for load and store calls. Skip over the 7994 condition argument in a conditional internal function. 7995 Protect use of TREE_INT_CST_LOW. 7996 79972019-04-09 Jakub Jelinek <jakub@redhat.com> 7998 7999 PR target/90015 8000 * config/riscv/riscv.c (riscv_get_interrupt_type): Fix comment typo. 8001 (riscv_merge_decl_attributes): Fix typo in diagnostics. Remove 8002 trailing period from it too. 8003 80042019-04-08 wu yuan <wuyuan5@huawei.com> 8005 8006 * config/aarch64/aarch64-cores.def (tsv1100): Change scheduling model. 8007 * config/aarch64/aarch64.md : Add "tsv110.md" 8008 * config/aarch64/tsv110.md: New file. 8009 80102019-04-08 Richard Biener <rguenther@suse.de> 8011 8012 PR tree-optimization/90006 8013 * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle 8014 calls like lrint. 8015 80162019-04-08 Andrea Corallo <andrea.corallo@arm.com> 8017 8018 PR target/83033 8019 * config/aarch64/cortex-a57-fma-steering.c (fma_forest): Prohibit copy 8020 construction. 8021 (fma_root_node): Likewise. 8022 (func_fma_steering): Likewise. 8023 80242019-04-08 Jakub Jelinek <jakub@redhat.com> 8025 8026 PR rtl-optimization/89865 8027 * config/i386/i386.md: Add peepholes for z = x; x ^= y; x != z. 8028 8029 PR rtl-optimization/89865 8030 * config/i386/i386.md 8031 (SWI12 peephole for mem {+,-,&,|,^}= x; mem != 0): Fix up operand 8032 numbers not to clash with the additional operands[4]. 8033 (peepholes for mem {+,-,&,|,^}= x; mem != 0): New peephole2s 8034 with extra register copy in the middle. 8035 80362019-04-08 Martin Liska <mliska@suse.cz> 8037 8038 PR gcov-profile/89961 8039 * doc/gcov.texi: Document data_file. 8040 * gcov.c (generate_results): Add data_info into JSON output. 8041 80422019-04-01 Bin Cheng <bin.cheng@linux.alibaba.com> 8043 8044 PR tree-optimization/89725 8045 * tree-chrec.c (chrec_contains_symbols): New parameter. Handle outer 8046 loop's chrec as invariant symbol. 8047 * tree-chrec.h (chrec_contains_symbols): New parameter. 8048 * tree-data-ref.c (analyze_miv_subscript): Pass new argument. 8049 (build_classic_dist_vector_1, add_other_self_distances): Bypass access 8050 function of loops not in DDR's loop_nest. 8051 * tree-data-ref.h (index_in_loop_nest): Add unreachable check. 8052 80532019-04-08 Chenghua Xu <paul.hua.gm@gmail.com> 8054 8055 PR target/89623 8056 * config/mips/mips.opt (LOONGSON_EXT2): Use Var instead of 8057 Mask. 8058 80592019-04-07 Uroš Bizjak <ubizjak@gmail.com> 8060 8061 PR target/89945 8062 * config/i386/i386.md (anddi_1 to andsi_1_zext splitter): 8063 Avoid calling gen_lowpart with SYMBOL_REF and LABEL_REF operand. 8064 80652019-04-05 Joern Rennecke <joern.rennecke@embecosm.com> 8066 8067 * sched-deps.c (sched_macro_fuse_insns): Check return value of 8068 targetm.fixed_condition_code_regs. 8069 80702019-04-05 Richard Biener <rguenther@suse.de> 8071 8072 PR debug/89892 8073 PR debug/89905 8074 * tree-cfgcleanup.c (remove_forwarder_block): Always move 8075 debug bind stmts but reset them if they are not valid at the 8076 destination. 8077 80782019-04-05 Martin Liska <mliska@suse.cz> 8079 8080 PR translation/89936 8081 * collect-utils.c (collect_execute): Use %< and %>, or %qs in 8082 order to wrap keywords or arguments. 8083 * collect2.c (main): Likewise. 8084 (scan_prog_file): Likewise. 8085 (scan_libraries): Likewise. 8086 * common/config/riscv/riscv-common.c 8087 (riscv_subset_list::parsing_subset_version): Likewise. 8088 (riscv_subset_list::parse_std_ext): Likewise. 8089 * config/aarch64/aarch64.c (aarch64_override_options_internal): 8090 Likewise. 8091 * config/arm/arm.c (arm_option_override): Likewise. 8092 * config/cris/cris.c (cris_print_operand): Likewise. 8093 * config/darwin-c.c (darwin_pragma_options): Likewise. 8094 (darwin_pragma_unused): Likewise. 8095 (darwin_pragma_ms_struct): Likewise. 8096 * config/ft32/ft32.c (ft32_print_operand): Likewise. 8097 * config/i386/i386.c (print_reg): Likewise. 8098 (ix86_print_operand): Likewise. 8099 * config/i386/xm-djgpp.h: Likewise. 8100 * config/iq2000/iq2000.c (iq2000_print_operand): Likewise. 8101 * config/m32c/m32c.c (m32c_option_override): Likewise. 8102 * config/msp430/msp430.c (msp430_option_override): Likewise. 8103 * config/nds32/nds32.c (nds32_option_override): Likewise. 8104 * config/nvptx/mkoffload.c (main): Likewise. 8105 * config/rx/rx.c (rx_print_operand): Likewise. 8106 (valid_psw_flag): Likewise. 8107 * config/vms/vms-c.c (vms_pragma_member_alignment): Likewise. 8108 (vms_pragma_nomember_alignment): Likewise. 8109 (vms_pragma_extern_model): Likewise. 8110 * lto-wrapper.c (compile_offload_image): Likewise. 8111 * omp-offload.c (oacc_parse_default_dims): Likewise. 8112 * symtab.c (symtab_node::verify_base): Likewise. 8113 * tlink.c (recompile_files): Likewise. 8114 (start_tweaking): Likewise. 8115 * tree-profile.c (parse_profile_filter): Likewise. 8116 81172019-04-05 Richard Sandiford <richard.sandiford@arm.com> 8118 8119 PR tree-optimization/89956 8120 * tree-ssa-math-opts.c (convert_mult_to_fma): Protect against 8121 multiple negates of the same value. 8122 81232019-04-04 Martin Sebor <msebor@redhat.com> 8124 8125 PR middle-end/89957 8126 PR middle-end/89911 8127 * builtins.c (expand_builtin_strnlen): Make sure wi::ltu_p operands 8128 have the same precision since the function crashes otherwise. 8129 * calls.c (maybe_warn_nonstring_arg): Avoid assuming strnlen() call 8130 has non-zero arguments. 8131 81322019-04-04 Martin Sebor <msebor@redhat.com> 8133 8134 PR middle-end/89934 8135 * gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Bail 8136 out if the number of arguments is less than expected. 8137 81382019-04-04 Jeff Law <law@redhat.com> 8139 8140 PR rtl-optimization/89399 8141 * ree.c (combine_set_extension): Use single_set rather than 8142 digging into PATTERN for items on the candidate list. 8143 (combine_reaching_defs): Likewise. 8144 81452019-04-04 Richard Sandiford <richard.sandiford@arm.com> 8146 8147 PR rtl-optimization/46590 8148 * loop-invariant.c (find_defs): Move df_remove_problem and 8149 df_process_deferred_rescans to move_invariants. 8150 Move df_live_add_problem and df_live_set_all_dirty calls 8151 to move_invariants. 8152 (move_invariants): Likewise. 8153 (move_loop_invariants): Likewise, making the df_live calls 8154 conditional on -O. Remove the problem again if we added it 8155 locally. 8156 81572019-04-03 qing zhao <qing.zhao@oracle.com> 8158 8159 PR tree-optimization/89730 8160 * ipa-inline.c (can_inline_edge_p): Delete the checking for 8161 -flive-patching=inline-only-static. 8162 (can_inline_edge_by_limits_p): Add the checking for 8163 -flive-patching=inline-only-static and grant always_inline 8164 even when -flive-patching=inline-only-static is specified. 8165 81662019-04-03 Jeff Law <law@redhat.com> 8167 8168 PR rtl-optimization/81025 8169 * reorg.c (skip_consecutive_labels): Do not skip past a BARRIER. 8170 81712019-04-03 Richard Biener <rguenther@suse.de> 8172 8173 PR tree-optimization/84101 8174 * tree-vect-stmts.c: Include explow.h for hard_function_value, 8175 regs.h for hard_regno_nregs. 8176 (cfun_returns): New helper. 8177 (vect_model_store_cost): When vectorizing a store to a decl 8178 we return and the function ABI returns in a multi-reg location 8179 account for the possible spilling that will happen. 8180 81812019-04-03 Andreas Krebbel <krebbel@linux.ibm.com> 8182 8183 * config/s390/s390.c (s390_legitimate_address_p): Reject long 8184 displacement addresses for vector mode operands. 8185 81862019-04-03 Claudiu Zissulescu <claziss@synopsys.com> 8187 8188 * config/arc/arc.c (GMASK_LEN): Define. 8189 (arc_restore_callee_saves): Restore first blink when 8190 !optimize_size. 8191 81922019-04-03 Sudakshina Das <sudi.das@arm.com> 8193 8194 * doc/extend.texi: Add deprecated comment on sign-return-address 8195 function attribute and add mbranch-protection. 8196 * doc/invoke.texi: Add bti to the options for mbranch-protection. 8197 81982019-04-03 Richard Biener <rguenther@suse.de> 8199 8200 PR lto/89896 8201 * lto-wrapper.c (run_gcc): Avoid implicit rules making 8202 the all target phony. 8203 82042019-04-02 Uroš Bizjak <ubizjak@gmail.com> 8205 8206 PR target/89902 8207 PR target/89903 8208 * config/i386/i386.c (dimode_scalar_to_vector_candidate_p): 8209 Return false for variable DImode shifts. 8210 (dimode_scalar_chain::compute_convert_gain): Do not handle 8211 register count operand in variable DImode shifts. 8212 (dimode_scalar_chain::make_vector_copies): Remove support to copy 8213 count argument of a variable shift instruction to a vector register. 8214 (dimode_scalar_chain::convert_reg): Remove support to convert 8215 count argument of a variable shift instruction. 8216 82172019-04-02 Andrey Belevantsev <abel@ispras.ru> 8218 8219 PR rtl-optimization/84206 8220 * sel-sched-ir.h (get_all_loop_exits): Avoid the outer loop when 8221 iterating over loop headers. 8222 82232019-04-02 Andrey Belevantsev <abel@ispras.ru> 8224 8225 PR rtl-optimization/85876 8226 * sel-sched.c (code_motion_path_driver): Avoid unwinding first_insn 8227 beyond the original fence. 8228 82292019-04-02 Ulrich Weigand <uweigand@de.ibm.com> 8230 8231 * config.gcc: Mark spu* targets as deprecated/obsolete. 8232 82332019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8234 8235 * config/s390/s390-builtin-types.def: New builtin function type 8236 definitions. Remove unused types. 8237 * config/s390/s390-builtins.def (s390_vcdgb, s390_vcdlgb) 8238 (s390_vcgdb, s390_vclgdb): Remove low-level builtin definitions. 8239 (s390_vec_float, s390_vec_signed, s390_vec_unsigned): New 8240 overloaded builtins. 8241 (s390_vcefb, s390_vcdgb, s390_vcelfb, s390_vcdlgb, s390_vcfeb) 8242 (s390_vcgdb, s390_vclfeb, s390_vclgdb): New low-level builtins. 8243 * config/s390/vecintrin.h (vec_float): New builtin macro definition. 8244 (vec_double, vec_signed, vec_unsigned): Define to use the new 8245 overloaded builtins. 8246 * config/s390/vx-builtins.md ("vec_double_s64", "vec_double_u64"): 8247 Remove expanders. 8248 82492019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8250 8251 * config/s390/s390-builtin-types.def: New builtin function type 8252 definitions. 8253 * config/s390/s390-builtins.def (s390_vec_search_string_cc) 8254 (s390_vec_search_string_until_zero_cc): New overloaded builtins. 8255 (s390_vstrsb, s390_vstrsh, s390_vstrsf, s390_vstrszb) 8256 (s390_vstrszh, s390_vstrszf): New low-level builtins. 8257 * config/s390/s390.md (UNSPEC_VEC_VSTRS, UNSPEC_VEC_VSTRSCC): New 8258 constant definitions. 8259 * config/s390/vecintrin.h (vec_search_string_cc) 8260 (vec_search_string_until_zero_cc): New builtin name definitions. 8261 * config/s390/vx-builtins.md ("vstrs<mode>", "vstrsz<mode>"): New 8262 expanders. 8263 ("vec_vstrs<mode>"): New insn definition. 8264 82652019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8266 8267 * config/s390/s390-builtin-types.def: Add new builtin function 8268 types. 8269 * config/s390/s390-builtins.def (s390_vec_sldb, s390_vec_srdb): 8270 New overloaded builtins. 8271 (s390_vec_sldb, s390_vec_srdb): New low-level builtins. and 8272 s390_vsrd. 8273 * config/s390/s390.md (UNSPEC_VEC_SLDB): Rename to ... 8274 (UNSPEC_VEC_SLDBYTE): ... this. 8275 (UNSPEC_VEC_SLDBIT, UNSPEC_VEC_SRDBIT): New constant definitions. 8276 * config/s390/vecintrin.h (vec_sldb, vec_srdb): New builtin name 8277 definitions. 8278 * config/s390/vx-builtins.md ("vec_sld<mode>", "vec_sldw<mode>"): 8279 Rename UNSPEC_VEC_SLDB to UNSPEC_VEC_SLDBYTE. 8280 ("vec_sldb<mode>", "vec_srdb<mode>"): New insn definitions. 8281 82822019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8283 8284 ("*vec_splats_bswap_vec<mode>", "*vec_splats_bswap_elem<mode>"): 8285 New insn definition. 8286 * config/s390/vx-builtins.md (V_HW_HSD): Move to ... 8287 * config/s390/vector.md (V_HW_HSD): ... here. 8288 82892019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8290 8291 * config/s390/vecintrin.h: Map vec_vster low-level builtins to vec_vler. 8292 * config/s390/vx-builtins.md ("*vec_insert_and_zero_bswap<mode>") 8293 ("*vec_set_bswap_elem<mode>", "*vec_set_bswap_vec<mode>") 8294 ("*vec_extract_bswap_vec<mode>", "*vec_extract_bswap_elem<mode>"): 8295 New insn definitions. 8296 82972019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8298 8299 * config/s390/s390-builtin-types.def: Add new builtin function type. 8300 * config/s390/s390-builtins.def: Add overloaded builtin 8301 s390_vec_reve and low-level builtins for s390_vler and s390_vster. 8302 * config/s390/s390.md (UNSPEC_VEC_ELTSWAP): New constant definition. 8303 * config/s390/vecintrin.h (vec_reve): New builtin name definition. 8304 * config/s390/vx-builtins.md (V_HW_HSD): New mode iterator. 8305 ("eltswap<mode>"): New expander. 8306 ("*eltswapv16qi", "*eltswap<mode>", "*eltswap<mode>_emu"): New 8307 insn definitions. 8308 83092019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8310 8311 * config/s390/s390-builtin-types.def: Add new builtin function types. 8312 * config/s390/s390-builtins.def: Add overloaded builtin 8313 s390_vec_revb. Add low-level builtins for vlbr and vstbr 8314 instructions. 8315 * config/s390/vecintrin.h (vec_revb): New builtin name definition. 8316 * config/s390/vector.md (VT_HW_HSDT): New mode iterator. 8317 ("bswap<mode>"): New expander. 8318 ("*bswap<mode>", "*bswap<mode>_emu"): New insn definitions. 8319 83202019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8321 8322 * config/s390/s390-builtins.def (B_VXE2): New builtin flag definition. 8323 * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Increment 8324 vector builtin version number in __VEC__. 8325 83262019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8327 8328 * config/s390/s390.md (VX_CONV_BFP, VX_CONV_INT): New mode 8329 iterators. 8330 (SFSI): New mode attribute. 8331 ("*fixuns_truncdfdi2_vx", "*fix_truncdfdi2_bfp_z13") 8332 ("*floatunsdidf2_z13", ): Add support for 32 bit conversions and 8333 rename to ... 8334 ("*fixuns_trunc<VX_CONV_BFP:mode><VX_CONV_INT:mode>2_z13") 8335 ("*fix_trunc<VX_CONV_BFP:mode><VX_CONV_INT:mode>2_bfp_z13") 8336 ("*floatuns<VX_CONV_INT:mode><VX_CONV_BFP:mode>2_z13"): ... these. 8337 ("floatsi<mode>2"): Add wcefb instruction. 8338 83392019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8340 8341 * config/s390/s390.md ("xde"): Extend mode attribute to vector types. 8342 * config/s390/vector.md (VX_VEC_CONV_BFP, VX_VEC_CONV_INT): New 8343 mode iterators. 8344 ("floatv2div2df2", "floatunsv2div2df2", "fix_truncv2dfv2di2") 8345 ("fixuns_truncv2dfv2di2"): Enhance with mode iterator to also 8346 support 32 bit fp-int conversions. Rename to ... 8347 ("float<VX_VEC_CONV_INT:mode><VX_VEC_CONV_BFP:mode>2") 8348 ("floatuns<VX_VEC_CONV_INT:mode><VX_VEC_CONV_BFP:mode>2") 8349 ("fix_trunc<VX_VEC_CONV_BFP:mode><VX_VEC_CONV_INT:mode>2") 8350 ("fixuns_trunc<VX_VEC_CONV_BFP:mode><VX_VEC_CONV_INT:mode>2"): 8351 ... to these. 8352 83532019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8354 8355 * config/s390/s390.c (s390_rtx_costs): Do not add extra costs for 8356 if-then-else constructs if we can use the select instruction. 8357 * config/s390/s390.md ("*mov<mode>cc"): Add the new instructions. 8358 83592019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8360 8361 * config/s390/s390.md ("*popcountdi_arch13_cc") 8362 ("*popcountdi_arch13_cconly", "*popcountdi_arch13"): New insn 8363 definition. 8364 ("*popcount<mode>", "popcountdi2", "popcountsi2", "popcounthi2"): 8365 Append _z196 to make it ... 8366 ("*popcount<mode>_z196", "popcountdi2_z196", "popcountsi2_z196") 8367 ("popcounthi2_z196"): ... this. 8368 ("popcountdi2_z196"): Remove TARGET_64BIT from the insn condition. 8369 ("popcountdi2", "popcountsi2", "popcounthi2"): New expanders. 8370 83712019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8372 8373 * config/s390/s390.c (s390_canonicalize_comparison): Convert 8374 certain compares for arch13 in order to make use of the condition 8375 code result produced by the new instructions. 8376 (s390_rtx_costs): Adjust the costs for nnrk, nngrk, nork, nogrk, 8377 nxrk, and nxgrk instruction patterns. 8378 * config/s390/s390.md (ANDOR, bitops_name, inv_bitops_name) 8379 (inv_no): Add new code iterator together with some attributes. 8380 ("*andc_split_<mode>"): Disable splitter for arch13. 8381 ("*<ANDOR:bitops_name>c<GPR:mode>_cc") 8382 ("*<ANDOR:bitops_name>c<GPR:mode>_cconly") 8383 ("*<ANDOR:bitops_name>c<GPR:mode>") 8384 ("*n<ANDOR:inv_bitops_name><GPR:mode>_cc") 8385 ("*n<ANDOR:inv_bitops_name><mode>_cconly") 8386 ("*n<ANDOR:inv_bitops_name><mode>", "*nxor<GPR:mode>_cc") 8387 ("*nxor<mode>_cconly", "*nxor<mode>"): New insn definitions. 8388 83892019-04-02 Andreas Krebbel <krebbel@linux.ibm.com> 8390 8391 * common/config/s390/s390-common.c (processor_flags_table): New 8392 entry for arch13. 8393 * config.gcc: Support arch13 with the --with-arch= configure flag. 8394 * config/s390/driver-native.c (s390_host_detect_local_cpu): 8395 * config/s390/s390-opts.h (enum processor_type): Add PROCESSOR_ARCH13. 8396 * config/s390/s390.c (s390_get_sched_attrmask) 8397 (s390_get_unit_mask): Add PROCESSOR_ARCH13. 8398 * config/s390/s390.h (enum processor_flags): Add PF_VXE2 and PF_ARCH13. 8399 * config/s390/s390.md (TARGET_CPU_ARCH13, TARGET_CPU_ARCH13_P) 8400 (TARGET_CPU_VXE2, TARGET_CPU_VXE2_P, TARGET_ARCH13) 8401 (TARGET_ARCH13_P, TARGET_VXE2, TARGET_VXE2_P): New macro 8402 definitions. 8403 * config/s390/s390.opt: Support arch13 as processor type in 8404 command line options. 8405 84062019-04-02 Martin Liska <mliska@suse.cz> 8407 8408 PR translation/89912 8409 * params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP): 8410 Fix param description of graphite-max-arrays-per-scop. 8411 84122019-04-02 Eric Botcazou <ebotcazou@adacore.com> 8413 8414 * config/sparc/linux64.h (ASAN_REJECT_SPEC): New macro. 8415 (ASAN_CC1_SPEC): Use it in 64-bit mode. 8416 * config/sparc/sol2.h (ASAN_REJECT_SPEC): Remove superfluous colon. 8417 84182019-04-01 Andrey Belevantsev <abel@ispras.ru> 8419 8420 PR rtl-optimization/85412 8421 * sel-sched.c (sel_sched_region): Assign reset_sched_cycles_p before 8422 sel_sched_region_1, not after. 8423 84242019-04-01 Andrey Belevantsev <abel@ispras.ru> 8425 8426 PR rtl-optimization/86928 8427 * sel-sched-ir.c (sel_redirect_edge_and_branch_force): Invoke 8428 compute_live if necessary. 8429 (sel_redirect_edge_and_branch): Likewise. 8430 84312019-04-01 Vladimir Makarov <vmakarov@redhat.com> 8432 8433 PR rtl-optimization/89865 8434 * ira-costs.c (process_bb_node_for_hard_reg_moves): Skip hard 8435 register if it is a part of small class. 8436 84372019-04-01 Andrey Belevantsev <abel@ispras.ru> 8438 8439 PR rtl-optimization/87273 8440 * sel-sched-ir.c (merge_fences): Remove assert. 8441 84422019-04-01 Richard Biener <rguenther@suse.de> 8443 8444 PR tree-optimization/46590 8445 * domwalk.h (dom_walker::dom_walker): Consolidate constructors. 8446 (dom_walker::m_reachability): Add in place of... 8447 (dom_walker::m_skip_unreachable_blocks): ...this. 8448 * domwalk.c (dom_walker::dom_walker): Consoliate constructors. 8449 Move complex initialization ... 8450 (dom_walker::walk): Here. Especially compute m_bb_to_rpo 8451 lazily and initialize edge flags on each invocation. 8452 (dom_walker::bb_reachable): Use m_reachability. 8453 84542019-04-01 Martin Liska <mliska@suse.cz> 8455 8456 PR driver/89861 8457 * opt-suggestions.c (option_proposer::build_option_suggestions): 8458 Add variant without any argument in order to provide better 8459 hints. 8460 84612019-04-01 Richard Biener <rguenther@suse.de> 8462 8463 PR c/71598 8464 * gimple.c: Include langhooks.h. 8465 (gimple_get_alias_set): Treat enumeral types as the underlying 8466 integer type. 8467 84682019-03-29 Kugan Vivekanandarajah <kuganv@linaro.org> 8469 Eric Botcazou <ebotcazou@adacore.com> 8470 8471 PR rtl-optimization/89862 8472 * rtl.h (word_register_operation_p): Exclude CONST_INT from operations 8473 that operates on the full registers for WORD_REGISTER_OPERATIONS 8474 architectures. 8475 84762019-03-29 Jim Wilson <jimw@sifive.com> 8477 8478 * common/config/riscv/riscv-common.c (riscv_parse_arch_string): 8479 Clear MASK_RVC and then set if C subset supported. 8480 84812019-03-29 Jakub Jelinek <jakub@redhat.com> 8482 8483 PR c/89872 8484 * gimplify.c (gimplify_compound_literal_expr): Don't optimize a 8485 non-addressable complit into its initializer if it is volatile. 8486 84872019-03-29 Roman Zhuykov <zhroma@ispras.ru> 8488 8489 * opts-common.c (integral_argument): Set errno properly in one case. 8490 84912019-03-29 Martin Liska <mliska@suse.cz> 8492 8493 * doc/invoke.texi: Remove -Wchkp from documentation. 8494 84952019-03-29 Martin Liska <mliska@suse.cz> 8496 8497 * dbgcnt.c (print_limit_reach): New function. 8498 (dbg_cnt): Use it. 8499 85002019-03-29 Martin Liska <mliska@suse.cz> 8501 8502 * dbgcnt.c (dbg_cnt_process_single_pair): Fix GNU coding style. 8503 (dbg_cnt_process_opt): Parse first tokens aas 8504 dbg_cnt_process_single_pair is also using strtok. 8505 85062019-03-29 Jakub Jelinek <jakub@redhat.com> 8507 8508 PR rtl-optimization/87485 8509 * function.c (expand_function_end): Move stack_protect_epilogue 8510 before loading of return value into hard register(s). 8511 85122019-03-28 Jakub Jelinek <jakub@redhat.com> 8513 8514 PR middle-end/89621 8515 * tree-inline.h (struct copy_body_data): Add 8516 dont_remap_vla_if_no_change flag. 8517 * tree-inline.c (remap_type_3, remap_type_2): New functions. 8518 (remap_type): Don't remap vla types if id->dont_remap_vla_if_no_change 8519 and remap_type_2 returns false. 8520 * omp-low.c (new_omp_context): Set ctx->cb.dont_remap_vla_if_no_change. 8521 Move ctx->cb.adjust_array_error_bounds setting to the outermost ctx 8522 only from where it is copied to nested contexts. 8523 85242019-03-28 Uroš Bizjak <ubizjak@gmail.com> 8525 8526 PR target/89865 8527 * config/i386/i386.md (RMW operation with LEA peephole): 8528 Use LEAMODE mode attribute instead of SWI mode iterator for 8529 LEA pattern. 8530 85312019-03-28 Uroš Bizjak <ubizjak@gmail.com> 8532 8533 PR target/89848 8534 * config/i386/i386.c (dimode_scalar_chain::make_vector_copies): 8535 Also process XEXP (src, 0) of a shift insn. 8536 85372019-03-28 David Malcolm <dmalcolm@redhat.com> 8538 8539 PR middle-end/89725 8540 * optinfo-emit-json.cc (optrecord_json_writer::optinfo_to_json): 8541 Use DECL_ASSEMBLER_NAME rather than get_fnname_from_decl. 8542 85432019-03-28 Jakub Jelinek <jakub@redhat.com> 8544 8545 * regcprop.c (copyprop_hardreg_forward_1): Remove redundant INSN_P 8546 test. 8547 (cprop_hardreg_bb, cprop_hardreg_debug): New functions. 8548 (pass_cprop_hardreg::execute): Use those. Don't repeat bb processing 8549 immediately after first one with df_analyze in between, but rather 8550 process all bbs, queueing ones that need second pass in a worklist, 8551 df_analyze, process queued debug insn changes and if second pass is 8552 needed, process bbs from worklist, df_analyze, process queued debug 8553 insns again. 8554 8555 * rtl.h (NONDEBUG_INSN_P): Define as NONJUMP_INSN_P or JUMP_P 8556 or CALL_P instead of INSN_P && !DEBUG_INSN_P. 8557 (INSN_P): Define using NONDEBUG_INSN_P or DEBUG_INSN_P. 8558 85592019-03-28 Jonathan Wakely <jwakely@redhat.com> 8560 8561 PR c/79022 8562 * gengtype.h (create_nested_ptr_option): Fix parameter names to match 8563 definition. 8564 85652019-03-27 Mateusz B <mateuszb@poczta.onet.pl> 8566 8567 PR target/85667 8568 * config/i386/i386.c (ix86_function_value_1): Call the newly added 8569 function for 32-bit MS_ABI. 8570 (function_value_ms_32): New function. 8571 85722019-03-27 Andrew Stubbs <ams@codesourcery.com> 8573 8574 * config/gcn/gcn.md (CC_SAVE_REG): New constant. 8575 (movdi): Call gen_movdi_symbol_save_scc. 8576 (gen_movdi_symbol_save_scc): New insn and split. 8577 85782019-03-27 Peter Bergner <bergner@linux.ibm.com> 8579 8580 PR rtl-optimization/89313 8581 * function.c (matching_constraint_num): New static function. 8582 (match_asm_constraints_1): Use it. Fixup white space and comment. 8583 Don't replace inputs with non-matching constraints which conflict 8584 with early clobber outputs. 8585 85862019-03-27 Jeff Law <law@redhat.com> 8587 8588 8589 PR rtl-optimization/87761 8590 PR rtl-optimization/89826 8591 * regcprop.c (copyprop_hardreg_forward_1): Move may_trap_p test 8592 slightly later. 8593 (pass_cprop_hardreg::execute): Call df_analyze after adding the 8594 note problem to get REG_DEAD/REG_UNUSED notes updated. 8595 85962019-03-27 Richard Biener <rguenther@suse.de> 8597 8598 PR tree-optimization/89463 8599 * tree-ssa-dce.c (remove_dead_stmt): Take output vector to 8600 queue edges to remove. 8601 (eliminate_unnecessary_stmts): Remove dead PHIs alongside 8602 dead stmts. Delay edge removal until PHIs are removed to 8603 make debug-stmt creation not confused by seemingly degenerate 8604 PHIs. 8605 86062019-03-27 Alan Modra <amodra@gmail.com> 8607 8608 * config/rs6000/rs6000.h: Rename NON_SPECIAL_REGS to GEN_OR_FLOAT_REGS 8609 throughout file. 8610 * config/rs6000/darwin.h: Likewise. 8611 * config/rs6000/rs6000.c: Likewise. 8612 86132019-03-27 Alan Modra <amodra@gmail.com> 8614 8615 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Always 8616 assign rs6000_hard_regno_mode_ok_p[m][r]. Formatting. 8617 86182019-03-26 Andrew Waterman <andrew@sifive.com> 8619 Jim Wilson <jimw@sifive.com> 8620 8621 * config/riscv/generic.md (generic_alu, generic_load, generic_store) 8622 (generic_xfer, generic_branch, generic_imul, generic_idivsi) 8623 (generic_idivdi, generic_fmul_single, generic_fmul_double) 8624 (generic_fdiv, generic_fsqrt): Add check for generic tune. 8625 (generic_alu): Add auipc to type list. 8626 * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): New. 8627 (riscv_microarchitecture): Declare. 8628 * config/riscv/riscv-protos.h (riscv_store_data_bypass_p): Declare. 8629 * config/riscv/riscv.c (struct riscv_cpu_info): Add microarchitecture 8630 field. 8631 (riscv_microarchitecture): New. 8632 (sifive_7_tune_info): New. 8633 (riscv_cpu_info_table): Add microarchitecture value for rocket and 8634 size. Add sifive-3-series, sifive-5-series, and sifive-7-series 8635 entries. 8636 (riscv_store_data_bypass_p): New. 8637 (riscv_option_override): Set riscv_microarchitecture from 8638 cpu->microarchitecture. 8639 * config/riscv/riscv.md: Include sifive-7.md. 8640 (type): Add auipc. 8641 (tune): New. 8642 (auipc<mode>): Change type to auipc. 8643 (restore_stack_nonlocal): New. 8644 * config/riscv/sifive-7.md: New. 8645 * doc/invoke.texi (RISC-V Options): Update mtune docs. 8646 86472019-03-26 Uroš Bizjak <ubizjak@gmail.com> 8648 8649 PR target/89827 8650 * config/i386/i386.c (dimode_scalar_chain::convert_reg): 8651 Also process XEXP (src, 0) of a shift insn. 8652 86532019-03-26 Richard Biener <rguenther@suse.de> 8654 8655 * tree-inline.c (remap_gimple_stmt): Cache gimple_block. 8656 (copy_debug_stmt): Likewise. 8657 (expand_call_inline): Likewise. 8658 (copy_bb): Avoid redundant lookup & set of gimple_block. 8659 * gimple-low.c (lower_gimple_return): Likewise. 8660 (lower_builtin_setjmp): Likewise. 8661 86622019-03-26 Jakub Jelinek <jakub@redhat.com> 8663 8664 * hash-table.h (hash_table::m_gather_mem_stats): If GATHER_STATISTICS 8665 is constant 0, turn into static const data member initialized to false. 8666 (hash_table::hash_table): Only initialize m_gather_mem_stats #if 8667 GATHER_STATISTICS. Add ATTRIBUTE_UNUSED to gather_mem_stats param. 8668 86692019-03-26 Jason Merrill <jason@redhat.com> 8670 Jakub Jelinek <jakub@redhat.com> 8671 8672 * mem-stats.h (mem_alloc_description::unregister_descriptor): New 8673 method. 8674 (mem_alloc_description::release_object_overhead): Fix comment typos. 8675 * hash-table.h (hash_table::~hash_table): Call 8676 release_instance_overhead only if m_entries is non-NULL, otherwise 8677 call unregister_descriptor. 8678 86792019-03-26 Bin Cheng <bin.cheng@linux.alibaba.com> 8680 8681 PR tree-optimization/81740 8682 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): 8683 In case of outer loop vectorization, check for backward dependence 8684 at the inner loop if outer loop dependence is reversed. 8685 86862019-03-26 Alan Modra <amodra@gmail.com> 8687 8688 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Correct 8689 rs6000_vector_mem init. Correct wI and wJ comment. 8690 86912019-03-25 Alexander Monakov <amonakov@ispras.ru> 8692 8693 PR rtl-optimization/88347 8694 PR rtl-optimization/88423 8695 * sched-deps.c (sched_analyze_insn): Take into account that for 8696 tablejumps the barrier appears after a label and a jump_table_data. 8697 86982019-03-25 Martin Sebor <msebor@redhat.com> 8699 8700 PR c/89812 8701 * c-common.c (check_user_alignment): Rename local. Correct maximum 8702 alignment in diagnostic. Avoid assuming argument fits in SHWI, 8703 convert it to UHWI when it fits. 8704 87052019-03-25 Johan Karlsson <johan.karlsson@enea.com> 8706 8707 PR debug/86964 8708 * dwarf2out.c (premark_used_variables): New function. 8709 (prune_unused_types_walk): Do not mark not premarked external 8710 variables. 8711 (prune_unused_types): Call premark_used_variables. 8712 87132019-03-25 Vladimir Makarov <vmakarov@redhat.com> 8714 8715 PR rtl-optimization/89676 8716 * lra-constraints.c (curr_insn_transform): Do match reload for 8717 early clobbers when the match was successful only for different 8718 registers. 8719 87202019-03-25 Martin Sebor <msebor@redhat.com> 8721 8722 * doc/extend.texi (Common Type Attributes): Document vector_size. 8723 (Common Variable Attributes): Mention size constraint. Correct 8724 quoting and typos. 8725 (Vector Extensions): Use @dfn when defining bas type. Clarify 8726 base type and size constraints. 8727 87282019-03-25 Richard Biener <rguenther@suse.de> 8729 8730 PR tree-optimization/89789 8731 * tree-ssa-sccvn.c (set_ssa_val_to): Do not allow lattice 8732 changes from non-undefined back to undefined. 8733 87342019-03-25 Thomas Otto <thomas.otto@pdv-fs.de> 8735 8736 * dwarf2out.c (comp_dir_string): cached_wd could be set to both a 8737 heap string and a gc string, but since this variable is unknown to 8738 ggc the gc string might get reused and corrupted. Fixed by always 8739 using a heap string. 8740 87412019-03-25 Richard Biener <rguenther@suse.de> 8742 8743 PR tree-optimization/89779 8744 * tree-ssa-loop-ivopts.c (remove_unused_ivs): Return 8745 to remove IV defs, delay actual removal. 8746 (tree_ssa_iv_optimize_loop): Likewise. Avoid SCEV reset. 8747 (tree_ssa_iv_optimize): Remove eliminated IV defs at the 8748 very end, properly also reset loop control IV information. 8749 87502019-03-25 Richard Biener <rguenther@suse.de> 8751 8752 PR tree-optimization/89802 8753 * tree-ssa-math-opts.c (convert_mult_to_fma_1): Properly 8754 move EH data to folded stmt. 8755 87562019-03-25 Andreas Krebbel <krebbel@linux.ibm.com> 8757 8758 * config/s390/s390-builtin-types.def: Remove few unused types and 8759 fix sort order for others. 8760 87612019-03-25 Andreas Krebbel <krebbel@linux.ibm.com> 8762 8763 * config/s390/s390-c.c (s390_fn_types_compatible): Print the 8764 expected and found types with -mdebug during builtin matching. 8765 87662019-03-25 Richard Biener <rguenther@suse.de> 8767 8768 PR middle-end/89790 8769 * fold-const.c (operand_equal_p): Revert last change with 8770 updated comment. 8771 87722019-03-24 Segher Boessenkool <segher@kernel.crashing.org> 8773 8774 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Add REG_EQUAL 8775 notes for the result of the __tls_get_addr calls. 8776 * config/rs6000/rs6000.md (unspec UNSPEC_TLS_GET_ADDR): New. 8777 87782019-03-24 Jeff Law <law@redhat.com> 8779 8780 * config/bfin/bfin.md (movpdi): Fix length for alternative 1. 8781 8782 PR rtl-optimization/87761 8783 * regcprop.c (copyprop_hardreg_forward_1): Check may_trap_p on SET, 8784 not INSN. Also check RTX_FRAME_RELATED_P. Queue insns for DF rescan 8785 as needed. 8786 (pass_cprop_hardreg::execute): Add df note problem and defer insn 8787 rescans. Reprocess blocks as needed, calling df_analyze before 8788 reprocessing. Always call df_analyze before fixing up debug bind 8789 insns. 8790 87912019-03-23 Segher Boessenkool <segher@kernel.crashing.org> 8792 8793 * config/rs6000/xmmintrin.h (_mm_movemask_pi8): Implement for 32-bit 8794 big endian. 8795 87962019-03-22 Andrew Pinski <apinski@marvell.com> 8797 8798 * config/aarch64/aarch64.md (zero_extendsidi2_aarch64): Fix type 8799 attrribute for uxtw. 8800 88012019-03-26 Jeff Law <law@redhat.com> 8802 8803 PR rtl-optimization/87761 8804 * config/mips/mips-protos.h (mips_split_move): Add new argument. 8805 (mips_emit_move_or_split): Pass NULL for INSN into mips_split_move. 8806 (mips_split_move): Accept new INSN argument. Try to forward SRC 8807 into the next instruction. 8808 (mips_split_move_insn): Pass INSN through to mips_split_move. 8809 88102019-03-22 Vladimir Makarov <vmakarov@redhat.com> 8811 8812 PR rtl-optimization/89676 8813 * lra-constraints.c (curr_insn_transform): Do match reload for 8814 early clobbers even if the match was successful. 8815 88162019-03-22 Jakub Jelinek <jakub@redhat.com> 8817 8818 PR c++/87481 8819 * doc/invoke.texi (-fconstexpr-ops-limit=): Document. 8820 88212019-03-22 Bill Schmidt <wschmidt@linux.ibm.com> 8822 8823 * config/rs6000/mmintrin.h (_mm_sub_pi32): Fix typo. 8824 88252019-03-22 Jakub Jelinek <jakub@redhat.com> 8826 8827 * config/i386/sse.md (<avx512>_fmadd_<mode>_mask3<round_name>, 8828 <avx512>_fmsub_<mode>_mask3<round_name>, 8829 <avx512>_fnmadd_<mode>_mask3<round_name>, 8830 <avx512>_fnmsub_<mode>_mask3<round_name>, 8831 avx512f_vmfmadd_<mode>_mask3<round_name>, 8832 avx512f_vmfmsub_<mode>_mask3<round_name>, 8833 *avx512f_vmfnmadd_<mode>_mask3<round_name>): Use <round_nimm_predicate> 8834 instead of register_operand and %v instead of v for match_operand 1. 8835 (avx512f_vmfnmsub_<mode>_mask3<round_name>): Rename to ... 8836 (*avx512f_vmfnmsub_<mode>_mask3<round_name>): ... this. Use 8837 <round_nimm_predicate> instead of register_operand and %v instead of v 8838 for match_operand 1. 8839 8840 * config/i386/sse.md (<avx512>_fmadd_<mode>_mask<round_name>, 8841 <avx512>_fmadd_<mode>_mask3<round_name>, 8842 <avx512>_fmsub_<mode>_mask<round_name>, 8843 <avx512>_fmsub_<mode>_mask3<round_name>, 8844 <avx512>_fnmadd_<mode>_mask<round_name>, 8845 <avx512>_fnmadd_<mode>_mask3<round_name>, 8846 <avx512>_fnmsub_<mode>_mask<round_name>, 8847 <avx512>_fnmsub_<mode>_mask3<round_name>, 8848 <avx512>_fmaddsub_<mode>_mask<round_name>, 8849 <avx512>_fmaddsub_<mode>_mask3<round_name>, 8850 <avx512>_fmsubadd_<mode>_mask<round_name>, 8851 <avx512>_fmsubadd_<mode>_mask3<round_name>): Use 8852 <round_nimm_predicate> instead of nonimmediate_operand. 8853 (fmai_vmfmadd_<mode><round_name>, fmai_vmfmsub_<mode><round_name>, 8854 fmai_vmfnmadd_<mode><round_name>, fmai_vmfnmsub_<mode><round_name>): 8855 Use register_operand instead of <round_nimm_predicate> for the 8856 operand that needs to match output. 8857 (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>, 8858 *fmai_fnmadd_<mode><round_name>, *fmai_fnmsub_<mode><round_name>): 8859 Likewise. Formatting fixes. 8860 8861 PR target/89784 8862 * config/i386/i386.c (enum ix86_builtins): Remove 8863 IX86_BUILTIN_VFMSUBSD3_MASK3 and IX86_BUILTIN_VFMSUBSS3_MASK3. 8864 * config/i386/i386-builtin.def (__builtin_ia32_vfmaddsd3_mask, 8865 __builtin_ia32_vfmaddsd3_mask3, __builtin_ia32_vfmaddsd3_maskz, 8866 __builtin_ia32_vfmsubsd3_mask3, __builtin_ia32_vfmaddss3_mask, 8867 __builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz, 8868 __builtin_ia32_vfmsubss3_mask3): New builtins. 8869 * config/i386/sse.md (avx512f_vmfmadd_<mode>_mask<round_name>, 8870 avx512f_vmfmadd_<mode>_mask3<round_name>, 8871 avx512f_vmfmadd_<mode>_maskz_1<round_name>, 8872 *avx512f_vmfmsub_<mode>_mask<round_name>, 8873 avx512f_vmfmsub_<mode>_mask3<round_name>, 8874 *avx512f_vmfmasub_<mode>_maskz_1<round_name>, 8875 *avx512f_vmfnmadd_<mode>_mask<round_name>, 8876 *avx512f_vmfnmadd_<mode>_mask3<round_name>, 8877 *avx512f_vmfnmadd_<mode>_maskz_1<round_name>, 8878 *avx512f_vmfnmsub_<mode>_mask<round_name>, 8879 avx512f_vmfnmsub_<mode>_mask3<round_name>, 8880 *avx512f_vmfnmsub_<mode>_maskz_1<round_name>): New define_insns. 8881 (avx512f_vmfmadd_<mode>_maskz<round_expand_name>): New define_expand. 8882 * config/i386/avx512fintrin.h (_mm_mask_fmadd_sd, _mm_mask_fmadd_ss, 8883 _mm_mask3_fmadd_sd, _mm_mask3_fmadd_ss, _mm_maskz_fmadd_sd, 8884 _mm_maskz_fmadd_ss, _mm_mask_fmsub_sd, _mm_mask_fmsub_ss, 8885 _mm_mask3_fmsub_sd, _mm_mask3_fmsub_ss, _mm_maskz_fmsub_sd, 8886 _mm_maskz_fmsub_ss, _mm_mask_fnmadd_sd, _mm_mask_fnmadd_ss, 8887 _mm_mask3_fnmadd_sd, _mm_mask3_fnmadd_ss, _mm_maskz_fnmadd_sd, 8888 _mm_maskz_fnmadd_ss, _mm_mask_fnmsub_sd, _mm_mask_fnmsub_ss, 8889 _mm_mask3_fnmsub_sd, _mm_mask3_fnmsub_ss, _mm_maskz_fnmsub_sd, 8890 _mm_maskz_fnmsub_ss, _mm_mask_fmadd_round_sd, _mm_mask_fmadd_round_ss, 8891 _mm_mask3_fmadd_round_sd, _mm_mask3_fmadd_round_ss, 8892 _mm_maskz_fmadd_round_sd, _mm_maskz_fmadd_round_ss, 8893 _mm_mask_fmsub_round_sd, _mm_mask_fmsub_round_ss, 8894 _mm_mask3_fmsub_round_sd, _mm_mask3_fmsub_round_ss, 8895 _mm_maskz_fmsub_round_sd, _mm_maskz_fmsub_round_ss, 8896 _mm_mask_fnmadd_round_sd, _mm_mask_fnmadd_round_ss, 8897 _mm_mask3_fnmadd_round_sd, _mm_mask3_fnmadd_round_ss, 8898 _mm_maskz_fnmadd_round_sd, _mm_maskz_fnmadd_round_ss, 8899 _mm_mask_fnmsub_round_sd, _mm_mask_fnmsub_round_ss, 8900 _mm_mask3_fnmsub_round_sd, _mm_mask3_fnmsub_round_ss, 8901 _mm_maskz_fnmsub_round_sd, _mm_maskz_fnmsub_round_ss): New intrinsics. 8902 89032019-03-21 Martin Sebor <msebor@redhat.com> 8904 8905 PR tree-optimization/89350 8906 * builtins.c (compute_objsize): Also ignore offsets whose upper 8907 bound is negative. 8908 * gimple-ssa-warn-restrict.c (builtin_memref): Add new member. 8909 (builtin_memref::builtin_memref): Initialize new member. 8910 Allow EXPR to be null. 8911 (builtin_memref::extend_offset_range): Replace local with a member. 8912 Avoid assuming pointer offsets are unsigned. 8913 (builtin_memref::set_base_and_offset): Determine base object 8914 before computing offset range. 8915 (builtin_access::builtin_access): Handle memset. 8916 (builtin_access::generic_overlap): Replace local with a member. 8917 (builtin_access::strcat_overlap): Same. 8918 (builtin_access::overlap): Same. 8919 (maybe_diag_overlap): Same. 8920 (maybe_diag_access_bounds): Same. 8921 (wrestrict_dom_walker::check_call): Handle memset. 8922 (check_bounds_or_overlap): Same. 8923 89242019-03-21 Jan Hubicka <hubicka@ucw.cz> 8925 Jakub Jelinek <jakub@redhat.com> 8926 8927 PR lto/89692 8928 * tree.c (fld_type_variant, fld_incomplete_type_of, 8929 fld_process_array_type): Call fld->pset.add and don't call 8930 add_tree_to_fld_list if it returns true. 8931 (free_lang_data_in_type): Similarly with self-recursive call. Purge 8932 non-marked types from TYPE_NEXT_VARIANT list. 8933 (find_decls_types_r): Call fld_worklist_push for TYPE_CANONICAL (t). 8934 89352019-03-21 Jakub Jelinek <jakub@redhat.com> 8936 8937 * hash-table.h (hash_table): Add Lazy template parameter defaulted 8938 to false, if true, don't alloc_entries during construction, but defer 8939 it to the first method that needs m_entries allocated. 8940 (hash_table::hash_table, hash_table::~hash_table, 8941 hash_table::alloc_entries, hash_table::find_empty_slot_for_expand, 8942 hash_table::too_empty_p, hash_table::expand, hash_table::empty_slow, 8943 hash_table::clear_slot, hash_table::traverse_noresize, 8944 hash_table::traverse, hash_table::iterator::slide): Adjust all methods. 8945 * hash-set.h (hash_set): Add Lazy template parameter defaulted to 8946 false. 8947 (hash_set::contains): If Lazy is true, use find_slot_with_hash with 8948 NO_INSERT instead of find_with_hash. 8949 (hash_set::traverse, hash_set::iterator, hash_set::iterator::m_iter, 8950 hash_set::m_table): Add Lazy to template params of hash_table. 8951 (gt_ggc_mx, gt_pch_nx): Use false as Lazy in hash_set template param. 8952 * attribs.c (test_attribute_exclusions): Likewise. 8953 * hash-set-tests.c (test_set_of_strings): Add iterator tests for 8954 hash_set. Add tests for hash_set with Lazy = true. 8955 89562019-03-21 Richard Biener <rguenther@suse.de> 8957 8958 PR tree-optimization/89779 8959 * tree.c (tree_nop_conversion): Consolidate and fix defensive 8960 checks with respect to released SSA names now having error_mark_node 8961 type. 8962 * fold-const.c (operand_equal_p): Likewise. 8963 89642019-03-20 Andreas Krebbel <krebbel@linux.ibm.com> 8965 8966 PR target/89775 8967 * config/s390/s390.c (global_not_special_regno_p): Move to make it 8968 available to ... 8969 (s390_optimize_register_info): Use global_not_special_regno_p to 8970 check for global regs. 8971 89722019-03-20 Jakub Jelinek <jakub@redhat.com> 8973 8974 PR target/89752 8975 * lra-constraints.c (process_alt_operands) <reg>: For BLKmode, don't 8976 update this_alternative nor this_alternative_set. 8977 89782019-03-19 Jim Wilson <jimw@sifive.com> 8979 8980 PR target/89411 8981 * config/riscv/riscv.c (riscv_valid_lo_sum_p): New arg x. New locals 8982 align, size, offset. Use them to handle a BLKmode reference. Update 8983 comment. 8984 (riscv_classify_address): Pass info->offset to riscv_valid_lo_sum_p. 8985 89862019-03-19 Jakub Jelinek <jakub@redhat.com> 8987 8988 PR rtl-optimization/89768 8989 * loop-unroll.c (unroll_loop_constant_iterations): Use gen_int_mode 8990 instead of GEN_INT. 8991 (unroll_loop_runtime_iterations): Likewise. 8992 89932019-03-19 Martin Sebor <msebor@redhat.com> 8994 8995 PR tree-optimization/89644 8996 * tree-ssa-strlen.c (handle_builtin_stxncpy): Use full_string_p 8997 rather than endptr as an indicator of nul-termination. 8998 8999 PR tree-optimization/89644 9000 * tree-ssa-strlen.c (handle_builtin_stxncpy): Consider unterminated 9001 arrays in determining sequence sizes in strncpy and stpncpy. 9002 90032019-03-19 Martin Liska <mliska@suse.cz> 9004 9005 PR middle-end/89737 9006 * predict.c (combine_predictions_for_bb): Empty likely_edges and 9007 unlikely_edges if there's an edge that belongs to both these sets. 9008 90092018-03-19 Segher Boessenkool <segher@kernel.crashing.org> 9010 9011 PR target/89746 9012 * config/rs6000/rs6000.md (fix_trunc<mode>si2_stfiwx): If we have a 9013 non-TARGET_MFCRF target, and the dest is memory but not 32-bit aligned, 9014 go via a stack temporary. 9015 90162019-03-19 Jakub Jelinek <jakub@redhat.com> 9017 9018 PR target/89378 9019 * config/mips/mips.c (mips_expand_vec_cond_expr): Use gen_lowpart 9020 instead of gen_rtx_SUBREG. 9021 * config/mips/mips-msa.md (vec_extract<mode><unitmode>): Likewise. 9022 90232019-03-19 Richard Biener <rguenther@suse.de> 9024 9025 PR debug/88389 9026 * opts.c (finish_options): Disable -gsplit-dwarf when doing LTO. 9027 90282019-03-19 Jan Hubicka <hubicka@ucw.cz> 9029 9030 PR lto/87809 9031 PR lto/89335 9032 * tree.c (free_lang_data_in_decl): Do not free context of C++ 9033 destrutors. 9034 90352019-03-19 Jakub Jelinek <jakub@redhat.com> 9036 9037 PR target/89506 9038 * config/arm/arm.md (cmpsi2_addneg): Swap the alternatives and use 9039 subs for the first alternative except when operands[3] is 1. 9040 9041 PR target/89752 9042 * gimplify.c (gimplify_asm_expr): For output argument with 9043 TREE_ADDRESSABLE type, clear allows_reg if it allows memory, otherwise 9044 diagnose error. 9045 90462019-03-19 Eric Botcazou <ebotcazou@adacore.com> 9047 9048 PR rtl-optimization/89753 9049 * loop-unroll.c (decide_unroll_constant_iterations): Make guard for 9050 explicit unrolling factor even more robust. 9051 90522019-03-19 Jakub Jelinek <jakub@redhat.com> 9053 9054 PR target/89726 9055 * config/i386/i386.c (ix86_expand_floorceildf_32): In ceil 9056 compensation use x2 += 1 instead of x2 -= -1 and when honoring 9057 signed zeros, do another copysign after the compensation. 9058 90592019-03-18 Martin Sebor <msebor@redhat.com> 9060 9061 PR tree-optimization/89720 9062 * tree-vrp.c (vrp_prop::check_mem_ref): Treat range with max < min 9063 more conservatively, the same as anti-range. 9064 90652019-03-18 Richard Biener <rguenther@suse.de> 9066 9067 PR middle-end/88945 9068 * tree-ssanames.c (release_ssa_name_fn): For released SSA names 9069 use a TREE_TYPE of error_mark_node to avoid ICEs when dumping 9070 basic-blocks that are removed. Remove restoring SSA_NAME_VAR. 9071 * tree-outof-ssa.c (eliminate_useless_phis): Remove redundant checking. 9072 90732019-03-18 Andrew Stubbs <ams@codesourcery.com> 9074 9075 * config/gcn/gcn-run.c (struct output): Make next_output unsigned. 9076 Extend queue to 1024 entries. 9077 Add "consumed" field. 9078 (gomp_print_output): Remove print_index parameter. 9079 Add final parameter. 9080 Change limit to unsigned. 9081 Use consumed field to implement circular buffer. 9082 Detect interrupted print in final pass. 9083 Flush output at the end. 9084 (run): Update gomp_print_output usage. 9085 (main): Initialize kernargs->output_data.consumed. 9086 90872019-03-18 Richard Sandiford <richard.sandiford@arm.com> 9088 9089 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Fix the 9090 calculation of the minimum number of scalar iterations for 9091 fully-predicated loops. 9092 90932019-03-18 Martin Jambor <mjambor@suse.cz> 9094 9095 PR tree-optimization/89546 9096 * tree-sra.c (propagate_subaccesses_across_link): Requeue new_acc if 9097 any propagation to its children took place. 9098 90992019-03-18 Andrew Burgess <andrew.burgess@embecosm.com> 9100 9101 PR target/89627 9102 * config/riscv/riscv.c (riscv_pass_fpr_single): Add offset 9103 parameter, and make use of it. 9104 (riscv_get_arg_info): Pass offset to riscv_pass_fpr_single. 9105 91062019-03-18 Claudiu Zissulescu <claziss@synopsys.com> 9107 9108 * config/arc/arc.opt (mcode-density-frame): Get the inital value 9109 from TARGET_CODE_DENSITY_FRAME_DEFAULT. 9110 * config/arc/elf.h (TARGET_CODE_DENSITY_FRAME_DEFAULT): Define. 9111 * config/arc/linux.h (TARGET_CODE_DENSITY_FRAME_DEFAULT): Define. 9112 * config/arc/arc.md (pop_multi_fp_blink): Adjust constraints to 9113 match what the ops is doing. 9114 (push_multi_fp_blink): Likewise. 9115 * config/arc/arc.c (arc_override_options): Enable enter/leave when 9116 compiling for size and elf target. 9117 (arc_save_callee_enter): Adjust note to match what enter/leave 9118 operation does. 9119 91202019-03-18 Claudiu Zissulescu <claziss@synopsys.com> 9121 9122 * config/arc/arc.md (tst_movb): Fix constraint. 9123 91242019-03-18 Claudiu Zissulescu <claziss@synopsys.com> 9125 9126 * config/arc/arc.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define. 9127 91282019-03-18 Claudiu Zissulescu <claziss@synopsys.com> 9129 9130 * config/arc/arc-protos.h (arc_adjust_reg_alloc_order): Declare. 9131 * config/arc/arc.c (arc_conditional_register_usage): Remove all 9132 reg_alloc_order references. 9133 (size_alloc_order): Define. 9134 (arc_adjust_reg_alloc_order): New function. 9135 * config/arc/arc.h (REG_ALLOC_ORDER): Proper define the register 9136 order. 9137 (ADJUST_REG_ALLOC_ORDER): Define. 9138 (HONOR_REG_ALLOC_ORDER): Likewise. 9139 91402019-03-18 Richard Biener <rguenther@suse.de> 9141 9142 PR target/87561 9143 * config/i386/i386.c (ix86_add_stmt_cost): Pessimize strided 9144 loads and stores a bit more. 9145 91462019-03-18 Richard Biener <rguenther@suse.de> 9147 9148 PR target/87561 9149 * config/i386/i386.c (ix86_add_stmt_cost): Apply strided 9150 load pessimization to stores as well. 9151 91522019-03-18 Andrey Belevantsev <abel@ispras.ru> 9153 9154 PR middle-end/86979 9155 * sel-sched.c (compute_av_set_at_bb_end): When we have an ineligible 9156 successor, use NULL as its av set. 9157 91582019-03-15 Segher Boessenkool <segher@kernel.crashing.org> 9159 9160 PR rtl-optimization/89721 9161 * lra-constraints (invariant_p): Return false if side_effects_p holds. 9162 91632019-03-15 Kelvin Nilsen <kelvin@gcc.gnu.org> 9164 9165 PR target/87532 9166 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): 9167 When handling vec_extract, use modular arithmetic to allow 9168 constant selectors greater than vector length. 9169 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Allow 9170 V1TImode vectors to have constant selector values greater than 0. 9171 Use modular arithmetic to compute vector index. 9172 (rs6000_split_vec_extract_var): Use modular arithmetic to compute 9173 index for in-memory vectors. Correct code generation for 9174 in-register vectors. 9175 (altivec_expand_vec_ext_builtin): Use modular arithmetic to 9176 compute index. 9177 91782019-03-15 Alexandre Oliva <aoliva@redhat.com> 9179 9180 PR c++/88534 9181 PR c++/88537 9182 * dwarf2out.c (generic_parameter_die): Follow DECL_INITIAL of 9183 VAR_DECL args. 9184 91852019-03-15 Jakub Jelinek <jakub@redhat.com> 9186 9187 PR c++/89709 9188 * tree.c (inchash::add_expr): Strip any location wrappers. 9189 * fold-const.c (operand_equal_p): Move stripping of location wrapper 9190 after hash verification. 9191 9192 PR debug/89704 9193 * dwarf2out.c (add_const_value_attribute): Return false for MINUS, 9194 SIGN_EXTEND and ZERO_EXTEND. 9195 91962019-03-14 Jason Merrill <jason@redhat.com> 9197 Jakub Jelinek <jakub@redhat.com> 9198 9199 * hash-table.h (remove_elt_with_hash): Return if slot is NULL rather 9200 than if is_empty (*slot). 9201 * hash-set-tests.c (test_set_of_strings): Add tests for addition of 9202 existing elt and for elt removal. 9203 * hash-map-tests.c (test_map_of_strings_to_int): Add test for removal 9204 of already removed elt. 9205 92062019-03-15 H.J. Lu <hongjiu.lu@intel.com> 9207 9208 PR target/89650 9209 * config/i386/i386.c (remove_partial_avx_dependency): Handle 9210 REG_EH_REGION note. 9211 92122019-03-14 Martin Liska <mliska@suse.cz> 9213 9214 PR other/89712 9215 * doc/invoke.texi: Remove -fdump-class-hierarchy option. 9216 92172019-03-14 Richard Biener <rguenther@suse.de> 9218 9219 PR target/89711 9220 * config/i386/i386.c (make_resolver_func): Properly set 9221 DECL_CONTEXT on the RESULT_DECL. 9222 * config/rs6000/rs6000.c (make_resolver_func): Likewise. 9223 92242019-03-14 Richard Biener <rguenther@suse.de> 9225 9226 * gimple-pretty-print.c: Include cfgloop.h. 9227 (dump_gimple_phi): Adjust. 9228 (dump_gimple_bb_header): Dump loop header for GIMPLE. 9229 (pp_cfg_jump): Adjust. 9230 (dump_implicit_edges): Dump fallthru to next block for GIMPLE as well. 9231 * tree-cfg.c (build_gimple_cfg): Remove lower_phi_internal_fn call. 9232 (lower_phi_internal_fn): Remove. 9233 (verify_gimple_call): Remove IFN_PHI special-casing. 9234 (dump_function_to_file): Dump IL state. 9235 * tree-into-ssa.c (rewrite_add_phi_arguments): Revert changes 9236 done to deal with PHI nodes being present in non-SSA state. 9237 92382019-03-14 Jakub Jelinek <jakub@redhat.com> 9239 9240 PR ipa/89684 9241 * multiple_target.c (create_dispatcher_calls): Change 9242 references_to_redirect from vector of ipa_ref * to vector of ipa_ref. 9243 In the node->iterate_referring loop, push *ref rather than ref, call 9244 ref->remove_reference () and always pass 0 to iterate_referring. 9245 9246 PR rtl-optimization/89679 9247 * expmed.c (expand_mult_const): Don't add a REG_EQUAL note if it 9248 would contain a paradoxical SUBREG. 9249 92502019-03-14 Richard Biener <rguenther@suse.de> 9251 9252 PR tree-optimization/89710 9253 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use 9254 safe_dyn_cast. 9255 92562019-03-14 Martin Liska <mliska@suse.cz> 9257 9258 * coverage.c (coverage_begin_function): Stream also 9259 end_column. 9260 * doc/gcov.texi: Document 2 new fields in JSON file. Improve 9261 documentation about function declaration location. 9262 * gcov-dump.c (tag_function): Print whole range 9263 of function declaration. 9264 * gcov.c (struct function_info): Add end_column field. 9265 (function_info::function_info): Initialize it. 9266 (output_json_intermediate_file): Output {start,end}_column 9267 fields. 9268 (read_graph_file): Read end_column. 9269 92702019-03-14 Richard Biener <rguenther@suse.de> 9271 9272 PR middle-end/89698 9273 * fold-const.c (operand_equal_p): For INDIRECT_REF check 9274 that the access types are similar. 9275 92762019-03-14 Jakub Jelinek <jakub@redhat.com> 9277 9278 PR tree-optimization/89703 9279 * tree-ssa-strlen.c (valid_builtin_call): Punt if stmt call types 9280 aren't compatible also with builtin_decl_explicit. Check pure 9281 or non-pure status of BUILT_IN_STR{{,N}CMP,N{LEN,{CAT,CPY}{,_CHK}}} 9282 and BUILT_IN_STPNCPY{,_CHK}. 9283 92842019-03-14 H.J. Lu <hongjiu.lu@intel.com> 9285 9286 PR target/89523 9287 * config/i386/i386.c (ix86_print_operand): Handle 'M' to add 9288 addr32 prefix to VSIB address for X32. 9289 * config/i386/sse.md (*avx512pf_gatherpf<mode>sf_mask): Prepend 9290 "%M2" to opcode. 9291 (*avx512pf_gatherpf<mode>df_mask): Likewise. 9292 (*avx512pf_scatterpf<mode>sf_mask): Likewise. 9293 (*avx512pf_scatterpf<mode>df_mask): Likewise. 9294 (*avx2_gathersi<mode>): Prepend "%M3" to opcode. 9295 (*avx2_gathersi<mode>_2): Prepend "%M2" to opcode. 9296 (*avx2_gatherdi<mode>): Prepend "%M3" to opcode. 9297 (*avx2_gatherdi<mode>_2): Prepend "%M2" to opcode. 9298 (*avx2_gatherdi<mode>_3): Prepend "%M3" to opcode. 9299 (*avx2_gatherdi<mode>_4): Prepend "%M2" to opcode.` 9300 (*avx512f_gathersi<mode>): Prepend "%M4" to opcode. 9301 (*avx512f_gathersi<mode>_2): Prepend "%M3" to opcode. 9302 (*avx512f_gatherdi<mode>): Prepend "%M4" to opcode. 9303 (*avx512f_gatherdi<mode>_2): Prepend "%M3" to opcode. 9304 (*avx512f_scattersi<mode>): Prepend "%M0" to opcode. 9305 (*avx512f_scatterdi<mode>): Likewise. 9306 93072019-03-13 Vladimir Makarov <vmakarov@redhat.com> 9308 9309 PR target/85860 9310 * lra-constraints.c (inherit_in_ebb): Update 9311 potential_reload_hard_regs along with live_hard_regs. 9312 93132019-03-13 Jakub Jelinek <jakub@redhat.com> 9314 9315 PR debug/89498 9316 * dwarf2out.c (size_of_die): For dw_val_class_view_list always use 9317 DWARF_OFFSET_SIZE. 9318 (value_format): For dw_val_class_view_list never use DW_FORM_loclistx. 9319 93202019-03-13 Martin Sebor <msebor@redhat.com> 9321 9322 PR tree-optimization/89662 9323 * tree-vrp.c (vrp_prop::check_mem_ref): Avoid assuming every type 9324 has a size. 9325 93262019-03-13 Richard Biener <rguenther@suse.de> 9327 9328 PR middle-end/89677 9329 * tree-scalar-evolution.c (simplify_peeled_chrec): Do not 9330 throw FP expressions at tree-affine. 9331 93322019-03-14 Richard Biener <rguenther@suse.de> 9333 9334 * tree-pretty-print.c (dump_generic_node): For -gimple properly 9335 dump negative integer constants using _Literal (type) -num. 9336 93372019-03-13 Jakub Jelinek <jakub@redhat.com> 9338 9339 * ipa-param-manipulation.h (struct ipa_parm_adjustment): Remove 9340 nonlocal_value member. 9341 9342 PR middle-end/88588 9343 * omp-simd-clone.c (ipa_simd_modify_stmt_ops): Handle PHI args. 9344 (ipa_simd_modify_function_body): Handle PHIs. 9345 93462019-03-12 Robin Dapp <rdapp@linux.ibm.com> 9347 9348 * config/s390/s390.c (s390_option_override_internal): Use more 9349 aggressive inlining parameters. 9350 93512019-03-12 Robin Dapp <rdapp@linux.ibm.com> 9352 9353 * config/s390/3906.md: New file. 9354 * config/s390/s390.c (MAX_SCHED_UNITS): Increase. 9355 (LONGRUNNING_THRESHOLD): Remove. 9356 (MAX_SCHED_MIX_SCORE): Decrease. 9357 (MAX_SCHED_MIX_DISTANCE): Decrease. 9358 (s390_bb_fallthru_entry_likely): Assume fallthru for less than likely. 9359 (struct s390_sched_state): New struct to hold scheduling state. 9360 (S390_SCHED_STATE_NORMAL): Remove. 9361 (S390_SCHED_STATE_CRACKED): Remove. 9362 (S390_SCHED_ATTR_MASK_GROUPOFTWO): Add. 9363 (s390_get_sched_attrmask): Use new attribute. 9364 (s390_get_unit_mask): Use new units. 9365 (s390_is_fpd): New function. 9366 (s390_is_fxd): New function. 9367 (s390_is_longrunning): New function. 9368 (s390_sched_score): Use new functions. 9369 (s390_sched_reorder): Likewise. 9370 (s390_sched_variable_issue): Rework and use new functions. 9371 (s390_sched_init): Use new functions. 9372 * config/s390/s390.h (s390_tune_attr): Add z14. 9373 * config/s390/s390.md: Add z14. 9374 93752019-03-12 Robin Dapp <rdapp@linux.ibm.com> 9376 9377 * config/s390/2964.md: Update pipeline description. 9378 * config/s390/s390.c (MAX_SCHED_UNITS): Increase. 9379 (LONGRUNNING_THRESHOLD): Remove. 9380 (LATENCY_FACTOR): Remove. 9381 (s390_get_unit_mask): Add unit. 9382 (s390_sched_score): Use fxd/fpd. 9383 (s390_sched_variable_issue): Use fxd/fpd. 9384 93852019-03-12 Martin Liska <mliska@suse.cz> 9386 9387 * config/i386/i386.c: Reword an error message. 9388 93892019-03-12 Martin Jambor <mjambor@suse.cz> 9390 9391 * cgraph.c (cgraph_node::dump): Dump more info for former thunks, 9392 terminate with newline. 9393 93942019-03-12 Jakub Jelinek <jakub@redhat.com> 9395 9396 PR target/52726 9397 * config/s390/s390.md (tabort): Use %wd instead of 9398 HOST_WIDE_INT_PRINT_DEC in error message, reword to avoid two capital 9399 letters and periods. 9400 * config/tilepro/tilepro.c (tilepro_print_operand): Use %wd in 9401 output_operand_lossage instead of HOST_WIDE_INT_PRINT_DEC, replace 9402 's with %< and %>. 9403 9404 PR middle-end/89663 9405 * builtins.c (expand_builtin_int_roundingfn, 9406 expand_builtin_int_roundingfn_2): Return NULL_RTX instead of 9407 gcc_unreachable if validate_arglist fails. 9408 94092019-03-12 Richard Biener <rguenther@suse.de> 9410 9411 PR tree-optimization/89664 9412 * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Properly 9413 free the occurance tree after the early out. 9414 94152019-03-11 Jakub Jelinek <jakub@redhat.com> 9416 9417 PR middle-end/89655 9418 PR bootstrap/89656 9419 * vr-values.c (vr_values::update_value_range): If 9420 old_vr->varying_p (), don't update it, make new_vr also VARYING 9421 and return false. 9422 94232019-03-11 Martin Liska <mliska@suse.cz> 9424 9425 * config/aarch64/aarch64.c (aarch64_override_options_internal): 9426 Fix double string quoting. 9427 94282019-03-11 Martin Liska <mliska@suse.cz> 9429 9430 * collect-utils.c (collect_wait): Wrap apostrophes 9431 in gcc internal format with %'. 9432 * collect2.c (main): Likewise. 9433 (scan_prog_file): Likewise. 9434 (scan_libraries): Likewise. 9435 * config/i386/i386.c (ix86_expand_call): Likewise. 9436 (ix86_handle_interrupt_attribute): Likewise. 9437 * config/nds32/nds32-intrinsic.c (nds32_expand_builtin_impl): Likewise. 9438 * config/nds32/nds32.c (nds32_insert_attributes): Likewise. 9439 * config/rl78/rl78.c (rl78_handle_saddr_attribute): Likewise. 9440 * lto-wrapper.c (find_crtoffloadtable): Likewise. 9441 * symtab.c (symtab_node::verify_base): Likewise. 9442 * tree-cfg.c (verify_gimple_label): Likewise. 9443 * tree.c (verify_type_variant): Likewise. 9444 94452019-03-11 Martin Liska <mliska@suse.cz> 9446 9447 * builtins.c (expand_builtin_thread_pointer): Wrap an option name 9448 in a string format message and fix GNU coding style. 9449 (expand_builtin_set_thread_pointer): Likewise. 9450 * common/config/aarch64/aarch64-common.c 9451 (aarch64_rewrite_selected_cpu): Likewise. 9452 * common/config/alpha/alpha-common.c (alpha_handle_option): Likewise. 9453 * common/config/arc/arc-common.c (arc_handle_option): Likewise. 9454 * common/config/arm/arm-common.c (arm_parse_fpu_option): Likewise. 9455 * common/config/bfin/bfin-common.c (bfin_handle_option): Likewise. 9456 * common/config/i386/i386-common.c (ix86_handle_option): Likewise. 9457 * common/config/ia64/ia64-common.c (ia64_handle_option): Likewise. 9458 * common/config/m68k/m68k-common.c (m68k_handle_option): Likewise. 9459 * common/config/msp430/msp430-common.c (msp430_handle_option): Likewise. 9460 * common/config/nds32/nds32-common.c (nds32_handle_option): Likewise. 9461 * common/config/powerpcspe/powerpcspe-common.c (rs6000_handle_option): 9462 Likewise. 9463 * common/config/riscv/riscv-common.c 9464 (riscv_subset_list::parsing_subset_version): Likewise. 9465 (riscv_subset_list::parse_std_ext): Likewise. 9466 (riscv_subset_list::parse_sv_or_non_std_ext): Likewise. 9467 (riscv_subset_list::parse): Likewise. 9468 * common/config/rs6000/rs6000-common.c (rs6000_handle_option): Likewise. 9469 * config/aarch64/aarch64.c (aarch64_parse_one_option_token): Likewise. 9470 (aarch64_override_options_internal): Likewise. 9471 (aarch64_validate_mcpu): Likewise. 9472 (aarch64_validate_march): Likewise. 9473 (aarch64_validate_mtune): Likewise. 9474 (aarch64_override_options): Likewise. 9475 * config/alpha/alpha.c (alpha_option_override): Likewise. 9476 * config/arc/arc.c (arc_init): Likewise. 9477 (parse_mrgf_banked_regs_option): Likewise. 9478 (arc_override_options): Likewise. 9479 (arc_expand_builtin_aligned): Likewise. 9480 * config/arm/arm-builtins.c (arm_expand_neon_builtin): Likewise. 9481 (arm_expand_builtin): Likewise. 9482 * config/arm/arm.c (arm_option_check_internal): Likewise. 9483 (arm_configure_build_target): Likewise. 9484 (arm_option_override): Likewise. 9485 (arm_options_perform_arch_sanity_checks): Likewise. 9486 (arm_handle_cmse_nonsecure_entry): Likewise. 9487 (arm_handle_cmse_nonsecure_call): Likewise. 9488 (arm_tls_referenced_p): Likewise. 9489 (thumb1_expand_prologue): Likewise. 9490 * config/avr/avr.c (avr_option_override): Likewise. 9491 * config/bfin/bfin.c (bfin_option_override): Likewise. 9492 * config/c6x/c6x.c (c6x_option_override): Likewise. 9493 * config/cr16/cr16.c (cr16_override_options): Likewise. 9494 * config/cris/cris.c (cris_option_override): Likewise. 9495 * config/csky/csky.c (csky_handle_isr_attribute): Likewise. 9496 * config/darwin-c.c (macosx_version_as_macro): Likewise. 9497 * config/darwin.c (darwin_override_options): Likewise. 9498 * config/frv/frv.c (frv_expand_builtin): Likewise. 9499 * config/h8300/h8300.c (h8300_option_override): Likewise. 9500 * config/i386/i386.c (parse_mtune_ctrl_str): Likewise. 9501 (ix86_option_override_internal): Likewise. 9502 (warn_once_call_ms2sysv_xlogues): Likewise. 9503 (ix86_expand_prologue): Likewise. 9504 (split_stack_prologue_scratch_regno): Likewise. 9505 (ix86_warn_parameter_passing_abi): Likewise. 9506 * config/ia64/ia64.c (fix_range): Likewise. 9507 * config/m68k/m68k.c (m68k_option_override): Likewise. 9508 * config/microblaze/microblaze.c (microblaze_option_override): Likewise. 9509 * config/mips/mips.c (mips_emit_probe_stack_range): Likewise. 9510 (mips_set_compression_mode): Likewise. 9511 * config/mmix/mmix.c (mmix_option_override): Likewise. 9512 * config/mn10300/mn10300.c (mn10300_option_override): Likewise. 9513 * config/msp430/msp430.c (msp430_option_override): Likewise. 9514 * config/nds32/nds32.c (nds32_option_override): Likewise. 9515 * config/nios2/nios2.c (nios2_custom_check_insns): Likewise. 9516 (nios2_option_override): Likewise. 9517 (nios2_expand_custom_builtin): Likewise. 9518 * config/nvptx/mkoffload.c (main): Likewise. 9519 * config/nvptx/nvptx.c (diagnose_openacc_conflict): Likewise. 9520 * config/pa/pa.c (fix_range): Likewise. 9521 (pa_option_override): Likewise. 9522 * config/riscv/riscv.c (riscv_parse_cpu): Likewise. 9523 (riscv_option_override): Likewise. 9524 * config/rl78/rl78.c (rl78_option_override): Likewise. 9525 * config/rs6000/aix61.h: Likewise. 9526 * config/rs6000/aix71.h: Likewise. 9527 * config/rs6000/aix72.h: Likewise. 9528 * config/rs6000/driver-rs6000.c (elf_platform): Likewise. 9529 * config/rs6000/freebsd64.h: Likewise. 9530 * config/rs6000/linux64.h: Likewise. 9531 * config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise. 9532 (rs6000_expand_zeroop_builtin): Likewise. 9533 (rs6000_expand_mtfsb_builtin): Likewise. 9534 (rs6000_expand_set_fpscr_rn_builtin): Likewise. 9535 (rs6000_expand_set_fpscr_drn_builtin): Likewise. 9536 (rs6000_invalid_builtin): Likewise. 9537 (rs6000_expand_split_stack_prologue): Likewise. 9538 * config/rs6000/rtems.h: Likewise. 9539 * config/rx/rx.c (valid_psw_flag): Likewise. 9540 (rx_expand_builtin): Likewise. 9541 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Likewise. 9542 * config/s390/s390.c (s390_expand_builtin): Likewise. 9543 (s390_function_profiler): Likewise. 9544 (s390_option_override_internal): Likewise. 9545 (s390_option_override): Likewise. 9546 * config/sh/sh.c (sh_option_override): Likewise. 9547 (sh_builtin_saveregs): Likewise. 9548 (sh_fix_range): Likewise. 9549 * config/sh/vxworks.h: Likewise. 9550 * config/sparc/sparc.c (sparc_option_override): Likewise. 9551 * config/spu/spu.c (spu_option_override): Likewise. 9552 (fix_range): Likewise. 9553 * config/visium/visium.c (visium_option_override): Likewise. 9554 (visium_handle_interrupt_attr): Likewise. 9555 * config/xtensa/xtensa.c (xtensa_option_override): Likewise. 9556 * dbgcnt.c (dbg_cnt_set_limit_by_name): Likewise. 9557 (dbg_cnt_process_opt): Likewise. 9558 * dwarf2out.c (output_dwarf_version): Likewise. 9559 * except.c (expand_eh_return): Likewise. 9560 * gcc.c (defined): Likewise. 9561 (driver_handle_option): Likewise. 9562 (process_command): Likewise. 9563 (compare_files): Likewise. 9564 (driver::prepare_infiles): Likewise. 9565 (driver::do_spec_on_infiles): Likewise. 9566 (driver::maybe_run_linker): Likewise. 9567 * omp-offload.c (oacc_parse_default_dims): Likewise. 9568 * opts-global.c (handle_common_deferred_options): Likewise. 9569 * opts.c (parse_sanitizer_options): Likewise. 9570 (common_handle_option): Likewise. 9571 (enable_warning_as_error): Likewise. 9572 * passes.c (enable_disable_pass): Likewise. 9573 * plugin.c (parse_plugin_arg_opt): Likewise. 9574 (default_plugin_dir_name): Likewise. 9575 * targhooks.c (default_expand_builtin_saveregs): Likewise. 9576 (default_pch_valid_p): Likewise. 9577 * toplev.c (init_asm_output): Likewise. 9578 (process_options): Likewise. 9579 (toplev::run_self_tests): Likewise. 9580 * tree-cfg.c (verify_gimple_call): Likewise. 9581 * tree-inline.c (inline_forbidden_p_stmt): Likewise. 9582 (tree_inlinable_function_p): Likewise. 9583 * var-tracking.c (vt_find_locations): Likewise. 9584 95852019-03-11 Andreas Krebbel <krebbel@linux.ibm.com> 9586 9587 * config/s390/s390.c (s390_expand_builtin): Do the copy_to_reg not 9588 only on the else branch. 9589 95902019-03-11 Martin Liska <mliska@suse.cz> 9591 9592 * gcov.c (output_intermediate_json_line): Print function 9593 name of each line. 9594 (output_json_intermediate_file): Add new argument. 9595 * doc/gcov.texi: Document the change. 9596 95972019-03-11 Eric Botcazou <ebotcazou@adacore.com> 9598 9599 PR rtl-optimization/89588 9600 * loop-unroll.c (decide_unroll_constant_iterations): Make guard for 9601 explicit unrolling factor more robust. 9602 96032019-03-11 Richard Biener <rguenther@suse.de> 9604 9605 PR tree-optimization/89649 9606 * tree-vectorizer.h (vect_loop_versioning): Adjust prototype. 9607 * tree-vect-loop-manip.c (vect_do_peeling): Unset force_vectorize 9608 on the prolog and epilog loops. 9609 (vect_loop_versioning): Return copy of loop. 9610 * tree-vect-loop.c (vect_transform_loop): Unset force_vectorize 9611 on the non-vectorized version of the loop. 9612 96132019-03-10 Uroš Bizjak <ubizjak@gmail.com> 9614 9615 PR target/68924 9616 * config/i386/sse.md (*vec_extractv2di_0_sse): 9617 Add (=r,x) alternative and corresponding splitter. 9618 96192019-03-10 Martin Jambor <mjambor@suse.cz> 9620 9621 PR tree-optimization/85762 9622 PR tree-optimization/87008 9623 PR tree-optimization/85459 9624 * tree-sra.c (contains_vce_or_bfcref_p): New parameter, set the bool 9625 it points to if there is a type changing MEM_REF. Adjust all callers. 9626 (build_accesses_from_assign): Disable total scalarization if 9627 contains_vce_or_bfcref_p returns true through the new parameter, for 9628 both rhs and lhs. 9629 96302019-03-09 Jakub Jelinek <jakub@redhat.com> 9631 9632 PR c/88568 9633 * attribs.c (handle_dll_attribute): Don't clear TREE_STATIC for 9634 dllimport on VAR_DECLs with RECORD_TYPE or UNION_TYPE DECL_CONTEXT. 9635 9636 PR target/79645 9637 * common.opt (fdiagnostics-show-labels, 9638 fdiagnostics-show-line-numbers, fdiagnostics-format=, 9639 fdiagnostics-minimum-margin-width=, fgnat-encodings=, gas-loc-support, 9640 gas-locview-support, ginline-points, ginternal-reset-location-views): 9641 Terminate description text with a dot. 9642 * config/microblaze/microblaze.opt (mxl-prefetch): Likewise. 9643 * config/mcore/mcore.opt (m210, m340): Likewise. 9644 * config/epiphany/epiphany.opt (mprefer-short-insn-regs, mcmove, 9645 mnops=): Start description text with a capital letter. 9646 * config/arc/arc.opt (msize-level=): Likewise. 9647 * config/sh/sh.opt (minline-ic_invalidate): Likewise. 9648 * config/rs6000/sysv4.opt (mno-toc, mtoc, mno-traceback, mshlib, 9649 mnewlib): Likewise. 9650 * config/ft32/ft32.opt (msim): Likewise. 9651 (mft32b, mcompress): Likewise. Terminate description text with a dot. 9652 (mnodiv, mnopm): Terminate description text with a dot. 9653 * config/c6x/c6x.opt (c6x_sdata): Terminate Enum description with 9654 a colon. 9655 * config/i386/i386.opt (prefer_vector_width, instrument_return): 9656 Likewise. 9657 * config/rx/rx.opt (nofpu): Remove trailing spaces from description 9658 text. 9659 9660 PR rtl-optimization/89634 9661 * cfgcleanup.c (thread_jump): Punt if registers mentioned in cond1 9662 are modified in BB_END (e->src) instruction. 9663 96642019-03-08 David Malcolm <dmalcolm@redhat.com> 9665 9666 PR target/79926 9667 * config/i386/i386.c (ix86_set_current_function): Make "sorry" 9668 messages more amenable to translation, and improve wording. 9669 96702019-03-08 Bill Schmidt <wschmidt@linux.ibm.com> 9671 9672 * config/rs6000/rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild 9673 ud- and du-chains between phases. 9674 96752019-03-08 Richard Sandiford <richard.sandiford@arm.com> 9676 9677 PR debug/89631 9678 * dwarf2cfi.c (dwarf2out_frame_debug_expr): Use CONST_POLY_INT 9679 instead of POLY_INT_CST. 9680 96812019-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com> 9682 9683 * config/arm/arm.h (TARGET_FP16_TO_DOUBLE): Add TARGET_VFP_DOUBLE 9684 requirement. 9685 96862019-03-08 Uroš Bizjak <ubizjak@gmail.com> 9687 9688 PR target/68924 9689 PR target/78782 9690 PR target/87558 9691 * config/i386/emmintrin.h (_mm_loadu_si64): New intrinsic. 9692 (_mm_storeu_si64): Ditto. 9693 96942019-03-08 Martin Liska <mliska@suse.cz> 9695 9696 PR target/86952 9697 * config/i386/i386.c (ix86_option_override_internal): Disable 9698 jump tables when retpolines are used. 9699 97002019-03-08 Jan Hubicka <hubicka@ucw.cz> 9701 9702 PR go/63560 9703 * ipa-split.c (execute_split_functions): Do not split 9704 'noinline' or 'section' function. 9705 97062019-03-08 Jakub Jelinek <jakub@redhat.com> 9707 9708 PR target/79846 9709 * config/s390/s390.c (s390_const_operand_ok): Use %wu instead of 9710 HOST_WIDE_INT_PRINT_UNSIGNED and %wd instead of 9711 HOST_WIDE_INT_PRINT_DEC. Formatting fixes. 9712 9713 PR ipa/80000 9714 * ipa-devirt.c (compare_virtual_tables): Remove two trailing spaces 9715 from diagnostics. Formatting fixes. 9716 9717 PR target/85665 9718 * ipa-devirt.c (odr_types_equivalent_p): Fix grammar in 9719 warn_odr diagnostics. 9720 9721 PR other/80058 9722 * lra-constraints.c (process_alt_operands): Avoid one space before 9723 " at the end of line and another after " on another line in a string 9724 literal. 9725 * attribs.c (handle_dll_attribute): Likewise. 9726 * config/avr/avr-devices.c (avr_texinfo): Likewise. 9727 9728 * gimple-ssa-warn-alloca.c (pass_walloca::execute): Don't wrap 9729 warning_at or inform messages in G_() if there is no ?:. 9730 9731 PR tree-optimization/89550 9732 * builtins.c (c_strlen): Only set TREE_NO_WARNING if warning_at 9733 returned true. Formatting fixes. 9734 (expand_builtin_strnlen): Formatting fixes. 9735 * tree-vrp.c (vrp_prop::check_mem_ref): Only set TREE_NO_WARNING 9736 if warning_at returned true. 9737 * tree-cfg.c (pass_warn_function_return::execute): Likewise. 9738 97392019-03-08 Richard Biener <rguenther@suse.de> 9740 9741 PR middle-end/89578 9742 * cfgloop.h (struct loop): Add owned_clique field. 9743 * cfgloopmanip.c (copy_loop_info): Copy it. 9744 * tree-cfg.c (gimple_duplicate_bb): Do not remap owned_clique 9745 cliques. 9746 * tree-inline.c (copy_loops): Remap owned_clique. 9747 * lto-streamer-in.c (input_cfg): Stream owned_clique. 9748 * lto-streamer-out.c (output_cfg): Likewise. 9749 97502019-03-08 Jakub Jelinek <jakub@redhat.com> 9751 9752 PR target/80190 9753 * config/darwin.c: Include intl.h. 9754 (darwin_build_constant_cfstring): Improve i18n of diagnostics by not 9755 composing the message out of two separate parts. 9756 97572019-03-07 Jakub Jelinek <jakub@redhat.com> 9758 9759 PR target/80003 9760 * config/i386/i386.c (ix86_set_func_type): Make sure diagnostics 9761 doesn't start with a capital letter and doesn't end with a dot. 9762 (ix86_function_arg_boundary): Make sure diagnostics doesn't start 9763 with a capital letter. 9764 (ix86_mangle_function_version_assembler_name): Likewise. 9765 (ix86_generate_version_dispatcher_body): Likewise. 9766 (fold_builtin_cpu): Likewise. 9767 (get_builtin_code_for_version): Likewise. Remove extraneous space. 9768 (ix86_handle_interrupt_attribute): Make the diagnostics easier for 9769 translators, wrap full type name in %qs. 9770 9771 PR translation/79999 9772 * gimplify.c (gimplify_omp_ordered): Reword diagnostics to talk about 9773 depend clause with source (or sink) modifier. 9774 * omp-expand.c (expand_omp_ordered_sink): Likewise. 9775 9776 PR target/89602 9777 * config/i386/sse.md (avx512f_mov<ssescalarmodelower>_mask, 9778 *avx512f_load<mode>_mask, avx512f_store<mode>_mask): New define_insns. 9779 (avx512f_load<mode>_mask): New define_expand. 9780 * config/i386/i386-builtin.def (__builtin_ia32_loadsd_mask, 9781 __builtin_ia32_loadss_mask, __builtin_ia32_storesd_mask, 9782 __builtin_ia32_storess_mask, __builtin_ia32_movesd_mask, 9783 __builtin_ia32_movess_mask): New builtins. 9784 * config/i386/avx512fintrin.h (_mm_mask_load_ss, _mm_maskz_load_ss, 9785 _mm_mask_load_sd, _mm_maskz_load_sd, _mm_mask_move_ss, 9786 _mm_maskz_move_ss, _mm_mask_move_sd, _mm_maskz_move_sd, 9787 _mm_mask_store_ss, _mm_mask_store_sd): New intrinsics. 9788 97892019-03-07 Martin Jambor <mjambor@suse.cz> 9790 9791 PR lto/87525 9792 * ipa-cp.c (perform_estimation_of_a_value): Account zero time benefit 9793 for extern inline functions. 9794 97952019-03-07 Martin Jambor <mjambor@suse.cz> 9796 9797 PR ipa/88235 9798 * cgraph.h (cgraph_node): New inline method former_thunk_p. 9799 * cgraph.c (cgraph_node::dump): Dump a note if node is a former thunk. 9800 (clone_of_p): Treat expanded thunks like thunks, be optimistic if they 9801 have multiple callees. At the end check if declarations match as 9802 opposed to cgraph_nodes. 9803 98042019-03-07 Martin Liska <mliska@suse.cz> 9805 9806 * cgraph.c (cgraph_node::verify_node): Verify with a neighbour 9807 which is equivalent to searching for this in clones chain. 9808 * symtab.c (symtab_node::verify_base): Similarly compare ASM 9809 names with a neighbour and special case first node in a chain. 9810 98112019-01-25 Jason Merrill <jason@redhat.com> 9812 9813 PR c++/80916 - spurious "static but not defined" warning. 9814 * gimple-fold.c (can_refer_decl_in_current_unit_p): Return false 9815 for an internal symbol with DECL_EXTERNAL. 9816 98172019-04-07 Richard Biener <rguenther@suse.de> 9818 9819 PR middle-end/89618 9820 * cfgloopmanip.c (copy_loop_info): Copy forgotten fields. 9821 * tree-inline.c (copy_loops): Simplify. 9822 98232019-03-07 Martin Liska <mliska@suse.cz> 9824 9825 * dwarf2out.c (add_AT_vms_delta): Revert function removal. 9826 98272019-03-07 Richard Biener <rguenther@suse.de> 9828 9829 PR tree-optimization/89595 9830 * tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Take 9831 stmt iterator as reference, take boolean output parameter to 9832 indicate whether the stmt was removed and thus the iterator 9833 already advanced. 9834 (dom_opt_dom_walker::before_dom_children): Re-iterate over 9835 stmts created by folding. 9836 98372019-03-07 Jakub Jelinek <jakub@redhat.com> 9838 9839 PR c++/89585 9840 * doc/extend.texi (Basic Asm): Document qualifiers are not allowed 9841 at toplevel. 9842 98432019-03-06 Peter Bergner <bergner@linux.ibm.com> 9844 9845 PR rtl-optimization/88845 9846 * config/rs6000/rs6000.c (rs6000_emit_move_si_sf_subreg): Enable during 9847 LRA. 9848 * lra.c (remove_scratches_1): New function. 9849 (remove_scratches): Use it. 9850 (lra_emit_move): Likewise. 9851 98522019-03-06 Claudiu Zissulescu <claziss@synopsys.com> 9853 9854 * config/arc/arc-c.def (__ARC_UNALIGNED__): Set it on 9855 unaligned_access variable. 9856 * config/arc/arc.c (arc_override_options): Set unaligned access 9857 default on for HS CPUs. 9858 * config/arc/arc.h (STRICT_ALIGNMENT): Fix logic. 9859 98602019-03-06 Martin Liska <mliska@suse.cz> 9861 9862 PR gcov-profile/89577 9863 * doc/gcov.texi: Prefer to use --coverage. 9864 * doc/sourcebuild.texi: Likewise. 9865 98662019-03-02 Jason Merrill <jason@redhat.com> 9867 9868 PR c++/86485 - -Wmaybe-unused with empty class ?: 9869 * gimplify.c (gimplify_cond_expr): Use INIT_EXPR. 9870 98712019-03-05 Jakub Jelinek <jakub@redhat.com> 9872 9873 PR target/89587 9874 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Set to non-empty only 9875 if_multiarch. 9876 9877 PR middle-end/89590 9878 * builtins.c (maybe_emit_free_warning): Punt if free doesn't have 9879 exactly one argument. 9880 98812019-03-05 Jakub Jelinek <jakub@redhat.com> 9882 Richard Sandiford <richard.sandiford@arm.com> 9883 9884 PR tree-optimization/89570 9885 * match.pd (vec_cond into cond_op simplification): Don't use 9886 get_conditional_internal_fn, use as_internal_fn (cond_op). 9887 98882019-03-05 Wilco Dijkstra <wdijkstr@arm.com> 9889 9890 PR target/89222 9891 * config/arm/arm.md (movsi): Use targetm.cannot_force_const_mem 9892 to decide when to split off a non-zero offset from a symbol. 9893 * config/arm/arm.c (arm_cannot_force_const_mem): Disallow offsets 9894 in function symbols. 9895 98962019-03-05 Richard Biener <rguenther@suse.de> 9897 9898 PR tree-optimization/89594 9899 * tree-if-conv.c (pass_if_conversion::execute): Handle 9900 case where .LOOP_VECTORIZED_FUNCTION was removed. 9901 99022019-03-05 Jakub Jelinek <jakub@redhat.com> 9903 9904 PR bootstrap/89560 9905 * fold-const.c (fold_checksum_tree): Don't use fixed size buffer, 9906 instead alloca it only when needed with the needed size. 9907 9908 PR tree-optimization/89570 9909 * match.pd (vec_cond into cond_op simplification): Guard with 9910 vectorized_internal_fn_supported_p test and #if GIMPLE. 9911 9912 PR tree-optimization/89566 9913 * gimple-ssa-sprintf.c (sprintf_dom_walker::handle_gimple_call): 9914 Set info.fncode to BUILT_IN_NONE if gimple_call_builtin_p failed. 9915 Punt if get_user_idx_format succeeds, but idx_format argument is 9916 not provided or doesn't have pointer type, or if idx_args is above 9917 number of provided arguments. 9918 99192019-03-04 Wilco Dijkstra <wdijkstr@arm.com> 9920 9921 PR tree-optimization/89437 9922 * match.pd: Use lt in sin(atan(x)) and cos(atan(x)) simplifications. 9923 99242019-03-04 Richard Biener <rguenther@suse.de> 9925 9926 PR middle-end/89572 9927 * tree-scalar-evolution.c: (get_loop_exit_condition): Use 9928 safe_dyn_cast. 9929 99302019-03-04 Bin Cheng <bin.cheng@linux.alibaba.com> 9931 9932 PR tree-optimization/89487 9933 * tree-loop-distribution.c (has_nonaddressable_dataref_p): New. 9934 (create_rdg_vertices): Compute has_nonaddressable_dataref_p. 9935 (distribute_loop): Don't do runtime alias check if there is non- 9936 addressable data reference. 9937 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Check if VAR_DECL 9938 is a register variable. 9939 99402019-03-02 Jakub Jelinek <jakub@redhat.com> 9941 9942 PR target/89506 9943 * config/arm/arm.md (cmpsi2_addneg): Use 9944 trunc_int_for_mode (-INTVAL (...), SImode) instead of -INTVAL (...). 9945 If operands[2] is 0 or INT_MIN, force use of subs. 9946 (*compare_scc splitter): Use gen_int_mode. 9947 (*negscc): Likewise. 9948 * config/arm/thumb2.md (*thumb2_negscc): Likewise. 9949 99502019-03-01 Kito Cheng <kito.cheng@gmail.com> 9951 Monk Chiang <sh.chiang04@gmail.com> 9952 9953 * common/config/riscv/riscv-common.c: Include sstream. 9954 (riscv_subset_list::to_string): New. 9955 (riscv_arch_str): Likewise. 9956 * config.gcc (riscv*-*-*): Handle --with-riscv-attribute= 9957 * config.in: Regen. 9958 * config/riscv/riscv-protos.h (riscv_arch_str): New. 9959 * config/riscv/riscv.c (INCLUDE_STRING): Defined. 9960 (riscv_emit_attribute): New. 9961 (riscv_file_start): Emit attribute if needed. 9962 (riscv_option_override): Init riscv_emit_attribute_p. 9963 * config/riscv/riscv.opt (mriscv-attribute): New option. 9964 * configure.ac (riscv*-*-*): Check binutils is supporting ELF 9965 * configure: Regen. 9966 * doc/install.texi: Document --with-riscv-attribute. 9967 * doc/invoke.texi: Document -mriscv-attribute. 9968 9969 * common/config/riscv/riscv-common.c: 9970 Include config/riscv/riscv-protos.h. 9971 (INCLUDE_STRING): Defined. 9972 (RISCV_DONT_CARE_VERSION): Defined. 9973 (riscv_subset_t): Declare. 9974 (riscv_subset_t::riscv_subset_t): New. 9975 (riscv_subset_list): Declare. 9976 (riscv_subset_list::riscv_subset_list): New. 9977 (riscv_subset_list::~riscv_subset_list): Likewise. 9978 (riscv_subset_list::parsing_subset_version): Likewise. 9979 (riscv_subset_list::parse_std_ext): Likewise. 9980 (riscv_subset_list::parse_sv_or_non_std_ext): Likewise. 9981 (riscv_subset_list::add): Likewise. 9982 (riscv_subset_list::lookup): Likewise. 9983 (riscv_subset_list::xlen): Likewise. 9984 (riscv_subset_list::parse): Likewise. 9985 (riscv_supported_std_ext): Likewise. 9986 (current_subset_list): Likewise. 9987 (riscv_parse_arch_string): Using riscv_subset_list::parse to 9988 parse. 9989 99902019-03-01 Segher Boessenkool <segher@kernel.crashing.org> 9991 9992 * config/rs6000/rs6000.c (rs6000_option_override_internal): If 9993 rs6000_dejagnu_cpu_index is set, use that to override rs6000_cpu_index. 9994 * config/rs6000/rs6000.opt (mdejagnu-cpu=): New option. 9995 99962019-03-01 Alexander Monakov <amonakov@ispras.ru> 9997 9998 PR rtl-optimization/85899 9999 * haifa-sched.c (find_fallthru_edge_from): Relax assert to account for 10000 fallthru edges leading to the exit block. 10001 100022019-03-01 Tamar Christina <tamar.christina@arm.com> 10003 10004 PR target/89517 10005 * config/aarch64/aarch64-option-extensions.def (fp, simd, crypto, fp16, 10006 rdma, dotprod, sha2, sha3, sm4, fp16fml, sve): Collapse line. 10007 100082019-03-01 Richard Sandiford <richard.sandiford@arm.com> 10009 10010 PR tree-optimization/89535 10011 * tree-vect-stmts.c (vectorizable_call): Record the vector types 10012 for each operand. Calculate the fallback choice for mask operands 10013 and pass it to vect_get_vec_def_for_operand. 10014 100152019-03-01 Richard Biener <rguenther@suse.de> 10016 10017 PR middle-end/89541 10018 * tree-ssa-operands.c (add_stmt_operand): CONST_DECL may 10019 get virtual operands. 10020 (get_expr_operands): Handle CONST_DECL like other decls. 10021 100222019-03-01 Jakub Jelinek <jakub@redhat.com> 10023 10024 PR middle-end/89503 10025 * fold-const.c (fold_checksum_tree): Ignore TREE_NO_WARNING bit 10026 on DECL_P and EXPR_P. 10027 100282019-03-01 Richard Biener <rguenther@suse.de> 10029 10030 PR middle-end/89497 10031 * tree-cfgcleanup.h (cleanup_tree_cfg): Add SSA update flags 10032 argument, defaulted to zero. 10033 * passes.c (execute_function_todo): Pass down SSA update flags 10034 to cleanup_tree_cfg. 10035 * tree-cfgcleanup.c: Include tree-into-ssa.h and tree-cfgcleanup.h. 10036 (cleanup_tree_cfg_noloop): After cleanup_control_flow_pre update SSA 10037 form if requested. 10038 (cleanup_tree_cfg): Get and pass down SSA update flags. 10039 100402019-03-01 Jakub Jelinek <jakub@redhat.com> 10041 10042 PR bootstrap/89539 10043 * dwarf2out.c (output_comdat_type_unit): Add ATTRIBUTE_UNUSED to 10044 early_lto_debug argument. 10045 100462019-02-28 Eric Botcazou <ebotcazou@adacore.com> 10047 10048 PR tree-optimization/89536 10049 * tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_NOT_EXPR>: Test 10050 only whether bit #0 of the value is 0 instead of the entire value. 10051 100522019-02-28 Marek Polacek <polacek@redhat.com> 10053 10054 PR c++/87068 - missing diagnostic with fallthrough statement. 10055 * gimplify.c (expand_FALLTHROUGH_r): If IFN_FALLTHROUGH was found 10056 at the end of a seq, save its location to walk_stmt_info. 10057 (expand_FALLTHROUGH): Warn if IFN_FALLTHROUGH is at the end of 10058 a switch. 10059 100602019-02-28 Jan Hubicka <hubicka@ucw.cz> 10061 10062 PR lto/88585 10063 * tree.c (find_atomic_core_type): Move ahead in file. 10064 (check_base_type): Correctly compare alignments of atomic types. 10065 100662019-02-28 H.J. Lu <hongjiu.lu@intel.com> 10067 10068 PR target/89455 10069 * config/i386/i386.c (get_builtin_code_for_version): Identify 10070 Westmere from PCLMUL, instead of AES. 10071 100722019-02-28 Jakub Jelinek <jakub@redhat.com> 10073 10074 PR target/89434 10075 * config/arm/arm.md (*subsi3_carryin_compare_const): Use 10076 trunc_int_for_mode (-INTVAL (...), SImode), just instead of 10077 -UINTVAL (...). 10078 100792019-02-28 Tamar Christina <tamar.christina@arm.com> 10080 10081 PR target/88530 10082 * config/aarch64/aarch64-option-extensions.def: Document it. 10083 * config/aarch64/driver-aarch64.c (host_detect_local_cpu): Skip feature 10084 if empty hwcaps. 10085 100862019-02-28 Jakub Jelinek <jakub@redhat.com> 10087 10088 PR c/89520 10089 * convert.c (convert_to_real_1, convert_to_integer_1): Punt for 10090 builtins if they don't have a single scalar floating point argument. 10091 Formatting fixes. 10092 100932019-02-27 Bernd Edlinger <bernd.edlinger@hotmail.de> 10094 10095 PR rtl-optimization/89490 10096 * varasm.c (get_block_for_section): Bail out for mergeable sections. 10097 (default_use_anchors_for_symbol_p, output_object_block): Assert the 10098 block section is not mergeable. 10099 101002019-02-27 Jakub Jelinek <jakub@redhat.com> 10101 10102 PR target/70341 10103 * config/arm/arm.md (arm_casesi_internal): New define_expand. Rename 10104 old define_insn to ... 10105 (*arm_casesi_internal): ... this. Add mode to LABEL_REFs. 10106 * config/arm/thumb2.md (thumb2_casesi_internal): New define_expand. 10107 Rename old define_insn to ... 10108 (*thumb2_casesi_internal): ... this. Add mode to LABEL_REFs. 10109 (thumb2_casesi_internal_pic): New define_expand. Rename old 10110 define_insn to ... 10111 (*thumb2_casesi_internal_pic): ... this. Add mode to LABEL_REFs. 10112 * config/aarch64/aarch64.md (casesi): Create the casesi_dispatch 10113 MEM manually here, set MEM_READONLY_P and MEM_NOTRAP_P on it. 10114 101152019-02-27 Richard Biener <rguenther@suse.de> 10116 10117 PR debug/88878 10118 * dwarf2out.c (use_debug_types): Disable when in_lto_p. 10119 101202019-02-27 Richard Biener <rguenther@suse.de> 10121 10122 * passes.c (should_skip_pass_p): Do not skip cgraph-edge 10123 building. 10124 101252019-02-27 Richard Biener <rguenther@suse.de> 10126 10127 PR debug/88878 10128 * dwarf2out.c (output_comdat_type_unit): Add early_lto_debug 10129 parameter, prefix section name with .gnu.debuglto_ if true. 10130 (dwarf2out_finish): Pass false to output_comdat_type_unit. 10131 (dwarf2out_early_finish): Pass true to output_comdat_type_unit. 10132 101332019-02-27 Richard Biener <rguenther@suse.de> 10134 10135 PR debug/89514 10136 * dwarf2out.c (size_of_die): Key on AT_ref (a)->comdat_type_p 10137 rather than on use_debug_types, doing what output_die does. 10138 (value_format): Likewise. 10139 101402019-02-27 Martin Jambor <mjambor@suse.cz> 10141 Martin Sebor <msebor@redhat.com> 10142 10143 * doc/invoke.texi (Warning Options): Reword description of 10144 -Wno-absolute-value. 10145 101462019-02-27 Jakub Jelinek <jakub@redhat.com> 10147 10148 PR tree-optimization/89280 10149 * tree-cfgcleanup.c (maybe_dead_abnormal_edge_p, 10150 builtin_setjmp_setup_bb): New functions. 10151 (cleanup_control_flow_pre): Ignore maybe_dead_abnormal_edge_p edges. 10152 When visiting __builtin_setjmp_setup block, queue in special 10153 setjmp_vec vector edges from .ABNORMAL_DISPATCHER to corresponding 10154 __builtin_setjmp_receiver. Remove .ABNORMAL_DISPATCHER basic blocks 10155 from visited after the loop if they don't have any visited successor 10156 blocks. 10157 101582018-02-26 Steve Ellcey <sellcey@marvell.com> 10159 10160 * config/aarch64/aarch64.c (aarch64_get_multilib_abi_name): 10161 New function. 10162 (TARGET_GET_MULTILIB_ABI_NAME): New macro. 10163 101642019-02-26 Jakub Jelinek <jakub@redhat.com> 10165 10166 PR c++/89507 10167 * tree.c (valid_constant_size_p): Deal with size INTEGER_CSTs 10168 with types other than sizetype/ssizetype. 10169 101702019-02-26 Eric Botcazou <ebotcazou@adacore.com> 10171 10172 * config/sparc/sparc-opts.h (enum processor_type): Rename to... 10173 (enum sparc_processor_type): ...this. 10174 (enum sparc_code_model_type): New enumeration type. 10175 (enum sparc_memory_model_type): Tweak comments. 10176 * config/sparc/sparc.opt (mcpu): Adjust to above renaming. 10177 (mtune): Likewise. 10178 (mcmodel): Use sparc_code_model enumeration and variable. 10179 (sparc_code_model): New enumeration. 10180 (mdebug): Add Undocumented marker. 10181 * config/sparc/sparc.h (enum cmodel): Delete. 10182 (sparc_cmodel): Likewise. 10183 (TARGET_CM_MEDLOW): Adjust to above renaming. 10184 (TARGET_CM_MEDMID): Likewise. 10185 (TARGET_CM_MEDANY): Likewise. 10186 (TARGET_CM_EMBMEDANY): Likewise. 10187 * config/sparc/sparc.c (sparc_cmodel): Delete. 10188 (sparc_option_override): Remove string/value mapping support for the 10189 code model. Move code and memory model support to after the handling 10190 of target flags. Do private machine setup last. 10191 (sparc_emit_set_symbolic_const64): Use sparc_code_model. 10192 (sparc_legitimize_reload_address): Likewise. 10193 (sparc_output_mi_thunk): Likewise. 10194 * config/sparc/sparc.md (cpu): Adjust comment to above renaming. 10195 101962019-02-26 Jakub Jelinek <jakub@redhat.com> 10197 10198 PR tree-optimization/89500 10199 * tree-ssa-strlen.c (stridx_strlenloc): Adjust comment. 10200 (handle_builtin_strlen): Remove noncst_bound variable. Always 10201 optimize strnlen (x, 0) to 0. Optimize strnlen (x, cst) to 10202 cst if the first cst bytes starting at x are known to be non-zero, 10203 even if the string is not zero terminated. Don't try to modify 10204 *si for strnlen. Update strlen_to_stridx only for strlen or if 10205 we can prove strnlen returns the same value as strlen would. 10206 102072019-02-26 Martin Liska <mliska@suse.cz> 10208 10209 * alloc-pool.h (struct pool_usage): Remove extra 10210 print_dash_line. 10211 * bitmap.h (struct bitmap_usage): Likewise. 10212 * ggc-common.c (struct ggc_usage): Likewise. 10213 * mem-stats.h (struct mem_usage): Likewise. 10214 (mem_alloc_description::dump): Print dash lines 10215 here and repeat header at the end of a table report. 10216 It's then more readable. 10217 * tree-phinodes.c (phinodes_print_statistics): Make 10218 horizontal alignment. 10219 * tree-ssanames.c (ssanames_print_statistics): Likewise. 10220 * vec.c (struct vec_usage): Remove extra print_dash_line. 10221 * vec.h (vec_safe_grow_cleared): Pass PASS_MEM_STAT. 10222 102232019-02-26 Uroš Bizjak <ubizjak@gmail.com> 10224 10225 * doc/extend.texi (__builtin_object_size): 10226 Use @pxref instead of @xref inside parenthesis. 10227 (__builtin_has_attribute): Add missing comma after @xref. 10228 (__builtin_object_size): Ditto. 10229 * doc/md.texi (cond_*{mode}): Use @samp instead of @var around op1[i]. 10230 * fortran/invoke.texi (-ffpe-trap): Use @var for every item 10231 in the list. 10232 102332019-02-26 Jeff Law <law@redhat.com> 10234 10235 PR rtl-optimization/87761 10236 * regcprop.c (copyprop_hardreg_forward_1): Use REG_UNUSED notes to 10237 detect obviously dead insns and delete them. 10238 102392019-02-26 Richard Biener <rguenther@suse.de> 10240 10241 PR tree-optimization/89505 10242 * tree-ssa-structalias.c (compute_dependence_clique): Make sure 10243 to handle restrict pointed-to vars with multiple subvars 10244 correctly. 10245 102462019-02-26 Richard Biener <rguenther@suse.de> 10247 10248 PR tree-optimization/89489 10249 * tree-parloops.c (create_loop_fn): Copy over last_clique. 10250 102512019-02-26 Eric Botcazou <ebotcazou@adacore.com> 10252 10253 * tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_IOR_EXPR>: Fix 10254 and move around comment. 10255 <BIT_AND_EXPR>: Likewise. 10256 <BIT_NOT_EXPR>: Add specific handling for boolean types. 10257 102582019-02-26 Jakub Jelinek <jakub@redhat.com> 10259 10260 PR target/89474 10261 * config/i386/i386.c (remove_partial_avx_dependency): Call 10262 df_analyze etc. before creation of the v4sf_const0 pseudo, rather than 10263 after changing possibly many instructions to use that pseudo. Fix up 10264 insertion of v4sf_const0 setter at the start of bb. 10265 102662019-02-25 Sandra Loosemore <sandra@codesourcery.com> 10267 10268 PR c/80409 10269 * doc/extend.texi (Variadic Pointer Args): New section. 10270 102712019-02-25 Sandra Loosemore <sandra@codesourcery.com> 10272 Martin Sebor <msebor@gmail.com> 10273 10274 * common.opt (Wattribute-alias): Likewise. 10275 * doc/invoke.texi (Option Summary): List general form of 10276 -Wattribute-alias=. List positive form of -Wmissing-attributes. 10277 (-Wmissing-attributes): Invert entry, rewrite and correct default. 10278 Add cross-references. 10279 (-Wattribute-alias): Rewrite and correct default. Mention 10280 considered attributes (same as for -Wmissing-attributes). 10281 102822019-02-25 Paul A. Clarke <pc@us.ibm.com> 10283 10284 * config/rs6000/emmintrin.h (_mm_cvtpd_epi32): Fix big endian. 10285 (_mm_cvtpd_ps): Likewise. 10286 (_mm_cvttpd_epi32): Likewise. 10287 10288 PR target/89338 10289 * config/rs6000/xmmintrin.h (_mm_cvtss_f32): Fix type mismatch. 10290 (_mm_cvt_ss2si): Fix type mismatch and 32-bit. 10291 10292 PR target/89339 10293 * config/rs6000/xmmintrin.h (_mm_movemask_pi8): Fix 32-bit. 10294 102952019-02-25 Tamar Christina <tamar.christina@arm.com> 10296 10297 PR target/88530 10298 * common/config/aarch64/aarch64-common.c 10299 (struct aarch64_option_extension): Add is_synthetic. 10300 (all_extensions): Use it. 10301 (TARGET_OPTION_INIT_STRUCT): Define hook. 10302 (struct gcc_targetm_common): Moved to end. 10303 (all_extensions_by_on): New. 10304 (opt_ext_cmp, typedef opt_ext): New. 10305 (aarch64_option_init_struct): New. 10306 (aarch64_contains_opt): New. 10307 (aarch64_get_extension_string_for_isa_flags): Output smallest set. 10308 * config/aarch64/aarch64-option-extensions.def 10309 (AARCH64_OPT_EXTENSION): Explicitly include AES and SHA2 in crypto. 10310 (fp, simd, crc, lse, fp16, rcpc, rdma, dotprod, aes, sha2, sha3, 10311 sm4, fp16fml, sve, profile, rng, memtag, sb, ssbs, predres): 10312 Set is_synthetic to false. 10313 (crypto): Set is_synthetic to true. 10314 * config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Add 10315 SYNTHETIC. 10316 103172019-02-25 Tamar Christina <tamar.christina@arm.com> 10318 10319 * config/arm/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32, 10320 vfmlal_high_u32, vfmlsl_high_u32, vfmlalq_low_u32, vfmlslq_low_u32, 10321 vfmlalq_high_u32, vfmlslq_high_u32, vfmlal_lane_low_u32, 10322 vfmlal_lane_high_u32, vfmlalq_laneq_low_u32, vfmlalq_lane_low_u32, 10323 vfmlal_laneq_low_u32, vfmlalq_laneq_high_u32, vfmlalq_lane_high_u32, 10324 vfmlal_laneq_high_u32, vfmlsl_lane_low_u32, vfmlsl_lane_high_u32, 10325 vfmlslq_laneq_low_u32, vfmlslq_lane_low_u32, vfmlsl_laneq_low_u32, 10326 vfmlslq_laneq_high_u32, vfmlslq_lane_high_u32, vfmlsl_laneq_high_u32): 10327 Rename ... 10328 (vfmlal_low_f16, vfmlsl_low_f16, vfmlal_high_f16, vfmlsl_high_f16, 10329 vfmlalq_low_f16, vfmlslq_low_f16, vfmlalq_high_f16, vfmlslq_high_f16, 10330 vfmlal_lane_low_f16, vfmlal_lane_high_f16, vfmlalq_laneq_low_f16, 10331 vfmlalq_lane_low_f16, vfmlal_laneq_low_f16, vfmlalq_laneq_high_f16, 10332 vfmlalq_lane_high_f16, vfmlal_laneq_high_f16, vfmlsl_lane_low_f16, 10333 vfmlsl_lane_high_f16, vfmlslq_laneq_low_f16, vfmlslq_lane_low_f16, 10334 vfmlsl_laneq_low_f16, vfmlslq_laneq_high_f16, vfmlslq_lane_high_f16, 10335 vfmlsl_laneq_high_f16): ... To this. 10336 * config/arm/neon.md: Update comments. 10337 103382019-02-25 Tamar Christina <tamar.christina@arm.com> 10339 10340 * config/aarch64/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32, 10341 vfmlalq_low_u32, vfmlslq_low_u32, vfmlal_high_u32, vfmlsl_high_u32, 10342 vfmlalq_high_u32, vfmlslq_high_u32, vfmlal_lane_low_u32, 10343 vfmlsl_lane_low_u32, vfmlal_laneq_low_u32, vfmlsl_laneq_low_u32, 10344 vfmlalq_lane_low_u32, vfmlslq_lane_low_u32, vfmlalq_laneq_low_u32, 10345 vfmlslq_laneq_low_u32, vfmlal_lane_high_u32, vfmlsl_lane_high_u32, 10346 vfmlal_laneq_high_u32, vfmlsl_laneq_high_u32, vfmlalq_lane_high_u32, 10347 vfmlslq_lane_high_u32, vfmlalq_laneq_high_u32, vfmlslq_laneq_high_u32): 10348 Rename ... 10349 (vfmlal_low_f16, vfmlsl_low_f16, vfmlalq_low_f16, vfmlslq_low_f16, 10350 vfmlal_high_f16, vfmlsl_high_f16, vfmlalq_high_f16, vfmlslq_high_f16, 10351 vfmlal_lane_low_f16, vfmlsl_lane_low_f16, vfmlal_laneq_low_f16, 10352 vfmlsl_laneq_low_f16, vfmlalq_lane_low_f16, vfmlslq_lane_low_f16, 10353 vfmlalq_laneq_low_f16, vfmlslq_laneq_low_f16, vfmlal_lane_high_f16, 10354 vfmlsl_lane_high_f16, vfmlal_laneq_high_f16, vfmlsl_laneq_high_f16, 10355 vfmlalq_lane_high_f16, vfmlslq_lane_high_f16, vfmlalq_laneq_high_f16, 10356 vfmlslq_laneq_high_f16): ... To this. 10357 103582019-02-25 Alexander Monakov <amonakov@ispras.ru> 10359 10360 PR rtl-optimization/86096 10361 * df-scan.c (df_mw_compare): Do not check mw_reg fields when 10362 comparing mw_order values. 10363 103642019-02-25 Jakub Jelinek <jakub@redhat.com> 10365 10366 PR target/89434 10367 * config/arm/arm.md (*subsi3_carryin_const): Use 10368 arm_neg_immediate_operand predicate instead of 10369 arm_not_immediate_operand, "L" constraint instead of "K" and 10370 print it using %n2 instead of %B2. 10371 (*subsi3_carryin_const0): New define_insn. 10372 (*subsi3_carryin_compare_const): Use const_int_I_operand predicate 10373 instead of arm_not_operand and "I" constraint instead of "K" and 10374 print it using %n3 instead of %B2. Instead of using match_dup 2 add 10375 another match_operand and in the condition check that it is negation 10376 of operands[2]. 10377 (*subsi3_carryin_compare_const0): New define_ins. 10378 (*subdi_di_zesidi): Adjust to use *subsi3_carryin_const0 instead of 10379 *subsi3_carryin_const. 10380 (*arm_cmpdi_insn): Fix splitting into *subsi3_carryin_compare_const, 10381 split into *subsi3_carryin_compare_const0 if the highpart is zero. 10382 10383 PR target/89438 10384 * config/arm.vfp.md (*negdf2_vfp): Use 10385 gen_int_mode (0x80000000, SImode) instead of GEN_INT (0x80000000). 10386 * config/arm/neon.md (neon_copysignf<mode>): Likewise. 10387 103882019-02-24 Jakub Jelinek <jakub@redhat.com> 10389 10390 PR rtl-optimization/89445 10391 * simplify-rtx.c (simplify_ternary_operation): Don't use 10392 simplify_merge_mask on operands that may trap. 10393 * rtlanal.c (may_trap_p_1): Use FLOAT_MODE_P instead of 10394 SCALAR_FLOAT_MODE_P checks. For integral division by zero, if 10395 second operand is CONST_VECTOR, check if any element could be zero. 10396 Don't expect traps for VEC_{MERGE,SELECT,CONCAT,DUPLICATE} unless 10397 their operands can trap. 10398 103992019-02-23 Martin Sebor <msebor@redhat.com> 10400 10401 * gimple-ssa-sprintf.c (target_strtol): Rename... 10402 (target_strtohwi): ...to this. Handle values up to HOST_WIDE_INT_MAX. 10403 (parse_directive): Adjust to name change. Use HOST_WIDE_INT_MAX to 10404 check for range error. 10405 104062019-02-23 H.J. Lu <hongjiu.lu@intel.com> 10407 10408 PR driver/69471 10409 * opts-common.c (prune_options): Also prune joined switches 10410 with Negative and RejectNegative. 10411 * config/i386/i386.opt (march=): Add Negative(march=). 10412 (mtune=): Add Negative(mtune=). 10413 * doc/options.texi: Document Negative used together with Joined 10414 and RejectNegative. 10415 104162019-02-22 Martin Sebor <msebor@redhat.com> 10417 10418 * doc/extend.texi (Other Builtins): Add 10419 __builtin_is_constant_evaluated. 10420 104212019-02-22 Richard Biener <rguenther@suse.de> 10422 10423 PR tree-optimization/87609 10424 * tree-cfg.c (gimple_duplicate_bb): Only remap inlined cliques. 10425 104262019-02-22 Jeff Law <law@redhat.com> 10427 10428 PR rtl-optimization/87761 10429 * config/mips/mips.md: Add new combiner pattern to recognize 10430 a bitfield extraction using (ashiftrt (truncate (ashift (...)))). 10431 104322019-02-22 Matthew Malcomson <matthew.malcomson@arm.com> 10433 10434 PR target/89324 10435 * config/aarch64/aarch64.md: Use aarch64_general_reg predicate on 10436 destination register in peepholes generating patterns for ADDS/SUBS. 10437 (add<mode>3_compare0, 10438 *addsi3_compare0_uxtw, add<mode>3_compareC, 10439 add<mode>3_compareV_imm, add<mode>3_compareV, 10440 *adds_<optab><ALLX:mode>_<GPI:mode>, 10441 *subs_<optab><ALLX:mode>_<GPI:mode>, 10442 *adds_<optab><ALLX:mode>_shift_<GPI:mode>, 10443 *subs_<optab><ALLX:mode>_shift_<GPI:mode>, 10444 *adds_<optab><mode>_multp2, *subs_<optab><mode>_multp2, 10445 *sub<mode>3_compare0, *subsi3_compare0_uxtw, 10446 sub<mode>3_compare1): Allow stack pointer for source register. 10447 * config/aarch64/predicates.md (aarch64_general_reg): New predicate. 10448 104492019-02-22 Martin Sebor <msebor@redhat.com> 10450 10451 PR tree-optimization/88993 10452 PR tree-optimization/88853 10453 * gimple-ssa-sprintf.c (sprintf_dom_walker::call_info::is_file_func): 10454 New helper. 10455 (sprintf_dom_walker::call_info::is_string_func): New helper. 10456 (format_directive): Only issue "may exceed" 4095/INT_MAX warnings 10457 for formatted string functions. 10458 (sprintf_dom_walker::handle_gimple_call): Fix a typo in a comment. 10459 104602019-02-22 Martin Sebor <msebor@redhat.com> 10461 10462 PR c/89425 10463 * c-parser.c (sizeof_ptr_memacc_comptypes): Avoid warning in 10464 unreachable subexpressions. 10465 104662019-02-22 H.J. Lu <hongjiu.lu@intel.com> 10467 Hongtao Liu <hongtao.liu@intel.com> 10468 Sunil K Pandey <sunil.k.pandey@intel.com> 10469 10470 PR target/87007 10471 * config/i386/i386-passes.def: Add 10472 pass_remove_partial_avx_dependency. 10473 * config/i386/i386-protos.h 10474 (make_pass_remove_partial_avx_dependency): New. 10475 * config/i386/i386.c (make_pass_remove_partial_avx_dependency): 10476 New function. 10477 (pass_data_remove_partial_avx_dependency): New. 10478 (pass_remove_partial_avx_dependency): Likewise. 10479 (make_pass_remove_partial_avx_dependency): Likewise. 10480 * config/i386/i386.md (avx_partial_xmm_update): New attribute. 10481 (*extendsfdf2): Add avx_partial_xmm_update. 10482 (truncdfsf2): Likewise. 10483 (*float<SWI48:mode><MODEF:mode>2): Likewise. 10484 (SF/DF conversion splitters): Disabled for TARGET_AVX. 10485 104862019-02-22 Aldy Hernandez <aldyh@redhat.com> 10487 10488 PR middle-end/85598 10489 * gimple-ssa-sprintf.c (pass_sprintf_length::execute): Enable loop 10490 analysis for pass. 10491 104922019-02-22 Thiago Macieira <thiago.macieira@intel.com> 10493 10494 PR target/89444 10495 * config/i386/i386.h (PTA_WESTMERE): Remove PTA_AES. 10496 (PTA_SKYLAKE): Add PTA_AES. 10497 (PTA_GOLDMONT): Likewise. 10498 104992019-02-22 Sudakshina Das <sudi.das@arm.com> 10500 10501 * config/aarch64/aarch64.c (aarch64_output_mi_thunk): Add bti 10502 instruction if enabled. 10503 (aarch64_override_options): Remove reference to return address key. 10504 105052019-02-22 Richard Biener <rguenther@suse.de> 10506 10507 PR tree-optimization/89440 10508 * tree-vect-loop.c (vect_create_epilog_for_reduction): Remove 10509 not necessary assert. 10510 105112019-02-22 Thomas Schwinge <thomas@codesourcery.com> 10512 10513 PR fortran/72741 10514 * omp-general.c (oacc_replace_fn_attrib): Mostly split out into... 10515 (oacc_replace_fn_attrib_attr): ... this new function. 10516 * omp-general.h (oacc_replace_fn_attrib_attr): New prototype. 10517 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Revert workaround. 10518 105192019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 10520 10521 * config/arm/arm-cpus.in (ares): Rename to... 10522 (neoverse-n1): ... This. Add ares as alias. 10523 * config/arm/arm-tables.opt: Regenerate. 10524 * config/arm/arm-tune.md: Likewise. 10525 * doc/invoke.txt (ARM Options): Document neoverse-n1. 10526 105272019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 10528 10529 * config/aarch64/aarch64-cores.def (neoverse-e1): Define. 10530 * config/aarch64/aarch64-tune.md: Regenerate. 10531 * doc/invoke.texi (AArch64 Options): Document neoverse-e1 -mcpu option. 10532 105332019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 10534 10535 * config/aarch64/aarch64.c (ares_tunings): Rename to... 10536 (neoversen1_tunings): ... This. 10537 * config/aarch64/aarch64-cores.def (ares): Change tuning to the above. 10538 (neoverse-n1): New CPU. 10539 * config/aarch64/aarch64-tune.md: Regenerate. 10540 * doc/invoke.txt (AArch64 Options): Document neoverse-n1. 10541 105422019-02-22 Richard Biener <rguenther@suse.de> 10543 10544 PR middle-end/87609 10545 * cfghooks.h (dependence_hash): New typedef. 10546 (struct copy_bb_data): New type. 10547 (cfg_hooks::duplicate_block): Adjust to take a copy_bb_data argument. 10548 (duplicate_block): Likewise. 10549 * cfghooks.c (duplicate_block): Pass down copy_bb_data. 10550 (copy_bbs): Create and pass down copy_bb_data. 10551 * cfgrtl.c (cfg_layout_duplicate_bb): Adjust. 10552 (rtl_duplicate_bb): Likewise. 10553 * tree-cfg.c (gimple_duplicate_bb): If the copy_bb_data arg is not NULL 10554 remap dependence info. 10555 105562019-02-22 Richard Biener <rguenther@suse.de> 10557 10558 PR tree-optimization/87609 10559 * tree-core.h (tree_base): Document special clique values. 10560 * tree-inline.c (remap_dependence_clique): Do not use the 10561 special clique value of one. 10562 (maybe_set_dependence_info): Use clique one. 10563 (clear_dependence_clique): New callback. 10564 (compute_dependence_clique): Clear clique one from all refs 10565 before assigning it (again). 10566 105672019-02-21 Martin Sebor <msebor@redhat.com> 10568 10569 * doc/extend.texi (__clear_cache): Correct signature. 10570 105712019-02-21 Ian Lance Taylor <iant@golang.org> 10572 10573 PR go/89170 10574 * varasm.c (decode_addr_const): Call lookup_constant_def rather 10575 than output_constant_def. 10576 (add_constant_to_table): New static function. 10577 (output_constant_def): Call add_constant_to_table. 10578 (tree_output_constant_def): Likewise. 10579 105802019-02-21 Jakub Jelinek <jakub@redhat.com> 10581 10582 PR c++/89285 10583 * builtins.c (fold_builtin_arith_overflow): If first two args are 10584 INTEGER_CSTs, set intres and ovfres to constants rather than calls 10585 to ifn. 10586 105872019-02-21 H.J. Lu <hongjiu.lu@intel.com> 10588 10589 PR target/87412 10590 * config/i386/i386.c (ix86_set_indirect_branch_type): Issue an 10591 error for -mindirect-branch/-mfunction-return with incompatible 10592 -fcf-protection. 10593 105942019-02-21 Jakub Jelinek <jakub@redhat.com> 10595 10596 PR bootstrap/88714 10597 * constraints.md (q): Remove. 10598 * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use rk constraint 10599 instead of q. 10600 106012019-02-21 Martin Jambor <mjambor@suse.cz> 10602 10603 PR hsa/89302 10604 * omp-general.c (omp_extract_for_data): Removed a duplicate call 10605 to omp_adjust_for_condition, moved NE_EXPR code_cond processing... 10606 (omp_adjust_for_condition): ...here. Added necessary parameters. 10607 * omp-general.h (omp_adjust_for_condition): Updated declaration. 10608 * omp-grid.c (grid_attempt_target_gridification): Adjust to pass 10609 proper values to new parameters of omp_adjust_for_condition. 10610 106112019-02-20 Jakub Jelinek <jakub@redhat.com> 10612 10613 PR middle-end/89412 10614 * expr.c (expand_assignment): If result is a MEM, use change_address 10615 instead of simplify_gen_subreg. 10616 106172019-02-20 Jakub Jelinek <jakub@redhat.com> 10618 David Malcolm <dmalcolm@redhat.com> 10619 10620 PR middle-end/89091 10621 * fold-const.c (decode_field_reference): Return NULL_TREE if 10622 lang_hooks.types.type_for_size returns NULL. Check it before 10623 overwriting *exp_. Use return NULL_TREE instead of return 0. 10624 106252019-02-20 Jakub Jelinek <jakub@redhat.com> 10626 10627 PR middle-end/88074 10628 PR middle-end/89415 10629 * toplev.c (do_compile): Double the emin/emax exponents to workaround 10630 buggy mpc_norm. 10631 106322019-02-20 Uroš Bizjak <ubizjak@gmail.com> 10633 10634 PR target/89397 10635 * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Check 10636 TARGET_SSE in addition to TARGET_SSE_MATH. 10637 10638 (ix86_excess_precision): Ditto. 10639 (ix86_float_exceptions_rounding_supported_p): Ditto. 10640 (use_rsqrt_p): Ditto. 10641 * config/i386/sse.md (rsqrt<mode>2): Ditto. 10642 106432019-02-20 David Malcolm <dmalcolm@redhat.com> 10644 10645 PR c/89410 10646 * diagnostic-show-locus.c (layout::calculate_line_spans): Use 10647 linenum_arith_t when determining if two adjacent line spans are 10648 close enough to merge. 10649 (diagnostic_show_locus): Use linenum_arith_t when iterating over 10650 lines within each line_span. 10651 106522019-02-20 Andre Vieira <andre.simoesdiasvieira@arm.com> 10653 10654 PR target/86487 10655 * lra-constraints.c(uses_hard_regs_p): Fix handling of 10656 paradoxical SUBREGS. 10657 106582019-02-20 Li Jia He <helijia@linux.ibm.com> 10659 10660 PR target/88100 10661 * gcc/config/rs6000/rs6000.c (rs6000_gimple_fold_builtin) 10662 <case ALTIVEC_BUILTIN_VSPLTISB, ALTIVEC_BUILTIN_VSPLTISH, 10663 ALTIVEC_BUILTIN_VSPLTISW>: Don't convert the operand before 10664 range checking it. 10665 106662019-02-19 Jonathan Wakely <jwakely@redhat.com> 10667 10668 * config/gcn/gcn.c (print_operand): Fix typo. 10669 106702019-02-19 Richard Biener <rguenther@suse.de> 10671 10672 PR middle-end/88074 10673 * toplev.c (do_compile): Initialize mpfr's exponent range 10674 based on available float modes. 10675 106762019-02-19 Eric Botcazou <ebotcazou@adacore.com> 10677 10678 * rtlanal.c (get_initial_register_offset): Fall back to the estimate 10679 as long as the epilogue isn't completed. 10680 106812019-02-18 Martin Sebor <msebor@redhat.com> 10682 10683 * doc/cpp.texi (Conditional syntax): Add __has_attribute, 10684 __has_cpp_attribute, and __has_include. 10685 106862019-02-18 Martin Sebor <msebor@redhat.com> 10687 10688 * doc/invoke.texi (-Wreturn-type): Correct and expand. 10689 106902019-02-18 Martin Sebor <msebor@redhat.com> 10691 10692 PR middle-end/89294 10693 * tree.c (valid_constant_size_p): Avoid assuming size is a constant 10694 expression. 10695 * tree.h (cst_size_error): Add the cst_size_not_constant enumerator. 10696 106972019-02-18 Richard Biener <rguenther@suse.de> 10698 10699 PR tree-optimization/89296 10700 * tree-ssa-loop-ch.c (ch_base::copy_headers): Restrict setting 10701 of no-warning flag to cases that might emit the bogus warning. 10702 107032019-02-18 Jakub Jelinek <jakub@redhat.com> 10704 10705 PR bootstrap/88714 10706 * config/arm/arm.md (*arm_movdi, *movdf_soft_insn): Use "r" instead of 10707 "q" constraint. 10708 * config/arm/vfp.md (*movdi_vfp): Likewise. 10709 * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use "r" instead of 10710 "q" constraint for operands[0]. 10711 10712 PR target/89369 10713 * config/s390/s390.md (*r<noxa>sbg_<mode>_srl_bitmask, 10714 *r<noxa>sbg_<mode>_sll, *r<noxa>sbg_<mode>_srl): Don't construct 10715 pattern in a temporary buffer. 10716 (*r<noxa>sbg_sidi_srl): Likewise. Always use 32 as I3 rather 10717 than 64-operands[2]. 10718 10719 PR target/89361 10720 * config/s390/s390.c (s390_indirect_branch_attrvalue, 10721 s390_indirect_branch_settings): Define unconditionally. 10722 (s390_set_current_function): Likewise, but guard the whole body except 10723 the s390_indirect_branch_settings call with 10724 #if S390_USE_TARGET_ATTRIBUTE. 10725 (TARGET_SET_CURRENT_FUNCTION): Redefine unconditionally. 10726 10727 * config/s390/s390.md (*<risbg_n>_ior_and_sr_ze, 10728 *<risbg_n>_<mode>_ior_and_lshiftrt, *<risbg_n>_sidi_ior_and_lshiftrt): 10729 Use HOST_WIDE_INT_M1U instead of ~(0ULL). 10730 (*<risbg_n>_and_subregdi_rotr, *<risbg_n>_and_subregdi_rotl): Use 10731 HOST_WIDE_INT_1U instead of 1ULL. 10732 (*pre_z10_extzv<mode>, *pre_z10_extv<mode>): Change mask type from int 10733 to unsigned HOST_WIDE_INT, use HOST_WIDE_INT_1U instead of 1ul. 10734 (*insv<mode><clobbercc_or_nocc>_appendbitsleft, 10735 z = (x << c) | (y >> d) splitters): Use HOST_WIDE_INT_1U 10736 instead of 1UL. 10737 (*insv<mode>_mem_reg, *insvdi_mem_reghigh): Use HOST_WIDE_INT_1U 10738 instead of 1ul. 10739 107402019-02-18 Martin Jambor <mjambor@suse.cz> 10741 10742 PR tree-optimization/89209 10743 * tree-sra.c (create_access_replacement): New optional parameter 10744 reg_tree. Use it as a type if non-NULL and access type is not of 10745 a register type. 10746 (get_repl_default_def_ssa_name): New parameter REG_TYPE, pass it 10747 to create_access_replacement. 10748 (sra_modify_assign): Pass LHS type to get_repl_default_def_ssa_name. 10749 Check lacc is non-NULL before attempting to re-create it on the RHS. 10750 107512019-02-18 Martin Liska <mliska@suse.cz> 10752 10753 PR ipa/89306 10754 * cgraph.c (symbol_table::create_edge): Set m_summary_id to -1 10755 by default. 10756 (symbol_table::free_edge): Recycle m_summary_id. 10757 * cgraph.h (get_summary_id): New. 10758 (symbol_table::release_symbol): Set m_summary_id to -1 10759 by default. 10760 (symbol_table::allocate_cgraph_symbol): Recycle m_summary_id. 10761 * ipa-fnsummary.c (ipa_fn_summary_t): Switch from 10762 function_summary to fast_function_summary. 10763 * ipa-fnsummary.h (ipa_fn_summary_t): Likewise. 10764 * ipa-pure-const.c (class funct_state_summary_t): 10765 Switch from function_summary to fast_function_summary. 10766 * ipa-reference.c (class ipa_ref_var_info_summary_t): Likewise. 10767 (class ipa_ref_opt_summary_t): Switch from function_summary 10768 to fast_function_summary. 10769 * symbol-summary.h (class function_summary_base): New class 10770 that is created from base of former function_summary. 10771 (function_summary_base::unregister_hooks): New. 10772 (class function_summary): Inherit from function_summary_base. 10773 (class call_summary_base): New class 10774 that is created from base of former call_summary. 10775 (class call_summary): Inherit from call_summary_base. 10776 (struct is_same): New. 10777 (class fast_function_summary): New summary class. 10778 (class fast_call_summary): New summary class. 10779 * vec.h (vec_safe_grow_cleared): New function. 10780 107812019-02-18 Martin Liska <mliska@suse.cz> 10782 10783 * config/i386/i386.c (ix86_get_multilib_abi_name): New function. 10784 (TARGET_GET_MULTILIB_ABI_NAME): New macro defined. 10785 * doc/tm.texi: Document new target hook. 10786 * doc/tm.texi.in: Likewise. 10787 * target.def: Add new target macro. 10788 * gcc.c (find_fortran_preinclude_file): Do not search multilib 10789 suffixes. 10790 107912019-02-17 Alan Modra <amodra@gmail.com> 10792 10793 PR target/89271 10794 * config/rs6000/rs6000.md (<bd>_<mode> split): Check for an int 10795 output reg on add insn. 10796 (<bd>tf_<mode> split): Likewise. Match predicates with insn. 10797 107982019-02-16 H.J. Lu <hongjiu.lu@intel.com> 10799 10800 PR target/89372 10801 * config/i386/sse.md (ssedoublemode): Remove V4HI. 10802 (PMULHRSW): Likewise. 10803 (<ssse3_avx2>_pmulhrsw<mode>3): Require TARGET_SSSE3, not 10804 TARGET_AVX2. 10805 (ssse3_pmulhrswv4hi3): New expander. 10806 108072019-02-16 H.J. Lu <hongjiu.lu@intel.com> 10808 10809 * config/i386/mmx.md (*vec_extractv2si_zext_mem): Doesn't require 10810 MMX. Add isa attribute. 10811 108122019-02-16 Jakub Jelinek <jakub@redhat.com> 10813 10814 PR rtl-optimization/66152 10815 * builtins.h (c_readstr): Declare. 10816 * builtins.c (c_readstr): Remove forward declaration. Add 10817 null_terminated_p argument, if false, read all bytes from the 10818 string instead of stopping after '\0'. 10819 * expr.c (string_cst_read_str): New function. 10820 (store_expr): Use string_cst_read_str instead of 10821 builtin_strncpy_read_str. Try to store by pieces the whole 10822 exp_len first, and only if that fails, split it up into 10823 store by pieces followed by clear_storage. Formatting fix. 10824 10825 * config/i386/i386.md (*movqi_internal): Remove static from 10826 buf variable. Use output_asm_insn (buf, operands); return ""; 10827 instead of return buf;. 10828 * config/i386/sse.md (<sse>_andnot<mode>3<mask_name>, 10829 *<code><mode>3<mask_name>, *andnot<mode>3, *andnottf3, *<code><mode>3, 10830 *<code>tf3, <mask_codefor><code><mode>3<mask_name>): Likewise. 10831 108322019-02-15 Eric Botcazou <ebotcazou@adacore.com> 10833 10834 * config/sparc/linux.h (ASAN_CC1_SPEC): Define. 10835 (CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC and ASAN_CC1_SPEC. 10836 * config/sparc/linux64.h (ASAN_CC1_SPEC): Likewise. 10837 (CC1_SPEC): Likewise. 10838 * config/sparc/sparc.c (sparc_asan_shadow_offset): Adjust for 64-bit. 10839 108402019-02-15 Eric Botcazou <ebotcazou@adacore.com> 10841 10842 * asan.c (asan_emit_stack_protection): Use full-sized mask to align 10843 the base address on 64-bit strict-alignment platforms. 10844 108452019-02-15 H.J. Lu <hongjiu.lu@intel.com> 10846 10847 * config/i386/i386.h (VALID_MMX_REG_MODE): Correct the misplaced ')'. 10848 108492019-02-15 Uroš Bizjak <ubizjak@gmail.com> 10850 10851 * config/i386/darwin.h (TARGET_FPMATH_DEFAULT_P): New define. 10852 108532019-02-15 Aaron Sawdey <acsawdey@linux.ibm.com> 10854 10855 PR rtl-optimization/88308 10856 * shrink-wrap.c (move_insn_for_shrink_wrap): Fix LABEL_NUSES counts 10857 on copied instruction. 10858 108592019-02-15 Eric Botcazou <ebotcazou@adacore.com> 10860 10861 * final.c (insn_current_reference_address): Replace test on JUMP_P 10862 with test on jump_to_label_p. 10863 * config/visium/visium-passes.def: New file. 10864 * config/visium/t-visium (PASSES_EXTRA): Define. 10865 * config/visium/visium-protos.h (make_pass_visium_reorg): Declare. 10866 * config/visium/visium.h (TRAMPOLINE_SIZE): Adjust. 10867 (TRAMPOLINE_ALIGNMENT): Define. 10868 * config/visium/visium.c (visium_option_override): Do not register 10869 the machine-specific reorg pass here. 10870 (visium_trampoline_init): Align the BRA insn on a 64-bit boundary 10871 for the GR6. 10872 (output_branch): Adjust threshold for long branch instruction. 10873 * config/visium/visium.md (cpu): Move around. 10874 (length): Adjust for the GR6. 10875 108762019-02-15 Richard Biener <rguenther@suse.de> 10877 Jakub Jelinek <jakub@redhat.com> 10878 10879 PR tree-optimization/89278 10880 * tree-loop-distribution.c: Include tree-eh.h. 10881 (generate_memset_builtin, generate_memcpy_builtin): Call 10882 rewrite_to_non_trapping_overflow on builtin->size before passing it 10883 to force_gimple_operand_gsi. 10884 108852019-02-15 Jakub Jelinek <jakub@redhat.com> 10886 10887 PR other/89342 10888 * optc-save-gen.awk: Handle optimize_fast like optimize_size or 10889 optimize_debug. 10890 * opth-gen.awk: Likewise. 10891 108922019-02-15 Uroš Bizjak <ubizjak@gmail.com> 10893 10894 * config/i386/i386.h (TARGET_SUBTARGET64_ISA_DEFAULT): 10895 Enable MMX, SSE and SSE2 by default. 10896 * config/i386/i386.c (ix86_option_override_internal): Do not 10897 explicitly set MMX, SSE and SSE2 flags for TARGET_64BIT here. 10898 108992019-02-14 Jakub Jelinek <jakub@redhat.com> 10900 10901 PR rtl-optimization/89354 10902 * combine.c (make_extraction): Punt if extraction_mode is narrower 10903 than len bits. 10904 109052019-02-14 Maya Rashish <coypu@sdf.org> 10906 10907 * config.gcc (*-*-netbsd*): Add netbsd-d.o. 10908 * config/netbsd-d.c: New file. 10909 * config/t-netbsd: Add netbsd-d.o 10910 109112018-02-14 Steve Ellcey <sellcey@marvell.com> 10912 10913 * config/aarch64/aarch64.c (aarch64_attribute_table): Change 10914 affects_type_identity to true for aarch64_vector_pcs. 10915 (aarch64_comp_type_attributes): New function. 10916 (TARGET_COMP_TYPE_ATTRIBUTES): New macro. 10917 109182019-02-14 Tamar Christina <tamar.christina@arm.com> 10919 10920 PR target/88850 10921 * config/arm/iterators.md (ANY64): Add V4HF. 10922 109232019-02-14 Martin Liska <mliska@suse.cz> 10924 10925 PR rtl-optimization/89242 10926 * dce.c (delete_unmarked_insns): Call free_dominance_info we 10927 process a transformation. 10928 109292019-02-14 Jakub Jelinek <jakub@redhat.com> 10930 10931 PR tree-optimization/89314 10932 * fold-const.c (fold_binary_loc): Cast strlen argument to 10933 const char * before dereferencing it. Formatting fixes. 10934 10935 PR middle-end/89284 10936 * passes.def: Swap pass_ubsan and pass_early_warn_uninitialized. 10937 109382019-02-13 Ian Lance Taylor <iant@golang.org> 10939 10940 * optc-save-gen.awk: Set var_opt_hash for initial optimizations 10941 and set current index for other optimizations. 10942 109432019-02-13 Uroš Bizjak <ubizjak@gmail.com> 10944 10945 * config/i386/sse.md (vec_set<VI4F_256_512:mode>_0): Use 10946 nonimmediate_operand as operand 2 predicate. 10947 (vec_set<VF2_512_256:mode>_0): Ditto. 10948 (vec_set<VI8_AVX_AVX512F:mode>_0): Ditto. 10949 (*vec_concatv2si): Remove alternative 2. 10950 (*vec_concatv4si_0): Use vm constraint for alternative 0. 10951 (*vec_concatv4si_0): Remove preferred_for_speed attribute. 10952 (vec_concatv2di): Split alternatives 4,5,6 to ... 10953 (*vec_concatv2di_0) ... new pattern. 10954 109552019-02-13 Wilco Dijkstra <wdijkstr@arm.com> 10956 10957 PR target/89190 10958 * config/arm/arm.c (ldm_stm_operation_p) Set 10959 addr_reg_in_reglist correctly for first register. 10960 (load_multiple_sequence): Remove dead base check. 10961 (gen_ldm_seq): Correctly set write_back for Thumb-1. 10962 109632019-02-13 Tamar Christina <tamar.christina@arm.com> 10964 10965 PR target/88847 10966 * config/aarch64/aarch64-sve.md (*pred_mov<mode>, pred_mov<mode>): 10967 Expose as @aarch64_pred_mov. 10968 * config/aarch64/aarch64.c (aarch64_classify_address): 10969 Use expand_insn which legitimizes operands. 10970 109712019-02-13 Martin Liska <mliska@suse.cz> 10972 10973 * builtins.h (expand_builtin_with_bounds): Remove declaration. 10974 * calls.c (struct arg_data): Remove special_slot, pointer_arg 10975 and pointer_offset fields. 10976 (initialize_argument_information): Remove usage of dead 10977 fields. 10978 * cgraph.h (struct cgraph_thunk_info): Remove 10979 add_pointer_bounds_args. 10980 * cgraphunit.c (cgraph_node::expand_thunk): Remove usage of dead 10981 fields. 10982 (cgraph_node::assemble_thunks_and_aliases): Remove usage of dead 10983 fields. 10984 * config/i386/i386.c (ix86_function_arg_advance): Remove 10985 unrelated comment. 10986 (struct builtin_isa): Remove leaf_p and nothrow_p fields. 10987 (def_builtin): Remove usage of dead 10988 fields. 10989 (ix86_add_new_builtins): Likewise. 10990 * ipa-fnsummary.c (compute_fn_summary): Likewise. 10991 * ipa-icf.c (sem_function::equals_wpa): Likewise. 10992 (sem_function::init): Likewise. 10993 (sem_variable::merge): Likewise. 10994 * ipa-visibility.c (function_and_variable_visibility): Likewise. 10995 * ipa.c (symbol_table::remove_unreachable_nodes): Likewise. 10996 * lto-cgraph.c (lto_output_node): Likewise. 10997 (lto_output_varpool_node): Likewise. 10998 (input_node): Likewise. 10999 (input_varpool_node): Likewise. 11000 * lto-streamer-out.c (lto_output): Likewise. 11001 * tree-inline.c (expand_call_inline): Remove usage of 11002 assign_stmts. 11003 * tree-inline.h (struct copy_body_data): Likewise. 11004 * varpool.c (varpool_node::dump): Likewise. 11005 110062019-02-13 Jakub Jelinek <jakub@redhat.com> 11007 11008 PR middle-end/89303 11009 * tree-ssa-structalias.c (set_uids_in_ptset): Or in vi->is_heap_var 11010 into pt->vars_contains_escaped_heap instead of setting 11011 pt->vars_contains_escaped_heap to it. 11012 11013 PR middle-end/89281 11014 * optabs.c (prepare_cmp_insn): Use UINTVAL (size) instead of 11015 INTVAL (size), compare it to GET_MODE_MASK instead of 11016 1 << GET_MODE_BITSIZE. 11017 11018 PR target/89290 11019 * config/i386/predicates.md (x86_64_immediate_operand): Allow 11020 TLS UNSPECs offsetted by signed 32-bit CONST_INT even with 11021 -mcmodel=large. 11022 110232019-02-13 Martin Liska <mliska@suse.cz> 11024 11025 PR lto/88858 11026 * cfgrtl.c (remove_barriers_from_footer): New function. 11027 (try_redirect_by_replacing_jump): Use it. 11028 (cfg_layout_redirect_edge_and_branch): Likewise. 11029 110302019-02-13 Xiong Hu Luo <luoxhu@linux.vnet.ibm.com> 11031 11032 * config/rs6000/altivec.h (vec_sbox_be, vec_cipher_be, 11033 vec_cipherlast_be, vec_ncipher_be, vec_ncipherlast_be): New #defines. 11034 * config/rs6000/crypto.md (CR_vqdi): New define_mode_iterator. 11035 (crypto_vsbox_<mode>, crypto_<CR_insn>_<mode>): New define_insns. 11036 * config/rs6000/rs6000-builtin.def (VSBOX_BE): New BU_CRYPTO_1. 11037 (VCIPHER_BE, VCIPHERLAST_BE, VNCIPHER_BE, VNCIPHERLAST_BE): 11038 New BU_CRYPTO_2. 11039 * config/rs6000/rs6000.c (builtin_function_type) 11040 <CRYPTO_BUILTIN_VSBOX_BE, CRYPTO_BUILTIN_VCIPHER_BE, 11041 CRYPTO_BUILTIN_VCIPHERLAST_BE, CRYPTO_BUILTIN_VNCIPHER_BE, 11042 CRYPTO_BUILTIN_VNCIPHERLAST_BE>: New switch options. 11043 * doc/extend.texi (vec_sbox_be, vec_cipher_be, vec_cipherlast_be, 11044 vec_ncipher_be, vec_ncipherlast_be): New builtin functions. 11045 110462019-02-12 Pat Haugen <pthaugen@us.ibm.com> 11047 11048 * doc/invoke.texi (RS/6000 and PowerPC Options): Remove duplicate 11049 -maltivec. Delete -maltivec=be and -maltivec=le documentation. 11050 110512019-02-12 H.J. Lu <hongjiu.lu@intel.com> 11052 11053 PR target/89229 11054 * config/i386/i386.md (*movoi_internal_avx): Revert revision 11055 268678 and revision 268657. 11056 (*movti_internal): Likewise. 11057 110582019-02-12 Ilya Leoshkevich <iii@linux.ibm.com> 11059 11060 PR target/89233 11061 * config/s390/s390.c (s390_decompose_address): Update comment. 11062 (s390_check_qrst_address): Reject invalid address forms after 11063 LRA. 11064 110652019-02-12 Martin Liska <mliska@suse.cz> 11066 11067 PR lto/88876 11068 * ipa-pure-const.c (propagate_pure_const): Revert hunk as 11069 we need default values of funct_state for a function that 11070 is not optimized. 11071 110722019-02-12 Eric Botcazou <ebotcazou@adacore.com> 11073 11074 * asan.c (asan_expand_mark_ifn): Take into account the alignment of 11075 the object to pick the size of stores on strict-alignment platforms. 11076 11077 * config/sparc/sparc.md (*movsi_insn): Minor tweak. 11078 (*movdi_insn_sp32): Likewise. 11079 (*movdi_insn_sp64): Likewise. 11080 110812019-02-12 Jan Hubicka <hubicka@ucw.cz> 11082 11083 PR lto/88677 11084 * cgraphunit.c (analyze_functions): Clear READONLY flag for external 11085 types that needs constructiong. 11086 * tree.h (may_be_aliased): Do not check TYPE_NEEDS_CONSTRUCTING. 11087 110882019-02-12 Richard Biener <rguenther@suse.de> 11089 11090 PR tree-optimization/89253 11091 * tree-ssa-loop-split.c (tree_ssa_split_loops): Check we can 11092 duplicate the loop. 11093 110942019-02-11 David Malcolm <dmalcolm@redhat.com> 11095 11096 PR lto/88147 11097 * input.c (selftest::test_line_offset_overflow): New selftest. 11098 (selftest::input_c_tests): Call it. 11099 111002019-02-11 Martin Sebor <msebor@redhat.com> 11101 11102 PR tree-optimization/88771 11103 * gimple-ssa-warn-restrict.c (pass_wrestrict::gate): Also enable 11104 when -Wstringop-overflow is set. 11105 (builtin_memref::builtin_memref): Adjust excessive upper bound 11106 only when lower bound is not excessive. 11107 (maybe_diag_overlap): Detect and diagnose excessive bounds via 11108 -Wstringop-ovefflow. 11109 (maybe_diag_offset_bounds): Rename... 11110 (maybe_diag_access_bounds): ...to this. 11111 (check_bounds_or_overlap): Adjust for name change above. 11112 111132019-02-11 Martin Sebor <msebor@redhat.com> 11114 11115 PR c++/87996 11116 * builtins.c (max_object_size): Move from here... 11117 * builtins.h (max_object_size): ...and here... 11118 * tree.c (max_object_size): ...to here... 11119 * tree.h (max_object_size): ...and here. 11120 111212019-02-11 Bill Schmidt <wschmidt@linux.ibm.com> 11122 11123 * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Shift-right 11124 and shift-left vector built-ins need to include a TRUNC_MOD_EXPR 11125 for correct semantics. 11126 111272019-02-11 Alan Modra <amodra@gmail.com> 11128 11129 * doc/invoke.texi (man page RS/6000 and PowerPC Options): Mention 11130 -mlongcall and -mpltseq. 11131 (RS/6000 and PowerPC Options <-mlongcall>): Mention inline PLT calls. 11132 (RS/6000 and PowerPC Options <-mpltseq>): Document. 11133 * config/rs6000/rs6000.h (TARGET_PLTSEQ): Define. 11134 * config/rs6000/sysv4.opt (mpltseq): New option. 11135 * config/rs6000/sysv4.h (TARGET_PLTSEQ): Redefine. 11136 (SUBTARGET_OVERRIDE_OPTIONS): Error if given -mpltseq when assembler 11137 support is lacking. Don't allow -mpltseq with -mbss-plt. 11138 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Warn if 11139 -mpltseq given for ELFv1. 11140 * config/rs6000/rs6000.c (rs6000_call_aix): Comment on UNSPEC_PLTSEQ. 11141 Only use UNSPEC_PLTSEQ for inline PLT calls. 11142 (rs6000_call_sysv, rs6000_sibcall_sysv): Expand comments. Only 11143 use UNSPEC_PLTSEQ for inline PLT calls. 11144 (rs6000_indirect_call_template_1, rs6000_longcall_ref), 11145 (rs6000_call_aix, rs6000_call_sysv, rs6000_sibcall_sysv): Replace 11146 uses of HAVE_AS_PLTSEQ with TARGET_PLTSEQ, simplifying. 11147 * config/rs6000/rs6000.md (pltseq_tocsave_<mode>), 11148 (pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>), 11149 (pltseq_mtctr_<mode>): Likewise. 11150 111512019-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 11152 11153 * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Use 8-byte strings with 11154 Solaris ld. 11155 * configure: Regenerate. 11156 111572019-02-11 Jakub Jelinek <jakub@redhat.com> 11158 11159 PR bootstrap/88714 11160 * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use q constraint 11161 instead of r. 11162 111632019-02-11 Hans-Peter Nilsson <hp@axis.com> 11164 11165 * function.c (assign_parm_setup_block): Use the stored 11166 size, not the passed size, when allocating stack-space, 11167 also for a parameter with alignment larger than 11168 MAX_SUPPORTED_STACK_ALIGNMENT. 11169 111702019-02-11 Martin Liska <mliska@suse.cz> 11171 11172 PR ipa/89009 11173 * ipa-cp.c (build_toporder_info): Remove usage of a param. 11174 * ipa-inline.c (inline_small_functions): Likewise. 11175 * ipa-pure-const.c (propagate_pure_const): Likewise. 11176 (propagate_nothrow): Likewise. 11177 * ipa-reference.c (propagate): Likewise. 11178 * ipa-utils.c (struct searchc_env): Remove unused field. 11179 (searchc): Always search across AVAIL_INTERPOSABLE. 11180 (ipa_reduced_postorder): Always allow AVAIL_INTERPOSABLE as 11181 the only called IPA pure const can properly not propagate 11182 across interposable boundary. 11183 * ipa-utils.h (ipa_reduced_postorder): Remove param. 11184 111852019-02-11 Chung-Ju Wu <jasonwucj@gmail.com> 11186 11187 * config/nds32/nds32.md (call_internal, call_value_internal, 11188 sibcall_internal, sibcall_value_internal): Use SImode for mem rtx. 11189 111902019-02-11 Hans-Peter Nilsson <hp@axis.com> 11191 11192 * config/cris/cris.c (cris_preferred_minimum_alignment): Fix name 11193 typo. 11194 111952019-02-10 H.J. Lu <hongjiu.lu@intel.com> 11196 11197 * config/i386/constraints.md (Yd): Replace AVX512BW with AVX512DQ 11198 in comments 11199 112002019-02-10 Chung-Ju Wu <jasonwucj@gmail.com> 11201 11202 * config.gcc (with_nds32_lib): Set default --with-nds32-lib correctly. 11203 112042019-02-10 Jakub Jelinek <jakub@redhat.com> 11205 11206 PR tree-optimization/89268 11207 * tree-if-conv.c (version_loop_for_if_conversion): Push to preds only 11208 if preds is non-NULL. 11209 112102019-02-09 Jan Hubicka <hubicka@ucw.cz> 11211 11212 PR lto/89272 11213 * tree.c (fld_simplified_type_name): Also keep TYPE_DECL for 11214 polymorphic types. 11215 112162019-02-10 Monk Chiang <sh.chiang04@gmail.com> 11217 11218 * config/nds32/nds32.md (trap): New pattern. 11219 112202019-02-10 Monk Chiang <sh.chiang04@gmail.com> 11221 11222 * config/nds32/nds32.c (nds32_dwarf_register_span): Refine register 11223 dwarf span. 11224 112252019-02-10 Chung-Ju Wu <jasonwucj@gmail.com> 11226 11227 * config/nds32/nds32-md-auxiliary.c (nds32_spilt_doubleword): Support 11228 to split POST_INC. 11229 112302019-02-09 Jan Hubicka <hubicka@ucw.cz> 11231 11232 * ipa-visibility.c (localize_node): Also do not localize 11233 LDPR_PREVAILING_DEF_IRONLY_EXP. 11234 112352019-02-09 Jan Hubicka <hubicka@ucw.cz> 11236 11237 PR lto/87957 11238 * tree.c (fld_simplified_type_name): Use DECL_ASSEMBLER_NAME_SET_P 11239 instead of type_with_linkage. 11240 112412019-02-09 Jan Hubicka <hubicka@ucw.cz> 11242 11243 PR ipa/88755 11244 * params.def (uninlined-function-insns, uninlined-function-time, 11245 uninlined-thunk-insns, uninlined-thunk-time): Add artificial upper 11246 bound so we don't get overflows. 11247 112482019-02-09 Aaron Sawdey <acsawdey@linux.ibm.com> 11249 11250 * config/rs6000/rs6000-string.c (expand_compare_loop, 11251 expand_block_compare): Insert REG_BR_PROB notes in inline expansion of 11252 memcmp/strncmp. 11253 112542019-02-09 Jakub Jelinek <jakub@redhat.com> 11255 11256 PR middle-end/89246 11257 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): 11258 If !node->definition and TYPE_ARG_TYPES is non-NULL, use 11259 TYPE_ARG_TYPES instead of DECL_ARGUMENTS. 11260 112612019-02-09 Alan Modra <amodra@gmail.com> 11262 11263 PR target/88343 11264 * config/rs6000/rs6000.c (save_reg_p): Correct calls_eh_return 11265 case. Match logic in rs6000_emit_prologue emitting pic_offset_table 11266 setup. 11267 112682019-02-08 Vladimir Makarov <vmakarov@redhat.com> 11269 11270 PR middle-end/88560 11271 * lra-constraints.c (process_alt_operands): Don't increase reject 11272 for memory when offset memory is required. 11273 112742019-02-08 Robin Dapp <rdapp@linux.ibm.com> 11275 11276 * config/s390/vector.md: Implement vector copysign. 11277 112782019-02-08 H.J. Lu <hongjiu.lu@intel.com> 11279 11280 * expr.c (expand_constructor): Correct indentations. 11281 112822019-02-08 Richard Biener <rguenther@suse.de> 11283 11284 PR tree-optimization/89247 11285 * tree-if-conv.c: Include tree-cfgcleanup.h. 11286 (version_loop_for_if_conversion): Record LOOP_VECTORIZED call. 11287 (tree_if_conversion): Pass through predicate vector. 11288 (pass_if_conversion::execute): Do CFG cleanup and SSA update 11289 inline, see if any if-converted loops we refrece in 11290 LOOP_VECTORIZED calls vanished and fixup. 11291 * tree-if-conv.h (tree_if_conversion): Adjust prototype. 11292 112932019-02-08 Ilya Leoshkevich <iii@linux.ibm.com> 11294 11295 * config/s390/constraints.md (jdd): New constraint. 11296 112972019-02-08 H.J. Lu <hongjiu.lu@intel.com> 11298 11299 PR target/89229 11300 * config/i386/i386.md (*movoi_internal_avx): Set mode to XI for 11301 upper 16 vector registers without TARGET_AVX512VL. 11302 (*movti_internal): Likewise. 11303 113042019-02-08 Jakub Jelinek <jakub@redhat.com> 11305 11306 PR rtl-optimization/89234 11307 * except.c (copy_reg_eh_region_note_forward): Return if note_or_insn 11308 is a NOTE, CODE_LABEL etc. - rtx_insn * other than INSN_P. 11309 (copy_reg_eh_region_note_backward): Likewise. 11310 113112019-02-08 Richard Biener <rguenther@suse.de> 11312 11313 PR middle-end/89223 11314 * tree-data-ref.c (initialize_matrix_A): Fail if constant 11315 doesn't fit in HWI. 11316 (analyze_subscript_affine_affine): Handle failure from 11317 initialize_matrix_A. 11318 113192019-02-08 Jakub Jelinek <jakub@redhat.com> 11320 11321 * cfganal.c (pre_and_rev_post_order_compute_fn): Use fn instead of 11322 cfun everywhere. 11323 113242019-02-07 David Malcolm <dmalcolm@redhat.com> 11325 11326 PR tree-optimization/86637 11327 PR tree-optimization/89235 11328 * tree-vect-loop.c (optimize_mask_stores): Add an 11329 auto_purge_vect_location sentinel to ensure that vect_location is 11330 purged on exit. 11331 * tree-vectorizer.c 11332 (auto_purge_vect_location::~auto_purge_vect_location): New dtor. 11333 (try_vectorize_loop_1): Add an auto_purge_vect_location sentinel 11334 to ensure that vect_location is purged on exit. 11335 (pass_slp_vectorize::execute): Likewise, replacing the manual 11336 reset. 11337 * tree-vectorizer.h (class auto_purge_vect_location): New class. 11338 113392019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 11340 11341 * config/aarch64/iterators.md (max_opp): New code_attr. 11342 (USMAX): New code iterator. 11343 * config/aarch64/predicates.md (aarch64_smin): New predicate. 11344 (aarch64_smax): Likewise. 11345 * config/aarch64/aarch64-simd.md (abd<mode>_3): Rename to... 11346 (*aarch64_<su>abd<mode>_3): ... Change RTL representation to 11347 MINUS (MAX MIN). 11348 113492019-02-07 H.J. Lu <hongjiu.lu@intel.com> 11350 11351 PR target/89229 11352 * config/i386/i386.md (*movoi_internal_avx): Set mode to OI 11353 for TARGET_AVX512VL. 11354 (*movti_internal): Set mode to TI for TARGET_AVX512VL. 11355 113562019-02-07 Andreas Krebbel <krebbel@linux.ibm.com> 11357 11358 * config/s390/s390-builtin-types.def: Add new types. 11359 * config/s390/s390-builtins.def: (s390_vec_xl, s390_vec_xld2) 11360 (s390_vec_xlw4): Make the memory operand into a const pointer. 11361 (s390_vec_xld2, s390_vec_xlw4): Add a variant for single precision 11362 float. 11363 * config/s390/s390-c.c (s390_expand_overloaded_builtin): Generate 11364 a new vector type with the alignment of the scalar memory operand. 11365 113662019-02-07 Matthew Malcomson <matthew.malcomson@arm.com> 11367 Jakub Jelinek <jakub@redhat.com> 11368 11369 PR bootstrap/88714 11370 * config/arm/arm-protos.h (valid_operands_ldrd_strd, 11371 arm_count_ldrdstrd_insns): New declarations. 11372 * config/arm/arm.c (mem_ok_for_ldrd_strd): Remove broken handling of 11373 MINUS. 11374 (valid_operands_ldrd_strd): New function. 11375 (arm_count_ldrdstrd_insns): New function. 11376 * config/arm/ldrdstrd.md: Change peepholes to generate PARALLEL SImode 11377 sets instead of single DImode set and define new insns to match this. 11378 113792019-02-07 Tamar Christina <tamar.christina@arm.com> 11380 11381 * config/aarch64/aarch64-builtins.c (aarch64_fcmla_lane_builtin_data): 11382 Make it a C initializer. 11383 113842019-02-07 Tamar Christina <tamar.christina@arm.com> 11385 11386 PR/target 88850 11387 * config/arm/neon.md (*neon_mov<mode>): Add r -> r case. 11388 113892019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 11390 11391 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): 11392 Use neon_dot<q> for type. 11393 (neon_<sup>dot_lane<vsi2qi>): Likewise. 11394 113952019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 11396 11397 * config/aarch64/aarch64-simd.md (aarch64_<sur>dot<vsi2qi>): 11398 Use neon_dot<q> for type. 11399 (aarch64_<sur>dot_lane<vsi2qi>): Likewise. 11400 (aarch64_<sur>dot_laneq<vsi2qi>): Likewise. 11401 114022019-02-06 Vladimir Makarov <vmakarov@redhat.com> 11403 11404 PR rtl-optimization/89225 11405 * lra-constaints.c (simplify_operand_subreg): Add subreg mode 11406 sizes check. 11407 114082019-02-06 Eric Botcazou <ebotcazou@adacore.com> 11409 11410 * config/i386/i386.c (ix86_expand_prologue): Emit a memory blockage 11411 after restoring registers saved to allocate the frame on Windows. 11412 114132019-02-06 Richard Biener <rguenther@suse.de> 11414 11415 PR tree-optimization/89182 11416 * graphite.h (cached_scalar_evolution_in_region): Declare. 11417 * graphite.c (struct seir_cache_key): New. 11418 (struct sese_scev_hash): Likewise. 11419 (seir_cache): New global. 11420 (cached_scalar_evolution_in_region): New function. 11421 (graphite_transform_loops): Allocate and release seir_cache. 11422 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Use 11423 cached_scalar_evolution_in_region. 11424 * graphite-scop-detection.c (scop_detection::can_represent_loop): 11425 Simplify. 11426 (scop_detection::graphite_can_represent_expr: Use 11427 cached_scalar_evolution_in_region. 11428 (scop_detection::stmt_simple_for_scop_p): Likewise. 11429 (find_params_in_bb): Likewise. 11430 (gather_bbs::before_dom_children): Likewise. 11431 * graphite-sese-to-poly.c (create_pw_aff_from_tree): Likewise. 11432 (add_loop_constraints): Likewise. 11433 114342019-02-06 Jakub Jelinek <jakub@redhat.com> 11435 11436 PR middle-end/89210 11437 * fold-const-call.c (fold_const_vec_convert): Pass true as last 11438 operand to new_unary_operation only if both element types are integral 11439 and it isn't a widening conversion. Return NULL_TREE if 11440 new_unary_operation failed. 11441 114422019-02-05 Andreas Krebbel <krebbel@linux.ibm.com> 11443 11444 PR target/88856 11445 * config/s390/s390.md: Remove load and test FP splitter. 11446 114472019-02-05 Aaron Sawdey <acsawdey@linux.ibm.com> 11448 11449 PR target/89112 11450 * config/rs6000/rs6000-string.c (do_ifelse, expand_cmp_vec_sequence, 11451 expand_compare_loop, expand_block_compare_gpr, 11452 expand_strncmp_align_check, expand_strncmp_gpr_sequence): Insert 11453 REG_BR_PROB notes in inline expansion of memcmp/strncmp. Add 11454 #include "profile-count.h" and "predict.h" for types and functions 11455 needed to work with REG_BR_PROB notes. 11456 114572019-02-05 Aaron Sawdey <acsawdey@linux.ibm.com> 11458 11459 PR target/89112 11460 * config/rs6000/rs6000.md (<bd>tf_<mode>): Generate a local label 11461 for the long branch case. 11462 114632019-02-05 Jakub Jelinek <jakub@redhat.com> 11464 11465 PR target/89188 11466 * dce.c (delete_unmarked_insns): Don't remove no-op moves if they 11467 can throw, non-call exceptions are enabled and we can't delete 11468 dead exceptions or alter cfg. Set must_clean if 11469 delete_insn_and_edges returns true, don't set it blindly for calls. 11470 Assert that delete_unreachable_blocks is called only if can_alter_cfg. 11471 11472 PR rtl-optimization/89195 11473 * combine.c (make_extraction): For MEMs, don't extract bytes outside 11474 of the original MEM. 11475 114762019-02-05 Martin Liska <mliska@suse.cz> 11477 11478 PR gcov-profile/89000 11479 * gcov.c (function_summary): Remove argument. 11480 (file_summary): New function. 11481 (print_usage): Replace tabs with spaces. 11482 (generate_results): Use new function file_summary. 11483 114842019-02-05 Jakub Jelinek <jakub@redhat.com> 11485 11486 PR target/89186 11487 * optabs.c (prepare_cmp_insn): Pass x and y to 11488 emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0). 11489 114902019-02-05 Richard Biener <rguenther@suse.de> 11491 11492 PR middle-end/89150 11493 * bitmap.h (struct bitmap_obstack): Do not mark GTY. 11494 (struct bitmap_element): Drop chain_prev so we properly recurse on 11495 the prev member, supporting tree views. 11496 (struct bitmap_head): GTY skip the obstack member. 11497 114982019-02-04 Alexander Monakov <amonakov@ispras.ru> 11499 11500 PR c/88698 11501 * doc/extend.texi (Vector Extensions): Add an example of using vector 11502 types together with x86 intrinsics. 11503 115042019-02-04 Alan Modra <amodra@gmail.com> 11505 11506 * config/rs6000/rs6000.c (rs6000_indirect_call_template_1): Increase 11507 str[] size to 160, and comment. 11508 115092019-02-04 Alan Modra <amodra@gmail.com> 11510 11511 * config/rs6000/rs6000.c (rs6000_indirect_call_template_1), 11512 (rs6000_pltseq_template): Guard output of TLS markers with 11513 TARGET_TLS_MARKERS. 11514 (rs6000_longcall_ref, rs6000_call_aix, rs6000_call_sysv), 11515 (rs6000_sibcall_sysv): Ignore TARGET_TLS_MARKERS when deciding 11516 to use inline PLT sequences. 11517 * config/rs6000/rs6000.md (pltseq_tocsave_<mode>), 11518 (pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>), 11519 (pltseq_mtctr_<mode>): Don't test TARGET_TLS_MARKERS in predicate. 11520 115212019-02-04 Martin Liska <mliska@suse.cz> 11522 11523 PR ipa/88985 11524 * ipa-fnsummary.c (estimate_edge_devirt_benefit): Bail 11525 out when ipa_fn_summaries does not contain entry for callee. 11526 115272019-02-04 Eric Botcazou <ebotcazou@adacore.com> 11528 11529 * config/sparc/sparc.h: Remove superfluous blank lines. 11530 * config/sparc/sparc.c (global_offset_table_rtx): Rename into... 11531 (got_register_rtx): ...this. 11532 (sparc_got): Adjust to above renaming. 11533 (sparc_tls_got): Likewise. 11534 (sparc_delegitimize_address): Likewise. 11535 (sparc_output_mi_thunk): Likewise. 11536 (sparc_init_pic_reg): Likewise. 11537 (save_local_or_in_reg_p): Fix test on the GOT register. 11538 (USE_HIDDEN_LINKONCE): Move around. 11539 (get_pc_thunk_name): Likewise. 11540 (gen_load_pcrel_sym): Likewise. 11541 (load_got_register): Likewise. 11542 115432019-02-04 Kito Cheng <kito.cheng@gmail.com> 11544 11545 * config/nds32/linux.h (GLIBC_DYNAMIC_LINKER): Define the naming rule 11546 of the dynamic linker: "ld-linux-nds32[le|be][f].so.1". 11547 115482019-02-04 Chung-Ju Wu <jasonwucj@gmail.com> 11549 11550 * config/nds32/nds32.c (nds32_legitimate_address_p): Add TLS model 11551 into consideration. 11552 115532019-02-04 Chung-Ju Wu <jasonwucj@gmail.com> 11554 11555 * config.gcc (with_nds32_lib, glibc): 11556 Remove TARGET_DEFAULT_TLSDESC_TRAMPOLINE=0 setting. 11557 * config/nds32/linux.h (TARGET_DEFAULT_TLSDESC_TRAMPOLINE): Delete. 11558 (NDS32_TLSDESC_TRAMPOLINE_SPEC): Delete. 11559 115602019-02-03 Uroš Bizjak <ubizjak@gmail.com> 11561 11562 PR target/89071 11563 * config/i386/i386.md (*sqrt<mode>2_sse): Add (v,0) alternative. 11564 Do not prefer (v,v) alternative for non-AVX targets and (m,v) 11565 alternative for speed when TARGET_SSE_PARTIAL_REG_DEPENDENCY is set. 11566 (*rcpsf2_sse): Ditto. 11567 (*rsqrtsf2_sse): Ditto. 11568 (sse4_1_round<mode<2): Ditto. 11569 115702019-02-03 Richard Biener <rguenther@suse.de> 11571 11572 PR debug/87295 11573 * dwarf2out.c (copy_ancestor_tree): Register non-stubs as 11574 orig. 11575 115762019-02-02 Jakub Jelinek <jakub@redhat.com> 11577 11578 PR middle-end/87887 11579 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): 11580 Punt with warning on aggregate return or argument types. Ignore 11581 type/mode checking for uniform arguments. 11582 115832019-02-01 Segher Boessenkool <segher@kernel.crashing.org> 11584 11585 * combine.c (try_combine): Do not print "Can't combine" messages unless 11586 printing failed combination attempts. 11587 115882019-02-01 Martin Jambor <mjambor@suse.cz> 11589 11590 PR hsa/87863 11591 * omp-grid.c (grid_mark_variable_segment): Set assembler name of group 11592 segment and global segment variables before making them static. 11593 115942019-02-01 Martin Jambor <mjambor@suse.cz> 11595 11596 * omp-grid.c (grid_target_follows_gridifiable_pattern): Guard two 11597 missed optimization dump with dump_enabled_p. 11598 115992019-02-01 Richard Biener <rguenther@suse.de> 11600 11601 PR middle-end/88597 11602 * tree-scalar-evolution.c (analyze_scalar_evolution): Set up 11603 the instantiate cache. 11604 (instantiate_scev_binary): Elide second operand procesing 11605 if equal to the first. 11606 * tree-chrec.c (chrec_contains_symbols): Add visited set. 11607 (chrec_contains_undetermined): Likewise. 11608 (tree_contains_chrecs): Likewise. 11609 116102019-02-01 Jan Hubicka <hubicka@ucw.cz> 11611 11612 * parms.def (MAX_INLINE_INSNS_SINGLE): Reduce from 400 to 200. 11613 116142019-02-01 Jakub Jelinek <jakub@redhat.com> 11615 11616 PR tree-optimization/89143 11617 * wide-int-range.h (wide_int_range_absu): Declare. 11618 * wide-int-range.cc (wide_int_range_absu): New function. 11619 * tree-vrp.c (extract_range_from_unary_expr): Handle ABSU_EXPR. 11620 11621 PR tree-optimization/88107 11622 * tree-cfg.c (find_outermost_region_in_block): Add ALL argument, 11623 instead of assertion that eh_region_outermost is non-NULL, if it 11624 is NULL, set *ALL to true and return NULL. 11625 (move_sese_region_to_fn): Adjust caller, if all is set, call 11626 duplicate_eh_regions with NULL region. 11627 116282019-02-01 Richard Biener <rguenth@suse.de> 11629 11630 PR rtl-optimization/88593 11631 * mode-switching.c (optimize_mode_switching): Free dominators before 11632 calling cleanup_cfg. 11633 116342019-02-01 Bin Cheng <bin.cheng@linux.alibaba.com> 11635 11636 PR tree-optimization/88932 11637 * tree-predcom.c (try_combine_chains): Get loop bbs in dom order. 11638 116392019-01-31 Jakub Jelinek <jakub@redhat.com> 11640 11641 PR middle-end/89137 11642 * omp-low.c (lower_omp_task_reductions): Drop redundant test to avoid 11643 bogus clang warning. 11644 116452019-01-31 Uroš Bizjak <ubizjak@gmail.com> 11646 11647 PR target/89071 11648 * config/i386/i386.md (*extendsfdf2): Split out reg->reg 11649 alternative to avoid partial SSE register stall for TARGET_AVX. 11650 (truncdfsf2): Ditto. 11651 (sse4_1_round<mode>2): Ditto. 11652 116532018-01-31 Bill Schmidt <wschmidt@linux.ibm.com> 11654 11655 PR tree-optimization/89008 11656 * gimple-ssa-strength-reduction.c (slsr_process_mul): Don't 11657 process anything of the form X * 0. 11658 116592019-01-31 Richard Biener <rguenther@suse.de> 11660 11661 PR tree-optimization/89135 11662 * tree-ssa-phiprop.c (pass_phiprop::execute): Skip blocks 11663 with abnormal preds. 11664 116652019-01-31 Jakub Jelinek <jakub@redhat.com> 11666 11667 PR sanitizer/89124 11668 * ipa-inline.c (sanitize_attrs_match_for_inline_p): Allow inlining 11669 always_inline callees into no_sanitize_address callers. 11670 116712019-01-31 Richard Biener <rguenther@suse.de> 11672 11673 PR rtl-optimization/89115 11674 * lra.c (lra_rtx_hash): Properly hash CONST_INT values. 11675 116762019-01-30 Martin Sebor <msebor@redhat.com> 11677 11678 PR other/89106 11679 * doc/extend.texi (cast to a union): Correct and expand. 11680 116812019-01-30 Vladimir Makarov <vmakarov@redhat.com> 11682 11683 PR rtl-optimization/87246 11684 * lra-constraints.c (simplify_operand_subreg): Reload memory 11685 in subreg if the address became invalid. 11686 116872019-01-30 Bill Schmidt <wschmidt@linux.ibm.com> 11688 11689 PR target/87064 11690 * config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v4sf_scalar): 11691 Disable for little-endian. 11692 116932019-01-30 Richard Biener <rguenther@suse.de> 11694 11695 PR rtl-optimization/89115 11696 * opts.c (default_options_optimization): Reduce 11697 PARAM_MAX_DSE_ACTIVE_LOCAL_STORES by a factor of 10 at -O1. 11698 Make PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP reduction relative 11699 to the default. 11700 117012019-01-30 Kelvin Nilsen <kelvin@gcc.gnu.org> 11702 11703 * config/rs6000/rs6000-c.c (altivec-resolve_overloaded_builtin): 11704 Change handling of ALTIVEC_BUILTIN_VEC_EXTRACT. Coerce result to 11705 type of vector element when vec_extract is implemented by direct 11706 move. 11707 117082019-01-30 Thomas Schwinge <thomas@codesourcery.com> 11709 11710 * doc/invoke.texi (C Language Options): List "-fopenacc-dim". 11711 117122019-01-30 Richard Biener <rguenther@suse.de> 11713 11714 PR tree-optimization/89111 11715 * tree-ssa-loop-im.c (gather_mem_refs_stmt): Restrict 11716 canonicalization to appropriately sized access types. 11717 117182019-01-30 Jakub Jelinek <jakub@redhat.com> 11719 11720 PR c++/89105 11721 * config/i386/i386.c (ix86_warn_parameter_passing_abi): Don't warn 11722 for arguments to functions that are TU-local and shouldn't be 11723 referenced by assembly. 11724 117252019-01-30 Ulrich Drepper <drepper@redhat.com> 11726 11727 * dumpfile.c (opt_info_switch_p_1): Ignore '-' if it appears 11728 after '='. 11729 117302019-01-29 Martin Sebor <msebor@redhat.com> 11731 11732 PR c/88956 11733 * gimple-fold.c (fold_array_ctor_reference): Avoid zero-length arrays. 11734 117352019-01-29 Jakub Jelinek <jakub@redhat.com> 11736 11737 PR c++/66676 11738 PR ipa/89104 11739 * omp-simd-clone.c (simd_clone_clauses_extract) 11740 <case OMP_CLAUSE_ALIGNED>: Ignore clauses with NULL 11741 OMP_CLAUSE_ALIGNED_ALIGNMENT. 11742 117432019-01-29 Vineet Gupta <vgupta@synopsys.com> 11744 11745 * config.gcc: Force .init_array for ARC. 11746 117472019-01-29 Richard Biener <rguenther@suse.de> 11748 11749 PR debug/87295 11750 * dwarf2out.c (collect_skeleton_dies): New helper. 11751 (copy_decls_for_unworthy_types): Call it. 11752 (build_abbrev_table): Assert we do not try to replace 11753 DW_AT_signature refs with local refs. 11754 117552019-01-28 Jakub Jelinek <jakub@redhat.com> 11756 11757 PR middle-end/89002 11758 * gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ 11759 for lastprivate/linear IV, push gimplify context around gimplify_assign 11760 and, if it needed any temporaries, pop it into a gimple bind around the 11761 sequence. 11762 117632019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de> 11764 11765 * common.opt (-Wattribute-alias): Remove "no-" from name. 11766 Make -Wattribute-alias command line option and 11767 #pragma GCC diagnostic ignored "-Wattribute-alias" work again. 11768 117692019-01-28 Jakub Jelinek <jakub@redhat.com> 11770 11771 PR target/89073 11772 * doc/invoke.texi (-mclwb, -mprfchw, -mrdpid, -mrdseed, -msgx, 11773 -madx, -mhle, -mavx5124fmaps, -mavx512vnni, -mavx5124vnniw): Document 11774 x86 ISA options. 11775 (bmi2): Add missing @opindex. 11776 * doc/extend.texi (x86 target attribute): Move fma4, lwp, ssse3 11777 options alphabetically. Add missing 3dnow, 3dnowa, adx, avx, avx2, 11778 avx5124fmaps, avx5124vnniw, avx512bitalg, avx512bw, avx512cd, 11779 avx512dq, avx512er, avx512f, avx512ifma, avx512pf, avx512vbmi, 11780 avx512vbmi2, avx512vl, avx512vnni, avx512vpopcntdq, bmi, bmi2, 11781 cldemote, clflushopt, clwb, clzero, crc32, cx16, f16c, fma, fsgsbase, 11782 fxsr, gfni, hle, lzcnt, movbe, movdir64b, movdiri, mwaitx, pconfig, 11783 pku, prefetchwt1, prfchw, ptwrite, rdpid, rdrnd, rdseed, rtm, sahf, 11784 sgx, sha, shstk, tbm, vaes, vpclmulqdq, waitpkg, wbnoinvd, xsave, 11785 xsavec, xsaveopt and xsaves options. 11786 117872019-01-28 Richard Biener <rguenther@suse.de> 11788 11789 PR debug/89076 11790 * dwarf2out.c (gen_subprogram_die): Remove leftover from MPX 11791 support removal. 11792 117932019-01-28 Richard Biener <rguenther@suse.de> 11794 11795 PR tree-optimization/88739 11796 * tree-cfg.c (verify_types_in_gimple_reference): Verify 11797 BIT_FIELD_REFs only are applied to mode-precision operands 11798 when they are integral. 11799 (verify_gimple_assign_ternary): Likewise for BIT_INSERT_EXPR. 11800 * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid generating 11801 BIT_FIELD_REFs of non-mode-precision integral operands. 11802 118032019-01-27 Jakub Jelinek <jakub@redhat.com> 11804 11805 PR target/87214 11806 * config/i386/sse.md 11807 (<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>, 11808 avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ensure the 11809 first constants in pairs are multiples of 2. Formatting fixes. 11810 (avx512vl_shuf_<shuffletype>32x4_1<mask_name>, 11811 avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ensure the 11812 first constants in each quadruple are multiples of 4. Formatting fixes. 11813 118142019-01-26 Martin Jambor <mjambor@suse.cz> 11815 11816 PR ipa/88933 11817 * tree-inline.c: Include tree-cfgcleanup.h. 11818 (delete_unreachable_blocks_update_callgraph): Move... 11819 * tree-cfgcleanup.c (delete_unreachable_blocks_update_callgraph): 11820 ...here, make externally visible, make second argument bool, adjust 11821 all callers. 11822 * tree-cfgcleanup.c: Include cgraph.h. 11823 * tree-cfgcleanup.h (delete_unreachable_blocks_update_callgraph): 11824 Declare. 11825 * ipa-prop.c: Include tree-cfgcleanup.h. 11826 (ipcp_transform_function): Call 11827 delete_unreachable_blocks_update_callgraph instead of cleaning uo CFG. 11828 118292019-01-25 Vladimir Makarov <vmakarov@redhat.com> 11830 11831 PR rtl-optimization/88846 11832 * ira.c (process_set_for_memref_referenced_p): New. 11833 (memref_referenced_p): Add new param. Use 11834 process_set_for_memref_referenced_p. Add new switch cases. 11835 (memref_used_between_p): Pass new arg to memref_referenced_p. 11836 118372019-01-25 Richard Earnshaw <rearnsha@arm.com> 11838 11839 PR target/88469 11840 * config/aarch64/aarch64.c (aarch64_function_arg_alignment): Add new 11841 argument ABI_BREAK. Set to true if the calculated alignment has 11842 changed in gcc-9. Check bit-fields for their base type alignment. 11843 (aarch64_layout_arg): Warn if argument passing has changed in gcc-9. 11844 (aarch64_function_arg_boundary): Likewise. 11845 (aarch64_gimplify_va_arg_expr): Likewise. 11846 118472019-01-25 Richard Sandiford <richard.sandiford@arm.com> 11848 11849 PR middle-end/89037 11850 * varasm.c (output_constructor_bitfield): Use wi::extract_uhwi 11851 instead of accessing TREE_INT_CST_ELT directly. 11852 118532019-01-25 Christophe Lyon <christophe.lyon@linaro.org> 11854 11855 * doc/sourcebuild.texi (Environment attributes): Add fenv and 11856 fenv_exceptions description. 11857 118582019-01-25 Wilco Dijkstra <wdijkstr@arm.com> 11859 11860 PR rtl-optimization/87763 11861 * config/aarch64/aarch64.c (aarch64_select_cc_mode): 11862 Allow SUBREG when matching CC_NZmode compare. 11863 118642019-01-25 Richard Biener <rguenther@suse.de> 11865 11866 PR tree-optimization/89049 11867 * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): 11868 Look at the pattern stmt to determine if the stmt is vectorized. 11869 118702019-01-25 Richard Sandiford <richard.sandiford@arm.com> 11871 11872 * config/aarch64/aarch64-sve.md (*pred_mov<mode>) 11873 (pred_mov<mode>): Handle all-register forms using both a new 11874 alternative and a split. 11875 118762019-01-25 Richard Biener <rguenther@suse.de> 11877 11878 PR tree-optimization/86865 11879 * graphite-scop-detection.c (scop_detection::can_represent_loop): 11880 Reject non-do-while loops. 11881 118822019-01-24 Peter Bergner <bergner@linux.ibm.com> 11883 11884 * config/rs6000/altivec.md (build_vector_mask_for_load): Use MEM_P. 11885 * config/rs6000/constraints.md (Q constraint): Use REG_P. 11886 * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Use SYMBOL_REF_P. 11887 * config/rs6000/freebsd64.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use 11888 SYMBOL_REF_P, CONST_INT_P and CONST_DOUBLE_P. 11889 * config/rs6000/linux64.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise. 11890 * config/rs6000/predicates.md (altivec_register_operand, vint_operand, 11891 vsx_register_operand, vsx_reg_sfsubreg_ok, vfloat_operand, 11892 vlogical_operand, gpc_reg_operand, int_reg_operand, 11893 int_reg_operand_not_pseudo): Use SUBREG_P and HARD_REGISTER_P. 11894 (ca_operand, base_reg_operand, htm_spr_reg_operand, cc_reg_operand, 11895 cc_reg_not_cr0_operand, input_operand): Use SUBREG_P. 11896 (save_world_operation, restore_world_operation, lmw_operation, 11897 stmw_operation): Use MEM_P and REG_P. 11898 (tie_operand): Use MEM_P. 11899 (vrsave_operation, crsave_operation): Use REG_P. 11900 (mfcr_operation, mtcrf_operation): Use REG_P and CONST_INT_P. 11901 (fpr_reg_operand): Use SUBREG_P and HARD_REGISTER_NUM_P. 11902 (quad_int_reg_operand): Use HARD_REGISTER_NUM_P. 11903 (call_operand): Use HARD_REGISTER_P. 11904 (indexed_or_indirect_operand, altivec_indexed_or_indirect_operand): 11905 Use CONST_INT_P. 11906 (lwa_operand): Use SUBREG_P, REG_P and CONST_INT_P. 11907 * config/rs6000/rs6000-p8swap.c (insn_is_load_p, insn_is_store_p, 11908 quad_aligned_load_p, replace_swapped_aligned_store, 11909 recombine_lvx_pattern, replace_swapped_aligned_load, 11910 recombine_stvx_pattern): Use MEM_P. 11911 (const_load_sequence_p, adjust_vperm, replace_swapped_load_constant): 11912 Use MEM_P and SYMBOL_REF_P. 11913 (rtx_is_swappable_p): Use REG_P and CONST_INT_P. 11914 (insn_is_swappable_p): Use REG_P and MEM_P. 11915 (insn_is_swap_p, (alignment_mask): Use CONST_INT_P. 11916 * config/rs6000/rs6000-string.c (expand_block_clear, expand_block_move): 11917 Use CONST_INT_P. 11918 * config/rs6000/rs6000.c (rs6000_secondary_reload, rs6000_emit_cmove): 11919 Use CONST_DOUBLE_P. 11920 (rs6000_output_move_128bit): Use CONST_DOUBLE_P, CONST_INT_P and 11921 CONST_WIDE_INT_P. 11922 (rs6000_legitimize_address): Use CONST_DOUBLE_P, CONST_INT_P, 11923 CONST_WIDE_INT_P, REG_P and SYMBOL_REF_P. 11924 (rs6000_emit_move): Use CONST_DOUBLE_P, CONST_INT_P, HARD_REGISTER_P, 11925 HARD_REGISTER_NUM_P, MEM_P, REG_P, SUBREG_P, SYMBOL_REF_P and 11926 reg_or_subregno: 11927 (output_toc): Use CONST_DOUBLE_P, CONST_INT_P and SYMBOL_REF_P. 11928 (easy_altivec_constant, rs6000_legitimate_offset_address_p, 11929 rs6000_mode_dependent_address, rs6000_expand_mtfsf_builtin, 11930 rs6000_expand_set_fpscr_rn_builtin, rs6000_expand_set_fpscr_drn_builtin, 11931 rs6000_expand_unop_builtin, INT_P, rs6000_generate_compare, 11932 rs6000_machopic_legitimize_pic_address, rs6000_split_logical_inner, 11933 rs6000_split_logical_di): Use CONST_INT_P. 11934 (rs6000_legitimize_reload_address): Use CONST_INT_P, HARD_REGISTER_P, 11935 REG_P and SYMBOL_REF_P. 11936 (setup_incoming_varargs, rs6000_rtx_costs): Use CONST_INT_P and MEM_P. 11937 (print_operand): Use CONST_INT_P, MEM_P and REG_P. 11938 (virtual_stack_registers_memory_p, rs6000_legitimate_address_p, 11939 mems_ok_for_quad_peep): Use CONST_INT_P and REG_P. 11940 (rs6000_secondary_reload_memory): Use CONST_INT_P and SUBREG_P. 11941 (small_data_operand, print_operand_address): Use CONST_INT_P and 11942 SYMBOL_REF_P. 11943 (split_stack_arg_pointer_used_p): Use HARD_REGISTER_P. 11944 (rs6000_init_hard_regno_mode_ok, direct_move_p): 11945 Use HARD_REGISTER_NUM_P. 11946 (rs6000_secondary_reload_gpr): Use HARD_REGISTER_NUM_P and MEM_P. 11947 (rs6000_secondary_reload_class): Use HARD_REGISTER_NUM_P, REG_P, 11948 SUBREG_P and SYMBOL_REF_P. 11949 (register_to_reg_type, rs6000_secondary_reload_inner): Use SUBREG_P 11950 and HARD_REGISTER_NUM_P. 11951 (rs6000_adjust_vec_address): Use HARD_REGISTER_NUM_P and 11952 reg_or_subregno. 11953 (rs6000_adjust_cost, find_mem_ref): Use MEM_P. 11954 (macho_lo_sum_memory_operand, rs6000_eliminate_indexed_memrefs): Use 11955 MEM_P and REG_P. 11956 (legitimate_indirect_address_p, legitimate_lo_sum_address_p, 11957 registers_ok_for_quad_peep, rs6000_output_function_epilogue, 11958 find_addr_reg): Use REG_P. 11959 (altivec_expand_vec_perm_const): Use REG_P and SUBREG_P. 11960 (rs6000_emit_le_vsx_move): Use SUBREG_P. 11961 (offsettable_ok_by_alignment, constant_pool_expr_p, 11962 legitimate_small_data_p, rs6000_output_dwarf_dtprel, 11963 rs6000_delegitimize_address, rs6000_const_not_ok_for_debug_p, 11964 rs6000_cannot_force_const_mem, rs6000_output_addr_const_extra, 11965 rs6000_assemble_integer, create_TOC_reference, 11966 rs6000_emit_allocate_stack, rs6000_xcoff_encode_section_info, 11967 rs6000_call_aix, rs6000_call_aix): Use SYMBOL_REF_P. 11968 (rs6000_split_vec_extract_var): Use reg_or_subregno. 11969 * config/rs6000/rtems.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use 11970 CONST_DOUBLE_P, CONST_INT_P and SYMBOL_REF_P. 11971 * config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise. 11972 * config/rs6000/xcoff.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise. 11973 * config/rs6000/rs6000.h (RS6000_SYMBOL_REF_TLS_P): Use SYMBOL_REF_P. 11974 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Use HARD_REGISTER_NUM_P. 11975 (INT_REG_OK_FOR_INDEX_P, INT_REG_OK_FOR_BASE_P): Use HARD_REGISTER_P. 11976 (CONSTANT_ADDRESS_P): Use CONST_INT_P and SYMBOL_REF_P. 11977 * config/rs6000/rs6000.md (define_expands strlensi, mod<mode>3 11978 and cbranch<mode>4): Use CONST_INT_P. 11979 (multiple define_splits): Use REG_P and SUBREG_P. 11980 (define_expands call, call_value): Use MEM_P. 11981 (define_expands sibcall, sibcall_value): Use CONST_INT_P and MEM_P. 11982 (define insn *mtcrfsi): Use CONST_INT_P and REG_P. 11983 * config/rs6000/vsx.md (*vsx_le_perm_load_<mode>, 11984 *vsx_le_perm_load_v8hi, *vsx_le_perm_load_v16qi): Use HARD_REGISTER_P 11985 and HARD_REGISTER_NUM_P. 11986 (multiple define_splits): Use HARD_REGISTER_NUM_P. 11987 119882019-01-24 Uroš Bizjak <ubizjak@gmail.com> 11989 11990 PR rtl-optimization/88948 11991 * rtl.h (prepare_copy_insn): New prototype. 11992 * gcse.c (prepare_copy_insn): New function, split out from 11993 process_insert_insn. 11994 (process_insert_insn): Use prepare_copy_insn. 11995 * store-motion.c (replace_store_insn): Use prepare_copy_insn 11996 instead of gen_move_insn. 11997 119982019-01-24 Jakub Jelinek <jakub@redhat.com> 11999 12000 PR debug/89006 12001 * config/i386/i386.c (ix86_pic_register_p): Return true for 12002 UNSPEC_SET_GOT too. 12003 12004 PR tree-optimization/88964 12005 * gimple-loop-interchange.cc (loop_cand::analyze_induction_var): Also 12006 punt if HONOR_SNANS (chrec). 12007 12008 PR middle-end/89015 12009 * tree-nested.c (convert_nonlocal_reference_stmt, 12010 convert_local_reference_stmt, convert_tramp_reference_stmt, 12011 convert_gimple_call) <case GIMPLE_OMP_TEAMS>: Treat 12012 gimple_omp_teams_host teams stmts like GIMPLE_OMP_PARALLEL 12013 or GIMPLE_OMP_TASK. 12014 12015 PR tree-optimization/89027 12016 * tree-inline.c (add_clobbers_to_eh_landing_pad): Don't add clobbers 12017 for "omp simd array" variables. 12018 120192019-01-24 Richard Earnshaw <rearnsha@arm.com> 12020 12021 PR target/88469 12022 * profile-count.h (profile_count): On ARM systems using GCC 6/7/8 12023 force the alignment of m_val. 12024 120252019-01-24 Richard Biener <rguenther@suse.de> 12026 12027 PR lto/87187 12028 * tree-streamer-out.c (write_ts_decl_common_tree_pointers): 12029 When in "legacy" debug mode make sure to reset self-origins. 12030 120312019-01-24 Martin Liska <mliska@suse.cz> 12032 12033 PR gcov-profile/88994 12034 * gcov-io.c (mangle_path): Do not allocate a bigger buffer, 12035 result will be always smaller or equal to the original. 12036 * gcov.c (mangle_name): Fix else branch where we should 12037 also copy to PTR and shift the pointer. 12038 120392019-01-24 Xiong Hu Luo <luoxhu@linux.vnet.ibm.com> 12040 12041 * tree-ssa-dom.c (test_for_singularity): Fix a comment typo. 12042 * vr-values.c (find_case_label_ranges): Fix a comment typo. 12043 120442019-01-23 Bin Cheng <bin.cheng@arm.com> 12045 Steve Ellcey <sellcey@marvell.com> 12046 12047 PR target/85711 12048 * recog.c (address_operand): Return false on wrong mode for address. 12049 (constrain_operands): Check for mode with 'p' constraint. 12050 120512019-01-23 Uroš Bizjak <ubizjak@gmail.com> 12052 12053 PR target/88998 12054 * config/i386/sse.md (sse2_cvtpi2pd): Add SSE alternatives. 12055 Disparage MMX alternative. 12056 (sse2_cvtpd2pi): Ditto. 12057 (sse2_cvttpd2pi): Ditto. 12058 120592019-01-23 David Malcolm <dmalcolm@redhat.com> 12060 12061 PR driver/89014 12062 * config/aarch64/driver-aarch64.c (host_detect_local_cpu): Fix 12063 use-after-free of the result of 12064 aarch64_get_extension_string_for_isa_flags. 12065 120662019-01-23 Jakub Jelinek <jakub@redhat.com> 12067 12068 PR c/44715 12069 * doc/extend.texi: Document break and continue behavior in 12070 statement expressions. 12071 120722019-01-23 Richard Biener <rguenther@suse.de> 12073 12074 PR tree-optimization/89008 12075 * tree-ssa-reassoc.c (eliminate_using_constants): For * 0 do 12076 not leave another stray operand. 12077 120782019-01-23 Jakub Jelinek <jakub@redhat.com> 12079 12080 * BASE-VER: Bump to 9.0.1. 12081 120822019-01-23 Eric Botcazou <ebotcazou@adacore.com> 12083 12084 * cgraphunit.c (cgraph_node::expand_thunk): When expanding a GIMPLE 12085 thunk that returns by reference, use the type of the return object 12086 of the thunk instead of that of the alias to build the dereference. 12087 120882019-01-23 Vineet Gupta <vgupta@synopsys.com> 12089 12090 * config/arc/atomic.md: Add operand to DMB instruction. 12091 120922019-01-23 Jakub Jelinek <jakub@redhat.com> 12093 12094 PR tree-optimization/88964 12095 * gimple-loop-interchange.cc (loop_cand::analyze_induction_var): Use 12096 build_zero_cst instead of build_int_cst. Return false for loop 12097 invariants which honor signed zeros. 12098 120992019-01-22 Segher Boessenkool <segher@kernel.crashing.org> 12100 12101 * doc/invoke.texi (-fsplit-paths): This is enabled by default at -O3. 12102 121032019-01-22 Jakub Jelinek <jakub@redhat.com> 12104 12105 PR target/88965 12106 * config/rs6000/rs6000.c: Include tree-vrp.h and tree-ssanames.h. 12107 (rs6000_gimple_fold_builtin): If MEM_REF address doesn't satisfy 12108 is_gimple_mem_ref_addr predicate, force it into a SSA_NAME first. 12109 12110 PR middle-end/88968 12111 * gimplify.c (gimplify_omp_atomic): Handle bitfield atomics with 12112 non-integral DECL_BIT_FIELD_REPRESENTATIVEs. 12113 12114 PR target/87064 12115 * config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v2df_scalar): 12116 Disable for little endian. 12117 121182019-01-22 Richard Earnshaw <rearnsha@arm.com> 12119 12120 PR target/88469 12121 * config/arm/arm.c (arm_needs_double_word_align): Check 12122 DECL_BIT_FIELD_TYPE. 12123 121242019-01-22 Hongtao Liu <hongtao.liu@intel.com> 12125 H.J. Lu <hongjiu.lu@intel.com> 12126 12127 PR target/88909 12128 * config/i386/i386-builtin.def: Add mask2 to all builtin 12129 initializations. Merge ARGS2 and SPECIAL_ARGS2 into ARGS and 12130 SPECIAL_ARGS. 12131 * config/i386/i386.c (BDESC): Add mask2 to the definition. 12132 (BDESC_FIRST): Likewise. 12133 (define_builtin): Add an argument for mask2. Updated to handle 12134 both ix86_isa_flags and ix86_isa_flags2. 12135 (define_builtin_const): Likewise. 12136 (define_builtin_pure): Likewise. 12137 (define_builtin2): Deleted. 12138 (define_builtin_const2): Likewise. 12139 (builtin_description): Add a member, mask2. 12140 (bdesc_*): Add mask2 to builtin initializations. 12141 (ix86_init_mmx_sse_builtins): Update calls to def_builtin, 12142 def_builtin_const and def_builtin_pure. Remove SPECIAL_ARGS2 12143 support. 12144 (ix86_get_builtin_func_type): Remove SPECIAL_ARGS2 support. 12145 121462019-01-22 H.J. Lu <hongjiu.lu@intel.com> 12147 12148 PR target/88954 12149 * config/i386/i386.c (ix86_force_load_from_GOT_p): Also check 12150 noplt attribute. 12151 121522019-01-22 Richard Earnshaw <rearnsha@arm.com> 12153 12154 PR target/88469 12155 * config/arm/arm.c (arm_needs_doubleword_align): Return 2 if a record's 12156 alignment is dominated by a bitfield with 64-bit aligned base type. 12157 (arm_function_arg): Emit a warning if the alignment has changed since 12158 earlier GCC releases. 12159 (arm_function_arg_boundary): Likewise. 12160 (arm_setup_incoming_varargs): Likewise. 12161 121622019-01-22 Richard Biener <rguenther@suse.de> 12163 12164 PR tree-optimization/88862 12165 * graphite-scop-detection.c 12166 (scop_detection::graphite_can_represent_scev): Reject ADDR_EXPR. 12167 121682019-01-22 Andrew Stubbs <ams@codesourcery.com> 12169 12170 * doc/extend.tex (AMD GCN Function Attributes): New section. 12171 * doc/install.texi (amdgcn-unknown-amdhsa): New instructions. 12172 * doc/invoke.texi (AMD GCN Options): New section. 12173 * doc/md.texi (Constraints for Particular Machines): Add AMD GCN. 12174 121752019-01-22 Eric Botcazou <ebotcazou@adacore.com> 12176 12177 * config/sparc/sparc.c (parc_delegitimize_address): Recognize the GOT 12178 register and decoded HIGH/LO_SUM combinations for labels in PIC mode. 12179 121802019-01-22 Jakub Jelinek <jakub@redhat.com> 12181 12182 PR tree-optimization/88044 12183 * tree-ssa-loop-niter.c (number_of_iterations_cond): If condition 12184 is false in the first iteration, but !every_iteration, return false 12185 instead of true with niter->niter zero. 12186 12187 PR rtl-optimization/88904 12188 * cfgcleanup.c (thread_jump): Verify cond2 doesn't mention 12189 any nonequal registers before processing BB_END (b). 12190 12191 PR target/88905 12192 * optabs.c (add_equal_note): Add op0_mode argument, use it instead of 12193 GET_MODE (op0). 12194 (expand_binop_directly, expand_doubleword_clz, 12195 expand_doubleword_popcount, expand_ctz, expand_ffs, 12196 expand_unop_direct, maybe_emit_unop_insn): Adjust callers. 12197 12198 PR rtl-optimization/49429 12199 PR target/49454 12200 PR rtl-optimization/86334 12201 PR target/88906 12202 * expr.c (emit_block_move_hints): Move marking of MEM_EXPRs 12203 addressable from here... 12204 (emit_block_op_via_libcall): ... to here. 12205 122062019-01-22 Richard Biener <rguenther@suse.de> 12207 12208 * tree-vect-loop.c (vect_analyze_loop_operations): Use 12209 auto_vec for cost vector to fix memleak. 12210 (vectorize_fold_left_reduction): Properly gather SLP defs. 12211 (vectorizable_comparison): Do not swap operands to properly 12212 gather SLP defs. 12213 122142019-01-22 Alan Modra <amodra@gmail.com> 12215 12216 PR target/88614 12217 * config/rs6000/predicates.md (unspec_tls): Ensure GOT reg 12218 stays a reg. Allow a const_int. 12219 * config/rs6000/rs6000-protos.h (rs6000_output_tlsargs): Declare. 12220 * config/rs6000/rs6000.h (IS_V4_FP_ARGS): Define. 12221 (IS_NOMARK_TLSGETADDR): Define. 12222 * config/rs6000/rs6000.c (edit_tls_call_insn): Delete. 12223 (rs6000_output_tlsargs): New function. 12224 (rs6000_legitimize_tls_address): Don't say a !TARGET_TLS_MARKERS 12225 __tls_get_addr call takes an arg. 12226 (rs6000_call_sysv): Generate sysv4 secure plt call pattern here.. 12227 * config/rs6000/rs6000.md (call_nonlocal_sysv): ..rather than here, 12228 delete split.. 12229 (call_value_nonlocal_sysv): ..or here, delete split. 12230 (tls_gdld_nomark): Delete. 12231 (call_value_indirect_nonlocal_sysv): Use unspec_tls as operand2 12232 predicate. Call rs6000_output_tlsargs. Adjust length to suit. 12233 (call_value_nonlocal_sysv): Likewise. 12234 (call_value_nonlocal_sysv_secure): Likewise. 12235 (call_value_nonlocal_aix): Likewise. 12236 (call_value_indirect_aix): Likewise. 12237 (call_value_indirect_elfv2): Likewise. 12238 (call_value_local32, call_value_local64): Disable for no-mark tls. 12239 (call_value_local_aix): Likewise. 12240 122412019-01-21 Uroš Bizjak <ubizjak@gmail.com> 12242 12243 PR target/88938 12244 * config/i386/i386.c (ix86_expand_builtin) [case IX86_BUILTIN_BEXTRI32, 12245 case IX86_BUILTIN_BEXTRI64]: Sanitize operands. 12246 122472019-01-21 Michael Ploujnikov <michael.ploujnikov@oracle.com> 12248 12249 * hash-map-tests.c (test_map_of_strings_to_int): Show how to use 12250 string contents as hash_map keys. 12251 122522019-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de> 12253 12254 PR c/88928 12255 * c-warn.c (check_alignment_of_packed_member): Add a boolean parameter 12256 for rvalue context. Handle rvalues correctly. Use min_align_of_type 12257 instead of TYPE_ALIGN. 12258 (check_address_or_pointer_of_packed_member): Handle rvalues coorrectly. 12259 Use min_align_of_type instead of TYPE_ALIGN_UNIT. Check for NULL 12260 pointer from TYPE_STUB_DECL. 12261 122622019-01-21 Richard Biener <rguenther@suse.de> 12263 12264 PR tree-optimization/88934 12265 * tree-vect-slp.c (vect_mask_constant_operand_p): Always look 12266 at the possibly non-constant operand. 12267 (vect_get_constant_vectors): Adjust. 12268 122692019-01-21 H.J. Lu <hongjiu.lu@intel.com> 12270 12271 PR target/71659 12272 * config/i386/adxintrin.h: Just check _IMMINTRIN_H_INCLUDED. 12273 * config/i386/clflushoptintrin.h: Check _IMMINTRIN_H_INCLUDED 12274 instead of _X86INTRIN_H_INCLUDED. 12275 * onfig/i386/clwbintrin.h: Likewise. 12276 * config/i386/pkuintrin.h: Likewise. 12277 * config/i386/prfchwintrin.h: Likewise. 12278 * config/i386/rdseedintrin.h: Likewise. 12279 * config/i386/wbnoinvdintrin.h: Likewise. 12280 * config/i386/xsavecintrin.h: Likewise. 12281 * config/i386/xsavesintrin.h: Likewise. 12282 * config/i386/fxsrintrin.h: Enable _IMMINTRIN_H_INCLUDED check. 12283 * config/i386/xsaveintrin.h: Likewise. 12284 * config/i386/xsaveoptintrin.h: Likewise. 12285 * config/i386/x86intrin.h: Move "#include" <rdseedintrin.h>, 12286 <prfchwintrin.h>, <fxsrintrin.h>, <xsaveintrin.h>, 12287 <xsaveoptintrin.h>, <adxintrin.h>, <clwbintrin.h>, 12288 <clflushoptintrin.h>, <xsavesintrin.h>, <xsavecintrin.h>, 12289 <wbnoinvdintrin.h> and <pkuintrin.h> to ... 12290 * config/i386/immintrin.h: Here. 12291 122922019-01-20 Martin Jambor <mjambor@suse.cz> 12293 12294 PR ipa/87615 12295 * ipa-prop.h (struct ipa_func_body_info): Replaced field aa_walked 12296 with aa_walk_budget. 12297 * cgraph.h (ipa_polymorphic_call_context::get_dynamic_type): Add 12298 aa_walk_budget_p parameter. 12299 * ipa-fnsummary.c (unmodified_parm_1): New parameter fbi. Limit AA 12300 walk. Updated all callers. 12301 (unmodified_parm): New parameter fbi, pass it to unmodified_parm_1. 12302 (eliminated_by_inlining_prob): New parameter fbi, pass it on to 12303 unmodified_parm. 12304 (will_be_nonconstant_expr_predicate): New parameter fbi, removed 12305 parameter info. Extract info from fbi. Pass fbi to recursive calls 12306 and to unmodified_parm. 12307 (phi_result_unknown_predicate): New parameter fbi, removed parameter 12308 info, updated call to will_be_nonconstant_expr_predicate. 12309 (param_change_prob): New parameter fbi, limit AA walking. 12310 (analyze_function_body): Initialize aa_walk_budget in fbi. Update 12311 calls to various above functions. 12312 * ipa-polymorphic-call.c (get_dynamic_type): Add aa_walk_budget_p 12313 parameter. Use it to limit AA walking. 12314 * ipa-prop.c (detect_type_change_from_memory_writes): New parameter 12315 fbi, limit AA walk. 12316 (detect_type_change): New parameter fbi, pass it on to 12317 detect_type_change_from_memory_writes. 12318 (detect_type_change_ssa): Likewise. 12319 (aa_overwalked): Removed. 12320 (parm_preserved_before_stmt_p): Assume fbi is never NULL, stream line 12321 accordingly, adjust to the neew AA limiting scheme. 12322 (parm_ref_data_preserved_p): Likewise. 12323 (ipa_compute_jump_functions_for_edge): Adjust call to 12324 get_dynamic_type. 12325 (ipa_analyze_call_uses): Likewise. 12326 (ipa_analyze_virtual_call_uses): Pass fbi to detect_type_change_ssa. 12327 (ipa_analyze_node): Initialize aa_walk_budget. 12328 (ipcp_transform_function): Likewise. 12329 * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt): Update call 12330 to get_dynamic_type. 12331 123322019-01-19 Jakub Jelinek <jakub@redhat.com> 12333 12334 * config/aarch64/aarch64.c (aarch64_stack_protect_guard): Move 12335 outside of #if CHECKING_P code. 12336 123372019-01-19 Richard Sandiford <richard.sandiford@arm.com> 12338 12339 * gimple-loop-versioning.cc (loop_versioning::dump_inner_likelihood): 12340 New function, split out from... 12341 (loop_versioning::analyze_stride): ...here. 12342 (loop_versioning::find_per_loop_multiplication): Use gassign. 12343 (loop_versioning::analyze_term_using_scevs): Return a success code. 12344 (loop_versioning::analyze_arbitrary_term): New function. 12345 (loop_versioning::analyze_address_fragment): Use 12346 analyze_arbitrary_term if all else fails. 12347 123482019-01-18 Segher Boessenkool <segher@kernel.crashing.org> 12349 12350 PR target/88892 12351 * config/rs6000/rs6000.md (*movsi_from_df): Allow only register 12352 operands. 12353 123542019-01-18 Richard Biener <rguenther@suse.de> 12355 12356 PR tree-optimization/88903 12357 * tree-vect-stmts.c (vectorizable_shift): Verify we see all 12358 scalar stmts a SLP shift amount is composed of when detecting 12359 shifts by scalars. 12360 123612019-01-18 Richard Earnshaw <rearnsha@arm.com> 12362 12363 PR target/88799 12364 * config/arm/arm-cpus.in (mp): New feature. 12365 (sec): New feature. 12366 (fgroup ARMv7ve): Add mp and sec features. 12367 (arch armv7-a): Add options to allow mp and sec extensions. 12368 (cpu generic-armv7-a): Add options to allow mp and sec extensions. 12369 (cpu cortex-a5, cpu cortex-7, cpu cortex-a9): Add mp and sec 12370 extenstions to the base architecture. 12371 (cpu cortex-a8): Add sec extension to the base architecture. 12372 (cpu marvell-pj4): Add mp and sec extensions to the base architecture. 12373 * config/arm/t-aprofile (MULTILIB_MATCHES): Map all armv7-a arch 12374 variants down to the base v7-a varaint. 12375 * config/arm/t-multilib (v7_a_arch_variants): New variable. 12376 * doc/invoke.texi (ARM Options): Add +mp and +sec to the list 12377 of permitted extensions for -march=armv7-a and for 12378 -mcpu=generic-armv7-a. 12379 123802019-01-18 Martin Liska <mliska@suse.cz> 12381 12382 * params.def: Fix comment. 12383 * tree-profile.c (gimple_init_gcov_profiler): Bump function 12384 name. 12385 (gimple_gen_ic_func_profiler): Likewise. 12386 123872019-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 12388 12389 * config/aarch64/aarch64-opts.h (enum stack_protector_guard): New 12390 * config/aarch64/aarch64.c (aarch64_override_options_internal): Handle 12391 and put in error checks for stack protector guard options. 12392 (aarch64_stack_protect_guard): New. 12393 (TARGET_STACK_PROTECT_GUARD): Define. 12394 * config/aarch64/aarch64.md (UNSPEC_SSP_SYSREG): New. 12395 (reg_stack_protect_address<mode>): New. 12396 (stack_protect_set): Adjust for SSP_GLOBAL. 12397 (stack_protect_test): Likewise. 12398 * config/aarch64/aarch64.opt (-mstack-protector-guard-reg): New. 12399 (-mstack-protector-guard): Likewise. 12400 (-mstack-protector-guard-offset): Likewise. 12401 124022019-01-18 Jakub Jelinek <jakub@redhat.com> 12403 12404 PR tree-optimization/86214 12405 * tree-inline.h (struct copy_body_data): Add 12406 add_clobbers_to_eh_landing_pads member. 12407 * tree-inline.c (add_clobbers_to_eh_landing_pad): New function. 12408 (copy_edges_for_bb): Call it if EH edge destination is < 12409 id->add_clobbers_to_eh_landing_pads. Fix a comment typo. 12410 (expand_call_inline): Set id->add_clobbers_to_eh_landing_pads 12411 if flag_stack_reuse != SR_NONE and clear it afterwards. 12412 124132019-01-18 Christophe Lyon <christophe.lyon@linaro.org> 12414 12415 PR target/85596 12416 * doc/install.texi (with-multilib-list): Document for aarch64. 12417 124182019-01-18 Jakub Jelinek <jakub@redhat.com> 12419 12420 PR target/88734 12421 * config/arm/arm_neon.h: Fix #pragma GCC target syntax - replace 12422 (("..."))) with ("..."). 12423 124242019-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de> 12425 12426 * doc/extend.texi (Built-in Functions for Memory Model Aware 12427 Atomic Operations): Document atomic fetch and nand. 12428 124292019-01-18 Martin Liska <mliska@suse.cz> 12430 Richard Biener <rguenther@suse.de> 12431 12432 PR middle-end/88587 12433 * cgraph.h (create_version_clone_with_body): Add new argument 12434 with attributes. 12435 * cgraphclones.c (cgraph_node::create_version_clone): Add 12436 DECL_ATTRIBUTES to a newly created decl. And call 12437 valid_attribute_p so that proper cl_target_optimization_node 12438 is set for the newly created declaration. 12439 * multiple_target.c (create_target_clone): Set DECL_ATTRIBUTES 12440 for declaration. 12441 (expand_target_clones): Do not call valid_attribute_p, it must 12442 be already done. 12443 * tree-inline.c (copy_decl_for_dup_finish): Reset mode for 12444 vector types. 12445 124462019-01-17 Jakub Jelinek <jakub@redhat.com> 12447 12448 PR target/88734 12449 * config/aarch64/arm_neon.h: Fix #pragma GCC target syntax - replace 12450 (("..."))) with ("..."). Use arch=armv8.2-a+sha3 instead of 12451 arch=armv8.2-a+crypto for vsha512hq_u64 etc. intrinsics. 12452 124532019-01-17 Martin Sebor <msebor@redhat.com> 12454 12455 PR middle-end/88273 12456 * gimple-ssa-warn-restrict.c (builtin_memref::extend_offset_range): 12457 Handle anti-ranges the same as no range at all. 12458 124592018-01-17 Steve Ellcey <sellcey@cavium.com> 12460 12461 * config/aarch64/aarch64.c (cgraph.h): New include. 12462 (intl.h): New include. 12463 (supported_simd_type): New function. 12464 (currently_supported_simd_type): Ditto. 12465 (aarch64_simd_clone_compute_vecsize_and_simdlen): Ditto. 12466 (aarch64_simd_clone_adjust): Ditto. 12467 (aarch64_simd_clone_usable): Ditto. 12468 (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New macro. 12469 (TARGET_SIMD_CLONE_ADJUST): Ditto. 12470 (TARGET_SIMD_CLONE_USABLE): Ditto. 12471 * config/i386/i386.c (ix86_simd_clone_adjust): Add definition check. 12472 * omp-simd-clone.c (expand_simd_clones): Add targetm.simd_clone.adjust 12473 call. 12474 124752019-01-17 Martin Sebor <msebor@redhat.com> 12476 12477 PR tree-optimization/88800 12478 * gimple-fold.c (gimple_fold_builtin_memory_op): Avoid checking 12479 NO_WARNING bit here. Avoid folding out-of-bounds calls. 12480 * gimple-ssa-warn-restrict.c (maybe_diag_offset_bounds): Remove 12481 redundant argument. Add new argument and issue diagnostics under 12482 its control. Detect out-of-bounds access even with warnings 12483 disabled. 12484 (check_bounds_or_overlap): Change return type. Add argument. 12485 (wrestrict_dom_walker::check_call): Adjust. 12486 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Add argument. 12487 * tree-ssa-strlen.c (handle_builtin_strcpy): Adjust to change in 12488 check_bounds_or_overlap's return value. 12489 (handle_builtin_stxncpy): Same. 12490 (handle_builtin_strcat): Same. 12491 124922019-01-17 Andrew Stubbs <ams@codesourcery.com> 12493 Kwok Cheung Yeung <kcy@codesourcery.com> 12494 Julian Brown <julian@codesourcery.com> 12495 Tom de Vries <tom@codesourcery.com> 12496 12497 * doc/sourcebuild.texi: Document dg-add-options sqrt_insn. 12498 124992019-01-17 Andrew Stubbs <ams@codesourcery.com> 12500 12501 * doc/sourcebuild.texi: Document dg-require-effective-target 12502 llvm_binutils and offload_gcn. 12503 125042019-01-17 Andrew Stubbs <ams@codesourcery.com> 12505 Kwok Cheung Yeung <kcy@codesourcery.com> 12506 Julian Brown <julian@codesourcery.com> 12507 Tom de Vries <tom@codesourcery.com> 12508 12509 * doc/sourcebuild.texi: Document dg-required-effective-target 12510 exceptions. 12511 125122019-01-17 Andrew Stubbs <ams@codesourcery.com> 12513 Kwok Cheung Yeung <kcy@codesourcery.com> 12514 Julian Brown <julian@codesourcery.com> 12515 Tom de Vries <tom@codesourcery.com> 12516 Jan Hubicka <hubicka@ucw.cz> 12517 Martin Jambor <mjambor@suse.cz> 12518 12519 * config.gcc: Add amdgcn*-*-amdhsa configuration. 12520 * configure.ac: Check for dlopen. 12521 * configure: Regenerate. 12522 125232019-01-17 Andrew Stubbs <ams@codesourcery.com> 12524 Kwok Cheung Yeung <kcy@codesourcery.com> 12525 Julian Brown <julian@codesourcery.com> 12526 Tom de Vries <tom@codesourcery.com> 12527 Jan Hubicka <hubicka@ucw.cz> 12528 Martin Jambor <mjambor@suse.cz> 12529 12530 * common/config/gcn/gcn-common.c: New file. 12531 * config/gcn/driver-gcn.c: New file. 12532 * config/gcn/gcn-builtins.def: New file. 12533 * config/gcn/gcn-hsa.h: New file. 12534 * config/gcn/gcn-modes.def: New file. 12535 * config/gcn/gcn-opts.h: New file. 12536 * config/gcn/gcn-passes.def: New file. 12537 * config/gcn/gcn-protos.h: New file. 12538 * config/gcn/gcn-run.c: New file. 12539 * config/gcn/gcn-tree.c: New file. 12540 * config/gcn/gcn.c: New file. 12541 * config/gcn/gcn.h: New file. 12542 * config/gcn/gcn.opt: New file. 12543 * config/gcn/t-gcn-hsa: New file. 12544 125452019-01-17 Andrew Stubbs <ams@codesourcery.com> 12546 Kwok Cheung Yeung <kcy@codesourcery.com> 12547 Julian Brown <julian@codesourcery.com> 12548 Tom de Vries <tom@codesourcery.com> 12549 Jan Hubicka <hubicka@ucw.cz> 12550 Martin Jambor <mjambor@suse.cz> 12551 12552 * config/gcn/constraints.md: New file. 12553 * config/gcn/gcn-valu.md: New file. 12554 * config/gcn/gcn.md: New file. 12555 * config/gcn/predicates.md: New file. 12556 125572019-01-17 Eric Botcazou <ebotcazou@adacore.com> 12558 12559 * gimple-ssa-isolate-paths.c (stmt_uses_name_in_undefined_way): Replace 12560 flag_non_call_exceptions with cfun->can_throw_non_call_exceptions. 12561 (stmt_uses_0_or_null_in_undefined_way): Likewise. 12562 * tree-ssa-alias.c (same_addr_size_stores_p): Likewise. 12563 125642019-01-17 Tamar Christina <tamar.christina@arm.com> 12565 12566 PR target/88851 12567 * config/aarch64/aarch64.md (STACK_CLASH_SVE_CFA_REGNUM): New. 12568 * config/aarch64/aarch64.c (aarch64_allocate_and_probe_stack_space): Use 12569 it and document registers. 12570 125712019-01-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 12572 12573 * config/aarch64/aarch64.c (ares_tunings): Define. 12574 * config/aarch64/aarch64-cores.def (ares): Use the above. 12575 125762019-01-17 Wei Xiao <wei3.xiao@intel.com> 12577 12578 PR target/88794 12579 Revert: 12580 2018-11-06 Wei Xiao <wei3.xiao@intel.com> 12581 12582 * config/i386/avx512fintrin.h: Update VFIXUPIMM* intrinsics. 12583 (_mm512_fixupimm_round_pd): Update parameters and builtin. 12584 (_mm512_maskz_fixupimm_round_pd): Ditto. 12585 (_mm512_fixupimm_round_ps): Ditto. 12586 (_mm512_maskz_fixupimm_round_ps): Ditto. 12587 (_mm_fixupimm_round_sd): Ditto. 12588 (_mm_maskz_fixupimm_round_sd): Ditto. 12589 (_mm_fixupimm_round_ss): Ditto. 12590 (_mm_maskz_fixupimm_round_ss): Ditto. 12591 (_mm512_fixupimm_pd): Ditto. 12592 (_mm512_maskz_fixupimm_pd): Ditto. 12593 (_mm512_fixupimm_ps): Ditto. 12594 (_mm512_maskz_fixupimm_ps): Ditto. 12595 (_mm_fixupimm_sd): Ditto. 12596 (_mm_maskz_fixupimm_sd): Ditto. 12597 (_mm_fixupimm_ss): Ditto. 12598 (_mm_maskz_fixupimm_ss): Ditto. 12599 (_mm512_mask_fixupimm_round_pd): Update builtin. 12600 (_mm512_mask_fixupimm_round_ps): Ditto. 12601 (_mm_mask_fixupimm_round_sd): Ditto. 12602 (_mm_mask_fixupimm_round_ss): Ditto. 12603 (_mm512_mask_fixupimm_pd): Ditto. 12604 (_mm512_mask_fixupimm_ps): Ditto. 12605 (_mm_mask_fixupimm_sd): Ditto. 12606 (_mm_mask_fixupimm_ss): Ditto. 12607 * config/i386/avx512vlintrin.h: 12608 (_mm256_fixupimm_pd): Update parameters and builtin. 12609 (_mm256_maskz_fixupimm_pd): Ditto. 12610 (_mm256_fixupimm_ps): Ditto. 12611 (_mm256_maskz_fixupimm_ps): Ditto. 12612 (_mm_fixupimm_pd): Ditto. 12613 (_mm_maskz_fixupimm_pd): Ditto. 12614 (_mm_fixupimm_ps): Ditto. 12615 (_mm_maskz_fixupimm_ps): Ditto. 12616 (_mm256_mask_fixupimm_pd): Update builtin. 12617 (_mm256_mask_fixupimm_ps): Ditto. 12618 (_mm_mask_fixupimm_pd): Ditto. 12619 (_mm_mask_fixupimm_ps): Ditto. 12620 * config/i386/i386-builtin-types.def: Add new types and remove useless ones. 12621 * config/i386/i386-builtin.def: Update builtin definitions. 12622 * config/i386/i386.c: Handle new builtin types and remove useless ones. 12623 * config/i386/sse.md: Update VFIXUPIMM* patterns. 12624 (<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update. 12625 (<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update. 12626 (<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Update. 12627 (avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update. 12628 (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update. 12629 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Update. 12630 * config/i386/subst.md: 12631 (round_saeonly_sd_mask_operand4): Add new subst_attr. 12632 (round_saeonly_sd_mask_op4): Ditto. 12633 (round_saeonly_expand_operand5): Ditto. 12634 (round_saeonly_expand): Update. 12635 126362019-01-17 Wei Xiao <wei3.xiao@intel.com> 12637 12638 PR target/88794 12639 Revert: 12640 2018-11-12 Wei Xiao <wei3.xiao@intel.com> 12641 12642 * config/i386/sse.md: Combine VFIXUPIMM* patterns 12643 (<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update. 12644 (<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update. 12645 (<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Remove. 12646 (avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update. 12647 (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update. 12648 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Remove. 12649 126502019-01-17 Wei Xiao <wei3.xiao@intel.com> 12651 12652 PR target/88794 12653 Revert: 12654 2018-12-15 Jakub Jelinek <jakub@redhat.com> 12655 12656 PR target/88489 12657 * config/i386/sse.md (UNSPEC_SFIXUPIMM): New unspec enumerator. 12658 (avx512f_sfixupimm<mode><mask_name><round_saeonly_name>): Use it 12659 instead of UNSPEC_FIXUPIMM. 12660 126612019-01-17 Richard Biener <rguenther@suse.de> 12662 12663 PR lto/86736 12664 * dwarf2out.c (want_pubnames): Never generate pubnames sections 12665 and friends for the LTO part of debug info. 12666 126672019-01-17 Jakub Jelinek <jakub@redhat.com> 12668 12669 PR tree-optimization/86214 12670 * cfgexpand.c (add_stack_var_conflict): Don't add any conflicts 12671 if x == y. 12672 12673 PR rtl-optimization/88870 12674 * dce.c (deletable_insn_p): Never delete const/pure calls that can 12675 throw if we can't alter the cfg or delete dead exceptions. 12676 (mark_insn): Don't call find_call_stack_args for such calls. 12677 126782019-01-17 Kewen Lin <linkw@gcc.gnu.org> 12679 12680 * doc/extend.texi: Add four new prototypes for vec_ld and seven new 12681 prototypes for vec_st. 12682 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add entries 12683 for scalar address type variants of altivec_vec_ld/altivec_vec_st, 12684 mainly on signed/unsigned long long and double. 12685 126862019-01-16 David Malcolm <dmalcolm@redhat.com> 12687 12688 PR target/88861 12689 * combine.c (delete_noop_moves): Convert to "bool" return, 12690 returning true if any edges are eliminated. 12691 (combine_instructions): Also return true if delete_noop_moves 12692 returns true. 12693 126942019-01-16 Tamar Christina <tamar.christina@arm.com> 12695 12696 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Use 12697 correct max nunits for endian swap. 12698 (aarch64_expand_fcmla_builtin): Correct subreg code. 12699 * config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>, 12700 aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>): Correct 12701 lane endianness. 12702 127032019-01-16 Uroš Bizjak <ubizjak@gmail.com> 12704 12705 * config/alpha/alpha.c (alpha_gimplify_va_arg): 12706 Handle split indirect COMPLEX_TYPE arguments. 12707 127082019-01-16 Richard Earnshaw <rearnsha@arm.com> 12709 12710 PR target/86891 12711 * config/aarch64/aarch64-modes.def: Add comment about how the carry 12712 bit is set by add and compare. 12713 (CC_ADC): New CC_MODE. 12714 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Use variables 12715 to cache the code and mode of X. Adjust the shape of a CC_Cmode 12716 comparison. Add detection for CC_ADCmode. 12717 (aarch64_get_condition_code_1): Update code support for CC_Cmode. Add 12718 CC_ADCmode. 12719 * config/aarch64/aarch64.md (uaddv<mode>4): Use LTU with CCmode. 12720 (uaddvti4): Comparison result is in CC_ADCmode and the condition is GEU. 12721 (add<mode>3_compareC_cconly_imm): Delete. Merge into... 12722 (add<mode>3_compareC_cconly): ... this. Restructure the comparison 12723 to eliminate the need for zero-extending the operands. 12724 (add<mode>3_compareC_imm): Delete. Merge into ... 12725 (add<mode>3_compareC): ... this. Restructure the comparison to 12726 eliminate the need for zero-extending the operands. 12727 (add<mode>3_carryin): Use LTU for the overflow detection. 12728 (add<mode>3_carryinC): Use CC_ADCmode for the result of the carry out. 12729 Reexpress comparison for overflow. 12730 (add<mode>3_carryinC_zero): Update for change to add<mode>3_carryinC. 12731 (add<mode>3_carryinC): Likewise. 12732 (add<mode>3_carryinV): Use LTU for carry between partials. 12733 * config/aarch64/predicates.md (aarch64_carry_operation): Update 12734 handling of CC_Cmode and add CC_ADCmode. 12735 (aarch64_borrow_operation): Likewise. 12736 127372019-01-16 Tamar Christina <tamar.christina@arm.com> 12738 12739 * config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): Remove patternmode. 12740 * config/arm/arm.c (neon_vcmla_lane_prepare_operands): Likewise. 12741 * config/arm/neon.md (neon_vcmla_lane<rot><mode>, neon_vcmla_laneq<rot><mode>, 12742 neon_vcmlaq_lane<rot><mode>): Remove endianness conversion. 12743 127442019-01-16 Martin Liska <mliska@suse.cz> 12745 12746 * Makefile.in: Set TOOL_INCLUDE_DIR and NATIVE_SYSTEM_HEADER_DIR 12747 for GCC driver. 12748 * config/gnu-user.h (TARGET_F951_OPTIONS): Add 'finclude%s/' as 12749 a new argument. 12750 * gcc.c (add_sysrooted_hdrs_prefix): New function. 12751 (path_prefix_reset): Move up in the source file. 12752 (find_fortran_preinclude_file): Make complex search for the 12753 fortran header files. 12754 127552019-01-15 Nikhil Benesch <nikhil.benesch@gmail.com> 12756 12757 * godump.c (go_output_typedef): When outputting a typedef, refer 12758 to the underlying type by its name and not its structure. 12759 127602019-01-15 David Malcolm <dmalcolm@redhat.com> 12761 12762 PR c++/88795 12763 * tree.c (build_function_type): Assert that arg_types is not 12764 error_mark_node. 12765 127662019-01-15 Richard Sandiford <richard.sandiford@arm.com> 12767 12768 PR inline-asm/52813 12769 * doc/extend.texi: Document that listing the stack pointer in the 12770 clobber list of an asm is a deprecated feature. 12771 * common.opt (Wdeprecated): Moved from c-family/c.opt. 12772 * cfgexpand.c (asm_clobber_reg_is_valid): Issue a -Wdeprecated 12773 warning instead of an error for clobbers of the stack pointer. 12774 Add a note explaining why. 12775 127762019-01-15 Richard Biener <rguenther@suse.de> 12777 12778 PR debug/88046 12779 * dwarf2out.c (gen_member_die): Do not generate inheritance 12780 DIEs late. 12781 127822019-01-15 Richard Biener <rguenther@suse.de> 12783 12784 PR tree-optimization/88855 12785 * tree-if-conv.c (combine_blocks): Collect 12786 SSA_NAME_OCCURS_IN_ABNORMAL_PHI from propagated out virtuals. 12787 127882019-01-15 Tom de Vries <tdevries@suse.de> 12789 12790 PR target/80547 12791 * config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Handle 12792 lhs == NULL_TREE for gang-level reduction. 12793 127942019-01-15 Richard Biener <rguenther@suse.de> 12795 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 12796 12797 PR ipa/88788 12798 * ipa-pure-const.c (malloc_candidate_p_1): Add parameter visited and 12799 return true if SSA_NAME is already marked in visited bitmap. 12800 (malloc_candidate_p): Pass visited to malloc_candidate_p_1. 12801 128022019-01-15 Jakub Jelinek <jakub@redhat.com> 12803 12804 PR tree-optimization/88775 12805 * match.pd (cmp (convert1?@2 addr@0) (convert2? addr@1)): Optimize 12806 equal == 0 equality pointer comparisons some more if compared in 12807 integral types and either one points to an automatic var and the 12808 other to a global, or we can prove at least one points to the middle 12809 or both point to start or both point to end. 12810 128112019-01-14 Andi Kleen <ak@linux.intel.com> 12812 12813 * Makefile.in: Lower autofdo sampling rate by 10x. 12814 * Makefile.tpl: Dito. 12815 128162019-01-14 Tom Honermann <tom@honermann.net> 12817 12818 * defaults.h: Define CHAR8_TYPE. 12819 128202019-01-14 Martin Sebor <msebor@redhat.com> 12821 12822 PR target/88638 12823 * doc/extend.texi (Darwin Format Checks): Clarify. 12824 128252019-01-14 Richard Biener <rguenther@suse.de> 12826 12827 * genmatch.c (dt_simplify::gen_1): Change dumping dependent on 12828 whether we are in (simplify ...) or (match ...) context. 12829 128302019-01-14 Jakub Jelinek <jakub@redhat.com> 12831 12832 PR rtl-optimization/88796 12833 * emit-rtl.h (struct rtl_data): Add stack_protect_guard_decl field. 12834 * cfgexpand.c (stack_protect_prologue): Initialize 12835 crtl->stack_protect_guard_decl. 12836 * function.c (stack_protect_epilogue): Use it instead of calling 12837 targetm.stack_protect_guard again. 12838 * dse.c (check_mem_read_rtx): Ignore MEM_VOLATILE_P reads from 12839 MEMs with MEM_EXPR equal to crtl->stack_protect_guard or 12840 crtl->stack_protect_guard_decl. 12841 * config/i386/i386.c (ix86_stack_protect_guard): Set TREE_THIS_VOLATILE 12842 on the returned MEM_EXPR. 12843 128442019-01-12 Tom de Vries <tdevries@suse.de> 12845 12846 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Alow setting 12847 vector length using -fopenacc-dim. 12848 128492019-01-12 Tom de Vries <tdevries@suse.de> 12850 12851 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Take larger vector 12852 lengths into account. 12853 128542019-01-12 Svante Signell <svante.signell@gmail.com> 12855 12856 * config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define. 12857 (TARGET_CAN_SPLIT_STACK): Define. 12858 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define. 12859 128602019-01-05 Jan Hubicka <hubicka@ucw.cz> 12861 12862 * params.def (inline-unit-growth): Set to 40. 12863 128642019-01-12 Jakub Jelinek <jakub@redhat.com> 12865 12866 * tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo. 12867 128682019-01-12 Tom de Vries <tdevries@suse.de> 12869 12870 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): In offloading 12871 region calling vector-partitionable routine, set default_vector_length 12872 to WARP_SIZE. 12873 128742019-01-12 Tom de Vries <tdevries@suse.de> 12875 12876 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add an use new 12877 variable default_vector_length. 12878 128792019-01-12 Tom de Vries <tdevries@suse.de> 12880 12881 PR middle-end/88703 12882 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Apply defaults 12883 from oacc_default_dims, as oacc_validate_dims would do it, and apply 12884 dimensions limits. 12885 128862019-01-12 Tom de Vries <tdevries@suse.de> 12887 12888 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1) 12889 (nvptx_goacc_validate_dims): Add used parameter. 12890 * doc/tm.texi: Regenerate. 12891 * omp-offload.c (oacc_parse_default_dims, oacc_validate_dims): Add 12892 argument to call to targetm.goacc.validate_dims. 12893 (default_goacc_validate_dims): Add used 12894 parameter. 12895 * target.def (validate_dims): Add used parameter in DEFHOOK. 12896 * targhooks.h (default_goacc_validate_dims): Add used parameter. 12897 128982019-01-11 Jakub Jelinek <jakub@redhat.com> 12899 12900 PR middle-end/85956 12901 PR lto/88733 12902 * tree-inline.h (struct copy_body_data): Add adjust_array_error_bounds 12903 field. 12904 * tree-inline.c (remap_type_1): Formatting fix. If TYPE_MAX_VALUE of 12905 ARRAY_TYPE's TYPE_DOMAIN is newly error_mark_node, replace it with 12906 a dummy "omp dummy var" variable if id->adjust_array_error_bounds. 12907 * omp-low.c (new_omp_context): Set cb.adjust_array_error_bounds. 12908 129092019-01-11 Vladimir Makarov <vmakarov@redhat.com> 12910 12911 PR rtl-optimization/87305 12912 * lra-assigns.c 12913 (setup_live_pseudos_and_spill_after_risky_transforms): Add code 12914 for little endian pseudos used as paradoxical subreg. 12915 129162019-01-11 Jakub Jelinek <jakub@redhat.com> 12917 12918 PR tree-optimization/88693 12919 * tree-ssa-strlen.c (get_min_string_length): Don't set *full_string_p 12920 for STRING_CSTs that don't contain any NUL characters in the first 12921 TREE_STRING_LENGTH bytes. 12922 129232019-01-11 Alan Modra <amodra@gmail.com> 12924 12925 PR 88777 12926 PR 88614 12927 * genattrtab.c (min_fn): Don't translate values. 12928 (min_attr_value): Return INT_MAX when the value can't be calculated. 12929 Return minimum among any values that can be calculated. 12930 (max_attr_value): Adjust. 12931 129322019-01-11 Jakub Jelinek <jakub@redhat.com> 12933 12934 * Makefile.in (PLUGIN_HEADERS): Add $(INSN_ATTR_H). 12935 129362019-01-11 Steve Ellcey <sellcey@marvell.com> 12937 12938 * config/aarch64/aarch64.c (aarch64_simd_call_p): New function. 12939 (aarch64_hard_regno_call_part_clobbered): Add insn argument. 12940 (aarch64_return_call_with_max_clobbers): New function. 12941 (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New macro. 12942 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Add insn 12943 argument. 12944 * config/i386/i386.c (ix86_hard_regno_call_part_clobbered): Ditto. 12945 * config/mips/mips.c (mips_hard_regno_call_part_clobbered): Ditto. 12946 * config/rs6000/rs6000.c (rs6000_hard_regno_call_part_clobbered): Ditto. 12947 * config/s390/s390.c (s390_hard_regno_call_part_clobbered): Ditto. 12948 * cselib.c (cselib_process_insn): Add argument to 12949 targetm.hard_regno_call_part_clobbered call. 12950 * ira-conflicts.c (ira_build_conflicts): Ditto. 12951 * ira-costs.c (ira_tune_allocno_costs): Ditto. 12952 * lra-constraints.c (inherit_reload_reg): Ditto. 12953 * lra-int.h (struct lra_reg): Add call_insn field, remove call_p field. 12954 * lra-lives.c (check_pseudos_live_through_calls): Add call_insn 12955 argument. Call targetm.return_call_with_max_clobbers. 12956 Add argument to targetm.hard_regno_call_part_clobbered call. 12957 (calls_have_same_clobbers_p): New function. 12958 (process_bb_lives): Add call_insn and last_call_insn variables. 12959 Pass call_insn to check_pseudos_live_through_calls. 12960 Modify if stmt to check targetm.return_call_with_max_clobbers. 12961 Update setting of flush variable. 12962 (lra_create_live_ranges_1): Set call_insn to NULL instead of call_p 12963 to false. 12964 * lra.c (initialize_lra_reg_info_element): Set call_insn to NULL. 12965 * regcprop.c (copyprop_hardreg_forward_1): Add argument to 12966 targetm.hard_regno_call_part_clobbered call. 12967 * reginfo.c (choose_hard_reg_mode): Ditto. 12968 * regrename.c (check_new_reg_p): Ditto. 12969 * reload.c (find_equiv_reg): Ditto. 12970 * reload1.c (emit_reload_insns): Ditto. 12971 * sched-deps.c (deps_analyze_insn): Ditto. 12972 * sel-sched.c (init_regs_for_mode): Ditto. 12973 (mark_unavailable_hard_regs): Ditto. 12974 * targhooks.c (default_dwarf_frame_reg_mode): Ditto. 12975 * target.def (hard_regno_call_part_clobbered): Add insn argument. 12976 (return_call_with_max_clobbers): New target function. 12977 * doc/tm.texi: Regenerate. 12978 * doc/tm.texi.in (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New hook. 12979 * hooks.c (hook_bool_uint_mode_false): Change to 12980 hook_bool_insn_uint_mode_false. 12981 * hooks.h (hook_bool_uint_mode_false): Ditto. 12982 129832019-01-11 Steve Ellcey <sellcey@marvell.com> 12984 12985 * config/aarch64/aarch64.c (aarch64_simd_call_p): New function. 12986 (aarch64_remove_extra_call_preserved_regs): New function. 12987 (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New macro. 12988 * doc/tm.texi.in (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New hook. 12989 * doc/tm.texi: Regenerate. 12990 * final.c (get_call_reg_set_usage): Call new hook. 12991 * target.def (remove_extra_call_preserved_regs): New hook. 12992 * targhooks.c (default_remove_extra_call_preserved_regs): New function. 12993 * targhooks.h (default_remove_extra_call_preserved_regs): New function. 12994 129952019-01-11 Jakub Jelinek <jakub@redhat.com> 12996 12997 PR bootstrap/88714 12998 * passes.c (finish_optimization_passes): Call print_combine_total_stats 12999 inside of pass_combine_1 dump rather than pass_profile_1. 13000 130012019-01-11 Tom de Vries <tdevries@suse.de> 13002 13003 * config/nvptx/nvptx.c (PTX_CTA_NUM_BARRIERS, PTX_PER_CTA_BARRIER) 13004 (PTX_NUM_PER_CTA_BARRIER, PTX_FIRST_PER_WORKER_BARRIER) 13005 (PTX_NUM_PER_WORKER_BARRIERS): Define. 13006 (nvptx_apply_dim_limits): Prevent vector_length 64 and 13007 num_workers 16. 13008 130092019-01-11 Tom de Vries <tdevries@suse.de> 13010 13011 * config/nvptx/nvptx.c (PTX_CTA_SIZE): Move up. 13012 130132019-01-11 Jan Beulich <jbeulich@suse.com> 13014 13015 * config/i386/i386.md (rex64suffix): Add L suffix for SI. 13016 * config/i386/sse.md (cvtusi2<ssescalarmodesuffix>32<round_name>, 13017 sse2_cvtsi2sd): Add {l}. 13018 (sse2_cvtsi2sdq<round_name>): Make q conditional upon AT&T 13019 syntax. 13020 130212019-01-10 Jakub Jelinek <jakub@redhat.com> 13022 13023 PR target/88785 13024 * config/i386/sse.md (float<floatunssuffix>v2div2sf2): Turn into 13025 define_expand. 13026 (*float<floatunssuffix>v2div2sf2): New define_insn. 13027 (float<floatunssuffix>v2div2sf2_mask): Turn into define_expand. 13028 (*float<floatunssuffix>v2div2sf2_mask): New define_insn. 13029 (*float<floatunssuffix>v2div2sf2_mask_1): Replace 13030 subrtxes (const_vector:V2SF [(const_int 0) (const_int 0)]) with 13031 match_operands with "const0_operand" "C". 13032 130332019-01-10 Tamar Christina <tamar.christina@arm.com> 13034 13035 * config/aarch64/aarch64-builtins.c 13036 (aarch64_init_builtins): Move aarch64_init_fcmla_laneq_builtins... 13037 (aarch64_init_simd_builtins): ...Here 13038 130392019-01-10 Vladimir Makarov <vmakarov@redhat.com> 13040 13041 PR rtl-optimization/87305 13042 * lra-assigns.c 13043 (setup_live_pseudos_and_spill_after_risky_transforms): Check 13044 allocation for big endian pseudos used as paradoxical subregs and 13045 spill them if it is wrong. 13046 * lra-constraints.c (lra_constraints): Add a comment. 13047 130482019-01-10 Richard Biener <rguenther@suse.de> 13049 13050 PR tree-optimization/88792 13051 * tree-ssa-pre.c (get_representative_for): Do not return a 13052 value-number here. 13053 130542019-01-10 Jakub Jelinek <jakub@redhat.com> 13055 13056 PR middle-end/84877 13057 PR bootstrap/88450 13058 * function.c (assign_stack_local_1): Revert the 2018-11-21 changes. 13059 (assign_parm_setup_block): Do the argument slot realignment here 13060 instead. 13061 130622019-01-10 Stefan Agner <stefan@agner.ch> 13063 13064 PR target/88648 13065 * config/arm/arm.c (arm_option_override_internal): Force 13066 opts->x_inline_asm_unified to true only if TARGET_THUMB2_P. 13067 130682019-01-10 Jakub Jelinek <jakub@redhat.com> 13069 13070 PR c/88568 13071 * attribs.c (handle_dll_attribute): Clear TREE_STATIC after setting 13072 DECL_EXTERNAL. 13073 130742019-01-10 Tamar Christina <tamar.christina@arm.com> 13075 13076 * config/arm/arm-builtins.c 13077 (enum arm_type_qualifiers): Add qualifier_lane_pair_index. 13078 (MAC_LANE_PAIR_QUALIFIERS): New. 13079 (arm_expand_builtin_args): Use it. 13080 (arm_expand_builtin_1): Likewise. 13081 * config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): New. 13082 * config/arm/arm.c (neon_vcmla_lane_prepare_operands): New. 13083 * config/arm/arm-c.c (arm_cpu_builtins): Add __ARM_FEATURE_COMPLEX. 13084 * config/arm/arm_neon.h: 13085 (vcadd_rot90_f16): New. 13086 (vcaddq_rot90_f16): New. 13087 (vcadd_rot270_f16): New. 13088 (vcaddq_rot270_f16): New. 13089 (vcmla_f16): New. 13090 (vcmlaq_f16): New. 13091 (vcmla_lane_f16): New. 13092 (vcmla_laneq_f16): New. 13093 (vcmlaq_lane_f16): New. 13094 (vcmlaq_laneq_f16): New. 13095 (vcmla_rot90_f16): New. 13096 (vcmlaq_rot90_f16): New. 13097 (vcmla_rot90_lane_f16): New. 13098 (vcmla_rot90_laneq_f16): New. 13099 (vcmlaq_rot90_lane_f16): New. 13100 (vcmlaq_rot90_laneq_f16): New. 13101 (vcmla_rot180_f16): New. 13102 (vcmlaq_rot180_f16): New. 13103 (vcmla_rot180_lane_f16): New. 13104 (vcmla_rot180_laneq_f16): New. 13105 (vcmlaq_rot180_lane_f16): New. 13106 (vcmlaq_rot180_laneq_f16): New. 13107 (vcmla_rot270_f16): New. 13108 (vcmlaq_rot270_f16): New. 13109 (vcmla_rot270_lane_f16): New. 13110 (vcmla_rot270_laneq_f16): New. 13111 (vcmlaq_rot270_lane_f16): New. 13112 (vcmlaq_rot270_laneq_f16): New. 13113 (vcadd_rot90_f32): New. 13114 (vcaddq_rot90_f32): New. 13115 (vcadd_rot270_f32): New. 13116 (vcaddq_rot270_f32): New. 13117 (vcmla_f32): New. 13118 (vcmlaq_f32): New. 13119 (vcmla_lane_f32): New. 13120 (vcmla_laneq_f32): New. 13121 (vcmlaq_lane_f32): New. 13122 (vcmlaq_laneq_f32): New. 13123 (vcmla_rot90_f32): New. 13124 (vcmlaq_rot90_f32): New. 13125 (vcmla_rot90_lane_f32): New. 13126 (vcmla_rot90_laneq_f32): New. 13127 (vcmlaq_rot90_lane_f32): New. 13128 (vcmlaq_rot90_laneq_f32): New. 13129 (vcmla_rot180_f32): New. 13130 (vcmlaq_rot180_f32): New. 13131 (vcmla_rot180_lane_f32): New. 13132 (vcmla_rot180_laneq_f32): New. 13133 (vcmlaq_rot180_lane_f32): New. 13134 (vcmlaq_rot180_laneq_f32): New. 13135 (vcmla_rot270_f32): New. 13136 (vcmlaq_rot270_f32): New. 13137 (vcmla_rot270_lane_f32): New. 13138 (vcmla_rot270_laneq_f32): New. 13139 (vcmlaq_rot270_lane_f32): New. 13140 (vcmlaq_rot270_laneq_f32): New. 13141 * config/arm/arm_neon_builtins.def (vcadd90, vcadd270, vcmla0, vcmla90, 13142 vcmla180, vcmla270, vcmla_lane0, vcmla_lane90, vcmla_lane180, 13143 vcmla_lane270, vcmla_laneq0, vcmla_laneq90, vcmla_laneq180, 13144 vcmla_laneq270, vcmlaq_lane0, vcmlaq_lane90, vcmlaq_lane180, 13145 vcmlaq_lane270): New. 13146 * config/arm/neon.md (neon_vcmla_lane<rot><mode>, 13147 neon_vcmla_laneq<rot><mode>, neon_vcmlaq_lane<rot><mode>): New. 13148 * config/arm/arm.c (arm_arch8_3, arm_arch8_4): New. 13149 * config/arm/arm.h (TARGET_COMPLEX, arm_arch8_3, arm_arch8_4): New. 13150 (arm_option_reconfigure_globals): Use them. 13151 * config/arm/iterators.md (VDF, VQ_HSF): New. 13152 (VCADD, VCMLA): New. 13153 (VF_constraint, rot, rotsplit1, rotsplit2): Add V4HF and V8HF. 13154 * config/arm/neon.md (neon_vcadd<rot><mode>, neon_vcmla<rot><mode>): 13155 New. 13156 * config/arm/unspecs.md (UNSPEC_VCADD90, UNSPEC_VCADD270, 13157 UNSPEC_VCMLA, UNSPEC_VCMLA90, UNSPEC_VCMLA180, UNSPEC_VCMLA270): New. 13158 131592019-01-10 Tamar Christina <tamar.christina@arm.com> 13160 13161 * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers): 13162 Add qualifier_lane_pair_index. 13163 (emit-rtl.h): Include. 13164 (TYPES_QUADOP_LANE_PAIR): New. 13165 (aarch64_simd_expand_args): Use it. 13166 (aarch64_simd_expand_builtin): Likewise. 13167 (AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_laneq_builtin_datum): 13168 New. 13169 (FCMLA_LANEQ_BUILTIN, AARCH64_SIMD_FCMLA_LANEQ_BUILTIN_BASE, 13170 AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_lane_builtin_data, 13171 aarch64_init_fcmla_laneq_builtins, aarch64_expand_fcmla_builtin): New. 13172 (aarch64_init_builtins): Add aarch64_init_fcmla_laneq_builtins. 13173 (aarch64_expand_buildin): Add AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V2SF, 13174 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V2SF, 13175 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V2SF, 13176 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ2700_V2SF, 13177 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V4HF, 13178 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V4HF, 13179 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V4HF, 13180 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ270_V4HF. 13181 * config/aarch64/iterators.md (FCMLA_maybe_lane): New. 13182 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): 13183 Add __ARM_FEATURE_COMPLEX. 13184 * config/aarch64/aarch64-simd-builtins.def (fcadd90, fcadd270, fcmla0, 13185 fcmla90, fcmla180, fcmla270, fcmla_lane0, fcmla_lane90, fcmla_lane180, 13186 fcmla_lane270, fcmla_laneq0, fcmla_laneq90, fcmla_laneq180, 13187 fcmla_laneq270, fcmlaq_lane0, fcmlaq_lane90, fcmlaq_lane180, 13188 fcmlaq_lane270): New. 13189 * config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>, 13190 aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>, 13191 aarch64_fcadd<rot><mode>, aarch64_fcmla<rot><mode>): New. 13192 * config/aarch64/arm_neon.h: 13193 (vcadd_rot90_f16): New. 13194 (vcaddq_rot90_f16): New. 13195 (vcadd_rot270_f16): New. 13196 (vcaddq_rot270_f16): New. 13197 (vcmla_f16): New. 13198 (vcmlaq_f16): New. 13199 (vcmla_lane_f16): New. 13200 (vcmla_laneq_f16): New. 13201 (vcmlaq_lane_f16): New. 13202 (vcmlaq_rot90_lane_f16): New. 13203 (vcmla_rot90_laneq_f16): New. 13204 (vcmla_rot90_lane_f16): New. 13205 (vcmlaq_rot90_f16): New. 13206 (vcmla_rot90_f16): New. 13207 (vcmlaq_laneq_f16): New. 13208 (vcmla_rot180_laneq_f16): New. 13209 (vcmla_rot180_lane_f16): New. 13210 (vcmlaq_rot180_f16): New. 13211 (vcmla_rot180_f16): New. 13212 (vcmlaq_rot90_laneq_f16): New. 13213 (vcmlaq_rot270_laneq_f16): New. 13214 (vcmlaq_rot270_lane_f16): New. 13215 (vcmla_rot270_laneq_f16): New. 13216 (vcmlaq_rot270_f16): New. 13217 (vcmla_rot270_f16): New. 13218 (vcmlaq_rot180_laneq_f16): New. 13219 (vcmlaq_rot180_lane_f16): New. 13220 (vcmla_rot270_lane_f16): New. 13221 (vcadd_rot90_f32): New. 13222 (vcaddq_rot90_f32): New. 13223 (vcaddq_rot90_f64): New. 13224 (vcadd_rot270_f32): New. 13225 (vcaddq_rot270_f32): New. 13226 (vcaddq_rot270_f64): New. 13227 (vcmla_f32): New. 13228 (vcmlaq_f32): New. 13229 (vcmlaq_f64): New. 13230 (vcmla_lane_f32): New. 13231 (vcmla_laneq_f32): New. 13232 (vcmlaq_lane_f32): New. 13233 (vcmlaq_laneq_f32): New. 13234 (vcmla_rot90_f32): New. 13235 (vcmlaq_rot90_f32): New. 13236 (vcmlaq_rot90_f64): New. 13237 (vcmla_rot90_lane_f32): New. 13238 (vcmla_rot90_laneq_f32): New. 13239 (vcmlaq_rot90_lane_f32): New. 13240 (vcmlaq_rot90_laneq_f32): New. 13241 (vcmla_rot180_f32): New. 13242 (vcmlaq_rot180_f32): New. 13243 (vcmlaq_rot180_f64): New. 13244 (vcmla_rot180_lane_f32): New. 13245 (vcmla_rot180_laneq_f32): New. 13246 (vcmlaq_rot180_lane_f32): New. 13247 (vcmlaq_rot180_laneq_f32): New. 13248 (vcmla_rot270_f32): New. 13249 (vcmlaq_rot270_f32): New. 13250 (vcmlaq_rot270_f64): New. 13251 (vcmla_rot270_lane_f32): New. 13252 (vcmla_rot270_laneq_f32): New. 13253 (vcmlaq_rot270_lane_f32): New. 13254 (vcmlaq_rot270_laneq_f32): New. 13255 * config/aarch64/aarch64.h (TARGET_COMPLEX): New. 13256 * config/aarch64/iterators.md (UNSPEC_FCADD90, UNSPEC_FCADD270, 13257 UNSPEC_FCMLA, UNSPEC_FCMLA90, UNSPEC_FCMLA180, UNSPEC_FCMLA270): New. 13258 (FCADD, FCMLA): New. 13259 (rot): New. 13260 * config/arm/types.md (neon_fcadd, neon_fcmla): New. 13261 132622019-01-09 Sandra Loosemore <sandra@codesourcery.com> 13263 13264 PR other/16615 13265 13266 * config/pa/pa.c: Change "can not" to "cannot". 13267 * gimple-ssa-evrp-analyze.c: Likewise. 13268 * ipa-icf.c: Likewise. 13269 * ipa-polymorphic-call.c: Likewise. 13270 * ipa-pure-const.c: Likewise. 13271 * lra-constraints.c: Likewise. 13272 * lra-remat.c: Likewise. 13273 * reload1.c: Likewise. 13274 * reorg.c: Likewise. 13275 * tree-ssa-uninit.c: Likewise. 13276 132772019-01-09 Sandra Loosemore <sandra@codesourcery.com> 13278 13279 PR other/16615 13280 13281 * Makefile.in: Mechanically replace "can not" with "cannot". 13282 * alias.c: Likewise. 13283 * builtins.c: Likewise. 13284 * calls.c: Likewise. 13285 * cgraph.c: Likewise. 13286 * cgraph.h: Likewise. 13287 * cgraphclones.c: Likewise. 13288 * cgraphunit.c: Likewise. 13289 * combine-stack-adj.c: Likewise. 13290 * combine.c: Likewise. 13291 * common/config/i386/i386-common.c: Likewise. 13292 * config/aarch64/aarch64.c: Likewise. 13293 * config/alpha/sync.md: Likewise. 13294 * config/arc/arc.c: Likewise. 13295 * config/arc/predicates.md: Likewise. 13296 * config/arm/arm-c.c: Likewise. 13297 * config/arm/arm.c: Likewise. 13298 * config/arm/arm.h: Likewise. 13299 * config/arm/arm.md: Likewise. 13300 * config/arm/cortex-r4f.md: Likewise. 13301 * config/csky/csky.c: Likewise. 13302 * config/csky/csky.h: Likewise. 13303 * config/darwin-f.c: Likewise. 13304 * config/epiphany/epiphany.md: Likewise. 13305 * config/i386/i386.c: Likewise. 13306 * config/i386/sol2.h: Likewise. 13307 * config/m68k/m68k.c: Likewise. 13308 * config/mcore/mcore.h: Likewise. 13309 * config/microblaze/microblaze.md: Likewise. 13310 * config/mips/20kc.md: Likewise. 13311 * config/mips/sb1.md: Likewise. 13312 * config/nds32/nds32.c: Likewise. 13313 * config/nds32/predicates.md: Likewise. 13314 * config/pa/pa.c: Likewise. 13315 * config/rs6000/e300c2c3.md: Likewise. 13316 * config/rs6000/rs6000.c: Likewise. 13317 * config/s390/s390.h: Likewise. 13318 * config/sh/sh.c: Likewise. 13319 * config/sh/sh.md: Likewise. 13320 * config/spu/vmx2spu.h: Likewise. 13321 * cprop.c: Likewise. 13322 * dbxout.c: Likewise. 13323 * df-scan.c: Likewise. 13324 * doc/cfg.texi: Likewise. 13325 * doc/extend.texi: Likewise. 13326 * doc/fragments.texi: Likewise. 13327 * doc/gty.texi: Likewise. 13328 * doc/invoke.texi: Likewise. 13329 * doc/lto.texi: Likewise. 13330 * doc/md.texi: Likewise. 13331 * doc/objc.texi: Likewise. 13332 * doc/rtl.texi: Likewise. 13333 * doc/tm.texi: Likewise. 13334 * dse.c: Likewise. 13335 * emit-rtl.c: Likewise. 13336 * emit-rtl.h: Likewise. 13337 * except.c: Likewise. 13338 * expmed.c: Likewise. 13339 * expr.c: Likewise. 13340 * fold-const.c: Likewise. 13341 * genautomata.c: Likewise. 13342 * gimple-fold.c: Likewise. 13343 * hard-reg-set.h: Likewise. 13344 * ifcvt.c: Likewise. 13345 * ipa-comdats.c: Likewise. 13346 * ipa-cp.c: Likewise. 13347 * ipa-devirt.c: Likewise. 13348 * ipa-fnsummary.c: Likewise. 13349 * ipa-icf.c: Likewise. 13350 * ipa-inline-transform.c: Likewise. 13351 * ipa-inline.c: Likewise. 13352 * ipa-polymorphic-call.c: Likewise. 13353 * ipa-profile.c: Likewise. 13354 * ipa-prop.c: Likewise. 13355 * ipa-pure-const.c: Likewise. 13356 * ipa-reference.c: Likewise. 13357 * ipa-split.c: Likewise. 13358 * ipa-visibility.c: Likewise. 13359 * ipa.c: Likewise. 13360 * ira-build.c: Likewise. 13361 * ira-color.c: Likewise. 13362 * ira-conflicts.c: Likewise. 13363 * ira-costs.c: Likewise. 13364 * ira-int.h: Likewise. 13365 * ira-lives.c: Likewise. 13366 * ira.c: Likewise. 13367 * ira.h: Likewise. 13368 * loop-invariant.c: Likewise. 13369 * loop-unroll.c: Likewise. 13370 * lower-subreg.c: Likewise. 13371 * lra-assigns.c: Likewise. 13372 * lra-constraints.c: Likewise. 13373 * lra-eliminations.c: Likewise. 13374 * lra-lives.c: Likewise. 13375 * lra-remat.c: Likewise. 13376 * lra-spills.c: Likewise. 13377 * lra.c: Likewise. 13378 * lto-cgraph.c: Likewise. 13379 * lto-streamer-out.c: Likewise. 13380 * postreload-gcse.c: Likewise. 13381 * predict.c: Likewise. 13382 * profile-count.h: Likewise. 13383 * profile.c: Likewise. 13384 * recog.c: Likewise. 13385 * ree.c: Likewise. 13386 * reload.c: Likewise. 13387 * reload1.c: Likewise. 13388 * reorg.c: Likewise. 13389 * resource.c: Likewise. 13390 * rtl.def: Likewise. 13391 * rtl.h: Likewise. 13392 * rtlanal.c: Likewise. 13393 * sched-deps.c: Likewise. 13394 * sched-ebb.c: Likewise. 13395 * sched-rgn.c: Likewise. 13396 * sel-sched-ir.c: Likewise. 13397 * sel-sched.c: Likewise. 13398 * shrink-wrap.c: Likewise. 13399 * simplify-rtx.c: Likewise. 13400 * symtab.c: Likewise. 13401 * target.def: Likewise. 13402 * toplev.c: Likewise. 13403 * tree-call-cdce.c: Likewise. 13404 * tree-cfg.c: Likewise. 13405 * tree-complex.c: Likewise. 13406 * tree-core.h: Likewise. 13407 * tree-eh.c: Likewise. 13408 * tree-inline.c: Likewise. 13409 * tree-loop-distribution.c: Likewise. 13410 * tree-nrv.c: Likewise. 13411 * tree-profile.c: Likewise. 13412 * tree-sra.c: Likewise. 13413 * tree-ssa-alias.c: Likewise. 13414 * tree-ssa-dce.c: Likewise. 13415 * tree-ssa-dom.c: Likewise. 13416 * tree-ssa-forwprop.c: Likewise. 13417 * tree-ssa-loop-im.c: Likewise. 13418 * tree-ssa-loop-ivcanon.c: Likewise. 13419 * tree-ssa-loop-ivopts.c: Likewise. 13420 * tree-ssa-loop-niter.c: Likewise. 13421 * tree-ssa-phionlycprop.c: Likewise. 13422 * tree-ssa-phiopt.c: Likewise. 13423 * tree-ssa-propagate.c: Likewise. 13424 * tree-ssa-threadedge.c: Likewise. 13425 * tree-ssa-threadupdate.c: Likewise. 13426 * tree-ssa-uninit.c: Likewise. 13427 * tree-ssanames.c: Likewise. 13428 * tree-streamer-out.c: Likewise. 13429 * tree.c: Likewise. 13430 * tree.h: Likewise. 13431 * vr-values.c: Likewise. 13432 134332019-01-09 Uroš Bizjak <ubizjak@gmail.com> 13434 13435 * config/i386/i386-protos.h (ix86_expand_xorsign): New prototype. 13436 (ix86_split_xorsign): Ditto. 13437 * config/i386/i386.c (ix86_expand_xorsign): New function. 13438 (ix86_split_xorsign): Ditto. 13439 * config/i386/i386.md (UNSPEC_XORSIGN): New unspec. 13440 (xorsign<mode>3): New expander. 13441 (xorsign<mode>3_1): New insn_and_split pattern. 13442 * config/i386/sse.md (xorsign<mode>3): New expander. 13443 134442019-01-09 Eric Botcazou <ebotcazou@adacore.com> 13445 13446 * config/sparc/sparc.md (*tablejump_sp32): Merge into... 13447 (*tablejump_sp64): Likewise. 13448 (*tablejump<P:mode>): ...this. 13449 (*call_address_sp32): Merge into... 13450 (*call_address_sp64): Likewise. 13451 (*call_address<P:mode>): ...this. 13452 (*call_symbolic_sp32): Merge into... 13453 (*call_symbolic_sp64): Likewise. 13454 (*call_symbolic<P:mode>): ...this. 13455 (call_value): Remove constraint and add predicate. 13456 (*call_value_address_sp32): Merge into... 13457 (*call_value_address_sp64): Likewise. 13458 (*call_value_address<P:mode>): ...this. 13459 (*call_value_symbolic_sp32): Merge into... 13460 (*call_value_symbolic_sp64): Likewise. 13461 (*call_value_symbolic<P:mode>): ...this. 13462 (*sibcall_symbolic_sp32): Merge into... 13463 (*sibcall_symbolic_sp64): Likewise. 13464 (*sibcall_symbolic<P:mode>): ...this. 13465 (sibcall_value): Remove constraint and add predicate. 13466 (*sibcall_value_symbolic_sp32): Merge into... 13467 (*sibcall_value_symbolic_sp64): Likewise. 13468 (*sibcall_value_symbolic<P:mode>): ...this. 13469 (window_save): Minor tweak. 13470 (*branch_sp32): Merge into... 13471 (*branch_sp64): Likewise. 13472 (*branch<P:mode>): ...this. 13473 134742019-01-09 Eric Botcazou <ebotcazou@adacore.com> 13475 James Clarke <jrtc27@jrtc27.com> 13476 13477 PR target/84010 13478 * config/sparc/sparc.c (sparc_legitimize_tls_address): Only use Pmode 13479 consistently in TLS address generation and adjust code to the renaming 13480 of patterns. Mark calls to __tls_get_addr as const. 13481 * config/sparc/sparc.md (tgd_hi22): Turn into... 13482 (tgd_hi22<P:mode>): ...this and use Pmode throughout. 13483 (tgd_lo10): Turn into... 13484 (tgd_lo10<P:mode>): ...this and use Pmode throughout. 13485 (tgd_add32): Merge into... 13486 (tgd_add64): Likewise. 13487 (tgd_add<P:mode>): ...this and use Pmode throughout. 13488 (tldm_hi22): Turn into... 13489 (tldm_hi22<P:mode>): ...this and use Pmode throughout. 13490 (tldm_lo10): Turn into... 13491 (tldm_lo10<P:mode>): ...this and use Pmode throughout. 13492 (tldm_add32): Merge into... 13493 (tldm_add64): Likewise. 13494 (tldm_add<P:mode>): ...this and use Pmode throughout. 13495 (tldm_call32): Merge into... 13496 (tldm_call64): Likewise. 13497 (tldm_call<P:mode>): ...this and use Pmode throughout. 13498 (tldo_hix22): Turn into... 13499 (tldo_hix22<P:mode>): ...this and use Pmode throughout. 13500 (tldo_lox10): Turn into... 13501 (tldo_lox10<P:mode>): ...this and use Pmode throughout. 13502 (tldo_add32): Merge into... 13503 (tldo_add64): Likewise. 13504 (tldo_add<P:mode>): ...this and use Pmode throughout. 13505 (tie_hi22): Turn into... 13506 (tie_hi22<P:mode>): ...this and use Pmode throughout. 13507 (tie_lo10): Turn into... 13508 (tie_lo10<P:mode>): ...this and use Pmode throughout. 13509 (tie_ld64): Use DImode throughout. 13510 (tie_add32): Merge into... 13511 (tie_add64): Likewise. 13512 (tie_add<P:mode>): ...this and use Pmode throughout. 13513 (tle_hix22_sp32): Merge into... 13514 (tle_hix22_sp64): Likewise. 13515 (tle_hix22<P:mode>): ...this and use Pmode throughout. 13516 (tle_lox22_sp32): Merge into... 13517 (tle_lox22_sp64): Likewise. 13518 (tle_lox22<P:mode>): ...this and use Pmode throughout. 13519 (*tldo_ldub_sp32): Merge into... 13520 (*tldo_ldub_sp64): Likewise. 13521 (*tldo_ldub<P:mode>): ...this and use Pmode throughout. 13522 (*tldo_ldub1_sp32): Merge into... 13523 (*tldo_ldub1_sp64): Likewise. 13524 (*tldo_ldub1<P:mode>): ...this and use Pmode throughout. 13525 (*tldo_ldub2_sp32): Merge into... 13526 (*tldo_ldub2_sp64): Likewise. 13527 (*tldo_ldub2<P:mode>): ...this and use Pmode throughout. 13528 (*tldo_ldsb1_sp32): Merge into... 13529 (*tldo_ldsb1_sp64): Likewise. 13530 (*tldo_ldsb1<P:mode>): ...this and use Pmode throughout. 13531 (*tldo_ldsb2_sp32): Merge into... 13532 (*tldo_ldsb2_sp64): Likewise. 13533 (*tldo_ldsb2<P:mode>): ...this and use Pmode throughout. 13534 (*tldo_ldub3_sp64): Use DImode throughout. 13535 (*tldo_ldsb3_sp64): Likewise. 13536 (*tldo_lduh_sp32): Merge into... 13537 (*tldo_lduh_sp64): Likewise. 13538 (*tldo_lduh<P:mode>): ...this and use Pmode throughout. 13539 (*tldo_lduh1_sp32): Merge into... 13540 (*tldo_lduh1_sp64): Likewise. 13541 (*tldo_lduh1<P:mode>): ...this and use Pmode throughout. 13542 (*tldo_ldsh1_sp32): Merge into... 13543 (*tldo_ldsh1_sp64): Likewise. 13544 (*tldo_ldsh1<P:mode>): ...this and use Pmode throughout. 13545 (*tldo_lduh2_sp64): Use DImode throughout. 13546 (*tldo_ldsh2_sp64): Likewise. 13547 (*tldo_lduw_sp32): Merge into... 13548 (*tldo_lduw_sp64): Likewise. 13549 (*tldo_lduw<P:mode>): ...this and use Pmode throughout. 13550 (*tldo_lduw1_sp64): Use DImode throughout. 13551 (*tldo_ldsw1_sp64): Likewise. 13552 (*tldo_ldx_sp64): Likewise. 13553 (*tldo_stb_sp32): Merge into... 13554 (*tldo_stb_sp64): Likewise. 13555 (*tldo_stb<P:mode>): ...this and use Pmode throughout. 13556 (*tldo_sth_sp32): Merge into... 13557 (*tldo_sth_sp64): Likewise. 13558 (*tldo_sth<P:mode>): ...this and use Pmode throughout. 13559 (*tldo_stw_sp32): Merge into... 13560 (*tldo_stw_sp64): Likewise. 13561 (*tldo_stw<P:mode>): ...this and use Pmode throughout. 13562 (*tldo_stx_sp64): Use DImode throughout. 13563 135642018-01-09 Sudakshina Das <sudi.das@arm.com> 13565 13566 * config/aarch64/aarch64.c (aarch64_override_options): Add case to 13567 check configure option to set BTI and Return Address Signing. 13568 * configure.ac: Add --enable-standard-branch-protection and 13569 --disable-standard-branch-protection. 13570 * configure: Regenerated. 13571 * doc/install.texi: Document the same. 13572 135732018-01-09 Sudakshina Das <sudi.das@arm.com> 13574 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 13575 13576 * config.gcc (aarch64*-*-*): Add aarch64-bti-insert.o. 13577 * config/aarch64/aarch64.h: Update comment for TRAMPOLINE_SIZE. 13578 * config/aarch64/aarch64.c (aarch64_asm_trampoline_template): Update 13579 if bti is enabled. 13580 * config/aarch64/aarch64-bti-insert.c: New file. 13581 * config/aarch64/aarch64-passes.def (INSERT_PASS_BEFORE): Insert bti 13582 pass. 13583 * config/aarch64/aarch64-protos.h (make_pass_insert_bti): Declare the 13584 new bti pass. 13585 * config/aarch64/aarch64.md (unspecv): Add UNSPECV_BTI_NOARG, 13586 UNSPECV_BTI_C, UNSPECV_BTI_J and UNSPECV_BTI_JC. 13587 (bti_noarg, bti_j, bti_c, bti_jc): New define_insns. 13588 * config/aarch64/t-aarch64: Add rule for aarch64-bti-insert.o. 13589 135902018-01-09 Sudakshina Das <sudi.das@arm.com> 13591 13592 * config/aarch64/aarch64-protos.h (aarch64_bti_enabled): Declare. 13593 * config/aarch64/aarch64.c (aarch64_handle_no_branch_protection): 13594 Disable bti for -mbranch-protection=none. 13595 (aarch64_handle_standard_branch_protection): Enable bti for 13596 -mbranch-protection=standard. 13597 (aarch64_handle_bti_protection): Enable bti for "bti" in the string to 13598 -mbranch-protection. 13599 (aarch64_bti_enabled): Check if bti is enabled. 13600 * config/aarch64/aarch64.opt: Declare target variable. 13601 * doc/invoke.texi: Add bti to the -mbranch-protection documentation. 13602 136032018-01-09 Sudakshina Das <sudi.das@arm.com> 13604 13605 * config/aarch64/aarch64.c (aarch64_expand_prologue): Use new 13606 epilogue/prologue scratch registers EP0_REGNUM and EP1_REGNUM. 13607 (aarch64_expand_epilogue): Likewise. 13608 (aarch64_output_mi_thunk): Likewise 13609 * config/aarch64/aarch64.h (REG_CLASS_CONTENTS): Change 13610 TAILCALL_ADDR_REGS to x16 and x17. 13611 * config/aarch64/aarch64.md: Define EP0_REGNUM and EP1_REGNUM. 13612 136132018-01-09 Sudakshina Das <sudi.das@arm.com> 13614 13615 * config/aarch64/aarch64-option-extensions.def: Define 13616 AARCH64_OPT_EXTENSION for memtag, rng, sb, ssbs and predres. 13617 * config/aarch64/aarch64.h (AARCH64_FL_RNG): New. 13618 (AARCH64_FL_MEMTAG, ARCH64_FL_SB, AARCH64_FL_SSBS): New. 13619 (AARCH64_FL_PREDRES): New. 13620 (AARCH64_FL_FOR_ARCH8_5): Add AARCH64_FL_SB, AARCH64_FL_SSBS and 13621 AARCH64_FL_PREDRES by default. 13622 * doc/invoke.texi: Document rng, memtag, sb, ssbs and predres. 13623 136242018-01-09 Sudakshina Das <sudi.das@arm.com> 13625 13626 * config/aarch64/aarch64-arches.def: Define AARCH64_ARCH for 13627 ARMv8.5-A. 13628 * config/aarch64/aarch64.h (AARCH64_FL_V8_5): New. 13629 (AARCH64_FL_FOR_ARCH8_5, AARCH64_ISA_V8_5): New. 13630 * doc/invoke.texi: Document ARMv8.5-A. 13631 136322019-01-09 Alejandro Martinez <alejandro.martinezvicente@arm.com> 13633 13634 * config/aarch64/aarch64-sve.md (copysign<mode>3): New define_expand. 13635 (xorsign<mode>3): Likewise. 13636 136372019-01-09 Jelinek <jakub@redhat.com> 13638 13639 PR middle-end/88758 13640 * tree.c (initializer_each_zero_or_onep) <case VECTOR_CST>: Use 13641 vector_cst_elt instead of VECTOR_CST_ENCODED_ELT. 13642 13643 PR rtl-optimization/88331 13644 * function.c (assign_stack_local_1): Don't set dynamic_align_addr if 13645 not currently_expanding_to_rtl. 13646 136472019-01-09 Eric Botcazou <ebotcazou@adacore.com> 13648 13649 * doc/invoke.texi (-Os): Remove trailing spaces. 13650 (-finline-functions): Remove reference to -O2. 13651 136522019-01-08 Jakub Jelinek <jakub@redhat.com> 13653 13654 PR rtl-optimization/79593 13655 * config/i386/i386.md (reg = mem; mem = reg): New define_peephole2. 13656 13657 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Delegitimize 13658 UNSPEC_FUSION_GPR to its argument. Formatting fixes. 13659 136602019-01-08 Eric Botcazou <ebotcazou@adacore.com> 13661 13662 PR bootstrap/88721 13663 * config/sparc/sparc.c (function_arg_slotno): Set *PPREGNO & *PPADDING 13664 to -1 on entry. 13665 13666 PR debug/88723 13667 * config/sparc/sparc.c (sparc_delegitimize_address): Deal with naked 13668 UNSPECs and UNSPEC_MOVE_GOTDATA specifically. 13669 136702019-01-08 H.J. Lu <hongjiu.lu@intel.com> 13671 13672 PR target/88717 13673 * config/i386/i386.c (ix86_avx_u128_mode_exit): Call 13674 ix86_avx_u128_mode_entry. 13675 136762019-01-08 Martin Liska <mliska@suse.cz> 13677 13678 PR tree-optimization/88753 13679 * tree-switch-conversion.c (switch_conversion::build_one_array): 13680 Come up with local variable constructor. Convert first to 13681 type of constructor values. 13682 136832019-01-08 Richard Biener <rguenther@suse.de> 13684 13685 PR tree-optimization/86554 13686 * tree-ssa-sccvn.c (eliminate_dom_walker, rpo_elim, 13687 rpo_avail): Move earlier. 13688 (visit_nary_op): When value-numbering to expressions 13689 with different overflow behavior make sure there's an 13690 available expression on the path. 13691 136922019-01-08 Sam Tebbs <sam.tebbs@arm.com> 13693 13694 * config/aarch64/aarch64.c (BRANCH_PROTECT_STR_MAX, 13695 aarch64_parse_branch_protection, 13696 struct aarch64_branch_protect_type, 13697 aarch64_handle_no_branch_protection, 13698 aarch64_handle_standard_branch_protection, 13699 aarch64_validate_mbranch_protection, 13700 aarch64_handle_pac_ret_protection, 13701 aarch64_handle_attr_branch_protection, 13702 accepted_branch_protection_string, 13703 aarch64_pac_ret_subtypes, 13704 aarch64_branch_protect_types, 13705 aarch64_handle_pac_ret_leaf): Define. 13706 (aarch64_override_options_after_change_1, aarch64_override_options): 13707 Add check for accepted_branch_protection_string. 13708 (aarch64_option_save): Save accepted_branch_protection_string. 13709 (aarch64_option_restore): Save accepted_branch_protection_string. 13710 * config/aarch64/aarch64.c (aarch64_attributes): Add branch-protection. 13711 * config/aarch64/aarch64.opt: Add mbranch-protection. Deprecate 13712 msign-return-address. 13713 * doc/invoke.texi: Add mbranch-protection. 13714 137152019-01-08 Alan Modra <amodra@gmail.com> 13716 13717 PR target/88614 13718 * genattrtab.c (max_attr_value, min_attr_value, or_attr_value): 13719 Delete "unknownp" parameter. Adjust callers. Handle 13720 CONST_INT, PLUS, MINUS, and MULT. 13721 (attr_value_aligned): Renamed from or_attr_value. 13722 (min_attr_value): Return INT_MIN for unhandled rtl case.. 13723 (min_fn): ..and translate to INT_MAX here. 13724 (write_length_unit_log): Modify to cope without "unknown". 13725 (write_attr_value): Handle IF_THEN_ELSE. 13726 137272019-01-07 Richard Sandiford <richard.sandiford@arm.com> 13728 13729 * tree-vect-stmts.c (vectorizable_store): Don't use the dataref_offset 13730 optimization for masked stores. 13731 137322019-01-07 Richard Sandiford <richard.sandiford@arm.com> 13733 13734 PR middle-end/88567 13735 * tree-vect-loop.c (get_initial_defs_for_reduction): Pass the 13736 output vector directly to duplicate_and_interleave instead of 13737 going through a temporary. Postpone insertion of ctor_seq to 13738 the end of the loop. 13739 137402019-01-07 Richard Earnshaw <rearnsha@arm.com> 13741 13742 PR target/86891 13743 * config/aarch64/aarch64.c (aarch64_expand_subvti): New parameter 13744 unsigned_p. Handle signed and unsigned overflow correction as 13745 required. 13746 * config/aarch64/aarch64-protos.h (aarch64_expand_subvti): Update 13747 prototype. 13748 * config/aarch64/aarch64.md (addv<mode>4): Use aarch64_plus_operand 13749 for operand 2. 13750 (add<mode>3_compareV_imm): Make this callable for expanding. 13751 (subv<GPI:mode>4): Use register_operand for operand 1. Use 13752 aarch64_plus_operand for operand 2. 13753 (subv<GPI:mode>_insn): New insn pattern. 13754 (subv<GPI:mode>_imm): Likewise. 13755 (negv<GPI:mode>3): New expand pattern. 13756 (negv<GPI:mode>_insn): New insn pattern. 13757 (negv<GPI:mode>_cmp_only): Likewise. 13758 (cmpv<GPI:mode>_insn): Likewise. 13759 (subvti4): Use register_operand for operand 1. Update call to 13760 aarch64_expand_subvti. 13761 (usubvti4): Likewise. 13762 (negvti3): New expand pattern. 13763 (negdi_carryout): New insn pattern. 13764 (negvdi_carryinV): New insn pattern. 13765 (sub<mode3>_compare1_imm): Delete named insn pattern, make anonymous 13766 version the named version. 13767 (peepholes to convert to sub<mode3>_compare1_imm): Adjust order of 13768 operands. 13769 (usub<GPI:mode>3_carryinC, usub<GPI:mode>3_carryinC_z1): New insn 13770 patterns. 13771 (usub<GPI:mode>3_carryinC_z2, usub<GPI:mode>3_carryinC): New insn 13772 patterns. 13773 (sub<mode>3_carryinCV, sub<mode>3_carryinCV_z1_z2): Delete. 13774 (sub<mode>3_carryinCV_z1, sub<mode>3_carryinCV_z2): Delete. 13775 (sub<mode>3_carryinCV): Delete. 13776 (sub<GPI:mode>3_carryinV): New expand pattern. 13777 sub<mode>3_carryinV, sub<mode>3_carryinV_z2): New insn patterns. 13778 137792019-01-07 Richard Biener <rguenther@suse.de> 13780 13781 * tree-ssa-uncprop.c (ssa_equip_hash_traits): Remove in favor 13782 of tree_operand_hash. 13783 137842019-01-07 Richard Sandiford <richard.sandiford@arm.com> 13785 13786 PR tree-optimization/88598 13787 * tree.h (single_nonzero_element): Declare. 13788 * tree.c (single_nonzero_element): New function. 13789 * match.pd: Fold certain reductions of X & CST to X[I] & CST[I] 13790 if I is the only nonzero element of CST. 13791 137922019-01-07 Richard Sandiford <richard.sandiford@arm.com> 13793 13794 PR tree-optimization/88598 13795 * tree.h (initializer_each_zero_or_onep): Declare. 13796 * tree.c (initializer_each_zero_or_onep): New function. 13797 (signed_or_unsigned_type_for): Handle float types too. 13798 (unsigned_type_for, signed_type_for): Update comments accordingly. 13799 * match.pd: Fold x * { 0 or 1, 0 or 1, ...} to 13800 x & { 0 or -1, 0 or -1, ... }. 13801 138022019-01-07 Jonathan Wakely <jwakely@redhat.com> 13803 13804 * doc/install.texi: Replace references to x86_64-unknown-linux-gnu 13805 with x86_64-pc-linux-gnu. 13806 138072019-01-07 Tom de Vries <tdevries@suse.de> 13808 13809 PR target/85486 13810 * config/nvptx/nvptx.c (has_vector_partitionable_routine_calls_p): New 13811 function. 13812 (nvptx_goacc_validate_dims): Force vl32 if calling vector-partitionable 13813 routines. 13814 138152019-01-07 Jakub Jelinek <jakub@redhat.com> 13816 13817 * config/i386/sse.md (vec_extract<mode><ssehalfvecmodelower>): Use 13818 V_256_512 iterator instead of V_512 and TARGET_AVX instead of 13819 TARGET_AVX512F as condition. 13820 13821 PR debug/88723 13822 * dwarf2out.c (const_ok_for_output_1): Remove redundant call to 13823 const_not_ok_for_debug_p target hook. 13824 (mem_loc_descriptor) <case UNSPEC>: Only call const_ok_for_output_1 13825 on UNSPEC and subexpressions thereof if all subexpressions of the 13826 UNSPEC are CONSTANT_P. 13827 13828 PR tree-optimization/88676 13829 * tree-ssa-phiopt.c (two_value_replacement): New function. 13830 (tree_ssa_phiopt_worker): Call it. 13831 13832 PR sanitizer/88619 13833 * cfgexpand.c (expand_stack_vars): Only align prev_offset to 13834 ASAN_MIN_RED_ZONE_SIZE, not to maximum of that and alignb. 13835 13836 PR c++/85052 13837 * tree-vect-generic.c: Include insn-config.h and recog.h. 13838 (expand_vector_piecewise): Add defaulted ret_type argument, 13839 if non-NULL, use that in preference to type for the result type. 13840 (expand_vector_parallel): Formatting fix. 13841 (do_vec_conversion, do_vec_narrowing_conversion, 13842 expand_vector_conversion): New functions. 13843 (expand_vector_operations_1): Call expand_vector_conversion 13844 for VEC_CONVERT ifn calls. 13845 * internal-fn.def (VEC_CONVERT): New internal function. 13846 * internal-fn.c (expand_VEC_CONVERT): New function. 13847 * fold-const-call.c (fold_const_vec_convert): New function. 13848 (fold_const_call): Use it for CFN_VEC_CONVERT. 13849 * doc/extend.texi (__builtin_convertvector): Document. 13850 138512019-01-07 Tom de Vries <tdevries@suse.de> 13852 13853 * config/nvptx/nvptx-protos.h (nvptx_output_red_partition): Declare. 13854 * config/nvptx/nvptx.c (vector_red_size, vector_red_align, 13855 vector_red_partition, vector_red_sym): New global variables. 13856 (nvptx_option_override): Initialize vector_red_sym. 13857 (nvptx_declare_function_name): Restore red_partition register. 13858 (nvptx_file_end): Emit code to declare the vector reduction variables. 13859 (nvptx_output_red_partition): New function. 13860 (nvptx_expand_shared_addr): Add vector argument. Use it to handle 13861 large vector reductions. 13862 (enum nvptx_builtins): Add NVPTX_BUILTIN_VECTOR_ADDR. 13863 (nvptx_init_builtins): Add VECTOR_ADDR. 13864 (nvptx_expand_builtin): Update call to nvptx_expand_shared_addr. 13865 Handle nvptx_expand_shared_addr. 13866 (nvptx_get_shared_red_addr): Add vector argument and handle large 13867 vectors. 13868 (nvptx_goacc_reduction_setup): Add offload_attrs argument and handle 13869 large vectors. 13870 (nvptx_goacc_reduction_init): Likewise. 13871 (nvptx_goacc_reduction_fini): Likewise. 13872 (nvptx_goacc_reduction_teardown): Likewise. 13873 (nvptx_goacc_reduction): Update calls to nvptx_goacc_reduction_{setup, 13874 init,fini,teardown}. 13875 (nvptx_init_axis_predicate): Initialize vector_red_partition. 13876 (nvptx_set_current_function): Init vector_red_partition. 13877 * config/nvptx/nvptx.md (UNSPECV_RED_PART): New unspecv. 13878 (nvptx_red_partition): New insn. 13879 * config/nvptx/nvptx.h (struct machine_function): Add red_partition. 13880 138812019-01-07 Tom de Vries <tdevries@suse.de> 13882 13883 PR target/85381 13884 * config/nvptx/nvptx.c (nvptx_process_pars): Don't emit barriers for 13885 empty loops. 13886 138872019-01-07 Tom de Vries <tdevries@suse.de> 13888 13889 * config/nvptx/nvptx.c (oacc_bcast_partition): Declare. 13890 (nvptx_option_override): Init oacc_bcast_partition. 13891 (nvptx_init_oacc_workers): New function. 13892 (nvptx_declare_function_name): Call nvptx_init_oacc_workers. 13893 (nvptx_needs_shared_bcast): New function. 13894 (nvptx_find_par): Generalize to enable vectors to use shared-memory 13895 to propagate state. 13896 (nvptx_shared_propagate): Initialize vector bcast partition and 13897 synchronization state. 13898 (nvptx_single): Generalize to enable vectors to use shared-memory 13899 to propagate state. 13900 (nvptx_process_pars): Likewise. 13901 (nvptx_set_current_function): Initialize oacc_broadcast_partition. 13902 * config/nvptx/nvptx.h (struct machine_function): Add 13903 bcast_partition and sync_bar members. 13904 139052019-01-07 Tom de Vries <tdevries@suse.de> 13906 13907 * config/nvptx/nvptx.c (nvptx_welformed_vector_length_p) 13908 (nvptx_apply_dim_limits): New function. 13909 (nvptx_goacc_validate_dims_1): Allow PTX_MAX_VECTOR_LENGTH larger than 13910 PTX_WARP_SIZE. 13911 139122019-01-07 Tom de Vries <tdevries@suse.de> 13913 13914 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Move warnings to 13915 as late as possible. 13916 139172019-01-07 Tom de Vries <tdevries@suse.de> 13918 13919 * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH): Remove. 13920 (PTX_DEFAULT_VECTOR_LENGTH, PTX_MAX_VECTOR_LENGTH): Define. 13921 (nvptx_goacc_validate_dims_1, nvptx_dim_limit) 13922 (nvptx_goacc_reduction_fini): Use PTX_DEFAULT_VECTOR_LENGTH, 13923 PTX_MAX_VECTOR_LENGTH and PTX_WARP_SIZE instead of PTX_VECTOR_LENGTH. 13924 139252019-01-07 Tom de Vries <tdevries@suse.de> 13926 13927 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add asserts. 13928 139292019-01-07 Tom de Vries <tdevries@suse.de> 13930 13931 * omp-offload.c (oacc_get_min_dim): New function. 13932 * omp-offload.h (oacc_get_min_dim): Declare. 13933 139342018-12-26 Mateusz B <mateuszb@poczta.onet.pl> 13935 13936 PR target/88521 13937 * config/i386/i386.c (function_value_ms_64): Return small sturct in 13938 AX_REG and float/double in FIRST_SSE_REG for 4 or 8 byte modes. 13939 139402019-01-05 Jan Hubicka <hubicka@ucw.cz> 13941 13942 PR tree-opt/86020 13943 Revert: 13944 2017-05-22 Jan Hubicka <hubicka@ucw.cz> 13945 13946 * ipa-inline.c (edge_badness): Use inlined_time instead of 13947 inline_summaries->get. 13948 139492019-01-05 Jan Hubicka <hubicka@ucw.cz> 13950 13951 * opts.c (enable_fdo_optimizations): Enable 13952 version-loops-for-strides, loop-interchange, unrol-and-jam 13953 and tree-loop-distribution. 13954 * invoke.texi: Document newly enabled options. 13955 139562019-01-05 Jan Hubicka <hubicka@ucw.cz> 13957 13958 * doc/invoke.texi (max-inline-insns-small): New parameters. 13959 * ipa-inline.c (want_early_inline_function_p): simplify. 13960 (want_inline_small_function_p): Fix pasto from previous patch; 13961 use max-inline-insns-small bound. 13962 * params.def (max-inline-insns-small): New param. 13963 * ipa-fnsummary.c (analyze_function_body): Initialize time/size 13964 variables correctly. 13965 139662019-01-05 Jan Hubicka <hubicka@ucw.cz> 13967 13968 * doc/invoke.texi: Document max-inline-insns-size, 13969 uninlined-function-insns, uninlined-function-time, 13970 uninlined-thunk-insns and uninlined-thunk-time. 13971 * params.def: Add max-inline-insns-size, 13972 uninlined-function-insns, uninlined-function-time, 13973 uninlined-thunk-insns and uninlined-thunk-time. 13974 * ipa-fnsummary.c (compute_fn_summary, analyze_function_body): Use 13975 new parameters. 13976 * ipa-inline.c (can_inline_edge_by_limits_p, 13977 want_inline_small_function_p): Use new parameters. 13978 139792019-01-05 Jan Hubicka <hubicka@ucw.cz> 13980 13981 * ipa-fnsummary.c (analyze_function_body): Fix accounting of time. 13982 139832019-01-05 Jakub Jelinek <jakub@redhat.com> 13984 13985 PR middle-end/82564 13986 PR target/88620 13987 * expr.c (expand_assignment): For calls returning VLA structures 13988 if to_rtx is not a MEM, force it into a stack temporary. 13989 13990 PR debug/88635 13991 * dwarf2out.c (const_ok_for_output_1): Reject MINUS that contains 13992 SYMBOL_REF, CODE_LABEL or UNSPEC in subexpressions of second argument. 13993 Reject PLUS that contains SYMBOL_REF, CODE_LABEL or UNSPEC in 13994 subexpressions of both operands. 13995 (mem_loc_descriptor): Handle UNSPEC if target hook acks it and all the 13996 subrtxes are CONSTANT_P. 13997 * config/i386/i386.c (ix86_const_not_ok_for_debug_p): Revert 13998 2018-11-09 changes. 13999 140002019-01-04 Jan Hubicka <hubicka@ucw.cz> 14001 14002 * params.def (hot-bb-count-ws-permille): Set to 990. 14003 140042019-01-04 Martin Sebor <msebor@redhat.com> 14005 14006 PR c/88546 14007 * attribs.c (decls_mismatched_attributes): Avoid warning for attribute 14008 leaf. 14009 140102019-01-04 Martin Sebor <msebor@redhat.com> 14011 14012 PR c/88363 14013 * doc/extend.texi (attribute alloc_align, alloc_size): Update. 14014 140152019-01-04 Jakub Jelinek <jakub@redhat.com> 14016 14017 * gdbinit.in: Turn off pagination for the skip commands, restore 14018 it to previous state afterwards. 14019 140202019-01-04 Jakub Jelinek <jakub@redhat.com> 14021 14022 PR target/88594 14023 * config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead 14024 of GET_MODE (opN) as modes of the libcall arguments. 14025 140262019-01-04 Jan Beulich <jbeulich@suse.com> 14027 14028 * config/i386/sse.md 14029 (<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>, 14030 <avx512>_cmp<mode>3<mask_scalar_merge_name>, 14031 <avx512>_ucmp<mode>3<mask_scalar_merge_name>, 14032 <avx512>_ucmp<mode>3<mask_scalar_merge_name>, 14033 avx512f_vmcmp<mode>3<round_saeonly_name>, 14034 avx512f_vmcmp<mode>3_mask<round_saeonly_name>, 14035 avx512f_maskcmp<mode>3, 14036 <avx512>_cvt<ssemodesuffix>2mask<mode>, 14037 <avx512>_cvt<ssemodesuffix>2mask<mode>, 14038 *<avx512>_cvtmask2<ssemodesuffix><mode>, 14039 *<avx512>_cvtmask2<ssemodesuffix><mode>, 14040 <avx512>_eq<mode>3<mask_scalar_merge_name>_1, 14041 <avx512>_eq<mode>3<mask_scalar_merge_name>_1, 14042 <avx512>_gt<mode>3<mask_scalar_merge_name>, 14043 <avx512>_gt<mode>3<mask_scalar_merge_name>, 14044 <avx512>_testm<mode>3<mask_scalar_merge_name>, 14045 <avx512>_testnm<mode>3<mask_scalar_merge_name>, 14046 *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext, 14047 *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext_mask, 14048 *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext, 14049 *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext_mask, 14050 avx512cd_maskb_vec_dup<mode>, 14051 avx512cd_maskw_vec_dup<mode>, 14052 avx512dq_fpclass<mode><mask_scalar_merge_name>, 14053 avx512dq_vmfpclass<mode>, 14054 avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): Use =k 14055 instead of =Yk. 14056 140572019-01-03 Martin Sebor <msebor@redhat.com> 14058 14059 PR tree-optimization/88659 14060 * calls.c (maybe_warn_nonstring_arg): Avoid assuming maxlen is set. 14061 140622019-01-03 Aaron Sawdey <acsawdey@linux.ibm.com> 14063 14064 * config/rs6000/rs6000-string.c (expand_block_move): Don't use 14065 unaligned vsx and avoid lxvd2x/stxvd2x. 14066 (gen_lvx_v4si_move): New function. 14067 140682019-01-03 Tom de Vries <tdevries@suse.de> 14069 14070 * config/nvptx/nvptx.c (MACH_VECTOR_LENGTH, MACH_MAX_WORKERS): Define. 14071 (init_axis_dim, nvptx_mach_max_workers, nvptx_mach_vector_length): New 14072 function. 14073 * config/nvptx/nvptx.h (struct machine_function): Add axis_dims. 14074 140752019-01-03 Tom de Vries <tdevries@suse.de> 14076 14077 * config/nvptx/nvptx.c (struct offload_attrs): New. 14078 (populate_offload_attrs): New function. Factor mask extraction out of 14079 nvptx_reorg. Add extraction of dimensions. 14080 (nvptx_reorg): Use populate_offload_attrs. 14081 140822019-01-03 Tom de Vries <tdevries@suse.de> 14083 14084 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add early-out 14085 cases for oacc_min_dims_p and routine_p. Add asserts for 14086 oacc_default_dims_p and offload_region_p. 14087 140882019-01-03 Tom de Vries <tdevries@suse.de> 14089 14090 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): New function, 14091 factored out of ... 14092 (nvptx_goacc_validate_dims): ... here. 14093 140942019-01-03 Jan Hubicka <hubicka@ucw.cz> 14095 14096 PR tree-optimization/85574 14097 * tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused 14098 structure. 14099 (struct ssa_equip_hash_traits): Declare. 14100 (val_ssa_equiv): Use custom hash traits using operand_equal_p. 14101 141022019-01-03 Jakub Jelinek <jakub@redhat.com> 14103 14104 PR debug/88644 14105 * dwarf2out.c (modified_type_die): If type is equal to sizetype, 14106 change it to qualified_type. 14107 141082019-01-03 Jan Hubicka <hubicka@ucw.cz> 14109 14110 * ipa-utils.c (scale_ipa_profile_for_fn): Break out from ... 14111 (ipa_merge_profiles): ... here; do not ICE on thunks and aliases. 14112 141132019-01-02 Martin Sebor <msebor@redhat.com> 14114 Jeff Law <law@redhat.com> 14115 14116 * gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2. 14117 (get_range_strlen_tree): Update appropriately. 14118 (get_range_strlen) 14119 * gimple-fold.h (get_range_strlen): Drop unused last argument. 14120 14121 * gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range 14122 rather than set_range_info. 14123 * tree-ssa-strlen.c (set_strlen_range): Extracted from 14124 maybe_set_strlen_range. Handle potentially boundary crossing 14125 cases more conservatively. 14126 (maybe_set_strlen_range): Parts refactored into set_strlen_range. 14127 Call set_strlen_range. 14128 * tree-ssa-strlen.h (set_strlen_range): Add prototype. 14129 14130 PR middle-end/88663 14131 * gimple-fold.c (get_range_strlen): Update prototype to no longer 14132 need the flexp argument. 14133 (get_range_strlen_tree): Drop flexp argument. Drop flexp argument 14134 from calls to get_range_strlen. Update comments. Just update 14135 VAL for an unterminated const char array and let the reset of the 14136 code handle it normally. No longer try to set *flexp. Adjust 14137 return value. 14138 (get_range_strlen): Update for the new get_range_strlen API. 14139 (get_maxval_strlen): Similarly. 14140 (gimple_fold_builtin_strlen): Handle update meaning of return value 14141 from get_range_strlen. 14142 * gimple-ssa-sprintf.c (get_string_length): Update for the new 14143 get_range_strlen API. 14144 141452019-01-02 Jan Hubicka <hubicka@ucw.cz> 14146 14147 PR lto/88130 14148 * varpool.c (varpool_node::ctor_useable_for_folding_p): Also return 14149 false at WPA time when body was removed. 14150 141512019-01-02 Martin Liska <mliska@suse.cz> 14152 14153 PR tree-optimization/88650 14154 * predict.c (set_even_probabilities): Calculate probability 14155 remainer only when really used. 14156 141572019-01-02 Richard Biener <rguenther@suse.de> 14158 14159 PR middle-end/88651 14160 * tree-data-ref.c (analyze_subscript_affine_affine): Use 14161 widest_ints when mangling max_stmt_execution results. 14162 141632019-01-02 Richard Biener <rguenther@suse.de> 14164 14165 PR tree-optimization/88621 14166 * tree-ssa-loop-im.c (gather_mem_refs_stmt): Fix pastos, avoid 14167 bitfields when canoncalizing. 14168 141692019-01-02 Richard Biener <rguenther@suse.de> 14170 14171 PR target/87545 14172 * config/i386/x86-tune-costs.h (intel_cost): Adjust 14173 cost of cheap SSE instruction. 14174 141752019-01-02 Richard Biener <rguenther@suse.de> 14176 14177 PR ipa/85574 14178 * ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare. 14179 * ipa-icf.c (sem_item_optimizer::sort_congruence_split): New 14180 function. 14181 (sem_item_optimizer::do_congruence_step_f): Sort the congruence 14182 set after UIDs before splitting them. 14183 141842019-01-01 Martin Sebor <msebor@redhat.com> 14185 Jeff Law <law@redhat.com> 14186 14187 * gimple-fold.c (get_range_strlen_tree): Record if the computed 14188 length is optimistic. If it is, then arrange to compute the 14189 conservative length as well. 14190 14191 * gimple-fold.h (get_range_strlen): Update prototype. 14192 * builtins.c (check_access): Update call to get_range_strlen to use 14193 c_strlen_data pointer. Change various variable accesses to instead 14194 pull data from the c_strlen_data structure. 14195 (check_strncat_sizes, expand_builtin_strncat): Likewise. 14196 * calls.c (maybe_warn_nonstring_arg): Likewise. 14197 * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise. Reset 14198 minimum length if maximum lengh is unknown. 14199 * gimple-ssa-sprintf.c (get_string_length): Likewise. Drop code 14200 that used c_strlen, it's no longer needed. Restructure slightly. 14201 (format_string): Set unlikely range appropriately. 14202 * gimple-fold.c (get_range_strlen): Update comments. Fix minor 14203 formatting issues. 14204 (get_range_strlen): Accept c_strlen_data pointer for external 14205 call sites as well. Pass through to call to internal get_range_strlen. 14206 Adjust minlen, maxlen and maxbound as needed. 14207 (get_maxval_strlen): Update comments. 14208 (gimple_fold_builtin_strlen): Update call to get_range_strlen 14209 to use c_strlen_data pointer. Change variable accesses to instead 14210 use c_strlen_data data members. 14211 14212 * gimple-fold.c (get_range_strlen): Update prototype. 14213 (get_range_strlen_tree): Update prototype. Drop minlen/maxlen 14214 local variables. Use pdata to return information to caller. 14215 Update calls to get_range_strlen. Update pdata->maxbound. 14216 (get_range_strlen -- static version): Similarly. 14217 (get_range_strlen -- extern version): Update for internal 14218 get_range_strlen API change. Convert to external data format. 14219 (get_maxval_strlen): Similarly. 14220 142212019-01-01 Jan Hubicka <hubicka@ucw.cz> 14222 14223 * coverage.c (get_coverage_counts): Use current_function_decl. 14224 * profile.c (read_thunk_profile): New function. 14225 (branch_prob): Add THUNK parameter. 14226 * tree-profile.c (tree_profiling): Handle thunks. 14227 * value-prof.c (init_node_map): Handle thunks. 14228 * value-prof.h (branch_prob): Upate prototype. 14229 (read_thunk_profile): Declare. 14230 142312019-01-01 Jakub Jelinek <jakub@redhat.com> 14232 14233 Update copyright years. 14234 14235 * gcc.c (process_command): Update copyright notice dates. 14236 * gcov-dump.c (print_version): Ditto. 14237 * gcov.c (print_version): Ditto. 14238 * gcov-tool.c (print_version): Ditto. 14239 * gengtype.c (create_file): Ditto. 14240 * doc/cpp.texi: Bump @copying's copyright year. 14241 * doc/cppinternals.texi: Ditto. 14242 * doc/gcc.texi: Ditto. 14243 * doc/gccint.texi: Ditto. 14244 * doc/gcov.texi: Ditto. 14245 * doc/install.texi: Ditto. 14246 * doc/invoke.texi: Ditto. 14247 14248Copyright (C) 2019 Free Software Foundation, Inc. 14249 14250Copying and distribution of this file, with or without modification, 14251are permitted in any medium without royalty provided the copyright 14252notice and this notice are preserved. 14253